/* Adventsfenster 1.2.1 – Designvorlage A: klassisch-elegant, vollständig farbvariabel. */
.afw-calendar{
  --afw-primary:#651e31;--afw-secondary:#933c4d;--afw-accent:#e1bd75;--afw-cream:#fff8eb;--afw-text:#fffaf2;
  --afw-deep:color-mix(in srgb,var(--afw-primary) 80%,#140910);
  --afw-ink:color-mix(in srgb,var(--afw-primary) 72%,#101010);
  position:relative;isolation:isolate;overflow:hidden;max-width:1280px;margin:1.5rem auto;border-radius:24px;background-color:var(--afw-deep);
  background-image:linear-gradient(134deg,color-mix(in srgb,var(--afw-deep) 90%,transparent),color-mix(in srgb,var(--afw-secondary) 83%,transparent)),var(--afw-bg-image,none);
  background-position:center;background-size:cover;
  color:var(--afw-text);box-shadow:0 24px 72px rgba(43,13,23,.22);font-family:inherit;line-height:1.5;
}
.afw-calendar *{box-sizing:border-box}
.afw-calendar button{font:inherit}
.afw-inner{position:relative;z-index:2;padding:clamp(22px,5.5vw,68px)}
.afw-calendar:before{content:'';position:absolute;inset:12px;border:1px solid color-mix(in srgb,var(--afw-accent) 27%,transparent);border-radius:19px;pointer-events:none;z-index:1}
.afw-calendar:after{content:'';position:absolute;top:-200px;right:-100px;width:470px;height:470px;background:radial-gradient(circle,color-mix(in srgb,var(--afw-accent) 10%,transparent),transparent 65%);pointer-events:none}
.afw-header{text-align:center;max-width:840px;margin:0 auto 40px}
.afw-logo{display:block;max-width:230px;max-height:100px;object-fit:contain;margin:0 auto 20px}
.afw-stars{color:var(--afw-accent);font-size:23px;letter-spacing:15px;margin:0 0 14px;padding-left:15px}
.afw-eyebrow{color:var(--afw-accent);font-size:11px;letter-spacing:3.4px;font-weight:750;margin-bottom:14px;text-transform:uppercase}
.afw-header h2{color:var(--afw-text)!important;font-family:Georgia,'Times New Roman',serif;font-weight:500;font-size:clamp(33px,5.4vw,66px)!important;line-height:1.12!important;letter-spacing:-.8px;margin:0 0 16px!important;text-wrap:balance}
.afw-intro{font-size:clamp(14px,1.6vw,17px);color:var(--afw-text);opacity:.88;max-width:650px;margin:0 auto 22px}
.afw-live-message{display:inline-block;border:1px solid color-mix(in srgb,var(--afw-accent) 48%,transparent);background:color-mix(in srgb,var(--afw-primary) 70%,transparent);border-radius:100px;padding:10px 22px;color:var(--afw-text);font-size:13px;line-height:1.4}
.afw-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(8px,1.65vw,18px);max-width:1050px;margin:0 auto}
.afw-door{
  position:relative;display:flex;flex-direction:column;justify-content:space-between;align-items:center;aspect-ratio:1/1.12;
  min-width:0;padding:10px;border-radius:11px!important;
  border:1px solid color-mix(in srgb,var(--afw-accent) 57%,transparent)!important;
  background:linear-gradient(149deg,rgba(255,255,255,.17),transparent 48%),linear-gradient(145deg,var(--afw-secondary),var(--afw-deep))!important;
  color:var(--afw-text)!important;box-shadow:inset 0 0 0 4px rgba(255,255,255,.04),0 7px 14px rgba(0,0,0,.18);
  text-align:center;cursor:pointer;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.afw-door:nth-child(5n+2){background:linear-gradient(150deg,rgba(255,255,255,.14),transparent 54%),linear-gradient(158deg,var(--afw-primary),var(--afw-deep))!important}
.afw-door:nth-child(7n+4){background:linear-gradient(150deg,rgba(255,255,255,.12),transparent 54%),linear-gradient(158deg,var(--afw-secondary),var(--afw-primary))!important}
.afw-door:before{content:'';pointer-events:none;position:absolute;inset:7px;border:1px solid color-mix(in srgb,var(--afw-accent) 35%,transparent);border-radius:6px}
.afw-door:after{content:'✧';pointer-events:none;position:absolute;top:4px;right:9px;color:var(--afw-accent);opacity:.32;font-size:29px}
.afw-door:hover:not(:disabled),.afw-door:focus-visible{transform:translateY(-5px);box-shadow:0 14px 28px rgba(0,0,0,.3),inset 0 0 0 4px rgba(255,255,255,.07);border-color:var(--afw-accent)!important}
.afw-door:focus-visible{outline:3px solid var(--afw-text)!important;outline-offset:3px}
.afw-door-top{color:var(--afw-accent);font-size:clamp(16px,2vw,24px);line-height:1.3;z-index:1;opacity:.97}
.afw-door-number{z-index:1;font-family:Georgia,'Times New Roman',serif;font-weight:500;font-size:clamp(31px,5vw,63px);line-height:1.1;color:var(--afw-text);text-shadow:0 2px 7px rgba(0,0,0,.19)}
.afw-door-foot{z-index:1;color:var(--afw-accent);font-size:clamp(8px,1vw,10px);font-weight:800;letter-spacing:1.3px;line-height:1.4;min-height:16px}
.afw-door--locked{opacity:.61;cursor:not-allowed;filter:saturate(.65)}
.afw-door--locked .afw-door-number{opacity:.83}
.afw-door--past{opacity:.82}
.afw-door--today{border:2px solid var(--afw-accent)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--afw-accent) 23%,transparent),0 9px 23px rgba(0,0,0,.2);opacity:1}
.afw-door--today .afw-door-glow{position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--afw-accent) 22%,transparent),transparent 68%);pointer-events:none}
.afw-door--today .afw-door-foot{color:var(--afw-text)}
.afw-door--carry{border-style:dashed!important}
.afw-key{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 24px;margin:27px auto 4px;font-size:12px;color:var(--afw-text);opacity:.91}
.afw-key>span{display:inline-flex;align-items:center;gap:8px}
.afw-dot{display:inline-block;width:10px;height:10px;border-radius:50%;vertical-align:middle;border:1px solid rgba(255,255,255,.2)}
.afw-dot-today{background:var(--afw-accent)}.afw-dot-past{background:var(--afw-secondary)}.afw-dot-locked{background:var(--afw-deep)}
.afw-footer{text-align:center;margin-top:34px;font-size:12px;color:var(--afw-text);opacity:.76}
.afw-footer span{color:var(--afw-accent);margin-left:7px}
.afw-copyright{margin:14px auto 0;padding-top:12px;max-width:760px;border-top:1px solid color-mix(in srgb,var(--afw-accent) 35%,transparent);font-size:12px;line-height:1.6;color:var(--afw-text);opacity:.92;text-wrap:balance;overflow-wrap:anywhere}
.afw-preview{display:block;margin:0 auto 22px;padding:10px 16px;border-radius:8px;background:#f9e7b6;color:#44310a;text-align:center;font-weight:700;font-size:13px;max-width:650px}
.afw-sky{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.afw-sky:before,.afw-sky:after{content:'✦';position:absolute;color:var(--afw-accent);opacity:.55;font-size:32px;top:15%;left:7%}
.afw-sky:after{top:20%;left:auto;right:8%;font-size:20px}
/* Animierte Schneeflocken innerhalb des Kalenderbereichs, keine Klickfläche. */
.afw-snow-layer{position:absolute;inset:0;z-index:3;overflow:hidden;pointer-events:none;display:none;user-select:none;contain:paint}
.afw-snow-active .afw-snow-layer{display:block}
.afw-snowflake{position:absolute;top:-30px;left:var(--afw-flake-left);display:block;width:1.2em;height:1.2em;line-height:1.2;color:var(--afw-text);font-size:var(--afw-flake-size);opacity:0;text-shadow:0 0 7px rgba(255,255,255,.22);animation:afw-snowfall var(--afw-flake-time) linear var(--afw-flake-delay) infinite;will-change:transform}
.afw-snow-intensity-gentle .afw-snowflake:nth-child(n+9),.afw-snow-intensity-normal .afw-snowflake:nth-child(n+15){display:none}
@keyframes afw-snowfall{0%{transform:translate3d(0,-30px,0) rotate(0deg);opacity:0}10%{opacity:var(--afw-flake-opacity)}85%{opacity:var(--afw-flake-opacity)}100%{transform:translate3d(var(--afw-flake-drift),var(--afw-snow-distance,1600px),0) rotate(175deg);opacity:0}}
.afw-modal[hidden]{display:none!important}
.afw-modal{position:fixed;inset:0;z-index:999999;display:grid;place-items:center;padding:18px;overflow-y:auto}
.afw-modal-backdrop{position:fixed;inset:0;background:rgba(20,8,14,.82);backdrop-filter:blur(7px);cursor:pointer}
.afw-modal-panel{position:relative;width:min(100%,640px);max-height:min(88vh,850px);overflow-y:auto;z-index:1;background:var(--afw-cream);color:var(--afw-ink);border:2px solid var(--afw-accent);border-radius:17px;padding:clamp(22px,4vw,40px);box-shadow:0 30px 100px rgba(0,0,0,.42);outline:none;animation:afw-zoom .25s ease both}
@keyframes afw-zoom{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
.afw-modal-close{position:absolute;top:10px;right:13px;z-index:3;border:0!important;background:transparent!important;color:var(--afw-ink)!important;font-size:34px!important;line-height:1!important;font-weight:300!important;cursor:pointer;padding:7px 12px!important}
.afw-modal-close:hover{color:var(--afw-primary)!important}
.afw-reveal-top{display:flex;justify-content:space-between;align-items:center;color:var(--afw-primary);border-bottom:1px solid var(--afw-accent);padding:0 0 16px;margin:0 35px 18px 0;font-size:21px}
.afw-reveal-top>span:last-child{color:var(--afw-accent)}
.afw-reveal-kicker{font-weight:800;letter-spacing:2px;font-size:12px}
.afw-reveal-tag{display:inline-block;border-radius:999px;background:color-mix(in srgb,var(--afw-accent) 20%,var(--afw-cream));color:var(--afw-ink);padding:6px 13px;font-size:11px;font-weight:800;letter-spacing:.4px;margin-bottom:12px}
.afw-reveal h3{color:var(--afw-ink)!important;font-family:Georgia,serif!important;font-size:clamp(27px,4vw,39px)!important;line-height:1.2!important;margin:2px 0 18px!important;font-weight:500!important}
.afw-reveal-image{width:100%;max-height:320px;object-fit:cover;border-radius:11px;margin:0 0 22px}
.afw-reveal-text{font-size:16px;line-height:1.7;color:var(--afw-ink);overflow-wrap:anywhere}
.afw-reveal-text p{margin:0 0 13px}.afw-reveal-text a{color:var(--afw-primary);text-decoration:underline}.afw-reveal-text strong{font-weight:800}
.afw-reveal-cta{margin-top:16px;border:0!important;border-radius:7px!important;background:var(--afw-primary)!important;color:var(--afw-text)!important;display:inline-flex;align-items:center;justify-content:center;gap:11px;padding:12px 21px!important;min-height:48px;font-size:13px!important;font-weight:800!important;text-decoration:none!important;cursor:pointer;transition:filter .2s,transform .2s}
.afw-reveal-cta:hover{filter:brightness(1.14);transform:translateY(-1px)}
.afw-validity{font-size:12px!important;line-height:1.6;color:var(--afw-ink)!important;opacity:.82;border-top:1px solid var(--afw-accent);padding-top:16px;margin-top:20px!important}
@media(max-width:900px){.afw-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:600px){.afw-snow-desktop-only .afw-snow-layer{display:none!important}.afw-calendar{border-radius:15px}.afw-inner{padding:24px 14px 27px}.afw-header{margin-bottom:26px}.afw-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.afw-door{border-radius:9px!important;min-height:115px}.afw-door-number{font-size:42px}.afw-door-top{font-size:20px}.afw-door-foot{font-size:9px}.afw-modal-panel{padding:26px 21px}.afw-key{font-size:11px;gap:10px 14px}.afw-live-message{border-radius:10px}}
@media(max-width:365px){.afw-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.afw-door{min-height:138px}.afw-door-number{font-size:52px}}
@media(prefers-reduced-motion:reduce){.afw-snow-layer{display:none!important}.afw-calendar *, .afw-calendar *:before,.afw-calendar *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition:none!important}}
