/* proLIBRIS: Feiertags-Specials für die Startseite (Gruß über der Überschrift, Satz vom Team, Zeichnung hinter den Büchern).
   Am Computer ist der Kopfbereich hell, am Handy dunkelblau: dafür gibt es je eigene Farbtöne. */
:root{
  --fx-gold:#85601d; --fx-gold-line:#b48c3c; --fx-gold-fill:rgb(201 162 77/.14);
  --fx-gruen:#2d6247; --fx-nadel:#2f6b4c; --fx-nadel-2:#4a8a64; --fx-tannenast:#5a4632;
  --fx-oster:#4a6d2c; --fx-ast:#7a4e3a; --fx-kaetzchen:#fbfbf8; --fx-kaetzchen-rand:#d3d8d6; --fx-kaetzchen-line:#b9c0c3;
  --fx-blau:#5b84c0; --fx-rot:#c8102e;
  --fx-glow:rgb(212 175 95/.3);
}
@media (max-width:768px){
  .hero{
    --fx-gold:#e6c883; --fx-gold-line:#d9b96f; --fx-gold-fill:rgb(230 200 131/.12);
    --fx-gruen:#a6d0b4; --fx-nadel:#7fb594; --fx-nadel-2:#a6d0b4; --fx-tannenast:#b59b82;
    --fx-oster:#c2df9c; --fx-ast:#c9a68e; --fx-kaetzchen:#fff; --fx-kaetzchen-rand:rgb(220 228 236/.75); --fx-kaetzchen-line:rgb(255 255 255/.35);
    --fx-blau:#9dbbe8; --fx-glow:rgb(230 200 131/.16);
  }
}
[data-fest="advent"] .hero{--fest-ink:var(--fx-gruen);--fx-glow:rgb(212 175 95/.2)}
[data-fest="weihnachten"] .hero,[data-fest="silvester"] .hero,[data-fest="neujahr"] .hero{--fest-ink:var(--fx-gold)}
[data-fest="ostern"] .hero{--fest-ink:var(--fx-oster);--fx-glow:rgb(196 221 140/.32)}
[data-fest="nationalfeiertag"] .hero{--fest-ink:var(--text)}
[data-fest="allerheiligen"] .hero{--fest-ink:var(--muted)}
@media (max-width:768px){
  [data-fest="ostern"] .hero{--fx-glow:rgb(194 223 156/.14)}
  [data-fest="nationalfeiertag"] .hero{--fest-ink:#fff}
  [data-fest="allerheiligen"] .hero{--fest-ink:#c5d5ea}
}

/* Gruß über der Überschrift */
.hero p.fest-gruss{display:flex;align-items:center;gap:10px;max-width:none;margin:0 0 14px;font-size:.78rem;font-weight:650;letter-spacing:.16em;text-transform:uppercase;color:var(--fest-ink);animation:fx-ein .8s var(--ease) both}
.fest-zeichen{width:20px;height:20px;flex:none;overflow:visible}
.fest-zeichen polygon{fill:var(--fx-gold-fill);stroke:var(--fx-gold-line);stroke-width:1.2;stroke-linejoin:round}
.fest-zeichen .linien,.fest-zeichen line{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}
.fest-zeichen .flamme{fill:var(--fx-gold-line)}
.fest-zeichen .knospe{fill:var(--fx-kaetzchen);stroke:var(--fx-kaetzchen-line);stroke-width:1}
.fest-kerzen{width:44px}
.fest-kerzen rect{fill:none;stroke:currentColor;stroke-width:1.2}
.fest-flagge{width:24px;height:16px}
.fest-flagge .weiss{fill:#fff;stroke:var(--line-strong);stroke-width:1}
.fest-flagge .rot{fill:var(--fx-rot)}

/* Satz vom Team unter den Suchbeispielen */
.fest-text{max-width:46ch;margin-top:26px;animation:fx-ein .8s var(--ease) .15s both}
.fest-text::before{content:"";display:block;width:48px;height:1px;margin-bottom:14px;background:var(--fest-ink);opacity:.55}
.hero .fest-text p{max-width:none;margin:0;font-size:.95rem;line-height:1.5;color:var(--muted)}
.hero .fest-text .fest-team{margin-top:6px;font-size:.88rem;font-weight:600;color:var(--fest-ink)}
@media (max-width:768px){
  .hero .fest-text p{color:#c5d5ea}
  .hero .fest-text .fest-team{color:var(--fest-ink)}
  [data-fest="advent"] .fest-text,[data-fest="ostern"] .fest-text,[data-fest="weihnachten"] .fest-text{margin-bottom:30px}   /* Zweige und Stern ragen über den Bücherstapel hinaus */
}

/* Zeichnung hinter dem Bücherstapel */
.hero .stack{isolation:isolate}
.fest-deko{position:absolute;inset:-14% -8% -4%;z-index:-1;pointer-events:none}
.fest-deko svg{display:block;width:100%;height:100%;overflow:visible}
.fx-glow-a{stop-color:var(--fx-glow)}
.fx-glow-b{stop-color:var(--fx-glow);stop-opacity:0}
.fx-stern{fill:var(--fx-gold-fill);stroke:var(--fx-gold-line);stroke-width:1.4;stroke-linejoin:round}
.fx-funke{fill:var(--fx-gold-line);opacity:.6;animation:fx-funkeln 5s ease-in-out infinite}
.fx-feuer line{stroke:var(--fx-gold-line);stroke-width:1.6;stroke-linecap:round;stroke-dasharray:1;animation:fx-zeichnen 1.6s var(--ease) var(--d) both}
.fx-feuer circle{fill:var(--fx-gold-line);animation:fx-ein .6s ease calc(var(--d) + .9s) both}
.fx-feuer-2 line{stroke:var(--fx-blau)}
.fx-feuer-2 circle{fill:var(--fx-blau)}
.fx-ast{fill:none;stroke:var(--fx-ast);stroke-width:2.2;stroke-linecap:round}
.fx-kaetzchen{fill:url(#fxKz);stroke:var(--fx-kaetzchen-line);stroke-width:.6}
.fx-kz-a{stop-color:var(--fx-kaetzchen)}
.fx-kz-b{stop-color:var(--fx-kaetzchen-rand)}
.fx-schuppe{fill:none;stroke:var(--fx-ast);stroke-width:1.6;stroke-linecap:round}
.fx-nadel line{stroke:var(--fx-nadel);stroke-width:1.5;stroke-linecap:round}
.fx-nadel-2 line{stroke:var(--fx-nadel-2)}
[data-fest="advent"] .fest-deko{--fx-ast:var(--fx-tannenast)}

/* Nationalfeiertag: rot-weiß-rotes Band an der Unterkante der Kopfzeile, läuft beim Scrollen mit */
[data-fest="nationalfeiertag"] .site-header{box-shadow:0 3px 0 var(--fx-rot),0 6px 0 #fff,0 9px 0 var(--fx-rot)}
@media (max-width:768px){
  /* am Handy klappt beim Scrollen die Suche unter der Kopfzeile auf: das Band wandert mit nach unten */
  [data-fest="nationalfeiertag"] body[data-primary][data-hds="on"] .hd-search{box-shadow:0 3px 0 var(--fx-rot),0 6px 0 #fff,0 9px 0 var(--fx-rot)}
}

@keyframes fx-ein{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@keyframes fx-zeichnen{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes fx-funkeln{0%,100%{opacity:.3}50%{opacity:.8}}
@media (prefers-reduced-motion:reduce){
  .fest-gruss,.fest-text,.fx-feuer line,.fx-feuer circle,.fx-funke{animation:none!important}
}

/* Vorschau-Leiste: nur in der lokalen Kopie */
.fest-vorschau{position:fixed;left:16px;bottom:16px;z-index:100;width:min(270px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-lg);font-size:.85rem}
.fest-vorschau summary{padding:10px 14px;font-weight:700;cursor:pointer}
.fv-body{display:grid;gap:2px;padding:0 8px 12px}
.fest-vorschau button{display:grid;gap:1px;padding:6px 10px;text-align:left;font:inherit;color:inherit;background:none;border:1px solid transparent;border-radius:6px;cursor:pointer}
.fest-vorschau button small{font-size:.76rem;color:var(--muted)}
.fest-vorschau button:hover{background:var(--surface-2)}
.fest-vorschau button[aria-pressed="true"]{background:var(--surface-2);border-color:var(--line-strong);font-weight:600}
.fest-vorschau label{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:8px 10px 0;color:var(--muted)}
.fest-vorschau input{font:inherit;padding:4px 6px;color:var(--text);background:var(--surface);border:1px solid var(--line-strong);border-radius:6px}
.fv-status{margin:8px 10px 0;font-size:.8rem;color:var(--muted)}
