/*
Theme Name: Volleyballer
Theme URI: https://volleyballer.de
Description: Bespoke editorial theme for volleyballer.de — German volleyball news (Bundesliga, Nationalteam, Beach, Amateur). Black/red/gold newspaper idiom, self-hosted fonts, zero radius, hairline rules, fully fluid.
Author: volleyballer.de Redaktion
Version: 1.0.0
Requires at least: 6.5
Requires PHP: 8.1
Text Domain: volleyballer
*/

/* ==========================================================================
   Fonts (self-hosted — do NOT hotlink Google Fonts)
   ========================================================================== */
@font-face{font-family:"Archivo";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/archivo-400.woff2) format("woff2");}
@font-face{font-family:"Archivo";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/archivo-500.woff2) format("woff2");}
@font-face{font-family:"Archivo";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/archivo-600.woff2) format("woff2");}
@font-face{font-family:"Archivo";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/archivo-700.woff2) format("woff2");}
@font-face{font-family:"Archivo";font-style:normal;font-weight:800;font-display:swap;src:url(fonts/archivo-800.woff2) format("woff2");}
@font-face{font-family:"Archivo";font-style:normal;font-weight:900;font-display:swap;src:url(fonts/archivo-900.woff2) format("woff2");}

@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/ibm-plex-sans-400.woff2) format("woff2");}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/ibm-plex-sans-500.woff2) format("woff2");}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/ibm-plex-sans-600.woff2) format("woff2");}

@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/ibm-plex-mono-400.woff2) format("woff2");}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/ibm-plex-mono-500.woff2) format("woff2");}

@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/source-serif-4-400.woff2) format("woff2");}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/source-serif-4-500.woff2) format("woff2");}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/source-serif-4-600.woff2) format("woff2");}
@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:400;font-display:swap;src:url(fonts/source-serif-4-400-italic.woff2) format("woff2");}

/* ==========================================================================
   Design tokens
   ========================================================================== */
:root{
  --ink:#14120f;        /* text, rules, dark blocks, primary buttons */
  --body:#241f1a;       /* long-form article body */
  --secondary:#46413a;  /* teasers, descriptions */
  --muted:#6f6a61;      /* captions, meta */
  --faint:#8a8377;      /* timestamps, mono labels */
  --disabled:#b8b2a8;   /* low-emphasis numerals, dots */
  --red:#cf1f2b;        /* primary accent */
  --gold:#e8b309;       /* secondary accent */
  --page:#f7f5f1;       /* body bg */
  --white:#ffffff;      /* cards, inputs */
  --tint:#f2efe9;       /* hover fills / boxes */
  --tint-2:#efece6;
  --tint-3:#f0ece4;
  --hair:#d8d4cc;       /* list dividers */
  --hair-lt:#e2ded6;    /* inner dividers, table rows */
  --input:#c9c4ba;      /* form borders */
  --on-dark:#bdb7ad;    /* text inside dark blocks */
  --on-dark-muted:#7c756a;
  --on-dark-hair:#3a3630;
  --on-dark-input:#4a463f;
  --hatch-a:#e6e2da;    /* light image placeholder */
  --hatch-b:#ded9d0;
  --hatch-dk-a:#26221d; /* dark image placeholder */
  --hatch-dk-b:#201d19;

  --gutter:clamp(16px,4vw,56px);
  --maxw:1280px;
  --sans:"IBM Plex Sans",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --display:"Archivo",var(--sans);
  --mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --serif:"Source Serif 4",Georgia,"Times New Roman",serif;
  --hatch:repeating-linear-gradient(135deg,var(--hatch-a) 0 10px,var(--hatch-b) 10px 20px);
  --hatch-dk:repeating-linear-gradient(135deg,var(--hatch-dk-a) 0 10px,var(--hatch-dk-b) 10px 20px);
}

/* ==========================================================================
   Reset / base
   ========================================================================== */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;background:var(--page);color:var(--ink);
  font-family:var(--sans);font-size:16px;line-height:1.5;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;}
a:hover{color:var(--red);}
button{font:inherit;cursor:pointer;}
input,textarea,select{font-family:inherit;}
h1,h2,h3,h4,p,figure,blockquote{margin:0;}
ul,ol{margin:0;}
:where(*){border-radius:0;}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;white-space:nowrap;}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--ink);color:var(--page);padding:10px 16px;z-index:100;}
.skip-link:focus{left:8px;top:8px;color:var(--page);}
:focus-visible{outline:2px solid var(--red);outline-offset:2px;}

/* ==========================================================================
   Layout helpers
   ========================================================================== */
.container{max-width:var(--maxw);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter);}
.site-main{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter) 80px;}
.mono{font-family:var(--mono);}
.hatch{background:var(--hatch);}
.hatch-dk{background:var(--hatch-dk);}
.dot{display:inline-block;width:4px;height:4px;background:var(--disabled);border-radius:50%;flex:none;}

/* Reusable section label + kicker */
.section-label{margin:0 0 4px;font-family:var(--display);font-size:13px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink);border-bottom:2px solid var(--ink);padding-bottom:10px;}
.kicker{font-family:var(--mono);font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--red);}
.kicker--muted{color:var(--faint);font-size:10px;}

/* Buttons */
.btn-block{width:100%;background:var(--ink);color:var(--page);border:none;padding:16px;font-family:var(--display);font-weight:700;font-size:14px;letter-spacing:0.12em;text-transform:uppercase;}
.btn-block:hover{background:var(--red);color:var(--page);}
.btn-outline{align-self:start;border:1px solid var(--ink);background:transparent;padding:9px 14px;font-family:var(--mono);font-size:11px;letter-spacing:0.1em;text-transform:uppercase;display:inline-block;}
.btn-outline:hover{background:var(--ink);color:var(--page);}

/* ==========================================================================
   Wordmark + flag chip
   ========================================================================== */
.wordmark{display:inline-flex;align-items:baseline;gap:10px;}
.wordmark span.word{font-family:var(--display);font-weight:900;letter-spacing:-0.03em;line-height:1;}
.flag-chip{display:flex;height:14px;width:34px;border:1px solid var(--ink);overflow:hidden;flex:none;align-self:center;}
.flag-chip i{flex:1;display:block;}
.flag-chip i:nth-child(1){background:var(--ink);}
.flag-chip i:nth-child(2){background:var(--red);}
.flag-chip i:nth-child(3){background:var(--gold);}

/* ==========================================================================
   Header
   ========================================================================== */
.site-header{border-bottom:2px solid var(--ink);background:var(--page);position:sticky;top:0;z-index:20;}
.site-header .header-inner{max-width:var(--maxw);margin:0 auto;padding:18px var(--gutter) 14px;display:flex;align-items:baseline;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.site-header .wordmark span.word{font-size:clamp(26px,4vw,38px);}
body:not(.home) .site-header .wordmark span.word{font-size:clamp(24px,3.4vw,32px);}
body:not(.home) .flag-chip{height:12px;width:30px;}
.site-nav{display:flex;flex-wrap:wrap;gap:clamp(14px,2.4vw,30px);font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;padding-bottom:2px;}
.site-nav ul{display:flex;flex-wrap:wrap;gap:clamp(14px,2.4vw,30px);list-style:none;margin:0;padding:0;}
.site-nav a{display:inline-block;}
.site-nav .current-menu-item>a,.site-nav .current_page_item>a,.site-nav .current-menu-parent>a,.site-nav a.is-active{border-bottom:3px solid var(--red);padding-bottom:3px;}
body.tax-wetten .site-nav .current-menu-item>a,body.wetten-context .site-nav a.is-active{border-bottom-color:var(--gold);}

/* Reading progress */
.reading-progress{height:3px;background:var(--hair-lt);}
.reading-progress__bar{height:100%;width:0;background:var(--red);}

/* ==========================================================================
   Footer
   ========================================================================== */
.site-footer{border-top:2px solid var(--ink);padding:clamp(34px,5vw,56px) var(--gutter) 40px;}
.site-footer .footer-inner{max-width:var(--maxw);margin:0 auto;display:flex;flex-direction:column;gap:clamp(32px,4vw,48px);}
.footer-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:clamp(28px,3.5vw,56px);}
.footer-brand{display:flex;flex-direction:column;gap:14px;}
.footer-brand .wordmark span.word{font-size:22px;}
.footer-brand .flag-chip{height:11px;width:27px;}
.footer-brand p{font-size:14px;line-height:1.55;color:var(--secondary);max-width:30ch;text-wrap:pretty;}
.footer-social{display:flex;gap:10px;margin-top:4px;}
.footer-social a{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--ink);font-family:var(--mono);font-size:11px;font-weight:500;}
.footer-social a:hover{background:var(--ink);color:var(--page);}
.footer-col{display:flex;flex-direction:column;gap:12px;}
.footer-col h3,.footer-col .footer-col-title{margin:0 0 2px;font-family:var(--display);font-size:12px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--hair);padding-bottom:10px;}
.footer-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;}
.footer-col a{font-size:14px;line-height:1.4;color:var(--secondary);}
.footer-contact .lines{display:flex;flex-direction:column;gap:3px;font-size:14px;line-height:1.5;color:var(--secondary);}
.footer-contact .lines strong{font-weight:600;color:var(--ink);}
.footer-contact .mailrow{display:flex;flex-direction:column;gap:3px;font-size:14px;line-height:1.5;}
.footer-contact .mailrow a.mail{color:var(--red);font-weight:500;}
.footer-contact .mailrow a.tel{color:var(--secondary);}
.footer-legal{border-top:1px solid var(--hair);padding-top:20px;display:flex;flex-wrap:wrap;gap:18px 28px;justify-content:space-between;align-items:baseline;}
.footer-legal nav{display:flex;flex-wrap:wrap;gap:22px;font-family:var(--mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:var(--muted);}
.footer-legal .copy{font-family:var(--mono);font-size:11px;color:var(--faint);}

/* ==========================================================================
   Home — hero
   ========================================================================== */
.hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:clamp(24px,3vw,44px);padding:clamp(28px,4vw,48px) 0;border-bottom:1px solid var(--hair);}
.hero-lead{display:flex;flex-direction:column;gap:16px;}
.hero-figure{position:relative;aspect-ratio:16/10;background:var(--hatch);display:flex;align-items:center;justify-content:center;overflow:hidden;}
.hero-figure img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;}
.hero-figure .ph{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:0.08em;text-align:center;padding:0 12px;}
.flag-top{position:absolute;top:0;left:0;background:var(--red);color:#fff;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:0.1em;padding:6px 10px;text-transform:uppercase;z-index:1;}
.hero-lead .body{display:flex;flex-direction:column;gap:12px;}
.hero-lead h1{font-family:var(--display);font-weight:800;font-size:clamp(30px,4.4vw,52px);line-height:1.02;letter-spacing:-0.03em;text-wrap:balance;}
.hero-lead .teaser{font-size:17px;line-height:1.55;color:var(--secondary);max-width:52ch;text-wrap:pretty;}
.byline{display:flex;gap:14px;align-items:center;font-family:var(--mono);font-size:12px;color:var(--muted);flex-wrap:wrap;}

.secondary-list{display:flex;flex-direction:column;}
.secondary-list .row{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:start;padding:18px 0;border-bottom:1px solid var(--hair);}
.secondary-list .row .txt{display:flex;flex-direction:column;gap:7px;}
.secondary-list .row h3{font-family:var(--display);font-weight:700;font-size:19px;line-height:1.2;letter-spacing:-0.015em;text-wrap:pretty;}
.secondary-list .row time{font-family:var(--mono);font-size:11px;color:var(--faint);}
.secondary-list .row .thumb{width:86px;height:64px;background:repeating-linear-gradient(135deg,var(--hatch-a) 0 8px,var(--hatch-b) 8px 16px);overflow:hidden;}
.secondary-list .row .thumb img{width:100%;height:100%;object-fit:cover;}

/* ==========================================================================
   Home — newsstream + sidebar
   ========================================================================== */
.stream-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,300px);gap:clamp(28px,4vw,56px);padding:clamp(28px,4vw,44px) 0;}
.stream-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;border-bottom:2px solid var(--ink);padding-bottom:10px;margin-bottom:4px;flex-wrap:wrap;}
.stream-head h2{margin:0;font-family:var(--display);font-size:13px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;}
.filters{display:flex;gap:8px;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:0.06em;flex-wrap:wrap;}
.filter-chip{border:1px solid var(--ink);background:transparent;color:var(--ink);padding:5px 10px;letter-spacing:0.06em;font-family:var(--mono);text-transform:uppercase;font-size:11px;}
.filter-chip:hover,.filter-chip.is-active{background:var(--ink);color:var(--page);}
.stream-row{display:grid;grid-template-columns:74px minmax(0,1fr);gap:20px;padding:20px 0;border-bottom:1px solid var(--hair);align-items:start;}
.stream-row:hover{background:var(--tint-2);}
.stream-row .time{font-family:var(--mono);font-size:12px;color:var(--faint);padding-top:3px;}
.stream-row .txt{display:flex;flex-direction:column;gap:8px;}
.stream-row h3{font-family:var(--display);font-weight:700;font-size:clamp(20px,2.2vw,26px);line-height:1.15;letter-spacing:-0.02em;text-wrap:pretty;}
.stream-row .teaser{font-size:15px;line-height:1.5;color:var(--secondary);max-width:62ch;text-wrap:pretty;}
.stream-more{margin-top:26px;}
.stream-empty{padding:28px 0;color:var(--muted);font-size:15px;}

.sidebar{display:flex;flex-direction:column;gap:34px;}
.mini-table .row{display:grid;grid-template-columns:22px 1fr auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--hair-lt);font-size:14px;}
.mini-table .row .pos{font-family:var(--mono);font-size:12px;color:var(--faint);}
.mini-table .row .club{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.mini-table .row .pts{font-family:var(--mono);font-weight:500;}

.newsletter{background:var(--ink);color:var(--page);padding:24px;}
.newsletter .label{font-family:var(--mono);font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:var(--gold);}
.newsletter h3{margin:10px 0 8px;font-family:var(--display);font-weight:800;font-size:22px;line-height:1.15;letter-spacing:-0.02em;}
.newsletter p{margin:0 0 16px;font-size:14px;line-height:1.5;color:var(--on-dark);}
.newsletter form{display:flex;flex-direction:column;gap:8px;}
.newsletter input{background:transparent;border:1px solid var(--on-dark-input);color:var(--page);padding:12px;font-size:14px;}
.newsletter input::placeholder{color:var(--on-dark-muted);}
.newsletter button{background:var(--red);color:#fff;border:none;padding:12px;font-family:var(--display);font-weight:700;font-size:13px;letter-spacing:0.1em;text-transform:uppercase;}
.newsletter button:hover{background:var(--gold);color:var(--ink);}
.newsletter--sm h3{font-size:20px;}
.newsletter--sm{padding:22px;}
.newsletter--sm input,.newsletter--sm button{padding:11px;}

/* ==========================================================================
   Home — beach dark block
   ========================================================================== */
.beach{background:var(--ink);color:var(--page);padding:clamp(28px,4vw,48px);display:flex;flex-direction:column;gap:28px;}
.beach-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;border-bottom:1px solid var(--on-dark-hair);padding-bottom:14px;flex-wrap:wrap;}
.beach-head h2{margin:0;font-family:var(--display);font-weight:900;font-size:clamp(26px,3.4vw,40px);letter-spacing:-0.03em;}
.beach-head .meta{font-family:var(--mono);font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--gold);}
.beach-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:clamp(20px,2.6vw,32px);}
.beach-card{display:flex;flex-direction:column;gap:14px;}
.beach-card .fig{aspect-ratio:4/3;background:var(--hatch-dk);display:flex;align-items:center;justify-content:center;overflow:hidden;}
.beach-card .fig img{width:100%;height:100%;object-fit:cover;}
.beach-card .fig .ph{font-family:var(--mono);font-size:10px;color:var(--on-dark-muted);letter-spacing:0.08em;text-align:center;padding:0 12px;}
.beach-card .kicker{color:var(--gold);font-size:10px;}
.beach-card h3{font-family:var(--display);font-weight:700;font-size:20px;line-height:1.2;letter-spacing:-0.02em;text-wrap:pretty;}
.beach-card time{font-family:var(--mono);font-size:11px;color:var(--on-dark-muted);}

/* ==========================================================================
   Single article
   ========================================================================== */
.breadcrumb{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:20px 0 0;font-family:var(--mono);font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--faint);}
.breadcrumb .cur{color:var(--ink);}
.article-header{padding:clamp(20px,3vw,34px) 0 clamp(24px,3vw,36px);border-bottom:2px solid var(--ink);max-width:900px;}
.article-header h1{margin:14px 0 18px;font-family:var(--display);font-weight:900;font-size:clamp(34px,5.6vw,68px);line-height:0.99;letter-spacing:-0.04em;text-wrap:balance;}
.article-header .standfirst{margin:0 0 22px;font-family:var(--serif);font-size:clamp(19px,2.1vw,23px);line-height:1.5;color:#35302a;max-width:60ch;text-wrap:pretty;}
.article-meta{display:flex;flex-wrap:wrap;gap:10px 20px;align-items:center;font-family:var(--mono);font-size:12px;color:var(--muted);}
.article-meta .author{color:var(--ink);font-weight:500;}
.article-share{display:flex;gap:8px;margin-left:auto;}
.article-share a{border:1px solid var(--ink);padding:6px 11px;font-size:11px;letter-spacing:0.08em;}
.article-share a:hover{background:var(--ink);color:var(--page);}
.lead-figure{margin:0;padding:clamp(20px,3vw,32px) 0;}
.lead-figure .fig{aspect-ratio:21/9;background:repeating-linear-gradient(135deg,var(--hatch-a) 0 12px,var(--hatch-b) 12px 24px);display:flex;align-items:center;justify-content:center;overflow:hidden;}
.lead-figure .fig img{width:100%;height:100%;object-fit:cover;}
.lead-figure .fig .ph{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:0.08em;}
.lead-figure figcaption{margin-top:10px;font-size:13px;line-height:1.5;color:var(--muted);max-width:70ch;}

.article-body-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,300px);gap:clamp(32px,5vw,72px);align-items:start;}
.article-body{max-width:68ch;font-family:var(--serif);font-size:19px;line-height:1.68;color:var(--body);}
.article-body p{margin:0 0 22px;}
.article-body>p:first-of-type::first-letter,.article-body .has-drop-cap::first-letter{float:left;font-family:var(--display);font-weight:900;font-size:76px;line-height:0.78;padding:6px 14px 0 0;color:var(--red);}
.article-body h2{margin:36px 0 14px;font-family:var(--display);font-weight:800;font-size:clamp(24px,2.8vw,32px);line-height:1.15;letter-spacing:-0.025em;color:var(--ink);}
.article-body h3{margin:30px 0 12px;font-family:var(--display);font-weight:700;font-size:clamp(20px,2.2vw,24px);letter-spacing:-0.02em;color:var(--ink);}
.article-body a{color:var(--red);text-decoration:underline;text-underline-offset:2px;}
.article-body ul,.article-body ol{margin:0 0 22px;padding-left:1.4em;}
.article-body li{margin-bottom:8px;}
.article-body img{margin:24px 0;}
.article-body figure{margin:24px 0;}
.article-body figcaption{font-family:var(--sans);font-size:13px;line-height:1.5;color:var(--muted);margin-top:8px;}
.article-body blockquote,.wp-block-quote{margin:32px 0;padding:0 0 0 24px;border-left:3px solid var(--red);}
.article-body blockquote p,.wp-block-quote p{margin:0 0 10px;font-family:var(--display);font-weight:700;font-size:clamp(22px,2.6vw,30px);line-height:1.24;letter-spacing:-0.025em;color:var(--ink);}
.article-body blockquote cite,.wp-block-quote cite,.article-body blockquote footer{font-family:var(--mono);font-size:12px;font-style:normal;letter-spacing:0.06em;color:var(--muted);}
.wp-block-pullquote{border-left:3px solid var(--red);border-top:0;border-bottom:0;padding:0 0 0 24px;margin:32px 0;text-align:left;}
.wp-block-pullquote p{font-family:var(--display);font-weight:700;font-size:clamp(22px,2.6vw,30px);line-height:1.24;letter-spacing:-0.025em;color:var(--ink);}

.stat-strip{margin:30px 0;border:1px solid var(--ink);display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));font-family:var(--sans);}
.stat-strip .cell{padding:18px;border-right:1px solid var(--hair-lt);display:flex;flex-direction:column;gap:6px;}
.stat-strip .cell .val{font-family:var(--display);font-weight:900;font-size:32px;letter-spacing:-0.03em;color:var(--red);}
.stat-strip .cell .lbl{font-family:var(--mono);font-size:10px;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted);line-height:1.4;}

.author-box{margin-top:38px;padding-top:22px;border-top:1px solid var(--hair);display:flex;gap:16px;align-items:center;}
.author-box .avatar{width:56px;height:56px;flex:none;background:repeating-linear-gradient(135deg,var(--hatch-a) 0 8px,var(--hatch-b) 8px 16px);border-radius:50%;overflow:hidden;}
.author-box .avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;}
.author-box .txt{display:flex;flex-direction:column;gap:3px;font-family:var(--sans);}
.author-box .txt .name{font-family:var(--display);font-weight:700;font-size:16px;}
.author-box .txt .bio{font-size:13px;line-height:1.5;color:var(--muted);}

.article-aside{display:flex;flex-direction:column;gap:32px;position:sticky;top:100px;}
.score-box{border:1px solid var(--ink);}
.box-head{background:var(--ink);color:var(--page);padding:12px 16px;font-family:var(--mono);font-size:10px;letter-spacing:0.12em;text-transform:uppercase;}
.score-box .body{padding:16px;display:flex;flex-direction:column;gap:12px;}
.score-box .team{display:flex;justify-content:space-between;align-items:baseline;gap:12px;}
.score-box .team .name{font-family:var(--display);font-weight:800;font-size:17px;}
.score-box .team .sc{font-family:var(--display);font-weight:900;font-size:22px;color:var(--red);}
.score-box .team.loser .name,.score-box .team.loser .sc{color:var(--muted);}
.score-box .sets{border-top:1px solid var(--hair-lt);padding-top:10px;font-family:var(--mono);font-size:12px;color:var(--muted);line-height:1.6;}
.related-list a{display:flex;flex-direction:column;gap:6px;padding:15px 0;border-bottom:1px solid var(--hair);}
.related-list .kicker{color:var(--faint);}
.related-list .t{font-family:var(--display);font-weight:700;font-size:16px;line-height:1.22;letter-spacing:-0.015em;text-wrap:pretty;}

/* ==========================================================================
   Generic page
   ========================================================================== */
.page-head{padding:clamp(32px,5vw,64px) 0 clamp(24px,3vw,40px);border-bottom:2px solid var(--ink);display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(24px,4vw,56px);align-items:end;}
.page-head .headline{display:flex;flex-direction:column;gap:16px;}
.page-head h1{margin:0;font-family:var(--display);font-weight:900;font-size:clamp(38px,6vw,76px);line-height:0.98;letter-spacing:-0.04em;}
.page-head .intro{margin:0 0 6px;font-size:17px;line-height:1.55;color:var(--secondary);max-width:46ch;text-wrap:pretty;}
.page-body{font-family:var(--serif);font-size:19px;line-height:1.68;color:var(--body);max-width:72ch;padding:clamp(28px,4vw,44px) 0;}
.page-body h2{margin:32px 0 12px;font-family:var(--display);font-weight:800;font-size:clamp(22px,2.6vw,30px);letter-spacing:-0.03em;color:var(--ink);}
.page-body h3{margin:26px 0 10px;font-family:var(--display);font-weight:700;font-size:clamp(19px,2.2vw,24px);letter-spacing:-0.02em;}
.page-body p{margin:0 0 18px;}
.page-body a{color:var(--red);text-decoration:underline;text-underline-offset:2px;}
.page-body ul,.page-body ol{margin:0 0 18px;padding-left:1.4em;}

/* ==========================================================================
   Contact page
   ========================================================================== */
.contact-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,0.85fr);gap:clamp(32px,5vw,72px);padding:clamp(32px,4vw,52px) 0;}
.contact-form{display:flex;flex-direction:column;gap:22px;}
.field-group{display:flex;flex-direction:column;gap:10px;}
.field-label,.contact-form label>.lbl{font-family:var(--mono);font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--secondary);}
.field-label .opt{text-transform:none;letter-spacing:0;color:var(--faint);}
.topic-chips{display:flex;flex-wrap:wrap;gap:8px;}
.topic-chip{border:1px solid var(--ink);background:transparent;color:var(--ink);padding:9px 14px;font-family:var(--mono);font-size:11px;letter-spacing:0.08em;text-transform:uppercase;}
.topic-chip:hover{border-color:var(--red);}
.topic-chip.is-active{background:var(--ink);color:var(--page);}
.field-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px;}
.contact-form label{display:flex;flex-direction:column;gap:8px;}
.contact-form input[type=text],.contact-form input[type=email],.contact-form textarea{border:1px solid var(--input);background:#fff;padding:13px 14px;font-size:15px;color:var(--ink);width:100%;}
.contact-form textarea{line-height:1.5;resize:vertical;}
.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--ink);}
.consent{display:flex;gap:10px;align-items:start;font-size:13px;line-height:1.5;color:var(--secondary);}
.consent input{margin-top:3px;width:16px;height:16px;accent-color:var(--red);flex:none;}
.consent a{color:var(--red);text-decoration:underline;}
.contact-submit{align-self:start;background:var(--ink);color:var(--page);border:none;padding:16px 34px;font-family:var(--display);font-weight:700;font-size:14px;letter-spacing:0.12em;text-transform:uppercase;}
.contact-submit:hover{background:var(--red);}
.form-notice{padding:14px 16px;border:1px solid var(--ink);font-size:14px;}
.form-notice.ok{border-color:var(--ink);background:var(--tint);}
.form-notice.err{border-color:var(--red);color:var(--red);}

.contact-aside{display:flex;flex-direction:column;gap:28px;}
.address-card{background:var(--ink);color:var(--page);padding:26px;display:flex;flex-direction:column;gap:18px;}
.address-card .label{font-family:var(--mono);font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:var(--gold);}
.address-card .lines{display:flex;flex-direction:column;gap:4px;font-size:15px;line-height:1.55;}
.address-card .lines .brand{font-family:var(--display);font-weight:800;font-size:20px;letter-spacing:-0.02em;}
.address-card .lines span{color:var(--on-dark);}
.address-card .mailrow{display:flex;flex-direction:column;gap:6px;font-size:15px;}
.address-card .mailrow a.mail{color:var(--gold);}
.address-card .mailrow a.tel{color:var(--on-dark);}
.people-list h2{margin:0;}
.people-list .person{display:flex;flex-direction:column;gap:4px;padding:16px 0;border-bottom:1px solid var(--hair);}
.people-list .person .role{font-family:var(--mono);font-size:10px;letter-spacing:0.1em;text-transform:uppercase;color:var(--faint);}
.people-list .person .name{font-family:var(--display);font-weight:700;font-size:17px;letter-spacing:-0.015em;}
.people-list .person a{font-size:14px;color:var(--red);}
.info-box{border:1px solid var(--ink);padding:22px;display:flex;flex-direction:column;gap:10px;}
.info-box h3{margin:0;font-family:var(--display);font-weight:800;font-size:18px;letter-spacing:-0.02em;}
.info-box p{margin:0;font-size:14px;line-height:1.55;color:var(--secondary);}
.info-box .link-underline{align-self:start;margin-top:4px;font-family:var(--mono);font-size:11px;letter-spacing:0.1em;text-transform:uppercase;border-bottom:2px solid var(--red);padding-bottom:2px;display:inline-block;}

/* ==========================================================================
   Advertorial / Wetten
   ========================================================================== */
.disclosure-bar{background:var(--gold);color:var(--ink);}
.disclosure-bar .inner{max-width:var(--maxw);margin:0 auto;padding:10px var(--gutter);display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;font-family:var(--mono);font-size:11px;letter-spacing:0.1em;text-transform:uppercase;}
.disclosure-bar .pill{background:var(--ink);color:var(--gold);padding:4px 9px;font-weight:500;}
.adv-head{padding:clamp(30px,4.5vw,56px) 0 clamp(24px,3vw,36px);border-bottom:2px solid var(--ink);display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(28px,4vw,56px);align-items:end;}
.adv-head .headline{display:flex;flex-direction:column;gap:16px;}
.adv-head h1{margin:0;font-family:var(--display);font-weight:900;font-size:clamp(34px,5.4vw,66px);line-height:0.98;letter-spacing:-0.04em;text-wrap:balance;}
.adv-head .intro{margin:0;font-family:var(--serif);font-size:clamp(18px,2vw,21px);line-height:1.5;color:#35302a;max-width:58ch;text-wrap:pretty;}
.kurzfassung{border:1px solid var(--ink);display:flex;flex-direction:column;}
.kurzfassung .row{padding:13px 16px;border-bottom:1px solid var(--hair-lt);display:flex;gap:12px;align-items:baseline;}
.kurzfassung .row:last-child{border-bottom:none;}
.kurzfassung .row .lbl{font-family:var(--mono);font-size:10px;letter-spacing:0.08em;text-transform:uppercase;color:var(--red);flex:none;width:90px;}
.kurzfassung .row .name{font-family:var(--display);font-weight:700;font-size:15px;line-height:1.3;}

.adv-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,290px);gap:clamp(32px,5vw,64px);align-items:start;padding:clamp(28px,4vw,44px) 0;}
.provider-list{display:flex;flex-direction:column;gap:clamp(20px,2.6vw,30px);}
.provider-card{border:1px solid var(--ink);background:#fff;display:flex;flex-wrap:wrap;align-items:center;gap:clamp(16px,2.4vw,28px);padding:clamp(14px,1.8vw,20px) clamp(16px,2.2vw,24px);}
.provider-card .rank{font-family:var(--display);font-weight:900;font-size:26px;line-height:1;letter-spacing:-0.04em;width:30px;flex:none;color:var(--disabled);}
.provider-card.top .rank{color:var(--red);}
.provider-card .logo{width:150px;height:72px;flex:none;background-position:center;background-size:contain;background-repeat:no-repeat;display:block;}
.provider-card .mid{flex:1 1 260px;min-width:220px;display:flex;flex-direction:column;gap:7px;}
.provider-card .mid h2{margin:0;font-family:var(--display);font-weight:800;font-size:20px;line-height:1.15;letter-spacing:-0.025em;}
.provider-card .pro{display:flex;gap:8px;font-size:14px;line-height:1.45;color:#24201b;}
.provider-card .pro .plus{color:var(--red);font-weight:600;}
.provider-card .cta{flex:none;display:flex;flex-direction:column;align-items:stretch;gap:6px;min-width:190px;}
.provider-card .cta a{background:var(--red);color:#fff;padding:14px 26px;text-align:center;font-family:var(--display);font-weight:800;font-size:13px;letter-spacing:0.1em;text-transform:uppercase;}
.provider-card .cta a:hover{background:var(--ink);color:#fff;}
.provider-card .cta .note{font-family:var(--mono);font-size:10px;letter-spacing:0.06em;color:var(--faint);text-align:center;}

.adv-aside{display:flex;flex-direction:column;gap:30px;position:sticky;top:100px;}
.toc-box{border:1px solid var(--ink);}
.toc-box .list{padding:6px 0;}
.toc-box a{display:grid;grid-template-columns:26px 1fr;gap:8px;padding:9px 16px;font-size:13px;line-height:1.35;}
.toc-box a:hover{background:var(--tint);}
.toc-box a .n{font-family:var(--mono);color:var(--red);}
.method-box{border:1px solid var(--ink);padding:20px;display:flex;flex-direction:column;gap:10px;}
.method-box h3{margin:0;font-family:var(--display);font-weight:800;font-size:17px;letter-spacing:-0.02em;}
.method-box p{margin:0;font-size:13px;line-height:1.6;color:var(--secondary);}
.age-box{border:1px solid var(--red);padding:20px;display:flex;flex-direction:column;gap:8px;}
.age-box .label{font-family:var(--mono);font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:var(--red);}
.age-box p{margin:0;font-size:13px;line-height:1.6;color:var(--secondary);}
.transp-box{background:var(--ink);color:var(--page);padding:20px;display:flex;flex-direction:column;gap:8px;}
.transp-box .label{font-family:var(--mono);font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:var(--gold);}
.transp-box p{margin:0;font-size:13px;line-height:1.6;color:var(--on-dark);}

.adv-seo{border-top:2px solid var(--ink);padding:clamp(28px,4vw,48px) 0 clamp(32px,4vw,52px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,290px);gap:clamp(32px,5vw,64px);align-items:start;}
.adv-seo .copy{max-width:72ch;font-family:var(--serif);font-size:18px;line-height:1.7;color:var(--body);}
.adv-seo .copy h2{margin:0 0 12px;font-family:var(--display);font-weight:800;font-size:clamp(22px,2.6vw,30px);line-height:1.15;letter-spacing:-0.03em;color:var(--ink);}
.adv-seo .copy p{margin:0 0 18px;}
.adv-seo .copy .block{margin-bottom:18px;}
.faq-box{border:1px solid var(--ink);}
.faq-box .item{padding:14px 16px;border-bottom:1px solid var(--hair-lt);display:flex;flex-direction:column;gap:6px;}
.faq-box .item:last-child{border-bottom:none;}
.faq-box .q{font-family:var(--display);font-weight:700;font-size:15px;line-height:1.25;letter-spacing:-0.015em;}
.faq-box .a{font-size:13px;line-height:1.6;color:var(--secondary);}

.passend{border-top:2px solid var(--ink);padding-top:clamp(24px,3vw,36px);}
.passend h2{margin:0 0 20px;font-family:var(--display);font-size:13px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;}
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:clamp(20px,2.6vw,32px);}
.mini-card{display:flex;flex-direction:column;gap:12px;}
.mini-card .fig{aspect-ratio:4/3;background:var(--hatch);overflow:hidden;}
.mini-card .fig img{width:100%;height:100%;object-fit:cover;}
.mini-card .kicker{color:var(--faint);}
.mini-card h3,.mini-card .t{font-family:var(--display);font-weight:700;font-size:18px;line-height:1.2;letter-spacing:-0.02em;text-wrap:pretty;}

/* ==========================================================================
   Archives (posts + CPTs)
   ========================================================================== */
.archive-head{padding:clamp(28px,4.5vw,56px) 0 clamp(20px,3vw,32px);border-bottom:2px solid var(--ink);}
.archive-head .kicker{margin-bottom:12px;display:block;}
.archive-head h1{margin:0;font-family:var(--display);font-weight:900;font-size:clamp(32px,5vw,60px);line-height:1;letter-spacing:-0.04em;text-wrap:balance;}
.archive-head .desc{margin:14px 0 0;font-size:16px;line-height:1.55;color:var(--secondary);max-width:60ch;}
.archive-list{padding:clamp(20px,3vw,32px) 0;}
.archive-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:clamp(20px,2.6vw,32px);padding:clamp(24px,3vw,36px) 0;}
.entry-card{display:flex;flex-direction:column;gap:12px;border-bottom:1px solid var(--hair);padding-bottom:20px;}
.entry-card .fig{aspect-ratio:16/10;background:var(--hatch);overflow:hidden;}
.entry-card .fig img{width:100%;height:100%;object-fit:cover;}
.entry-card h2,.entry-card h3{font-family:var(--display);font-weight:700;font-size:clamp(18px,2vw,22px);line-height:1.18;letter-spacing:-0.02em;text-wrap:pretty;}
.entry-card .teaser{font-size:14px;line-height:1.5;color:var(--secondary);}
.entry-card .meta{font-family:var(--mono);font-size:11px;color:var(--faint);}

.pagination{display:flex;flex-wrap:wrap;gap:8px;padding:32px 0;font-family:var(--mono);font-size:12px;}
.pagination .page-numbers{border:1px solid var(--ink);padding:8px 12px;display:inline-block;}
.pagination .page-numbers.current{background:var(--ink);color:var(--page);}
.pagination .page-numbers:hover{background:var(--red);color:#fff;border-color:var(--red);}

/* Detail meta strip reused by CPT singles */
.detail-head{padding:clamp(24px,4vw,44px) 0 clamp(20px,3vw,30px);border-bottom:2px solid var(--ink);}
.detail-head h1{margin:12px 0 0;font-family:var(--display);font-weight:900;font-size:clamp(30px,4.6vw,56px);line-height:1;letter-spacing:-0.04em;text-wrap:balance;}
.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,300px);gap:clamp(32px,5vw,64px);align-items:start;padding:clamp(24px,3vw,40px) 0;}
.detail-facts{border:1px solid var(--ink);}
.detail-facts .row{display:grid;grid-template-columns:auto 1fr;gap:12px;padding:11px 16px;border-bottom:1px solid var(--hair-lt);font-size:14px;}
.detail-facts .row:last-child{border-bottom:none;}
.detail-facts .row .k{font-family:var(--mono);font-size:10px;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted);}
.detail-facts .row .v{font-weight:500;}
.detail-body{font-family:var(--serif);font-size:18px;line-height:1.68;color:var(--body);max-width:68ch;}
.detail-body p{margin:0 0 20px;}
.detail-body h2{margin:30px 0 12px;font-family:var(--display);font-weight:800;font-size:clamp(22px,2.4vw,28px);color:var(--ink);}

/* Video */
.video-embed{aspect-ratio:16/9;background:var(--ink);overflow:hidden;margin:clamp(20px,3vw,32px) 0;}
.video-embed iframe,.video-embed video{width:100%;height:100%;border:0;display:block;}

/* Empty-state */
.empty-state{padding:clamp(40px,8vw,96px) 0;text-align:left;max-width:60ch;}
.empty-state h2{font-family:var(--display);font-weight:800;font-size:clamp(22px,3vw,32px);letter-spacing:-0.02em;margin-bottom:12px;}
.empty-state p{color:var(--secondary);font-size:16px;line-height:1.6;}

/* WP core alignment/gallery basics inside body copy */
.alignleft{float:left;margin:6px 24px 12px 0;}
.alignright{float:right;margin:6px 0 12px 24px;}
.aligncenter{margin-left:auto;margin-right:auto;}
.wp-caption-text{font-size:13px;color:var(--muted);}
.sticky-flag{display:inline-block;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:0.1em;color:var(--red);}

/* --- migration fixes 2026-08-08: grid overflow / headline overlap --- */
.hero > *{min-width:0;}
.hero-lead h1{overflow-wrap:anywhere;word-break:normal;hyphens:auto;}
.secondary-list .row{min-width:0;}
.secondary-list .row > *{min-width:0;}
.secondary-list .row .title{overflow-wrap:anywhere;}
.stream-row > *{min-width:0;}

/* --- wetten page cleanup 2026-08-08: remove sidebar, 1-col, text logos --- */
.adv-grid{grid-template-columns:1fr;}
.adv-seo{grid-template-columns:1fr;}
.legal-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:28px;}
.provider-card .logo.logo-text{display:flex;align-items:center;justify-content:center;text-align:center;font-family:var(--display);font-weight:800;font-size:clamp(15px,1.6vw,20px);line-height:1.05;background:#f2efe9;color:var(--ink);padding:8px;min-height:72px;}
.adv-seo .faq-box{margin-top:28px;}

/* --- provider-card uniformity 2026-08-08 --- */
.provider-card{flex-wrap:nowrap;align-items:center;min-height:112px;}
.provider-card .logo,.provider-card .logo.logo-text{flex:0 0 150px;width:150px;height:72px;min-height:72px;align-self:center;}
.provider-card .mid{flex:1 1 auto;min-width:0;}
.provider-card .cta{flex:0 0 210px;width:210px;}
.provider-card .cta .note{white-space:normal;max-width:210px;margin:0 auto;}
@media (max-width:760px){
  .provider-card{flex-wrap:wrap;}
  .provider-card .mid{flex:1 1 100%;}
  .provider-card .cta{flex:1 1 100%;width:auto;}
  .provider-card .cta .note{max-width:none;}
}

/* --- wetten byline 2026-08-08 --- */
.adv-byline{margin-top:14px;font-family:var(--mono);font-size:12px;color:var(--muted);display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.adv-byline .author{color:var(--ink);font-weight:500;}
.adv-byline .sep{color:var(--disabled);}
