@import 'https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700&family=Crimson+Pro:wght@400;500;600&family=Great+Vibes&display=swap';input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}:root{--christmas-burgundy:#6B0F2A;--christmas-burgundy-dark:#4A0A1D;--christmas-burgundy-light:#8B1E40;--christmas-green:#1D5E3E;--christmas-green-dark:#0F3D28;--christmas-gold:#D4AF37;--christmas-gold-light:#F0D78C;--christmas-cream:#FDF8F0;--christmas-cream-warm:#F9EDD8;--christmas-snow:#FFFFFF;--christmas-pine:#2D5A3D}.font-cursive{font-family:great vibes,cursive}body{font-family:crimson pro,Georgia,serif;background:linear-gradient(135deg,var(--christmas-cream) 0%,var(--christmas-cream-warm) 100%);position:relative;overflow-x:hidden}body::before{content:'';position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;background-image:radial-gradient(2px 2px at 20px 30px,rgba(255,255,255,.9),transparent),radial-gradient(2px 2px at 40px 70px,rgba(255,255,255,.8),transparent),radial-gradient(1px 1px at 90px 40px,rgba(255,255,255,.9),transparent),radial-gradient(2px 2px at 130px 80px,rgba(255,255,255,.7),transparent),radial-gradient(1px 1px at 160px 120px,rgba(255,255,255,.9),transparent),radial-gradient(2px 2px at 200px 50px,rgba(255,255,255,.8),transparent),radial-gradient(1px 1px at 250px 90px,rgba(255,255,255,.9),transparent),radial-gradient(2px 2px at 280px 130px,rgba(255,255,255,.7),transparent);background-size:300px 200px;animation:snowfall 8s linear infinite;z-index:9999;opacity:.6}@keyframes snowfall{0%{background-position:0 0}100%{background-position:100px 300px}}body::after{content:'';position:fixed;top:0;right:0;width:200px;height:200px;background:radial-gradient(circle at 80% 20%,var(--christmas-gold) 3px,transparent 3px),radial-gradient(circle at 90% 30%,var(--christmas-burgundy) 4px,transparent 4px),radial-gradient(circle at 70% 40%,var(--christmas-green) 3px,transparent 3px);opacity:.3;pointer-events:none;z-index:1}.card{backdrop-filter:blur(10px);background:linear-gradient(145deg,rgba(253,248,240,.95),rgba(249,237,216,.9));border:1px solid rgba(212,175,55,.3);border-radius:8px;box-shadow:0 4px 20px rgba(123,30,58,.1),inset 0 1px rgba(255,255,255,.5);position:relative;overflow:hidden}.card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--christmas-burgundy),var(--christmas-gold),var(--christmas-green),var(--christmas-gold),var(--christmas-burgundy))}.card::after{content:'';position:absolute;top:10px;right:10px;width:30px;height:30px;background:radial-gradient(circle at 30% 50%,var(--christmas-burgundy) 4px,transparent 4px),radial-gradient(circle at 50% 50%,var(--christmas-burgundy) 4px,transparent 4px),radial-gradient(circle at 70% 50%,var(--christmas-burgundy) 4px,transparent 4px),radial-gradient(ellipse 12px 8px at 25% 35%,var(--christmas-green) 100%,transparent),radial-gradient(ellipse 12px 8px at 75% 35%,var(--christmas-green) 100%,transparent),radial-gradient(ellipse 12px 8px at 50% 70%,var(--christmas-green) 100%,transparent);opacity:.8}.btn{text-transform:none;font-weight:600;font-family:playfair display,serif;letter-spacing:.5px;transition:all .3s ease}.input,.select{background-color:rgba(253,248,240,.9);border:1px solid rgba(212,175,55,.4);font-family:crimson pro,serif}.input:focus,.select:focus{border-color:var(--christmas-gold);box-shadow:0 0 0 2px rgba(212,175,55,.2)}h1,h2,h3,h4{font-family:playfair display,serif}.christmas-banner{background:linear-gradient(135deg,var(--christmas-burgundy) 0%,var(--christmas-burgundy-dark) 100%);position:relative;box-shadow:0 4px 15px rgba(123,30,58,.4)}.christmas-banner::before,.christmas-banner::after{content:'';position:absolute;bottom:-10px;width:20px;height:20px;background:var(--christmas-burgundy-dark)}.christmas-banner::before{left:0;clip-path:polygon(0 0,100% 0,100% 100%)}.christmas-banner::after{right:0;clip-path:polygon(0 0,100% 0,0 100%)}.festive-glow{box-shadow:0 0 20px rgba(212,175,55,.3),0 0 40px rgba(212,175,55,.1)}.star-decoration::before{content:'★';position:absolute;color:var(--christmas-gold);font-size:1.5rem;text-shadow:0 0 10px rgba(212,175,55,.8);animation:twinkle 2s ease-in-out infinite}@keyframes twinkle{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.9)}}.pine-divider{height:30px;background:repeating-linear-gradient( 60deg,transparent,transparent 10px,rgba(29,94,62,.1) 10px,rgba(29,94,62,.1) 20px );position:relative}.gift-button{position:relative;overflow:hidden}.gift-button::before{content:'';position:absolute;top:50%;left:-10%;width:120%;height:3px;background:linear-gradient(90deg,transparent,var(--christmas-gold-light),transparent);transform:translateY(-50%);opacity:0;transition:opacity .3s ease}.gift-button:hover::before{opacity:.6}.candlelight{background:radial-gradient(ellipse 100px 50px at 50% 0%,rgba(240,215,140,.15),transparent)}.ornament-decoration{position:relative}.ornament-decoration::before{content:'';position:absolute;top:-8px;left:50%;transform:translateX(-50%);width:2px;height:12px;background:var(--christmas-gold)}.ornament-decoration::after{content:'';position:absolute;top:2px;left:50%;transform:translateX(-50%);width:16px;height:16px;border-radius:50%;background:radial-gradient(circle at 30% 30%,var(--christmas-burgundy),var(--christmas-burgundy-dark));box-shadow:inset -2px -2px 4px rgba(0,0,0,.3),0 2px 4px rgba(0,0,0,.2)}.frosted{backdrop-filter:blur(8px);background:rgba(253,248,240,.85)}@keyframes garland-wave{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}.garland-item{animation:garland-wave 3s ease-in-out infinite}.garland-item:nth-child(2n){animation-delay:.5s}.garland-item:nth-child(3n){animation-delay:1s}.plum-cake-card{border-left:4px solid var(--christmas-burgundy)}.golden-underline{position:relative;display:inline-block}.golden-underline::after{content:'';position:absolute;bottom:-4px;left:0;width:100%;height:2px;background:linear-gradient(90deg,transparent,var(--christmas-gold),transparent)}.price-tag{background:linear-gradient(135deg,var(--christmas-green) 0%,var(--christmas-green-dark) 100%);color:var(--christmas-cream);padding:4px 12px;border-radius:20px;font-family:playfair display,serif;font-weight:600;box-shadow:0 2px 8px rgba(29,94,62,.3);position:relative}.price-tag::before{content:'';position:absolute;left:-6px;top:50%;transform:translateY(-50%);width:12px;height:12px;background:var(--christmas-cream);border-radius:50%;box-shadow:inset 1px 1px 2px rgba(0,0,0,.1)}.wreath-frame{border:3px double var(--christmas-green);border-radius:50%;padding:20px;position:relative}.wreath-frame::before{content:'';position:absolute;top:-5px;left:50%;transform:translateX(-50%);width:20px;height:10px;background:var(--christmas-burgundy);border-radius:0 0 10px 10px}.ribbon-bow{position:relative}.ribbon-bow::before,.ribbon-bow::after{content:'';position:absolute;top:-15px}.ribbon-bow::before{left:calc(50% - 20px);width:0;height:0;border-left:12px solid transparent;border-right:12px solid var(--christmas-burgundy);border-top:8px solid transparent;border-bottom:8px solid transparent}.ribbon-bow::after{right:calc(50% - 20px);width:0;height:0;border-right:12px solid transparent;border-left:12px solid var(--christmas-burgundy);border-top:8px solid transparent;border-bottom:8px solid transparent}@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}.shimmer{background:linear-gradient( 90deg,transparent 0%,rgba(212,175,55,.2) 50%,transparent 100% );background-size:200% 100%;animation:shimmer 3s ease-in-out infinite}