/* ===== Boutique : en-têtes de rayon, filtres, fiches. Chargé sur ces pages seulement ===== */

/* En-tête de rayon */
.shop-page-title{display:none}
.cat-h{position:relative;overflow:hidden;display:flex;align-items:flex-end;min-height:clamp(150px,17vw,300px);padding:clamp(18px,2vw,36px) var(--g) clamp(14px,1.6vw,28px)}
.cat-h{--vis:0vw}
/* --vis : la place réservée au visuel. La taille du titre en dépend, ils ne se touchent jamais. */
.cat-v-eliquides{--vis:39vw;--fit:1.35}
.cat-v-pods{--vis:33vw}
.cat-v-cartouches{--vis:36vw}
.cat-v-boosters,.cat-v-resistances,.cat-v-materiel{--vis:18vw}
.gc-p .cat-h h1{position:relative;z-index:1;max-width:calc(100% - var(--vis));font:900 min(calc(var(--fit,1)*(100vw - 2*var(--g) - var(--vis) - 2vw)/var(--len)),clamp(2.4rem,9vw,10rem))/.95 var(--display);font-stretch:125%;letter-spacing:-.02em;text-transform:uppercase;color:var(--tx);text-wrap:balance}
.cat-fan{position:absolute;right:clamp(16px,4vw,72px);top:12%;display:flex;height:clamp(300px,36vw,640px)}
.cat-fan img{height:100%;width:auto;max-width:none;filter:drop-shadow(0 14px 18px #0004)}
.cat-fan img:nth-child(1){rotate:-9deg;translate:0 6%}
.cat-fan img:nth-child(2){rotate:-2deg}
.cat-fan img:nth-child(3){rotate:6deg;translate:0 5%}
.cat-fan-eliquides img{margin-left:-1.6vw}
.cat-fan-pods img{margin-left:1vw}
.cat-h .ri{right:clamp(16px,6vw,110px);top:12%;bottom:auto;height:clamp(180px,20vw,340px)}

/* Filtres et tri */
.fb{position:sticky;top:calc(var(--hd) + var(--wp-admin--admin-bar--height,0px));z-index:20;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px var(--g);background:var(--bg);border-bottom:1px solid var(--line)}
.fb-g{display:flex;flex-wrap:wrap;gap:6px}
.chip{display:inline-flex;align-items:center;gap:.4em;min-height:40px;padding:0 13px;border-radius:var(--r-s);background:var(--paper);box-shadow:inset 0 0 0 1.5px var(--line);font-size:.9375rem;font-weight:700;line-height:1.1;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background .2s,color .2s,box-shadow .2s}
.gc-p a.chip,.gc-p a.chip:where(:hover){color:var(--ink)}
.chip:hover{box-shadow:inset 0 0 0 1.5px var(--ink)}
.gc-p a.chip[aria-current]{background:var(--ink);color:#fff;box-shadow:none}
.chip small{font-size:.8125rem;font-weight:800;font-variant-numeric:tabular-nums}
.dd{position:relative}
.dd[data-on]>summary{box-shadow:inset 0 0 0 1.5px var(--ink)}
.dd summary{list-style:none}
.dd summary::-webkit-details-marker{display:none}
.dd summary .gc-i{width:.95em;transition:rotate .3s var(--out)}
.dd[open] summary .gc-i{rotate:180deg}
.dd-p{position:absolute;z-index:5;left:0;top:calc(100% + 6px);display:flex;flex-wrap:wrap;gap:5px;width:min(340px,calc(100vw - 32px));max-height:min(60vh,420px);overflow:auto;padding:12px;background:var(--paper);border:1px solid var(--line);box-shadow:0 20px 34px -14px #0b0d0b66}
.gc-p a.reset{font-size:.9375rem;font-weight:700;text-decoration:underline}
.sort{display:flex;align-items:center;gap:8px;margin:0 0 0 auto}
.sort label{margin:0;font-size:.875rem;font-weight:800}
.gc-p .sort select{appearance:none;width:auto;height:40px;margin:0;padding:0 34px 0 12px;border-radius:var(--r-s);border:1.5px solid var(--ink);background:var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b0d0b' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center/16px;box-shadow:none;color:var(--ink);font-size:.9375rem;font-weight:700}

/* Pages et vide */
.pager{padding:clamp(20px,2.6vw,40px) var(--g)}
.pager ul{display:flex;flex-wrap:wrap;gap:6px;margin:0;list-style:none}
.pager li{margin:0}
.pager .page-numbers,.gc-p .pager a.page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 12px;border-radius:var(--r-s);box-shadow:inset 0 0 0 1.5px var(--line);background:var(--paper);font-weight:700;font-variant-numeric:tabular-nums;text-decoration:none}
.pager a.page-numbers:hover{box-shadow:inset 0 0 0 1.5px var(--ink)}
.pager .page-numbers.current{background:var(--ink);box-shadow:none;color:#fff}
.pager{display:flex;flex-wrap:wrap;gap:6px}
.pager .dots{background:none;box-shadow:none}
.empty{display:grid;gap:16px;justify-items:start;padding:clamp(40px,6vw,96px) var(--g)}
.cat-d{max-width:calc(68ch + 2*var(--g));padding:clamp(32px,4vw,64px) var(--g);color:var(--muted);line-height:1.5}
.cat-d p{margin:0 0 .7em}
.gc-p .cat-d h2{margin-bottom:.5em;color:var(--ink);font:900 clamp(1.25rem,1.8vw,1.75rem)/1.1 var(--display);font-stretch:125%;letter-spacing:-.01em}
.cat-d a{color:var(--ink);font-weight:600}
.gc-p .woocommerce-message,.gc-p .woocommerce-error,.gc-p .woocommerce-info{margin:0;padding:12px var(--g);background:var(--paper);border-bottom:1px solid var(--line);font-weight:600;list-style:none}

/* Fiche : colonne visuelle */
.pdp{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr)}
.st{overflow:hidden;min-width:0}
.st-in{position:sticky;top:calc(var(--hd) + var(--wp-admin--admin-bar--height,0px));height:min(calc(100svh - var(--hd) - var(--wp-admin--admin-bar--height,0px)),72vw);min-height:520px;container-type:inline-size}
.st{overflow:clip}
.gc-p .st-n{position:absolute;left:clamp(16px,3.4cqw,48px);top:clamp(16px,3cqw,44px);font:900 var(--fd,21cqw)/.86 var(--display);font-stretch:125%;letter-spacing:-.02em;text-transform:uppercase;white-space:nowrap;color:var(--tx)}
.st-i{position:absolute;height:96%;width:auto;max-width:none;left:75%;top:2%;translate:-50% 0;rotate:-9deg;filter:drop-shadow(0 26px 30px #0005);animation:gc-pop .9s var(--spring) both}
@keyframes gc-pop{from{scale:.62;rotate:14deg}}
.st-photo{background:#fff;border-right:1px solid var(--line)}
.st-g{position:sticky;top:calc(var(--hd) + var(--wp-admin--admin-bar--height,0px));max-width:min(100%,calc(100svh - var(--hd)));margin-inline:auto;padding:clamp(12px,2vw,32px)}
.st-g .badge-container,.st-g .image-tools,.st-g .zoom-button{display:none}
.st-g .product-gallery,.st-g .product-images,.st-g .woocommerce-product-gallery{width:100%;max-width:none;margin:0;opacity:1}
.st-g .col,.st-g .row{padding:0;margin:0;width:100%;max-width:none;flex-basis:100%}
.st-g img{width:100%;height:auto;object-fit:contain}
.st-g .product-thumbnails{margin-top:10px}

/* Fiche : colonne d'achat */
.pn{display:grid;align-content:start;gap:clamp(14px,1.3vw,22px);min-width:0;padding:clamp(20px,2.6vw,48px) var(--g) clamp(32px,4vw,72px) clamp(20px,3vw,56px)}
.crumb{display:flex;flex-wrap:wrap;gap:6px;font-size:.875rem;font-weight:600;color:var(--muted)}
.crumb a{color:var(--ink);text-decoration:underline}
.gc-p .pn h1{font:900 clamp(2rem,3.4vw,4rem)/1.02 var(--display);font-stretch:125%;letter-spacing:-.02em;text-wrap:balance}
.gc-p .pn-m{margin-top:6px;font-weight:700}
.gc-p .pn-ar{display:flex;flex-wrap:wrap;align-items:center;gap:.1em .4em;font:900 clamp(1rem,1.6vw,1.75rem)/1.15 var(--display);font-stretch:125%;letter-spacing:-.01em}
.pn-ar i{flex:none;width:.26em;height:.26em;border-radius:50%;background:currentColor}
.gc-p .pn-d{font-size:clamp(1.05rem,1.3vw,1.4rem);font-weight:600;line-height:1.3}
.pn-d :where(p,ul){margin:0}
.pn-d a{text-decoration:underline}
.gc-p .pn-p{font-size:clamp(1.9rem,2.8vw,3.2rem);font-weight:800;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap}
.pn-p del{font-size:.55em;font-weight:500;color:var(--muted)}

/* Formulaire WooCommerce */
.pn form.cart{display:grid;gap:clamp(14px,1.3vw,22px);margin:0}
.pn table.variations{display:block;margin:0;border:0}
.pn table.variations tbody,.pn table.variations tr,.pn table.variations th,.pn table.variations td{display:block;padding:0;border:0;background:none}
.pn table.variations tr+tr{margin-top:12px}
.pn table.variations th label{display:block;margin:0 0 8px;color:var(--ink);font-size:1rem;font-weight:800;letter-spacing:normal;text-transform:none}
.pn table.variations select{display:none}
.opt-g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.o{position:relative;display:flex;min-width:0;flex-direction:column;justify-content:center;min-height:60px;margin:0;padding:8px 14px;border-radius:var(--r-s);background:var(--paper);box-shadow:inset 0 0 0 1.5px var(--line);color:var(--ink);line-height:1.2;cursor:pointer;transition:background .2s,color .2s,box-shadow .2s}
.o:first-child:nth-last-child(odd){grid-column:1/-1}
.o:hover{box-shadow:inset 0 0 0 1.5px var(--ink)}
.o input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.o b{font-weight:800}
.o small{font-size:.875rem;font-weight:500;color:var(--muted);white-space:normal}
.o:has(:checked){background:var(--ink);box-shadow:none;color:#fff}
.o:has(:checked) small{color:#d3dbd5}
.o:has(:focus-visible){outline:3px solid var(--ink);outline-offset:3px}
.o.off{opacity:.45}
.o.out b{text-decoration:line-through;font-weight:600}
.o.out{background:none}
.o.out:has(:checked){background:none;box-shadow:inset 0 0 0 2px var(--ink);color:var(--ink)}
.o.out:has(:checked) small{color:var(--muted)}
.pn .woocommerce-variation-price{display:none}
.pn .woocommerce-variation-description p{margin:0}
.pn .woocommerce-variation-availability p,.pn p.stock{margin:0;color:#146c2f;font-weight:700}
.pn p.stock.out-of-stock{color:#c9231a}
.pn .single_variation_wrap{display:grid;gap:12px}
.pn .woocommerce-variation-add-to-cart-disabled{display:none}
/* Alerte de retour en stock */
.pn .cwginstock-subscribe-form{margin-top:12px;padding:clamp(14px,1.4vw,22px);border:0;background:var(--paper);color:var(--ink);font-weight:500}
.pn .cwginstock-subscribe-form *{text-align:left}
.pn .cwginstock-panel-primary,.pn .cwginstock-panel-body,.pn .cwginstock-panel-heading{margin:0!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;color:var(--ink)!important}
.pn .cwginstock-panel-heading h4{margin:0 0 10px;color:var(--ink);font-size:1.0625rem;font-weight:800;text-align:left}
.pn .cwgstock_name,.pn .cwgstock_email{display:block;width:100%;min-height:48px;margin:0 0 8px;padding:0 12px;border:1.5px solid var(--line);border-radius:var(--r-s);background:#fff;box-shadow:none;color:var(--ink);font-size:1rem}
.pn .cwgstock_button{display:block;width:100%;text-align:center!important;min-height:52px;margin:0;border:0;border-radius:0;background:var(--ink);box-shadow:none;color:#fff;font-size:1rem;font-weight:800;letter-spacing:normal;line-height:1.1;text-transform:none}
.pn .cwgstock_button:hover{background:#17863a}
.pn .woocommerce-variation-add-to-cart,.pn form.cart:not(.variations_form){display:flex;flex-wrap:wrap;gap:8px}
.pn .quantity{display:inline-flex;align-items:stretch;flex:none;height:56px;margin:0;border:1.5px solid var(--ink);opacity:1}
.pn .quantity input,.pn .quantity input.button{height:auto;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:var(--ink);font-size:1rem;font-weight:800;line-height:1}
.pn .quantity input.qty{width:48px;text-align:center;font-variant-numeric:tabular-nums}
.pn .quantity input.minus,.pn .quantity input.plus{width:44px;cursor:pointer}
.pn .quantity input.minus:hover,.pn .quantity input.plus:hover{background:var(--ink);color:#fff}
.pn .single_add_to_cart_button{flex:1 1 180px;min-height:56px;height:56px;margin:0;padding:0 1.2em;border:0;border-radius:0;background:var(--ink);color:#fff;box-shadow:none;font-size:1.0625rem;font-weight:800;letter-spacing:normal;line-height:1.1;text-transform:none;transition:background .2s}
.pn .single_add_to_cart_button:hover{background:#17863a}
.pn .single_add_to_cart_button.disabled{opacity:.45}
.pn-acc .acc summary>span{font-size:clamp(1.0625rem,1.2vw,1.375rem);font-weight:700;line-height:1.25}
.pn-acc .acc-b :where(p,ul){margin:0}
.pn-acc .acc-b a{color:var(--ink)}
.pn-acc table{margin:0;border:0}
.pn-acc th,.pn-acc td{padding:6px 12px 6px 0;border-bottom:1px solid var(--line);font-size:1rem;letter-spacing:normal;text-transform:none;text-align:left}

/* Fiche : suggestions */
.pd-s:last-child{padding-bottom:var(--sec)}

@media(max-width:999px){
  .pdp{grid-template-columns:minmax(0,1fr)}
  .st-in{position:relative;top:0;height:min(112vw,620px);min-height:0}
  .st-g{position:static;max-width:min(100%,560px)}
  .st-photo{border-right:0;border-bottom:1px solid var(--line)}
  .pn{padding:20px var(--g) 36px}
  .fb{position:static}
}
@media(max-width:699px){
  .cat-fan{height:220px;right:-8px;top:18%}
  .cat-fan img:first-child{display:none}
  .cat-h{min-height:128px}
  .cat-v-eliquides{--vis:146px}
  .cat-v-pods{--vis:116px}
  .cat-v-cartouches{--vis:132px}
  .cat-v-boosters,.cat-v-resistances,.cat-v-materiel{--vis:62px}
  .gc-p .cat-h h1{font-size:min(calc(var(--fit,1)*(100vw - 2*var(--g) - var(--vis) - 12px)/var(--len)),2.6rem)}
  .cat-h .ri{height:92px;right:14px;top:14px}
  .sort{margin-left:0;width:100%}
  .fb{position:relative;top:auto}
  .dd{position:static}
  .dd-p{left:var(--g);right:var(--g);top:auto;width:auto;margin-top:6px}
  .gc-p .sort select{flex:1}
}
