/*
Theme Name: Rüdersdorfer Winter
Author: Adventszauber-Projekt
Description: Märchenhaftes Winter-Theme für den Rüdersdorfer Adventszauber.
Version: 0.7.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: ruedersdorfer-winter
*/

:root {
  --night:#142944;
  --deep:#0c1930;
  --spruce:#25483e;
  --cream:#f8f0de;
  --snow:#f5ecde;
  --gold:#e6b968;
  --red:#ac5146;
  --paper:#fff9ed;
  --ink:#213149;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.screen-reader-text:focus{position:fixed!important;z-index:9999;top:10px;left:10px;width:auto;height:auto;margin:0;padding:.75rem 1rem;overflow:visible;clip:auto;background:#fff;color:#111}
body{margin:0;background:var(--deep);color:var(--cream);font:16px/1.7 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
a{color:inherit}
a:focus-visible,button:focus-visible{outline:3px solid #ffe4a3;outline-offset:4px}
img{max-width:100%;height:auto}
.site-shell{min-height:100vh;overflow:hidden;background:radial-gradient(ellipse at 50% 5%,#2d4c71 0%,var(--night) 36%,var(--deep) 85%)}
.site-header,.site-footer,.section-wrap{width:min(1180px,calc(100% - 2rem));margin-inline:auto}
.site-header{position:relative;z-index:2;display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1.6rem 0}
.site-brand{display:flex;gap:.65rem;align-items:center;font-family:Georgia,"Times New Roman",serif;font-size:1.4rem;font-weight:700;text-decoration:none}
.site-nav{display:flex;flex-wrap:wrap;gap:1.3rem;font-size:.9rem;font-weight:600}
.site-nav a{text-decoration:none;opacity:.9}
.site-nav a:hover{text-decoration:underline}
.hero{text-align:center;padding:2.5rem 1rem 0;position:relative;isolation:isolate}
.hero::before{content:"";pointer-events:none;position:absolute;inset:-90px 0 0;background-image:radial-gradient(#fff 1px,transparent 1px),radial-gradient(#fff9d2 .8px,transparent 1px);background-size:69px 71px,109px 113px;background-position:0 0,34px 39px;opacity:.48;z-index:-1}
.hero__kicker{color:#efcd91;letter-spacing:.25em;text-transform:uppercase;font-size:.76rem;font-weight:800}
.hero__logo-panel{width:min(1020px,100%);margin:0 auto 1.75rem;background:#fff;border-radius:15px;overflow:hidden;box-shadow:0 14px 46px #09162960}
.hero__logo-heading{margin:0;line-height:0}
.hero__logo{display:block;width:100%;height:auto;object-fit:contain}
.hero__lead{max-width:640px;margin:0 auto;font-size:clamp(1.03rem,2.2vw,1.3rem);color:#e7e9e5}
.hero__ornament{display:block;font-size:2.2rem;color:var(--gold);margin:1rem 0 0}
.winter-panorama{position:relative;margin:0 auto -3px;max-width:1450px}
.winter-panorama img{display:block;width:100%;height:auto}
.calendar-section{position:relative;background:linear-gradient(180deg,#e4e6e5 0%,#f7f0df 14%,#f8f0df 100%);color:var(--ink);padding:3rem 0 4rem}
.calendar-section::before{content:"";position:absolute;top:0;left:0;right:0;height:17px;background:radial-gradient(ellipse at 50% 0,#d8e6e8 0 50%,transparent 55%) 0 0/45px 20px repeat-x}
.section-eyebrow{font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;font-weight:900;color:#a25b3d;margin:0 0 .6rem}
.section-title{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.15rem,5vw,3.35rem);line-height:1.12;letter-spacing:-.035em;margin:0 0 1rem}
.section-description{max-width:720px;margin:0 0 2rem;color:#4c5a68}
.calendar-frame{position:relative;background:linear-gradient(0deg,rgba(17,38,62,.8),rgba(16,35,61,.76)),url("assets/images/ruedersdorf-winter.svg") center 58%/cover;border:8px solid #d7b174;border-radius:30px;padding:clamp(.9rem,3.7vw,3rem);box-shadow:0 12px 0 #ac8755,0 30px 65px #18243b25}
.calendar-frame::before{content:"✦ ✧ ✦";display:block;text-align:center;color:#f6d599;letter-spacing:1.5rem;margin-bottom:1rem}
.calendar-frame .rda-calendar{grid-template-columns:repeat(6,minmax(0,1fr));gap:1.15rem}
.calendar-frame .rda-door:nth-child(6n+2){transform:translateY(7px)}
.calendar-frame .rda-door:nth-child(6n+4){transform:translateY(-5px)}
.calendar-frame .rda-door__face{min-height:132px;position:relative;background:linear-gradient(150deg,#713e32,#5c302e);border:2px solid #dcb878;box-shadow:inset 0 0 0 5px #8e5c45,0 8px 18px #08152888;border-radius:11px;color:#f9de9e;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}
.calendar-frame .rda-door__face::before{content:"✧";position:absolute;top:5px;right:9px;color:#f3d3a3;font-size:.9rem;opacity:.8}
.calendar-frame .rda-door__face:hover{transform:translateY(-4px);background:linear-gradient(150deg,#996044,#784234);box-shadow:0 0 20px #ffe0a96b,inset 0 0 0 5px #a76f52}
.calendar-frame .rda-door__number{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.8rem,4vw,3.3rem);font-weight:700;text-shadow:0 2px 2px #251615}
.calendar-frame .rda-door__caption{font-size:.69rem;line-height:1.25;max-width:85px;color:#ffe7c8}
.calendar-frame .rda-door--locked .rda-door__face{background:linear-gradient(150deg,#5c4949,#4b393d);opacity:.87}
.calendar-frame .rda-door--today .rda-door__face{outline:3px solid #ffe29f;outline-offset:2px;box-shadow:0 0 25px #ffe0a9ad}
.calendar-frame .rda-story{box-shadow:0 15px 40px #06152688}
.events-section{padding:5rem 0;background:linear-gradient(160deg,#143e38,#0f2a30);color:#f5f0e4}
.events-section .section-eyebrow{color:#d5c38c}
.events-section .section-description{color:#d9e6df}
.events-section .rda-event{box-shadow:0 14px 30px #06181b33}
.about-section{padding:5rem 0;background:#f8f0df;color:var(--ink)}
.about-card{display:grid;grid-template-columns:2fr 1fr;align-items:center;gap:2rem;border:1px solid #e5d5b5;border-radius:26px;padding:clamp(1.5rem,4vw,3rem);background:var(--paper)}
.about-card p{max-width:650px}
.about-symbol{text-align:center;font-size:5rem;line-height:1.2}
.site-footer{padding:2.5rem 0;display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;color:#d0d9df;font-size:.85rem}
.site-footer a{margin-left:1rem}
.content-page{min-height:50vh;padding:4rem 1rem;max-width:800px;margin:auto}
.content-page h1{font-family:Georgia,serif;font-size:clamp(2.2rem,5vw,3.2rem)}
.content-page a{color:#f5cf82}
.calendar-missing{background:#fff7e8;color:#253c51;border-radius:20px;padding:2rem}
@media(max-width:850px){.calendar-frame .rda-calendar{grid-template-columns:repeat(4,minmax(0,1fr))}.calendar-frame .rda-door:nth-child(n){transform:none}.site-header{flex-wrap:wrap}.winter-panorama{min-width:700px;left:50%;transform:translateX(-50%);width:100%}}
@media(max-width:600px){.hero{padding-top:1.4rem}.hero__logo-panel{margin-bottom:1.25rem;border-radius:10px}.site-nav{gap:.8rem;font-size:.81rem}.site-brand{font-size:1.05rem}.winter-panorama{min-width:640px}.calendar-frame{border-width:5px;padding:1rem}.calendar-frame .rda-calendar{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.calendar-frame .rda-door__face{min-height:105px;padding:.45rem;box-shadow:inset 0 0 0 3px #8e5c45,0 5px 12px #08152888}.calendar-frame .rda-door__number{font-size:1.85rem}.calendar-frame .rda-door__caption{font-size:.56rem}.about-card{grid-template-columns:1fr}.about-symbol{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.rda-door__face{transition:none!important}}


/* V0.3 — echte transparente Logo-Datei, bewegte Schneeflocken und leiser Lichterbaum */
.winter-stage{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:
    radial-gradient(ellipse at 50% 0%,rgba(104,139,190,.3),transparent 65%),
    linear-gradient(180deg,#0c1d38 0%,#172e4d 53%,#334b67 100%);
}
.winter-stage .hero,
.winter-stage .winter-panorama{z-index:1}
.hero{padding-top:clamp(.4rem,1.8vw,1.5rem)}
.hero__logo-panel{
  width:min(790px,94vw);
  max-width:100%;
  margin:0 auto .35rem;
  background:transparent;
  border:0;
  border-radius:0;
  overflow:visible;
  box-shadow:none;
  filter:drop-shadow(0 9px 14px rgba(7,12,30,.37));
}
.hero__logo{width:100%;height:auto;object-fit:contain}
.hero__kicker{margin-top:-.25rem;color:#ffe3af;text-shadow:0 1px 9px #101e35}
.hero__lead{max-width:730px;text-shadow:0 2px 12px #0c182c;font-size:clamp(1rem,2vw,1.27rem)}
.hero__ornament{margin:.5rem 0 0;opacity:.75}
.winter-panorama{
  max-width:1500px;
  margin:0 auto;
  overflow:hidden;
  position:relative;
  height:clamp(300px,40vw,570px);
}
.winter-panorama::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,#172e4c 0%,transparent 16%,transparent 65%,#172e4d 100%);
}
.winter-panorama img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 58%;
}
.winter-panorama__caption{
  position:absolute;
  bottom:18px;
  left:clamp(15px,5vw,85px);
  z-index:3;
  color:#fff1cd;
  font-family:Georgia,serif;
  font-style:italic;
  font-size:clamp(.84rem,1.7vw,1.2rem);
  text-shadow:0 2px 12px #091428;
}
.winter-tree{
  position:absolute;
  z-index:3;
  width:clamp(125px,19vw,240px);
  bottom:0;
  right:clamp(0px,4vw,70px);
  pointer-events:none;
  filter:drop-shadow(0 10px 10px rgba(0,0,0,.22));
}
.winter-tree svg{width:100%;height:auto;display:block}
.winter-tree__light{
  fill:#ffe6a0;
  filter:drop-shadow(0 0 5px #ffe1a0);
  animation:rw-light-breathe 8s ease-in-out infinite;
  transform-origin:center;
}
.winter-tree__light--b{fill:#ffc48e;animation-delay:-2.7s}
.winter-tree__light--c{fill:#fff2ba;animation-delay:-5.3s}
.winter-tree__star{
  filter:drop-shadow(0 0 6px rgba(255,222,135,.8));
  animation:rw-star-breathe 9s ease-in-out infinite;
  transform-origin:100px 33px;
}
.winter-snow{
  position:absolute;
  z-index:5;
  inset:0;
  pointer-events:none;
  overflow:hidden;
}
.winter-snow__flake{
  position:absolute;
  display:block;
  top:-10px;
  left:var(--snow-x);
  width:var(--snow-size);
  height:var(--snow-size);
  border-radius:50%;
  background:#fffdf6;
  opacity:0;
  filter:drop-shadow(0 0 2px rgba(254,255,255,.45));
  will-change:transform;
  animation:rw-gentle-fall var(--snow-speed) linear var(--snow-delay) infinite;
}
.winter-stage--still-lights .winter-tree__light,
.winter-stage--still-lights .winter-tree__star{animation:none}
@keyframes rw-gentle-fall{
  0%{transform:translate3d(0,-12px,0);opacity:0}
  12%{opacity:var(--snow-opacity)}
  86%{opacity:var(--snow-opacity)}
  100%{transform:translate3d(var(--snow-drift),1050px,0);opacity:0}
}
@keyframes rw-light-breathe{
  0%,100%{opacity:.78;filter:drop-shadow(0 0 3px rgba(255,229,164,.6))}
  50%{opacity:1;filter:drop-shadow(0 0 8px rgba(255,225,162,.95))}
}
@keyframes rw-star-breathe{
  0%,100%{opacity:.88}
  50%{opacity:1}
}
.calendar-frame{
  background:
    linear-gradient(0deg,rgba(9,26,48,.84),rgba(14,34,59,.75)),
    url("assets/images/ruedersdorf-winter-village.webp") center center/cover;
}
.calendar-frame .rda-door--today .rda-door__face{animation:rda-warm-glow 7s ease-in-out infinite}
.calendar-frame .rda-calendar--still .rda-door--today .rda-door__face{animation:none}
@keyframes rda-warm-glow{
  0%,100%{box-shadow:0 0 13px rgba(255,224,169,.34),inset 0 0 0 5px #8e5c45}
  50%{box-shadow:0 0 24px rgba(255,224,169,.68),inset 0 0 0 5px #a76f52}
}
@media(max-width:850px){
 .winter-panorama{min-width:0;left:auto;transform:none;width:100%;height:400px}
 .winter-panorama img{object-position:53% center}
 .winter-tree{right:12px;width:150px}
}
@media(max-width:600px){
 .hero{padding-top:.3rem}
 .hero__logo-panel{width:100%;margin-bottom:0}
 .hero__kicker{font-size:.62rem;letter-spacing:.14em}
 .hero__lead{font-size:.98rem;padding:0 .5rem}
 .winter-panorama{min-width:0;height:330px}
 .winter-panorama img{object-position:47% 55%}
 .winter-tree{width:125px;right:-5px}
 .winter-panorama__caption{bottom:9px}
}
@media(prefers-reduced-motion:reduce){
 .winter-snow__flake{animation:none!important;display:none}
 .winter-tree__light,.winter-tree__star{animation:none!important}
 .calendar-frame .rda-door--today .rda-door__face{animation:none!important}
}


/* V0.4: das unveränderte Adventskalender-Logo ersetzt den Schriftzug in der Menüleiste. */
.site-header{
  padding: .6rem 0 .75rem;
  gap: clamp(.9rem,2vw,2rem);
}
.site-brand{
  display:inline-flex;
  flex:0 0 auto;
  width:clamp(165px,18vw,205px);
  max-width:42%;
  align-items:center;
  text-decoration:none;
  line-height:0;
}
.site-brand__logo{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 2px 5px rgba(5,16,34,.5));
}
.site-nav{
  justify-content:flex-end;
  align-items:center;
  gap:clamp(.65rem,2vw,1.4rem);
  line-height:1.35;
}
.site-nav a{padding:.35rem .05rem}
@media(max-width:850px){
  .site-header{flex-wrap:nowrap}
}
@media(max-width:600px){
  .site-header{
    flex-wrap:wrap;
    justify-content:center;
    padding:.5rem 0 .8rem;
    gap:.15rem .8rem;
  }
  .site-brand{
    width:178px;
    max-width:70vw;
  }
  .site-nav{
    width:100%;
    justify-content:center;
    flex-wrap:wrap;
    gap:.25rem .85rem;
    font-size:.82rem;
  }
}

/* V0.5: Audioplayer in den Geschichten (Gestaltung kommt vollständig aus dem Plugin). */
.calendar-frame .rda-audio{max-width:850px;margin-inline:auto}
.calendar-frame .rda-story__content{line-height:1.75}


/*
 * v0.6 – Wintermärchen: Hero ohne großes Logo, ruhige Lichterketten,
 * Tannengirlanden, stärkere Weihnachtsfarben und festliche Inhaltskarten.
 * Alle Animationen respektieren prefers-reduced-motion.
 */
.winter-stage{
  background:
    radial-gradient(ellipse 70% 39% at 50% 18%,rgba(91,123,167,.36),transparent 85%),
    linear-gradient(180deg,#0d2038 0%,#192e4a 65%,#283e56 100%);
}
.winter-stage__garland{
  position:absolute;
  z-index:4;
  pointer-events:none;
  left:0;right:0;top:-2px;
  height:74px;
  background:url("assets/images/evergreen-garland.svg") center top / 630px 88px repeat-x;
  opacity:.9;
  filter:drop-shadow(0 7px 8px rgba(0,0,0,.22));
}
.winter-string-lights{
  position:absolute;
  pointer-events:none;
  z-index:3;
  top:10px;left:4%;right:4%;
  height:80px;
  display:grid;
  grid-template-columns:repeat(17,minmax(0,1fr));
  align-items:start;
}
.winter-string-lights::before{
  content:"";
  position:absolute;
  top:11px;left:0;right:0;
  height:36px;
  border-bottom:2px solid rgba(28,28,26,.65);
  border-radius:0 0 50% 50%;
}
.winter-string-lights__bulb{
  position:relative;
  justify-self:center;
  margin-top:23px;
  width:7px;height:10px;
  border:1px solid #fff4ba;
  border-radius:45% 45% 55% 55%;
  background:#ffe2a0;
  box-shadow:0 0 8px rgba(255,216,141,.9),0 0 18px rgba(255,197,89,.48);
  animation:rw-fairy-breathe 10s ease-in-out infinite;
}
.winter-string-lights__bulb::before{
  content:"";
  position:absolute;bottom:9px;left:1px;
  width:3px;height:5px;
  background:#6b6146;border-radius:1px;
}
.winter-string-lights__bulb:nth-child(3n){animation-delay:-2.8s}
.winter-string-lights__bulb:nth-child(4n){animation-delay:-5.5s}
.winter-string-lights__bulb:nth-child(5n){animation-delay:-7.2s}
.winter-stage--still-lights .winter-string-lights__bulb{animation:none}
@keyframes rw-fairy-breathe{
  0%,100%{opacity:.62;box-shadow:0 0 7px rgba(255,220,146,.66),0 0 17px rgba(255,197,89,.28)}
  50%{opacity:1;box-shadow:0 0 12px rgba(255,225,160,1),0 0 27px rgba(255,206,104,.65)}
}
.hero{
  z-index:2;
  padding:clamp(7rem,12vw,10rem) 1rem 1rem;
  max-width:1040px;
  margin-inline:auto;
}
.hero::before{opacity:.28}
.hero__logo-panel{
  width:min(430px,72vw);
  margin:0 auto 1rem;
  /* Nur sichtbar, wenn im Customizer ausdrücklich wieder eingeschaltet. */
}
.hero__kicker{
  margin:0 auto 1rem;
  color:#f6dda7;
  font-size:clamp(.67rem,1.5vw,.82rem);
  letter-spacing:.18em;
  font-weight:750;
  text-shadow:0 2px 10px rgba(0,0,0,.65);
}
.hero__title{
  font:700 clamp(2.7rem,6.5vw,5.5rem)/1.07 Georgia,"Times New Roman",serif;
  letter-spacing:-.036em;
  color:#fff8e7;
  max-width:1000px;
  margin:0 auto .65rem;
  text-wrap:balance;
  text-shadow:0 3px 4px rgba(9,23,39,.75),0 14px 36px rgba(8,21,34,.44);
}
.hero__title span{display:block;color:#ffdfa0;font-style:italic;font-weight:500}
.hero__divider{
  color:#e6bf70;
  width:min(300px,60%);
  display:flex;
  gap:.7rem;
  align-items:center;
  justify-content:center;
  margin:.9rem auto 1rem;
  font-size:1.1rem;
}
.hero__divider::before,.hero__divider::after{
  content:"";
  height:1px;
  flex:1;
  background:linear-gradient(90deg,transparent,rgba(255,224,164,.75));
}
.hero__divider::after{transform:rotate(180deg)}
.hero__lead{
  margin:0 auto;
  max-width:700px;
  color:#f8f1e7;
  font-size:clamp(1.01rem,2vw,1.21rem);
  line-height:1.72;
  text-shadow:0 2px 9px rgba(4,15,24,.9);
}
.hero__actions{
  margin:1.7rem auto 0;
  display:flex;
  justify-content:center;
  gap:.9rem;
  flex-wrap:wrap;
}
.hero__button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.65rem;
  min-height:49px;
  border-radius:999px;
  padding:.68rem 1.45rem;
  font-size:.91rem;
  font-weight:750;
  text-decoration:none;
  transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease;
  white-space:normal;
}
.hero__button--gold{
  color:#31251d;
  background:linear-gradient(160deg,#ffe9b1,#dfb66e);
  border:1px solid #ffebbf;
  box-shadow:0 5px 19px #101c2d66,inset 0 1px 0 #fff5d8;
}
.hero__button--outline{
  color:#fff8e8;
  background:rgba(15,35,46,.52);
  border:1px solid rgba(252,230,179,.8);
  box-shadow:inset 0 0 0 1px rgba(252,230,179,.08);
}
.hero__button:hover{transform:translateY(-2px)}
.hero__button--gold:hover{background:#ffe6ae;box-shadow:0 7px 24px #f4d39045}
.hero__button--outline:hover{background:rgba(48,76,74,.75)}
.hero__button:focus-visible{outline:3px solid #fff5cc;outline-offset:4px}
.winter-panorama{margin-top:-4rem;height:clamp(310px,44vw,610px)}
.winter-panorama::after{
  background:linear-gradient(180deg,#172f4b 0%,rgba(20,39,60,.14) 24%,transparent 54%,#172e4d 100%);
}
.winter-panorama__caption{
  bottom:23px;
  padding:.2rem .55rem;
  border-left:2px solid #eed69c;
  background:rgba(12,30,45,.28);
}
.winter-tree{width:clamp(140px,20vw,255px);right:clamp(0px,4vw,70px)}
.calendar-section{
  background:
   radial-gradient(circle at 6% 10%,rgba(231,195,138,.23),transparent 23%),
   radial-gradient(circle at 94% 93%,rgba(115,157,139,.17),transparent 29%),
   linear-gradient(180deg,#f4eddc 0%,#faf2df 100%);
}
.calendar-section .section-eyebrow::before,
.events-section .section-eyebrow::before,
.about-section .section-eyebrow::before{
  content:"✦";
  margin-right:.75rem;
  font-size:1rem;
  vertical-align:middle;
}
.calendar-frame{
  overflow:visible;
  border:7px solid #d3a65b;
  border-radius:27px;
  padding:clamp(1rem,3.4vw,2.8rem);
  background:
    linear-gradient(0deg,rgba(7,23,44,.83),rgba(18,35,54,.74)),
    url("assets/images/ruedersdorf-winter-village.webp") center / cover;
  box-shadow:0 10px 0 #9d7545,0 23px 55px rgba(36,41,48,.27),inset 0 0 0 2px rgba(255,242,210,.17);
}
.calendar-frame::before{display:none}
.calendar-frame--garland::before{
  display:block;
  content:"";
  height:79px;
  position:absolute;
  top:-19px;left:8px;right:8px;
  pointer-events:none;
  z-index:2;
  background:url("assets/images/evergreen-garland.svg") center top/560px 85px repeat-x;
  filter:drop-shadow(0 5px 7px rgba(0,0,0,.21));
}
.calendar-frame__header{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:1.1rem;
  padding:.35rem .5rem;
  margin:1.4rem 0 1.7rem;
  color:#ffe2a4;
  font:italic 1.05rem/1.3 Georgia,"Times New Roman",serif;
  letter-spacing:.025em;
  text-align:center;
  text-shadow:0 2px 6px #091524;
}
.calendar-frame__star{color:#ebbd66;font-size:1rem}
.calendar-frame .rda-door__face{
  border:2px solid #deb478;
  background:linear-gradient(145deg,#704232,#522f35);
  box-shadow:inset 0 0 0 5px rgba(199,145,83,.3),0 7px 16px rgba(3,12,26,.54);
}
.calendar-frame .rda-door--locked .rda-door__face{
  background:linear-gradient(145deg,#514248,#453542);
}
.calendar-frame .rda-door--open .rda-door__face{
  background:linear-gradient(145deg,#855034,#65402e);
}
.calendar-frame .rda-door--today .rda-door__face{
  outline:3px solid #fbe4aa;
  outline-offset:2px;
}
.events-section{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 5% 5%,rgba(180,196,139,.15),transparent 37%),
    radial-gradient(circle at 95% 90%,rgba(229,184,105,.08),transparent 31%),
    linear-gradient(150deg,#123c36 0%,#102c32 92%);
}
.events-section--garland{padding-top:7rem}
.events-section--garland::before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;
  height:88px;
  pointer-events:none;
  background:url("assets/images/evergreen-garland.svg") center top/600px 91px repeat-x;
  opacity:.92;
}
.events-section .section-title{color:#fff7e4}
.events-section .section-eyebrow{color:#ffe0a4}
.events-section .rda-event{
  background:linear-gradient(160deg,#fffaf0 0%,#f5e8d2 100%);
  border:1px solid #d6b680;
  border-top:5px solid #b44b3f;
  border-radius:18px;
  color:#26312f;
  box-shadow:0 9px 0 rgba(9,29,27,.18),0 18px 34px rgba(0,15,20,.12);
  position:relative;
  overflow:hidden;
}
.events-section .rda-event::after{
  content:"✧";
  position:absolute;
  right:1.1rem;top:1.1rem;
  color:#d3a14e;font-size:1.65rem;
  opacity:.55;
  pointer-events:none;
}
.events-section .rda-event h3{
  font:700 1.42rem/1.25 Georgia,"Times New Roman",serif;
  color:#493526;
  padding-right:1.4rem;
}
.events-section .rda-event__date{
  color:#89563f;
  font-weight:800;
}
.events-section .rda-event__badge{
  display:inline-block;
  font-weight:800;
  font-size:.67rem;
  text-transform:uppercase;
  letter-spacing:.075em;
  color:#5b3b2d;
  border:1px solid #d1b480;
  background:#f5e0b8;
  padding:.23rem .6rem;
  border-radius:999px;
  margin:0 0 .8rem;
}
.events-section .rda-event__place{color:#345246}
.events-section .rda-event a{color:#6a3d26;text-decoration-thickness:1px;text-underline-offset:3px}
.events-section .rda-empty-events{background:#fffaf0;border:1px solid #d8b982}
.about-section{
  background:linear-gradient(180deg,#faf3e3,#eee7d7);
}
.about-card{
  background:linear-gradient(140deg,#fff9ee,#f6edda);
  box-shadow:0 11px 34px rgba(49,62,57,.08);
}
@media(max-width:850px){
  .hero{padding-top:7.6rem}
  .winter-panorama{margin-top:-2.4rem;height:410px}
  .winter-stage__garland{background-size:500px 72px}
  .winter-string-lights{left:2%;right:2%}
  .calendar-frame--garland::before{background-size:470px 75px}
}
@media(max-width:600px){
  .hero{padding:6rem .9rem 1.2rem}
  .hero__kicker{font-size:.62rem;letter-spacing:.11em;max-width:340px}
  .hero__title{font-size:clamp(2.35rem,10vw,3.4rem)}
  .hero__lead{font-size:.98rem;line-height:1.6}
  .hero__actions{gap:.6rem;margin-top:1.35rem}
  .hero__button{padding:.62rem 1rem;font-size:.87rem;min-height:46px}
  .winter-stage__garland{height:60px;background-size:440px 64px}
  .winter-string-lights{top:0;height:53px}
  .winter-string-lights__bulb{width:6px;height:8px;margin-top:19px}
  .winter-panorama{margin-top:-1.2rem;height:325px}
  .winter-tree{width:130px;right:0}
  .winter-panorama__caption{font-size:.79rem;max-width:66%;padding:.2rem .4rem}
  .calendar-frame{border-width:5px;padding:.8rem}
  .calendar-frame--garland::before{top:-13px;left:1px;right:1px;height:60px;background-size:350px 62px}
  .calendar-frame__header{font-size:.87rem;margin:1.8rem 0 1rem;gap:.45rem}
  .events-section--garland{padding-top:6rem}
}
@media(prefers-reduced-motion:reduce){
  .winter-string-lights__bulb,
  .winter-stage--still-lights .winter-string-lights__bulb{animation:none!important}
  .hero__button{transition:none!important}
  .hero__button:hover{transform:none!important}
}

/* Die Landschaft darf die Buttons im überlappenden Hero nicht überdecken. */
.winter-stage .hero{z-index:3}
