/* ============================================================
   Sternenstand — Hauptstylesheet (helles Design)
   Ausgeliefert über /cssbundle (gzip + Cache-Header via Perf).

   ACHTUNG: Der Critical-CSS-Block in app/views/layout.php ist eine Teilmenge
   dieser Datei (Tokens, Header, Hero, Answer-Box, Grid-Basis). Änderungen an
   Farben/Kopf/Typo MÜSSEN dort nachgezogen werden, sonst flackert die Seite.

   Kontrast (geprüft gegen --bg #fbfaf8):
     --ink   #14182b -> 15.6:1    --dim  #545b73 -> 6.9:1
     --dim2  #6b7288 -> 5.1:1     --acc  #4338ca -> 8.2:1
     --gold-ink #8a5a00 -> 5.4:1  Feuer #c2410c -> 4.9:1
     Erde #4d7c0f -> 4.6:1        Luft #0369a1 -> 5.6:1
     Wasser #6d28d9 -> 6.7:1
   ============================================================ */

:root{
  /* Flächen */
  --bg:#fbfaf8;
  --bg-tint:#f4f2ee;
  --surface:#ffffff;
  --surface-2:#f7f5f1;
  --surface-3:#efece6;

  /* Text */
  --ink:#14182b;
  --ink-soft:#2c3145;
  --dim:#545b73;
  --dim2:#6b7288;

  /* Linien */
  --line:#e6e2da;
  --line-2:#d8d3c9;
  --line-3:#c9c3b6;

  /* Akzente */
  --acc:#4338ca;
  --acc-hover:#372cb0;
  --acc-tint:#eeecfd;
  --acc-tint-2:#e0ddfa;
  --gold:#c8891a;
  --gold-ink:#8a5a00;
  --gold-tint:#fdf4e3;

  /* Elemente */
  --fire:#c2410c; --earth:#4d7c0f; --air:#0369a1; --water:#6d28d9;

  /* Form */
  --r-xs:8px; --r-sm:12px; --r:16px; --r-lg:22px;
  --sp:clamp(18px,3vw,30px);
  --shadow-1:0 1px 2px rgba(20,24,43,.05), 0 1px 3px rgba(20,24,43,.04);
  --shadow-2:0 2px 4px rgba(20,24,43,.05), 0 8px 20px rgba(20,24,43,.06);
  --shadow-3:0 4px 8px rgba(20,24,43,.06), 0 18px 40px rgba(20,24,43,.09);
  --ring:0 0 0 3px var(--acc-tint-2);

  /* Schrift */
  --fs-body:clamp(16px,.55vw + 15px,17.5px);
  --serif:ui-serif,Georgia,"Iowan Old Style","Times New Roman",serif;
  --sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Inter,Helvetica,Arial,sans-serif;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:84px}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:var(--sans);font-size:var(--fs-body);line-height:1.68;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  font-feature-settings:"kern" 1,"liga" 1;
}
/* zarte Sternentextur, sehr dezent auf hell */
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(1.5px 1.5px at 14% 12%, rgba(67,56,202,.14) 50%, transparent 50%),
    radial-gradient(1.5px 1.5px at 82% 8%,  rgba(200,137,26,.16) 50%, transparent 50%),
    radial-gradient(1.5px 1.5px at 68% 44%, rgba(67,56,202,.10) 50%, transparent 50%),
    radial-gradient(1.5px 1.5px at 26% 72%, rgba(200,137,26,.12) 50%, transparent 50%),
    radial-gradient(1.5px 1.5px at 92% 66%, rgba(67,56,202,.10) 50%, transparent 50%),
    radial-gradient(1100px 620px at 50% -12%, rgba(67,56,202,.045), transparent 72%);
}
main,.site-head,.site-foot{position:relative;z-index:1}

a{color:var(--acc);text-decoration-thickness:1px;text-underline-offset:2px}
a:hover{color:var(--acc-hover)}
img,svg{max-width:100%;height:auto}
strong,b{font-weight:650}

.wrap{width:100%;max-width:1120px;margin:0 auto;padding:0 22px}
.wrap-narrow{max-width:760px}
.skip{position:absolute;left:-9999px;top:0;background:var(--acc);color:#fff;padding:11px 18px;z-index:200;border-radius:0 0 var(--r-xs) 0;font-weight:600}
.skip:focus{left:0}
:focus-visible{outline:2px solid var(--acc);outline-offset:3px;border-radius:5px}

/* ---------------- Kopf ---------------- */
.site-head{
  position:sticky;top:0;z-index:60;
  background:rgba(251,250,248,.88);backdrop-filter:saturate(180%) blur(12px);
  border-bottom:1px solid var(--line);
}
.site-head .bar{display:flex;align-items:center;gap:18px;min-height:66px}
.brand{display:flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none;font-weight:680;font-size:1.1rem;letter-spacing:-.012em;white-space:nowrap}
.brand:hover{color:var(--ink)}
.brand .mark{width:30px;height:30px;flex:0 0 30px}
.nav{margin-left:auto;display:flex;gap:4px;align-items:center}
.nav a{
  color:var(--dim);text-decoration:none;font-size:.95rem;font-weight:550;
  padding:8px 13px;border-radius:99px;transition:background .15s,color .15s;white-space:nowrap
}
.nav a:hover{color:var(--ink);background:var(--surface-2)}
.nav a[aria-current]{color:var(--acc);background:var(--acc-tint);font-weight:640}
.navtoggle{display:none}

/* ---------------- Typografie ---------------- */
h1,h2,h3,h4{font-family:var(--serif);font-weight:600;letter-spacing:-.018em;color:var(--ink)}
h1{font-size:clamp(1.95rem,4.6vw,3rem);line-height:1.13;margin:0 0 .45em;text-wrap:balance}
h2{font-size:clamp(1.4rem,2.7vw,1.85rem);line-height:1.22;margin:2em 0 .55em;text-wrap:balance}
h3{font-size:clamp(1.1rem,1.7vw,1.28rem);line-height:1.3;margin:1.7em 0 .45em}
h4{font-size:1.05rem;margin:1.5em 0 .4em}
h2.h-tight{margin-top:1.15em}
p{margin:0 0 1.1em}
.lede{font-size:clamp(1.08rem,1.5vw,1.24rem);line-height:1.6;color:var(--dim);max-width:60ch;font-weight:400}
.kicker{
  display:inline-flex;align-items:center;gap:7px;
  color:var(--gold-ink);font-family:var(--sans);font-size:.79rem;font-weight:680;
  letter-spacing:.11em;text-transform:uppercase;margin:0 0 .85em
}
.kicker::before{content:"";width:16px;height:1.5px;background:var(--gold);border-radius:2px}
.tagmeta{color:var(--dim);font-size:.95rem;margin:.35em 0 0;font-family:var(--sans)}
.dim{color:var(--dim)}
.small{font-size:.89rem}
.fineprint{color:var(--dim2);font-size:.85rem;border-top:1px solid var(--line);padding-top:18px;margin-top:38px}
main{padding:36px 0 72px;min-height:60vh}

.prose{max-width:68ch;font-size:1.035rem}
.prose p{hyphens:auto;-webkit-hyphens:auto}
.prose h2,.prose h3{max-width:none}
.prose ul,.prose ol{padding-left:1.35em;margin:1em 0}
.prose li{margin:.4em 0}
.prose li::marker{color:var(--acc)}
.prose blockquote{
  margin:1.5em 0;padding:16px 22px;border-left:3px solid var(--gold);
  background:var(--gold-tint);border-radius:0 var(--r-sm) var(--r-sm) 0;color:var(--ink-soft)
}
.prose blockquote p:last-child{margin-bottom:0}
.prose code{background:var(--surface-3);padding:2px 7px;border-radius:6px;font-size:.9em}
.prose hr{border:0;border-top:1px solid var(--line);margin:2.4em 0}
.prose table{width:100%;border-collapse:collapse;margin:1.4em 0;font-size:.95rem;font-family:var(--sans)}
.prose th{text-align:left;background:var(--surface-2);padding:10px 13px;border-bottom:2px solid var(--line-2);font-size:.83rem;text-transform:uppercase;letter-spacing:.05em;color:var(--dim)}
.prose td{padding:10px 13px;border-bottom:1px solid var(--line)}
.prose a{font-weight:520}

/* ---------------- Hero ---------------- */
.hero{padding:14px 0 4px}
.hero h1{max-width:24ch}
.hero .lede{margin-top:.2em}

/* ---------------- Answer-Box (GEO) ---------------- */
.answer-box{
  background:var(--surface);
  border:1px solid var(--line-2);border-left:4px solid var(--gold);
  border-radius:var(--r);padding:var(--sp);margin:28px 0 10px;
  box-shadow:var(--shadow-2);
}
.ab-title{
  font-family:var(--sans);margin:0 0 .55em;font-size:.82rem;font-weight:700;
  color:var(--gold-ink);letter-spacing:.1em;text-transform:uppercase
}
.ab-text{margin:0;font-size:1.09rem;line-height:1.62;color:var(--ink-soft)}
.answer-box .ab-text a{font-weight:560}

/* ---------------- Sky-Strip ---------------- */
.sky-strip{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(158px,1fr));gap:14px;
  margin-top:20px;padding-top:18px;border-top:1px solid var(--line)
}
.ss-item{display:flex;align-items:center;gap:11px}
.ss-sym{
  font-size:1.2rem;color:var(--acc);width:36px;height:36px;flex:0 0 36px;
  display:grid;place-items:center;background:var(--acc-tint);border-radius:10px
}
.ss-item>span:last-child{display:flex;flex-direction:column;line-height:1.4;min-width:0}
.ss-item b{
  font-family:var(--sans);font-size:.71rem;text-transform:uppercase;letter-spacing:.08em;
  color:var(--dim2);font-weight:680
}

/* ---------------- Sternzeichen-Karten ---------------- */
.sign-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(288px,1fr));gap:15px;margin:20px 0 8px;align-items:stretch}
.sign-card{
  display:flex;align-items:center;gap:15px;text-decoration:none;color:var(--ink);
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r);
  padding:17px;box-shadow:var(--shadow-1);height:100%;
  transition:border-color .17s,transform .17s,box-shadow .17s
}
.sign-card:hover{border-color:var(--el,var(--acc));transform:translateY(-3px);box-shadow:var(--shadow-3);color:var(--ink)}
.sign-card.is-season{border-color:var(--gold);box-shadow:var(--shadow-1),0 0 0 1px var(--gold)}
.sc-badge{
  display:inline-flex;align-items:center;align-self:flex-start;gap:5px;margin-top:3px;
  background:var(--gold-tint);color:var(--gold-ink);border:1px solid #f0dcb0;
  font-family:var(--sans);font-size:.7rem;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;padding:2px 8px;border-radius:99px
}
.glyph{
  font-size:1.85rem;line-height:1;color:var(--el,var(--acc));
  width:54px;height:54px;flex:0 0 54px;display:grid;place-items:center;
  background:var(--tint,var(--acc-tint));
  border:1px solid color-mix(in srgb,var(--el,#4338ca) 22%,transparent);
  border-radius:14px
}
.glyph-xl{font-size:3.2rem;width:88px;height:88px;flex:0 0 88px;border-radius:20px}
.sc-body{display:flex;flex-direction:column;gap:3px;min-width:0}
.sc-body strong{font-size:1.06rem;font-weight:640;letter-spacing:-.01em}
.sc-date{font-size:.81rem;color:var(--dim2);font-variant-numeric:tabular-nums}
.sc-head{font-size:.92rem;color:var(--dim);overflow-wrap:break-word;line-height:1.45;text-wrap:pretty}

.sign-head{display:flex;align-items:center;gap:22px;margin:8px 0 6px;flex-wrap:wrap}
.sign-head h1{margin:.08em 0 0}

/* ---------------- Zeichen-Schnellwahl (sticky) ---------------- */
.signbar{
  position:sticky;top:66px;z-index:40;margin:0 0 22px;
  background:rgba(251,250,248,.94);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line)
}
.signbar-inner{display:flex;gap:7px;overflow-x:auto;padding:11px 0;scrollbar-width:thin;scroll-snap-type:x proximity}
.signbar-inner::-webkit-scrollbar{height:5px}
.signbar-inner::-webkit-scrollbar-thumb{background:var(--line-3);border-radius:3px}
.signbar a{
  display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;scroll-snap-align:start;
  text-decoration:none;color:var(--dim);background:var(--surface);
  border:1px solid var(--line);border-radius:99px;padding:7px 14px;
  font-size:.88rem;font-weight:550;transition:all .15s
}
.signbar a .g{color:var(--el,var(--acc));font-size:1.02rem}
.signbar a:hover{border-color:var(--line-3);color:var(--ink);background:var(--surface-2)}
.signbar a[aria-current]{background:var(--acc);border-color:var(--acc);color:#fff;font-weight:640}
.signbar a[aria-current] .g{color:#fff}

/* ---------------- Fakten-Karten ---------------- */
.fact-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(212px,1fr));gap:14px;margin:22px 0}
.fc{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r);
  padding:17px 18px;display:flex;flex-direction:column;gap:5px;box-shadow:var(--shadow-1)
}
.fc-label{
  font-family:var(--sans);font-size:.73rem;text-transform:uppercase;letter-spacing:.09em;
  color:var(--gold-ink);font-weight:700
}
.fc-val{font-size:1.14rem;font-weight:640;line-height:1.32;letter-spacing:-.01em}
.fc-note{font-size:.875rem;color:var(--dim);line-height:1.45}

/* ---------------- Aspekte ---------------- */
.asp-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(292px,1fr));gap:14px;margin:18px 0}
.asp{
  display:flex;gap:15px;align-items:flex-start;background:var(--surface);
  border:1px solid var(--line);border-radius:var(--r);padding:17px;box-shadow:var(--shadow-1)
}
.asp p{margin:.25em 0 0}
.asp-sym{
  font-size:1.25rem;color:var(--acc);width:40px;height:40px;flex:0 0 40px;
  display:grid;place-items:center;background:var(--acc-tint);border-radius:11px
}
.asp strong{font-size:1.01rem}
ul.aspects{list-style:none;padding:0;margin:14px 0}
ul.aspects li{display:flex;gap:11px;align-items:baseline;padding:11px 2px;border-bottom:1px solid var(--line)}
ul.aspects li>span:first-child{color:var(--acc);font-size:1.1rem}

/* ---------------- Ereignisse ---------------- */
.events{list-style:none;padding:0;margin:18px 0}
.events li{
  display:flex;gap:16px;align-items:baseline;flex-wrap:wrap;
  padding:15px 0;border-bottom:1px solid var(--line)
}
.events li:first-child{border-top:1px solid var(--line)}
.ev-date{
  color:var(--gold-ink);font-family:var(--sans);font-size:.83rem;font-weight:680;
  min-width:9.5ch;letter-spacing:.02em;font-variant-numeric:tabular-nums
}
.ev-text{font-weight:540;color:var(--ink)}

/* ---------------- Tabellen ---------------- */
.tbl{width:100%;border-collapse:collapse;margin:18px 0;font-size:.96rem}
.tbl th{
  text-align:left;font-family:var(--sans);font-size:.74rem;text-transform:uppercase;
  letter-spacing:.08em;color:var(--dim);font-weight:700;padding:11px 13px;
  border-bottom:2px solid var(--line-2);background:var(--surface-2)
}
.tbl th:first-child{border-top-left-radius:var(--r-xs)}
.tbl th:last-child{border-top-right-radius:var(--r-xs)}
.tbl td{padding:12px 13px;border-bottom:1px solid var(--line);vertical-align:top}
.tbl tbody tr{transition:background .12s}
.tbl tbody tr:hover{background:var(--surface-2)}
.tbl tr.is-today{background:var(--gold-tint)}
.tbl tr.is-today td:first-child{box-shadow:inset 3px 0 0 var(--gold)}
.psym,.asym{color:var(--acc);font-size:1.05rem}
.retro{color:var(--fire);font-weight:650;white-space:nowrap}
.el-dot{display:inline-block;width:9px;height:9px;border-radius:50%;vertical-align:baseline}
.meter{
  display:inline-block;width:56px;height:7px;border-radius:4px;background:var(--surface-3);
  position:relative;vertical-align:middle;margin-right:8px;overflow:hidden
}
.meter::after{content:"";position:absolute;inset:0 auto 0 0;width:var(--v,0);background:var(--gold);border-radius:4px}

/* ---------------- Lebensbereiche ---------------- */
.area-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(262px,1fr));gap:14px;margin:18px 0}
.area{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:18px;box-shadow:var(--shadow-1)}
.area strong{
  font-family:var(--sans);color:var(--gold-ink);font-size:.76rem;text-transform:uppercase;
  letter-spacing:.09em;display:block;margin-bottom:8px;font-weight:700
}
.area p{margin:0;font-size:.97rem;color:var(--ink-soft)}

.daybars{display:grid;gap:11px;margin:18px 0}
.daybar{
  display:flex;gap:18px;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--r-sm);padding:15px 18px;box-shadow:var(--shadow-1)
}
.db-day{color:var(--acc);font-weight:650;font-size:.88rem;min-width:10.5ch;flex:0 0 10.5ch;font-family:var(--sans)}
.daybar p{margin:0;font-size:.97rem;color:var(--ink-soft)}

/* ---------------- Stärken / Reibung ---------------- */
.pc{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:18px 0}
.pc-col{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:19px 21px;box-shadow:var(--shadow-1)}
.pc-col h3{margin:0 0 .6em;font-size:1rem;font-family:var(--sans);font-weight:680;display:flex;align-items:center;gap:8px}
.pc-col:first-child h3{color:var(--earth)}
.pc-col:last-child h3{color:var(--fire)}
.pc-col h3::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;flex:0 0 8px}
.pc-col ul{margin:0;padding-left:1.25em}
.pc-col li{margin:.42em 0;font-size:.97rem;color:var(--ink-soft)}
.pc-col:first-child li::marker{color:var(--earth)}
.pc-col:last-child li::marker{color:var(--fire)}

/* ---------------- Element-Blöcke ---------------- */
.el-block{margin:30px 0}
.el-block h2{display:flex;align-items:center;gap:11px;margin-bottom:.45em}
.el-block .el-dot{width:13px;height:13px}

/* ---------------- Mond ---------------- */
.moon-hero{display:flex;justify-content:center;margin-top:22px}
.moon-disc{
  width:104px;height:104px;border-radius:50%;
  background:radial-gradient(circle at 36% 32%,#fffdf6,#f0e9d6 58%,#d6cdb8 100%);
  box-shadow:0 0 0 1px var(--line-2),0 10px 30px rgba(20,24,43,.12),inset -20px 0 30px rgba(20,24,43,.13);
}

/* ---------------- FAQ ---------------- */
.faq{margin:40px 0 10px}
.faq details{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);
  margin:10px 0;overflow:hidden;box-shadow:var(--shadow-1);transition:box-shadow .17s
}
.faq details[open]{box-shadow:var(--shadow-2)}
.faq summary{
  cursor:pointer;padding:16px 52px 16px 19px;font-weight:620;list-style:none;position:relative;
  font-size:1.005rem;color:var(--ink)
}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--acc)}
.faq summary::after{
  content:"";position:absolute;right:19px;top:50%;width:11px;height:11px;
  border-right:2px solid var(--acc);border-bottom:2px solid var(--acc);
  transform:translateY(-70%) rotate(45deg);transition:transform .2s
}
.faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq details[open] summary{border-bottom:1px solid var(--line)}
.fa{padding:16px 19px;color:var(--ink-soft)}
.fa p:last-child{margin-bottom:0}

/* ---------------- Buttons ---------------- */
.cta-row{display:flex;gap:13px;flex-wrap:wrap;margin:30px 0}
.btn{
  display:inline-flex;align-items:center;gap:9px;background:var(--acc);color:#fff;
  text-decoration:none;font-weight:620;padding:13px 23px;border-radius:99px;
  font-size:.97rem;font-family:var(--sans);box-shadow:var(--shadow-1);
  transition:background .16s,transform .16s,box-shadow .16s
}
.btn:hover{background:var(--acc-hover);color:#fff;transform:translateY(-1px);box-shadow:var(--shadow-2)}
.btn-ghost{background:var(--surface);color:var(--ink);border:1px solid var(--line-2)}
.btn-ghost:hover{background:var(--surface-2);color:var(--ink);border-color:var(--line-3)}
.btn svg{width:16px;height:16px}

/* ---------------- Zeichen-Umschalter ---------------- */
.sign-switch{margin-top:40px}
.switch-row{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}
.switch-row a{
  display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:var(--dim);
  background:var(--surface);border:1px solid var(--line);border-radius:99px;
  padding:8px 15px;font-size:.91rem;font-weight:540;transition:all .15s
}
.switch-row a:hover{border-color:var(--acc);color:var(--acc);background:var(--acc-tint)}
.switch-row a span{color:var(--el,var(--acc));font-size:1.05rem}
.switch-row a:hover span{color:var(--acc)}

/* ---------------- Tages-Navigation ---------------- */
.daynav{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin:30px 0 0;padding:16px 0;border-top:1px solid var(--line)
}
.daynav a,.daynav span{
  display:inline-flex;align-items:center;gap:8px;text-decoration:none;
  font-size:.92rem;font-weight:560;color:var(--acc);font-family:var(--sans)
}
.daynav span{color:var(--dim2);font-weight:450}
.daynav .dn-mid{color:var(--dim);font-weight:600}

/* ---------------- Breadcrumbs ---------------- */
.crumbs{
  font-family:var(--sans);font-size:.86rem;color:var(--dim2);margin:0 0 18px;
  display:flex;flex-wrap:wrap;gap:8px;align-items:center
}
.crumbs a{color:var(--dim);text-decoration:none;font-weight:520}
.crumbs a:hover{color:var(--acc);text-decoration:underline}
.crumbs .sep{color:var(--line-3)}
.crumbs [aria-current]{color:var(--ink);font-weight:580}

/* ---------------- Hinweis ---------------- */
.notice{
  background:var(--acc-tint);border:1px solid var(--acc-tint-2);border-left:4px solid var(--acc);
  border-radius:var(--r-sm);padding:16px 20px;margin:20px 0;color:var(--ink-soft)
}
.notice p{margin:0}

/* ---------------- Listen ---------------- */
ul.plain{list-style:none;padding:0;margin:.7em 0}
ul.plain li{margin:.45em 0}
ul.cols{columns:2;column-gap:38px}
ul.plain a{text-decoration:none;color:var(--dim);font-weight:520}
ul.plain a:hover{color:var(--acc);text-decoration:underline}

/* ---------------- Fuß ---------------- */
.site-foot{border-top:1px solid var(--line);background:var(--bg-tint);padding:44px 0 34px;margin-top:60px}
.foot-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:32px}
.foot-grid strong{
  display:block;margin-bottom:12px;font-family:var(--sans);font-size:.76rem;
  text-transform:uppercase;letter-spacing:.1em;color:var(--gold-ink);font-weight:700
}
.foot-grid p{font-size:.93rem;margin:0;max-width:40ch;color:var(--dim)}
.foot-brand{display:flex;align-items:center;gap:9px;margin-bottom:10px;font-family:var(--serif);font-size:1.12rem;font-weight:620;color:var(--ink)}
.foot-brand svg{width:24px;height:24px}
.site-foot .fineprint{margin-top:34px;color:#5c6480}  /* 5,0:1 auf --bg-tint, statt dim2 4,3:1 */

/* ---------------- Mobile ---------------- */
@media(max-width:920px){
  .foot-grid{grid-template-columns:1fr 1fr}
  .pc{grid-template-columns:1fr}
}
@media(max-width:780px){
  html{scroll-padding-top:70px}
  .nav{
    position:fixed;inset:66px 0 auto;flex-direction:column;gap:2px;
    background:var(--bg);padding:14px 22px 20px;border-bottom:1px solid var(--line);
    display:none;box-shadow:var(--shadow-3);max-height:calc(100vh - 66px);overflow-y:auto
  }
  .nav.open{display:flex}
  .nav a{padding:14px 14px;font-size:1.03rem;border-radius:var(--r-xs)}
  .navtoggle{
    display:inline-flex;align-items:center;gap:8px;margin-left:auto;background:var(--surface);
    border:1px solid var(--line-2);color:var(--ink);border-radius:99px;padding:9px 15px;
    font-size:.91rem;font-weight:600;font-family:var(--sans);cursor:pointer
  }
  .navtoggle .bars{display:grid;gap:3px;width:14px}
  .navtoggle .bars i{display:block;height:1.7px;background:currentColor;border-radius:2px}
  .signbar{top:66px}
  ul.cols{columns:1}
  .sign-grid{grid-template-columns:1fr}
  .sign-head{gap:16px}
  .glyph-xl{font-size:2.4rem;width:64px;height:64px;flex:0 0 64px;border-radius:16px}
  .daybar{flex-direction:column;gap:6px}
  .db-day{flex-basis:auto}
  /* Tabellen als Karten */
  .tbl-cards thead{display:none}
  .tbl-cards,.tbl-cards tbody,.tbl-cards tr,.tbl-cards td{display:block;width:100%}
  .tbl-cards tr{
    background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);
    margin-bottom:12px;padding:6px 4px;box-shadow:var(--shadow-1)
  }
  .tbl-cards td{
    border:0;display:flex;justify-content:space-between;gap:16px;
    padding:8px 14px;text-align:right
  }
  .tbl-cards td::before{
    content:attr(data-l);color:var(--dim2);font-family:var(--sans);font-size:.76rem;
    text-transform:uppercase;letter-spacing:.07em;text-align:left;flex:0 0 auto;font-weight:680
  }
  .tbl-cards tr:hover{background:var(--surface)}
  .tbl-cards tr.is-today{background:var(--gold-tint)}
  .daynav{flex-wrap:wrap;gap:8px}
  .daynav .dn-mid{order:-1;flex:0 0 100%;text-align:center}
}
/* Touch-Ziele: auf Zeigergeräten ohne Hover mind. 44px Trefferfläche.
   Inline-Links in Fließtext bleiben inline — dort wird die Fläche über
   negative Margins vergrößert, damit das Layout unverändert bleibt. */
@media(hover:none),(max-width:780px){
  .brand{min-height:44px}
  .navtoggle{min-height:44px;padding:11px 16px}
  ul.plain li{margin:0}
  ul.plain a{display:flex;align-items:center;min-height:44px;padding:2px 0}
  .crumbs a,.crumbs [aria-current]{min-height:40px;display:inline-flex;align-items:center}
  .faq summary{padding-top:19px;padding-bottom:19px;min-height:44px}
  .switch-row a,.signbar a{min-height:44px}
  .daynav a,.daynav span{min-height:44px}
  /* Links in Datentabellen: Fläche vergrößern, Zeilenhöhe unverändert */
  .tbl td a{display:inline-block;padding:11px 6px;margin:-11px -6px}
  .nav a{min-height:48px;display:flex;align-items:center}
}
@media(max-width:540px){
  .foot-grid{grid-template-columns:1fr;gap:26px}
  .events li{gap:5px}
  .ev-date{min-width:100%}
  .answer-box{padding:19px}
}

@media(prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important;scroll-behavior:auto!important}
}

/* ---------------- Druck ---------------- */
@media print{
  body::before,.site-head,.signbar,.nav,.cta-row,.sign-switch,.daynav{display:none!important}
  body{background:#fff;color:#000;font-size:11pt}
  .answer-box,.fc,.sign-card,.asp,.area{box-shadow:none;border:1px solid #ccc}
  a{color:#000;text-decoration:underline}
  a[href^="http"]::after{content:" (" attr(href) ")";font-size:9pt;color:#555}
}
