/* visuel.css — V13.4.90 : lisibilité, rythme et finitions (chargé après style.css, ne supprime rien) */
:root{--v-radius:20px}
/* 1) Rythme : sections plus compactes, moins de grands vides */
.section{padding-top:76px;padding-bottom:76px}
.hero{min-height:620px;padding-top:70px;padding-bottom:78px}
.featured{padding-bottom:40px}
.legal{padding-top:64px;padding-bottom:64px}
.quality{gap:64px}
.loyalty{gap:64px;padding-top:70px;padding-bottom:70px}
.account-section{padding-top:76px;padding-bottom:76px;gap:56px}
.section-head{margin-bottom:34px}
/* 2) Lisibilité : textes secondaires plus grands et plus contrastés */
body{font-size:16px}
.header nav a{font-size:14px;color:#d8cfe6}
.header nav a:hover,.header nav a.active{color:#fff}
.eyebrow{font-size:12px;letter-spacing:2px}
.hero-text{font-size:17px;color:#c9bfd8}
.hero-pills span{font-size:12px;color:#d8cfe6;padding:8px 12px}
.btn{font-size:13px;min-height:50px}
.trust-strip span{font-size:13.5px}
.trust-strip b{font-size:12px}
.category p{font-size:14px;color:#b9aecb;max-width:240px}
.category b{font-size:12.5px}
.delivery-grid p{font-size:14.5px;color:#c3b8d3;line-height:1.6;max-width:360px}
.notice{font-size:13px;color:#cfc5df}
.checks li{font-size:15px;color:#e6defa;padding:16px 0}
.quality .lead,.account-section .lead,.about-grid>p,.loyalty p:not(.eyebrow),.contact>div>p:not(.eyebrow){font-size:16px;color:#c9bfd8;line-height:1.7}
.account-benefits b{font-size:14px}
.account-benefits small{font-size:12px;color:#b3a6c4}
.preview-head small{font-size:10px;color:#b3a6c4}
.preview-row b{font-size:13.5px}
.preview-row small{font-size:11.5px;color:#a99bbb}
.preview-note span{font-size:12px;color:#cbbfdc}
.about-facts span{font-size:12.5px;color:#b9aecb}
.legal-grid h3{font-size:14px}
.legal-grid p{font-size:12.5px;color:#a99bbb;line-height:1.6}
.contact-card small{font-size:11px;color:#9a8cae}
.contact-card b{font-size:14.5px}
.footer-links a,.socials a,.footer-legal a{font-size:13px;color:#c3b8d3}
.copyright{font-size:11.5px;color:#8d7fa1}
.floating-tag{font-size:10.5px;color:#cfc5df}
.form-note,.account-form label>span{font-size:11.5px}
/* 3) Panier : compteur en pastille (plus de « ( 3 ) ») */
.cart-btn .cart-label{font-weight:800}
.cart-btn .cart-pill{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#b7ff00;color:#10051b;font-size:12px;font-weight:800;line-height:1;transition:transform .2s}
.cart-btn .cart-pill.bump{transform:scale(1.25)}
.cart-btn{gap:9px}
/* 4) Cartes : relief et survol plus nets */
.category,.delivery-grid article,.account-benefits>div,.legal-grid>div,.about-facts div,.product-card{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.account-benefits>div:hover,.legal-grid>div:hover,.about-facts div:hover{transform:translateY(-3px);border-color:rgba(163,107,255,.6)}
/* 5) Bandeau de réassurance : plus lisible, cliquable */
.trust-strip div{transition:background .2s}
.trust-strip div:hover{background:rgba(142,36,230,.14)}
.trust-strip i{color:#a36bff}
/* 6) Apparition douce au défilement */
.v-reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.v-reveal.v-in{opacity:1;transform:none}
/* 7) Mobile : panier toujours accessible, boutons confortables */
@media(max-width:980px){
  .header{gap:12px}
  .cart-btn{display:inline-flex!important;padding:9px 13px;font-size:12px}
  .header-actions{margin-left:auto}
  .menu-btn{margin-left:0;min-width:44px;min-height:44px}
  .header nav a{font-size:16px;padding:6px 0}
}
@media(max-width:600px){
  .section{padding-top:56px;padding-bottom:56px}
  .hero{padding-top:44px;padding-bottom:56px}
  .hero-actions .btn{width:100%}
  .hero-actions{flex-direction:column}
  .account-benefits small{font-size:12.5px}
}
@media (prefers-reduced-motion:reduce){.v-reveal{opacity:1!important;transform:none!important;transition:none!important}}

/* ===== V13.4.59 — logo qui tourne à la place du catalogue (accueil) ===== */
.hero-visual{min-height:480px}
.logo-spin{position:relative;width:min(380px,86%);aspect-ratio:1/1;display:grid;place-items:center;perspective:1100px;z-index:2}
.logo-spin img{width:100%;height:auto;max-height:100%;object-fit:contain;display:block;transform-style:preserve-3d;animation:cbdLogoTurn 9s linear infinite;filter:drop-shadow(0 18px 40px rgba(142,36,230,.55)) drop-shadow(0 0 18px rgba(140,205,20,.25));position:relative;z-index:1}
.logo-halo{position:absolute;inset:6%;border-radius:50%;background:radial-gradient(circle,rgba(142,36,230,.45),transparent 68%);filter:blur(10px);animation:cbdHalo 4.5s ease-in-out infinite}
.logo-spin::after{content:"";position:absolute;left:50%;bottom:2%;width:56%;height:16px;margin-left:-28%;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.55),transparent);animation:cbdLogoShadow 9s linear infinite}
.logo-thc{position:absolute;right:2%;top:4%;width:84px;height:84px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#8ccd14;color:#080b05;transform:rotate(10deg);z-index:3;box-shadow:0 10px 26px rgba(0,0,0,.35)}
.logo-thc b{font-family:Manrope,sans-serif;font-size:19px;line-height:1}.logo-thc small{font-size:9px;font-weight:800;letter-spacing:1px}
@keyframes cbdLogoTurn{from{transform:rotateY(0)}to{transform:rotateY(360deg)}}
@keyframes cbdHalo{0%,100%{opacity:.7;transform:scale(.96)}50%{opacity:1;transform:scale(1.06)}}
@keyframes cbdLogoShadow{0%,50%,100%{transform:scaleX(1);opacity:.8}25%,75%{transform:scaleX(.5);opacity:.45}}
@media(max-width:600px){.logo-spin{width:min(290px,80%)}.logo-thc{width:68px;height:68px}.hero-visual{min-height:340px}}
@media (prefers-reduced-motion:reduce){.logo-spin img,.logo-halo,.logo-spin::after{animation:none!important}}

/* ===== V13.4.59 — écritures plus grandes sur toutes les pages ===== */
.eyebrow{font-size:13px}
.hero-pills span{font-size:13.5px}
.floating-tag{font-size:12px}
.cat-no,.number{font-size:12.5px}
.category p{font-size:15px}.category b{font-size:14px}
.trust-strip b{font-size:13px}.trust-strip span{font-size:14.5px}
.delivery-grid p{font-size:16px}
.notice{font-size:14.5px}
.checks li{font-size:16px}
.quality-art small{font-size:12px}.quality-stamp{font-size:10px}
.loyalty-card small{font-size:13px}.loyalty-card i{font-size:10px}
.account-benefits b{font-size:15.5px}.account-benefits small{font-size:14px}
.preview-head b{font-size:15px}.preview-head small{font-size:12px}
.preview-row b{font-size:15px}.preview-row small{font-size:13px}.preview-note span{font-size:14px}
.about-facts span{font-size:14px}
.legal-grid h3{font-size:16px}.legal-grid p{font-size:14px}
.contact-card small{font-size:12.5px}.contact-card b{font-size:16px}
.footer-links a,.socials a,.footer-legal a{font-size:14.5px}
.footer-brand small{font-size:11px}
.copyright{font-size:13px}
.newsletter-box p:not(.eyebrow){font-size:15px}.newsletter-form small{font-size:12.5px}
.text-link{font-size:14px}
.header nav a{font-size:15px}
.account-btn{font-size:13px}.cart-btn{font-size:14px}
.btn{font-size:14px}
/* boutique et pages internes */
.product-category{font-size:12px}
.product-card h3{font-size:21px}
.product-price small{font-size:12px}.product-price s{font-size:15px}
.product-description-btn{font-size:14px}
.product-card .add-product{font-size:14.5px}
.stock-ribbon{font-size:13px}
.offer-badge,.tier-badge,.variant-pick{font-size:14.5px}
.bs-desc{font-size:15px}.bs-more{font-size:14.5px}.bs-rank{font-size:13px}
.page-hero>p:last-child{font-size:19px}
.inner-page main li{font-size:16px}
.inner-page main small{font-size:14px}
.legal-doc{font-size:17px}
/* compte, commandes, formulaires */
.modal-subtitle{font-size:15px}
.account-form label{font-size:14px}.account-form label>span{font-size:13.5px}
.account-form input,.account-form select{font-size:16px}
.form-note,.checkout-help{font-size:13.5px}
.account-tab{font-size:14.5px}
.mini-btn,.order-add button{font-size:14px}
.order-item{font-size:14.5px}
.dash-grid article p{font-size:14px}
.check-label{font-size:14.5px}
.age-card p:not(.eyebrow){font-size:16px}.age-card small{font-size:12.5px}
.cookie-banner{font-size:15px}
.pr-line{font-size:15px}
.nl-form input,.nl-modal p{font-size:16px}

/* ===== V13.4.60 — accueil enrichi (aperçu validé) ===== */
/* logo qui tourne : anneaux */
.logo-spin .ring-a,.logo-spin .ring-b{position:absolute;pointer-events:none}
.logo-spin .ring-a{inset:0;width:100%;height:100%;animation:vRot 26s linear infinite}
.logo-spin .ring-b{inset:7%;width:86%;height:86%;animation:vRot 42s linear infinite reverse}
@keyframes vRot{to{transform:rotate(360deg)}}
/* qualité : sceau rond */
.quality-art{aspect-ratio:1/1;min-height:0;width:min(460px,100%);margin:0 auto;border-radius:50%!important;transform:none!important;background:radial-gradient(circle at 35% 28%,#3a1670,#150826 70%)!important;border:1px solid rgba(163,107,255,.6)!important;box-shadow:0 30px 70px rgba(0,0,0,.5),0 0 80px rgba(142,36,230,.3)}
.quality-art .quality-lines{display:none}
.quality-art .seal-ring{position:absolute;inset:-5%;width:110%;height:110%;max-width:none;animation:vRot 34s linear infinite;pointer-events:none}
.quality-art span{font-size:clamp(56px,8vw,88px)!important}
.quality-art strong{font-size:clamp(24px,3.2vw,34px)!important}
.quality-art small{font-size:14px!important;font-weight:700;letter-spacing:.2em!important}
.quality-stamp{display:none}
@media(max-width:700px){.quality-art .seal-ring{inset:-3%;width:106%;height:106%}}
/* qualité : liste en cartes */
.checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.checks li{flex-direction:column;gap:10px;padding:22px!important;border:1px solid rgba(163,107,255,.3)!important;border-radius:20px;background:linear-gradient(160deg,rgba(142,36,230,.16),rgba(255,255,255,.02));transition:transform .25s,border-color .25s,box-shadow .25s;font-size:16.5px!important;line-height:1.45}
.checks li:hover{transform:translateY(-5px);border-color:rgba(183,255,0,.6)!important;box-shadow:0 20px 44px rgba(142,36,230,.25)}
.checks li span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#b7ff00;color:#10051b!important;font-size:17px}
@media(max-width:700px){.checks{grid-template-columns:1fr}}
/* fidélité : carte membre */
.loyalty-card{background:linear-gradient(135deg,#4c1a8f,#8e24e6 55%,#2a0d57)!important;border-color:rgba(255,255,255,.28)!important;box-shadow:0 34px 70px rgba(0,0,0,.5),0 0 60px rgba(142,36,230,.35)!important;overflow:hidden;animation:vFloat 5s ease-in-out infinite}
.loyalty-card:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.16) 50%,transparent 60%);transform:translateX(-120%);animation:vShine 6s ease-in-out infinite;pointer-events:none}
.loyalty-card .loy-badge{position:absolute;top:20px;right:20px;font-style:normal;font-size:13px;letter-spacing:.2em;font-weight:700;color:#e9dcff;border:1px solid rgba(255,255,255,.4);border-radius:99px;padding:6px 12px}
.loyalty-card .loy-bar{position:absolute;left:28px;right:28px;bottom:26px;height:10px;border-radius:99px;background:rgba(255,255,255,.2);overflow:hidden}
.loyalty-card .loy-bar i{display:block;height:100%;width:62%;border-radius:99px;background:linear-gradient(90deg,#8e24e6,#b7ff00);animation:vFill 2.4s ease-out both}
.loyalty-card i{bottom:46px!important;font-size:12px!important;color:#d9c8f5!important}
.loyalty-card small{font-size:14px!important;color:#e4d4ff!important}
@keyframes vFloat{0%,100%{translate:0 0}50%{translate:0 -10px}}
@keyframes vShine{0%,60%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
@keyframes vFill{from{width:0}}
/* à propos : grands chiffres + atouts */
.about-facts div{text-align:center;padding:26px 16px!important;border-color:rgba(163,107,255,.3)!important;background:linear-gradient(160deg,rgba(142,36,230,.16),rgba(255,255,255,.02))!important;border-radius:22px!important}
.about-facts b{font-size:clamp(34px,4vw,48px)!important;color:#b7ff00!important}
.about-facts span{font-size:15px!important;line-height:1.45;display:block;margin-top:6px}
.about-grid>p{font-size:18px!important;line-height:1.75!important;color:#d6c9ea!important}
.about-perks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:40px}
.about-perks>div{display:flex;gap:16px;align-items:center;padding:22px 24px;border:1px solid rgba(163,107,255,.3);border-radius:22px;background:linear-gradient(160deg,rgba(142,36,230,.16),rgba(255,255,255,.02));transition:transform .25s,border-color .25s,box-shadow .25s}
.about-perks>div:hover{transform:translateY(-5px);border-color:rgba(183,255,0,.6);box-shadow:0 20px 44px rgba(142,36,230,.25)}
.about-perks b{display:block;font-size:17px;color:#fff}.about-perks small{display:block;font-size:15px;color:#c9bbe0;margin-top:2px}
@media(max-width:800px){.about-perks{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.logo-spin .ring-a,.logo-spin .ring-b,.quality-art .seal-ring,.loyalty-card,.loyalty-card:after,.loyalty-card .loy-bar i{animation:none!important}}

/* ===== V13.4.61 — page Livraison développée ===== */
.lv-pills{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.lv-pills span{font-size:16px;padding:10px 18px;border-radius:99px;border:1px solid rgba(183,255,0,.5);background:rgba(183,255,0,.08);color:#f4eefc}
.lv-block h2,.lv-calc h2,.lv-faq h2{font-size:clamp(34px,4vw,52px);margin-bottom:28px}
.lv-lead{font-size:17px;color:#d6c9ea;max-width:640px;margin:-12px 0 26px}
.lv-note{font-size:15px;color:#b7a8cf;margin:18px 0 0}
.lv-note a{color:#c9a6ff;text-decoration:underline}
.lv-card{border:1px solid rgba(163,107,255,.3);border-radius:22px;background:linear-gradient(160deg,rgba(142,36,230,.16),rgba(255,255,255,.02));padding:26px;transition:transform .25s,border-color .25s,box-shadow .25s}
.lv-card:hover{transform:translateY(-5px);border-color:rgba(183,255,0,.6);box-shadow:0 22px 50px rgba(142,36,230,.25)}
.lv-card[hidden]{display:none}
.lv-card h3{font-family:Manrope,Arial,sans-serif;font-size:24px;letter-spacing:-.03em;margin:6px 0 8px;color:#fff}
.lv-card p{font-size:16px;line-height:1.55;color:#cdbfe3;margin:0}
.lv-tag{font-size:13px;letter-spacing:.14em;font-weight:700;color:#b7ff00}
.lv-modes{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.lv-modes .lv-card{display:flex;flex-direction:column;gap:6px}
.lv-modes dl{margin:auto 0 0;padding-top:14px;border-top:1px solid rgba(255,255,255,.12);display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:15px;color:#e4d9f4}
.lv-modes dt{font-weight:700}.lv-modes dd{margin:0}
.lv-calc{max-width:none;background:linear-gradient(135deg,rgba(142,36,230,.28),rgba(255,47,179,.08));border-block:1px solid rgba(142,36,230,.35);padding-left:max(22px,calc((100% - var(--max))/2));padding-right:max(22px,calc((100% - var(--max))/2))}
.lv-chips{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px}
.lv-chip{min-height:48px;padding:0 20px;border-radius:99px;border:1px solid rgba(163,107,255,.5);background:rgba(142,36,230,.1);color:#fff;font-size:16px;font-weight:700;cursor:pointer}
.lv-chip.on{background:#b7ff00;color:#10051b;border-color:#b7ff00}
.lv-prices{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.lv-price span{display:block;font-size:15px;color:#cdbfe3}
.lv-price b{display:block;font-family:Manrope,Arial,sans-serif;font-size:44px;color:#b7ff00;margin-top:6px;letter-spacing:-.03em}
.lv-price small{display:block;font-size:14px;color:#a794c2;margin-top:4px}
.lv-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.lv-steps b{display:block;font-family:Manrope,Arial,sans-serif;font-size:40px;color:#b7ff00}
.lv-steps h3{font-size:21px}
.lv-two{display:flex;flex-wrap:wrap;gap:20px}
.lv-big{flex:1 1 420px;padding:32px}
.lv-big h3{font-size:30px;margin-bottom:16px}
.lv-towns{display:flex;gap:10px;flex-wrap:wrap}
.lv-town{font-size:17px;padding:10px 18px;border-radius:99px;background:#b7ff00;color:#10051b;font-weight:700}
.lv-hours{font-size:18px;line-height:1.9;color:#fff}
.lv-hours div{display:flex;justify-content:space-between;gap:16px}.lv-hours div+div{border-top:1px solid rgba(255,255,255,.12)}
.lv-faq{max-width:900px}
.lv-q{border:1px solid rgba(163,107,255,.3);border-radius:20px;background:linear-gradient(160deg,rgba(142,36,230,.14),rgba(255,255,255,.02));margin-bottom:12px;overflow:hidden}
.lv-q summary{list-style:none;cursor:pointer;min-height:64px;padding:18px 56px 18px 24px;font-size:18px;font-weight:700;color:#fff;position:relative;display:flex;align-items:center}
.lv-q summary::-webkit-details-marker{display:none}
.lv-q summary:after{content:"+";position:absolute;right:24px;font-size:28px;color:#b7ff00;line-height:1}
.lv-q[open] summary:after{content:"–"}
.lv-q p{margin:0;padding:0 24px 22px;font-size:17px;line-height:1.65;color:#d6c9ea}
.lv-cta{text-align:center}
.lv-cta p{margin:16px auto 28px!important}
@media(max-width:700px){.lv-price b{font-size:38px}.lv-big{padding:24px}}

/* ===== V13.4.62 — date de naissance / majorité ===== */
.v-adult{display:grid;gap:12px;margin-top:4px}
.v-adult label{display:grid;gap:6px;font-size:14px;font-weight:700;color:#eee5f4}
.v-adult input[type=date]{border:1px solid rgba(163,107,255,.35);background:rgba(0,0,0,.2);color:#fff;border-radius:12px;padding:12px 13px;font:inherit;font-size:16px;color-scheme:dark}
.v-adult input[type=date]:disabled{opacity:.7}
.v-adult .v-adult-chk{display:flex!important;align-items:flex-start;gap:10px;font-weight:500;font-size:14.5px;line-height:1.45;cursor:pointer}
.v-adult .v-adult-chk input{width:20px;height:20px;flex:none;margin-top:1px;accent-color:#b7ff00}
.v-adult-note{margin:0;font-size:13.5px}

/* V13.4.62 — non-réception & retrait */
.v-nr .age-cert{border-color:#ffb020}
.v-pk{margin:12px 0;padding:14px;border:1px solid rgba(183,255,0,.35);border-radius:12px;background:rgba(183,255,0,.05)}
.v-pk h4{margin:0 0 10px}
.v-pk-modes{display:flex;flex-wrap:wrap;gap:14px;margin:12px 0}
.v-pk-modes label,.v-pk-row label{display:flex;gap:6px;align-items:center}
.v-pk-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:8px 0}
.v-pk-chips{display:flex;flex-wrap:wrap;gap:8px}
.v-pk-chips button{padding:10px 16px;min-height:44px;border-radius:999px;border:1px solid #b7ff00;background:transparent;color:inherit;font:inherit;font-weight:700;cursor:pointer}
.v-pk-chips button.on{background:#b7ff00;color:#1a0b2e}
.v-pk input[type=time]{padding:10px;font-size:16px;border-radius:8px}

/* V13.4.63 — galerie produit */
.v-gal{position:relative}
.v-gal-arrow{position:absolute;top:42%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;border:0;background:rgba(26,11,46,.75);color:#fff;font-size:22px;line-height:1;cursor:pointer;z-index:2}
.v-gal-arrow.prev{left:6px}.v-gal-arrow.next{right:6px}
.v-gal-dots{display:flex;gap:6px;justify-content:center;padding:6px 0}
.v-gal-dots button{width:10px;height:10px;padding:0;border-radius:50%;border:1px solid #b7ff00;background:transparent;cursor:pointer}
.v-gal-dots button.on{background:#b7ff00}

/* V13.4.63 — FAQ */
.v-faq{max-width:980px;margin:0 auto}
.v-faq h2{margin:.2em 0 .3em}
.v-faq-intro{opacity:.85;margin:0 0 16px}
.v-faq-tools{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}
.v-faq-tools input{width:100%;padding:14px 16px;font-size:17px;border-radius:12px;border:1px solid rgba(183,255,0,.45);background:rgba(255,255,255,.06);color:inherit;font-family:inherit}
.v-faq-cats{display:flex;flex-wrap:wrap;gap:8px}
.v-faq-cats button{padding:9px 14px;border-radius:999px;border:1px solid rgba(183,255,0,.45);background:transparent;color:inherit;font:inherit;font-size:15px;cursor:pointer;min-height:40px}
.v-faq-cats button.on{background:#b7ff00;color:#1a0b2e;font-weight:700}
.v-faq h3{margin:22px 0 8px;font-size:1.15em;color:#b7ff00}
.v-faq-q{border:1px solid rgba(255,255,255,.16);border-radius:12px;margin:8px 0;background:rgba(255,255,255,.04)}
.v-faq-q summary{cursor:pointer;padding:15px 18px;font-weight:700;font-size:17px;list-style:none;display:flex;justify-content:space-between;gap:12px}
.v-faq-q summary::-webkit-details-marker{display:none}
.v-faq-q summary::after{content:"+";font-size:22px;line-height:1;color:#b7ff00;flex:none}
.v-faq-q[open] summary::after{content:"–"}
.v-faq-q p{margin:0;padding:0 18px 16px;line-height:1.6;font-size:16.5px;opacity:.95}
.v-faq-help{margin-top:26px;padding:18px;border-radius:14px;border:1px dashed rgba(183,255,0,.5);text-align:center}
.v-faq-help div{margin-top:12px;display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.v-faq-none{padding:14px;opacity:.8}

/* V13.4.65 — FAQ repliée */
.v-faq{padding-top:12px;padding-bottom:12px}
.v-faq-wrap>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border:1px solid rgba(183,255,0,.5);border-radius:14px;background:rgba(183,255,0,.06);font-size:17px}
.v-faq-wrap>summary::-webkit-details-marker{display:none}
.v-faq-wrap>summary b{color:#b7ff00}
.v-faq-wrap>summary i{width:12px;height:12px;border-right:3px solid #b7ff00;border-bottom:3px solid #b7ff00;transform:rotate(45deg);transition:transform .2s;flex:none;margin-top:-4px}
.v-faq-wrap[open]>summary i{transform:rotate(-135deg);margin-top:4px}
.v-faq-body{padding-top:16px}

/* V13.4.66 — illustrations BD */
.v-bd{max-width:1100px;margin:0 auto}
.v-bd-row{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center}
.v-bd-row.rev{grid-template-columns:1fr 1fr}
.v-bd-row p{font-size:18px;line-height:1.65;margin:14px 0 20px;opacity:.92}
.v-bd-img{display:block;width:100%;height:auto;border:3px solid #10051b;border-radius:14px;box-shadow:6px 6px 0 #b7ff00;background:#10051b}
.v-bd-row .v-bd-img{max-height:430px;object-fit:contain}
.v-bd-bubble{display:inline-block;background:#fff;color:#10051b;border:3px solid #10051b;border-radius:22px;padding:14px 22px;font-weight:800;font-size:clamp(18px,2vw,23px);line-height:1.25}
.v-bd-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px}
.v-bd-strip .v-bd-img{height:270px;object-fit:contain}
@media(max-width:760px){.v-bd-row,.v-bd-row.rev{grid-template-columns:1fr}.v-bd-row.rev .v-bd-img{order:-1}}

/* ===== V13.4.69 — alignements, espacements et lisibilité (aucune donnée touchée) ===== */
img,svg,video{max-width:100%}
h1,h2,h3{text-wrap:balance}
p,li{text-wrap:pretty;overflow-wrap:break-word}
/* Titres : interligne suffisant pour les accents (È, É) et lettres serrées moins collées */
.hero h1,h2{line-height:1.04;letter-spacing:-.035em}
.hero h1{letter-spacing:-.04em}
.section h2{margin-top:2px}
/* Rythme vertical régulier entre sections */
.section{padding-top:clamp(56px,7vw,88px);padding-bottom:clamp(56px,7vw,88px)}
.section-head{align-items:flex-end;margin-bottom:clamp(26px,4vw,40px)}
.section-head .text-link{padding-bottom:10px}
/* Boutons : texte toujours centré, même hauteur dans une rangée */
.btn{text-align:center;line-height:1.2}
.hero-actions .btn{min-width:200px}
.hero-actions{align-items:stretch}
/* Cartes catégories : le titre ne chevauche plus l'objet 3D, textes alignés en bas */
.category h3{margin:96px 0 8px}
.category p{margin-bottom:20px;min-height:2.9em}
.category b{align-self:flex-start}
/* Livraison / valeurs : cartes de même hauteur, contenu aligné */
.delivery-grid{align-items:stretch}
.delivery-grid article{display:flex;flex-direction:column}
.delivery-grid h3{min-height:0}
.about-grid{align-items:center}
.about-facts{align-items:stretch}
.about-facts div{display:flex;flex-direction:column;justify-content:center;gap:4px}
.legal-grid{align-items:stretch}
.legal-grid>div{display:flex;flex-direction:column;gap:2px}
.account-benefits>div{display:flex;flex-direction:column}
/* Contact : icônes alignées avec le texte */
.contact-card>a,.contact-card>div{min-height:72px}
.contact-card span{flex:0 0 28px;text-align:center}
/* Pied de page : grille propre (marque | liens | réseaux), puis mentions légales centrées */
footer{grid-template-columns:1.4fr 1.4fr auto;align-items:start;row-gap:26px}
.footer-brand{display:flex;flex-direction:column;gap:6px}
.footer-links{align-content:flex-start;gap:10px 22px}
.socials{justify-content:flex-end}
.footer-legal{grid-column:1/-1;justify-content:center;text-align:center;margin:0;padding-top:22px;border-top:1px solid var(--line,rgba(255,255,255,.1))}
.copyright{text-align:center}
@media(max-width:980px){footer{grid-template-columns:1fr 1fr}.socials{justify-content:flex-start}.footer-links{grid-column:1/-1;order:3}}
@media(max-width:600px){
  .footer-links{display:grid!important;grid-template-columns:1fr 1fr;gap:10px 16px;order:3}
  footer{grid-template-columns:1fr;text-align:left}
  .footer-legal{flex-direction:column;align-items:center;gap:10px}
  .hero-actions .btn{width:100%}
  .section-head{align-items:flex-start}
  .section-head .text-link{padding-bottom:0}
  .category h3{margin-top:90px}
  .trust-strip div{padding:14px 18px}
}
/* Formulaires : libellés et champs alignés */
.account-form label{align-content:start}
.account-form input,.account-form select{min-height:44px}
.newsletter-form{align-items:start}
.newsletter-form input,.newsletter-form .btn{min-height:50px}
.newsletter-box>div:first-child{align-self:center}
/* Pages internes : en-têtes et contenus alignés sur la même largeur */
.page-hero{padding-left:max(22px,calc((100% - var(--max,1200px))/2));padding-right:max(22px,calc((100% - var(--max,1200px))/2))}
.page-hero h1{line-height:1.02;letter-spacing:-.045em}
.product-block h2{line-height:1.06}
.legal-doc{padding:0 4px}
/* Tableaux et longs mots : jamais de débordement horizontal */
table{max-width:100%}
.legal-table-wrap{-webkit-overflow-scrolling:touch}

/* V13.4.70 — communes desservies compactes + bloc « Prêt à commander » */
.lv-pick{display:block;font-weight:800;margin:4px 0 8px;color:#fff}
.lv-select{width:100%;min-height:50px;padding:0 14px;border-radius:12px;border:1px solid rgba(183,255,0,.5);background:#0e0719;color:#fff;font-size:16px}
.lv-town-res{display:none;margin:12px 0;padding:14px 16px;border-radius:14px;background:rgba(183,255,0,.1);border:1px solid #b7ff00;gap:4px;flex-direction:column}
.lv-town-res.on{display:flex}.lv-town-res b{font-size:18px}.lv-town-res span{color:#e7ffb0;font-weight:700}
.lv-towns{margin-top:12px}
.lv-more{border:1px solid rgba(163,107,255,.35);border-radius:14px;background:rgba(255,255,255,.03);width:100%}
.lv-more summary{cursor:pointer;padding:14px 16px;font-weight:800;color:#c9a6ff;list-style:none}
.lv-more summary::-webkit-details-marker{display:none}
.lv-more summary:after{content:"▾";float:right}.lv-more[open] summary:after{content:"▴"}
.lv-grp{display:grid;grid-template-columns:96px 1fr;gap:6px 14px;align-items:start;padding:12px 16px;border-top:1px solid rgba(255,255,255,.1)}
.lv-grp .lv-town{font-size:15px;padding:6px 12px;text-align:center}
.lv-grp p{margin:0;font-size:15px;line-height:1.55;color:#e6defa}
.lv-grp small{grid-column:2;color:#b7ff00;font-weight:700}
.v-cta{max-width:900px;margin:0 auto;text-align:center;padding:clamp(48px,6vw,72px) 22px}
.v-cta h2{margin-bottom:10px}.v-cta p{color:#c9bfd8;margin:0 auto 22px;max-width:560px}
@media(max-width:600px){.lv-grp{grid-template-columns:1fr}.lv-grp small{grid-column:1}.lv-grp .lv-town{justify-self:start}}

/* V13.4.71 — cartes « mode de réception » : séparateurs et lignes alignés d'une carte à l'autre */
.lv-modes{align-items:stretch}
.lv-modes dl{grid-template-columns:104px 1fr;grid-auto-rows:minmax(24px,auto);align-content:start;min-height:84px;margin-top:auto}
.lv-modes dd{overflow-wrap:anywhere}
.lv-modes .lv-card p{min-height:4.7em}
@media(max-width:700px){.lv-modes .lv-card p{min-height:0}}

/* V13.4.73 — chiffres clés sur une seule ligne, cartes livraison sans vide */
.about-facts b{white-space:nowrap;font-size:clamp(20px,2.4vw,27px)}
.about-facts{grid-template-columns:repeat(3,minmax(0,1fr))}
.about-facts div{text-align:center;align-items:center}
.lv-two{align-items:flex-start}
.lv-two .lv-big{align-self:flex-start}

/* V13.4.74 — logo du pied de page : proportions d'origine (il était étiré en largeur) */
.footer-brand{align-items:flex-start}
.footer-brand .logo-img,.logo-img{width:auto;max-width:100%;object-fit:contain}
.footer-brand .logo-img{height:96px}
@media(max-width:700px){.footer-brand .logo-img{height:76px}}

/* V13.4.76 — tableaux des pages légales : défilement horizontal sur mobile, jamais de débordement de la page */
.legal-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.legal-table{width:100%;border-collapse:collapse}
.legal-table th,.legal-table td{vertical-align:top;text-align:left;padding:8px 10px;overflow-wrap:anywhere}
@media(max-width:700px){.legal-table{min-width:560px}}

.v-inf{display:flex;flex-direction:column;gap:4px;padding:8px 14px 12px}.v-inf small{font-size:.74rem;opacity:.8;line-height:1.35}.v-pg b{color:#b7ff00}

/* V13.4.81 : cases et choix bien visibles dans le panier (retrait, CGV, non-réception).
   Le panneau du panier force des couleurs avec !important : on fait de même, avec plus de précision. */
.cart-panel .v-pk input[type=checkbox],.cart-panel .v-pk input[type=radio],.cart-panel #cgvAccept,.cart-panel #nrAccept,.cart-panel #ageCertify{-webkit-appearance:none!important;appearance:none!important;width:26px!important;height:26px!important;min-width:26px!important;flex:none!important;margin:0 10px 0 0!important;padding:0!important;border:2px solid #b7ff00!important;background:#0e1a13!important;border-radius:7px!important;display:inline-grid!important;place-content:center!important;cursor:pointer;vertical-align:middle;opacity:1!important}
.cart-panel .v-pk input[type=radio]{border-radius:50%!important}
.cart-panel .v-pk input:checked,.cart-panel #cgvAccept:checked,.cart-panel #nrAccept:checked,.cart-panel #ageCertify:checked{background:#b7ff00!important}
.cart-panel .v-pk input[type=checkbox]:checked::after,.cart-panel #cgvAccept:checked::after,.cart-panel #nrAccept:checked::after,.cart-panel #ageCertify:checked::after{content:"✓";color:#10051b!important;font-weight:900;font-size:19px;line-height:1}
.cart-panel .v-pk input[type=radio]:checked::after{content:"";width:10px;height:10px;border-radius:50%;background:#10051b}
.cart-panel .v-pk .check-label{display:flex!important;align-items:flex-start;line-height:1.4;font-size:15px}
.cart-panel .v-pk-modes{display:grid!important;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}
.cart-panel .v-pk-modes label{display:flex!important;align-items:center;padding:12px;border:2px solid rgba(183,255,0,.45);border-radius:12px;cursor:pointer;font-weight:600;font-size:15px;background:rgba(0,0,0,.3)}
.cart-panel .v-pk-modes label:has(input:checked){border-color:#b7ff00;background:rgba(183,255,0,.22)}
.cart-panel .v-pk-row{display:flex!important;flex-wrap:wrap;gap:10px;background:rgba(0,0,0,.3);padding:12px;border-radius:12px;margin:8px 0}
.cart-panel .v-pk-row[hidden]{display:none!important}
.cart-panel .v-pk-chips{display:grid!important;grid-template-columns:repeat(4,1fr);gap:8px;width:100%}
.cart-panel .v-pk-chips button{width:100%;min-height:46px;padding:10px 4px;border:2px solid #b7ff00!important;background:rgba(255,255,255,.06)!important;color:#fff!important;border-radius:999px;font-weight:700;font-size:15px;cursor:pointer}
.cart-panel .v-pk-chips button.on{background:#b7ff00!important;color:#10051b!important;box-shadow:0 0 0 3px rgba(183,255,0,.35)}
.cart-panel .v-pk-chips button.on::before{content:"✓ "}
.cart-panel .v-pk input[type=time]{background:#fff!important;color:#111!important;border:2px solid #b7ff00!important;min-height:44px;padding:8px;font-size:16px}
.cart-panel .v-pk small{display:block;margin-top:6px}
.cart-panel #cgvBox .age-cert,.cart-panel #nrBox .age-cert{align-items:flex-start}
@media(max-width:420px){.cart-panel .v-pk-modes{grid-template-columns:1fr}.cart-panel .v-pk-chips{grid-template-columns:1fr 1fr}}

.v-inf .v-lv{background:rgba(183,255,0,.12);border:1px solid rgba(183,255,0,.45);border-radius:8px;padding:6px 9px;opacity:1;font-size:.82rem}.v-lv b{color:#b7ff00}

.cart-panel .v-ins{margin:12px 0;padding:12px 14px;border:2px solid rgba(183,255,0,.5);border-radius:12px;background:rgba(183,255,0,.07)}
.cart-panel .v-ins-opt{display:flex!important;align-items:flex-start;gap:0;margin:8px 0;line-height:1.35;cursor:pointer}
.cart-panel .v-ins-opt input{-webkit-appearance:none!important;appearance:none!important;width:24px!important;height:24px!important;min-width:24px;margin:0 10px 0 0!important;border:2px solid #b7ff00!important;border-radius:50%!important;background:#0e1a13!important;display:inline-grid!important;place-content:center!important;flex:none;padding:0!important}
.cart-panel .v-ins-opt input:checked{background:#b7ff00!important}
.cart-panel .v-ins-opt input:checked::after{content:"";width:9px;height:9px;border-radius:50%;background:#10051b}

.age-card .age-welcome{font-size:clamp(28px,4vw,42px);line-height:1.15;margin:18px 0;color:inherit}.age-card .age-welcome em{color:var(--brand-violet-soft,#b584ff)}
