/*
Theme Name: Ant Fischer Presse
Description: Editoriales Theme für antfischer.de – Pressebogen-Design mit Goldschrift, Dateline-Leiste und Stempel-Signatur.
Author: Ant Fischer
Version: 1.1
Text Domain: ant-fischer-presse
*/

/* ---------- Tokens ---------- */
:root{
  --ink:#17140f;
  --ink-2:#1f1b14;
  --paper:#f3ead8;
  --paper-text:#3a3221;
  --paper-text-soft:#544b38;
  --brass:#b8923f;
  --brass-light:#d9b876;
  --rust:#9c4632;
  --text-soft:#cfc6b4;
  --text-dim:#8d8470;
  --hairline:rgba(184,146,63,0.28);
  --maxw:1140px;
}

/* ---------- Reset / Base ---------- */
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--ink);
  color:var(--text-soft);
  font-family:'Inter',sans-serif;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px;}
.mono{font-family:'Space Mono',monospace;letter-spacing:0.08em;}
.serif{font-family:'Fraunces',serif;}
::selection{background:var(--brass);color:var(--ink);}
:focus-visible{outline:1px solid var(--brass);outline-offset:2px;}

/* ---------- Wordmark (mit Kästchen) ---------- */
.af-wordmark{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-family:'Fraunces',serif;
  font-weight:600;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--brass-light);
}
.af-wordmark .box{
  width:9px;
  height:9px;
  background:var(--brass);
  flex:none;
  display:inline-block;
}
header .af-wordmark{font-size:19px;}
footer .af-wordmark{font-size:14px;}

/* ---------- Dateline ---------- */
.dateline{background:rgba(184,146,63,0.08);border-bottom:1px solid var(--hairline);}
.dateline .wrap{display:flex;justify-content:space-between;align-items:center;padding:8px 32px;flex-wrap:wrap;gap:6px;}
.dateline span{font-size:11px;text-transform:uppercase;color:var(--text-dim);}

/* ---------- Header ---------- */
.site-header{border-bottom:1px solid var(--hairline);}
.site-header .wrap{display:flex;justify-content:space-between;align-items:center;padding:22px 32px;flex-wrap:wrap;gap:16px;}
.main-nav ul{display:flex;gap:36px;margin:0;padding:0;list-style:none;flex-wrap:wrap;}
.main-nav a{font-size:12px;text-transform:uppercase;letter-spacing:0.12em;font-family:'Space Mono',monospace;color:var(--text-soft);position:relative;padding-bottom:4px;}
.main-nav a::after{content:'';position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--brass);transition:width .25s ease;}
.main-nav a:hover::after,.main-nav a:focus-visible::after{width:100%;}
.menu-toggle{display:none;background:none;border:1px solid var(--hairline);color:var(--text-soft);font-family:'Space Mono',monospace;font-size:11px;text-transform:uppercase;padding:8px 12px;letter-spacing:0.08em;}

/* ---------- Hero ---------- */
.hero{position:relative;border-bottom:1px solid var(--hairline);overflow:hidden;}
.hero .wrap{display:grid;grid-template-columns:64px 1fr;gap:0;padding:90px 32px 100px;}
.byline-col{display:flex;align-items:flex-end;border-right:1px solid var(--hairline);padding-bottom:8px;}
.byline-col span{writing-mode:vertical-rl;transform:rotate(180deg);font-size:11px;color:var(--text-dim);text-transform:uppercase;}
.hero-main{padding-left:48px;position:relative;}
.eyebrow{font-size:12px;text-transform:uppercase;color:var(--brass);margin-bottom:22px;display:block;}
h1.headline{font-size:64px;font-weight:500;color:var(--text-soft);margin:0 0 24px;line-height:1.08;}
h1.headline em{font-style:italic;font-weight:600;color:var(--brass-light);}
.hero-sub{max-width:480px;font-size:17px;color:var(--text-dim);margin-bottom:40px;}
.stamp-btn{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--brass);color:var(--brass-light);padding:14px 28px;font-family:'Space Mono',monospace;font-size:13px;text-transform:uppercase;letter-spacing:0.08em;transition:background .2s ease,color .2s ease;background:none;cursor:pointer;}
.stamp-btn:hover{background:var(--brass);color:var(--ink);}

.stamp-badge{position:absolute;right:8px;top:10px;width:128px;height:128px;border:1.5px solid var(--brass);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;transform:rotate(-9deg);opacity:0.85;}
.stamp-badge::before{content:'';position:absolute;inset:10px;border:1px dashed var(--brass);border-radius:50%;pointer-events:none;}
.stamp-badge .mono{font-size:26px;color:var(--brass);line-height:1;}
.stamp-badge small{font-size:7.5px;color:var(--brass);letter-spacing:0.12em;line-height:1;}
.stamp-badge .stamp-logo-img{
  width:84px;
  height:84px;
  border-radius:50%;
  object-fit:contain;
  background:var(--paper);
  display:block;
  filter:grayscale(1) sepia(1) saturate(2.2) brightness(0.95) contrast(1.05);
  mix-blend-mode:luminosity;
  opacity:0.92;
}

/* ---------- Sections / Ressorts ---------- */
section.ressorts{padding:90px 0 60px;border-bottom:1px solid var(--hairline);}
.section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:50px;flex-wrap:wrap;gap:10px;}
.section-head h2{font-family:'Fraunces',serif;font-size:14px;text-transform:uppercase;letter-spacing:0.18em;color:var(--brass-light);font-weight:500;margin:0;}
.folio{font-family:'Space Mono',monospace;font-size:12px;color:var(--text-dim);}
.ressort-grid{display:grid;grid-template-columns:repeat(5,1fr);}
.ressort{border-left:1px solid var(--hairline);padding:0 22px;}
.ressort:first-child{border-left:none;padding-left:0;}
.ressort .num{font-family:'Space Mono',monospace;font-size:11px;color:var(--text-dim);display:block;margin-bottom:18px;}
.ressort h3{font-family:'Fraunces',serif;font-size:19px;font-weight:500;color:var(--text-soft);margin:0 0 14px;}
.ressort p{font-size:13.5px;color:var(--text-dim);line-height:1.65;margin:0;}

/* ---------- Quote ---------- */
.quote-section{padding:80px 0;}
.quote-card{background:var(--paper);color:var(--paper-text);padding:56px 64px;position:relative;}
.quote-mark{font-family:'Fraunces',serif;font-size:90px;color:var(--brass);position:absolute;top:8px;left:40px;line-height:1;}
.quote-card blockquote{font-family:'Fraunces',serif;font-size:28px;font-style:italic;font-weight:500;margin:0 0 26px;padding-left:40px;color:var(--paper-text);}
.quote-card p.attrib{font-size:14.5px;color:var(--paper-text-soft);padding-left:40px;max-width:560px;margin:0;}
.zitat-tag{position:absolute;top:22px;right:40px;border:1px solid var(--rust);color:var(--rust);font-family:'Space Mono',monospace;font-size:10px;text-transform:uppercase;letter-spacing:0.1em;padding:4px 10px;transform:rotate(4deg);}

/* ---------- Kontakt ---------- */
section.kontakt{padding:90px 0 100px;}
.kontakt-box{border:1px solid var(--brass);padding:50px;position:relative;}
.kontakt-box::before{content:'';position:absolute;inset:10px;border:1px solid var(--hairline);pointer-events:none;}
.kontakt-intro{margin:0;color:var(--text-dim);font-size:14.5px;}

/* Contact Form 7 styling to match design */
.kontakt-box .wpcf7-form{margin-top:36px;}
.kontakt-box .wpcf7-form p{margin:0;}
.kontakt-box .wpcf7-form-control-wrap{display:block;}
.kontakt-box label{display:block;font-family:'Space Mono',monospace;font-size:11px;text-transform:uppercase;color:var(--text-dim);letter-spacing:0.08em;margin-bottom:8px;}
.kontakt-box input[type=text],
.kontakt-box input[type=email],
.kontakt-box textarea{
  width:100%;
  background:transparent;
  border:none;
  border-bottom:1px solid var(--hairline);
  color:var(--text-soft);
  font-family:'Inter',sans-serif;
  font-size:15px;
  padding:8px 0;
  outline:none;
}
.kontakt-box input:focus,.kontakt-box textarea:focus{border-bottom-color:var(--brass);}
.kontakt-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 24px;}
.kontakt-grid .full{grid-column:1 / -1;}
.consent{font-size:12.5px;color:var(--text-dim);margin-top:8px;}
.consent a{color:var(--brass-light);border-bottom:1px solid var(--hairline);}
.kontakt-box input[type=submit]{
  display:inline-flex;
  border:1px solid var(--brass);
  color:var(--brass-light);
  background:none;
  padding:14px 28px;
  font-family:'Space Mono',monospace;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:0.08em;
  cursor:pointer;
  transition:background .2s ease,color .2s ease;
}
.kontakt-box input[type=submit]:hover{background:var(--brass);color:var(--ink);}
.wpcf7-not-valid-tip{color:var(--rust);font-size:12px;margin-top:4px;}
.wpcf7-response-output{border:1px solid var(--hairline)!important;color:var(--text-soft)!important;margin:24px 0 0!important;font-size:13px;}

/* ---------- Footer ---------- */
.site-footer{border-top:1px solid var(--hairline);padding:34px 0;}
.site-footer .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;}
.footer-meta{font-family:'Space Mono',monospace;font-size:11px;color:var(--text-dim);}
.footer-meta a{color:var(--text-dim);border-bottom:1px solid var(--hairline);}

/* ---------- Scroll-to-top ---------- */
.scroll-top{
  position:fixed;
  right:28px;
  bottom:28px;
  width:48px;
  height:48px;
  border-radius:50%;
  border:1px solid var(--brass);
  background:var(--ink);
  color:var(--brass-light);
  font-size:18px;
  line-height:1;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  z-index:40;
  opacity:0;
  transform:translateY(8px);
  pointer-events:none;
  transition:opacity .25s ease,transform .25s ease,background .2s ease,color .2s ease;
}
.scroll-top.is-visible{opacity:1;transform:translateY(0);pointer-events:auto;}
.scroll-top:hover,.scroll-top:focus-visible{background:var(--brass);color:var(--ink);}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  .scroll-top{transition:none;}
}

@media (max-width:880px){
  .scroll-top{right:18px;bottom:18px;width:42px;height:42px;font-size:16px;}
}

/* ---------- Generic content pages (Impressum / Datenschutz) ---------- */
.content-page{padding:80px 0 100px;}
.content-page .page-eyebrow{font-size:12px;text-transform:uppercase;color:var(--brass);margin-bottom:18px;display:block;}
.content-page h1{font-family:'Fraunces',serif;font-size:38px;font-weight:500;color:var(--text-soft);margin:0 0 36px;}
.content-page .entry-content{max-width:680px;font-size:15.5px;color:var(--text-dim);}
.content-page .entry-content h2{font-family:'Fraunces',serif;font-size:20px;color:var(--text-soft);font-weight:500;margin:36px 0 14px;}
.content-page .entry-content a{color:var(--brass-light);border-bottom:1px solid var(--hairline);}
.content-page .entry-content p{margin:0 0 16px;}

/* ---------- Responsive ---------- */
@media (max-width:880px){
  h1.headline{font-size:38px;}
  .hero .wrap{grid-template-columns:1fr;padding:56px 24px 70px;}
  .byline-col{display:none;}
  .hero-main{padding-left:0;}
  .stamp-badge{display:none;}
  .ressort-grid{grid-template-columns:1fr;row-gap:36px;}
  .ressort{border-left:none;border-top:1px solid var(--hairline);padding:28px 0 0;}
  .ressort:first-child{border-top:none;padding-top:0;}
  .quote-card{padding:40px 26px;}
  .quote-card blockquote{font-size:21px;padding-left:0;}
  .quote-card p.attrib{padding-left:0;}
  .quote-mark{display:none;}
  .zitat-tag{top:14px;right:20px;}
  .kontakt-box{padding:28px;}
  .kontakt-grid{grid-template-columns:1fr;}
  .site-footer .wrap{flex-direction:column;text-align:center;}
  .menu-toggle{display:inline-block;}
  .main-nav{display:none;width:100%;}
  .main-nav.is-open{display:block;}
  .main-nav ul{flex-direction:column;gap:16px;padding:16px 0 4px;}
}
