/* Custom Store - Style login / dark premium */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-overflow-scrolling:touch}
body{font-family:var(--font-body);background:var(--bg);color:var(--text);line-height:1.6;min-height:100vh;display:flex;flex-direction:column;font-weight:400;letter-spacing:.02em;-webkit-font-smoothing:antialiased;overflow-x:hidden;position:relative}
select,button,input,textarea{font-family:var(--font-body),sans-serif}
/* Form controls unifiés - site */
.store-wrap input[type="text"],.store-wrap input[type="email"],.store-wrap input[type="tel"],.store-wrap input[type="number"],.store-wrap input[type="password"],.store-wrap textarea{padding:1rem 1.25rem;border:1px solid rgba(149,149,149,.5);background:rgba(119,119,119,.03);color:var(--text);font-size:1rem;border-radius:12px;transition:border-color .2s,background .2s}
.store-wrap select{padding:.85rem 2.5rem .85rem 1.25rem;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:var(--text);font-size:1rem;border-radius:12px;transition:border-color .2s,box-shadow .2s;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2394a3b8' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:12px}
.store-wrap select option{background:#1a1a2e;color:#fff}
.store-wrap input:focus,.store-wrap select:focus,.store-wrap textarea:focus{outline:none;border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.05)}
.store-wrap input::placeholder,.store-wrap textarea::placeholder{color:var(--text);opacity:.5}
.store-wrap button[type="submit"],.store-wrap .btn:not(.btn-hero):not(.btn-link){padding:1rem 1.75rem;border-radius:12px;font-weight:600;font-size:.95rem;letter-spacing:.04em;cursor:pointer;transition:opacity .2s}
.store-wrap button[type="submit"]:hover,.store-wrap .btn:hover{opacity:.92}
.store-wrap{position:relative;z-index:1;display:flex;flex-direction:column;flex:1}
h1,h2,h3,h4,h5,h6,.logo-text,.product-info h1,.section h2,.hero-content h1,.btn-hero{font-family:var(--font-heading)}

/* Banner */
.banner-scroll{background:var(--primary);color:#fff;padding:.6rem 1.5rem;text-align:center;overflow:hidden;white-space:nowrap;font-size:.75rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase}
.banner-inner{display:inline-block;animation:scroll 35s linear infinite}
@keyframes scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.discount-banner{background:var(--secondary)}

/* Header - toujours fond sombre, texte clair */
.store-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 4rem;border-bottom:1px solid rgba(255,255,255,.06);background:rgba(5,5,8,.98);position:sticky;top:0;z-index:100}
.store-header .logo{display:flex;align-items:center;text-decoration:none;z-index:10;transition:opacity .2s}
.store-header .logo:hover{opacity:.85}
.store-header .logo img{max-height:40px;width:auto;object-fit:contain}
.store-header .logo-text{font-size:1.35rem;font-weight:700;color:#fafafa;letter-spacing:.12em;text-transform:uppercase}
.nav-burger{display:none;flex-direction:column;justify-content:center;gap:6px;width:52px;height:52px;padding:14px;background:transparent;border:none;cursor:pointer;z-index:10;transition:transform .2s}
.nav-burger span{display:block;width:22px;height:2px;background:#fafafa;transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s}
.nav-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.nav-burger[aria-expanded="true"] span:nth-child(2){opacity:0;transform:scaleX(0)}
.nav-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

.store-nav{display:flex;align-items:center;gap:0}
.nav-mobile-header,.nav-close{display:none}
.nav-mobile-links{display:flex;align-items:center;gap:0}
.nav-mobile-links a{color:inherit;text-decoration:none;font-weight:500;font-size:.85rem;letter-spacing:.08em;transition:color .15s;display:flex;align-items:center;gap:.6rem;padding:0 1.25rem;opacity:.9}
.store-nav a{color:inherit;text-decoration:none;font-weight:500;font-size:.85rem;letter-spacing:.08em;transition:color .15s;display:flex;align-items:center;gap:.6rem}
.store-nav a:hover{color:var(--primary)}
.store-nav a svg{width:20px;height:20px;flex-shrink:0;opacity:.9}
.nav-collections svg{width:18px;height:18px}
.cart-link{position:relative;flex-direction:row;align-items:center;gap:.5rem}
.cart-link .cart-icon{width:20px;height:20px;flex-shrink:0}
.cart-label{display:flex;flex-direction:row;align-items:baseline;line-height:1;gap:.25rem}
.cart-label strong{font-size:.9rem;font-weight:600;letter-spacing:.05em}
.cart-count-paren{font-size:.75rem;font-weight:500;opacity:.85;margin-left:.1rem}
.nav-login{font-size:.82rem}
.store-main{flex:1;width:100%}

/* Footer */
.store-footer{background:rgba(5,5,8,.95);color:var(--footer-text);padding:5rem 4rem 2.5rem;margin-top:8rem;border-top:1px solid rgba(255,255,255,.06)}
.footer-links{display:flex;gap:3rem;justify-content:center;margin-bottom:2.5rem;flex-wrap:wrap}
.footer-links a{color:var(--footer-text);text-decoration:none;font-size:.9rem;font-weight:500;opacity:.9;letter-spacing:.05em;transition:opacity .15s}
.footer-links a:hover{opacity:1}
.footer-socials{display:flex;gap:2rem;justify-content:center;margin-bottom:2.5rem;flex-wrap:wrap}
.footer-social-link{color:var(--footer-text);text-decoration:none;font-size:.9rem;opacity:.85;letter-spacing:.05em;transition:opacity .15s;display:flex;align-items:center;gap:.5rem}
.footer-social-link:hover{opacity:1}
.footer-social-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center}
.footer-social-icon svg{width:100%;height:100%}
.footer-copyright{text-align:center;font-size:.8rem;opacity:.65;letter-spacing:.08em}

/* Hero */
.hero{width:100%;min-height:65vh;display:flex;align-items:center;justify-content:center;background-size:cover;background-position:center;position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15) 0%,rgba(0,0,0,.55) 100%)}
.hero-content{text-align:center;color:#fff;position:relative;z-index:1;padding:4rem 2rem;max-width:900px}
.hero-eyebrow{font-size:.8rem;font-weight:600;letter-spacing:.3em;text-transform:uppercase;opacity:.9;margin-bottom:1rem}
.hero-content h1{font-size:clamp(3.5rem,9vw,6rem);font-weight:600;margin-bottom:2rem;letter-spacing:-.03em;line-height:1.05;text-shadow:0 2px 40px rgba(0,0,0,.3)}
.card-img-placeholder{width:100%;height:100%;background:linear-gradient(135deg,rgba(255,255,255,.04) 0%,rgba(255,255,255,.02) 100%);display:flex;align-items:center;justify-content:center;color:var(--text);opacity:.25;font-size:.75rem}
.category-card .card-img-placeholder::before{content:'';display:block;width:40px;height:40px;margin:0 auto;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%2394a3b8' stroke-width='1.5' viewBox='0 0 24 24'%3E%3Cpath d='M3 7v10a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-6l-2-2H5a2 2 0 00-2 2z'/%3E%3C/svg%3E") center/contain no-repeat;opacity:.5}
.product-card .card-img-placeholder::before{content:'';display:block;width:40px;height:40px;margin:0 auto;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%2394a3b8' stroke-width='1.5' viewBox='0 0 24 24'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.5'/%3E%3Cpath d='M21 15l-5-5L5 21'/%3E%3C/svg%3E") center/contain no-repeat;opacity:.5}
.product-card-premium .card-img-placeholder::before{content:'';display:block;width:40px;height:40px;margin:0 auto;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%2394a3b8' stroke-width='1.5' viewBox='0 0 24 24'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.5'/%3E%3Cpath d='M21 15l-5-5L5 21'/%3E%3C/svg%3E") center/contain no-repeat;opacity:.5}
.btn-hero{display:inline-block;padding:1.35rem 3.5rem;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff!important;text-decoration:none;font-weight:600;font-size:.85rem;letter-spacing:.25em;text-transform:uppercase;margin-top:2.5rem;transition:opacity .2s,transform .2s;border:2px solid transparent;border-radius:10px}
.btn-hero:hover{opacity:.92;transform:translateY(-1px)}
/* Accueil premium - style grands sites e-commerce */
.hero-premium{min-height:52vh;align-items:center}
.hero-content-premium{max-width:720px}
.hero-eyebrow-premium{font-size:.75rem;font-weight:600;letter-spacing:.35em;text-transform:uppercase;opacity:.9;margin-bottom:1rem}
.hero-title-premium{font-size:clamp(3rem,10vw,5.5rem);font-weight:700;letter-spacing:-.04em;line-height:1.05;margin-bottom:1.25rem;text-shadow:0 2px 40px rgba(0,0,0,.4)}
.hero-subtitle{font-size:1.05rem;opacity:.9;margin-bottom:1.5rem;font-weight:400;letter-spacing:.02em}
.btn-hero-premium{padding:1rem 2.25rem;font-size:.8rem;letter-spacing:.2em;border-radius:8px}
.hero-compact .hero-title-premium{font-size:clamp(2rem,6vw,3.5rem);margin-bottom:.75rem}
.hero-compact .hero-subtitle{margin-bottom:1rem}
/* Bloc sous les produits accueil */
.section-home-below-products{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:4rem;padding-top:3rem;border-top:1px solid rgba(255,255,255,.08)}
.home-below-cta{display:block;padding:1.5rem 2rem;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:14px;text-decoration:none;color:var(--text);transition:all .25s}
.home-below-cta:hover{background:rgba(255,255,255,.06);border-color:var(--primary);transform:translateY(-2px)}
.home-below-cta-title{display:block;font-weight:600;font-size:1.1rem;margin-bottom:.25rem}
.home-below-cta-desc{display:block;font-size:.9rem;opacity:.75}
@media(max-width:768px){.section-home-below-products{grid-template-columns:1fr;margin-top:3rem;padding-top:2rem}}
/* Mobile allégé - select tri + layout simplifié */
@media(max-width:768px){
    .sort-select-mobile{display:block}
    .sort-buttons-desktop{display:none}
    .section{margin:3rem 0;padding:0 1.25rem}
    .section-products.section-premium{margin-top:2.5rem;margin-bottom:3rem}
    .section-header-premium{margin-bottom:1.5rem}
    .section-header-with-sort{flex-direction:column;align-items:stretch;gap:1rem}
    .section-header-with-sort h2{font-size:.9rem}
    .home-sort .sort-select-mobile,.collections-sort .sort-select-mobile{max-width:100%}
    .hero-premium{min-height:40vh}
    .hero-content{padding:2.5rem 1.25rem}
    .hero-title-premium{font-size:clamp(1.75rem,6vw,2.5rem);margin-bottom:.5rem}
    .hero-subtitle{font-size:.95rem;margin-bottom:1rem}
    .hero-eyebrow-premium{margin-bottom:.5rem}
    .btn-hero-premium{padding:.85rem 1.75rem;font-size:.8rem;margin-top:1.5rem}
    .section-home-below-products{margin-top:2rem;padding-top:1.5rem;gap:.75rem}
    .home-below-cta{padding:1rem 1.25rem}
    .home-below-cta-title{font-size:1rem}
    .home-below-cta-desc{font-size:.85rem;opacity:.8}
    .product-grid-premium{grid-template-columns:repeat(2,1fr);gap:1rem}
    .product-card-premium .product-card-body{padding:.75rem 0 0}
    .product-card-premium .price{font-size:.9rem;margin:.4rem 0 0}
    .product-card-title-row h3{font-size:.95rem}
    .btn-link-center{margin-top:1.5rem}
    .collections-page-premium .collections-hero{margin-bottom:1.5rem;padding:2rem 0 1.5rem}
    .collections-page-premium .collections-hero::before{height:120px;opacity:.6}
    .collections-eyebrow{font-size:.7rem;margin-bottom:.5rem}
    .collections-page-premium .collections-hero h1{font-size:clamp(1.5rem,5vw,2rem);margin-bottom:.5rem}
    .collections-subtitle{font-size:.9rem}
    .category-cards-grid{margin-bottom:1.5rem;gap:1rem}
    .collection-card-body{padding:1rem 1.25rem}
    .collection-card-title{font-size:1rem}
    .collection-card-count{font-size:.8rem}
    .collections-toolbar-premium{padding:1rem 0 0}
    .collections-toolbar{flex-direction:column;align-items:stretch;gap:1rem;margin-bottom:1.5rem}
    .collections-toolbar-title h2{font-size:1rem}
    .collections-count{font-size:.85rem}
}
/* Accueil mobile: max 6 produits affichés, puis lien vers collections */
@media(max-width:768px){
    .section-products .product-grid-premium .product-card-premium:nth-child(n+7){display:none}
}
.hero-scroll-indicator span{display:block;width:24px;height:40px;border:2px solid rgba(255,255,255,.5);border-radius:12px;animation:scrollBounce 2s ease-in-out infinite}
.hero-scroll-indicator span::before{content:'';display:block;width:4px;height:8px;background:rgba(255,255,255,.7);border-radius:2px;margin:8px auto 0;animation:scrollDot 2s ease-in-out infinite}
@keyframes scrollBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}
@keyframes scrollDot{0%,100%{opacity:1}50%{opacity:.3}}
.section-premium .section-header-premium{margin-bottom:2.5rem}
.section-premium .section-header-premium h2{font-size:1rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;margin-bottom:.35rem}
.section-header-with-sort{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem}
.section-header-with-sort h2{margin-bottom:0}
.home-sort .sort-btn{cursor:pointer;border:none;font-family:inherit}
.section-subtitle{font-size:1.05rem;opacity:.65}
.category-grid-premium{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}
.category-card-premium{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);transition:all .3s ease;text-decoration:none;color:var(--text)}
.category-card-premium:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12);transform:translateY(-2px)}
.category-card-label{font-weight:600;font-size:1rem;letter-spacing:.02em}
.category-card-arrow{opacity:.5;font-size:1.1rem;transition:transform .2s}
.category-card-premium:hover .category-card-arrow{transform:translateX(4px);opacity:.9}
/* Cartes collections (boutique) */
.category-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.75rem}
.collection-card{display:flex;flex-direction:column;overflow:hidden;text-decoration:none;color:var(--text);border-radius:16px;background:rgba(255,255,255,.03);border:1px solid color-mix(in srgb,var(--text) 8%,transparent);transition:all .35s ease}
.collection-card:hover{border-color:color-mix(in srgb,var(--text) 18%,transparent);transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.15)}
.collection-card-img{position:relative;aspect-ratio:4/3;overflow:hidden;background:linear-gradient(145deg,color-mix(in srgb,var(--primary) 12%,transparent),color-mix(in srgb,var(--primary) 6%,transparent))}
.collection-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.collection-card:hover .collection-card-img img{transform:scale(1.06)}
.collection-card-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.5) 0%,transparent 50%);pointer-events:none}
.collection-card-body{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;padding:1.35rem 1.5rem;position:relative}
.collection-card-title{margin:0;font-size:1.15rem;font-weight:600;letter-spacing:.02em;flex:1;min-width:0}
.collection-card-count{font-size:.85rem;opacity:.65}
.collection-card-arrow{font-size:1.1rem;opacity:.5;transition:transform .25s,opacity .25s}
.collection-card:hover .collection-card-arrow{transform:translateX(4px);opacity:.9}
.product-grid-premium{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:2rem}
.product-card-premium{display:flex;flex-direction:column;overflow:hidden}
.product-card-premium .card-img-wrap-premium{aspect-ratio:1;overflow:hidden;border-radius:16px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.02)}
.product-card-premium .card-img-wrap-premium img{width:100%;height:100%;object-fit:contain;transition:transform .4s ease}
.product-card-premium:hover .card-img-wrap-premium img{transform:scale(1.03)}
.product-card-body{padding:1.25rem 0 0}
.product-card-premium .discount-badge{display:inline-block;background:var(--primary);color:#fff;font-size:.7rem;font-weight:600;padding:.2rem .5rem;border-radius:6px;margin-left:.5rem}
.btn-link-premium{font-size:.85rem;letter-spacing:.15em}

/* Sections */
.section{margin:7rem 0;padding:0 4rem;max-width:1400px;margin-left:auto;margin-right:auto}
.section h1{font-size:clamp(2.25rem,4vw,3.5rem);font-weight:600;color:var(--text);margin-bottom:3.5rem;letter-spacing:-.025em}
.collections-header{margin-bottom:3rem}
.collections-subtitle{font-size:1rem;opacity:.7;margin-top:.5rem}
.collections-page-premium .collections-hero{margin-bottom:3rem;padding:3.25rem 0 2.25rem;border-bottom:1px solid rgba(255,255,255,.08);position:relative}
.collections-page-premium .collections-hero::before{content:'';position:absolute;inset:-120px -80px auto -80px;height:260px;background:radial-gradient(ellipse 60% 60% at 50% 0%,color-mix(in srgb,var(--primary) 22%,transparent),transparent 70%);pointer-events:none;opacity:.9}
.collections-eyebrow{font-size:.75rem;font-weight:600;letter-spacing:.35em;text-transform:uppercase;opacity:.75;margin-bottom:.85rem}
.collections-page-premium .collections-hero h1{margin-bottom:.75rem}
.collections-page-premium .collections-subtitle{max-width:60ch}
.collections-hero-actions{margin-top:1.25rem}
.collections-page-premium .collections-hero-compact{padding-top:2.5rem}
.category-grid-collections{margin-bottom:2.25rem}
@media(max-width:640px){.category-cards-grid{grid-template-columns:1fr;gap:1.25rem}}
.collections-toolbar-premium{padding:1.25rem 0 0;margin-top:0;border-top:1px solid rgba(255,255,255,.08)}
.collections-toolbar-title{display:flex;flex-direction:column;gap:.35rem}
.collections-count{opacity:.65;font-size:.95rem;margin:0}

/* Cartes produits premium (collections) */
.product-card-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}
.product-card-title-row h3{padding:0;margin:0;font-size:1.05rem;letter-spacing:.02em;line-height:1.35}
.product-card-arrow{opacity:.45;transition:transform .25s,opacity .25s}
.product-card-premium:hover .product-card-arrow{transform:translateX(4px);opacity:.85}
.product-card-premium{text-decoration:none;color:var(--text);background:transparent;border:none;border-radius:0}
.product-card-premium:hover{opacity:1}
.product-card-premium .card-img-wrap-premium{border-radius:16px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03)}
.product-card-premium:hover .card-img-wrap-premium{border-color:rgba(255,255,255,.14)}
.product-card-premium .product-card-body{padding:1.1rem .25rem 0}
.product-card-premium .price{margin:.6rem 0 0;font-size:1rem;opacity:.92}
.collections-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem;margin-bottom:2rem}
.collections-toolbar h1,.collections-toolbar h2{margin:0}
.collections-sort{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}
.sort-select-mobile{display:none;width:100%;max-width:240px;padding:.6rem 2rem .6rem 1rem;font-size:.9rem;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.06);color:var(--text);border-radius:10px;cursor:pointer}
.sort-buttons-desktop{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}
.sort-label{font-size:.85rem;opacity:.7;margin-right:.5rem}
.sort-btn{padding:.5rem 1rem;font-size:.85rem;font-weight:500;text-decoration:none;color:var(--text);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:8px;transition:all .2s}
.sort-btn:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18)}
.sort-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}
.section-collections-home{margin-top:4rem}
.section h2{color:var(--primary);margin-bottom:2.5rem;font-size:1.1rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase}
.category-grid,.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2.5rem}
.category-grid-text{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.25rem}
.category-card,.product-card{text-decoration:none;color:var(--text);overflow:hidden;transition:opacity .2s,border-color .2s;position:relative;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06)}
.category-card-text{padding:1.5rem 2rem;display:flex;align-items:center;justify-content:center;text-align:center;min-height:80px}
.category-card-text span{font-weight:600;font-size:1.05rem;letter-spacing:.03em}
.category-card-text:hover{background:rgba(255,255,255,.06);border-color:var(--primary)}
.category-card:hover,.product-card:hover{opacity:.92;border-color:rgba(255,255,255,.12)}
.category-card .card-img-wrap,.product-card .card-img-wrap{position:relative;overflow:hidden;aspect-ratio:1;background:rgba(255,255,255,.02);border-radius:12px 12px 0 0}
.category-card img,.product-card img{width:100%;height:100%;object-fit:cover}
.category-card span,.product-card h3{padding:1.75rem 0 0;display:block;font-weight:600;font-size:1.15rem;letter-spacing:.03em}
.product-card .price{margin:.6rem 0 0;font-size:1rem;opacity:.9}
.product-card .discount{color:var(--primary);font-weight:600;margin-left:.35rem}
.btn-link{display:inline-block;margin-top:3rem;color:var(--primary);font-weight:600;text-decoration:none;font-size:.85rem;letter-spacing:.2em;text-transform:uppercase;transition:opacity .2s}
.btn-link:hover{opacity:.8}
.btn-link-center{display:block;text-align:center;margin-top:2.5rem}
.section-products .product-grid{margin-top:1.5rem}
.empty-products{color:var(--text);opacity:.7;margin-top:2rem;font-size:1rem}

/* Product page */
.product-page,.product-page-modern{padding:0;max-width:1400px;margin:0 auto;overflow-x:hidden;width:100%;box-sizing:border-box}
.product-page-modern img{max-width:100%;height:auto}
.product-pro .product-breadcrumb{font-size:.8rem;opacity:.6}
.product-pro .product-title{font-size:clamp(1.9rem,3.5vw,2.75rem);font-weight:600;letter-spacing:-.04em;line-height:1.2}
.product-pro .product-price-block{margin:1rem 0}
.product-pro .product-description-modern{font-size:1rem;line-height:1.85}
.product-tags-top{margin-bottom:1rem}
.product-pro .product-add-form{margin-top:2rem}
.product-pro .btn-add-cart{padding:1.2rem 2.5rem;font-size:1rem;letter-spacing:.08em}
.product-sticky-buy{position:fixed;bottom:0;left:0;right:0;background:rgba(10,10,12,.98);border-top:1px solid rgba(255,255,255,.08);padding:1rem 2rem;z-index:90;transform:translateY(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);box-shadow:0 -4px 24px rgba(0,0,0,.3)}
.product-sticky-buy.visible{transform:translateY(0)}
.product-sticky-inner{max-width:1400px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.product-sticky-info{display:flex;flex-direction:column;gap:.2rem}
.product-sticky-price{font-size:1.25rem;font-weight:700;color:var(--primary)}
.product-sticky-name{font-size:.9rem;opacity:.85}
.btn-sticky{text-decoration:none;flex-shrink:0}
.product-layout,.product-layout-modern{display:grid;grid-template-columns:1fr 1fr;gap:4rem 5rem;align-items:start;padding:4rem;min-width:0}
@media(max-width:900px){.product-layout-modern{grid-template-columns:minmax(0,1fr);gap:2rem;padding:2rem}}
@media(max-width:768px){
    .product-page-modern{overflow-x:hidden}
    .product-page-modern .product-layout-modern{padding:1rem 1.25rem;gap:1.5rem;width:100%;max-width:100%;overflow:hidden;min-width:0}
    .product-breadcrumb{padding:1rem 1.25rem 0;font-size:.8rem;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}
    .product-gallery-modern{position:static;width:100%;max-width:min(100%,100vw);min-width:0;overflow:hidden;box-sizing:border-box}
    .product-gallery-modern .gallery-carousel,.product-gallery-modern .gallery-single{width:100%;max-width:100%;aspect-ratio:1;max-height:70vw;box-sizing:border-box}
    .product-gallery-modern .gallery-track{width:100%;max-width:100%;box-sizing:border-box}
    .product-gallery-modern .gallery-slide{flex:0 0 100%;width:100%;max-width:100%;min-width:0;box-sizing:border-box}
    .product-gallery-modern .gallery-slide img,.product-gallery-modern .gallery-single img{width:100%!important;max-width:100%!important;height:100%!important;object-fit:cover}
    .product-pro .product-title{font-size:1.5rem}
    .product-pro .product-price-block{flex-wrap:wrap;gap:.5rem}
    .price-current{font-size:1.5rem}
    .product-trust-badges{flex-wrap:wrap;gap:1rem;padding:.75rem 0;margin:1rem 0;-webkit-overflow-scrolling:touch}
    .trust-badge{font-size:.8rem}
    .product-add-form .variant-buttons{gap:.4rem}
    .variant-btn{padding:.45rem .9rem;font-size:.85rem}
    .product-sticky-buy{padding:.75rem 1rem}
    .product-sticky-inner{flex-wrap:wrap;gap:.75rem}
    .btn-add-cart{width:100%}
}
.product-breadcrumb{max-width:1400px;margin:0 auto;padding:1.5rem 4rem 0;font-size:.85rem;color:var(--text);opacity:.7}
.product-breadcrumb a{color:inherit;text-decoration:none}
.product-breadcrumb a:hover{opacity:1}
.product-breadcrumb span{margin:0 .35rem}
.product-gallery-modern{position:sticky;top:2rem;min-width:0;overflow:hidden;width:100%;max-width:100%;box-sizing:border-box}
.product-gallery-modern,.gallery-carousel,.gallery-single,.gallery-track,.gallery-slide{max-width:100%}
.gallery-carousel,.gallery-single{position:relative;aspect-ratio:1;overflow:hidden;background:rgba(255,255,255,.02);border-radius:20px;border:1px solid rgba(255,255,255,.06)}
.product-pro .gallery-carousel,.product-pro .gallery-single{border-radius:24px}
.gallery-carousel{overflow:hidden}
.gallery-track{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;height:100%;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;ms-overflow-style:none}
.gallery-track::-webkit-scrollbar{display:none}
.gallery-slide{flex:0 0 100%;min-width:0;scroll-snap-align:start;display:flex;align-items:center;justify-content:center}
.gallery-slide img,.gallery-single img{display:block;width:100%;height:100%;max-width:100%;object-fit:cover}
.gallery-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.2);color:#fff;width:48px;height:48px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.5rem;border-radius:50%;transition:all .2s}
.gallery-nav:hover{background:rgba(0,0,0,.6)}
.gallery-nav.prev{left:1rem}
.gallery-nav.next{right:1rem}
.gallery-dots{display:flex;justify-content:center;gap:.5rem;margin-top:1rem}
.gallery-dots span{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.3);cursor:pointer;transition:background .2s}
.gallery-dots span.active{background:var(--primary)}
.gallery-placeholder{aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.04);border-radius:16px;border:1px dashed rgba(255,255,255,.1);color:var(--text);opacity:.5}
.product-details-modern{display:flex;flex-direction:column;gap:1.5rem}
.product-title{font-size:clamp(2rem,4vw,3rem);font-weight:600;color:var(--text);letter-spacing:-.03em;line-height:1.15}
.product-price-block{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.price-current{font-size:1.75rem;font-weight:700;color:var(--primary);transition:transform .2s ease,opacity .2s ease}
.price-current.price-updating,.product-sticky-price.price-updating{animation:pricePulse .4s ease}
@keyframes pricePulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.7}100%{transform:scale(1);opacity:1}}
.price-badge{background:var(--primary);color:#fff;font-size:.8rem;font-weight:600;padding:.25rem .6rem;border-radius:6px}
.price-compare{font-size:1rem;opacity:.6;text-decoration:line-through}
.product-description-modern,.product-section-content{margin:1rem 0;line-height:1.9;font-size:1.05rem;opacity:.9}
.product-description-modern p,.product-section-content p{margin-bottom:1rem}
.product-description-modern strong,.product-section-content strong{font-weight:600}
.product-description-modern em,.product-section-content em{font-style:italic}
.product-description-modern u,.product-section-content u{text-decoration:underline}
.product-description-modern ul,.product-section-content ul{margin:1rem 0 1rem 1.5rem;padding-left:1rem;list-style:disc}
.product-description-modern ol,.product-section-content ol{margin:1rem 0 1rem 1.5rem;padding-left:1rem;list-style:decimal}
.product-description-modern li,.product-section-content li{margin:.5rem 0}
.product-description-modern a,.product-section-content a{color:var(--primary);text-decoration:none}
.product-description-modern a:hover,.product-section-content a:hover{text-decoration:underline}
.product-description-modern img,.product-section-content img{max-width:100%;height:auto;border-radius:8px;margin:.75rem 0}
.product-add-form{margin-top:1rem}
.product-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}
.product-tag{padding:.25rem .6rem;background:color-mix(in srgb,var(--primary) 18%,transparent);color:var(--primary);font-size:.8rem;font-weight:500;border-radius:6px}
.variant-block{margin-bottom:1.25rem}
.variant-block > label{display:block;font-size:.85rem;font-weight:500;margin-bottom:.5rem;opacity:.8}
.variant-buttons{display:flex;flex-wrap:wrap;gap:.5rem}
.variant-btn{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:.5rem 1rem;border-radius:8px;transition:all .2s;background:transparent;color:var(--text);font-size:.9rem;border:1px solid color-mix(in srgb,var(--text) 18%,transparent)}
.variant-btn:hover{border-color:color-mix(in srgb,var(--text) 35%,transparent)}
.variant-btn.selected{border-color:var(--primary);background:var(--primary);color:#fff}
.variant-btn input{position:absolute;opacity:0;pointer-events:none}
/* Sélecteur quantité stepper [-] input [+] */
.qty-block .qty-stepper{display:inline-flex;align-items:center;gap:0;margin-top:.5rem;border:2px solid rgba(255,255,255,.12);border-radius:12px;overflow:hidden;background:rgba(255,255,255,.04)}
.qty-block .qty-btn{width:44px;height:44px;border:none;background:rgba(255,255,255,.06);color:var(--text);font-size:1.25rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s;flex-shrink:0}
.qty-block .qty-btn:hover{background:rgba(255,255,255,.1);color:var(--primary)}
.qty-block .qty-input-readonly{width:52px;height:44px;border:none;border-left:1px solid rgba(255,255,255,.1);border-right:1px solid rgba(255,255,255,.1);background:transparent;color:var(--text);font-size:1rem;font-weight:600;text-align:center;-moz-appearance:textfield;appearance:textfield}
.qty-block .qty-input-readonly::-webkit-outer-spin-button,.qty-block .qty-input-readonly::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.product-sections-scroll{margin-top:2rem;display:flex;flex-direction:column;gap:0;max-height:70vh;overflow-y:auto;overflow-x:hidden;padding-right:.5rem;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.25) transparent}
.product-sections-scroll::-webkit-scrollbar{width:8px}
.product-sections-scroll::-webkit-scrollbar-track{background:transparent}
.product-sections-scroll::-webkit-scrollbar-thumb{background:rgba(255,255,255,.25);border-radius:4px}
.product-sections-scroll::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.35)}
.product-sections-below-gallery{margin-top:1.5rem}
.product-section-item{border:1px solid rgba(255,255,255,.12);border-radius:12px;margin-bottom:.75rem;overflow:hidden;background:rgba(255,255,255,.03)}
.product-section-item summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;cursor:pointer;list-style:none;font-weight:600;font-size:.95rem}
.product-section-item summary::-webkit-details-marker{display:none}
.product-section-title{flex:1}
.product-section-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.08);border-radius:0;font-size:1.1rem;transition:transform .25s,background .25s}
.product-section-item[open] .product-section-icon{transform:rotate(45deg);background:var(--primary);color:#fff}
.product-section-content{max-height:400px;overflow-y:auto;overflow-x:hidden;padding:1rem 1.25rem 1.25rem;line-height:1.8;font-size:.95rem;opacity:.9;border-top:1px solid rgba(255,255,255,.06);-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.25) transparent}
.product-section-content::-webkit-scrollbar{width:6px}
.product-section-content::-webkit-scrollbar-track{background:transparent}
.product-section-content::-webkit-scrollbar-thumb{background:rgba(255,255,255,.25);border-radius:3px}
.product-section-content::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.35)}
.cart-item-variant{font-weight:400;opacity:.85;font-size:.9em}
.qty-block{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}
.qty-block label{font-size:.9rem;font-weight:500}
.qty-block input{width:100px;padding:.9rem 1.25rem;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:var(--text);font-size:1rem;border-radius:12px;font-family:inherit}
.btn-add-cart{width:100%;max-width:400px;padding:1.15rem 2rem;background:var(--primary);color:#fff;border:none;cursor:pointer;font-weight:600;font-size:1rem;letter-spacing:.05em;transition:opacity .2s;border-radius:12px;font-family:inherit}
.btn-add-cart:hover{opacity:.92}
.product-trust-badges{display:flex;flex-wrap:nowrap;gap:1.5rem;margin:1.5rem 0;padding:1rem 0;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06);overflow-x:auto}
.trust-badge{display:inline-flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:500;opacity:.9;color:var(--text);flex-shrink:0;white-space:nowrap}
.trust-badge svg{width:18px;height:18px;flex-shrink:0;opacity:.8}
.product-layout{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start;padding:4rem}
.product-gallery{position:sticky;top:2rem}
.product-gallery-main,.product-carousel{position:relative;aspect-ratio:1;overflow:hidden;background:rgba(255,255,255,.04);cursor:zoom-in;border-radius:12px;border:1px solid rgba(255,255,255,.06)}
.product-gallery-main img,.product-carousel-track img{width:100%;height:100%;object-fit:cover}
.product-carousel-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;height:100%}
.product-carousel-track img{flex:0 0 100%;scroll-snap-align:start}
.product-carousel-btn{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.15);color:#fff;width:50px;height:50px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity .2s;border-radius:50%}
.product-carousel-btn:hover{opacity:.9}
.product-carousel-btn.prev{left:1.5rem}
.product-carousel-btn.next{right:1.5rem}
.product-carousel-dots{display:flex;justify-content:center;gap:.6rem;margin-top:1.5rem}
.product-carousel-dots span{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.2);cursor:pointer;transition:background .2s}
.product-carousel-dots span.active{background:var(--primary)}
/* Zoom lightbox - image en grand */
.zoom-overlay{position:fixed;inset:0;background:rgba(0,0,0,.97);z-index:99999;display:none;align-items:center;justify-content:center;cursor:zoom-out}
.zoom-overlay.active{display:flex}
.zoom-overlay img{max-width:95vw;max-height:95vh;width:auto;height:auto;object-fit:contain;pointer-events:none}
.zoom-overlay .zoom-close{position:absolute;top:1.5rem;right:1.5rem;width:48px;height:48px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff;font-size:1.5rem;cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .2s}
.zoom-overlay .zoom-close:hover{background:rgba(255,255,255,.2)}
.product-info h1{font-size:clamp(1.9rem,3vw,2.75rem);font-weight:600;margin-bottom:1rem;color:var(--text);letter-spacing:-.02em}
.product-description{margin:1.5rem 0;line-height:1.9;font-size:1.05rem;opacity:.9}
.product-info form{margin-top:2rem}
.product-info .qty-row{display:flex;align-items:center;gap:1.25rem;margin-bottom:1.75rem}
.product-info input[type=number]{width:110px;padding:1rem 1.25rem;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:var(--text);font-size:1rem;border-radius:10px;transition:border-color .2s}
.product-info input[type=number]:focus{outline:none;border-color:var(--primary)}
.product-info button{padding:1.35rem 3.5rem;background:var(--primary);color:#fff;border:none;cursor:pointer;font-weight:600;font-size:.9rem;letter-spacing:.12em;transition:opacity .2s;border-radius:10px}
.product-info button:hover{opacity:.9}

/* Cart page - Pro */
.cart-page{padding:2rem 4rem 6rem;max-width:1200px;margin:0 auto}
.cart-pro .cart-header{margin-bottom:2.5rem}
.cart-page h1{font-size:clamp(1.75rem,3vw,2.5rem);font-weight:600;margin-bottom:.35rem;letter-spacing:-.03em}
.cart-subtitle{font-size:.95rem;opacity:.7}
.cart-empty{text-align:center;padding:6rem 2rem}
.cart-empty-icon{width:72px;height:72px;margin:0 auto 1.5rem;opacity:.2}
.cart-empty-icon svg{width:100%;height:100%}
.cart-empty p{font-size:1.1rem;opacity:.8;margin-bottom:1.5rem}
.cart-layout{display:grid;grid-template-columns:1fr 360px;gap:3rem;align-items:start}
.cart-items{display:flex;flex-direction:column;gap:1rem}
.cart-item-card{display:flex;gap:1.5rem;align-items:center;padding:1.5rem;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:16px;transition:border-color .2s}
.cart-item-card:hover{border-color:rgba(255,255,255,.12)}
.cart-item-img-wrap{width:100px;height:100px;flex-shrink:0;border-radius:12px;overflow:hidden;background:rgba(255,255,255,.04)}
.cart-item-img{width:100%;height:100%;object-fit:cover}
.cart-item-placeholder{width:100%;height:100%;background:rgba(255,255,255,.04)}
.cart-item-body{flex:1;min-width:0}
.cart-item-name{font-weight:600;font-size:1.05rem;letter-spacing:.02em;margin-bottom:.25rem}
.cart-item-variant{font-weight:400;opacity:.75;font-size:.9em}
.cart-item-price{font-size:.9rem;opacity:.7;margin-bottom:.75rem}
.cart-qty-controls{display:inline-flex;align-items:center;gap:0;border:1px solid rgba(255,255,255,.15);border-radius:10px;overflow:hidden}
.qty-btn{width:36px;height:36px;border:none;background:rgba(255,255,255,.05);color:var(--text);font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}
.qty-btn:hover{background:rgba(255,255,255,.1)}
.qty-value{min-width:36px;text-align:center;font-weight:600;font-size:.95rem}
.cart-item-right{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}
.cart-item-total{font-weight:700;font-size:1.1rem}
.cart-remove-btn{width:32px;height:32px;border:none;background:transparent;color:rgba(255,255,255,.5);font-size:1.4rem;cursor:pointer;border-radius:8px;transition:all .2s}
.cart-remove-btn:hover{background:rgba(220,38,38,.1);color:#f87171}
.cart-summary-sticky{position:sticky;top:6rem}
.cart-summary-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:1.75rem}
.cart-summary-card h3{font-size:1rem;font-weight:600;margin-bottom:1.25rem}
.cart-summary-row{display:flex;justify-content:space-between;margin-bottom:.75rem;font-size:.95rem}
.cart-summary-row span:last-child{font-weight:600;color:var(--primary)}
.cart-continue{display:block;text-align:center;margin-top:1.25rem;color:var(--text);text-decoration:none;font-size:.9rem;opacity:.75;transition:opacity .2s}
.cart-continue:hover{opacity:1}
@media(max-width:900px){.cart-layout{grid-template-columns:1fr}.cart-summary-sticky{position:static}.cart-item-card{flex-wrap:wrap}.cart-item-right{flex-direction:row;align-items:center;width:100%;justify-content:space-between}}
.btn{padding:1.25rem 2.5rem;background:var(--primary);color:#fff;text-decoration:none;display:inline-block;font-weight:600;border:none;cursor:pointer;font-size:.9rem;letter-spacing:.1em;transition:opacity .2s;border-radius:10px}
.btn:hover{opacity:.9}
.btn-outline{background:transparent;border:2px solid var(--primary);color:var(--primary)!important}
.btn-outline:hover{background:var(--primary);color:#fff!important}
.btn-checkout{width:100%;text-align:center;padding:1.35rem;font-size:1rem}

/* Checkout */
.checkout-page{max-width:1100px;margin:0 auto;padding:4rem}
.checkout-page h1{font-size:clamp(2rem,4vw,3rem);font-weight:600;margin-bottom:.5rem;letter-spacing:-.03em}
.checkout-subtitle{font-size:1rem;opacity:.7;margin-bottom:3rem}
.checkout-form label{display:block;margin:1.5rem 0}
.checkout-form input,.checkout-form select,.checkout-form textarea{width:100%;padding:.9rem 1.25rem;margin-top:.5rem;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:var(--text);font-family:inherit;font-size:1rem;border-radius:12px;transition:border-color .2s,box-shadow .2s}
.checkout-form select{appearance:none;-webkit-appearance:none;padding-right:2.5rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2394a3b8' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center}
.checkout-form input:focus,.checkout-form select:focus,.checkout-form textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 25%,transparent)}
.checkout-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem}
.checkout-form h2{font-size:1.15rem;margin-bottom:1.5rem;letter-spacing:.05em}
.checkout-items{list-style:none;margin:1rem 0}
.checkout-items li{padding:1.25rem 0;border-bottom:1px solid rgba(0,0,0,.06);font-size:.95rem}
.shipping-option{display:block;margin:1rem 0;padding:1.25rem 1.5rem;border:2px solid rgba(255,255,255,.08);cursor:pointer;transition:all .25s;border-radius:10px;background:rgba(255,255,255,.03)}
.shipping-option:hover{border-color:rgba(255,255,255,.15)}
.shipping-option:has(input:checked){border-color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,transparent);box-shadow:0 0 0 1px var(--primary)}
.total{font-size:1.5rem;margin:1.5rem 0;font-weight:700;letter-spacing:.02em}
.payment-note{opacity:.7;font-size:.9rem;margin-bottom:1.5rem;padding:1rem;background:rgba(255,255,255,.04);border-radius:10px;border:1px solid rgba(255,255,255,.06)}
.checkout-form button{padding:1.15rem 2rem;background:var(--primary);color:#fff;border:none;cursor:pointer;font-weight:600;width:100%;font-size:1rem;letter-spacing:.06em;transition:opacity .2s;border-radius:12px;font-family:inherit}
.checkout-form button:hover{opacity:.92}
.checkout-stripe .checkout-header{margin-bottom:2.5rem}
.checkout-back{display:inline-block;color:var(--text);text-decoration:none;font-size:.9rem;opacity:.8;margin-bottom:1rem}
.checkout-stripe .checkout-grid{grid-template-columns:1fr 400px}
.checkout-form-col{display:flex;flex-direction:column;gap:1.5rem}
.checkout-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:1.75rem}
.checkout-card-title{font-size:.95rem;font-weight:600;margin-bottom:1.25rem;opacity:.9}
.checkout-field{display:block;margin-bottom:1.25rem}
.checkout-field span{display:block;font-size:.8rem;font-weight:500;opacity:.8;margin-bottom:.4rem}
.checkout-field input,.checkout-field select,.checkout-field textarea{width:100%;padding:1rem 1.25rem;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:var(--text);font-size:1rem;border-radius:12px;transition:border-color .2s,background .2s,box-shadow .2s}
.checkout-field input::placeholder,.checkout-field textarea::placeholder{opacity:.6}
.checkout-field input:focus,.checkout-field select:focus,.checkout-field textarea:focus{outline:none;border-color:var(--primary);background:rgba(255,255,255,.06);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 20%,transparent)}
.checkout-row-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.checkout-shipping-grid{display:flex;flex-direction:column;gap:.75rem}
.checkout-shipping-option{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;border:1px solid rgba(255,255,255,.08);border-radius:12px;cursor:pointer;margin-bottom:0;background:rgba(255,255,255,.02);transition:all .25s}
.checkout-shipping-option:last-child{margin-bottom:0}
.checkout-shipping-option:hover{border-color:rgba(255,255,255,.15)}
.checkout-shipping-option:has(input:checked){border-color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,transparent);box-shadow:0 0 0 1px var(--primary)}
.checkout-shipping-modern{position:relative;padding-left:3.25rem}
.checkout-shipping-modern input{position:absolute;opacity:0}
.shipping-option-radio{position:absolute;left:1rem;top:50%;transform:translateY(-50%);width:20px;height:20px;border:2px solid rgba(255,255,255,.25);border-radius:50%;transition:all .2s}
.checkout-shipping-modern:has(input:checked) .shipping-option-radio{border-color:var(--primary);background:var(--primary)}
.checkout-shipping-modern:has(input:checked) .shipping-option-radio::after{content:'';position:absolute;width:6px;height:6px;background:#fff;border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%)}
.shipping-option-body{display:flex;align-items:center;gap:1rem;flex:1;min-width:0}
.shipping-option-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.06);border-radius:10px;flex-shrink:0}
.shipping-option-icon svg{width:20px;height:20px;opacity:.8}
.checkout-shipping-modern:has(input:checked) .shipping-option-icon{background:var(--primary);color:#fff}
.checkout-shipping-modern:has(input:checked) .shipping-option-icon svg{opacity:1}
.shipping-option-content{flex:1;display:flex;flex-direction:column;gap:.15rem;min-width:0}
.shipping-name{font-weight:600;font-size:.95rem}
.shipping-detail{font-size:.8rem;opacity:.7}
.shipping-price{font-weight:700;font-size:1rem;color:var(--primary);flex-shrink:0}
.shipping-name{font-weight:600}
.shipping-detail{font-size:.85rem;opacity:.7}
.shipping-price{font-weight:600;color:var(--primary);margin-left:auto}
.checkout-summary-col{position:sticky;top:6rem}
.checkout-summary-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:1.75rem}
.checkout-summary-items{max-height:280px;overflow-y:auto;margin-bottom:1.25rem;padding-bottom:1.25rem;border-bottom:1px solid rgba(255,255,255,.08)}
.checkout-summary-item{display:flex;align-items:center;gap:1rem;padding:.75rem 0}
.checkout-summary-item img,.checkout-item-placeholder{width:48px;height:48px;border-radius:8px;object-fit:cover;background:rgba(255,255,255,.05)}
.checkout-item-detail{flex:1;min-width:0}
.checkout-item-name{display:block;font-size:.9rem;font-weight:500}
.checkout-item-qty{font-size:.8rem;opacity:.6}
.checkout-summary-totals{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}
.checkout-total-row{display:flex;justify-content:space-between;font-size:.95rem}
.checkout-total-final{font-size:1.25rem;font-weight:700;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.1)}
.checkout-submit-btn{width:100%;padding:1.1rem;background:var(--primary);color:#fff;border:none;cursor:pointer;font-weight:600;font-size:1rem;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:.5rem}
.checkout-submit-btn .checkout-btn-icon{width:18px;height:18px;flex-shrink:0}
.checkout-secure{text-align:center;font-size:.8rem;opacity:.6;margin-top:1rem}
.checkout-error{margin-bottom:1.5rem;padding:1rem;background:rgba(220,38,38,.1);border-radius:10px;color:#f87171}
@media(max-width:900px){.checkout-stripe .checkout-grid{grid-template-columns:1fr}.checkout-summary-col{position:static}}

/* Order confirmed */
.order-confirmed{text-align:center;padding:10rem 2rem}
.order-confirmed h1{color:var(--primary);margin-bottom:1.5rem;font-size:clamp(2rem,4vw,3.5rem);font-weight:600;letter-spacing:-.02em}
.order-confirmed p{margin:.75rem 0;font-size:1.15rem;opacity:.9}
.order-confirmed-premium .order-confirmed-icon{width:72px;height:72px;margin:0 auto 1.5rem;background:var(--primary);color:#fff;font-size:2rem;font-weight:700;border-radius:50%;display:flex;align-items:center;justify-content:center;line-height:1}
.order-confirmed-premium .order-confirmed-thanks{font-size:1.2rem;font-weight:500}
.order-confirmed-premium .order-confirmed-email{opacity:.85;font-size:1rem}
.order-confirmed-premium .btn-order-confirmed{margin-top:2rem;padding:1rem 2.5rem}

/* Legal pages */
.legal-page{max-width:720px;margin:0 auto;padding:5rem 2rem 8rem}
.legal-page h1{font-size:clamp(2.25rem,4vw,3.25rem);font-weight:600;margin-bottom:2.5rem;letter-spacing:-.03em;color:var(--text)}
.legal-content{margin-top:2.5rem;line-height:2;font-size:1.05rem;color:var(--text)}
.legal-content p{margin-bottom:1.75rem;opacity:.9}
.legal-content h2{font-size:1.3rem;margin:3rem 0 1.25rem;color:var(--primary);font-weight:600;letter-spacing:.03em}
.legal-content ul,.legal-content ol{margin:1rem 0 1.5rem 2rem}
.legal-content li{margin-bottom:.75rem}
.legal-content a{color:var(--primary);text-decoration:underline;text-underline-offset:3px}
.legal-content a:hover{opacity:.85}
.legal-back{display:inline-block;margin-bottom:2rem;color:var(--text);text-decoration:none;font-size:.9rem;opacity:.8;transition:opacity .2s}
.legal-back:hover{opacity:1}

/* FAQ */
.faq-list{display:flex;flex-direction:column;gap:0}
.faq-item{border-bottom:1px solid rgba(255,255,255,.06);padding:1.25rem 0}
.faq-item summary{cursor:pointer;font-weight:600;font-size:1.05rem;list-style:none;display:flex;align-items:center;gap:.5rem}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::before{content:'+';font-size:1.2rem;opacity:.7;transition:transform .2s}
.faq-item[open] summary::before{content:'−'}
.faq-answer{margin-top:1rem;padding-left:0;line-height:1.8;opacity:.9}

/* Contact - Awwwards */
.contact-section{max-width:1200px;margin:0 auto;padding:5rem 4rem 10rem}
.contact-back{display:inline-block;margin-bottom:3rem;color:var(--text);opacity:.6;text-decoration:none;font-size:.85rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;transition:opacity .2s,color .2s}
.contact-back:hover{opacity:1;color:var(--primary)}
.contact-awwwards-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:5rem;align-items:start}
.contact-hero-awwwards{position:sticky;top:6rem}
.contact-badge{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.4em;color:var(--primary);opacity:.8;margin-bottom:1.5rem}
.contact-hero-awwwards h1{font-size:clamp(3rem,6vw,4.5rem);font-weight:700;letter-spacing:-.05em;line-height:1.05;margin-bottom:1.25rem;color:var(--text)}
.contact-tagline{font-size:1.1rem;opacity:.7;line-height:1.7;max-width:32ch;margin-bottom:2.5rem}
.contact-nav-links{display:flex;gap:2rem}
.contact-nav-links a{color:var(--primary);text-decoration:none;font-size:.9rem;font-weight:500;letter-spacing:.05em;transition:opacity .2s}
.contact-nav-links a:hover{opacity:.8}
.contact-main{display:grid;grid-template-columns:minmax(200px,280px) 1fr;gap:3rem;align-items:start}
.contact-main-form-only{grid-template-columns:1fr;max-width:520px;margin-left:auto;margin-right:auto}
.contact-info-awwwards{position:sticky;top:6rem}
.contact-info-card{background:transparent;border-left:2px solid var(--primary);padding-left:1.5rem}
.contact-info-label{display:block;font-size:.7rem;font-weight:600;letter-spacing:.25em;text-transform:uppercase;opacity:.6;margin-bottom:.5rem}
.contact-email-awwwards{display:block;color:var(--primary);text-decoration:none;font-weight:600;font-size:1.05rem;word-break:break-all;transition:opacity .2s}
.contact-email-awwwards:hover{opacity:.85}
.contact-info-meta{font-size:.85rem;opacity:.55;margin-top:.75rem}
.contact-form-awwwards{min-width:0}
/* Carte succès après envoi */
.contact-success-card{text-align:center;padding:3.5rem 2.5rem;background:linear-gradient(145deg,rgba(255,255,255,.04),rgba(255,255,255,.01));border:1px solid rgba(255,255,255,.08);border-radius:16px;max-width:420px;margin:0 auto;animation:contactSuccessIn .4s ease-out}
@keyframes contactSuccessIn{0%{opacity:0;transform:translateY(12px)}100%{opacity:1;transform:translateY(0)}}
.contact-success-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;margin-bottom:1.5rem;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 25%,transparent),color-mix(in srgb,var(--primary) 12%,transparent));border-radius:50%;color:var(--primary)}
.contact-success-icon svg{width:32px;height:32px}
.contact-success-card h3{font-size:1.5rem;font-weight:600;letter-spacing:-.03em;margin-bottom:.75rem;color:var(--text)}
.contact-success-card p{font-size:1rem;opacity:.8;line-height:1.65;margin-bottom:1.75rem}
.contact-success-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--primary);text-decoration:none;font-weight:600;font-size:.9rem;letter-spacing:.04em;transition:opacity .2s,gap .2s}
.contact-success-link:hover{opacity:.9;gap:.75rem}
/* Alertes erreur */
.contact-alert{margin-bottom:1.5rem;padding:1.25rem 1.5rem;border-radius:12px;font-size:.95rem;line-height:1.55;display:flex;align-items:flex-start;gap:1rem;border-left:3px solid}
.contact-alert-icon{flex-shrink:0;width:22px;height:22px;margin-top:.1rem}
.contact-alert-icon svg{width:100%;height:100%;opacity:.9}
.contact-alert.success{color:#4ade80;background:rgba(74,222,128,.08);border-left-color:#4ade80}
.contact-alert.error{color:#f87171;background:rgba(248,113,113,.08);border-left-color:#f87171}
.contact-form-awwwards .contact-form{display:flex;flex-direction:column;gap:0}
.contact-form-row{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.contact-section .contact-input-wrap{display:block;margin-bottom:2rem}
.contact-section .contact-textarea-wrap{margin-bottom:2rem}
.contact-section .contact-input-wrap label{display:block;font-size:.8rem;font-weight:500;letter-spacing:.08em;color:var(--text);opacity:.85;margin-bottom:.6rem}
.contact-section .contact-input-wrap input,.contact-section .contact-input-wrap textarea{display:block;width:100%;padding:1rem 1.25rem;border:1px solid color-mix(in srgb,var(--text) 22%,transparent);background:color-mix(in srgb,var(--text) 4%,transparent);color:var(--text);font-family:inherit;font-size:1rem;border-radius:10px;transition:border-color .2s,background .2s;resize:vertical;appearance:none;-webkit-appearance:none}
.contact-section .contact-input-wrap input::placeholder,.contact-section .contact-input-wrap textarea::placeholder{color:var(--text);opacity:.45}
.contact-section .contact-input-wrap input:hover,.contact-section .contact-input-wrap textarea:hover{border-color:color-mix(in srgb,var(--text) 35%,transparent)}
.contact-section .contact-input-wrap input:focus,.contact-section .contact-input-wrap textarea:focus{outline:none;border-color:var(--primary);background:color-mix(in srgb,var(--primary) 4%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent)}
.contact-section .contact-input-wrap textarea{min-height:130px;padding:1rem 1.25rem}
.btn-contact-awwwards{display:inline-flex;align-items:center;gap:.75rem;padding:1.25rem 2.5rem;background:var(--primary);color:#fff;border:none;cursor:pointer;font-weight:600;font-size:.95rem;letter-spacing:.05em;font-family:inherit;border-radius:0;transition:opacity .2s,transform .2s}
.btn-contact-awwwards:hover{opacity:.92;transform:translateX(4px)}
.btn-contact-awwwards .btn-arrow{transition:transform .2s}
.btn-contact-awwwards:hover .btn-arrow{transform:translateX(4px)}
@media(max-width:900px){
    .contact-awwwards-layout{grid-template-columns:1fr;gap:3rem}
    .contact-hero-awwwards{position:static}
    .contact-main{grid-template-columns:1fr;gap:2rem}
    .contact-info-awwwards{position:static}
}
@media(max-width:768px){
    .contact-section{padding:3rem 1.5rem 6rem}
    .contact-back{margin-bottom:2rem}
    .contact-hero-awwwards h1{font-size:clamp(2.25rem,8vw,3rem)}
    .contact-tagline{margin-bottom:2rem}
    .contact-nav-links{flex-wrap:wrap;gap:1rem}
    .contact-main-form-only{max-width:100%;width:100%}
    .contact-form-awwwards{width:100%;min-width:0}
    .contact-form-awwwards .contact-form{width:100%}
    .contact-form-row{grid-template-columns:1fr;gap:0;width:100%}
    .contact-section .contact-input-wrap{width:100%;min-width:0}
    .contact-section .contact-input-wrap input,.contact-section .contact-input-wrap textarea{width:100%;min-width:0;box-sizing:border-box}
    .contact-section .contact-input-wrap input,.contact-section .contact-input-wrap textarea{min-height:48px}
    .contact-section .contact-input-wrap textarea{min-height:140px}
    .btn-contact-awwwards{width:100%;justify-content:center;padding:1.15rem}
    .contact-success-card{padding:2.5rem 1.5rem}
    .contact-success-icon{width:56px;height:56px;margin-bottom:1.25rem}
    .contact-success-icon svg{width:28px;height:28px}
}

/* FAQ - mini cartes pro (accueil + page FAQ) */
.section-faq-pro{max-width:1400px;margin-left:auto;margin-right:auto;padding:0 4rem}
.section-faq-home.section-faq-pro{max-width:1600px;margin:7rem auto;padding:0 4rem}
.faq-cards-grid,.section-faq-pro .faq-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.5rem}
/* FAQ page dédiée - design unique */
.faq-page-dedicated{max-width:800px;margin:0 auto;padding:4rem 2rem 8rem}
.faq-hero{text-align:center;margin-bottom:4rem}
.faq-hero h1{font-size:clamp(2.5rem,5vw,3.5rem);font-weight:700;letter-spacing:-.04em;margin-bottom:.75rem}
.faq-subtitle{font-size:1.1rem;opacity:.7;letter-spacing:.02em}
.faq-page-premium .faq-hero-premium{position:relative;padding:3rem 0 2.5rem;margin-bottom:3rem;border-bottom:1px solid rgba(255,255,255,.08)}
.faq-page-premium .faq-hero-premium::before{content:'';position:absolute;inset:-80px -60px auto -60px;height:220px;background:radial-gradient(ellipse 55% 55% at 50% 0%,color-mix(in srgb,var(--primary) 18%,transparent),transparent 70%);pointer-events:none;opacity:.9}
.faq-eyebrow{font-size:.75rem;font-weight:600;letter-spacing:.35em;text-transform:uppercase;opacity:.75;margin-bottom:.85rem}
.faq-hero-link{display:inline-block;margin-top:1.25rem;color:var(--primary);text-decoration:none;font-weight:500;font-size:.95rem;transition:opacity .2s}
.faq-hero-link:hover{opacity:.85}
.faq-list-dedicated{display:flex;flex-direction:column;gap:0}
.faq-item-dedicated{border:1px solid rgba(255,255,255,.08);border-radius:14px;margin-bottom:.75rem;overflow:hidden;background:rgba(255,255,255,.02);transition:background .2s,border-color .2s}
.faq-item-dedicated:hover{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.12)}
.faq-item-dedicated[open]{border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.03)}
.faq-item-dedicated summary{display:flex;align-items:center;gap:1.25rem;padding:1.25rem 1.5rem;cursor:pointer;list-style:none;font-weight:600;font-size:1.05rem}
.faq-item-dedicated summary::-webkit-details-marker{display:none}
.faq-item-dedicated .faq-num{font-size:.85rem;opacity:.5;font-variant-numeric:tabular-nums;min-width:28px}
.faq-item-dedicated .faq-question{flex:1;line-height:1.4}
.faq-item-dedicated .faq-chevron{font-size:1.5rem;opacity:.4;transition:transform .3s}
.faq-item-dedicated[open] .faq-chevron{transform:rotate(90deg)}
.faq-answer-dedicated{padding:0 1.5rem 1.5rem 3.5rem;line-height:1.9;font-size:1rem;opacity:.9}
.faq-empty{text-align:center;padding:4rem 2rem}
.faq-empty-icon{width:64px;height:64px;display:block;margin:0 auto 1rem;opacity:.4}
.faq-empty p{margin-bottom:1.5rem;opacity:.8}
.faq-footer-link{margin-top:3rem;text-align:center;display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center;align-items:center}
.btn-faq-back{color:var(--primary);text-decoration:none;font-weight:500;font-size:.95rem;transition:opacity .2s}
.btn-faq-back:hover{opacity:.8}
.faq-item-dedicated{scroll-margin-top:6rem}
.faq-page .faq-cards-grid{max-width:1100px;margin-top:2.5rem}
.faq-card{background:rgba(255,255,255,.05);border:2px solid rgba(255,255,255,.18);border-radius:16px;overflow:hidden;transition:all .25s ease;box-shadow:0 2px 12px rgba(0,0,0,.08)}
.faq-card:hover{border-color:rgba(255,255,255,.25);box-shadow:0 4px 20px rgba(0,0,0,.12)}
.faq-card[open]{border-color:var(--primary);box-shadow:0 4px 24px color-mix(in srgb,var(--primary) 25%,transparent);background:rgba(255,255,255,.08)}
.faq-card summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.35rem 1.5rem;cursor:pointer;list-style:none;font-weight:600;font-size:1.02rem;letter-spacing:.01em}
.faq-card summary::-webkit-details-marker{display:none}
.faq-card-q{flex:1;line-height:1.45}
.faq-card-icon{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.08);border-radius:10px;font-size:1.25rem;font-weight:300;transition:transform .25s,background .25s}
.faq-card[open] .faq-card-icon{transform:rotate(45deg);background:var(--primary);color:#fff}
.faq-card-answer{padding:0 1.5rem 1.5rem;line-height:1.85;font-size:.98rem;opacity:.92}

.error{color:#dc2626;margin:1rem 0;font-size:.95rem;padding:1rem;background:rgba(220,38,38,.08);border-radius:6px}
.error-page-modern{min-height:75vh;display:flex;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;position:relative;overflow:hidden}
.error-page-modern::before{content:'';position:absolute;inset:-100px;background:radial-gradient(ellipse 50% 40% at 50% 30%,color-mix(in srgb,var(--primary) 15%,transparent),transparent 65%);pointer-events:none;opacity:.8}
.error-page-inner{max-width:540px;position:relative;z-index:1;text-align:center;margin:0 auto}
.error-code{display:block;font-size:clamp(7rem,20vw,14rem);font-weight:800;opacity:.08;line-height:1;margin-bottom:-1rem;font-family:var(--font-heading);letter-spacing:-.08em;color:var(--primary);text-align:center}
.error-page-modern h1{font-size:clamp(1.9rem,3.8vw,2.75rem);margin-bottom:1rem;color:var(--text);font-weight:600;letter-spacing:-.03em}
.error-page-modern p{opacity:.8;margin-bottom:2.25rem;font-size:1.1rem;line-height:1.7}
.error-page-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;align-items:center}
.error-page-actions .btn{text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;padding:1rem 1.75rem;border-radius:12px;font-weight:600;font-size:.95rem;transition:opacity .2s,transform .2s}
.error-page-actions .btn:hover{opacity:.92;transform:translateY(-1px)}
.error-page-actions .btn-outline{background:transparent;border:2px solid rgba(255,255,255,.2);color:var(--text)}
.error-page-actions .btn-outline:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.3)}

/* Responsive - base */
@media(max-width:640px){
    .section{padding:2rem 1rem 4rem}
    .section h1{font-size:1.75rem;margin-bottom:2rem}
    .product-grid-premium,.category-cards-grid{grid-template-columns:1fr;gap:1.25rem}
    .footer-links{gap:1.5rem;justify-content:center}
    .footer-socials{gap:1.25rem}
    .section-header-with-sort{flex-direction:column;align-items:flex-start;gap:1rem}
    .home-sort .sort-btn,.collections-sort .sort-btn{padding:.4rem .75rem;font-size:.8rem}
    .collections-page-premium .collections-hero{padding:2rem 1rem 1.5rem}
    .section-faq-pro,.section-faq-home.section-faq-pro{padding:0 1rem}
}
@media(max-width:400px){
    .store-header{padding:.75rem 1rem}
    .section{padding:1.5rem .75rem 3rem}
    .cart-page,.checkout-page{padding:1.25rem .75rem 3rem}
    .product-page-modern .product-layout-modern{padding:.75rem 1rem}
    .legal-page{padding:3rem 1rem 6rem}
    .contact-section{padding:2rem 1rem 5rem}
}

/* Responsive */
@media(max-width:900px){
    .collections-toolbar{flex-direction:column;align-items:flex-start}
    .collections-sort{width:100%}
    .nav-burger{display:flex}
    .store-header.nav-open .logo{display:none!important}
    .nav-mobile-header{display:flex!important}
    .nav-close{display:block!important}
    .store-nav{position:fixed;top:0;right:0;width:min(320px,88vw);max-width:100%;height:100vh;height:100dvh;background:#0a0a0c;color:#fafafa!important;flex-direction:column;justify-content:flex-start;align-items:stretch;padding:0;box-shadow:-4px 0 24px rgba(0,0,0,.3);transform:translateX(100%);transition:transform .35s cubic-bezier(.4,0,.2,1);z-index:9;overflow-y:auto}
    .store-nav.open{transform:translateX(0)}
    .nav-mobile-header{display:flex;justify-content:center;align-items:center;padding:2rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.08)}
    .nav-mobile-logo{display:flex;align-items:center;justify-content:center;text-decoration:none;color:#fafafa!important}
    .nav-mobile-logo img{max-height:36px;width:auto}
    .nav-mobile-logo span{font-size:1.1rem;font-weight:600;letter-spacing:.05em}
    .nav-mobile-links{flex:1;display:flex;flex-direction:column;padding:1rem 0 0;gap:0;align-items:stretch;text-align:left}
    .nav-mobile-links a{border-right:none!important;border-bottom:1px solid rgba(255,255,255,.08);padding:1.25rem 1.5rem}
    .nav-mobile-links a:last-child{border-bottom:none}
    .nav-mobile-links .nav-login{padding:1.25rem 1.5rem;font-size:1rem}
    .store-nav a{font-size:1rem;flex-direction:row;color:rgba(255,255,255,.95)!important;gap:.75rem;width:100%;justify-content:flex-start}
    .store-nav a:hover{color:#fff;background:rgba(255,255,255,.02)}
    .store-nav a svg{opacity:.8}
    .cart-link{flex-direction:row;align-items:center}
    .cart-label{flex-direction:row;align-items:baseline}
    .nav-close{flex-shrink:0;margin:0 auto 1.5rem;padding:.75rem 0;background:transparent;border:none;color:rgba(255,255,255,.8);font-family:inherit;font-size:.95rem;font-weight:500;cursor:pointer;transition:color .2s;display:flex;align-items:center;justify-content:center;gap:.5rem;align-self:center}
    .nav-close:hover{color:#fff}
    .nav-close-x{font-size:1.6rem;line-height:1;opacity:.9;font-weight:300}
    .nav-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);opacity:0;pointer-events:none;transition:opacity .35s;z-index:8}
    .nav-overlay.active{opacity:1;pointer-events:auto}
}
@media(max-width:768px){
    .store-footer{margin-top:4rem}
    .checkout-page,.cart-page{padding:2rem 1.5rem 4rem}
    .checkout-row-2{grid-template-columns:1fr}
    .product-sticky-inner{flex-direction:column;align-items:stretch;padding:0 1.5rem}
    .product-sticky-buy{padding:.75rem 0}
    .store-header{padding:1rem 1.5rem}
    .store-footer{padding:4rem 1.5rem 2rem}
    .section,.cart-page{padding:2rem 1.5rem}
    .checkout-grid{grid-template-columns:1fr}
    .hero{min-height:55vh}
    .hero-content h1{font-size:2.5rem}
    .cart-item{grid-template-columns:80px 1fr;gap:1.25rem;padding:1.5rem 0}
    .cart-item-img-wrap{width:80px;height:80px}
    .cart-item-price,.cart-item-qty,.cart-item-total,.cart-item-remove{grid-column:2}
    .cart-item-qty{grid-row:2}
    .cart-item-total{grid-row:2;text-align:right}
    .cart-item-remove{grid-row:2;grid-column:3;justify-self:end}
    .product-layout{grid-template-columns:1fr;gap:3rem;padding:2rem}
    .section-faq-pro .faq-cards-grid{grid-template-columns:1fr}
}
