*{margin:0;padding:0;box-sizing:border-box}@font-face{font-family:Christmas Comeback;src:url(/fonts/christmas-comeback.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}:root{--christmas-red: #DC143C;--christmas-gold: #FFD700;--christmas-green: #228B22;--christmas-white: #FFFEF7;--christmas-dark: #0a0a0a;--christmas-dark-green: #0d4d0d;--shadow-soft: rgba(196, 30, 58, .25);--shadow-gold: rgba(255, 215, 0, .4);--shadow-glow: rgba(255, 215, 0, .6)}body{font-family:Inter,sans-serif;background:radial-gradient(circle at 20% 50%,rgba(220,20,60,.15) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(34,139,34,.15) 0%,transparent 50%),radial-gradient(circle at 40% 20%,rgba(255,215,0,.1) 0%,transparent 50%),linear-gradient(135deg,#0a0a0a,#1a0f0f,#0f1a0f,#1a0f0f,#0a0a0a);background-attachment:fixed;color:var(--christmas-white);min-height:100vh;position:relative;overflow-x:hidden}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(2px 2px at 20% 30%,rgba(255,215,0,.3),transparent),radial-gradient(2px 2px at 60% 70%,rgba(255,215,0,.2),transparent),radial-gradient(1px 1px at 50% 50%,rgba(255,255,255,.1),transparent);background-size:200px 200px,300px 300px,150px 150px;background-position:0 0,100px 100px,50px 50px;pointer-events:none;z-index:1;opacity:.6;animation:twinkle 8s ease-in-out infinite alternate}@keyframes twinkle{0%{opacity:.4}to{opacity:.8}}.snowflakes{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:2;overflow:hidden}.snowflake{position:absolute;color:var(--christmas-white);font-size:1.8em;opacity:.8;animation:snowfall linear infinite;top:-10px;filter:drop-shadow(0 0 3px rgba(255,215,0,.3))}.snowflake:nth-child(1){left:5%;animation-duration:10s;animation-delay:0s}.snowflake:nth-child(2){left:12%;animation-duration:12s;animation-delay:1s}.snowflake:nth-child(3){left:20%;animation-duration:14s;animation-delay:2s}.snowflake:nth-child(4){left:28%;animation-duration:11s;animation-delay:.5s}.snowflake:nth-child(5){left:35%;animation-duration:13s;animation-delay:1.5s}.snowflake:nth-child(6){left:42%;animation-duration:15s;animation-delay:2.5s}.snowflake:nth-child(7){left:50%;animation-duration:10s;animation-delay:.3s}.snowflake:nth-child(8){left:58%;animation-duration:12s;animation-delay:1.3s}.snowflake:nth-child(9){left:65%;animation-duration:14s;animation-delay:2.3s}.snowflake:nth-child(10){left:72%;animation-duration:11s;animation-delay:.7s}.snowflake:nth-child(11){left:78%;animation-duration:13s;animation-delay:1.7s}.snowflake:nth-child(12){left:85%;animation-duration:15s;animation-delay:2.7s}.snowflake:nth-child(13){left:8%;animation-duration:16s;animation-delay:.2s}.snowflake:nth-child(14){left:25%;animation-duration:17s;animation-delay:1.2s}.snowflake:nth-child(15){left:45%;animation-duration:18s;animation-delay:2.2s}.snowflake:nth-child(16){left:62%;animation-duration:19s;animation-delay:.8s}.snowflake:nth-child(17){left:75%;animation-duration:20s;animation-delay:1.8s}.snowflake:nth-child(18){left:92%;animation-duration:21s;animation-delay:2.8s}@keyframes snowfall{0%{transform:translateY(0) rotate(0);opacity:.7}50%{opacity:1}to{transform:translateY(100vh) rotate(360deg);opacity:.3}}.header{text-align:center;padding:4rem 2rem 3rem;position:relative;z-index:10}.language-selector{position:fixed!important;top:2rem;right:2rem;display:flex;gap:.75rem;z-index:9999;background:linear-gradient(135deg,#0a0a0af2,#1a0f0ff2);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);padding:.75rem;border-radius:16px;border:3px solid var(--christmas-gold);box-shadow:0 8px 32px #000c,0 0 0 2px #ffd7004d,0 0 30px #ffd70033;will-change:transform}.lang-btn{background:#ffd7001a;border:2px solid rgba(255,215,0,.5);color:#ffd700b3;padding:.75rem 1.5rem;border-radius:10px;font-family:Inter,sans-serif;font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);min-width:60px;position:relative;overflow:visible;text-transform:uppercase;letter-spacing:1px}.lang-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,215,0,.3),transparent);transition:left .5s ease;border-radius:10px}.lang-btn:hover:before{left:100%}.lang-btn:hover{background:#ffd70033;border-color:var(--christmas-gold);color:var(--christmas-gold);transform:translateY(-3px);box-shadow:0 8px 25px #ffd70080}.lang-btn.active{background:linear-gradient(135deg,var(--christmas-gold) 0%,#FFA500 100%);color:var(--christmas-dark);border-color:var(--christmas-gold);box-shadow:0 0 30px gold,0 0 50px #ffd70099,0 8px 25px #00000080,inset 0 2px 10px #ffffff4d;font-weight:700;transform:scale(1.05);animation:pulseGlow 2s ease-in-out infinite}@keyframes pulseGlow{0%,to{box-shadow:0 0 30px gold,0 0 50px #ffd70099,0 8px 25px #00000080,inset 0 2px 10px #ffffff4d}50%{box-shadow:0 0 40px gold,0 0 70px #ffd700cc,0 8px 25px #00000080,inset 0 2px 10px #fff6}}.lang-btn:active{transform:scale(.98)}@media(max-width:768px){.language-selector{top:1.5rem;right:1.5rem;padding:.6rem;gap:.6rem}.lang-btn{padding:.6rem 1.2rem;font-size:.9rem;min-width:55px}}@media(max-width:480px){.language-selector{top:1rem;right:1rem;padding:.5rem;gap:.5rem}.lang-btn{padding:.5rem 1rem;font-size:.85rem;min-width:50px}}.header:after{content:"✨";position:absolute;top:2rem;left:10%;font-size:2rem;animation:float 3s ease-in-out infinite;opacity:.7}.header:before{content:"⭐";position:absolute;top:3rem;right:10%;font-size:1.5rem;animation:float 4s ease-in-out infinite reverse;opacity:.7}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-15px) rotate(10deg)}}.header-content{max-width:900px;margin:0 auto;position:relative}.header-logo-img{max-width:300px;width:100%;height:auto;margin:0 auto 1.5rem;display:block;filter:drop-shadow(0 0 20px rgba(255,215,0,.5));animation:logoGlow 3s ease-in-out infinite alternate}@media(max-width:768px){.header-logo-img{max-width:200px}}@media(max-width:480px){.header-logo-img{max-width:150px}}@keyframes logoGlow{0%{filter:drop-shadow(0 0 20px rgba(255,215,0,.5))}to{filter:drop-shadow(0 0 30px rgba(255,215,0,.8)) drop-shadow(0 0 40px rgba(255,215,0,.4))}}.logo{font-family:Christmas Comeback,Playfair Display,serif;font-size:clamp(2.5rem,6vw,4.5rem);font-weight:700;background:linear-gradient(135deg,gold,orange,gold);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:1.5rem;animation:glow 3s ease-in-out infinite alternate;letter-spacing:2px;position:relative;display:inline-block}.logo:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,gold,orange,gold);filter:blur(20px);opacity:.5;z-index:-1;animation:glow 3s ease-in-out infinite alternate}@keyframes glow{0%{filter:blur(15px);opacity:.4}to{filter:blur(25px);opacity:.7}}.subtitle{font-family:Christmas Comeback,Playfair Display,serif;font-size:clamp(1rem,2.5vw,1.3rem);color:#fffef7e6;font-weight:300;letter-spacing:1px;text-shadow:0 2px 10px rgba(0,0,0,.5);line-height:1.6;filter:none;-webkit-backdrop-filter:none;backdrop-filter:none}.main-content{padding:2rem 1rem 4rem;position:relative;z-index:10}.calendar-container{max-width:1200px;margin:0 auto;padding:0 1rem}.calendar-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1.8rem;padding:3rem 0;justify-items:center;align-items:center;max-width:100%;width:100%;box-sizing:border-box}@media(min-width:1400px){.calendar-grid{gap:2.2rem}}.calendar-box{aspect-ratio:1;position:relative;cursor:pointer;perspective:1200px;transition:transform .4s cubic-bezier(.34,1.56,.64,1);width:100%;max-width:200px;min-width:0;outline:none}.calendar-box:hover{transform:translateY(-8px) scale(1.05)}.calendar-box.opened .box-front{transform:rotateY(-180deg)}.calendar-box.opened .box-back{transform:rotateY(0)}.box-wrapper{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .7s cubic-bezier(.4,0,.2,1);transform-origin:center center}.box-front,.box-back{position:absolute;width:100%;height:100%;backface-visibility:hidden;border-radius:20px;display:flex;align-items:center;justify-content:center;transition:all .4s ease;overflow:hidden;top:0;left:0}.box-front{background:radial-gradient(circle at 30% 30%,rgba(255,215,0,.2) 0%,transparent 50%),linear-gradient(135deg,#dc143c,#b22222,#8b0000);transform:rotateY(0);border:3px solid var(--christmas-gold);box-shadow:0 10px 30px #dc143c66,0 0 0 2px #ffd7004d,inset 0 0 30px #0003;position:relative}.box-front:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(255,215,0,.05) 10px,rgba(255,215,0,.05) 20px);animation:shimmer 3s linear infinite}@keyframes shimmer{0%{transform:translate(-50%) translateY(-50%) rotate(0)}to{transform:translate(-50%) translateY(-50%) rotate(360deg)}}.box-back{background:radial-gradient(circle at 70% 70%,rgba(255,215,0,.15) 0%,transparent 50%),linear-gradient(135deg,#228b22,#1a6b1a,#0d4d0d);transform:rotateY(180deg);border:3px solid var(--christmas-gold);box-shadow:0 10px 30px #228b2266,0 0 0 2px #ffd7004d,inset 0 0 30px #0003}.calendar-box:hover .box-front{box-shadow:0 15px 40px #dc143c99,0 0 0 3px #ffd70099,0 0 30px #ffd70066,inset 0 0 30px #0003;border-color:var(--christmas-gold)}.box-number{font-family:Inter,sans-serif;font-size:clamp(2rem,5vw,3rem);font-weight:700;color:var(--christmas-white);text-shadow:0 0 15px rgba(255,215,0,.6),0 2px 8px rgba(0,0,0,.6),0 4px 12px rgba(0,0,0,.4);position:relative;z-index:2;letter-spacing:1px;display:flex;align-items:center;justify-content:center;width:100%;height:100%}.box-back .box-icon{font-size:clamp(2.5rem,6vw,4rem);animation:bounce 2s ease-in-out infinite;filter:drop-shadow(0 0 15px rgba(255,215,0,.6))}@keyframes bounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-12px) scale(1.1)}}.calendar-box:before{content:"";position:absolute;inset:-4px;background:linear-gradient(45deg,var(--christmas-gold) 0%,var(--christmas-red) 25%,var(--christmas-gold) 50%,var(--christmas-green) 75%,var(--christmas-gold) 100%);background-size:300% 300%;border-radius:24px;opacity:0;z-index:-1;filter:blur(12px);transition:opacity .4s ease;animation:gradientShift 3s ease infinite}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.calendar-box:hover:before{opacity:.8}.box-front:after{content:"❄";position:absolute;top:8px;right:8px;font-size:.8rem;opacity:.4;animation:twinkleBox 2s ease-in-out infinite}@keyframes twinkleBox{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.7;transform:scale(1.2)}}.modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;align-items:center;justify-content:center;padding:2rem;animation:fadeIn .3s ease;overflow-y:auto}.modal.active{display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:radial-gradient(circle at 30% 30%,rgba(255,215,0,.1) 0%,transparent 50%),linear-gradient(135deg,#1a0f0f,#0f0a0a,#1a0f0f);border-radius:28px;max-width:850px;width:100%;max-height:90vh;overflow-y:auto;position:relative;border:3px solid var(--christmas-gold);box-shadow:0 25px 70px #000000b3,0 0 0 2px #ffd70066,0 0 40px #ffd70033,inset 0 0 30px #0000004d;animation:slideUp .4s cubic-bezier(.4,0,.2,1)}.modal-content:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,transparent 0%,var(--christmas-gold) 20%,var(--christmas-red) 40%,var(--christmas-gold) 60%,var(--christmas-green) 80%,transparent 100%);border-radius:28px 28px 0 0;opacity:.8}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-close{position:absolute;top:1rem;right:1rem;background:transparent;border:2px solid var(--christmas-gold);color:var(--christmas-gold);width:40px;height:40px;border-radius:50%;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;z-index:10}.modal-close:hover{background:var(--christmas-gold);color:var(--christmas-dark);transform:rotate(90deg)}.modal-body{padding:3rem 2rem 2rem}.surprise-content{text-align:center}.surprise-content h2{font-family:Inter,sans-serif;font-size:clamp(1.8rem,4vw,2.5rem);color:var(--christmas-gold);margin-bottom:1.5rem;text-shadow:0 2px 8px rgba(212,175,55,.3)}.surprise-content p{font-size:clamp(1rem,2vw,1.2rem);line-height:1.8;color:#fffef7e6;margin-bottom:1.5rem}.surprise-image{width:100%;max-width:500px;height:auto;border-radius:16px;margin:1.5rem auto;box-shadow:0 8px 24px #0006;border:2px solid var(--christmas-gold)}.cta-form{background:#d4af371a;border:2px dashed var(--christmas-gold);border-radius:16px;padding:2rem;margin-top:1.5rem}.cta-form h3{color:var(--christmas-gold);margin-bottom:1rem;font-size:1.5rem}.form-group{margin-bottom:1.5rem;text-align:left}.form-group label{display:block;margin-bottom:.5rem;color:var(--christmas-white);font-weight:500}.form-group input,.form-group textarea{width:100%;padding:.75rem;border:2px solid rgba(212,175,55,.3);border-radius:8px;background:#ffffff1a;color:var(--christmas-white);font-family:Inter,sans-serif;font-size:1rem;transition:all .3s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--christmas-gold);background:#ffffff26;box-shadow:0 0 0 3px #d4af3733}.form-group textarea{min-height:120px;resize:vertical}.file-upload{position:relative;display:inline-block;width:100%}.file-upload input[type=file]{position:absolute;opacity:0;width:100%;height:100%;cursor:pointer}.file-upload-label{display:block;padding:1.5rem;border:2px dashed var(--christmas-gold);border-radius:8px;background:#d4af370d;color:var(--christmas-gold);cursor:pointer;transition:all .3s ease;text-align:center}.file-upload-label:hover{background:#d4af3726;border-color:var(--christmas-gold)}.submit-btn{background:linear-gradient(135deg,var(--christmas-gold) 0%,#B8941F 100%);color:var(--christmas-dark);border:none;padding:1rem 2.5rem;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #d4af374d;width:100%;margin-top:1rem}.submit-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #d4af3780}.embedded-media{margin:1.5rem 0;border-radius:16px;overflow:hidden;box-shadow:0 8px 24px #0006}.embedded-media iframe{width:100%;border:none;min-height:400px}.spotify-embed{min-height:352px}.youtube-embed{aspect-ratio:16 / 9;min-height:400px}.footer{text-align:center;padding:4rem 2rem 3rem;color:#fffef7b3;font-size:clamp(.85rem,2vw,1rem);line-height:2;position:relative;z-index:10;background:linear-gradient(to top,rgba(0,0,0,.3) 0%,transparent 100%);border-top:1px solid rgba(255,215,0,.2)}.footer:before{content:"🎄";display:block;font-size:2rem;margin-bottom:1rem;opacity:.6;animation:float 3s ease-in-out infinite}.footer p{max-width:700px;margin:0 auto;text-shadow:0 2px 8px rgba(0,0,0,.5)}@media(max-width:1200px){.calendar-grid{grid-template-columns:repeat(5,1fr);gap:1.5rem}}@media(max-width:900px){.calendar-grid{grid-template-columns:repeat(4,1fr);gap:1.2rem}.calendar-box{max-width:180px}}@media(max-width:768px){.calendar-grid{grid-template-columns:repeat(4,1fr);gap:1rem}.calendar-box{max-width:150px}.header{padding:3rem 1rem 2rem}.header:after,.header:before{display:none}.modal-content{margin:1rem;max-height:85vh}.modal-body{padding:2rem 1.5rem 1.5rem}.embedded-media iframe{min-height:250px}}@media(max-width:600px){.calendar-grid{grid-template-columns:repeat(3,1fr);gap:.9rem}.calendar-box{max-width:120px}}@media(max-width:480px){.calendar-grid{grid-template-columns:repeat(3,1fr);gap:.75rem}.calendar-box{max-width:100px}.box-number{font-size:1.8rem}.box-back .box-icon{font-size:2rem}}.modal-content::-webkit-scrollbar{width:8px}.modal-content::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.modal-content::-webkit-scrollbar-thumb{background:var(--christmas-gold);border-radius:4px}.modal-content::-webkit-scrollbar-thumb:hover{background:#b8941f}
