:root{--primary:#ff6b35;--primary-dark:#e55a2a;--secondary:#8b5cf6;--secondary-dark:#7c3aed;--accent-gold:#f59e0b;--bg:linear-gradient(135deg,#1e3a5f 0%,#0f2744 100%);--bg-solid:#1a3350;--card-bg:rgba(15,23,42,0.96);--card-bg-dark:rgba(20,30,50,0.95);--text-main:#1e293b;--text-light:#f1f5f9;--text-muted:#64748b;--success:#22c55e;--warning:#f59e0b;--error:#ef4444;--radius:16px;--shadow:0 10px 40px rgba(0,0,0,0.2);--surface:rgba(15,23,42,0.96);--border:rgba(148,163,184,0.4);--text-secondary:#9ca3af;--text-tertiary:#64748b;--primary-light:rgba(255,107,53,0.15)}*,*::before,*::after{box-sizing:border-box}body{font-family:'Poppins',sans-serif;background:radial-gradient(circle at top left,#0f172a 0%,#020617 50%,#050816 100%);background-attachment:fixed;color:#e5e7eb;margin:0;line-height:1.6;min-height:100vh}.app-shell{min-height:100vh;display:flex;flex-direction:column}.container{max-width:1120px;margin:0 auto;padding:2.5rem 1.5rem 3rem}h1,h2,h3{margin:0}.hidden{display:none}*:focus-visible{outline:2px solid var(--primary);outline-offset:2px}header{position:sticky;top:0;z-index:20;backdrop-filter:blur(18px);background:linear-gradient(135deg,rgba(15,23,42,0.96),rgba(15,23,42,0.92));border-bottom:1px solid rgba(148,163,184,0.3)}.header-inner{max-width:1120px;margin:0 auto;padding:0.4rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.header-inner h1{margin:0;font-size:1rem;display:flex;align-items:center;gap:0.6rem;letter-spacing:0.04em}.header-inner h1 i{color:var(--primary)}.badge-env{padding:0.25rem 0.75rem;border-radius:999px;background:rgba(15,23,42,0.9);border:1px solid rgba(148,163,184,0.4);font-size:0.75rem;text-transform:uppercase;letter-spacing:0.08em;color:#9ca3af}.brand-logo{font-family:'Outfit',sans-serif;font-weight:800;font-size:1rem;letter-spacing:2px;text-transform:uppercase;background:rgba(15,23,42,0.85);-webkit-background-clip:unset;-webkit-text-fill-color:unset;background-clip:unset;color:#f97316;text-decoration:none;display:inline-block;padding:4px 12px;border-radius:8px;border:1px solid rgba(148,163,184,0.15);backdrop-filter:blur(8px);box-shadow:0 4px 15px rgba(0,0,0,0.3);transition:all 0.3s ease}.brand-logo:hover{letter-spacing:5px;filter:brightness(1.2)}.logo-link{text-decoration:none;color:inherit;transition:opacity 0.2s ease}.logo-link:hover{opacity:0.9}.steps{display:flex;align-items:center;justify-content:center;gap:1.5rem;margin-bottom:2rem;flex-wrap:wrap}.step{display:flex;align-items:center;gap:0.75rem;color:#9ca3af;font-size:0.9rem}.step-index{width:28px;height:28px;border-radius:999px;display:flex;align-items:center;justify-content:center;border:2px solid rgba(148,163,184,0.4);font-weight:600}.step-label{font-size:0.85rem}.step--active .step-index{border-color:var(--primary);background:rgba(255,107,53,0.12);color:var(--primary)}.step--active .step-label{color:#e5e7eb;font-weight:600}.step--done .step-index{border-color:#6366f1;background:rgba(99,102,241,0.18);color:#6366f1}.step--done .step-label{color:#e5e7eb}.step-connector{position:relative;overflow:hidden;flex:0 0 32px;height:2px;background:linear-gradient(to right,rgba(148,163,184,0.4),rgba(148,163,184,0.1))}.step-connector--done{background:linear-gradient(to right,#6366f1,rgba(99,102,241,0.5))}.step--done .step-index i{font-size:0.7rem}.step-connector--done::after{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.4),transparent);animation:shimmer 2s infinite}.card h1{font-size:1rem;margin:0;padding:0}.btn{padding:0.8rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;border:none;transition:0.3s;text-decoration:none;display:inline-block}.btn-primary{background:var(--primary);color:white}.btn-primary:hover{background:var(--primary-dark);transform:translateY(-2px)}.btn-primary:focus-visible{outline:3px solid var(--primary-dark);outline-offset:2px}.btn-secondary{background:#e2e8f0;color:#475569}.btn-secondary:hover{background:#cbd5e1}.btn-secondary:focus-visible{outline:3px solid #94a3b8;outline-offset:2px}.btn-cta-main{position:relative;padding:1.2rem 2.5rem;font-size:1.1rem;font-weight:700;letter-spacing:0.5px;background:linear-gradient(135deg,#ff6b35 0%,#e55a2a 100%);color:white;border:none;border-radius:50px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:0.75rem;box-shadow:0 4px 15px rgba(255,107,53,0.4),0 0 0 0 rgba(255,107,53,0.4);animation:ctaPulse 2s infinite;transition:all 0.3s ease}.btn-cta-main:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 8px 30px rgba(255,107,53,0.5),0 0 40px rgba(255,107,53,0.3);animation:none}.btn-cta-main:active{transform:translateY(-1px) scale(0.98)}.btn-cta-main i{transition:transform 0.3s ease}.btn-cta-main:hover i{transform:translateX(5px)}.btn-cta-glow{box-shadow:0 0 30px rgba(255,107,53,0.4),0 0 60px rgba(255,107,53,0.2);animation:ctaGlow 2s ease-in-out infinite}.btn-amazon{background:linear-gradient(135deg,#ff9900,#ff7c00);color:white;padding:1rem 2rem;font-size:1.1rem;font-weight:700;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;gap:0.75rem;transition:all 0.3s ease;width:fit-content}.btn-amazon:hover{background:linear-gradient(135deg,#ffaa22,#ff8c11);transform:translateY(-3px);box-shadow:0 10px 30px rgba(255,153,0,0.4)}.btn-amazon i{font-size:1.3rem}.btn-amazon-cta{display:flex;align-items:center;justify-content:center;gap:0.5rem;width:100%;margin-top:0.75rem;padding:0.75rem 1rem;background:linear-gradient(135deg,#ff9900,#ff6b35);border:none;border-radius:8px;color:white;font-size:0.9rem;font-weight:600;text-decoration:none;cursor:pointer;transition:all 0.3s ease;box-shadow:0 4px 15px rgba(255,153,0,0.3)}.btn-amazon-cta:hover{background:linear-gradient(135deg,#ffaa22,#ff7c46);transform:translateY(-2px);box-shadow:0 6px 20px rgba(255,153,0,0.4)}.btn-amazon-cta i{font-size:1rem}.btn-cart{background:linear-gradient(135deg,#ff9900,#ff6b35);color:white;padding:1rem 2.5rem;font-size:1.1rem;font-weight:700;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:0.75rem;transition:all 0.3s ease;box-shadow:0 4px 20px rgba(255,153,0,0.3)}.btn-cart:hover{background:linear-gradient(135deg,#ffaa22,#ff7c46);transform:translateY(-3px);box-shadow:0 8px 30px rgba(255,153,0,0.5)}.btn-cart i{font-size:1.2rem}.btn-delete{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;color:#94a3b8;cursor:pointer;transition:all 0.2s ease;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center}.btn-delete:hover{color:#ef4444;background:rgba(239,68,68,0.1);transform:scale(1.1)}.btn-share{background:linear-gradient(135deg,#3b82f6,#2563eb)}.btn-share:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8)}.btn-large{padding:1rem 2.5rem;font-size:1rem;border-radius:8px}.btn-nav-suggestion{width:36px;height:36px;border-radius:50%;background:rgba(99,102,241,0.15);border:1px solid rgba(99,102,241,0.3);color:#a5b4fc;cursor:pointer;transition:all 0.2s ease;display:flex;align-items:center;justify-content:center}.btn-nav-suggestion:hover:not(:disabled){background:rgba(99,102,241,0.3);border-color:rgba(99,102,241,0.5);transform:scale(1.1)}.btn-nav-suggestion:disabled{opacity:0.3;cursor:not-allowed}.btn-close-email{position:absolute;top:10px;right:15px;background:transparent;border:none;color:#64748b;font-size:1.5rem;cursor:pointer;padding:0.5rem;line-height:1;transition:color 0.2s}.btn-close-email:hover{color:#fff}.action-buttons{display:flex;gap:1rem;justify-content:center;margin-top:2rem;flex-wrap:wrap}.btn,.btn-cta-main,.chip-cro{min-height:44px;display:inline-flex;align-items:center;justify-content:center}input,select,textarea{width:100%;padding:0.7rem;border:1px solid rgba(148,163,184,0.4);border-radius:8px;font-family:inherit;font-size:1rem;background-color:rgba(15,23,42,0.85) !important;color:#e5e7eb !important;color-scheme:dark}input::placeholder,textarea::placeholder{color:#64748b}input:focus,select:focus,textarea:focus{outline:2px solid var(--primary);outline-offset:2px;border-color:var(--primary);background-color:rgba(15,23,42,0.95) !important;color:#f1f5f9 !important;box-shadow:0 0 0 3px rgba(255,107,53,0.15);transform:scale(1.01);transition:transform 0.2s ease,outline 0.2s ease,border-color 0.2s ease}.form-group{margin-bottom:1.2rem}label{display:block;font-weight:600;margin-bottom:0.5rem;font-size:0.9rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.full-width{grid-column:span 2}.input-group{display:flex;gap:0.5rem;margin-bottom:0.75rem}.input-group input{flex:1;background:rgba(255,255,255,0.05);border:1px solid rgba(148,163,184,0.2);border-radius:8px;padding:0.75rem 1rem;color:white;font-family:inherit;font-size:0.95rem;transition:all 0.2s}.input-group input:focus{border-color:var(--secondary);outline:none;background:rgba(255,255,255,0.1)}.input-group .btn{border-radius:8px;padding:0 1.25rem}.form-check-legal{display:flex;align-items:flex-start;gap:0.5rem;font-size:0.75rem;color:var(--text-muted)}.form-check-legal input{margin-top:0.2rem}.form-check-legal a{color:var(--text-secondary);text-decoration:underline}input.readonly{background:rgba(255,255,255,0.05) !important;cursor:not-allowed;opacity:0.8}.form-helper{display:block;font-size:0.75rem;color:var(--text-secondary);margin-top:0.25rem;font-style:italic}.label-hint{font-weight:400;color:#9ca3af;font-size:0.8rem}.tags-container{display:flex;flex-wrap:wrap;gap:0.5rem;margin-top:0.5rem}.tag-chip{display:inline-flex;cursor:pointer}.tag-chip input[type="checkbox"]{position:absolute;opacity:0;pointer-events:none}.tag-chip-label{display:inline-flex;align-items:center;gap:0.35rem;padding:0.5rem 0.85rem;background:rgba(15,23,42,0.85);border:2px solid rgba(255,255,255,0.1);border-radius:50px;font-size:0.85rem;color:var(--text,#f1f5f9);transition:all 0.2s ease}.tag-chip-label:hover{border-color:var(--primary,#6366f1);background:rgba(99,102,241,0.1)}.tag-chip input:checked+.tag-chip-label{background:linear-gradient(135deg,var(--primary,#6366f1),#818cf8);border-color:transparent;color:white;box-shadow:0 2px 10px rgba(99,102,241,0.3)}.tag-emoji{font-size:1rem}.tag{display:none}.gender-chips{display:flex;gap:0.5rem;margin-top:0.5rem}.gender-chip{display:flex;align-items:center;gap:0.4rem;padding:0.6rem 1rem;background:rgba(15,23,42,0.85);border:2px solid rgba(255,255,255,0.1);border-radius:50px;cursor:pointer;transition:all 0.2s ease;font-family:inherit;font-size:0.9rem;color:var(--text,#f1f5f9)}.gender-chip:hover{border-color:var(--primary,#6366f1);background:rgba(99,102,241,0.1)}.gender-chip.selected{background:linear-gradient(135deg,var(--primary,#6366f1),#818cf8);border-color:transparent;color:white;box-shadow:0 2px 10px rgba(99,102,241,0.3)}.gender-chip .chip-emoji{font-size:1.1rem}.occasion-selector{display:flex;flex-direction:column;gap:1.25rem;margin-top:0.75rem}.occasion-group{background:rgba(255,255,255,0.02);border-radius:8px;padding:1rem;border:1px solid rgba(255,255,255,0.06)}.occasion-group-title{font-size:0.9rem !important;font-weight:700 !important;color:#f1f5f9 !important;margin-bottom:0.75rem;padding:0.5rem 0.75rem;background:linear-gradient(90deg,rgba(99,102,241,0.3),transparent);border-left:3px solid #818cf8;border-radius:0 8px 8px 0;letter-spacing:0.03em}.occasion-chips{display:flex;flex-wrap:wrap;gap:0.5rem}.occasion-chip{display:flex;align-items:center;gap:0.5rem;padding:0.6rem 1rem;background:rgba(15,23,42,0.85);border:2px solid rgba(255,255,255,0.1);border-radius:50px;cursor:pointer;transition:all 0.2s ease;font-family:inherit;font-size:0.9rem;color:var(--text,#f1f5f9)}.occasion-chip:hover{border-color:var(--primary,#6366f1);background:rgba(99,102,241,0.1);transform:translateY(-2px)}.occasion-chip.selected{background:linear-gradient(135deg,var(--primary,#6366f1),#818cf8);border-color:transparent;color:white;box-shadow:0 4px 15px rgba(99,102,241,0.4)}.occasion-chip.selected .chip-label{font-weight:600}.chip-emoji{font-size:1.1rem}.chip-label{white-space:nowrap}select optgroup{font-weight:600;font-style:normal;color:var(--primary-light,#a5b4fc);background:rgba(15,23,42,0.85);padding:8px 0;margin-top:4px}select optgroup:first-of-type{margin-top:0}select optgroup option{font-weight:400;color:var(--text,#f1f5f9);background:var(--bg,#0f172a);padding:8px 12px;padding-left:20px}select optgroup option:hover,select optgroup option:focus{background:var(--primary,#6366f1);color:white}select#occasion{padding:12px 16px;font-size:1rem}.budget-strategy-selector{display:flex;flex-direction:column;gap:0.75rem;margin-top:0.75rem}.budget-card{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:rgba(15,23,42,0.85);border:2px solid rgba(255,255,255,0.08);border-radius:8px;cursor:pointer;transition:all 0.2s ease}.budget-card:hover{border-color:var(--primary,#6366f1);background:rgba(99,102,241,0.08);transform:translateX(4px)}.budget-card.selected{background:linear-gradient(135deg,rgba(99,102,241,0.15),rgba(129,140,248,0.1));border-color:var(--primary,#6366f1);box-shadow:0 4px 20px rgba(99,102,241,0.2)}.budget-card.selected .budget-card-title{color:#a5b4fc}.budget-card-icon{font-size:1.75rem;min-width:40px;text-align:center}.budget-card-content{flex:1}.budget-card-title{font-weight:600;font-size:1rem;color:var(--text,#f1f5f9);margin-bottom:0.25rem}.budget-card-desc{font-size:0.8rem;color:var(--text-secondary,#94a3b8)}.budget-calculation{margin-top:0.75rem;padding:0.75rem 1rem;background:rgba(99,102,241,0.1);border-radius:8px;font-size:0.85rem;color:#a5b4fc;border-left:3px solid var(--primary,#6366f1)}.budget-calculation:empty{display:none}.budget-calculation strong{color:#c7d2fe}.card{background:rgba(15,23,42,0.96);border-radius:18px;padding:1.75rem 1.6rem;border:1px solid rgba(148,163,184,0.4);box-shadow:0 24px 60px rgba(15,23,42,0.95);transition:box-shadow 0.3s ease}.card:hover{box-shadow:0 28px 70px rgba(15,23,42,0.98)}.card-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.card-title{font-size:1.1rem;font-weight:600}.card-subtitle{font-size:0.85rem;color:#9ca3af}.badge-step{padding:0.25rem 0.7rem;border-radius:999px;font-size:0.75rem;background:rgba(99,102,241,0.18);color:#6366f1}.analysis-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.3fr);gap:2rem;align-items:flex-start}.profile-card{position:relative;border-left:6px solid var(--primary);animation:slideIn 0.3s ease-out}.gifts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:1.5rem}.gift-card{background:linear-gradient(145deg,rgba(30,41,59,0.95),rgba(15,23,42,0.98));border:1px solid rgba(148,163,184,0.2);border-radius:16px;overflow:hidden;transition:all 0.3s ease;animation:cardFadeIn 0.4s ease-out;position:relative}.gift-card:hover{border-color:rgba(99,102,241,0.4);box-shadow:0 10px 40px rgba(0,0,0,0.3)}.gift-image{background:white;padding:1rem;display:flex;align-items:center;justify-content:center;min-height:160px;position:relative}.gift-image img{max-height:140px;max-width:100%;object-fit:contain}.gift-rating-badge{position:absolute;top:8px;right:8px;background:rgba(251,191,36,0.15);color:#fbbf24;padding:4px 10px;border-radius:8px;font-size:0.75rem;font-weight:600}.gift-content{padding:1rem}.gift-owner{font-weight:700;color:var(--primary);font-size:0.9rem;margin-bottom:0.5rem}.prime-mini{background:linear-gradient(135deg,#00a8e1,#0073bb);color:white;padding:2px 8px;border-radius:4px;font-size:0.7rem;font-weight:600;margin-left:0.5rem}.gift-title{font-size:0.95rem;font-weight:500;color:#e5e7eb;margin:0.5rem 0;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.gift-price-row{display:flex;align-items:center;gap:0.75rem;margin:0.5rem 0}.gift-price{font-size:1.2rem;font-weight:700;color:var(--primary)}.gift-reason{font-size:0.8rem;color:#9ca3af;margin:0.5rem 0;line-height:1.6;font-style:italic;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.gift-rating{color:#fbbf24;font-size:0.9rem;margin-bottom:0.5rem}.savings-badge{display:inline-block;background:linear-gradient(135deg,#10b981,#059669);color:white;font-size:0.7rem;font-weight:600;padding:0.2rem 0.5rem;border-radius:4px;margin-left:0.5rem;text-transform:uppercase}.single-result-container{margin-bottom:1.5rem}.result-nav{text-align:center;margin-top:1.5rem}.suggestion-nav{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:0.75rem;padding-top:0.75rem;border-top:1px solid rgba(148,163,184,0.15)}.suggestion-indicator{color:#9ca3af;font-size:0.85rem;font-weight:500;min-width:50px;text-align:center}.suggestion-counter{margin-top:1rem;font-size:0.85rem;color:#9ca3af}.gift-card-mini.no-result{display:flex;align-items:center;justify-content:center;min-height:200px;color:#9ca3af;font-style:italic}.no-results{text-align:center;color:#9ca3af;padding:2rem;font-style:italic}.gift-reveal{animation:unwrapGift 0.8s cubic-bezier(0.34,1.56,0.64,1)}.cart-container{margin-top:2rem;padding:1.5rem;background:linear-gradient(145deg,rgba(255,153,0,0.1),rgba(255,107,53,0.1));border:2px solid rgba(255,153,0,0.3);border-radius:16px;animation:cartSlideIn 0.4s ease-out}.cart-summary{display:flex;flex-direction:column;gap:1rem;align-items:center}.cart-info{display:flex;gap:2rem;align-items:center;flex-wrap:wrap;justify-content:center}.cart-count{font-size:1.1rem;font-weight:600;color:#e5e7eb}.cart-total{font-size:1.4rem;font-weight:700;color:#ff9900}.hero-subtitle{font-size:1.15rem;color:#e2e8f0;margin-bottom:1.5rem;line-height:1.7}.cta-microcopy{font-size:0.85rem;color:#94a3b8;margin-top:0.75rem;display:flex;align-items:center;justify-content:center;gap:0.5rem}.cta-microcopy i{color:#fbbf24}.loss-aversion-hint{text-align:center;font-size:0.8rem;color:#64748b;margin-top:0.75rem;padding:0.5rem 1rem;background:rgba(245,158,11,0.1);border-radius:8px;border-left:3px solid #f59e0b}.loss-aversion-hint strong{color:#d97706}.progress-container{width:100%;height:6px;background:rgba(148,163,184,0.2);border-radius:3px;margin-bottom:1.5rem;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--secondary));border-radius:3px;transition:width 0.5s ease}.status-indicator{text-align:center;padding:1.5rem}.status-indicator p{margin-top:1rem;color:#9ca3af;animation:pulse 2s infinite}.card-loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(15,23,42,0.95);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;z-index:10;border-radius:16px}.card-loading-overlay span{color:#a5b4fc;font-size:0.9rem;font-weight:500}.loading-spinner{width:40px;height:40px;border:3px solid rgba(99,102,241,0.2);border-top-color:#6366f1;border-radius:50%;animation:spin 0.8s linear infinite}.spinner{width:50px;height:50px;border:5px solid #f3f3f3;border-top:5px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 20px}.skeleton{background:linear-gradient(90deg,var(--surface) 25%,var(--surface-light) 50%,var(--surface) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:8px}.skeleton-card{height:300px;margin-bottom:1rem}.skeleton-text{height:1rem;margin-bottom:0.5rem;width:80%}[data-tooltip]{position:relative;cursor:help}[data-tooltip]::after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translateX(-50%) translateY(-5px);background:#1e293b;color:white;padding:0.5rem 0.75rem;border-radius:6px;font-size:0.75rem;white-space:nowrap;opacity:0;pointer-events:none;transition:all 0.2s ease;z-index:100}[data-tooltip]:hover::after{opacity:1;transform:translateX(-50%) translateY(-10px)}.purchase-confirmation-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:9999;display:flex;align-items:center;justify-content:center}.purchase-confirmation-modal .modal-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.7);backdrop-filter:blur(4px)}.purchase-confirmation-modal .modal-content{position:relative;background:var(--card-bg);border-radius:20px;padding:2.5rem;max-width:420px;width:90%;text-align:center;box-shadow:0 25px 80px rgba(0,0,0,0.5);animation:modalAppear 0.4s ease-out}.purchase-confirmation-modal .modal-icon-wrapper{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#10b981,#059669);display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;animation:iconPulse 1.5s ease-in-out infinite}.purchase-confirmation-modal .modal-icon-wrapper i{font-size:2.5rem;color:white}.purchase-confirmation-modal h3{font-size:1.5rem;margin-bottom:0.75rem;color:var(--text)}.purchase-confirmation-modal p{color:var(--text-secondary);margin-bottom:0.5rem}.purchase-confirmation-modal .modal-countdown{font-size:0.9rem;color:var(--primary);font-weight:600;margin:1rem 0}.purchase-confirmation-modal .modal-countdown span{display:inline-block;min-width:20px;animation:countdownBlink 1s ease-in-out infinite}.purchase-confirmation-modal .modal-actions{margin:1.5rem 0}.purchase-confirmation-modal .share-prompt{border-top:1px solid rgba(255,255,255,0.1);padding-top:1.25rem;margin-top:1.25rem}.purchase-confirmation-modal .share-prompt p{font-size:0.85rem;margin-bottom:0.75rem}#btnNextSuggestion{background:linear-gradient(135deg,rgba(99,102,241,0.2),rgba(139,92,246,0.2));border:2px solid rgba(99,102,241,0.5);color:#a5b4fc;transition:all 0.3s ease}#btnNextSuggestion:hover:not(:disabled){background:linear-gradient(135deg,rgba(99,102,241,0.3),rgba(139,92,246,0.3));transform:translateY(-2px);box-shadow:0 8px 25px rgba(99,102,241,0.3)}#btnNextSuggestion:disabled{opacity:0.5;cursor:not-allowed;background:rgba(99,102,241,0.1)}#liveCounter{transition:transform 0.3s ease}.flash{animation:flashPulse 0.3s ease}.tag span{transition:all 0.2s ease}.tag:hover span{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,0.15)}.tag input:checked+span{transform:scale(1.05)}.chip-cro{padding:0.75rem 1.25rem;border:2px solid rgba(148,163,184,0.3);border-radius:25px;background:transparent;color:#e2e8f0;font-size:0.95rem;font-weight:500;cursor:pointer;transition:all 0.3s ease;position:relative}.chip-cro:hover{border-color:var(--primary);background:rgba(255,107,53,0.1)}.chip-cro.active{border-color:var(--primary);background:var(--primary);color:white}.legal-page{padding-bottom:100px}.legal-page .card{max-width:900px;margin:0 auto;padding:3rem !important;background:rgba(15,23,42,0.8) !important;backdrop-filter:blur(12px);border:1px solid rgba(148,163,184,0.1)}.legal-page h1{text-align:center;margin-bottom:2rem;font-size:2.5rem !important;background:linear-gradient(135deg,white 0%,var(--text-light) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;border-bottom:1px solid rgba(148,163,184,0.1);padding-bottom:2rem}.legal-page h1 i{color:var(--primary)}.legal-update{display:table;margin:0 auto 3rem;padding:0.5rem 1rem;background:rgba(255,255,255,0.05);border-radius:20px;color:var(--text-muted);font-size:0.85rem}.legal-intro{font-size:1.05rem;margin-bottom:2rem;padding:1rem;background:rgba(255,107,53,0.1);border-left:4px solid var(--primary);border-radius:0 8px 8px 0}.legal-section{margin-bottom:2.5rem;padding:2rem;background:rgba(255,255,255,0.02);border:1px solid rgba(148,163,184,0.08);border-radius:8px;transition:all 0.3s ease}.legal-section:hover{background:rgba(255,255,255,0.04);border-color:rgba(99,102,241,0.2);transform:translateY(-2px)}.legal-section h2{font-size:1.4rem !important;color:var(--secondary) !important;margin-bottom:1.5rem !important;display:flex;align-items:center;gap:0.75rem}.legal-section h2::before{content:'';display:block;width:6px;height:24px;background:var(--secondary);border-radius:4px}.legal-section h3{font-size:1rem;color:var(--text-main);margin:1rem 0 0.5rem}.legal-section p,.legal-section li{font-size:1rem;line-height:1.8;color:var(--text-secondary)}.legal-section ul{background:rgba(0,0,0,0.2);padding:1.5rem;border-radius:8px;border:1px solid rgba(148,163,184,0.05)}.legal-section li{margin-bottom:0.75rem;padding-left:1.5rem;position:relative}.legal-section li::before{content:"?";color:var(--primary);position:absolute;left:0;font-size:0.9rem}.legal-section a{color:var(--primary);text-decoration:none}.legal-section a:hover{text-decoration:underline}.legal-section strong{color:white;font-weight:600}.legal-note{background:rgba(59,130,246,0.1) !important;border-left:4px solid #3b82f6;color:#93c5fd !important;padding:1rem;border-radius:0 8px 8px 0;margin-top:1rem}.legal-table{width:100%;border-collapse:collapse;margin:1rem 0;font-size:0.9rem}.legal-table th,.legal-table td{padding:0.75rem;text-align:left;border:1px solid rgba(148,163,184,0.3)}.legal-table th{background:rgba(15,23,42,0.5);font-weight:600;color:var(--text-main)}.legal-table td{color:var(--text-secondary)}.legal-highlight{background:rgba(239,68,68,0.1);border:1px solid rgba(239,68,68,0.3);border-radius:8px;padding:1rem}.legal-highlight li{display:flex;align-items:center;gap:0.5rem}.legal-highlight i.fa-times-circle{color:#ef4444}.rights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin:1rem 0}.right-item{background:rgba(15,23,42,0.5);border-radius:8px;padding:1rem;text-align:center}.right-item i{font-size:1.5rem;color:var(--primary);margin-bottom:0.5rem}.right-item strong{display:block;font-size:0.85rem;margin-bottom:0.25rem}.right-item p{font-size:0.75rem;margin:0}.amazon-disclosure{display:flex;align-items:center;gap:1rem;padding:1rem;background:linear-gradient(135deg,#ff9900,#ff6600);border-radius:8px;margin:1rem 0}.amazon-disclosure i{font-size:2rem;color:white}.amazon-disclosure p{color:white;margin:0;font-size:0.95rem}.legal-links{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(148,163,184,0.3)}.legal-links a{display:inline-flex;align-items:center;gap:0.5rem;padding:0.6rem 1rem;background:rgba(15,23,42,0.7);border:1px solid rgba(148,163,184,0.3);border-radius:8px;color:var(--text-secondary);text-decoration:none;font-size:0.85rem;transition:all 0.2s ease}.legal-links a:hover{border-color:var(--primary);color:var(--primary)}.site-footer{background:rgba(15,23,42,0.98);border-top:1px solid rgba(148,163,184,0.2);padding:1.5rem 1rem;margin-top:auto}.footer-content{max-width:900px;margin:0 auto;text-align:center}.amazon-affiliate{font-size:0.75rem;color:var(--text-muted);margin-bottom:1rem;padding:0.5rem 1rem;background:rgba(255,153,0,0.1);border-radius:4px;display:inline-block}.footer-links{display:flex;justify-content:center;gap:1.5rem;margin-bottom:1rem;flex-wrap:wrap}.footer-links a{color:var(--text-secondary);text-decoration:none;font-size:0.85rem;transition:color 0.2s ease}.footer-links a:hover{color:var(--primary)}.copyright{font-size:0.75rem;color:var(--text-muted);margin:0}.cookie-banner{position:fixed;bottom:auto !important;right:auto !important;left:50% !important;top:50% !important;transform:translate(-50%,-50%) scale(0.9);width:90% !important;max-width:480px !important;background:rgba(15,23,42,0.98) !important;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,0.1) !important;box-shadow:0 25px 50px -12px rgba(0,0,0,0.9) !important;border-radius:24px !important;padding:2.5rem !important;opacity:0;pointer-events:none;transition:all 0.5s cubic-bezier(0.19,1,0.22,1) !important;z-index:2147483647 !important;text-align:center;overflow:visible !important}.cookie-banner::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#6366f1,#8b5cf6,#ec4899);border-radius:24px 24px 0 0}.cookie-banner.visible{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}.cookie-content{display:flex;flex-direction:column;gap:1.5rem;align-items:center}.cookie-text{font-size:1.05rem;color:#e2e8f0;line-height:1.6}.cookie-text i{display:block;font-size:3.5rem;margin-bottom:0.5rem;background:linear-gradient(135deg,#fbbf24,#d97706);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 4px 15px rgba(251,191,36,0.5))}.cookie-text a{color:var(--primary);text-decoration:none;font-weight:600;border-bottom:1px solid transparent;transition:border-color 0.2s}.cookie-text a:hover{border-bottom-color:var(--primary)}.cookie-buttons{display:flex;gap:1rem;width:100%}.cookie-btn{padding:1rem 1.5rem;border-radius:8px;font-weight:600;font-size:1rem;flex:1;transition:all 0.2s;cursor:pointer;border:none;display:flex;align-items:center;justify-content:center}.cookie-btn-accept{background:linear-gradient(135deg,#6366f1,#4f46e5);color:white;box-shadow:0 4px 20px rgba(99,102,241,0.4)}.cookie-btn-accept:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(99,102,241,0.6)}.cookie-btn-decline{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);color:#cbd5e1}.cookie-btn-decline:hover{background:rgba(255,255,255,0.1);color:white}.cookie-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.75);backdrop-filter:blur(4px);z-index:2147483640 !important;opacity:0;pointer-events:none;transition:opacity 0.4s ease}.cookie-overlay.visible{opacity:1;pointer-events:auto}.email-capture-card{position:fixed !important;top:50% !important;left:50% !important;transform:translate(-50%,-50%) scale(0.9);margin:0 !important;width:90% !important;max-width:520px !important;background:#1e293b !important;border:1px solid rgba(139,92,246,0.3) !important;box-shadow:0 0 0 100vmax rgba(0,0,0,0.7),0 20px 60px rgba(0,0,0,0.5) !important;border-radius:16px;padding:1.5rem;position:relative;overflow:hidden;z-index:99999 !important;opacity:0;pointer-events:none;transition:all 0.5s cubic-bezier(0.19,1,0.22,1) !important}.email-capture-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,var(--secondary),var(--secondary-dark))}.email-capture-card.visible{opacity:1 !important;pointer-events:auto !important;transform:translate(-50%,-50%) scale(1) !important}.email-content{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.email-icon-wrapper{width:48px;height:48px;background:rgba(139,92,246,0.15);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.email-icon-wrapper i{font-size:1.5rem;color:var(--secondary)}.email-text h3{margin:0 0 0.25rem;font-size:1.1rem;color:var(--text-light)}.email-text p{margin:0;font-size:0.9rem;color:var(--text-muted)}.email-success{background:rgba(34,197,94,0.1);color:var(--success);padding:1rem;border-radius:8px;text-align:center;font-weight:500;display:flex;align-items:center;justify-content:center;gap:0.5rem;animation:fadeIn 0.3s ease}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{from{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.6}}@keyframes ctaPulse{0%{box-shadow:0 4px 15px rgba(255,107,53,0.4),0 0 0 0 rgba(255,107,53,0.4)}70%{box-shadow:0 4px 15px rgba(255,107,53,0.4),0 0 0 15px rgba(255,107,53,0)}100%{box-shadow:0 4px 15px rgba(255,107,53,0.4),0 0 0 0 rgba(255,107,53,0)}}@keyframes ctaGlow{0%,100%{box-shadow:0 0 30px rgba(255,107,53,0.4),0 0 60px rgba(255,107,53,0.2)}50%{box-shadow:0 0 40px rgba(255,107,53,0.6),0 0 80px rgba(255,107,53,0.3)}}@keyframes shimmer{100%{left:100%}}@keyframes cardFadeIn{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes cartSlideIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes skeleton-loading{0%{background-position:200% 0}100%{background-position:-200% 0}}@keyframes flashPulse{0%,100%{box-shadow:0 0 0 0 rgba(99,102,241,0)}50%{box-shadow:0 0 20px 5px rgba(99,102,241,0.4)}}@keyframes unwrapGift{0%{transform:scale(0.7) rotateY(-15deg);opacity:0;filter:blur(10px)}50%{transform:scale(1.05) rotateY(5deg);filter:blur(0)}100%{transform:scale(1) rotateY(0);opacity:1}}@keyframes modalAppear{0%{transform:scale(0.8) translateY(20px);opacity:0}100%{transform:scale(1) translateY(0);opacity:1}}@keyframes iconPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes countdownBlink{0%,100%{opacity:1}50%{opacity:0.5}}.app-shell{animation:fadeInUp 0.4s ease-out}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important}}@media (prefers-color-scheme:dark){:root{--bg:#0f172a;--card-bg:#1e293b;--text-main:#f1f5f9}.card{background:rgba(30,41,59,0.8);border-color:rgba(255,255,255,0.1)}input,select,textarea{background:#1e293b;border-color:#334155;color:#f1f5f9}}@media (min-width:901px){.gift-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,0.25)}.gift-card{transition:transform 0.3s ease,box-shadow 0.3s ease,border-color 0.3s ease}}@media (max-width:900px){.analysis-layout{grid-template-columns:minmax(0,1fr)}}@media (max-width:768px){header{padding:0 !important}.header-inner{padding:0.2rem 0.75rem !important}.header-inner h1{font-size:0.8rem !important;margin:0 !important}.brand-logo{font-size:0.75rem !important;letter-spacing:1px !important;padding:2px 8px !important}.badge-env{font-size:0.55rem !important;padding:0.1rem 0.4rem !important}}@media (max-width:640px){.form-grid{grid-template-columns:1fr}.full-width{grid-column:span 1}.profile-card{overflow:hidden}.profile-card textarea,.profile-card input,.profile-card select{max-width:100%}.header-inner{padding-inline:1rem}.btn{width:100%}.cart-info{flex-direction:column;gap:0.5rem}.btn-cart{width:100%;padding:1rem}.gifts-grid{grid-template-columns:1fr}.steps{gap:0.5rem}.step-connector{display:none}.step:not(.step--active) .step-label{display:none}.step:not(.step--active) .step-index{width:24px;height:24px;font-size:0.75rem}.progress-container{height:8px}.site-footer{padding-bottom:50px}.cookie-banner{width:90% !important;padding:2rem 1.5rem !important;border-radius:20px !important}.cookie-content{flex-direction:column;align-items:flex-start;text-align:left}.cookie-buttons{width:100%;margin-top:1rem}.legal-page .card{padding:1.5rem !important}.legal-section{padding:1rem}.legal-page h1{font-size:1.8rem !important}.legal-table{font-size:0.8rem}.legal-table th,.legal-table td{padding:0.5rem}.rights-grid{grid-template-columns:repeat(2,1fr)}.email-capture-card{width:95% !important;padding:1.5rem 1rem !important;top:50% !important;transform:translate(-50%,-50%) !important}.email-content{flex-direction:column;text-align:center;margin-bottom:1rem}.email-icon-wrapper{margin-bottom:0.5rem}.input-group{flex-direction:column;gap:0.5rem}.input-group input{width:100%}.input-group button{width:100%}}@media (max-width:600px){.occasion-chips{gap:0.4rem}.occasion-chip{padding:0.5rem 0.75rem;font-size:0.8rem}.chip-emoji{font-size:1rem}.budget-card{padding:0.85rem 1rem}.budget-card-icon{font-size:1.5rem}.budget-card-title{font-size:0.9rem}}