@import url('./theme.css');
@font-face{font-family:Zodiak;src:url('fonts/zodiak-extrabold.woff2') format('woff2');font-weight:800;font-display:swap}
@font-face{font-family:Zodiak;src:url('fonts/zodiak-bold.woff') format('woff');font-weight:700;font-display:swap}
@font-face{font-family:Inter;src:url('fonts/inter-variable.ttf') format('truetype');font-weight:100 900;font-display:swap}
@font-face{font-family:Literata;src:url('fonts/literata-variable.ttf') format('truetype');font-weight:200 900;font-display:swap}

*{box-sizing:border-box}html{background:var(--primary);scroll-behavior:smooth}body{margin:0;color:var(--on-primary);background:var(--primary);font-family:Inter,Arial,sans-serif;font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased}button,select{font:inherit}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,select:focus-visible,.calendar-pane:focus-visible{outline:2px solid var(--secondary);outline-offset:5px}::selection{background:var(--secondary);color:var(--primary)}.skip-link{position:fixed;left:20px;top:-100px;padding:12px;background:var(--secondary);color:var(--primary);z-index:100}.skip-link:focus{top:15px}
.reference-layout{display:grid;grid-template-columns:minmax(330px,1fr) minmax(0,2fr);gap:90px;padding-left:50px;position:relative;z-index:2;max-width:1800px;margin:0 auto;min-height:100dvh}.introduction{height:100dvh;position:sticky;top:0;display:flex;align-items:center;justify-content:center;flex-direction:column;min-width:0;max-width:500px;padding:40px 0;gap:30px}.intro-content{width:100%;display:flex;align-items:center;flex-direction:column;gap:30px;text-align:center}.hero-star{height:70px;width:70px;flex-shrink:0}.intro-content h1{display:flex;flex-direction:column;align-items:center;margin:0;line-height:1;gap:24px;font-weight:600;width:100%}.title-prefix{font-size:24px;color:var(--on-primary);letter-spacing:0;font-weight:600}.title-gold{font-family:Literata,Georgia,serif;font-weight:800;font-size:70px;line-height:1.05;letter-spacing:-2.16px;background:linear-gradient(135deg,var(--secondary),var(--secondary));-webkit-background-clip:text;background-clip:text;color:transparent;max-width:100%}.intro-copy{margin:0;line-height:1.6;max-width:500px;width:100%;font-size:14px;color:var(--on-primary)}.intro-copy a{text-underline-offset:3px;text-decoration-color:color-mix(in srgb, var(--on-primary) 46.67%, transparent)}.intro-copy a:hover{text-decoration-color:var(--on-primary)}
.jingle-button{background:linear-gradient(94.55deg,var(--secondary),var(--secondary) 92.26%);border:0;border-top:1px solid color-mix(in srgb, var(--on-primary) 25.1%, transparent);border-left:1px solid color-mix(in srgb, var(--on-primary) 18.82%, transparent);border-radius:16px;box-shadow:0 .6px .6px -1.25px color-mix(in srgb, black 40%, transparent),0 2.3px 2.3px -2.5px color-mix(in srgb, black 40%, transparent),0 10px 10px -3.75px color-mix(in srgb, black 20%, transparent);color:var(--primary);display:flex;justify-content:center;align-items:center;gap:15px;padding:20px 30px;min-height:65px;width:260px;font-size:16px;font-weight:600;letter-spacing:-.32px;transition:filter .2s,transform .2s}.jingle-button:hover{filter:brightness(1.13);transform:translateY(-2px)}.jingle-button img{width:24px;height:26px}.intro-footer{text-align:center;width:100%;display:flex;align-items:center;flex-direction:column;gap:10px}.intro-footer>p{font-size:10px;line-height:1.5;color:var(--secondary);margin:0;max-width:280px}.framer-badge{display:flex;flex-direction:column;justify-content:center;gap:1px;width:142px;height:40px;border:2px solid var(--secondary);border-radius:10px;text-decoration:none;color:var(--secondary);background:var(--primary);box-shadow:1px 2px 3px color-mix(in srgb, black 46.67%, transparent),4px 8px 12px color-mix(in srgb, black 33.33%, transparent);line-height:1.1}.badge-top{font-size:8px;letter-spacing:.4px;display:flex;gap:5px;align-items:center;justify-content:center}.badge-top strong{font-size:16px;letter-spacing:-.6px}.badge-top>span{font-size:17px}.badge-bottom{font-size:6px;letter-spacing:1px}.terms-link{background:none;border:0;padding:0;color:color-mix(in srgb, var(--secondary) 53.33%, transparent);text-decoration:underline;text-underline-offset:3px;font-size:11px}
.calendar-pane{height:100dvh;overflow-y:auto;overflow-x:hidden;padding:50px 50px 50px 0;min-width:0;scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--secondary) 31.37%, transparent) transparent;overscroll-behavior:contain;position:relative}.calendar-pane::-webkit-scrollbar{width:5px}.calendar-pane::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--secondary) 31.37%, transparent);border-radius:4px}.calendar-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:250px;gap:20px;align-items:stretch}.door{position:relative;isolation:isolate;border:1px dashed color-mix(in srgb, var(--on-primary) 10.2%, transparent);border-radius:24px;background:var(--primary);color:var(--secondary);min-width:0;overflow:hidden;padding:0;text-align:left;perspective:1000px;transition:filter .25s,box-shadow .3s,border-color .3s;touch-action:manipulation}.door--tall{grid-row:span 2}.door--wide{grid-column:span 2}.door-front{position:absolute;inset:0;overflow:hidden;border-radius:23px;background:inherit;color:inherit;transition:transform .5s cubic-bezier(.22,1,.36,1),filter .35s ease,opacity .35s ease;will-change:transform,filter}.door-number{position:absolute;left:15px;bottom:-29px;font-family:Zodiak,Georgia,serif;font-weight:700;font-size:173px;letter-spacing:-20px;line-height:1.05;padding-right:20px;background:linear-gradient(135deg,var(--secondary),var(--secondary));background-clip:text;-webkit-background-clip:text;color:transparent;white-space:nowrap;pointer-events:none}.door-date{position:absolute;top:20px;right:23px;font-size:14px;font-weight:500;letter-spacing:.1px}.door-time,.door-status{position:absolute;top:20px;left:20px;font-size:14px;font-weight:500;letter-spacing:.1px}.door-status{display:none;font-weight:700}.door-cutout{position:absolute;left:calc(50% - 31px);bottom:-1px;height:31px;width:62px;border-radius:80px 80px 0 0;background:var(--primary);box-shadow:0 -2px color-mix(in srgb, black 33.33%, transparent),inset 7px 0 15px color-mix(in srgb, black 33.33%, transparent);z-index:2;transition:height .2s}.pull-label{display:none;position:absolute;left:0;right:0;bottom:4px;text-align:center;font-size:14px;font-weight:700;color:var(--secondary)}.door-timer{position:absolute;top:21px;right:20px;font:600 15px/1 ui-monospace,monospace;pointer-events:none;color:var(--primary);display:none}.door[data-status=locked]{cursor:help}.door[data-status=locked]:hover{filter:brightness(1.16);border-color:color-mix(in srgb, var(--secondary) 46.67%, transparent)}.door[data-status=available]{background:var(--secondary);border-color:color-mix(in srgb, var(--surface-deep) 40%, transparent);color:var(--primary)}.door[data-status=available] .door-number{background:none;color:var(--primary)}.door[data-status=available] .door-status{display:block}.door[data-status=available] .door-date,.door[data-status=available] .door-time{display:none}.door[data-status=available] .door-cutout{background:var(--secondary);box-shadow:0 -3px color-mix(in srgb, black 33.33%, transparent),inset 12px 4px 20px color-mix(in srgb, var(--secondary) 43.92%, transparent)}.door[data-status=available] .pull-label{display:block}.door[data-status=available] .door-timer{display:block}.door[data-status=available]:hover{filter:brightness(1.07);box-shadow:0 8px 28px color-mix(in srgb, black 20%, transparent)}.door[data-status=available]:hover .door-cutout{height:41px}.ended-content{display:none;text-align:center;font-size:14px;line-height:1.6;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:20px;min-height:100%;color:color-mix(in srgb, var(--secondary) 50.2%, transparent);position:relative;z-index:1}.ended-title{font-weight:600}.door[data-status=expired]{background:var(--surface-deep);box-shadow:inset 1px 3px 6px color-mix(in srgb, black 26.67%, transparent),inset 10px 30px 32px color-mix(in srgb, black 6.67%, transparent);cursor:pointer}.door[data-status=expired] .door-front,.door[data-status=expired] .door-timer{display:none}.door[data-status=expired] .ended-content{display:flex}.door[data-status=expired]:hover{border-color:color-mix(in srgb, var(--secondary) 33.33%, transparent)}.door[data-status=expired]:hover .ended-content{color:color-mix(in srgb, var(--secondary) 69.02%, transparent)}.door-opened{display:none;position:absolute;bottom:14px;right:16px;font-size:9px}.door.is-opened[data-status=available] .door-opened{display:block}.calendar-endnote{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;color:color-mix(in srgb, var(--secondary) 60%, transparent);font-size:10px;text-align:center;padding-top:30px}.calendar-endnote strong{font-weight:500}.calendar-endnote>span:last-child{width:100%;font-size:9px}
.winter-atmosphere{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:4}.winter-atmosphere:before{content:'';position:absolute;right:0;top:-650px;width:97%;height:1355px;border-radius:100%;background:radial-gradient(ellipse at center,color-mix(in srgb,var(--primary) 88%,var(--on-primary)) 0%,transparent 100%);mix-blend-mode:screen}.floating-star{position:absolute;opacity:.75}.star-one{width:127px;height:127px;left:29%;top:-40px;filter:blur(2px)}.star-two{width:201px;height:201px;left:5%;top:6%;filter:blur(12px)}.star-three{width:201px;height:201px;right:-70px;top:45%;filter:blur(9px)}.star-four{width:127px;height:127px;left:30%;bottom:5%;filter:blur(7px)}.grain{position:absolute;inset:0;width:100%;height:100%;opacity:.25;mix-blend-mode:screen}.snow-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.floating-star{animation:star-rotation 40s linear infinite;transform-origin:center;will-change:transform}.star-one,.star-two{animation-direction:reverse}.effects-paused .floating-star{animation-play-state:paused}.preview-bar{position:fixed;bottom:12px;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:16px;padding:10px 16px;background:color-mix(in srgb, var(--surface-deep) 90.98%, transparent);color:var(--secondary);border:1px solid color-mix(in srgb, var(--secondary) 33.33%, transparent);border-radius:10px;z-index:15;font-size:9px;box-shadow:0 6px 24px color-mix(in srgb, black 26.67%, transparent)}.preview-bar label{display:flex;align-items:center;gap:5px}.preview-bar button,.preview-bar select{background:var(--primary);color:var(--secondary);border:1px solid color-mix(in srgb, var(--secondary) 33.33%, transparent);padding:3px;border-radius:3px;font-size:10px}.calendar-error{font-size:12px;padding:12px;background:color-mix(in srgb, var(--secondary) 13.33%, transparent);border-radius:10px;color:var(--secondary);margin:0 0 20px}.calendar-error[hidden]{display:none}
dialog{width:min(92vw,470px);max-height:88dvh;border:1px solid color-mix(in srgb, var(--secondary) 40%, transparent);padding:43px 32px 32px;border-radius:24px;background:var(--primary);color:var(--secondary);box-shadow:0 30px 120px color-mix(in srgb, black 53.33%, transparent);text-align:center}dialog::backdrop{background:color-mix(in srgb, var(--surface-deep) 72.16%, transparent);backdrop-filter:blur(8px)}dialog[open]{animation:unwrap .3s ease-out}.dialog-close{position:absolute;right:13px;top:9px;background:none;border:0;font-size:26px;font-weight:200;color:var(--secondary);padding:0 8px}.dialog-art{width:83px;height:83px;color:var(--secondary);margin:10px 0 12px}.dialog-eyebrow{font-size:9px;color:var(--secondary);letter-spacing:2px}.dialog-content h2{font-family:Literata,Georgia,serif;font-weight:700;font-size:30px;line-height:1.2;margin:14px 0;color:var(--secondary)}.dialog-description{color:var(--secondary);font-size:12px;line-height:1.8}.discount{display:block;font-family:Literata,Georgia,serif;font-weight:700;font-size:42px;color:var(--secondary);line-height:1.3;margin-top:10px}.code-box{display:flex;justify-content:space-between;align-items:center;background:color-mix(in srgb, var(--on-primary) 1.96%, transparent);border:1px dashed color-mix(in srgb, var(--secondary) 53.33%, transparent);border-radius:10px;margin:23px 0 14px;padding:14px 15px;gap:10px}.code-box code{font-size:17px;letter-spacing:2px;overflow-wrap:anywhere;text-align:left}.copy-button{background:none;border:0;color:var(--secondary);font-size:10px;white-space:nowrap}.dialog-cta{display:block;background:linear-gradient(95deg,var(--secondary),var(--secondary));color:var(--primary);padding:14px 20px;border-radius:12px;font-size:12px;margin:16px 0;text-decoration:none;font-weight:600}.dialog-terms{font-size:12px;line-height:1.8;color:var(--secondary);white-space:pre-line;margin-top:14px}.dialog-image{max-width:100%;max-height:180px;object-fit:contain;margin:16px 0}.demo-disclaimer{font-size:10px;background:color-mix(in srgb, var(--secondary) 8.24%, transparent);padding:8px;color:var(--secondary);border-radius:8px;margin-top:15px}.retry-button{border:1px solid var(--secondary);color:var(--secondary);background:none;border-radius:10px;padding:10px 22px;margin-top:18px}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);padding:11px 22px;background:var(--secondary);color:var(--primary);font-size:12px;border-radius:10px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:30;max-width:90vw;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}.noscript{position:fixed;bottom:0;background:var(--secondary);color:var(--primary);width:100%;text-align:center;padding:14px;z-index:50}body:has(dialog[open]){overflow:hidden}@keyframes star-rotation{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@keyframes ring{from{transform:rotate(-10deg)}to{transform:rotate(10deg)}}@keyframes unwrap{from{opacity:0;transform:translateY(14px);filter:blur(10px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
@media(min-width:1800px){.reference-layout{gap:110px;padding-left:65px}.calendar-pane{padding-right:65px}.calendar-grid{grid-auto-rows:275px}}
@media(max-width:1399px) and (min-width:1101px){.reference-layout{gap:50px;padding-left:35px;grid-template-columns:minmax(300px,1fr) minmax(0,2fr)}.calendar-pane{padding-right:35px}.calendar-grid{gap:16px;grid-auto-rows:220px}.title-gold{font-size:58px}.door-number{font-size:145px;bottom:-24px;letter-spacing:-18px}.door-date,.door-time,.door-status{font-size:11px}.door-date{right:16px}.door-time,.door-status{left:16px}.door-timer{right:16px;font-size:12px}.intro-copy{font-size:13px}.introduction{padding:25px 0}.intro-content{gap:24px}.ended-content{font-size:12px;padding:16px}}
@media(max-height:850px) and (min-width:1101px){.intro-content{gap:22px}.hero-star{width:55px;height:55px}.intro-content h1{gap:18px}.introduction{gap:24px}.intro-copy{font-size:13px}.jingle-button{padding:16px 25px;min-height:58px}.intro-footer{gap:8px}}
@media(max-width:1100px){.reference-layout{display:flex;flex-direction:column;gap:30px;padding:50px;max-width:950px}.introduction{height:auto;position:relative;top:auto;max-width:none;padding:0;gap:30px}.intro-content{max-width:620px;gap:25px}.intro-copy{max-width:600px}.title-gold{font-size:70px}.calendar-pane{height:auto;overflow:visible;padding:0;scroll-margin-top:30px}.calendar-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:250px}.door-number{font-size:160px}.star-two{left:-70px;top:15%}.star-four{left:20%;bottom:12%}.calendar-endnote{padding-bottom:25px}.winter-atmosphere{z-index:3}}
@media(max-width:700px){.reference-layout{padding:40px 20px;gap:40px}.intro-content{max-width:450px;gap:22px}.hero-star{width:60px;height:60px}.title-prefix{font-size:24px}.title-gold{font-size:64px;line-height:1.1}.intro-content h1{gap:18px}.intro-copy{font-size:14px;line-height:1.6}.jingle-button{width:260px;padding:20px 25px}.calendar-grid{grid-template-columns:minmax(0,1fr);grid-auto-rows:280px;gap:20px;max-width:450px;margin:0 auto}.door--wide{grid-column:span 1}.door-number,.door--wide .door-number{font-size:190px;bottom:-30px;left:15px;letter-spacing:-20px}.door-time,.door-status,.door-date{font-size:14px}.door-time,.door-status{left:20px}.door-date{right:23px}.door-timer{right:20px;font-size:15px}.ended-content{padding:24px;font-size:14px;max-width:320px;margin:0 auto}.calendar-endnote{max-width:400px;margin:auto}.star-one{left:75%;top:0}.star-three{right:-100px}.preview-bar{width:calc(100% - 24px);gap:10px;padding:8px;font-size:8px}.preview-bar>span{width:100%;text-align:center}dialog{padding:38px 25px 25px}.dialog-content h2{font-size:27px}}
@media(max-width:360px){.title-gold{font-size:53px}.intro-copy{font-size:13px}.reference-layout{padding:30px 16px}.calendar-grid{grid-auto-rows:250px}.door-number,.door--wide .door-number{font-size:173px;bottom:-28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.jingle-button:hover{transform:none}}

@media(max-width:1100px){.door[data-day="1"]{order:1}.door[data-day="2"]{order:2}.door[data-day="3"]{order:3}.door[data-day="4"]{order:4}.door[data-day="5"]{order:5}.door[data-day="6"]{order:6}.door[data-day="7"]{order:7}.door[data-day="8"]{order:8}.door[data-day="9"]{order:9}.door[data-day="10"]{order:10}.door[data-day="11"]{order:11}.door[data-day="12"]{order:12}.door[data-day="13"]{order:13}.door[data-day="14"]{order:14}.door[data-day="15"]{order:15}.door[data-day="16"]{order:16}.door[data-day="17"]{order:17}.door[data-day="18"]{order:18}.door[data-day="19"]{order:19}.door[data-day="20"]{order:20}.door[data-day="21"]{order:21}.door[data-day="22"]{order:22}.door[data-day="23"]{order:23}.door[data-day="24"]{order:24}}

/* Three-column composition only; desktop and single-column phone spans stay intact. */
@media (min-width:701px) and (max-width:1100px){
  .door[data-day="24"]{grid-column:span 2;grid-row:span 1}
  .door[data-day="9"]{grid-column:span 2}
  .door[data-day="7"],.door[data-day="8"]{grid-column:span 1;grid-row:span 1}
  .door[data-day="11"],.door[data-day="12"],.door[data-day="13"]{grid-row:span 1}
  .door[data-day="14"]{grid-row:span 2}
  .door[data-day="18"]{grid-column:span 1}
}

/* Bulgarian typography: localized forms with lang="bg"; Zodiak remains on numbers. */
html:lang(bg){font-language-override:normal}
html:lang(bg) .title-gold{line-height:1.12;letter-spacing:-1.4px;overflow-wrap:normal}
html:lang(bg) .jingle-button{font-size:15px;gap:12px;padding-inline:20px}
html:lang(bg) .pull-label{font-size:12px}
html:lang(bg) .dialog-eyebrow{letter-spacing:1px}
html:lang(bg) .badge-top{font-size:6px;gap:3px}
html:lang(bg) .badge-bottom{font-size:5px;letter-spacing:.3px}



.calendar-brand-logo{max-width:240px;max-height:85px;object-fit:contain}.campaign-background{position:fixed;inset:0;width:100%;height:100%;object-fit:cover;opacity:.18;pointer-events:none}.preview-bar a{color:var(--secondary);text-decoration:underline;text-underline-offset:3px}

html:lang(bg) .jingle-button{width:290px;max-width:100%;white-space:nowrap;font-size:14px}

/* Semantic surfaces follow the campaign palette. */
.door[data-status=expired]{background:var(--surface-deep)}
.title-gold,.door-number{background-image:linear-gradient(135deg,var(--secondary-light),var(--secondary-dark))}
.door[data-status=available] .door-number{background-image:none;color:var(--primary)}
.jingle-button,.dialog-cta{background:linear-gradient(95deg,var(--secondary-light),var(--secondary));color:var(--on-secondary)}
.door[data-status=available],.door-timer,.pull-label{color:var(--on-secondary)}
.dialog-content h2,.dialog-description,.discount,.copy-button{color:var(--on-primary)}
.scratch-card{position:relative;width:100%;aspect-ratio:5/3;margin-top:22px;border-radius:16px;overflow:hidden;background:var(--surface-deep);border:1px solid var(--secondary)}
.scratch-preview{position:absolute;inset:0;display:grid;place-items:center;padding:24px;font-size:26px;line-height:1.3;color:var(--on-primary);overflow-wrap:anywhere}
.scratch-card canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair}
.scratch-progress{font-size:12px;color:var(--on-primary);min-height:2em}
.hero-star,.bell-icon{display:inline-block;background:var(--secondary);mask:var(--art-mask) center/contain no-repeat}
.hero-star{--art-mask:url('./hero-star.svg')}
.floating-star{overflow:visible}
.bell-icon{--art-mask:url('./bell.svg');width:24px;height:26px;background:var(--on-secondary)}


.subscription-form{display:flex;flex-direction:column;gap:12px;text-align:left;margin-top:24px;color:var(--on-primary)}
.subscription-form>label{font-size:13px;font-weight:600}
.subscription-form input[type=email]{width:100%;padding:12px 14px;border:1px solid var(--secondary);border-radius:10px;background:var(--primary);color:var(--on-primary);font:inherit}
.subscription-form input[type=email]::placeholder{color:color-mix(in srgb,var(--on-primary) 60%,transparent)}
.subscription-consent{display:flex;align-items:flex-start;gap:10px;font-weight:400!important;line-height:1.6}
.subscription-consent input{flex:0 0 auto;width:18px;height:18px;margin:2px 0;accent-color:var(--secondary)}
.subscription-form .dialog-cta{border:0;font:inherit;cursor:pointer;margin:8px 0 0}
.subscription-form button:disabled{opacity:.6;cursor:wait}
.subscription-status{font-size:12px;margin:0;line-height:1.6}
.subscription-form input:focus-visible{outline:2px solid var(--secondary);outline-offset:3px}
