/* ===== KPOP ONE — Coloré / Fun ===== */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800;900&display=swap');

:root {
    --primary: #FF6B9D;
    --primary-dark: #E84580;
    --secondary: #C471ED;
    --accent: #7B61FF;
    --gradient: linear-gradient(135deg, #FF6B9D, #C471ED, #7B61FF);
    --gradient-btn: linear-gradient(135deg, #FF6B9D, #C471ED);
    --bg: #FFFFFF;
    --bg-soft: #FFF5F8;
    --bg-card: #FFFFFF;
    --text: #1A1A2E;
    --text-light: #666680;
    --border: #F0E6F0;
    --success: #00C9A7;
    --danger: #FF4757;
    --warning: #FFA502;
    --shadow: 0 4px 20px rgba(255,107,157,0.15);
    --shadow-lg: 0 10px 40px rgba(255,107,157,0.2);
    --radius: 16px;
    --radius-sm: 10px;
    --transition: all 0.3s cubic-bezier(0.4,0,0.2,1);
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:'Poppins',sans-serif; color:var(--text); background:var(--bg); line-height:1.6; overflow-x:hidden; }
img { max-width:100%; display:block; }
a { text-decoration:none; color:inherit; }
.container { max-width:1280px; margin:0 auto; padding:0 5%; }

/* ===== HEADER ===== */
.site-header {
    position:fixed; top:0; left:0; width:100%; z-index:1000;
    background:rgba(255,255,255,0.85); backdrop-filter:blur(20px);
    border-bottom:1px solid rgba(240,230,240,0.5);
    transition:var(--transition);
}
.site-header.scrolled { background:rgba(255,255,255,0.95); box-shadow:0 2px 20px rgba(0,0,0,0.08); }
.header-inner {
    max-width:1280px; margin:0 auto; padding:0 5%;
    display:flex; align-items:center; justify-content:space-between; height:70px;
}
.logo { font-size:24px; font-weight:800; background:var(--gradient); -webkit-background-clip:text; -webkit-text-fill-color:transparent; letter-spacing:-0.5px; }
.logo span { font-weight:400; }

.nav-links { display:flex; gap:32px; align-items:center; }
.nav-links a {
    font-size:13px; font-weight:600; text-transform:uppercase; letter-spacing:1.5px;
    color:var(--text); transition:var(--transition); position:relative;
}
.nav-links a::after {
    content:''; position:absolute; bottom:-4px; left:0; width:0; height:2px;
    background:var(--gradient); transition:width 0.3s ease;
}
.nav-links a:hover::after { width:100%; }
.nav-links a:hover { color:var(--primary); }

.header-actions { display:flex; align-items:center; gap:20px; }
.header-actions a { position:relative; color:var(--text); transition:var(--transition); }
.header-actions a:hover { color:var(--primary); }
.cart-count {
    position:absolute; top:-8px; right:-10px; background:var(--gradient);
    color:#fff; font-size:10px; font-weight:700; width:18px; height:18px;
    border-radius:50%; display:flex; align-items:center; justify-content:center;
}

/* Hamburger */
.hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; z-index:1001; }
.hamburger span { display:block; width:24px; height:2px; background:var(--text); transition:var(--transition); }

/* Mobile Nav */
.mobile-nav {
    display:none; position:fixed; top:0; right:-100%; width:300px; height:100vh;
    background:var(--bg); z-index:999; padding:80px 30px 30px;
    box-shadow:-10px 0 40px rgba(0,0,0,0.1); transition:right 0.4s ease;
}
.mobile-nav.open { right:0; }
.mobile-nav a {
    display:block; padding:16px 0; font-size:15px; font-weight:600;
    border-bottom:1px solid var(--border); color:var(--text);
}
.mobile-overlay {
    display:none; position:fixed; top:0; left:0; width:100%; height:100%;
    background:rgba(0,0,0,0.4); z-index:998;
}
.mobile-overlay.open { display:block; }

/* ===== HERO ===== */
.hero {
    min-height:100vh; display:flex; align-items:center; justify-content:center;
    background:linear-gradient(135deg, rgba(255,107,157,0.08) 0%, rgba(196,113,237,0.08) 50%, rgba(123,97,255,0.08) 100%),
               url('https://images.unsplash.com/photo-1611162617474-5b21e879e113?w=1600') center/cover no-repeat;
    position:relative; text-align:center; padding:120px 5% 80px;
}
.hero::before {
    content:''; position:absolute; inset:0;
    background:linear-gradient(180deg, rgba(255,255,255,0.3) 0%, rgba(255,255,255,0.8) 100%);
}
.hero-content { position:relative; z-index:1; max-width:700px; }
.hero-badge {
    display:inline-block; padding:8px 24px; border-radius:50px;
    background:var(--gradient); color:#fff; font-size:12px; font-weight:700;
    letter-spacing:2px; text-transform:uppercase; margin-bottom:24px;
}
.hero h1 {
    font-size:clamp(36px,6vw,72px); font-weight:900; line-height:1.1;
    background:var(--gradient); -webkit-background-clip:text; -webkit-text-fill-color:transparent;
    margin-bottom:16px;
}
.hero-subtitle { font-size:clamp(16px,2.5vw,22px); color:var(--text-light); margin-bottom:12px; font-weight:500; }
.hero-desc { font-size:15px; color:var(--text-light); margin-bottom:40px; max-width:500px; margin-left:auto; margin-right:auto; }
.hero-btns { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }

/* ===== BUTTONS ===== */
.btn {
    display:inline-flex; align-items:center; gap:8px; padding:14px 36px;
    border-radius:50px; font-size:13px; font-weight:700; text-transform:uppercase;
    letter-spacing:1.5px; transition:var(--transition); cursor:pointer; border:none;
}
.btn-filled {
    background:var(--gradient-btn); color:#fff; box-shadow:0 4px 15px rgba(255,107,157,0.4);
}
.btn-filled:hover { transform:translateY(-2px); box-shadow:0 8px 25px rgba(255,107,157,0.5); }
.btn-outline {
    background:transparent; color:var(--primary); border:2px solid var(--primary);
}
.btn-outline:hover { background:var(--primary); color:#fff; }
.btn-sm { padding:10px 24px; font-size:12px; }

/* ===== SECTIONS ===== */
.section { padding:100px 5%; }
.section-header { text-align:center; margin-bottom:60px; }
.section-header h2 {
    font-size:clamp(24px,4vw,40px); font-weight:800;
    text-transform:uppercase; letter-spacing:3px;
    position:relative; display:inline-block; padding-bottom:16px;
}
.section-header h2::after {
    content:''; position:absolute; bottom:0; left:50%; transform:translateX(-50%);
    width:60px; height:3px; background:var(--gradient); border-radius:2px;
}
.section-header p { color:var(--text-light); margin-top:16px; font-size:15px; }

/* ===== PRODUCT CARDS ===== */
.products-grid {
    display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
    gap:30px;
}
.product-card {
    background:var(--bg-card); border-radius:var(--radius); overflow:hidden;
    box-shadow:var(--shadow); transition:var(--transition);
    display:flex; flex-direction:column;
}
.product-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-lg); }
.product-card .img-wrap {
    position:relative; overflow:hidden; height:320px; display:block;
}
.product-card .img-wrap img {
    width:100%; height:100%; object-fit:cover; transition:transform 0.5s ease;
}
.product-card:hover .img-wrap img { transform:scale(1.05); }
.badge-promo {
    position:absolute; top:12px; left:12px; background:var(--danger);
    color:#fff; padding:4px 14px; border-radius:50px; font-size:11px; font-weight:700;
}
.product-card .info { padding:20px; flex:1; display:flex; flex-direction:column; }
.product-card .cat {
    font-size:11px; text-transform:uppercase; letter-spacing:1.5px;
    color:var(--primary); font-weight:600; margin-bottom:6px;
}
.product-card h3 { font-size:16px; font-weight:700; margin-bottom:10px; }
.product-card .price { font-size:18px; font-weight:800; color:var(--primary); margin-bottom:16px; }
.product-card .price .old {
    text-decoration:line-through; color:var(--text-light); font-size:14px;
    font-weight:400; margin-left:8px;
}
.product-card .btns { margin-top:auto; display:flex; gap:10px; }
.product-card .btns .btn { width:100%; justify-content:center; padding:12px 20px; }

/* ===== COLLECTIONS ===== */
.collections-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.collection-card {
    position:relative; border-radius:var(--radius); overflow:hidden;
    height:360px; cursor:pointer; transition:var(--transition);
}
.collection-card:hover { transform:translateY(-4px); }
.collection-card img { width:100%; height:100%; object-fit:cover; transition:transform 0.5s ease; }
.collection-card:hover img { transform:scale(1.05); }
.collection-card .overlay {
    position:absolute; inset:0;
    background:linear-gradient(180deg, transparent 40%, rgba(26,26,46,0.8) 100%);
    display:flex; align-items:flex-end; padding:30px;
}
.collection-card .overlay h3 {
    color:#fff; font-size:20px; font-weight:700; text-transform:uppercase; letter-spacing:1px;
}

/* ===== REASSURANCE ===== */
.reassurance { background:var(--bg-soft); }
.reassurance-grid {
    display:grid; grid-template-columns:repeat(4,1fr); gap:24px;
}
.reassurance-item {
    text-align:center; padding:40px 20px; background:var(--bg-card);
    border-radius:var(--radius); transition:var(--transition);
}
.reassurance-item:hover { transform:translateY(-4px); box-shadow:var(--shadow); }
.reassurance-item svg { margin:0 auto 16px; color:var(--primary); }
.reassurance-item h4 { font-size:15px; font-weight:700; margin-bottom:6px; }
.reassurance-item p { font-size:13px; color:var(--text-light); }

/* ===== CARROUSEL VEDETTES ===== */
.carousel-section { position:relative; }
.carousel-wrapper { overflow:hidden; position:relative; }
.carousel-inner {
    display:flex; gap:24px; transition:transform 0.5s ease;
    padding:10px 0;
}
.carousel-inner .product-card { min-width:calc(33.333% - 16px); flex-shrink:0; }
.carousel-arrow {
    position:absolute; top:50%; transform:translateY(-50%);
    width:44px; height:44px; border-radius:50%; background:var(--bg-card);
    box-shadow:var(--shadow); display:flex; align-items:center; justify-content:center;
    cursor:pointer; z-index:10; border:none; transition:var(--transition);
}
.carousel-arrow:hover { box-shadow:var(--shadow-lg); background:var(--primary); color:#fff; }
.carousel-arrow.prev { left:-22px; }
.carousel-arrow.next { right:-22px; }

/* ===== FOOTER ===== */
.site-footer {
    background:var(--text); color:#fff; padding:60px 5% 30px;
}
.footer-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:40px; margin-bottom:40px; }
.footer-col h4 {
    font-size:14px; text-transform:uppercase; letter-spacing:2px;
    margin-bottom:20px; color:var(--primary);
}
.footer-col p, .footer-col a { font-size:14px; color:rgba(255,255,255,0.7); line-height:2; display:block; }
.footer-col a:hover { color:var(--primary); }
.footer-bottom {
    border-top:1px solid rgba(255,255,255,0.1); padding-top:24px;
    text-align:center; font-size:13px; color:rgba(255,255,255,0.5);
}

/* ===== CATALOGUE / FILTRES ===== */
.filters-bar {
    display:flex; gap:12px; flex-wrap:wrap; justify-content:center;
    margin-bottom:40px;
}
.filter-btn {
    padding:10px 24px; border-radius:50px; border:2px solid var(--border);
    background:var(--bg-card); font-size:13px; font-weight:600; cursor:pointer;
    transition:var(--transition); font-family:'Poppins',sans-serif;
}
.filter-btn.active, .filter-btn:hover {
    background:var(--gradient-btn); color:#fff; border-color:transparent;
}

/* ===== FICHE PRODUIT ===== */
.product-detail { padding:120px 5% 80px; }
.product-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:start; }
.product-gallery { position:relative; }
.product-main-img {
    width:100%; height:500px; object-fit:cover; border-radius:var(--radius);
    cursor:zoom-in;
}
.product-thumbs { display:flex; gap:12px; margin-top:16px; }
.product-thumbs img {
    width:80px; height:80px; object-fit:cover; border-radius:var(--radius-sm);
    cursor:pointer; border:2px solid transparent; transition:var(--transition);
}
.product-thumbs img.active, .product-thumbs img:hover { border-color:var(--primary); }
.gallery-arrows {
    position:absolute; top:50%; width:100%; display:flex; justify-content:space-between;
    transform:translateY(-50%); padding:0 12px; pointer-events:none;
}
.gallery-arrow {
    width:40px; height:40px; border-radius:50%; background:rgba(255,255,255,0.9);
    box-shadow:var(--shadow); display:flex; align-items:center; justify-content:center;
    cursor:pointer; pointer-events:auto; border:none; transition:var(--transition);
}
.gallery-arrow:hover { background:var(--primary); color:#fff; }

.product-info h1 { font-size:28px; font-weight:800; margin-bottom:8px; }
.product-info .product-cat {
    font-size:12px; text-transform:uppercase; letter-spacing:2px;
    color:var(--primary); font-weight:600; margin-bottom:16px;
}
.product-info .product-price {
    font-size:28px; font-weight:800; color:var(--primary); margin-bottom:24px;
}
.product-info .product-price .old-price {
    text-decoration:line-through; color:var(--text-light); font-size:18px; font-weight:400; margin-left:12px;
}
.product-info .product-desc { color:var(--text-light); margin-bottom:24px; line-height:1.8; }

.size-options { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:20px; }
.size-btn {
    padding:10px 20px; border:2px solid var(--border); border-radius:var(--radius-sm);
    font-size:13px; font-weight:600; cursor:pointer; transition:var(--transition);
    background:var(--bg-card); font-family:'Poppins',sans-serif;
}
.size-btn.active { border-color:var(--primary); background:var(--primary); color:#fff; }
.size-btn.sold-out { opacity:0.4; cursor:not-allowed; text-decoration:line-through; }
.stock-info { font-size:13px; color:var(--success); margin-bottom:24px; font-weight:500; }

.qty-selector {
    display:flex; align-items:center; gap:12px; margin-bottom:24px;
}
.qty-btn {
    width:40px; height:40px; border-radius:50%; border:2px solid var(--border);
    background:var(--bg-card); font-size:18px; font-weight:700; cursor:pointer;
    display:flex; align-items:center; justify-content:center; transition:var(--transition);
    font-family:'Poppins',sans-serif;
}
.qty-btn:hover { border-color:var(--primary); color:var(--primary); }
.qty-input {
    width:60px; text-align:center; font-size:16px; font-weight:700;
    border:2px solid var(--border); border-radius:var(--radius-sm); padding:8px;
    font-family:'Poppins',sans-serif;
}

.product-reassurance {
    margin-top:30px; padding:20px; background:var(--bg-soft);
    border-radius:var(--radius-sm);
}
.product-reassurance-item {
    display:flex; align-items:center; gap:12px; padding:8px 0;
    font-size:13px; color:var(--text-light);
}
.product-reassurance-item svg { flex-shrink:0; color:var(--primary); }

/* ===== PANIER ===== */
.cart-page { padding:120px 5% 80px; max-width:900px; margin:0 auto; }
.cart-item {
    display:grid; grid-template-columns:80px 1fr auto auto auto;
    gap:20px; align-items:center; padding:20px 0; border-bottom:1px solid var(--border);
}
.cart-item img { width:80px; height:80px; object-fit:cover; border-radius:var(--radius-sm); }
.cart-item-info h3 { font-size:15px; font-weight:600; }
.cart-item-info .cart-item-size { font-size:12px; color:var(--text-light); }
.cart-item-info .cart-item-sku { font-size:11px; color:var(--text-light); font-style:italic; }
.cart-item-price { font-weight:700; }
.cart-item-qty { display:flex; align-items:center; gap:8px; }
.cart-item-total { font-weight:800; color:var(--primary); }
.cart-remove { cursor:pointer; color:var(--danger); font-size:18px; }

.cart-summary {
    margin-top:30px; padding:30px; background:var(--bg-soft);
    border-radius:var(--radius);
}
.cart-summary-row { display:flex; justify-content:space-between; padding:10px 0; }
.cart-summary-total { font-size:20px; font-weight:800; border-top:2px solid var(--border); padding-top:16px; }

/* Shipping form */
.shipping-form { margin-top:30px; }
.shipping-form h3 { font-size:18px; font-weight:700; margin-bottom:20px; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-group { margin-bottom:16px; }
.form-group label { display:block; font-size:13px; font-weight:600; margin-bottom:6px; }
.form-group input, .form-group select {
    width:100%; padding:12px 16px; border:2px solid var(--border);
    border-radius:var(--radius-sm); font-size:14px; font-family:'Poppins',sans-serif;
    transition:var(--transition);
}
.form-group input:focus, .form-group select:focus { border-color:var(--primary); outline:none; }
.form-group.full { grid-column:1/-1; }
.address-suggestions {
    position:absolute; top:100%; left:0; right:0; background:#fff;
    border:1px solid var(--border); border-radius:var(--radius-sm);
    max-height:200px; overflow-y:auto; z-index:100; box-shadow:var(--shadow);
}
.address-suggestions div {
    padding:10px 16px; cursor:pointer; font-size:13px; border-bottom:1px solid var(--border);
}
.address-suggestions div:hover { background:var(--bg-soft); }

/* Auth choice modal */
.auth-choice {
    position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.5);
    display:flex; align-items:center; justify-content:center; z-index:9999;
}
.auth-choice-inner {
    background:#fff; border-radius:var(--radius); padding:40px; max-width:440px;
    width:90%; text-align:center;
}
.auth-choice-inner h3 { font-size:20px; font-weight:700; margin-bottom:8px; }
.auth-choice-inner p { color:var(--text-light); margin-bottom:24px; }
.auth-choice-inner .btn { width:100%; justify-content:center; margin-bottom:12px; }

/* ===== AUTH ===== */
.auth-page { padding:120px 5% 80px; max-width:480px; margin:0 auto; }
.auth-tabs { display:flex; margin-bottom:30px; border-bottom:2px solid var(--border); }
.auth-tab {
    flex:1; padding:14px; text-align:center; font-weight:700; font-size:14px;
    cursor:pointer; border-bottom:2px solid transparent; margin-bottom:-2px;
    transition:var(--transition); text-transform:uppercase; letter-spacing:1px;
    background:none; border-left:none; border-right:none; border-top:none;
    font-family:'Poppins',sans-serif;
}
.auth-tab.active { border-bottom-color:var(--primary); color:var(--primary); }
.auth-form { display:none; }
.auth-form.active { display:block; }
.auth-form .form-group { margin-bottom:20px; }
.auth-form .btn { width:100%; justify-content:center; }

/* ===== COMPTE ===== */
.account-page { padding:120px 5% 80px; max-width:900px; margin:0 auto; }
.account-tabs { display:flex; gap:16px; margin-bottom:30px; }
.account-tab {
    padding:12px 24px; border-radius:50px; background:var(--bg-soft);
    font-weight:600; font-size:13px; cursor:pointer; transition:var(--transition);
    border:none; font-family:'Poppins',sans-serif;
}
.account-tab.active { background:var(--gradient-btn); color:#fff; }
.order-card {
    background:var(--bg-card); border-radius:var(--radius); padding:24px;
    margin-bottom:16px; box-shadow:var(--shadow);
}
.order-card-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:16px; }
.order-status {
    padding:4px 14px; border-radius:50px; font-size:11px; font-weight:700; text-transform:uppercase;
}
.status-en_attente { background:#FFF3CD; color:#856404; }
.status-payee { background:#D4EDDA; color:#155724; }
.status-expediee { background:#CCE5FF; color:#004085; }
.status-livree { background:#D1ECF1; color:#0C5460; }
.status-annulee { background:#F8D7DA; color:#721C24; }

/* ===== CONTACT ===== */
.contact-page { padding:120px 5% 80px; }
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:60px; }
.contact-form .form-group { margin-bottom:20px; }
.contact-form textarea {
    width:100%; padding:14px 16px; border:2px solid var(--border);
    border-radius:var(--radius-sm); font-size:14px; font-family:'Poppins',sans-serif;
    min-height:150px; resize:vertical; transition:var(--transition);
}
.contact-form textarea:focus { border-color:var(--primary); outline:none; }
.contact-info-block { margin-bottom:30px; }
.contact-info-block h4 { font-size:14px; font-weight:700; text-transform:uppercase; letter-spacing:1.5px; margin-bottom:10px; }
.contact-info-block p { color:var(--text-light); display:flex; align-items:center; gap:10px; }

/* ===== PAGES LEGALES ===== */
.legal-page { padding:120px 5% 80px; max-width:800px; margin:0 auto; }
.legal-page h1 { font-size:28px; font-weight:800; margin-bottom:30px; }
.legal-page h2 { font-size:22px; margin-top:30px; margin-bottom:12px; }
.legal-page h3 { font-size:18px; margin-top:24px; margin-bottom:10px; }
.legal-page p { color:var(--text-light); margin-bottom:12px; line-height:1.8; }

/* ===== SUCCESS PAGE ===== */
.success-page {
    padding:120px 5% 80px; text-align:center; min-height:70vh;
    display:flex; flex-direction:column; align-items:center; justify-content:center;
}
.success-icon { width:80px; height:80px; margin-bottom:24px; }
.success-page h1 { font-size:32px; font-weight:800; margin-bottom:12px; }
.success-page p { color:var(--text-light); margin-bottom:30px; }

/* ===== LIGHTBOX ===== */
.lightbox {
    position:fixed; top:0; left:0; width:100%; height:100%;
    background:rgba(0,0,0,0.92); display:flex; align-items:center; justify-content:center;
    z-index:9999; opacity:0; transition:opacity 0.3s ease;
}
.lightbox.active { opacity:1; }
.lightbox img { max-width:90%; max-height:90%; object-fit:contain; }
.lightbox-close {
    position:absolute; top:20px; right:20px; color:#fff;
    font-size:36px; cursor:pointer; z-index:10000;
}

/* ===== TOAST ===== */
.toast {
    position:fixed; bottom:30px; right:30px; padding:16px 28px;
    background:var(--text); color:#fff; border-radius:var(--radius-sm);
    font-size:14px; font-weight:500; z-index:10000; transform:translateY(100px);
    opacity:0; transition:all 0.4s ease; box-shadow:var(--shadow-lg);
}
.toast.show { transform:translateY(0); opacity:1; }
.toast.success { background:var(--success); }
.toast.error { background:var(--danger); }

/* ===== REVEAL ANIMATIONS ===== */
@keyframes revealFallback { to { opacity:1; transform:translateY(0); } }
.reveal {
    opacity:0; transform:translateY(30px);
    animation:revealFallback 0.8s ease 0.3s forwards;
}
.reveal.visible { opacity:1; transform:translateY(0); animation:none; transition:all 0.8s ease; }

/* ===== COOKIE BANNER ===== */
.cookie-banner {
    position:fixed; bottom:0; left:0; width:100%; padding:16px 5%;
    background:var(--text); color:#fff; display:flex; align-items:center;
    justify-content:space-between; gap:20px; z-index:9998; font-size:13px;
}
.cookie-banner button {
    padding:8px 24px; border-radius:50px; border:none; font-weight:700;
    cursor:pointer; font-size:12px; font-family:'Poppins',sans-serif;
}
.cookie-accept { background:var(--primary); color:#fff; }
.cookie-reject { background:transparent; color:#fff; border:1px solid rgba(255,255,255,0.3) !important; }

/* ===== RESPONSIVE ===== */
@media (max-width:1024px) {
    .collections-grid { grid-template-columns:repeat(2,1fr); }
    .reassurance-grid { grid-template-columns:repeat(2,1fr); }
    .carousel-inner .product-card { min-width:calc(50% - 12px); }
    .footer-grid { grid-template-columns:1fr 1fr; }
}

@media (max-width:768px) {
    .hamburger { display:flex; }
    .nav-links { display:none; }
    .product-detail-grid { grid-template-columns:1fr; gap:30px; }
    .product-main-img { height:350px; }
    .collections-grid { grid-template-columns:1fr; }
    .collection-card { height:240px; }
    .reassurance-grid { grid-template-columns:1fr 1fr; gap:16px; padding:40px 0; }
    .footer-grid { grid-template-columns:1fr; }
    .contact-grid { grid-template-columns:1fr; }
    .form-grid { grid-template-columns:1fr; }
    .cart-item { grid-template-columns:60px 1fr; gap:12px; }
    .cart-item-price, .cart-item-qty, .cart-item-total { grid-column:2; }

    /* Carousel mobile — native scroll */
    .carousel-inner {
        overflow-x:auto; -webkit-overflow-scrolling:touch;
        scroll-snap-type:x mandatory; transform:none !important;
    }
    .carousel-inner .product-card { min-width:45vw; scroll-snap-align:start; }
    .carousel-arrow { display:none; }
    .carousel-inner::-webkit-scrollbar { display:none; }

    .hero { min-height:80vh; padding:100px 5% 60px; }
}

@media (max-width:480px) {
    .reassurance-grid { grid-template-columns:1fr; }
    .hero-btns { flex-direction:column; align-items:center; }
}
