/* ======================================================================
   Pfingstjugendtreffen — static rebuild
   System: mobile-first, no external deps, accessible, dark/light aware.
   Tokens are defined once in :root; everything else is layered on top.
   ====================================================================== */

/* ───── Fonts (self-hosted) ─────────────────────────────────────────── */
@font-face{
  font-family:"Inter";font-style:normal;font-display:swap;
  font-weight:100 900;
  src:url("/assets/fonts/inter-latin.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:"Inter";font-style:normal;font-display:swap;
  font-weight:100 900;
  src:url("/assets/fonts/inter-latin-ext.woff2") format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:"Anton";font-style:normal;font-weight:400;font-display:swap;
  src:url("/assets/fonts/anton-latin.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:"Anton";font-style:normal;font-weight:400;font-display:swap;
  src:url("/assets/fonts/anton-latin-ext.woff2") format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* ───── Tokens ──────────────────────────────────────────────────────── */
:root{
  /* Brand palette */
  --c-yellow:#fcb900;
  --c-yellow-soft:#fff3c5;
  --c-green:#0e8f4d;
  --c-green-deep:#075d33;
  --c-cyan:#0ea5e9;
  --c-magenta:#e10045;
  --c-violet:#7c3aed;
  --c-coral:#fb7185;

  /* Neutrals */
  --c-bg:#fafaf7;
  --c-surface:#ffffff;
  --c-surface-alt:#f1f0e8;
  --c-text:#0d1117;
  --c-text-soft:#475569;
  --c-text-faint:#94a3b8;
  --c-border:rgba(13,17,23,.10);
  --c-shadow:0 1px 2px rgba(13,17,23,.04),0 8px 24px rgba(13,17,23,.06);
  --c-shadow-lg:0 4px 12px rgba(13,17,23,.06),0 24px 48px rgba(13,17,23,.10);

  /* Type scale (fluid) */
  --fs-100:.875rem;        /* 14 */
  --fs-200:1rem;           /* 16 */
  --fs-300:1.125rem;       /* 18 */
  --fs-400:clamp(1.125rem, 1rem + .5vw, 1.4rem);
  --fs-500:clamp(1.4rem, 1.2rem + 1vw, 1.85rem);
  --fs-600:clamp(1.85rem, 1.5rem + 2vw, 2.6rem);
  --fs-700:clamp(2.4rem, 1.8rem + 3vw, 4rem);
  --fs-800:clamp(3rem, 2.4rem + 4vw, 5.5rem);

  /* Spacing */
  --sp-1:.25rem;
  --sp-2:.5rem;
  --sp-3:.75rem;
  --sp-4:1rem;
  --sp-5:1.5rem;
  --sp-6:2rem;
  --sp-7:3rem;
  --sp-8:4rem;
  --sp-9:6rem;

  /* Radii */
  --rad-1:6px;
  --rad-2:12px;
  --rad-3:20px;
  --rad-pill:999px;

  /* Layout */
  --maxw:1080px;
  --narrow:680px;

  /* Motion */
  --tr:160ms cubic-bezier(.2,.7,.2,1);

  color-scheme:light;
}

@media (prefers-color-scheme:dark){
  :root{
    --c-bg:#0d1117;
    --c-surface:#161b22;
    --c-surface-alt:#1f2531;
    --c-text:#f3f4f6;
    --c-text-soft:#cbd5e1;
    --c-text-faint:#64748b;
    --c-border:rgba(255,255,255,.08);
    --c-shadow:0 1px 2px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.4);
    --c-shadow-lg:0 4px 12px rgba(0,0,0,.5),0 24px 48px rgba(0,0,0,.6);
    --c-yellow-soft:rgba(252,185,0,.15);
    color-scheme:dark;
  }
}

/* ───── Reset / base ─────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box}
html{
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
  hanging-punctuation:first last;
  font-feature-settings:"ss01","cv11";
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
body{
  margin:0;
  font-family:"Inter","Helvetica Neue",Helvetica,Arial,system-ui,sans-serif;
  font-size:var(--fs-300);
  line-height:1.55;
  color:var(--c-text);
  background:var(--c-bg);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img,svg,video,canvas,picture{max-width:100%;height:auto;display:block}
a{color:var(--c-green);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:.08em;transition:color var(--tr)}
a:hover{color:var(--c-magenta)}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{
  outline:3px solid var(--c-yellow);outline-offset:3px;border-radius:3px;
}
hr{border:0;border-top:1px solid var(--c-border);margin:var(--sp-6) 0}

/* Headings — Anton for display, Inter bold for sub */
h1,h2,h3,h4{line-height:1.05;letter-spacing:-.01em;margin:0 0 var(--sp-4);color:var(--c-text);font-weight:800}
h1{font-family:"Anton",sans-serif;font-weight:400;letter-spacing:.005em;font-size:var(--fs-700);line-height:1}
h2{font-family:"Anton",sans-serif;font-weight:400;letter-spacing:.005em;font-size:var(--fs-600);line-height:1.05}
h3{font-size:var(--fs-500)}
h4{font-size:var(--fs-400)}
p{margin:0 0 var(--sp-4)}
blockquote{margin:var(--sp-5) 0;padding:var(--sp-4) var(--sp-5);background:var(--c-yellow-soft);border-left:4px solid var(--c-yellow);border-radius:0 var(--rad-2) var(--rad-2) 0}

ul,ol{padding-left:1.4em}
li+li{margin-top:.2em}

/* Skip link */
.skip{
  position:absolute;left:-9999px;top:0;background:var(--c-text);color:#fff;
  padding:var(--sp-3) var(--sp-4);text-decoration:none;border-radius:0 0 var(--rad-2) 0;z-index:1000;
}
.skip:focus{left:0}

/* ───── Container ────────────────────────────────────────────────────── */
.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding-inline:var(--sp-5)}
.wrap.narrow{max-width:var(--narrow)}

/* ───── Header / nav ─────────────────────────────────────────────────── */
.site-header{
  position:sticky;top:0;z-index:50;
  background:color-mix(in oklab, var(--c-bg) 85%, transparent);
  backdrop-filter:saturate(140%) blur(10px);
  -webkit-backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid var(--c-border);
}
.header-inner{
  display:flex;align-items:center;gap:var(--sp-4);
  padding-block:var(--sp-3);
  max-width:var(--maxw);margin:0 auto;padding-inline:var(--sp-5);
}
.brand{display:flex;align-items:center;gap:var(--sp-3);text-decoration:none;color:inherit;flex:1 1 auto;min-width:0}
.brand-mark{
  width:40px;height:40px;flex:0 0 40px;
  border-radius:var(--rad-1);
  object-fit:contain;
  background:#ffab00;
  padding:3px;
  box-shadow:var(--c-shadow);
}
.brand-name{
  font-family:"Anton",sans-serif;font-size:var(--fs-400);
  letter-spacing:.005em;line-height:1;
}
.brand-name small{display:block;font-family:"Inter",sans-serif;font-weight:500;font-size:.7em;color:var(--c-text-soft);margin-top:.15em;letter-spacing:.02em}

.nav-toggle{display:none}
.nav-btn{
  width:36px;height:36px;border:1px solid var(--c-border);border-radius:var(--rad-1);
  background:var(--c-surface);cursor:pointer;display:grid;place-items:center;
  color:var(--c-text);padding:0;
}
.nav-btn:hover{background:var(--c-surface-alt)}
.nav-btn svg{width:18px;height:18px}
.nav-btn .nav-icon-x{display:none}
.nav-toggle:checked ~ .nav-btn .nav-icon-bars{display:none}
.nav-toggle:checked ~ .nav-btn .nav-icon-x{display:block}

.mainnav{display:none;width:100%;flex-basis:100%;order:99}
.nav-toggle:checked ~ .mainnav{display:block}
.mainnav > ul{
  list-style:none;margin:var(--sp-3) 0 var(--sp-2);padding:0;
  display:flex;flex-direction:column;gap:0;font-size:var(--fs-200);
}
.mainnav > ul > li{border-top:1px solid var(--c-border)}
.mainnav a{
  display:block;padding:.55rem var(--sp-2);
  color:var(--c-text);text-decoration:none;font-weight:600;
  font-size:var(--fs-200);
}
.mainnav a:hover{color:var(--c-magenta)}
.mainnav .submenu{list-style:none;margin:0 0 var(--sp-2) var(--sp-4);padding:0}
.mainnav .submenu a{padding:.35rem var(--sp-2);font-weight:500;color:var(--c-text-soft);font-size:var(--fs-100)}

/* Language switcher — <details> dropdown */
.lang-switch{position:relative;margin-inline-start:auto;font-size:var(--fs-100)}
.lang-switch summary{
  list-style:none;cursor:pointer;
  display:inline-flex;align-items:center;gap:var(--sp-2);
  padding:var(--sp-2) var(--sp-3);border:1px solid var(--c-border);
  border-radius:var(--rad-1);background:var(--c-surface);
  font-weight:600;color:var(--c-text);
}
.lang-switch summary::-webkit-details-marker{display:none}
.lang-switch summary svg{flex:0 0 auto}
.lang-switch summary:hover{background:var(--c-surface-alt)}
.lang-switch[open] summary{background:var(--c-yellow);color:var(--c-text);border-color:var(--c-yellow)}
.lang-menu{
  position:absolute;top:calc(100% + 4px);right:0;list-style:none;padding:var(--sp-2);margin:0;
  min-width:180px;background:var(--c-surface);border:1px solid var(--c-border);
  border-radius:var(--rad-2);box-shadow:var(--c-shadow-lg);z-index:60;
}
[dir="rtl"] .lang-menu{right:auto;left:0}
.lang-menu li{margin:0}
.lang-menu a{display:block;padding:var(--sp-2) var(--sp-3);border-radius:var(--rad-1);color:var(--c-text);text-decoration:none;font-weight:500}
.lang-menu a:hover{background:var(--c-surface-alt);color:var(--c-magenta)}
.lang-menu li.current a{background:var(--c-yellow);color:var(--c-text);font-weight:700}

@media (min-width:880px){
  .nav-btn{display:none}
  .mainnav{display:block;width:auto;flex-basis:auto;order:0}
  .mainnav > ul{flex-direction:row;gap:var(--sp-1);align-items:center;margin:0}
  .mainnav > ul > li{border:0;position:relative}
  .mainnav > ul > li > a{padding:var(--sp-2) var(--sp-3);border-radius:var(--rad-1)}
  .mainnav > ul > li > a:hover,.mainnav > ul > li:focus-within > a{background:var(--c-yellow);color:var(--c-text)}
  .mainnav .submenu{
    position:absolute;top:100%;left:0;min-width:240px;margin:0;padding:var(--sp-2);
    background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--rad-2);
    box-shadow:var(--c-shadow-lg);visibility:hidden;opacity:0;transform:translateY(-4px);
    transition:opacity var(--tr),transform var(--tr),visibility 0s linear var(--tr);
  }
  .mainnav > ul > li:hover > .submenu,
  .mainnav > ul > li:focus-within > .submenu{visibility:visible;opacity:1;transform:none;transition-delay:0s}
  .mainnav .submenu a{border-radius:var(--rad-1);padding:var(--sp-2) var(--sp-3)}
  .mainnav .submenu a:hover{background:var(--c-surface-alt);color:var(--c-text)}
}

/* ───── Hero ─────────────────────────────────────────────────────────── */
.hero{
  background:linear-gradient(135deg,var(--c-yellow) 0%,#ffd86b 100%);
  color:var(--c-text);
  padding-block:var(--sp-7) var(--sp-8);
  position:relative;overflow:hidden;
}
@media (prefers-color-scheme:dark){
  .hero{background:linear-gradient(135deg,#322a06 0%,#241d0a 100%);color:#ffe27a}
  .hero a{color:#ffe27a}
}
.hero::after{
  content:"";position:absolute;inset:auto -10% -40% -10%;height:80%;
  background:radial-gradient(closest-side,rgba(255,255,255,.5),transparent 70%);
  pointer-events:none;opacity:.5;
}
.hero .wrap{position:relative;z-index:1}
.hero-grid{display:grid;grid-template-columns:1fr;gap:var(--sp-5);align-items:center}
.hero-eyebrow{
  display:inline-block;background:var(--c-text);color:var(--c-yellow);
  padding:var(--sp-2) var(--sp-4);border-radius:var(--rad-pill);
  font-size:var(--fs-100);font-weight:700;text-transform:uppercase;letter-spacing:.08em;
}
.hero h1{font-size:var(--fs-800);margin:var(--sp-3) 0 var(--sp-4)}
.hero-claim{font-size:var(--fs-400);max-width:42ch;color:var(--c-text);font-weight:500;margin-bottom:var(--sp-5)}
.hero-meta{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-5);margin-bottom:var(--sp-5);font-size:var(--fs-300);font-weight:600}
.hero-actions{display:flex;flex-wrap:wrap;gap:var(--sp-3)}
.hero-img{justify-self:center}
.hero-img img{max-width:min(380px,84vw);filter:drop-shadow(0 12px 32px rgba(0,0,0,.18))}

@media (min-width:780px){
  .hero-grid{grid-template-columns:1.4fr 1fr;gap:var(--sp-7)}
  .hero{padding-block:var(--sp-8) var(--sp-9)}
}

/* ───── Buttons ──────────────────────────────────────────────────────── */
.btn{
  display:inline-flex;align-items:center;gap:var(--sp-2);
  padding:.85em 1.6em;border-radius:var(--rad-pill);
  font-weight:700;text-decoration:none;border:0;cursor:pointer;
  font-size:var(--fs-300);font-family:inherit;
  transition:transform var(--tr), background var(--tr), color var(--tr), box-shadow var(--tr);
  white-space:nowrap;
}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--c-magenta);color:#fff;box-shadow:var(--c-shadow)}
.btn-primary:hover{background:#c5003c;color:#fff}
.btn-secondary{background:var(--c-text);color:#fff;box-shadow:var(--c-shadow)}
.btn-secondary:hover{background:#000;color:#fff}
.btn-ghost{background:transparent;color:var(--c-text);box-shadow:inset 0 0 0 2px var(--c-text)}
.btn-ghost:hover{background:var(--c-text);color:#fff}

/* ───── Sections / news grid ─────────────────────────────────────────── */
.section{padding-block:var(--sp-7)}
.section-title{
  display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:var(--sp-3);
  margin-bottom:var(--sp-5);
}
.section-title h2{margin:0}
.section-title .more a{font-weight:600;color:var(--c-text-soft)}
.section-title .more a:hover{color:var(--c-magenta)}

.news-grid{display:grid;grid-template-columns:1fr;gap:var(--sp-5)}
@media (min-width:680px){.news-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:980px){.news-grid{grid-template-columns:repeat(3,1fr)}}

.card{
  background:var(--c-surface);border-radius:var(--rad-2);overflow:hidden;
  box-shadow:var(--c-shadow);transition:transform var(--tr), box-shadow var(--tr);
  display:flex;flex-direction:column;
}
.card:hover{transform:translateY(-2px);box-shadow:var(--c-shadow-lg)}
.card-thumb{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--c-surface-alt)}
.card-thumb img{width:100%;height:100%;object-fit:cover;transition:transform 600ms ease}
.card:hover .card-thumb img{transform:scale(1.04)}

/* Cover-less placeholder: gradient + monogram, deterministic per category */
.card-thumb.is-placeholder{
  display:grid;place-items:center;color:#fff;
  font-family:"Anton",sans-serif;letter-spacing:.06em;font-size:3.2rem;
  background:linear-gradient(135deg,var(--c-green),var(--c-cyan));
}
.card-thumb.is-placeholder span{display:block;text-shadow:0 4px 16px rgba(0,0,0,.18)}
.card-thumb.is-placeholder.cat-22-pfingstjugendtreffen{background:linear-gradient(135deg,var(--c-yellow),#ffb700)}
.card-thumb.is-placeholder.cat-21-pfingstjugendtreffen{background:linear-gradient(135deg,var(--c-cyan),#0284c7)}
.card-thumb.is-placeholder.cat-20-pfingstjugendtreffen{background:linear-gradient(135deg,var(--c-magenta),#9d174d)}
.card-thumb.is-placeholder.cat-19-pfingstjugendtreffen{background:linear-gradient(135deg,var(--c-violet),#5b21b6)}
.card-thumb.is-placeholder.cat-pressemitteilung{background:linear-gradient(135deg,#0d1117,#374151);color:var(--c-yellow)}
.card-thumb.is-placeholder.cat-aufruf{background:linear-gradient(135deg,var(--c-magenta),var(--c-coral));color:#fff}
.card-thumb.is-placeholder.cat-songcontest{background:linear-gradient(135deg,#7c3aed,#ec4899);color:#fff}
.card-thumb.is-placeholder.cat-fussballtunier{background:linear-gradient(135deg,var(--c-green),#84cc16);color:#fff}
.card-thumb.is-placeholder.cat-spiele-ohne-grenzen{background:linear-gradient(135deg,#dc2626,#f59e0b);color:#fff}
.card-thumb.is-placeholder.cat-vorbereitungstreffen{background:linear-gradient(135deg,#1e3a8a,var(--c-cyan));color:#fff}
.card-thumb.is-placeholder.cat-zukunftsdemonstration{background:linear-gradient(135deg,#dc2626,#0d1117);color:var(--c-yellow)}
.card-thumb.is-placeholder.cat-workshop{background:linear-gradient(135deg,#06b6d4,#10b981);color:#fff}
.card-thumb.is-placeholder.cat-videos{background:linear-gradient(135deg,#0f172a,#1e293b);color:var(--c-coral)}
.card-thumb.is-placeholder.cat-schirmherren{background:linear-gradient(135deg,#075985,var(--c-cyan));color:#fff}
.card-thumb.is-placeholder.cat-finanzen{background:linear-gradient(135deg,#10b981,#84cc16);color:var(--c-text)}
.card-body{padding:var(--sp-4) var(--sp-4) var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-2);flex:1;min-width:0}
.card-meta{font-size:.72rem;color:var(--c-text-faint);text-transform:uppercase;letter-spacing:.05em;font-weight:600;margin:0;line-height:1.4}
.card-meta a{color:inherit;text-decoration:none}
.card-meta a:hover{color:var(--c-magenta)}
.card-title{font-family:"Inter",sans-serif;font-weight:700;font-size:1.05rem;line-height:1.25;margin:var(--sp-1) 0 var(--sp-2);color:var(--c-text);overflow-wrap:break-word;hyphens:auto}
.card-title a{color:inherit;text-decoration:none}
.card-title a:hover{color:var(--c-magenta)}
.card-excerpt{margin:0;color:var(--c-text-soft);font-size:.92rem;flex:1;line-height:1.5}

/* ───── Tiles (Festival/Archiv landing) ─────────────────────────────── */
.cards{display:grid;grid-template-columns:1fr;gap:var(--sp-4);margin:var(--sp-6) 0}
@media (min-width:600px){.cards{grid-template-columns:repeat(2,1fr)}}
@media (min-width:900px){.cards{grid-template-columns:repeat(3,1fr)}}

.tile{
  display:block;padding:var(--sp-5);background:var(--c-surface);border-radius:var(--rad-2);
  box-shadow:var(--c-shadow);text-decoration:none;color:inherit;
  transition:transform var(--tr), box-shadow var(--tr);
  position:relative;overflow:hidden;
}
.tile:hover{transform:translateY(-2px);box-shadow:var(--c-shadow-lg);color:inherit}
.tile h3{margin:0 0 var(--sp-2);font-family:"Anton",sans-serif;font-weight:400;font-size:var(--fs-500)}
.tile p{margin:0;color:var(--c-text-soft);font-size:var(--fs-200)}
.tile::after{
  content:"→";position:absolute;right:var(--sp-4);top:var(--sp-5);
  color:var(--c-text-faint);font-size:1.4rem;transition:transform var(--tr), color var(--tr);
}
.tile:hover::after{transform:translateX(4px);color:var(--c-magenta)}

.archive-tiles .tile.big{
  display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-1);
  padding:var(--sp-6) var(--sp-5);
  background:linear-gradient(135deg,var(--c-yellow) 0%,#ffd86b 100%);color:var(--c-text);
  font-family:"Anton",sans-serif;
}
.archive-tiles .tile.big:nth-child(2){background:linear-gradient(135deg,var(--c-cyan),#67e8f9)}
.archive-tiles .tile.big:nth-child(3){background:linear-gradient(135deg,var(--c-magenta),#fb7185);color:#fff}
.archive-tiles .tile.big:nth-child(4){background:linear-gradient(135deg,var(--c-violet),#a78bfa);color:#fff}
.big-num{font-size:var(--fs-800);line-height:.85;letter-spacing:-.02em}
.big-sub{font-size:var(--fs-500);line-height:1}
.big-meta{font-family:"Inter",sans-serif;font-size:var(--fs-200);font-weight:600;opacity:.85;margin-top:auto}

/* ───── Article ──────────────────────────────────────────────────────── */
.post{padding-block:var(--sp-6) var(--sp-7)}
.post-header{margin-bottom:var(--sp-5);max-width:60ch}
.post-meta{font-size:var(--fs-100);color:var(--c-text-faint);text-transform:uppercase;letter-spacing:.06em;font-weight:600;margin:0 0 var(--sp-2)}
.post-meta a{color:inherit}
.post-title{font-family:"Anton",sans-serif;font-weight:400;font-size:var(--fs-700);line-height:1;margin:0}
.post-cover{margin:var(--sp-5) 0;border-radius:var(--rad-2);overflow:hidden;box-shadow:var(--c-shadow)}
.post-content{font-size:var(--fs-300);line-height:1.65;max-width:62ch}
/* page-content is for section landing pages — full container width, prose readable but rich blocks can spread */
.page-content{font-size:var(--fs-300);line-height:1.6}
.page-content > p,.page-content > ul,.page-content > ol,.page-content > h2,.page-content > h3,.page-content > h4,.page-content > blockquote{max-width:62ch}
.page-content > p.lead,.page-content > .post-lead{max-width:62ch}
.post-content .post-lead{font-size:var(--fs-400);line-height:1.5;color:var(--c-text);font-weight:500;margin-bottom:var(--sp-5)}
.post-content .post-lead::first-letter{
  font-family:"Anton",sans-serif;font-weight:400;
  font-size:2.4em;line-height:.92;
  float:left;margin:.06em .08em -.04em 0;
  color:var(--c-magenta);
}
@media (prefers-color-scheme:dark){
  .post-content .post-lead::first-letter{color:var(--c-yellow)}
}
.post-content :is(h2,h3,h4){margin:1.4em 0 .4em;color:var(--c-text)}
.post-content h2{font-family:"Anton",sans-serif;font-size:var(--fs-500);font-weight:400}
.post-content h3{font-size:var(--fs-400)}
.post-content img{border-radius:var(--rad-2)}
.post-content figure{margin:var(--sp-5) 0}
.post-content figcaption{font-size:var(--fs-100);color:var(--c-text-soft);text-align:center;margin-top:var(--sp-2)}
.post-content a{color:var(--c-magenta)}
.post-content a:hover{color:var(--c-green)}
.post-content blockquote{font-size:var(--fs-300)}

.post-nav{
  display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3);margin-top:var(--sp-7);
  padding-top:var(--sp-5);border-top:1px solid var(--c-border);
}
.post-nav a{
  display:block;padding:var(--sp-3) var(--sp-4);border-radius:var(--rad-2);
  background:var(--c-surface);text-decoration:none;color:var(--c-text);
  box-shadow:var(--c-shadow);font-weight:600;font-size:var(--fs-200);
  transition:transform var(--tr);
}
.post-nav a:hover{transform:translateY(-1px);color:var(--c-magenta)}
.post-nav .next{text-align:right}
.post-nav .pn-label{display:block;font-size:var(--fs-100);color:var(--c-text-faint);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--sp-1);font-weight:700}

/* ───── List pages (term, section) ───────────────────────────────────── */
.section-header{padding-block:var(--sp-6) var(--sp-3);max-width:60ch}
.section-header h1{margin-bottom:var(--sp-3)}
.lead{font-size:var(--fs-400);color:var(--c-text-soft);max-width:60ch}
.post-list{
  list-style:none;margin:0;padding:0;background:var(--c-surface);
  border-radius:var(--rad-2);box-shadow:var(--c-shadow);overflow:hidden;
}
.post-list li+li{border-top:1px solid var(--c-border)}
.post-list a{
  display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-3);
  padding:var(--sp-4) var(--sp-5);text-decoration:none;color:var(--c-text);
  transition:background var(--tr);
}
.post-list a:hover{background:var(--c-surface-alt);color:var(--c-magenta)}
.pl-date{flex:0 0 110px;color:var(--c-text-faint);font-variant-numeric:tabular-nums;font-weight:600;font-size:var(--fs-100)}
.pl-title{flex:1 1 auto;font-weight:600;font-size:var(--fs-300)}

/* ───── Pagination ───────────────────────────────────────────────────── */
.pagination{
  display:flex;flex-wrap:wrap;justify-content:center;gap:var(--sp-2);
  list-style:none;padding:0;margin:var(--sp-6) 0;
}
.pagination a,.pagination .page-item.active span{
  display:inline-block;padding:.5em .9em;border-radius:var(--rad-1);
  background:var(--c-surface);color:var(--c-text);font-weight:600;
  text-decoration:none;border:1px solid var(--c-border);font-size:var(--fs-200);
}
.pagination a:hover{background:var(--c-yellow);color:var(--c-text);border-color:var(--c-yellow)}
.pagination .page-item.active span{background:var(--c-text);color:#fff;border-color:var(--c-text)}
.pagination .disabled{display:none}

/* ───── Sidebar (home only) ──────────────────────────────────────────── */
.home-grid{display:grid;grid-template-columns:1fr;gap:var(--sp-6)}
@media (min-width:980px){.home-grid{grid-template-columns:minmax(0,2.4fr) minmax(0,1fr);gap:var(--sp-7);align-items:start}}
.sidebar{display:flex;flex-direction:column;gap:var(--sp-4);position:sticky;top:5rem}
.sb-card{background:var(--c-surface);border-radius:var(--rad-2);box-shadow:var(--c-shadow);padding:var(--sp-5);text-align:center}
.sb-title{margin:0 0 var(--sp-3);font-family:"Anton",sans-serif;font-weight:400;font-size:var(--fs-400);color:var(--c-text)}
.sb-card p{margin:0 0 var(--sp-3);color:var(--c-text-soft);font-size:var(--fs-200)}
.sb-card .btn{width:100%;justify-content:center}
.sb-card img{margin:0 auto;border-radius:var(--rad-1)}

/* Countdown */
.countdown{display:flex;justify-content:center;gap:var(--sp-2);flex-wrap:wrap;margin-top:var(--sp-3)}
.cd-cell{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:var(--c-text);color:var(--c-yellow);
  padding:var(--sp-3) var(--sp-2);border-radius:var(--rad-1);min-width:64px;
}
.cd-num{font-family:"Anton",sans-serif;font-size:1.8rem;line-height:1}
.cd-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;opacity:.7;font-weight:600;margin-top:2px}

/* ───── Footer ───────────────────────────────────────────────────────── */
.site-footer{
  background:var(--c-text);color:#fff;padding-block:var(--sp-7);margin-top:var(--sp-8);
}
.site-footer a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.2)}
.site-footer a:hover{border-bottom-color:var(--c-yellow);color:var(--c-yellow)}
.footer-grid{display:grid;grid-template-columns:1fr;gap:var(--sp-5)}
@media (min-width:680px){.footer-grid{grid-template-columns:2fr 1fr;align-items:start}}
.footer-brand{font-family:"Anton",sans-serif;font-size:var(--fs-500);line-height:1;margin:0 0 var(--sp-3)}
.footer-brand small{font-family:"Inter",sans-serif;font-weight:500;font-size:var(--fs-200);display:block;color:rgba(255,255,255,.7);margin-top:var(--sp-2);letter-spacing:0}
.footer-links{list-style:none;padding:0;margin:0}
.footer-links li{margin-bottom:var(--sp-2)}
.footer-meta{margin-top:var(--sp-5);padding-top:var(--sp-4);border-top:1px solid rgba(255,255,255,.1);font-size:var(--fs-100);color:rgba(255,255,255,.6)}

/* ───── Misc helpers ─────────────────────────────────────────────────── */
.contact-list{display:grid;gap:var(--sp-4);max-width:50ch}
.contact-list dt{font-weight:700;font-size:var(--fs-200);color:var(--c-text-soft)}
.contact-list dd{margin:0 0 var(--sp-2)}

.aligncenter{text-align:center}
.alignwide,.alignfull{max-width:100%}

/* ───── WP block class compatibility (light subset) ─────────────────── */
.wp-block-image{margin:var(--sp-4) 0}
.wp-block-image img{border-radius:var(--rad-2)}
.wp-block-image figcaption{font-size:var(--fs-100);color:var(--c-text-soft);text-align:center;margin-top:var(--sp-2)}
.wp-block-buttons{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin:var(--sp-4) 0}
.wp-block-button__link{
  display:inline-block;padding:.7em 1.4em;border-radius:var(--rad-pill);
  background:var(--c-magenta);color:#fff!important;font-weight:700;text-decoration:none!important;
  transition:transform var(--tr), background var(--tr);
}
.wp-block-button__link:hover{transform:translateY(-1px);background:#c5003c}
.is-style-outline .wp-block-button__link{background:transparent;color:var(--c-text)!important;box-shadow:inset 0 0 0 2px var(--c-text)}
.wp-block-button.is-style-mediator-button-rounded .wp-block-button__link{border-radius:var(--rad-pill)}
.wp-block-button.has-custom-width .wp-block-button__link,
.wp-block-button.wp-block-button__width-50 .wp-block-button__link{width:100%;text-align:center}

.wp-block-columns{display:grid;grid-template-columns:1fr;gap:var(--sp-5);margin:var(--sp-5) 0}
@media (min-width:680px){.wp-block-columns{grid-template-columns:repeat(var(--cols,2),1fr)}.wp-block-columns.has-3-columns{--cols:3}.wp-block-columns.has-4-columns{--cols:4}}
.wp-block-column{min-width:0}

.wp-block-cover{position:relative;padding:var(--sp-6);border-radius:var(--rad-2);overflow:hidden;color:#fff;background:var(--c-green);text-align:center}
.wp-block-cover>img,.wp-block-cover>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:.5}
.wp-block-cover>:not(img):not(video){position:relative;z-index:1}
.wp-block-cover :is(h1,h2,h3,p){color:inherit}

.wp-block-separator{border:0;border-top:1px solid var(--c-border);margin:var(--sp-5) auto;max-width:120px;opacity:1}
.wp-block-separator.is-style-wide{max-width:none}
.wp-block-pullquote,.wp-block-quote{margin:var(--sp-5) 0;padding:var(--sp-4) var(--sp-5);background:var(--c-yellow-soft);border-left:4px solid var(--c-yellow);border-radius:0 var(--rad-2) var(--rad-2) 0}
.wp-block-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-2);margin:var(--sp-4) 0}
@media (min-width:680px){.wp-block-gallery.columns-3{grid-template-columns:repeat(3,1fr)}.wp-block-gallery.columns-4{grid-template-columns:repeat(4,1fr)}}
.wp-block-gallery figure{margin:0}
.wp-block-gallery img{aspect-ratio:1/1;object-fit:cover;border-radius:var(--rad-1);width:100%}

.wp-block-list{padding-left:1.4em}

.wp-block-search,.wp-block-search__inside-wrapper{display:flex;width:100%}
.wp-block-search__input{flex:1;padding:.6em .8em;border:1px solid var(--c-border);border-radius:var(--rad-1) 0 0 var(--rad-1);background:var(--c-surface);color:var(--c-text)}
.wp-block-search__button{padding:.6em 1em;border:1px solid var(--c-text);background:var(--c-text);color:#fff;border-radius:0 var(--rad-1) var(--rad-1) 0;cursor:pointer}

/* WP color palette (mapped to new tokens) */
.has-custom-gelb-background-color{background-color:var(--c-yellow)}
.has-custom-gelb-color{color:var(--c-yellow)}
.has-custom-cyan-background-color{background-color:var(--c-cyan)}
.has-custom-cyan-color{color:var(--c-cyan)}
.has-custom-gr-n-background-color{background-color:var(--c-green)}
.has-custom-gr-n-color{color:var(--c-green)}
.has-custom-lila-background-color{background-color:var(--c-violet)}
.has-custom-lila-color{color:var(--c-violet)}
.has-custom-orange-background-color{background-color:#ffab00}
.has-custom-orange-color{color:#ffab00}
.has-custom-rot-background-color{background-color:var(--c-magenta)}
.has-custom-rot-color{color:var(--c-magenta)}
.has-primary-background-color{background-color:var(--c-green)}
.has-primary-color{color:var(--c-green)}
.has-secondary-background-color{background-color:var(--c-cyan)}
.has-secondary-color{color:var(--c-cyan)}
.has-background-background-color{background-color:var(--c-yellow)}
.has-foreground-color{color:var(--c-text)}
.has-foreground-background-color{background-color:var(--c-text)}
.has-light-color-background-color,.has-white-background-color{background-color:#fff;color:var(--c-text)}
.has-light-color-color,.has-white-color{color:#fff}
.has-dark-color-background-color,.has-black-background-color{background-color:var(--c-text);color:#fff}
.has-dark-color-color,.has-black-color{color:var(--c-text)}
.has-meta-color-color{color:var(--c-text-faint)}

.has-text-align-center{text-align:center}
.has-text-align-right{text-align:right}
.has-text-align-left{text-align:left}
.has-anton-font-family{font-family:"Anton",sans-serif;font-weight:400}
.has-x-large-font-size{font-size:var(--fs-600)}
.has-large-font-size{font-size:var(--fs-500)}
.has-medium-font-size{font-size:var(--fs-400)}
.has-small-font-size{font-size:var(--fs-100)}

::selection{background:var(--c-yellow);color:var(--c-text)}

/* ───── Programm-Schedule ──────────────────────────────────────────── */
.schedule{
  display:grid;grid-template-columns:1fr;gap:var(--sp-4);
  margin:var(--sp-6) 0;
  max-width:none;width:100%;
}
@media (min-width:920px){.schedule{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-3)}}

/* Inside page-content, schedule/program-side/cards take full width */
.page-content > .schedule,
.page-content > .program-side,
.page-content > .cards{max-width:none;width:100%}

/* Language notice on posts in non-default language */
.lang-notice{
  background:var(--c-yellow-soft);border-left:4px solid var(--c-yellow);
  padding:var(--sp-3) var(--sp-4);border-radius:0 var(--rad-2) var(--rad-2) 0;
  margin:var(--sp-5) 0;font-size:var(--fs-200);
}
.lang-notice strong{display:block;font-size:var(--fs-300);margin-bottom:var(--sp-1)}
.lang-notice p{margin:0;color:var(--c-text-soft)}
.lang-notice a{color:var(--c-magenta);font-weight:600}
.lang-hint{
  background:var(--c-yellow-soft);
  padding:var(--sp-3) var(--sp-4);border-radius:var(--rad-2);
  margin:0 0 var(--sp-5);font-size:var(--fs-200);color:var(--c-text);
}

.day{
  background:var(--c-surface);border-radius:var(--rad-2);overflow:hidden;
  box-shadow:var(--c-shadow);display:flex;flex-direction:column;min-width:0;
}
.day-head{
  display:flex;align-items:center;gap:var(--sp-3);
  padding:var(--sp-4);
  background:var(--c-yellow);color:var(--c-text);
}
.day.day-sat .day-head{background:linear-gradient(135deg,var(--c-magenta),#fb7185);color:#fff}
.day.day-sun .day-head{background:linear-gradient(135deg,var(--c-violet),#a78bfa);color:#fff}
.day-num{
  font-family:"Anton",sans-serif;font-size:2.4rem;line-height:.85;
  background:var(--c-text);color:var(--c-yellow);
  padding:.16em .26em;border-radius:var(--rad-1);
  min-width:2ch;text-align:center;flex:0 0 auto;
}
.day.day-sat .day-num{color:#fff;background:rgba(0,0,0,.35)}
.day.day-sun .day-num{color:#fff;background:rgba(0,0,0,.35)}
.day-info{display:flex;flex-direction:column;line-height:1.1;min-width:0}
.day-info strong{font-family:"Anton",sans-serif;font-weight:400;font-size:1.4rem}
.day-info span{font-size:var(--fs-100);opacity:.85}

.day-events{list-style:none;margin:0;padding:0;flex:1}
.ev{
  display:grid;grid-template-columns:48px minmax(0,1fr);gap:var(--sp-3);
  padding:var(--sp-3) var(--sp-4);
  border-top:1px solid var(--c-border);
  align-items:start;
}
.ev:first-child{border-top:0}
.ev time{
  font-family:"Anton",sans-serif;font-weight:400;font-size:1.15rem;line-height:1.1;
  color:var(--c-text-soft);font-variant-numeric:tabular-nums;
  padding-top:.15em;
}
.ev > div{display:flex;flex-direction:column;gap:2px;min-width:0}
.ev strong{font-weight:600;color:var(--c-text);font-size:.95rem;line-height:1.3;overflow-wrap:break-word;hyphens:auto}
.ev .ev-by{font-size:.78rem;color:var(--c-text-soft);line-height:1.35;overflow-wrap:break-word}
.ev a{color:var(--c-magenta)}
.ev a:hover{color:var(--c-text)}
.ev.highlight{background:linear-gradient(90deg,rgba(252,185,0,.18),transparent)}
.ev.highlight time{color:var(--c-magenta)}
.ev.highlight strong::before{content:"★ ";color:var(--c-magenta)}

.program-side{margin-top:var(--sp-6)}

/* On wide screens give more breathing room to events */
@media (min-width:1200px){
  .ev{grid-template-columns:60px minmax(0,1fr);padding:var(--sp-3) var(--sp-5)}
  .day-head{padding:var(--sp-4) var(--sp-5)}
}

/* RTL niceties */
[dir="rtl"]{font-family:"Inter","Cairo","Tahoma",system-ui,sans-serif}
[dir="rtl"] .post-content .post-lead::first-letter{float:right;margin:.05em 0 -.05em .12em}
[dir="rtl"] .tile::after{content:"←";right:auto;left:var(--sp-4)}
[dir="rtl"] .tile:hover::after{transform:translateX(-4px)}
[dir="rtl"] .post-nav .next{text-align:left}
