@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --bg:#F8FAFC;--surface:#FFFFFF;--surface2:#F1F5F9;--border:#E2E8F0;
  --primary:#0F172A;--primary-dark:#020617;--accent:#2563EB;--accent-hover:#1D4ED8;--danger:#DC2626;--success:#059669;
  --text:#0F172A;--text-muted:#475569;--text-dim:#94A3B8;
  --radius:8px;--shadow:0 4px 6px -1px rgba(0,0,0,.05),0 2px 4px -1px rgba(0,0,0,.03);
}
html{scroll-behavior:smooth}
body{font-family:'Inter',sans-serif;background:var(--bg);color:var(--text);line-height:1.6;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{max-width:1280px;margin:0 auto;padding:0 20px}

/* ---- Top Bar ---- */
.top-bar{background:var(--primary);padding:10px 0;text-align:center;font-size:.85rem;font-weight:500;color:#fff;letter-spacing:.3px}
.top-bar .countdown{display:inline-flex;gap:4px;font-variant-numeric:tabular-nums;font-weight:700;color:#FBBF24}
.top-bar .countdown span{background:rgba(255,255,255,.1);padding:2px 6px;border-radius:4px}

/* ---- Navbar ---- */
.navbar{background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:1000;padding:16px 0;box-shadow:0 1px 2px 0 rgba(0,0,0,.03)}
.nav-inner{display:flex;align-items:center;justify-content:space-between}
.logo{font-size:1.4rem;font-weight:800;letter-spacing:-.5px;color:var(--primary)}
.logo span{font-weight:400;color:var(--text-muted)}
.nav-links{display:flex;align-items:center;gap:32px;list-style:none}
.nav-links a{font-weight:500;font-size:.95rem;transition:color .2s;color:var(--text-muted)}
.nav-links a:hover{color:var(--primary)}
.nav-links a.active{color:var(--accent);font-weight:600}
.cart-link{position:relative;display:flex;align-items:center;gap:6px;color:var(--primary) !important}
.cart-count{position:absolute;top:-8px;right:-12px;background:var(--accent);color:#fff;font-size:.7rem;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700}
.menu-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:4px}
.menu-toggle span{width:24px;height:2px;background:var(--primary);transition:.3s}
.menu-toggle.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.menu-toggle.active span:nth-child(2){opacity:0}
.menu-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}
.search-box{display:flex;align-items:center;background:var(--surface2);border:1px solid transparent;border-radius:8px;padding:10px 16px;gap:8px;width:340px;transition:.2s}
.search-box:focus-within{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px rgba(37,99,235,.1)}
.search-box input{background:none;border:none;outline:none;color:var(--text);font-size:.9rem;width:100%}
.search-box svg{flex-shrink:0;color:var(--text-muted)}

/* ---- Hero ---- */
.hero{position:relative;padding:60px 0;background:var(--surface);border-bottom:1px solid var(--border)}
.hero-inner{display:flex;align-items:center;gap:60px}
.hero-content{flex:1;max-width:600px}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:var(--surface2);color:var(--text);padding:6px 14px;border-radius:4px;font-size:.85rem;font-weight:600;margin-bottom:24px;border:1px solid var(--border)}
.hero h1{font-size:3.5rem;font-weight:800;line-height:1.15;margin-bottom:20px;color:var(--primary);letter-spacing:-1px}
.hero p{font-size:1.1rem;color:var(--text-muted);margin-bottom:36px;max-width:540px;line-height:1.7}
.hero-buttons{display:flex;gap:16px;flex-wrap:wrap}
.hero-visual{flex:1;display:grid;grid-template-columns:repeat(2, 1fr);gap:16px}
.hero-visual .hero-img{border-radius:var(--radius);overflow:hidden;background:var(--surface2);aspect-ratio:4/5}
.hero-visual .hero-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.hero-visual .hero-img:hover img{transform:scale(1.05)}
.hero-stats{display:flex;gap:48px;margin-top:48px;padding-top:32px;border-top:1px solid var(--border)}
.hero-stat h3{font-size:1.8rem;font-weight:800;color:var(--primary)}
.hero-stat p{font-size:.85rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-top:4px}

/* ---- Buttons ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 28px;border-radius:8px;font-weight:600;font-size:.95rem;border:none;cursor:pointer;transition:all .2s;font-family:inherit}
.btn-primary{background:var(--primary);color:#fff}
.btn-primary:hover{background:var(--primary-dark);transform:translateY(-1px)}
.btn-accent{background:var(--accent);color:#fff}
.btn-accent:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px rgba(37,99,235,.2)}
.btn-outline{background:var(--surface);color:var(--primary);border:1px solid var(--border)}
.btn-outline:hover{border-color:var(--text-muted);background:var(--surface2)}
.btn-add-cart{width:100%;padding:12px;border-radius:6px;background:var(--surface2);color:var(--primary);font-weight:600;font-size:.9rem;border:1px solid var(--border);cursor:pointer;transition:.2s;margin-top:16px}
.btn-add-cart:hover{background:var(--primary);color:#fff;border-color:var(--primary)}

/* ---- Section ---- */
.section{padding:80px 0}
.section-header{text-align:center;margin-bottom:56px}
.section-header h2{font-size:2.2rem;font-weight:800;margin-bottom:12px;color:var(--primary);letter-spacing:-.5px}
.section-header p{color:var(--text-muted);font-size:1.05rem;max-width:600px;margin:0 auto}

/* ---- Features Strip ---- */
.features-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:40px 0;border-bottom:1px solid var(--border)}
.feature-box{display:flex;align-items:flex-start;gap:16px}
.feature-box .icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--surface2);border-radius:12px;color:var(--accent)}
.feature-box .icon svg{width:24px;height:24px}
.feature-box h4{font-weight:700;margin-bottom:4px;font-size:.95rem;color:var(--primary)}
.feature-box p{font-size:.85rem;color:var(--text-muted);line-height:1.4}

/* ---- Brands Strip ---- */
.brands-strip{display:flex;align-items:center;justify-content:center;gap:56px;flex-wrap:wrap;padding:48px 0;opacity:.6}
.brand-logo{font-size:1.4rem;font-weight:800;color:var(--text-muted);letter-spacing:1px;text-transform:uppercase;user-select:none;font-family:sans-serif}

/* ---- Categories ---- */
.categories-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.category-card{display:block;border-radius:var(--radius);overflow:hidden;background:var(--surface);box-shadow:var(--shadow);border:1px solid var(--border);transition:.3s;text-align:center}
.category-card:hover{transform:translateY(-4px);box-shadow:0 12px 20px -8px rgba(0,0,0,.1);border-color:var(--accent)}
.category-img{aspect-ratio:4/3;overflow:hidden;background:var(--surface2)}
.category-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.category-card:hover img{transform:scale(1.05)}
.category-info{padding:20px}
.category-info h3{font-size:1.1rem;font-weight:700;color:var(--primary);margin-bottom:4px}
.category-info p{font-size:.85rem;color:var(--text-muted)}

/* ---- Deals Banner ---- */
.deals-banner{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:var(--radius);padding:40px 48px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:24px;box-shadow:var(--shadow)}
.deals-banner h2{font-size:1.8rem;font-weight:800;color:var(--primary)}
.deals-banner p{color:var(--text-muted);margin-top:8px;font-size:1.05rem}

/* ---- Product Grid ---- */
.products-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.product-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:.3s;display:flex;flex-direction:column}
.product-card:hover{border-color:var(--text-dim);box-shadow:var(--shadow)}
.product-img-wrap{position:relative;aspect-ratio:1;overflow:hidden;background:var(--surface2);padding:24px}
.product-img-wrap img{width:100%;height:100%;object-fit:contain;transition:transform .4s;mix-blend-mode:multiply}
.product-card:hover .product-img-wrap img{transform:scale(1.05)}
.badge{position:absolute;top:12px;left:12px;background:var(--primary);color:#fff;font-size:.7rem;font-weight:600;padding:4px 10px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}
.discount-tag{position:absolute;top:12px;right:12px;background:var(--danger);color:#fff;font-size:.75rem;font-weight:700;padding:4px 10px;border-radius:4px}
.product-info{padding:20px;flex:1;display:flex;flex-direction:column}
.product-brand{font-size:.75rem;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}
.product-name{font-size:.95rem;font-weight:600;line-height:1.4;margin-bottom:12px;color:var(--primary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.product-rating{display:flex;align-items:center;gap:4px;margin-bottom:16px;font-size:.8rem}
.star{color:var(--text-dim);font-style:normal}
.star.filled,.star.half{color:#FBBF24}
.product-rating span{color:var(--text-muted)}
.product-pricing{margin-top:auto;display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.sale-price{font-size:1.2rem;font-weight:800;color:var(--primary)}
.original-price{font-size:.9rem;color:var(--text-dim);text-decoration:line-through}

/* ---- Shop Page ---- */
.shop-layout{display:grid;grid-template-columns:260px 1fr;gap:40px}
.filters-sidebar{position:sticky;top:100px;align-self:start}
.filter-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;margin-bottom:24px}
.filter-card h3{font-size:.95rem;font-weight:700;margin-bottom:16px;text-transform:uppercase;letter-spacing:.5px;color:var(--primary)}
.filter-option{display:flex;align-items:center;gap:12px;padding:8px 0;cursor:pointer;font-size:.95rem;color:var(--text-muted)}
.filter-option:hover{color:var(--primary)}
.filter-option input[type=checkbox], .filter-option input[type=radio]{accent-color:var(--accent);width:16px;height:16px}
.filter-option input[type=range]{width:100%;accent-color:var(--accent)}
.sort-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}
.sort-bar select{background:var(--surface);border:1px solid var(--border);color:var(--primary);padding:10px 16px;border-radius:6px;font-family:inherit;font-size:.9rem;font-weight:500;cursor:pointer;outline:none}
.sort-bar select:focus{border-color:var(--accent)}
.results-count{font-size:.95rem;color:var(--text-muted);font-weight:500}

/* ---- Product Detail ---- */
.product-detail{display:grid;grid-template-columns:1fr 1fr;gap:56px;padding:48px 0}
.pd-gallery{border-radius:var(--radius);overflow:hidden;background:var(--surface);border:1px solid var(--border);padding:40px;display:flex;align-items:center;justify-content:center}
.pd-gallery img{width:100%;max-height:500px;object-fit:contain;mix-blend-mode:multiply}
.pd-info .pd-brand{font-size:.85rem;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:1px;margin-bottom:12px}
.pd-info h1{font-size:2.2rem;font-weight:800;line-height:1.2;margin-bottom:16px;color:var(--primary)}
.pd-info .pd-rating{display:flex;align-items:center;gap:8px;margin-bottom:24px;font-size:.95rem}
.pd-price-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;margin-bottom:32px;display:flex;align-items:baseline;flex-wrap:wrap;gap:12px}
.pd-price-box .pd-sale{font-size:2.4rem;font-weight:800;color:var(--primary)}
.pd-price-box .pd-orig{font-size:1.1rem;color:var(--text-dim);text-decoration:line-through}
.pd-price-box .pd-discount{font-size:.85rem;color:#fff;background:var(--danger);padding:4px 10px;border-radius:4px;font-weight:700}
.pd-price-box .pd-save{flex-basis:100%;color:var(--success);font-weight:600;font-size:.9rem;margin-top:4px}
.pd-desc{color:var(--text-muted);margin-bottom:32px;line-height:1.7;font-size:1.05rem}
.pd-features{list-style:none;margin-bottom:32px;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pd-features li{padding-left:24px;position:relative;font-size:.95rem;color:var(--text)}
.pd-features li::before{content:'';position:absolute;left:0;top:8px;width:16px;height:16px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23059669' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat}
.pd-qty{display:flex;align-items:center;gap:16px;margin-bottom:24px}
.qty-control{display:flex;align-items:center;border:1px solid var(--border);border-radius:6px;overflow:hidden;background:var(--surface)}
.qty-control button{background:none;border:none;color:var(--text);width:40px;height:40px;font-size:1.2rem;cursor:pointer;transition:.2s}
.qty-control button:hover{background:var(--surface2);color:var(--primary)}
.qty-control input{width:48px;text-align:center;background:none;border:none;border-left:1px solid var(--border);border-right:1px solid var(--border);color:var(--text);font-size:1rem;font-weight:600;height:40px}
.pd-actions{display:flex;gap:16px;margin-bottom:32px}
.pd-trust{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:24px;background:var(--surface2);border-radius:var(--radius)}
.trust-item{display:flex;align-items:center;gap:10px;font-size:.85rem;color:var(--text-muted);font-weight:500}
.trust-item svg{color:var(--success);width:20px;height:20px}

/* ---- Testimonials ---- */
.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.testimonial-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:32px;transition:.3s;box-shadow:var(--shadow)}
.testimonial-card:hover{transform:translateY(-4px)}
.testimonial-stars{color:#FBBF24;font-size:1.1rem;margin-bottom:16px;letter-spacing:2px}
.testimonial-text{font-size:1rem;color:var(--text-muted);line-height:1.6;margin-bottom:24px}
.testimonial-author{display:flex;align-items:center;gap:16px;border-top:1px solid var(--border);padding-top:16px}
.testimonial-avatar{width:48px;height:48px;border-radius:50%;background:var(--surface2);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;color:var(--primary)}
.testimonial-author-info h4{font-size:.95rem;font-weight:700;color:var(--primary)}
.testimonial-author-info p{font-size:.8rem;color:var(--text-dim);margin-top:2px}

/* ---- Cart Page ---- */
.cart-page{padding:40px 0;min-height:60vh}
.cart-items{display:flex;flex-direction:column;gap:16px}
.cart-item{display:grid;grid-template-columns:100px 1fr auto auto;align-items:center;gap:24px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px}
.cart-item img{width:100px;height:100px;object-fit:contain;border-radius:4px;background:var(--surface2)}
.cart-item-info h3{font-size:1rem;font-weight:600;margin-bottom:6px;color:var(--primary)}
.cart-item-info p{font-size:.85rem;color:var(--text-muted)}
.cart-item-price{text-align:right}
.cart-item-price .sale{font-weight:800;font-size:1.1rem;color:var(--primary)}
.cart-item-price .orig{font-size:.85rem;color:var(--text-dim);text-decoration:line-through}
.cart-remove{background:none;border:none;color:var(--danger);cursor:pointer;font-size:.85rem;font-weight:500;padding:8px 12px;border-radius:6px;transition:.2s}
.cart-remove:hover{background:#FEF2F2}
.cart-summary{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:32px;position:sticky;top:100px}
.cart-summary h3{font-size:1.2rem;font-weight:800;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border);color:var(--primary)}
.summary-row{display:flex;justify-content:space-between;margin-bottom:16px;font-size:.95rem;color:var(--text-muted)}
.summary-row span:last-child{font-weight:600;color:var(--primary)}
.summary-row.total{font-size:1.2rem;color:var(--primary);border-top:1px solid var(--border);padding-top:16px;margin-top:8px}
.summary-row.savings span:last-child{color:var(--success)}
.cart-grid{display:grid;grid-template-columns:1fr 380px;gap:40px}
.empty-cart{text-align:center;padding:100px 20px;background:var(--surface);border-radius:var(--radius);border:1px dashed var(--text-dim)}
.empty-cart h2{margin-bottom:12px;color:var(--primary);font-size:1.5rem}
.empty-cart p{color:var(--text-muted);margin-bottom:24px}

/* ---- Checkout ---- */
.checkout-grid{display:grid;grid-template-columns:1fr 420px;gap:40px;padding:40px 0}
.checkout-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:40px}
.checkout-form h2{font-size:1.4rem;font-weight:800;margin-bottom:32px;color:var(--primary);display:flex;align-items:center;gap:12px}
.form-group{margin-bottom:20px}
.form-group label{display:block;font-size:.85rem;font-weight:600;margin-bottom:8px;color:var(--text)}
.form-group input,.form-group textarea,.form-group select{width:100%;padding:12px 16px;background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--primary);font-size:.95rem;font-family:inherit;transition:.2s}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(37,99,235,.1)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.payment-method{background:var(--bg);border:2px solid var(--accent);border-radius:var(--radius);padding:24px;display:flex;align-items:flex-start;gap:16px;margin-bottom:24px}
.payment-method .check{width:24px;height:24px;border-radius:50%;border:2px solid var(--accent);display:flex;align-items:center;justify-content:center;margin-top:2px}
.payment-method .check::after{content:'';width:12px;height:12px;border-radius:50%;background:var(--accent)}
.payment-method div h4{font-weight:700;margin-bottom:4px;color:var(--primary);font-size:1.05rem}
.payment-method div p{font-size:.9rem;color:var(--text-muted);line-height:1.5}
.order-summary{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:32px;position:sticky;top:100px;align-self:start}
.order-item{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid var(--border)}
.order-item img{width:70px;height:70px;object-fit:contain;border-radius:6px;background:var(--surface2)}
.order-item-info h4{font-size:.9rem;font-weight:600;color:var(--primary);margin-bottom:4px;line-height:1.4}
.order-item-info p{font-size:.8rem;color:var(--text-muted)}
.order-item-price{margin-left:auto;font-weight:700;color:var(--primary);font-size:.95rem;white-space:nowrap}

/* ---- Legal/Info Pages ---- */
.legal-page{max-width:800px;margin:0 auto;padding:60px 20px;background:var(--surface);border-left:1px solid var(--border);border-right:1px solid var(--border);min-height:70vh}
.legal-header{text-align:center;margin-bottom:48px;padding-bottom:32px;border-bottom:1px solid var(--border)}
.legal-header h1{font-size:2.5rem;font-weight:800;color:var(--primary);margin-bottom:16px}
.legal-header p{color:var(--text-muted);font-size:1.1rem}
.legal-content h2{font-size:1.5rem;font-weight:700;color:var(--primary);margin:32px 0 16px}
.legal-content h3{font-size:1.2rem;font-weight:600;color:var(--text);margin:24px 0 12px}
.legal-content p{margin-bottom:16px;color:var(--text-muted);line-height:1.8}
.legal-content ul{margin-bottom:24px;padding-left:24px;color:var(--text-muted)}
.legal-content li{margin-bottom:8px}
.contact-info-card{background:var(--bg);padding:32px;border-radius:var(--radius);border:1px solid var(--border);margin-bottom:32px;text-align:center}
.contact-info-card h3{font-size:1.2rem;color:var(--primary);margin-bottom:16px}
.contact-info-card p{font-size:1.05rem;color:var(--text-muted);margin-bottom:8px}

/* ---- Newsletter ---- */
.newsletter{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:64px;text-align:center;margin:48px 0;box-shadow:var(--shadow)}
.newsletter h2{font-size:2rem;font-weight:800;margin-bottom:12px;color:var(--primary)}
.newsletter p{color:var(--text-muted);margin-bottom:32px;font-size:1.1rem}
.newsletter-form{display:flex;max-width:500px;margin:0 auto;gap:12px}
.newsletter-form input{flex:1;padding:14px 20px;border-radius:8px;background:var(--bg);border:1px solid var(--border);color:var(--text);font-size:.95rem}
.newsletter-form input:focus{outline:none;border-color:var(--accent)}

/* ---- Footer ---- */
footer{background:var(--surface);border-top:1px solid var(--border);padding:64px 0 24px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px}
.footer-about .logo{margin-bottom:16px}
.footer-about p{font-size:.9rem;color:var(--text-muted);margin-bottom:24px;line-height:1.7}
.footer-social{display:flex;gap:12px}
.footer-social a{width:40px;height:40px;border-radius:8px;background:var(--bg);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;transition:.2s;color:var(--text-muted)}
.footer-social a:hover{background:var(--primary);color:#fff;border-color:var(--primary)}
footer h4{font-size:.95rem;font-weight:700;margin-bottom:20px;color:var(--primary)}
footer ul{list-style:none}
footer ul li{margin-bottom:12px}
footer ul li a{font-size:.9rem;color:var(--text-muted);transition:.2s}
footer ul li a:hover{color:var(--accent)}
.footer-bottom{text-align:center;padding-top:32px;border-top:1px solid var(--border);font-size:.85rem;color:var(--text-dim)}

/* ---- Breadcrumb ---- */
.breadcrumb{display:flex;align-items:center;gap:8px;padding:24px 0 0;font-size:.85rem;color:var(--text-muted)}
.breadcrumb a:hover{color:var(--accent)}
.breadcrumb span{color:var(--text-dim)}

/* ---- Toast ---- */
.toast{position:fixed;bottom:24px;right:24px;padding:16px 24px;border-radius:8px;font-weight:600;font-size:.95rem;z-index:9999;transform:translateY(100px);opacity:0;transition:.3s;box-shadow:0 10px 15px -3px rgba(0,0,0,.1)}
.toast.show{transform:translateY(0);opacity:1}
.toast-success{background:var(--primary);color:#fff}
.toast-error{background:var(--danger);color:#fff}

/* ---- Responsive ---- */
@media(max-width:1024px){
  .products-grid,.categories-grid{grid-template-columns:repeat(3,1fr)}
  .shop-layout{grid-template-columns:1fr}
  .filters-sidebar{display:none}
  .hero-inner{flex-direction:column;text-align:center}
  .hero-content{margin:0 auto}
  .hero-buttons{justify-content:center}
  .hero-stats{justify-content:center}
  .product-detail{grid-template-columns:1fr}
  .checkout-grid,.cart-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
  .products-grid,.categories-grid,.features-strip{grid-template-columns:repeat(2,1fr)}
  .hero h1{font-size:2.5rem}
  .hero-stats{gap:24px}
  .hero-visual{display:none}
  .deals-banner{text-align:center;justify-content:center;padding:32px 24px}
  .nav-links{position:fixed;top:0;right:-100%;width:300px;height:100vh;background:var(--surface);flex-direction:column;padding:80px 32px 32px;gap:24px;transition:.35s;z-index:999;border-left:1px solid var(--border);box-shadow:-10px 0 15px -3px rgba(0,0,0,.1)}
  .nav-links.active{right:0}
  .nav-overlay{display:block;position:fixed;inset:0;background:rgba(15,23,42,.4);backdrop-filter:blur(2px);z-index:998;opacity:0;pointer-events:none;transition:.35s}
  .nav-overlay.active{opacity:1;pointer-events:auto}
  .menu-toggle{display:flex;z-index:1001}
  .search-box{width:100%;order:10}
  .cart-item{grid-template-columns:80px 1fr;gap:16px;padding:16px}
  .cart-item-price,.cart-remove{grid-column:2}
  .form-row{grid-template-columns:1fr}
  .newsletter{padding:40px 24px;margin:24px 0}
  .footer-grid{grid-template-columns:1fr}
  .brands-strip{gap:32px}
  .testimonials-grid{grid-template-columns:1fr}
}
@media(max-width:480px){
  .products-grid{grid-template-columns:repeat(2,1fr);gap:16px}
  .product-info{padding:12px}
  .product-name{font-size:.85rem}
  .sale-price{font-size:1.05rem}
  .hero{padding:40px 0}
  .hero h1{font-size:2rem}
  .hero-stat h3{font-size:1.5rem}
  .pd-actions{flex-direction:column}
  .pd-trust{grid-template-columns:1fr}
  .features-strip{grid-template-columns:1fr}
}

/* ---- Utilities ---- */
.back-to-top{position:fixed;bottom:24px;right:24px;width:48px;height:48px;border-radius:50%;background:var(--primary);color:#fff;border:none;cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;z-index:900;opacity:0;pointer-events:none;transition:.3s;box-shadow:0 4px 12px rgba(15,23,42,.2)}
.back-to-top.visible{opacity:1;pointer-events:auto}
.back-to-top:hover{background:var(--primary-dark);transform:translateY(-2px)}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease}
.reveal.revealed{opacity:1;transform:translateY(0)}
