/*
Theme Name: Daniel Finke – GeneratePress Child
Theme URI: https://www.danielfinke.net
Description: Kontrastreiches, schnelles Autoren-Child-Theme für GeneratePress.
Author: Daniel Finke
Author URI: https://www.danielfinke.net
Template: generatepress
Version: 4.0.0
Text Domain: daniel-finke
*/

/* Daniel Finke Autorenwebsite – kontrastreiche Fassung */
:root{
  --df-bg:#05070a;
  --df-surface:#11161e;
  --df-surface-2:#171d26;
  --df-surface-3:#202834;
  --df-text:#ffffff;
  --df-body:#e7ebf0;
  --df-muted:#d6dae0;
  --df-gold:#ffd66b;
  --df-gold-hover:#ffe59d;
  --df-red:#b51f34;
  --df-red-hover:#d32f49;
  --df-border:rgba(255,255,255,.24);
  --df-border-strong:rgba(255,255,255,.46);
  --df-shadow:0 28px 80px rgba(0,0,0,.52);
  --df-radius:8px;
  --df-max:1180px;
}

html{scroll-behavior:smooth;color-scheme:dark}
body{
  margin:0;
  background:var(--df-bg);
  color:var(--df-body);
  font-family:Inter,"Segoe UI",Arial,sans-serif;
  line-height:1.72;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
body,button,input,select,textarea{font-size:18px}
::selection{background:var(--df-gold);color:#101010}

a{
  color:var(--df-gold);
  text-decoration-thickness:2px;
  text-underline-offset:.2em;
}
a:hover,a:focus{color:var(--df-gold-hover)}

.site-header,.main-navigation{background:#05070a!important}
.site-header{border-bottom:1px solid var(--df-border-strong)}
.site-logo img{max-height:66px;width:auto}
.main-navigation .main-nav ul li a,
.main-navigation .menu-toggle{
  color:#ffffff!important;
  letter-spacing:.035em;
  font-size:15px;
  font-weight:700;
  text-transform:uppercase;
}
.main-navigation .main-nav ul li:hover>a,
.main-navigation .main-nav ul li:focus-within>a,
.main-navigation .main-nav ul li.current-menu-item>a{
  color:var(--df-gold)!important;
  background:rgba(255,214,107,.08)!important;
}
.main-navigation .main-nav ul li.current-menu-item>a{box-shadow:inset 0 -3px 0 var(--df-gold)}

.site-content{padding:0}
.content-area{width:100%}
.site-main{margin:0}
.inside-article{padding:0;background:transparent}
.entry-header{display:none}
.grid-container{max-width:none}
.separate-containers .site-main{margin:0}

.df-wrap{max-width:var(--df-max);margin:0 auto;padding:0 34px}
.df-section{padding:104px 0;background:var(--df-bg);color:var(--df-body)}
.df-section--tight{padding:72px 0}
.df-section--surface{background:var(--df-surface)}
.df-section p,.df-section li{color:var(--df-body)}

.df-kicker{
  margin:0 0 16px;
  color:var(--df-gold);
  text-transform:uppercase;
  letter-spacing:.16em;
  font-weight:850;
  font-size:.82rem;
}
.df-lead{
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.3rem,2.6vw,2rem);
  line-height:1.45;
  color:#ffffff;
}

h1,h2,h3,h4,h5,h6{
  font-family:Georgia,"Times New Roman",serif;
  color:#ffffff;
  line-height:1.12;
  letter-spacing:-.02em;
  text-wrap:balance;
}
h1{font-size:clamp(3.25rem,8vw,7.3rem);margin:.1em 0 .22em}
h2{font-size:clamp(2.15rem,4.4vw,4.4rem);margin:0 0 .45em}
h3{font-size:clamp(1.45rem,2.5vw,2.15rem)}
p{margin:0 0 1.2em}

.df-hero{
  position:relative;
  min-height:800px;
  display:grid;
  place-items:center;
  isolation:isolate;
  overflow:hidden;
  background:#05070a;
  color:#ffffff;
}
.df-hero:before{
  content:"";
  position:absolute;
  inset:0;
  background-image:url('/wp-content/themes/generatepress-daniel-finke/assets/hero-daniel-finke.jpg');
  background-image:image-set(
    url('/wp-content/themes/generatepress-daniel-finke/assets/hero-daniel-finke.webp') type('image/webp'),
    url('/wp-content/themes/generatepress-daniel-finke/assets/hero-daniel-finke.jpg') type('image/jpeg')
  );
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
  z-index:-2;
}
.df-hero:after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(3,5,8,.98) 0%,rgba(3,5,8,.91) 38%,rgba(3,5,8,.62) 62%,rgba(3,5,8,.34) 100%),
    linear-gradient(0deg,#05070a 0%,rgba(5,7,10,.8) 12%,transparent 44%);
  z-index:-1;
}
.df-hero__content{
  width:min(780px,90vw);
  margin-right:auto;
  padding:110px 34px 90px max(34px,calc((100vw - var(--df-max))/2));
}
.df-hero h1{color:#ffffff;text-shadow:0 3px 24px rgba(0,0,0,.95)}
.df-hero__sub{
  font-size:clamp(1.2rem,2vw,1.65rem);
  max-width:700px;
  color:#ffffff;
  font-weight:600;
  text-shadow:0 2px 12px rgba(0,0,0,1);
}

.df-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
.df-button,
button.df-button,
input[type="submit"].df-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:13px 25px;
  border:2px solid var(--df-gold);
  border-radius:3px;
  background:var(--df-gold);
  color:#121212!important;
  font-weight:900;
  text-decoration:none;
  letter-spacing:.025em;
  box-shadow:0 8px 24px rgba(0,0,0,.32);
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease;
}
.df-button:hover,.df-button:focus{
  transform:translateY(-2px);
  box-shadow:0 13px 34px rgba(255,214,107,.3);
  background:var(--df-gold-hover);
  border-color:var(--df-gold-hover);
  color:#090909!important;
}
.df-button--ghost{
  background:rgba(5,7,10,.82);
  color:#ffffff!important;
  border-color:#ffffff;
}
.df-button--ghost:hover,.df-button--ghost:focus{
  border-color:var(--df-gold);
  background:var(--df-gold);
  color:#101010!important;
}
.df-button--red{background:var(--df-red);border-color:var(--df-red);color:#ffffff!important}
.df-button--red:hover,.df-button--red:focus{background:var(--df-red-hover);border-color:var(--df-red-hover);color:#ffffff!important}

.df-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.df-card{
  background:linear-gradient(145deg,var(--df-surface-2),#0c1016);
  color:var(--df-body);
  border:1px solid var(--df-border-strong);
  border-radius:var(--df-radius);
  padding:34px;
  box-shadow:var(--df-shadow);
  position:relative;
  overflow:hidden;
}
.df-card:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:4px;
  background:var(--df-gold);
}
.df-card h2,.df-card h3,.df-card h4{color:#ffffff}
.df-card p,.df-card li{color:var(--df-muted)}
.df-card a:not(.df-button){color:var(--df-gold);font-weight:750}
.df-status{
  display:inline-flex;
  padding:7px 11px;
  border-radius:999px;
  background:#2a230f;
  color:#ffe79e;
  border:1px solid #ffe79e;
  font-size:.78rem;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.df-feature{display:grid;grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);gap:72px;align-items:center}
.df-book{max-width:460px;margin:auto;filter:drop-shadow(0 42px 45px rgba(0,0,0,.68));transform:perspective(1200px) rotateY(-8deg)}
.df-book img{display:block;width:100%;height:auto;border-radius:3px;border:1px solid rgba(255,255,255,.35)}
.df-meta{display:flex;gap:22px;flex-wrap:wrap;color:var(--df-muted);font-size:.92rem;border-top:1px solid var(--df-border-strong);padding-top:20px;margin-top:28px}

.df-page-hero{
  min-height:470px;
  display:flex;
  align-items:flex-end;
  background:
    linear-gradient(90deg,rgba(3,5,8,.98),rgba(3,5,8,.83) 52%,rgba(3,5,8,.58)),
    url('/wp-content/themes/generatepress-daniel-finke/assets/ueber-daniel-finke.webp') center 42%/cover no-repeat;
  border-bottom:1px solid var(--df-border-strong);
  color:#ffffff;
}
.df-page-hero .df-wrap{width:100%;padding-bottom:64px}
.df-page-hero h1{font-size:clamp(3rem,7vw,6rem);color:#ffffff;text-shadow:0 3px 22px rgba(0,0,0,1)}
.df-page-hero p{color:#ffffff;text-shadow:0 2px 12px rgba(0,0,0,1)}

.df-prose{max-width:860px}
.df-prose h2{font-size:clamp(1.8rem,3.3vw,3rem);margin-top:1.55em}
.df-prose p,.df-prose li{color:var(--df-body)}
.df-quote{border-left:4px solid var(--df-gold);padding:9px 0 9px 26px;font-family:Georgia,serif;font-size:1.4rem;color:#ffffff;margin:42px 0}

.df-series-card{display:grid;grid-template-columns:190px 1fr;gap:28px;align-items:center}
.df-series-card img{width:100%;aspect-ratio:3/4;object-fit:cover;border:1px solid var(--df-border-strong)}
.df-news-list .wp-block-latest-posts{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.df-news-list .wp-block-latest-posts li{padding:26px 0;border-bottom:1px solid var(--df-border-strong);color:var(--df-body)}
.df-news-list .wp-block-latest-posts a{font-family:Georgia,serif;font-size:1.45rem;text-decoration:underline;color:#ffffff;font-weight:700}
.df-news-list .wp-block-latest-posts a:hover,.df-news-list .wp-block-latest-posts a:focus{color:var(--df-gold)}

.df-contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:start}
.df-contact-panel{padding:34px;background:var(--df-surface);color:var(--df-body);border:1px solid var(--df-border-strong)}
.df-contact-panel label{display:block;margin:16px 0 7px;font-weight:850;color:#ffffff}
.df-contact-panel input,.df-contact-panel textarea,.df-contact-panel select{
  width:100%;
  background:#ffffff;
  color:#0a0d12;
  border:2px solid #ffffff;
  border-radius:3px;
  padding:14px;
}
.df-contact-panel input::placeholder,.df-contact-panel textarea::placeholder{color:#4a5260;opacity:1}
.df-contact-panel input:focus,.df-contact-panel textarea:focus,.df-contact-panel select:focus{
  outline:4px solid var(--df-gold);
  outline-offset:2px;
  border-color:#0a0d12;
}
.df-note{font-size:.92rem;color:var(--df-muted)}

.site-footer,.site-info,.preview-footer{background:#05070a!important;color:var(--df-muted)!important;border-top:1px solid var(--df-border-strong)}
.site-footer a,.site-info a,.preview-footer a{color:var(--df-gold)!important;font-weight:700}

.df-author-layout{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.45fr);gap:clamp(38px,6vw,90px);align-items:start}
.df-author-photo{margin:0;position:sticky;top:120px}
.df-author-photo img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border:2px solid var(--df-border-strong);border-radius:5px;box-shadow:0 30px 85px rgba(0,0,0,.55)}
.df-author-intro{display:grid;grid-template-columns:minmax(240px,.72fr) minmax(0,1.3fr);gap:clamp(30px,5vw,70px);align-items:center}
.df-author-intro .df-author-photo{position:relative;top:auto}
.df-card img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;margin:0 0 24px;border-radius:4px;border:1px solid var(--df-border-strong)}

.df-reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.df-reveal.is-visible{opacity:1;transform:none}

:focus-visible{outline:4px solid var(--df-gold)!important;outline-offset:4px!important}

@media(max-width:900px){
  .df-grid{grid-template-columns:1fr}
  .df-feature,.df-contact-grid{grid-template-columns:1fr;gap:38px}
  .df-series-card{grid-template-columns:140px 1fr}
  .df-hero{min-height:680px}
  .df-hero__content{padding-top:92px}
  .df-section{padding:78px 0}
}
@media(max-width:800px){
  .df-author-layout,.df-author-intro{grid-template-columns:1fr}
  .df-author-photo{position:relative;top:auto;max-width:520px}
}
@media(max-width:560px){
  body,button,input,select,textarea{font-size:17px}
  .df-wrap{padding-left:22px;padding-right:22px}
  .df-hero__content{padding-left:22px;padding-right:22px}
  .df-hero:after{background:linear-gradient(90deg,rgba(3,5,8,.98),rgba(3,5,8,.88)),linear-gradient(0deg,#05070a,transparent 48%)}
  .df-actions{display:grid}
  .df-button{width:100%}
  .df-series-card{grid-template-columns:1fr}
  .df-series-card img{max-width:220px}
  .df-card{padding:26px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .df-reveal{opacity:1;transform:none;transition:none}
  .df-button{transition:none}
}
