/*!
 * DoorDays v1.0.0 (advent calendar for any website)
 * Every class is prefixed with "adc" so nothing leaks into the host site.
 * Change the look with the CSS custom properties listed in section 1
 * (see documentation/index.html → Styling).
 */.adc{--adc-font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--adc-font-display: var(--adc-font);--adc-bg: #ffffff;--adc-text: #1f2333;--adc-muted: #5d6275;--adc-accent: #c8333b;--adc-accent-text: #ffffff;--adc-surface: #ffffff;--adc-surface-text: #1f2333;--adc-surface-accent: var(--adc-accent);--adc-door-a: #c8333b;--adc-door-b: #1f6b4a;--adc-door-c: #f4ead5;--adc-door-text-a: #ffffff;--adc-door-text-b: #ffffff;--adc-door-text-c: #8d1f25;--adc-door-back: rgba(0, 0, 0, .18);--adc-door-back-text: currentColor;--adc-door-border: transparent;--adc-door-shadow: 0 6px 16px rgba(0, 0, 0, .18);--adc-door-min: 88px;--adc-gap: 14px;--adc-radius: 14px;--adc-padding: clamp(18px, 4vw, 40px);--adc-number-size: clamp(1.5rem, 4vw, 2.1rem);--adc-pattern: none;--adc-ribbon: none}.adc,.adc *,.adc *:before,.adc *:after{box-sizing:border-box}.adc{position:relative;display:block;overflow:hidden;padding:var(--adc-padding);border-radius:calc(var(--adc-radius) + 6px);background-color:var(--adc-bg);background-image:var(--adc-pattern);color:var(--adc-text);font-family:var(--adc-font);font-size:16px;line-height:1.5;text-align:start;isolation:isolate}.adc__snow{position:absolute;inset:0;z-index:0;width:100%;height:100%;pointer-events:none}.adc__header,.adc__grid{position:relative;z-index:1}.adc__header{margin:0 auto 26px;max-width:640px;text-align:center}.adc__header:empty{display:none}.adc__title{margin:0;color:inherit;font-family:var(--adc-font-display);font-size:clamp(1.7rem,4.6vw,2.75rem);font-weight:700;line-height:1.12;letter-spacing:-.01em}.adc__subtitle{margin:10px 0 0;color:var(--adc-muted);font-size:1.05rem}.adc__notice{display:inline-block;margin:16px 0 0;padding:8px 16px;border-radius:999px;background:var(--adc-accent);color:var(--adc-accent-text);font-size:.92rem;font-weight:600}.adc__notice[hidden]{display:none}.adc__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--adc-door-min),1fr));grid-auto-flow:dense;gap:var(--adc-gap);margin:0;padding:0;list-style:none}.adc__cell{margin:0;padding:0;min-width:0}.adc__cell--featured{grid-column:span 2;grid-row:span 2}.adc__door{position:relative;display:block;width:100%;height:100%;min-height:var(--adc-door-min);aspect-ratio:1 / 1;margin:0;padding:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer;perspective:900px;-webkit-tap-highlight-color:transparent}.adc__door:focus{outline:none}.adc__door:focus-visible{outline:3px solid var(--adc-accent);outline-offset:4px;border-radius:var(--adc-radius)}.adc__door-inner{position:absolute;inset:0;display:block;transform-style:preserve-3d;transition:transform .7s cubic-bezier(.3,1.25,.5,1)}.adc__door-front,.adc__door-back{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;border:1px solid var(--adc-door-border);border-radius:var(--adc-radius);-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden}.adc__door-front{background-color:var(--adc-door, var(--adc-door-a));background-image:var(--adc-ribbon);box-shadow:var(--adc-door-shadow);color:var(--adc-door-text, var(--adc-door-text-a));transition:box-shadow .25s ease,transform .25s ease}.adc__cell:nth-child(3n+2) .adc__door-front{background-color:var(--adc-door, var(--adc-door-b));color:var(--adc-door-text, var(--adc-door-text-b))}.adc__cell:nth-child(3n) .adc__door-front{background-color:var(--adc-door, var(--adc-door-c));color:var(--adc-door-text, var(--adc-door-text-c))}.adc__door.has-cover .adc__door-front{background-image:linear-gradient(#0000001f,#00000052),var(--adc-cover);background-position:center;background-size:cover;color:#fff}.adc__door-back{transform:rotateY(180deg);background:var(--adc-door-back);color:var(--adc-door-back-text);box-shadow:inset 0 0 0 2px var(--adc-door-border)}.adc__door-number{position:relative;font-family:var(--adc-font-display);font-size:var(--adc-number-size);font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.adc__cell--featured .adc__door-number{font-size:calc(var(--adc-number-size) * 1.8)}.adc__door-number--back{opacity:.55}.adc__door-back:after{content:"";position:absolute;right:10px;bottom:10px;width:18px;height:18px;background:currentColor;opacity:.7;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center / contain no-repeat}.adc__door-badge{position:absolute;top:8px;left:50%;display:none;padding:2px 8px;border-radius:999px;background:var(--adc-accent);color:var(--adc-accent-text);font-family:var(--adc-font);font-size:.64rem;font-weight:700;letter-spacing:.06em;line-height:1.5;text-transform:uppercase;white-space:nowrap;transform:translate(-50%)}.adc__door.is-today:not(.is-opened) .adc__door-badge{display:block}.adc__door.is-locked .adc__door-front:after,.adc__door.is-past:not(.is-opened) .adc__door-front:after{content:"";position:absolute;right:9px;bottom:9px;width:14px;height:14px;background:currentColor;opacity:.55;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17 9h-1V7a4 4 0 0 0-8 0v2H7a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-9a2 2 0 0 0-2-2Zm-7-2a2 2 0 0 1 4 0v2h-4Z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17 9h-1V7a4 4 0 0 0-8 0v2H7a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-9a2 2 0 0 0-2-2Zm-7-2a2 2 0 0 1 4 0v2h-4Z'/%3E%3C/svg%3E") center / contain no-repeat}.adc__door.is-open:hover .adc__door-front{transform:translateY(-3px);box-shadow:0 12px 24px #00000038}.adc__door.is-today:not(.is-opened) .adc__door-front{box-shadow:0 0 0 3px var(--adc-accent),var(--adc-door-shadow);animation:adc-glow 2.4s ease-in-out infinite}.adc__door.is-locked,.adc__door.is-past{cursor:not-allowed}.adc__door.is-past:not(.is-opened) .adc__door-front{filter:grayscale(.7);opacity:.6}.adc__door.is-opened .adc__door-inner{transform:rotateY(180deg)}[dir=rtl] .adc__door.is-opened .adc__door-inner{transform:rotateY(-180deg)}.adc__door.is-shaking .adc__door-inner{animation:adc-shake .45s ease}@keyframes adc-shake{0%,to{translate:0}20%{translate:-6px}40%{translate:5px}60%{translate:-4px}80%{translate:2px}}@keyframes adc-glow{0%,to{box-shadow:0 0 0 3px var(--adc-accent),var(--adc-door-shadow)}50%{box-shadow:0 0 0 6px var(--adc-accent),0 0 26px var(--adc-accent)}}.adc__toast{position:fixed;bottom:24px;left:50%;z-index:2147483000;max-width:min(92vw,420px);margin:0;padding:12px 18px;border-radius:12px;background:#1f2333;color:#fff;font-family:var(--adc-font);font-size:.95rem;font-weight:500;line-height:1.4;text-align:center;box-shadow:0 10px 30px #0000004d;opacity:0;pointer-events:none;transform:translate(-50%,12px);transition:opacity .25s ease,transform .25s ease}.adc__toast:empty{display:none}.adc__toast.is-visible{opacity:1;transform:translate(-50%)}.adc-reveal{color:var(--adc-surface-text);font-family:var(--adc-font)}.adc-reveal--modal{width:min(92vw,460px);max-width:none;max-height:min(88vh,720px);margin:auto;padding:0;border:0;border-radius:calc(var(--adc-radius) + 6px);background:var(--adc-surface);box-shadow:0 24px 60px #00000059;overflow:auto}.adc-reveal--modal[open]{animation:adc-pop .35s cubic-bezier(.3,1.3,.5,1)}.adc-reveal--modal::backdrop{background:#0c0e189e;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.adc-reveal--inline{position:relative;z-index:1;max-width:560px;margin:28px auto 0;border-radius:calc(var(--adc-radius) + 6px);background:var(--adc-surface);box-shadow:0 16px 40px #0003}.adc-reveal--inline[hidden]{display:none}@keyframes adc-pop{0%{opacity:0;transform:scale(.9) translateY(10px)}to{opacity:1;transform:none}}.adc-reveal__panel{padding:22px 24px 26px}.adc-reveal__top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.adc-reveal__eyebrow{margin:0;color:var(--adc-surface-accent);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.adc-reveal__close{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:36px;height:36px;margin:0;padding:0;border:0;border-radius:50%;background:#7f7f7f24;color:inherit;font:inherit;font-size:1.4rem;line-height:1;cursor:pointer}.adc-reveal__close:hover{background:#7f7f7f42}.adc-reveal__close:focus-visible,.adc-reveal__button:focus-visible,.adc-reveal__play:focus-visible{outline:3px solid var(--adc-accent);outline-offset:3px}.adc-reveal__image{display:block;width:100%;max-height:240px;margin:0 0 16px;border-radius:var(--adc-radius);object-fit:cover}.adc-reveal__title{margin:0 0 8px;color:inherit;font-family:var(--adc-font-display);font-size:1.45rem;font-weight:700;line-height:1.2}.adc-reveal__text,.adc-reveal__loading{margin:0 0 16px;color:inherit;font-size:1rem;white-space:pre-line;opacity:.88}.adc-reveal__loading{opacity:.7}.adc-reveal__coupon{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 16px;padding:14px;border:2px dashed var(--adc-accent);border-radius:var(--adc-radius);background:#7f7f7f0f}.adc-reveal__code{flex:1 1 140px;color:inherit;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.35rem;font-weight:700;letter-spacing:.08em;background:none;user-select:all;overflow-wrap:anywhere}.adc-reveal__status{flex-basis:100%;font-size:.85rem;opacity:.75}.adc-reveal__status:empty{display:none}.adc-reveal__button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin:0;padding:10px 20px;border:0;border-radius:999px;background:var(--adc-accent);color:var(--adc-accent-text);font:inherit;font-weight:700;text-decoration:none;cursor:pointer;transition:filter .2s ease,transform .2s ease}.adc-reveal__button:hover{color:var(--adc-accent-text);filter:brightness(1.08);transform:translateY(-1px)}.adc-reveal__button--copy.is-copied{filter:saturate(.6)}.adc-reveal__button--link{width:100%}.adc-reveal__video{position:relative;aspect-ratio:16 / 9;margin:0 0 16px;border-radius:var(--adc-radius);background:#10131d;overflow:hidden}.adc-reveal__video.has-poster{background-image:var(--adc-video-poster);background-position:center;background-size:cover}.adc-reveal__video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.adc-reveal__play{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:100%;margin:0;padding:0;border:0;background:#00000059;color:#fff;font:inherit;font-weight:600;cursor:pointer}.adc-reveal__play-icon{width:64px;height:64px;border-radius:50%;background:var(--adc-accent);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill-rule='evenodd' d='M32 0a32 32 0 1 1 0 64 32 32 0 0 1 0-64Zm-6 20v24l20-12z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill-rule='evenodd' d='M32 0a32 32 0 1 1 0 64 32 32 0 0 1 0-64Zm-6 20v24l20-12z'/%3E%3C/svg%3E") center / contain no-repeat}.adc-fallback{max-width:640px;margin:0 auto;padding:24px 28px;border:2px dashed #c9cfdc;border-radius:16px;background:#fff;color:#1f2333;font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;text-align:center}.adc-fallback p{margin:0 0 8px}.adc-fallback p:last-child{margin-bottom:0}.adc-error{margin:0;padding:12px 16px;border:1px solid #e0a3a3;border-radius:8px;background:#fff4f4;color:#8a1f1f;font:14px/1.5 system-ui,sans-serif}.adc--theme-classic{--adc-font-display: Georgia, "Times New Roman", serif;--adc-bg: #0f3b2c;--adc-text: #fbf3e2;--adc-muted: #cfe0d5;--adc-accent: #e8b54a;--adc-accent-text: #2a1b05;--adc-surface: #fffaf0;--adc-surface-text: #2b2116;--adc-surface-accent: #9c1f27;--adc-door-a: #b8262f;--adc-door-b: #f5ead2;--adc-door-c: #1d6a48;--adc-door-text-a: #ffffff;--adc-door-text-b: #9c1f27;--adc-door-text-c: #fbe9bd;--adc-door-back: #0a2a1f;--adc-door-back-text: #e8b54a;--adc-door-shadow: 0 8px 18px rgba(0, 0, 0, .35);--adc-pattern: radial-gradient(circle at 15% 10%, rgba(255, 255, 255, .08) 0, transparent 40%), radial-gradient(circle at 85% 90%, rgba(232, 181, 74, .12) 0, transparent 45%);--adc-ribbon: linear-gradient(90deg, transparent calc(50% - 5px) , rgba(232, 181, 74, .85) calc(50% - 5px) , rgba(232, 181, 74, .85) calc(50% + 5px) , transparent calc(50% + 5px) ), linear-gradient(0deg, transparent calc(50% - 5px) , rgba(232, 181, 74, .85) calc(50% - 5px) , rgba(232, 181, 74, .85) calc(50% + 5px) , transparent calc(50% + 5px) )}.adc--theme-classic .adc__door-front .adc__door-number{display:inline-flex;align-items:center;justify-content:center;width:2.3em;height:2.3em;border-radius:50%;background:inherit;box-shadow:0 0 0 3px #e8b54ae6;font-size:calc(var(--adc-number-size) * .72)}.adc--theme-classic .adc__cell:nth-child(3n+1) .adc__door-front .adc__door-number{background:var(--adc-door, var(--adc-door-a))}.adc--theme-classic .adc__cell:nth-child(3n+2) .adc__door-front .adc__door-number{background:var(--adc-door, var(--adc-door-b))}.adc--theme-classic .adc__cell:nth-child(3n) .adc__door-front .adc__door-number{background:var(--adc-door, var(--adc-door-c))}.adc--theme-classic .adc__door.has-cover .adc__door-front .adc__door-number{background:#00000073}.adc--theme-minimal{--adc-bg: #faf9f6;--adc-text: #1d1d1f;--adc-muted: #6b6b70;--adc-accent: #d23f3f;--adc-surface: #ffffff;--adc-surface-text: #1d1d1f;--adc-door-a: #ffffff;--adc-door-b: #ffffff;--adc-door-c: #ffffff;--adc-door-text-a: #1d1d1f;--adc-door-text-b: #1d1d1f;--adc-door-text-c: #1d1d1f;--adc-door-back: #f1efe9;--adc-door-back-text: #d23f3f;--adc-door-border: #e4e1d8;--adc-door-shadow: 0 1px 2px rgba(0, 0, 0, .04);--adc-radius: 10px;--adc-number-size: clamp(1.6rem, 4.4vw, 2.4rem)}.adc--theme-minimal .adc__door-number{font-weight:300;letter-spacing:-.02em}.adc--theme-playful{--adc-font-display: ui-rounded, "SF Pro Rounded", "Arial Rounded MT Bold", "Trebuchet MS", system-ui, sans-serif;--adc-bg: #fff3e6;--adc-text: #3b2a4a;--adc-muted: #7a6788;--adc-accent: #ff5a6e;--adc-surface: #ffffff;--adc-surface-text: #3b2a4a;--adc-door-a: #ffc4d0;--adc-door-b: #b9ead9;--adc-door-c: #c6dcff;--adc-door-text-a: #8a1f3a;--adc-door-text-b: #145a45;--adc-door-text-c: #1f3f85;--adc-door-back: #ffe7a8;--adc-door-back-text: #a35a00;--adc-door-shadow: 0 6px 0 rgba(59, 42, 74, .14);--adc-radius: 22px;--adc-number-size: clamp(1.7rem, 4.6vw, 2.4rem);--adc-ribbon: radial-gradient(rgba(255, 255, 255, .55) 2.5px, transparent 3px);--adc-pattern: radial-gradient(rgba(255, 90, 110, .08) 2px, transparent 2.5px)}.adc--theme-playful{background-size:22px 22px}.adc--theme-playful .adc__door-front{background-size:16px 16px}.adc--theme-playful .adc__cell:nth-child(5n+4) .adc__door-front{background-color:var(--adc-door, #fff0a6);color:var(--adc-door-text, #7a5600)}.adc--theme-playful .adc__cell:nth-child(5n) .adc__door-front{background-color:var(--adc-door, #e0cdfb);color:var(--adc-door-text, #4d2a85)}.adc--theme-playful .adc__door.is-open:hover .adc__door-front{transform:translateY(-4px) rotate(-2deg)}.adc--theme-luxury{--adc-font-display: "Didot", "Bodoni MT", "Playfair Display", Georgia, serif;--adc-bg: #0d1322;--adc-text: #f3ead6;--adc-muted: #b6ab93;--adc-accent: #c9a45c;--adc-accent-text: #1a1408;--adc-surface: #141c30;--adc-surface-text: #f3ead6;--adc-door-a: #151d33;--adc-door-b: #151d33;--adc-door-c: #151d33;--adc-door-text-a: #d9b872;--adc-door-text-b: #d9b872;--adc-door-text-c: #d9b872;--adc-door-back: #0a0f1c;--adc-door-back-text: #c9a45c;--adc-door-border: rgba(201, 164, 92, .55);--adc-door-shadow: 0 10px 24px rgba(0, 0, 0, .45);--adc-radius: 4px;--adc-number-size: clamp(1.7rem, 4.6vw, 2.5rem);--adc-pattern: radial-gradient(circle at 50% -20%, rgba(201, 164, 92, .22), transparent 60%);--adc-ribbon: linear-gradient(135deg, rgba(255, 255, 255, .05), transparent 55%)}.adc--theme-luxury .adc__door-front:before{content:"";position:absolute;inset:6px;border:1px solid rgba(201,164,92,.35);border-radius:2px;pointer-events:none}.adc--theme-luxury .adc__door-number{font-weight:400;font-style:italic}.adc--theme-corporate{--adc-bg: #f3f5fa;--adc-text: #14213d;--adc-muted: #5a6680;--adc-accent: #2563eb;--adc-surface: #ffffff;--adc-surface-text: #14213d;--adc-door-a: #ffffff;--adc-door-b: #ffffff;--adc-door-c: #ffffff;--adc-door-text-a: #14213d;--adc-door-text-b: #14213d;--adc-door-text-c: #14213d;--adc-door-back: #e7edfb;--adc-door-back-text: #2563eb;--adc-door-border: #dfe4ef;--adc-door-shadow: 0 4px 12px rgba(20, 33, 61, .08);--adc-radius: 12px}.adc--theme-corporate .adc__door-front{border-top:4px solid var(--adc-accent)}@media(max-width:480px){.adc{--adc-door-min: 66px;--adc-gap: 10px;--adc-number-size: 1.35rem}.adc__door-badge{top:5px;padding:1px 6px;font-size:.55rem}.adc--theme-classic .adc__door-front .adc__door-number{box-shadow:0 0 0 2px #e8b54ae6}}@media(prefers-reduced-motion:reduce){.adc__door-inner,.adc__door-front,.adc__toast,.adc-reveal__button{transition:none}.adc__door.is-today:not(.is-opened) .adc__door-front,.adc__door.is-shaking .adc__door-inner,.adc-reveal--modal[open]{animation:none}}@media print{.adc__snow,.adc__toast{display:none}}
