*{margin:0;padding:0;box-sizing:border-box}:root{--color-christmas-red: #c41e3a;--color-christmas-green: #165b33;--color-christmas-gold: #d4af37;--color-christmas-dark: #0f1419;--color-christmas-white: #f8f9fa;--color-christmas-cream: #fef5e7;--color-red-light: #e63946;--color-green-light: #2d6a4f;--color-gold-light: #f4d03f;--color-text-dark: #1a1a1a;--color-text-light: #4a5568;--color-bg-light: #ffffff;--color-border: #e2e8f0;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 3rem;--spacing-xxl: 4rem;--font-primary: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-christmas: 0 4px 12px rgba(196, 30, 58, .2);--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem}html{scroll-behavior:smooth}body{font-family:var(--font-primary);color:var(--color-text-dark);background-color:var(--color-christmas-cream);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{min-height:100vh;display:flex;flex-direction:column}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--spacing-sm)}section{padding:var(--spacing-xl) 0}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2;color:var(--color-christmas-dark)}h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.25rem}p{margin-bottom:var(--spacing-sm)}.section-title{font-size:2rem;text-align:center;margin-bottom:var(--spacing-md);color:var(--color-christmas-red)}.section-subtitle{text-align:center;font-size:1.125rem;color:var(--color-text-light);margin-bottom:var(--spacing-lg);max-width:600px;margin-left:auto;margin-right:auto}.btn{display:inline-block;padding:.875rem 1.75rem;font-size:1rem;font-weight:600;text-align:center;text-decoration:none;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;font-family:var(--font-primary);min-height:44px;line-height:1.5}.btn-primary{background-color:var(--color-christmas-red);color:#fff;box-shadow:var(--shadow-christmas)}.btn-primary:hover{background-color:var(--color-red-light);transform:translateY(-2px);box-shadow:0 6px 16px #c41e3a4d}.btn-primary:active{transform:translateY(0)}.btn-secondary{background-color:var(--color-christmas-green);color:#fff;box-shadow:var(--shadow-md)}.btn-secondary:hover{background-color:var(--color-green-light);transform:translateY(-2px)}.btn-random{background:linear-gradient(135deg,var(--color-christmas-gold) 0%,var(--color-gold-light) 100%);color:var(--color-christmas-dark);font-size:1.25rem;padding:1.25rem 2.5rem;box-shadow:var(--shadow-lg)}.btn-random:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 12px 20px #d4af3766}.hero{background:linear-gradient(135deg,var(--color-christmas-dark) 0%,var(--color-christmas-green) 100%);color:#fff;padding:var(--spacing-xxl) 0;text-align:center;min-height:90vh;display:flex;align-items:center;justify-content:center}.hero-content{max-width:800px;margin:0 auto;padding:0 var(--spacing-sm)}.hero-title{font-size:2.5rem;margin-bottom:var(--spacing-md);color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.hero-subtitle{font-size:1.25rem;margin-bottom:var(--spacing-xl);color:var(--color-christmas-cream);line-height:1.6}.hero-cta{display:flex;gap:var(--spacing-md);justify-content:center;flex-wrap:wrap;margin-top:var(--spacing-xl)}.countdown{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:var(--spacing-lg);border-radius:var(--radius-xl);margin:var(--spacing-xl) 0;border:2px solid rgba(255,255,255,.2)}.countdown-label{font-size:1rem;margin-bottom:var(--spacing-md);color:var(--color-christmas-cream);text-transform:uppercase;letter-spacing:1px}.countdown-timer{display:flex;justify-content:center;align-items:center;gap:var(--spacing-xs);flex-wrap:wrap}.countdown-unit{display:flex;flex-direction:column;align-items:center;min-width:70px}.countdown-value{font-size:2.5rem;font-weight:700;color:var(--color-christmas-gold);line-height:1;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.countdown-unit-label{font-size:.875rem;color:var(--color-christmas-cream);margin-top:var(--spacing-xs);text-transform:uppercase;letter-spacing:.5px}.countdown-separator{font-size:2rem;font-weight:700;color:var(--color-christmas-gold);padding:0 var(--spacing-xs)}.category-grid-section{background-color:var(--color-bg-light)}.category-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-md);margin-top:var(--spacing-lg)}.category-card{background:#fff;border:2px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);text-align:center;cursor:pointer;transition:all .3s ease;box-shadow:var(--shadow-sm);font-family:var(--font-primary);min-height:60px;display:flex;align-items:center;justify-content:center}.category-card:hover{border-color:var(--color-christmas-red);background:linear-gradient(135deg,var(--color-christmas-red) 0%,var(--color-red-light) 100%);color:#fff;transform:translateY(-4px);box-shadow:var(--shadow-lg)}.category-card:active{transform:translateY(-2px)}.category-name{font-size:1.125rem;font-weight:600}.category-results{background-color:var(--color-christmas-white);min-height:400px}.gifts-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-lg);margin-top:var(--spacing-lg)}.gift-card{background:#fff;border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-md);transition:all .3s ease;border:2px solid transparent}.gift-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--color-christmas-gold)}.gift-name{font-size:1.25rem;font-weight:700;color:var(--color-christmas-dark);margin-bottom:var(--spacing-sm)}.gift-vibe{color:var(--color-text-light);margin-bottom:var(--spacing-md);line-height:1.6}.gift-cta{display:inline-block;background-color:var(--color-christmas-green);color:#fff;padding:.75rem 1.5rem;border-radius:var(--radius-md);text-decoration:none;font-weight:600;transition:all .2s ease;min-height:44px;line-height:1.5}.gift-cta:hover{background-color:var(--color-green-light);transform:translate(4px)}.random-gift-block{background:linear-gradient(135deg,var(--color-christmas-red) 0%,var(--color-christmas-dark) 100%);color:#fff;padding:var(--spacing-xxl) 0;text-align:center}.random-gift-content{max-width:600px;margin:0 auto;padding:0 var(--spacing-sm)}.random-gift-title{font-size:2rem;margin-bottom:var(--spacing-md);color:#fff}.random-gift-subtitle{font-size:1.125rem;margin-bottom:var(--spacing-xl);color:var(--color-christmas-cream)}.polemic-section{background-color:var(--color-bg-light);border-top:4px solid var(--color-christmas-gold);border-bottom:4px solid var(--color-christmas-gold)}.polemic-title{color:var(--color-christmas-dark)}.polemic-subtitle{font-style:italic;color:var(--color-text-light)}.polemic-disclaimer{text-align:center;margin-top:var(--spacing-xl);padding:var(--spacing-md);background-color:var(--color-christmas-cream);border-left:4px solid var(--color-christmas-gold);border-radius:var(--radius-md);font-style:italic;color:var(--color-text-light)}.footer{background-color:var(--color-christmas-dark);color:var(--color-christmas-cream);padding:var(--spacing-xl) 0;margin-top:auto}.footer-content{max-width:800px;margin:0 auto;padding:0 var(--spacing-sm);text-align:center}.affiliate-disclosure{font-size:.875rem;line-height:1.6;margin-bottom:var(--spacing-md);color:var(--color-christmas-cream)}.affiliate-disclosure strong{color:var(--color-christmas-gold)}.footer-copyright{font-size:.875rem;color:var(--color-text-light);margin-bottom:0}@media(min-width:768px){.hero-title{font-size:3rem}.section-title{font-size:2.5rem}.category-grid,.gifts-grid{grid-template-columns:repeat(2,1fr)}.countdown-unit{min-width:90px}.countdown-value{font-size:3rem}.container{padding:0 var(--spacing-md)}}@media(min-width:1024px){.hero-title{font-size:3.5rem}.category-grid,.gifts-grid{grid-template-columns:repeat(3,1fr)}section{padding:var(--spacing-xxl) 0}}@media(min-width:1280px){.category-grid,.gifts-grid{grid-template-columns:repeat(4,1fr)}}button:focus,a:focus,.category-card:focus{outline:3px solid var(--color-christmas-gold);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.text-center{text-align:center}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.snowfall{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999;overflow:hidden}.snowfall:before,.snowfall:after{content:"";position:absolute;top:-10%;width:100%;height:100%;background-image:radial-gradient(2px 2px at 20% 30%,white,transparent),radial-gradient(2px 2px at 60% 70%,white,transparent),radial-gradient(1px 1px at 50% 50%,white,transparent),radial-gradient(1px 1px at 80% 10%,white,transparent),radial-gradient(2px 2px at 90% 60%,white,transparent),radial-gradient(3px 3px at 15% 80%,white,transparent),radial-gradient(2px 2px at 35% 40%,white,transparent),radial-gradient(1px 1px at 70% 20%,white,transparent);background-size:200px 200px,300px 300px,250px 250px,350px 350px,280px 280px,320px 320px,290px 290px,310px 310px;background-position:0 0,40px 60px,130px 270px,70px 100px,180px 50px,250px 150px,50px 200px,150px 80px;animation:snowfall 15s linear infinite;opacity:.6}.snowfall:after{animation-duration:20s;animation-delay:-5s;opacity:.4;background-size:220px 220px,280px 280px,270px 270px,330px 330px,260px 260px,340px 340px,310px 310px,290px 290px}@keyframes snowfall{0%{transform:translateY(0) translate(0)}to{transform:translateY(100vh) translate(50px)}}@media(min-width:768px){.snowfall{background-image:radial-gradient(3px 3px at 10% 20%,rgba(255,255,255,.8),transparent),radial-gradient(2px 2px at 40% 50%,rgba(255,255,255,.6),transparent),radial-gradient(1px 1px at 75% 15%,rgba(255,255,255,.7),transparent),radial-gradient(2px 2px at 85% 65%,rgba(255,255,255,.5),transparent),radial-gradient(3px 3px at 25% 85%,rgba(255,255,255,.8),transparent);background-size:400px 400px,350px 350px,450px 450px,380px 380px,420px 420px;background-position:0 0,100px 150px,250px 50px,180px 280px,50px 100px;animation:snowfall-bg 25s linear infinite}@keyframes snowfall-bg{0%{background-position:0 0,100px 150px,250px 50px,180px 280px,50px 100px}to{background-position:30px 100vh,130px calc(100vh + 150px),280px calc(100vh + 50px),210px calc(100vh + 280px),80px calc(100vh + 100px)}}}@media(prefers-reduced-motion:reduce){.snowfall,.snowfall:before,.snowfall:after{animation:none!important;opacity:0!important}}.product-page{min-height:100vh;padding:var(--spacing-xxl) 0;background:linear-gradient(135deg,var(--color-christmas-cream) 0%,var(--color-bg-light) 100%)}.product-not-found{display:flex;align-items:center;justify-content:center;text-align:center}.product-content{max-width:800px;margin:0 auto;padding:var(--spacing-lg)}.back-button{background:none;border:none;color:var(--color-christmas-red);font-size:1rem;font-weight:600;cursor:pointer;padding:var(--spacing-sm) 0;margin-bottom:var(--spacing-lg);transition:all .2s ease;font-family:var(--font-primary)}.back-button:hover{color:var(--color-red-light);transform:translate(-4px)}.product-header{margin-bottom:var(--spacing-xl)}.product-category{display:inline-block;background-color:var(--color-christmas-gold);color:var(--color-christmas-dark);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-md);font-size:.875rem;font-weight:600;margin-bottom:var(--spacing-md);text-transform:uppercase;letter-spacing:.5px}.product-title{font-size:2.5rem;color:var(--color-christmas-dark);margin-bottom:var(--spacing-md);line-height:1.2}.product-body{background:#fff;padding:var(--spacing-xl);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);margin-bottom:var(--spacing-xl)}.product-description{font-size:1.25rem;color:var(--color-text-dark);line-height:1.6;margin-bottom:var(--spacing-lg)}.product-hint{font-size:1rem;color:var(--color-text-light);padding:var(--spacing-md);background-color:var(--color-christmas-cream);border-left:4px solid var(--color-christmas-gold);border-radius:var(--radius-md);margin-bottom:var(--spacing-xl)}.product-hint strong{color:var(--color-christmas-dark)}.product-actions{display:flex;gap:var(--spacing-md);flex-wrap:wrap}.btn-amazon{flex:1;min-width:200px;background:linear-gradient(135deg,var(--color-christmas-red) 0%,var(--color-red-light) 100%);color:#fff;font-size:1.125rem;padding:var(--spacing-md) var(--spacing-xl);box-shadow:var(--shadow-christmas)}.btn-amazon:hover{transform:translateY(-3px);box-shadow:0 8px 20px #c41e3a66}.product-footer{text-align:center;padding-top:var(--spacing-lg);border-top:2px solid var(--color-border)}.link-categories{color:var(--color-christmas-green);font-weight:600;text-decoration:none;transition:all .2s ease}.link-categories:hover{color:var(--color-green-light);text-decoration:underline}@media(max-width:767px){.product-title{font-size:2rem}.product-body{padding:var(--spacing-lg)}.product-actions{flex-direction:column}.btn-amazon{width:100%}}@media(min-width:768px){.product-page{padding:var(--spacing-xxl) 0 calc(var(--spacing-xxl) * 1.5) 0}.product-title{font-size:3rem}}
