/* ============================================================
   AquaLED theme v2 — habillage site-wide « Le Banc Optique »
   Header + megamenu + footer = cadres récif assumés (#0B1B2E),
   pour que le body « papier blanc » respire entre deux frames.
   Chargé sur TOUTES les pages (header.tpl).
   ============================================================ */
:root{
  --alv-paper:#F8FAFB; --alv-surface:#FFFFFF; --alv-reef:#0B1B2E; --alv-reef2:#0B2A4A;
  --alv-ink:#0E1824; --alv-soft:#5B6B7A; --alv-hair:#E4EAF0;
  --alv-cyan:#0AA9C7; --alv-cyan-text:#0B6E93; --alv-cyan-pop:#22C6E0;
  --alv-reef-ink:#EAF1F6; --alv-reef-soft:#9FB4C6; --alv-reef-hair:rgba(255,255,255,.12);
  --alv-mono:ui-monospace,"SF Mono","JetBrains Mono","Roboto Mono",Menlo,Consolas,monospace;
}

/* fond global page = papier nacré (au lieu du gris thème) */
body, body#index, body#product, body#category, body#manufacturer{background:#FFFFFF !important; overflow-x:clip}

/* HEADER + FOOTER = fond récif EDGE-TO-EDGE (pleine largeur), contenu centré 1360.
   Technique full-bleed : on casse la contrainte #page (max 1392) par marge négative. */
.header-container, #page .footer-container, #page .footer-container.container{
  width:auto !important; max-width:none !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
}

/* ---------------- LARGEUR SITE = 1360px alignée partout ----------------
   Conteneur thème (Bootstrap .container, fixe 1270) -> max-width fluide 1360,
   pour matcher le --al-wrap 1360 de la home. */
@media (min-width:1200px){
  /* #page = wrapper unique du site (header+colonnes+footer), figé à 1270 par le thème */
  #page{
    width:auto !important;
    max-width:1392px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  .container,
  .columns-container, .columns-container > .container,
  .header-container .container,
  #footer.container,
  .nav .container, .top-nav .container,
  .banner .container, .breadcrumb.container, .iqitmegamenu-wrapper{
    width:auto !important;
    max-width:1392px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  /* padding latéral homogène 16px sur les conteneurs de contenu */
  .container, .columns-container > .container, .header-container .container, #footer.container{
    padding-left:16px !important;
    padding-right:16px !important;
  }
}

/* =====================================================================
   HEADER « PISTE A » (rendu par le module dans .banner / displayBanner)
   ===================================================================== */
/* le slot .banner devient pleine largeur pour laisser .alh gérer ses tiers */
#header .banner, #header .banner > .container, #header .banner > .container > .row{
  max-width:none !important; width:100% !important; margin:0 !important; padding:0 !important;
}
/* masquer le header natif IQIT en desktop (on garde le mobile-condensed-header) */
@media (min-width:768px){
  #desktop-header > div > .row,
  #desktop-header .inline-table,
  #header_logo,
  #iqitmegamenu-horizontal, .iqitmegamenu-wrapper,
  #header .nav, .fw-pseudo-wrapper > .desktop-header,
  #header .displayTop{ display:none !important; }
  #desktop-header{ min-height:0 !important; }
}
/* .alh visible desktop, masquée mobile (mobile = header natif condensé) */
.alh{display:none}
@media (min-width:768px){ .alh{display:block} }

.alh{background:radial-gradient(150% 220% at 82% -70%,var(--alv-reef2),var(--alv-reef)); color:var(--alv-reef-ink); font-family:var(--alv-sans)}
.alh a{color:inherit; text-decoration:none}
.alh svg{display:block}
.alh .alh-row{max-width:1360px; margin:0 auto; padding:0 16px; display:flex; align-items:center; gap:20px}

/* utilitaire */
.alh-util{background:var(--alv-reef3, #071523); border-bottom:1px solid var(--alv-reef-hair)}
.alh-util .alh-row{height:38px; justify-content:space-between; font-family:var(--alv-mono); font-size:11.5px; letter-spacing:.03em; color:var(--alv-reef-soft)}
.alh-uleft{display:flex; gap:22px; flex-wrap:wrap}
.alh-uright{display:flex; gap:20px}
.alh-u{display:inline-flex; align-items:center; gap:7px; color:var(--alv-reef-soft)}
.alh-u svg{width:14px; height:14px; color:var(--alv-cyan-pop)}
.alh-uright a.alh-u:hover{color:var(--alv-cyan-pop)}

/* barre principale */
.alh-main .alh-row{height:82px}
.alh-logo{display:inline-flex; align-items:center; flex:none}
.alh-logo img{height:46px; width:auto; max-width:200px; object-fit:contain}
.alh-search{flex:1; min-width:0; display:flex; align-items:stretch; background:rgba(255,255,255,.06); border:1px solid var(--alv-reef-hair); border-radius:6px; overflow:hidden}
.alh-search:focus-within{border-color:var(--alv-cyan-pop); background:rgba(255,255,255,.09)}
.alh-cat{display:inline-flex; align-items:center; gap:8px; padding:0 14px; font-family:var(--alv-mono); font-size:12px; color:var(--alv-reef-soft); border-right:1px solid var(--alv-reef-hair); white-space:nowrap; cursor:pointer}
.alh-cat svg{width:12px; height:12px}
.alh-sinput{flex:1; min-width:0; border:0; background:transparent; outline:0; color:var(--alv-reef-ink); font-family:var(--alv-sans); font-size:15px; padding:0 14px; height:46px}
.alh-sinput::placeholder{color:var(--alv-reef-soft)}
.alh-go{display:inline-flex; align-items:center; gap:8px; padding:0 20px; background:var(--alv-cyan-pop); color:#06131f; font-weight:600; font-size:14px; cursor:pointer; border:0; font-family:var(--alv-sans)}
.alh-go svg{width:17px; height:17px}
.alh-go:hover{background:#3ad3ea}
.alh-tools{display:flex; align-items:center; gap:6px; flex:none}
.alh-tool{display:inline-flex; align-items:center; gap:9px; padding:8px 12px; border-radius:6px; position:relative}
.alh-tool:hover{background:rgba(255,255,255,.06)}
.alh-tool svg{width:22px; height:22px; color:var(--alv-reef-ink)}
.alh-lbl{display:flex; flex-direction:column; line-height:1.15}
.alh-lbl .alh-t{font-family:var(--alv-mono); font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:var(--alv-reef-soft)}
.alh-lbl .alh-v{font-size:14px; font-weight:600; color:var(--alv-reef-ink)}
.alh-count{position:absolute; top:2px; left:26px; background:var(--alv-coral); color:#fff; font-family:var(--alv-mono); font-size:10px; font-weight:700; border-radius:10px; padding:1px 5px; line-height:1.3}

/* nav catégories */
.alh-catnav{border-top:1px solid var(--alv-reef-hair)}
.alh-catnav .alh-row{height:50px; gap:2px}
.alh-catnav a{position:relative; display:inline-flex; align-items:center; gap:8px; padding:0 15px; height:50px; font-family:var(--alv-mono); font-size:12.5px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--alv-reef-ink)}
.alh-catnav a:hover{color:var(--alv-cyan-pop)}
.alh-catnav a::after{content:""; position:absolute; left:15px; right:15px; bottom:8px; height:2px; background:var(--alv-cyan-pop); transform:scaleX(0); transform-origin:left; transition:transform .18s}
.alh-catnav a:hover::after{transform:scaleX(1)}
.alh-catnav a.alh-promo{color:var(--alv-coral)}
.alh-catnav a.alh-promo::after{background:var(--alv-coral)}
.alh-allcat{background:var(--alv-cyan-pop) !important; color:#06131f !important}
.alh-allcat::after{display:none !important}
.alh-allcat:hover{background:#3ad3ea !important; color:#06131f !important}
.alh-spacer{flex:1}
.alh-mini{display:inline-flex; align-items:center; gap:7px; font-family:var(--alv-mono); font-size:11px; color:var(--alv-reef-soft)}
.alh-mini svg{width:14px; height:14px; color:var(--alv-cyan-pop)}
@media (prefers-reduced-motion:reduce){ .alh-catnav a::after{transition:none} }

/* sticky : neutraliser COMPLÈTEMENT le natif (position + padding 5px + transform + slidedown) */
#header.sticky-header{
  position:static !important; top:auto !important; left:auto !important; width:auto !important;
  padding:0 !important; transform:none !important; animation:none !important; box-shadow:none !important;
}
/* sticky maison — header fixe pleine hauteur (spacer body = même hauteur -> saut net = 0, fluide) */
@media (min-width:768px){
  html.alh-stuck #header{position:fixed !important; top:0 !important; left:0 !important; right:0; width:100% !important; z-index:1000; padding:0 !important; transform:none !important; animation:none !important; box-shadow:0 8px 26px rgba(6,15,25,.45) !important}
}

/* ---------------- HEADER = cadre récif (styles natifs, gardés pour mobile) ---------------- */
.header-container,
.header-container.alt-cart,
#header .desktop-header{
  background:radial-gradient(140% 180% at 82% -40%,var(--alv-reef2),var(--alv-reef)) !important;
  color:var(--alv-reef-ink);
}
#header{border-bottom:1px solid var(--alv-reef-hair)}
#header a{color:var(--alv-reef-ink)}
#header .header_user_info,
#header .header_user_info a,
#header .cart_block,
#header .shopping_cart > a{color:var(--alv-reef-ink) !important}

/* barre de recherche : surface récif discrète */
#header .search_block_top #search_query_top,
#header .search_block_top input[type="text"]{
  background:rgba(255,255,255,.06) !important;
  border:1px solid var(--alv-reef-hair) !important;
  color:var(--alv-reef-ink) !important;
  border-radius:4px !important;
}
#header .search_block_top input::placeholder{color:var(--alv-reef-soft) !important}
#header .btn.button-search,
#header .search_block_top button{background:var(--alv-cyan-pop) !important; border-color:var(--alv-cyan-pop) !important; color:#06131f !important}

/* ---------------- MEGAMENU : plus de barre cyan criarde ---------------- */
#iqitmegamenu-horizontal,
#iqitmegamenu-horizontal.iqitmegamenu,
.iqitmegamenu-wrapper{
  background:transparent !important;
  border-top:1px solid var(--alv-reef-hair) !important;
  box-shadow:none !important;
}
#iqitmegamenu-horizontal > ul{background:transparent !important}
#iqitmegamenu-horizontal a,
#iqitmegamenu-horizontal > ul > li > a{
  color:var(--alv-reef-ink) !important;
  font-family:var(--alv-mono) !important;
  font-size:12.5px !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  font-weight:600 !important;
  background:transparent !important;
  position:relative;
}
#iqitmegamenu-horizontal > ul > li > a:hover,
#iqitmegamenu-horizontal > ul > li.active > a,
#iqitmegamenu-horizontal > ul > li:hover > a{
  color:var(--alv-cyan-pop) !important;
  background:transparent !important;
}
/* soulignement tick cyan à l'item survolé/actif */
#iqitmegamenu-horizontal > ul > li > a::after{
  content:""; position:absolute; left:14px; right:14px; bottom:6px; height:2px;
  background:var(--alv-cyan-pop); transform:scaleX(0); transform-origin:left; transition:transform .18s ease;
}
#iqitmegamenu-horizontal > ul > li:hover > a::after,
#iqitmegamenu-horizontal > ul > li.active > a::after{transform:scaleX(1)}
/* sous-menus déroulants : surface claire nette */
#iqitmegamenu-horizontal .cbp-hrsub{
  background:var(--alv-surface) !important;
  border:1px solid var(--alv-hair) !important;
  border-radius:6px !important;
  box-shadow:0 12px 34px rgba(14,24,36,.14) !important;
}
#iqitmegamenu-horizontal .cbp-hrsub a{
  color:var(--alv-ink) !important; font-family:inherit !important;
  text-transform:none !important; letter-spacing:0 !important; font-size:14px !important; font-weight:500 !important;
}
#iqitmegamenu-horizontal .cbp-hrsub a:hover{color:var(--alv-cyan-text) !important}

/* icônes header (compte/panier/recherche) : hover cyan-pop */
#header .icon, #header .fa{color:var(--alv-reef-ink)}
#header a:hover .icon, #header a:hover .fa{color:var(--alv-cyan-pop)}

/* badge panier corail (accent émotion, discret) */
#header .ajax_cart_quantity,
#header .cart_block_list .quantity{background:var(--alv-cyan-pop) !important; color:#06131f !important}

/* ---------------- FOOTER = cadre récif (fin le vert boueux) ---------------- */
.footer-container,
.footer-container-inner,
#footer,
#footer.container{
  background:radial-gradient(120% 160% at 15% -30%,var(--alv-reef2),var(--alv-reef)) !important;
  color:var(--alv-reef-ink) !important;
}
#footer .footer-block h4,
#footer .footer-block .title_block,
#footer .footer-block .h4,
#footer h4{
  color:var(--alv-reef-soft) !important;
  font-family:var(--alv-mono) !important;
  font-size:12px !important; letter-spacing:.09em !important; text-transform:uppercase !important;
  font-weight:600 !important; border:0 !important;
}
#footer a{color:var(--alv-reef-soft) !important; transition:color .15s}
#footer a:hover{color:var(--alv-cyan-pop) !important; text-decoration:none !important}
#footer .footer-block li{border-color:var(--alv-reef-hair) !important}
#footer, #footer p, #footer li, #footer .navigation-pipe{color:var(--alv-reef-soft) !important}
/* newsletter footer : champ récif */
#footer #newsletter-input,
#footer input[type="text"],
#footer input[type="email"]{
  background:rgba(255,255,255,.06) !important; border:1px solid var(--alv-reef-hair) !important;
  color:var(--alv-reef-ink) !important; border-radius:4px !important;
}
#footer .btn, #footer button[type="submit"]{background:var(--alv-cyan-pop) !important; border-color:var(--alv-cyan-pop) !important; color:#06131f !important; border-radius:4px !important}
.footer_copyrights, #footer .footer_copyrights{border-top:1px solid var(--alv-reef-hair) !important; color:var(--alv-reef-soft) !important; font-family:var(--alv-mono) !important; font-size:12px !important}

/* ---------------- MOBILE : header + recherche déroulante (fin le vert) ---------------- */
.mobile-condensed-header, #mh-sticky{background:radial-gradient(140% 180% at 82% -40%,var(--alv-reef2),var(--alv-reef)) !important; color:var(--alv-reef-ink)}
.mh-drop, .mh-search-drop, #header .mh-drop{background:var(--alv-reef2) !important; border:1px solid var(--alv-reef-hair) !important}
.mh-drop input, .mh-search-drop input{background:rgba(255,255,255,.08) !important; border:1px solid var(--alv-reef-hair) !important; color:var(--alv-reef-ink) !important; border-radius:4px !important}
.mh-drop input::placeholder{color:var(--alv-reef-soft) !important}
.mh-drop .btn, .mh-drop button, .mh-search-drop button{background:var(--alv-cyan-pop) !important; border-color:var(--alv-cyan-pop) !important; color:#06131f !important}
#mh-menu, #mh-user, #mh-cart, .mobile-condensed-header a{color:var(--alv-reef-ink) !important}

/* accessibilité : focus visible cohérent, cursor, reduced-motion */
#header a:focus-visible, #footer a:focus-visible, #iqitmegamenu-horizontal a:focus-visible{outline:2px solid var(--alv-cyan-pop); outline-offset:2px}
#header a, #footer a, #iqitmegamenu-horizontal a{cursor:pointer}
@media (prefers-reduced-motion:reduce){
  #iqitmegamenu-horizontal > ul > li > a::after{transition:none}
}

/* =====================================================================
   PAGES LISTING (catégorie, marque, nouveautés…) — « Banc Optique »
   Scopé aux conteneurs de listing → n'affecte pas la home (.al-pcard).
   ===================================================================== */
#category, #manufacturer, #new-products, #best-sales, #prices-drop, #supplier, #category #columns{background:var(--alv-paper)}

/* --- fil d'ariane + titre catégorie : signature --- */
.breadcrumb, .breadcrumb a{font-family:var(--alv-mono) !important; font-size:12px !important; color:var(--alv-soft) !important; letter-spacing:.02em}
.breadcrumb a:hover{color:var(--alv-cyan-text) !important}
#category #center_column h1,
#category .page-heading,
#manufacturer #center_column h1{
  background:none !important; padding:0 !important; color:var(--alv-ink) !important;
  font-weight:600 !important; letter-spacing:-.01em !important; text-transform:none !important; border:0 !important;
  font-size:32px !important;
}
#category #center_column h1::after,
#manufacturer #center_column h1::after{
  content:""; display:block; width:72px; height:3px; margin-top:14px;
  background:var(--alv-spectrum); border-radius:3px;
}
.cat_desc, .category-description, #category .cat_desc{color:var(--alv-soft) !important; font-size:15px}
.category-count, .heading-counter{font-family:var(--alv-mono) !important; font-size:12px !important; color:var(--alv-soft) !important}

/* --- barre de tri / pagination --- */
.content_sortPagiBar, .sortPagiBar, .top-pagination-content, .bottom-pagination-content{
  background:var(--alv-surface) !important; border:1px solid var(--alv-hair) !important; border-radius:6px !important;
  color:var(--alv-soft) !important; box-shadow:none !important;
}
.sortPagiBar select, .selector span, .content_sortPagiBar select{
  background:var(--alv-surface) !important; border:1px solid var(--alv-hair) !important; border-radius:4px !important; color:var(--alv-ink) !important; font-family:var(--alv-sans) !important;
}
.showing, .nbrItemPage, .compare-form label, .sortPagiBar *{font-family:var(--alv-mono); font-size:12.5px}
.view-list-icons a, .display li a{color:var(--alv-soft) !important}
.view-list-icons a.selected, .display li.selected a{color:var(--alv-cyan-text) !important}

/* --- CARTE PRODUIT = cadre propre (pas de repères : grille dense) --- */
.product_list li.ajax_block_product{margin-bottom:20px}
.product_list .product-container{
  background:var(--alv-surface) !important; border:1px solid var(--alv-hair) !important; border-radius:4px !important;
  box-shadow:0 1px 2px rgba(14,24,36,.04) !important; overflow:hidden;
  transition:box-shadow .18s ease, transform .18s ease, border-color .18s ease;
}
.product_list .product-container:hover{
  box-shadow:0 8px 24px rgba(14,24,36,.08) !important; transform:translateY(-3px);
  border-color:color-mix(in srgb,var(--alv-cyan) 35%,var(--alv-hair)) !important;
}
/* image produit : fond blanc, contain */
.product_list .product-image-container, .product_list .left-block, .product_list .product_img_link{background:var(--alv-surface) !important}
.product_list .product_img_link img{object-fit:contain !important}

/* MASQUER le bruit : faux compte à rebours, 4x, avis factices, barres vertes/oranges, quick-view */
.product_list .shippingdate-message,
.product_list .paiement-plusieurs-fois,
.product_list .comments_note,
.product_list .star_content,
.product_list .availability.availability-slidein,
.product_list .availabile_product,
.product_list .quick-view,
.product_list .product-flags .online-label,
.product_list .functional-buttons .add_to_compare{display:none !important}

/* nom produit + marque */
.product_list .product-name, .product_list a.product-name{
  color:var(--alv-ink) !important; font-weight:600 !important; font-size:15px !important; font-family:var(--alv-sans) !important;
}
.product_list .product-name:hover{color:var(--alv-cyan-text) !important}
.product_list .marque-produit, .product_list .marque-produit a{
  font-family:var(--alv-mono) !important; font-size:11px !important; letter-spacing:.04em !important;
  text-transform:uppercase !important; color:var(--alv-soft) !important; font-style:normal !important;
}
.product_list .product-reference{font-family:var(--alv-mono) !important; font-size:11px !important; color:var(--alv-soft) !important}

/* prix : encre mono (fin le cyan) */
.product_list .content_price .price.product-price,
.product_list .price.product-price{
  color:var(--alv-ink) !important; font-family:var(--alv-mono) !important; font-weight:600 !important; font-size:20px !important;
}
.product_list .old-price.product-price{color:var(--alv-soft) !important; font-family:var(--alv-mono) !important; text-decoration:line-through !important; font-size:13px !important}
.product_list .price-percent-reduction, .product_list .sale-label{
  background:var(--alv-coral) !important; color:#fff !important; border-radius:2px !important; font-family:var(--alv-mono) !important;
}

/* signal « Sélection AquaLED » discret à la place des avis */
.product_list .product-container .right-block .product-name::before{content:none}

/* bouton ajouter au panier : cyan */
.product_list .ajax_add_to_cart_button, .product_list .button.ajax_add_to_cart_button,
.product_list .lnk_view, .product_list a.button{
  background:var(--alv-cyan) !important; border-color:var(--alv-cyan) !important; color:#0E1824 !important;
  border-radius:4px !important; font-weight:600 !important; box-shadow:none !important; text-shadow:none !important;
}
.product_list .ajax_add_to_cart_button:hover, .product_list .button.ajax_add_to_cart_button:hover, .product_list a.button:hover{
  background:var(--alv-cyan-text) !important; border-color:var(--alv-cyan-text) !important; color:#fff !important;
}
.product_list .product_quantity_down, .product_list .product_quantity_up, .product_list .qty input{
  border-color:var(--alv-hair) !important; color:var(--alv-ink) !important; background:var(--alv-surface) !important;
}

/* --- SIDEBAR gauche : blocs cadrés propres --- */
#left_column .block, #left_column .sidebar-block{
  background:var(--alv-surface) !important; border:1px solid var(--alv-hair) !important; border-radius:6px !important;
  box-shadow:none !important; margin-bottom:16px;
}
#left_column .block .title_block, #left_column .block h4, #left_column .block .title_block a, #left_column h4.title_block{
  font-family:var(--alv-mono) !important; font-size:12px !important; letter-spacing:.09em !important;
  text-transform:uppercase !important; color:var(--alv-soft) !important; font-weight:600 !important; border:0 !important; background:none !important;
}
#left_column .block a{color:var(--alv-ink) !important}
#left_column .block a:hover{color:var(--alv-cyan-text) !important}
#left_column .tags_block .tag, #left_column .layered_tag, #left_column li a{border-color:var(--alv-hair) !important}

/* =====================================================================
   FICHE PRODUIT — sliders cross-sell/related + parrainage + description
   Réapplique la carte propre de la catégorie aux .product-container des
   sliders de la fiche (« autres produits », accessoires) — masque le bruit
   (faux compte à rebours, 4x, avis factices, barres vertes/oranges).
   ===================================================================== */
#product .product-container{
  background:var(--alv-surface) !important; border:1px solid var(--alv-hair) !important; border-radius:4px !important;
  box-shadow:0 1px 2px rgba(14,24,36,.04) !important; overflow:hidden;
  transition:box-shadow .18s ease, transform .18s ease, border-color .18s ease;
}
#product .product-container:hover{
  box-shadow:0 8px 24px rgba(14,24,36,.08) !important; transform:translateY(-3px);
  border-color:color-mix(in srgb,var(--alv-cyan) 35%,var(--alv-hair)) !important;
}
#product .product-container .product_img_link img{object-fit:contain !important}
#product .product-container .shippingdate-message,
#product .product-container .paiement-plusieurs-fois,
#product .product-container .comments_note,
#product .product-container .star_content,
#product .product-container .availability.availability-slidein,
#product .product-container .availabile_product,
#product .product-container .availability,
#product .product-container .quick-view,
#product .product-container .product-flags .online-label,
#product .product-container .functional-buttons .add_to_compare{display:none !important}
#product .product-container .product-name, #product .product-container a.product-name{
  color:var(--alv-ink) !important; font-weight:600 !important; font-size:14px !important; font-family:var(--alv-sans) !important;
}
#product .product-container .product-name:hover{color:var(--alv-cyan-text) !important}
#product .product-container .marque-produit, #product .product-container .marque-produit a{
  font-family:var(--alv-mono) !important; font-size:11px !important; letter-spacing:.04em !important;
  text-transform:uppercase !important; color:var(--alv-soft) !important; font-style:normal !important;
}
#product .product-container .content_price .price.product-price,
#product .product-container .price.product-price{
  color:var(--alv-ink) !important; font-family:var(--alv-mono) !important; font-weight:600 !important; font-size:18px !important;
}
#product .product-container .old-price.product-price{color:var(--alv-soft) !important; font-family:var(--alv-mono) !important; text-decoration:line-through !important; font-size:12px !important}
#product .product-container .price-percent-reduction, #product .product-container .sale-label{
  background:var(--alv-coral) !important; color:#fff !important; border-radius:2px !important; font-family:var(--alv-mono) !important;
}
#product .product-container .ajax_add_to_cart_button, #product .product-container .button.ajax_add_to_cart_button,
#product .product-container .lnk_view, #product .product-container a.button{
  background:var(--alv-cyan) !important; border-color:var(--alv-cyan) !important; color:#0E1824 !important;
  border-radius:4px !important; font-weight:600 !important; box-shadow:none !important; text-shadow:none !important;
}
#product .product-container .ajax_add_to_cart_button:hover, #product .product-container a.button:hover{
  background:var(--alv-cyan-text) !important; border-color:var(--alv-cyan-text) !important; color:#fff !important;
}
#product .product-container .product_quantity_down, #product .product-container .product_quantity_up, #product .product-container .qty input{
  border-color:var(--alv-hair) !important; color:var(--alv-ink) !important; background:var(--alv-surface) !important;
}
/* titres description (Conseils / Installation) alignés à gauche comme le reste */
#product #idTab1 h1, #product #idTab1 h2, #product #idTab1 h3,
#product .rte h1, #product .rte h2, #product .rte h3{text-align:left !important}
/* bloc parrainage : gradient rose/violet hors-charte -> cyan de marque */
.gw-sb-btn{background-image:none !important; background:var(--alv-cyan) !important; color:#0E1824 !important; border-color:var(--alv-cyan) !important}
.gw-sb-btn:hover{background:var(--alv-cyan-text) !important; color:#fff !important}

/* =====================================================================
   FOOTER « PISTE A » (rendu par le module via belowFooter, hors #page)
   ===================================================================== */
.footer-container{display:none !important} /* footer natif remplacé */
.alf{background:radial-gradient(120% 170% at 15% -30%,var(--alv-reef2),var(--alv-reef)); color:var(--alv-reef-ink); font-family:var(--alv-sans)}
.alf a{color:var(--alv-reef-soft); text-decoration:none; transition:color .15s}
.alf a:hover{color:var(--alv-cyan-pop); text-decoration:none}
.alf svg{display:block}
.alf .alf-wrap{max-width:1360px; margin:0 auto; padding:0 16px}
.alf h5{font-family:var(--alv-mono); font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--alv-reef-soft); margin:0 0 16px; font-weight:600}
.alf ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:11px}
.alf .alf-col a{font-size:14px}

/* réassurance */
.alf-reass{border-bottom:1px solid var(--alv-reef-hair); background:var(--alv-reef3,#071523)}
.alf-reass .alf-wrap{display:grid; grid-template-columns:repeat(4,1fr); gap:0}
.alf-r{display:flex; align-items:center; gap:12px; padding:20px 22px; border-left:1px solid var(--alv-reef-hair)}
.alf-r:first-child{border-left:0; padding-left:0}
.alf-ic{width:38px; height:38px; border:1px solid var(--alv-reef-hair); border-radius:8px; display:flex; align-items:center; justify-content:center; color:var(--alv-cyan-pop); flex:none}
.alf-ic svg{width:19px; height:19px}
.alf-r .alf-t{font-size:14px; font-weight:600; color:var(--alv-reef-ink)}
.alf-r .alf-s{font-family:var(--alv-mono); font-size:11px; color:var(--alv-reef-soft)}

/* grille */
.alf-grid{display:grid; grid-template-columns:1.5fr 1fr 1fr 1.2fr; gap:32px; padding:44px 16px 36px}
.alf-logo img{height:44px; width:auto; max-width:190px; object-fit:contain}
.alf-brand p{color:var(--alv-reef-soft); font-size:14px; max-width:34ch; margin-top:14px}
.alf-socials{display:flex; gap:8px; margin-top:18px}
.alf-soc{width:36px; height:36px; border:1px solid var(--alv-reef-hair); border-radius:6px; display:flex; align-items:center; justify-content:center; color:var(--alv-reef-ink)}
.alf-soc:hover{border-color:var(--alv-cyan-pop); color:var(--alv-cyan-pop)}
.alf-soc svg{width:17px; height:17px}
.alf-pay{display:flex; gap:6px; flex-wrap:wrap; margin-top:16px}
.alf-pay span{font-family:var(--alv-mono); font-size:10px; letter-spacing:.05em; border:1px solid var(--alv-reef-hair); border-radius:2px; padding:5px 8px; color:var(--alv-reef-soft)}
.alf-contact{color:var(--alv-reef-soft); font-size:14px; display:flex; flex-direction:column; gap:8px}
.alf-contact strong{color:var(--alv-reef-ink); font-weight:600}
.alf-cic{display:inline-flex; align-items:flex-start; gap:9px}
.alf-cic svg{width:15px; height:15px; color:var(--alv-cyan-pop); flex:none; margin-top:3px}
.alf-contact a{color:var(--alv-reef-soft)}

/* barre basse */
.alf-bottom{border-top:1px solid var(--alv-reef-hair); padding:20px 0; display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; align-items:center; font-family:var(--alv-mono); font-size:12px; color:var(--alv-reef-soft)}
.alf-legal{display:flex; gap:18px; flex-wrap:wrap}
.alf-legal a{font-size:12px}

@media (max-width:820px){
  .alf-reass .alf-wrap{grid-template-columns:1fr 1fr}
  .alf-r:nth-child(3){border-left:0; padding-left:0}
  .alf-grid{grid-template-columns:1fr 1fr; gap:26px}
}
@media (max-width:520px){
  .alf-reass .alf-wrap{grid-template-columns:1fr}
  .alf-r{border-left:0; padding-left:0}
  .alf-grid{grid-template-columns:1fr}
}

/* =====================================================================
   FICHE PRODUIT — « Banc Optique »
   ===================================================================== */
#product #center_column{background:var(--alv-paper)}
/* titre + référence */
#product #center_column h1, #product .page-heading, #product .pb-center-column h1{
  background:none !important; padding:0 !important; color:var(--alv-ink) !important;
  text-transform:none !important; font-size:28px !important; font-weight:600 !important; letter-spacing:-.01em !important;
}
#product .reference, #product #product_reference span, #product .editable{font-family:var(--alv-mono) !important; font-size:12px !important; color:var(--alv-soft) !important}
/* reset du fond teal du thème sur TOUS les titres produit (h2/h3 features + description) */
#product #center_column h2, #product #center_column h3{background:none !important; padding:0 !important; color:var(--alv-ink) !important; text-transform:none !important}
/* boîtes features H3 (teal) -> label mono propre */
#product #center_column h3{font-family:var(--alv-mono) !important; font-size:12px !important; letter-spacing:.06em !important; text-transform:uppercase !important; color:var(--alv-soft) !important; font-weight:600 !important; margin-bottom:4px !important}

/* prix : encre mono (fin le teal) */
#product .our_price_display, #product #our_price_display, #product span.price, #product .price.our_price_display{
  color:var(--alv-ink) !important; font-family:var(--alv-mono) !important; font-weight:600 !important;
}
#product .old-price, #product #old_price_display{color:var(--alv-soft) !important; font-family:var(--alv-mono) !important; text-decoration:line-through !important}

/* badges promo -> corail */
#product #reduction_percent, #product #reduction_amount, #product .discount, #product .price-percent-reduction{
  background:var(--alv-coral) !important; color:#fff !important; border-radius:2px !important; font-family:var(--alv-mono) !important; text-shadow:none !important;
}

/* stock */
#product #availability_statut .available, #product .availability .available{color:var(--alv-green) !important}

/* Ajouter au panier -> cyan */
#product #add_to_cart .exclusive, #product #add_to_cart button, #product .exclusive, #product .ajax_add_to_cart_button{
  background:var(--alv-cyan) !important; border-color:var(--alv-cyan) !important; color:#0E1824 !important;
  border-radius:4px !important; text-shadow:none !important; box-shadow:none !important; font-weight:600 !important;
}
#product #add_to_cart .exclusive:hover, #product .exclusive:hover{background:var(--alv-cyan-text) !important; border-color:var(--alv-cyan-text) !important; color:#fff !important}
#product .product_quantity_down, #product .product_quantity_up, #product #quantity_wanted{border-color:var(--alv-hair) !important; color:var(--alv-ink) !important; background:var(--alv-surface) !important}

/* datasheet caractéristiques -> table propre (fin les boîtes teal) */
.table-data-sheet{border:1px solid var(--alv-hair) !important; border-collapse:separate !important; border-spacing:0 !important; background:var(--alv-surface) !important; border-radius:4px !important; overflow:hidden}
.table-data-sheet td, .table-data-sheet th{background:var(--alv-surface) !important; border:0 !important; border-bottom:1px solid var(--alv-hair) !important; color:var(--alv-ink) !important; font-family:var(--alv-sans) !important; padding:11px 14px !important; text-align:left !important}
.table-data-sheet tr:last-child td{border-bottom:0 !important}
.table-data-sheet tr td:first-child, .table-data-sheet th{
  font-family:var(--alv-mono) !important; font-size:11px !important; letter-spacing:.06em !important;
  text-transform:uppercase !important; color:var(--alv-soft) !important; font-weight:600 !important; width:42%;
}
.table-data-sheet tr td:last-child{font-weight:600 !important; font-family:var(--alv-mono) !important}

/* onglets -> mono + soulignement cyan */
#product .nav-tabs, .product-tabs .nav-tabs{border-bottom:1px solid var(--alv-hair) !important; background:none !important}
#product .nav-tabs > li > a, #product ul.nav-tabs > li > a{
  background:none !important; border:0 !important; border-bottom:2px solid transparent !important; border-radius:0 !important;
  color:var(--alv-soft) !important; font-family:var(--alv-mono) !important; font-size:12.5px !important;
  letter-spacing:.06em !important; text-transform:uppercase !important; font-weight:600 !important; margin:0 !important;
}
#product .nav-tabs > li.active > a, #product .nav-tabs > li > a:hover, #product .nav-tabs > li.active > a:focus,
#product .nav-tabs li.active a, #product .nav-tabs li a:hover, #product .nav-tabs li a.selected{
  color:var(--alv-cyan-text) !important; border-bottom:2px solid var(--alv-cyan) !important; background:none !important;
}

/* headings teal dans la description -> propre */
#product .rte h1, #product .rte h2, #product .rte h3, #product .tab-content h2, #product #idTab1 h1, #product #idTab1 h2, #product .tab-content h1{
  background:none !important; color:var(--alv-ink) !important; padding:0 !important; text-transform:none !important;
}

/* faux avis (0) dans le buy block -> masquer entièrement le bloc résumé */
#product #product_comments_block_extra, #product .buy_block .comments_note, #product .pb-center-column .star_content, #product #buy_block .star_content{display:none !important}
/* cross-sell : masquer barres livraison/avis (comme la catégorie) */
#product .crossseling .availability, #product .crossseling .availability-slidein, #product .crossseling .shippingdate-message, #product .crossseling .comments_note, #product .crossseling .star_content, #product #crossselling .availability-slidein, #product #crossselling .comments_note{display:none !important}

/* cross-sell -> carte propre */
#product .crossseling .product-container, #product #crossselling .product-container{
  background:var(--alv-surface) !important; border:1px solid var(--alv-hair) !important; border-radius:4px !important; box-shadow:0 1px 2px rgba(14,24,36,.04) !important;
}
#product .crossseling .price{color:var(--alv-ink) !important; font-family:var(--alv-mono) !important; font-weight:600 !important}
#product .crossseling .button, #product .crossseling .ajax_add_to_cart_button{background:var(--alv-cyan) !important; border-color:var(--alv-cyan) !important; color:#0E1824 !important; border-radius:4px !important}
#product .crossseling .shippingdate-message, #product .crossseling .availability-slidein, #product .crossseling .comments_note{display:none !important}

/* titres de sections (avis, cross-sell) teal -> propre */
#product #crossselling h2, #product .page-product-heading, #product #product_comments_block_tab h2, #product .rte_content h2{
  background:none !important; color:var(--alv-ink) !important; padding:0 !important; text-transform:none !important; font-size:22px !important;
}

/* ============ FICHE PRODUIT NOUVELLE GÉNÉRATION ============ */
/* galerie encadrée (repères signature) */
#product #image-block{position:relative; border:1px solid var(--alv-hair) !important; border-radius:6px !important; background:var(--alv-surface) !important}
#product #image-block::before, #product #image-block::after{content:""; position:absolute; width:16px; height:16px; pointer-events:none; z-index:4}
#product #image-block::before{top:-1px; left:-1px; border-top:2px solid var(--alv-cyan); border-left:2px solid var(--alv-cyan)}
#product #image-block::after{bottom:-1px; right:-1px; border-bottom:2px solid var(--alv-cyan); border-right:2px solid var(--alv-cyan)}
#product #thumbs_list img, #product #thumbs_list a{border-radius:4px !important}
#product .pb-center-column{padding-left:24px}

/* spec chips (buy block) */
.alp-extra{margin-top:4px}
.alp-specrow{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--alv-hair); border:1px solid var(--alv-hair); border-radius:6px; overflow:hidden; margin:18px 0}
.alp-specrow .alp-s{background:var(--alv-surface); padding:12px 8px; text-align:center}
.alp-specrow .alp-v{font-family:var(--alv-mono); font-size:16px; font-weight:600; color:var(--alv-ink); line-height:1.25}
.alp-specrow .alp-l{font-family:var(--alv-mono); font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:var(--alv-soft); margin-top:4px}
/* réassurance micro */
.alp-rmicro{display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:18px}
.alp-rmicro .alp-r{display:flex; gap:9px; align-items:flex-start; font-size:12px; color:var(--alv-soft)}
.alp-rmicro .alp-r svg{width:17px; height:17px; color:var(--alv-cyan-text); flex:none; margin-top:1px}
.alp-rmicro .alp-r b{color:var(--alv-ink); font-weight:600; display:block; font-size:12.5px}
/* expert callout */
.alp-expert{margin-top:18px; padding:14px 16px; border:1px solid var(--alv-hair); border-radius:6px; background:var(--alv-surface); display:flex; gap:12px; align-items:center}
.alp-expert svg{width:22px; height:22px; color:var(--alv-cyan-text); flex:none}
.alp-expert b{font-weight:600; display:block; color:var(--alv-ink)}
.alp-expert span{font-size:13px; color:var(--alv-soft)}

/* bandeau spectre (content-width) */
.alp-specband{margin:34px 0 12px}
.alp-specband .alp-inner{position:relative; overflow:hidden; background:radial-gradient(120% 130% at 78% 10%,var(--alv-reef2),var(--alv-reef)); border:1px solid var(--alv-reef-hair); border-radius:8px; color:var(--alv-reef-ink); padding:32px; display:grid; grid-template-columns:.9fr 1.1fr; gap:30px; align-items:center}
.alp-specband .alp-inner::before{content:""; position:absolute; top:0; left:0; right:0; height:2px; background:linear-gradient(90deg,#6B4BD6,#3B6BE0,#22C6E0,#16B98A,#E8C33A,#FF6A4D)}
.alp-specband .alp-eyebrow{font-family:var(--alv-mono); font-size:12px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--alv-coral)}
#product #center_column .alp-specband h2, .alp-specband h2{font-size:24px !important; color:var(--alv-reef-ink) !important; margin:12px 0 10px !important; background:none !important; padding:0 !important; text-transform:none !important; text-shadow:none !important}
#product .al-pd-hero .product-title h1, #product #center_column h1, #product #center_column h2, #product #center_column h3{text-shadow:none !important}
.alp-specband p{color:var(--alv-reef-soft); font-size:14px; max-width:48ch}
.alp-specband p a{color:var(--alv-cyan-pop)}
.alp-kpis{display:flex; gap:24px; margin-top:20px; flex-wrap:wrap}
.alp-kpis .v{font-family:var(--alv-mono); font-size:20px; font-weight:600; color:var(--alv-cyan-pop)}
.alp-kpis .l{font-family:var(--alv-mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--alv-reef-soft); margin-top:2px}
.alp-vis svg{width:100%; height:auto; display:block; background:rgba(8,20,34,.4); border:1px solid var(--alv-reef-hair); border-radius:6px; padding:14px}
.alp-splegend{display:flex; gap:14px; flex-wrap:wrap; margin-top:12px; font-family:var(--alv-mono); font-size:11px; color:var(--alv-reef-soft)}
.alp-splegend i{width:9px; height:9px; border-radius:50%; display:inline-block; margin-right:6px; vertical-align:middle}
.alp-splegend b{color:var(--alv-reef-ink)}
.alp-splegend .alp-illus{opacity:.65}

@media (max-width:900px){
  .alp-specband .alp-inner{grid-template-columns:1fr; padding:22px}
  #product .pb-center-column{padding-left:0}
}
@media (max-width:560px){
  .alp-specrow{grid-template-columns:1fr 1fr}
  .alp-rmicro{grid-template-columns:1fr}
}

/* layout produit 2 colonnes (grille) — titre pleine largeur, galerie | buy, right dessous */
#product .al-pd-hero{display:grid !important; grid-template-columns:1.08fr .92fr; gap:6px 40px; margin:0 !important; align-items:start}
#product .al-pd-hero > .col-xs-12:not(.pb-left-column):not(.pb-center-column):not(.pb-right-column){grid-column:1 / -1; width:auto !important; float:none !important; padding:0 !important; margin:0 0 6px !important}
#product .al-pd-hero > .pb-left-column,
#product .al-pd-hero > .pb-center-column{grid-column:auto !important; width:auto !important; max-width:none !important; float:none !important; padding:0 !important; margin:0 !important}
#product .al-pd-hero > .pb-right-column{grid-column:1 / -1; width:auto !important; max-width:none !important; float:none !important; padding:0 !important; margin:26px 0 0 !important}
#product .al-pd-hero .pb-center-column{padding-left:6px !important}
/* titre + réf alignés à gauche, propres */
#product .al-pd-hero .product-title, #product .al-pd-hero .product-title-center{text-align:left !important; margin-bottom:4px}
#product .al-pd-hero .product-title h1{text-align:left !important}
#product #product_reference{display:flex !important; gap:14px; flex-wrap:wrap; align-items:baseline; margin-top:6px}
#product #product_reference label{font-family:var(--alv-mono) !important; font-size:11px !important; letter-spacing:.05em; text-transform:uppercase; color:var(--alv-soft) !important; margin:0}
/* masquer les vieux panneaux features teal (redondants avec spec chips + datasheet) */
#product .caracteristiques{display:none !important}
#product .row.text-center hr{display:none}
#product #short_description_content{color:var(--alv-soft) !important; font-size:15px}
#product .livraisongratuite{color:var(--alv-green) !important; font-family:var(--alv-mono) !important; font-size:12.5px !important; display:inline-flex; align-items:center; gap:6px}
@media (max-width:900px){
  #product .al-pd-hero{grid-template-columns:1fr}
  #product .al-pd-hero .pb-center-column{padding-left:0 !important}
}

/* ===================== FICHE PRODUIT V9 ===================== */
/* full-width : sidebar retirée, center column pleine largeur */
#product #left_column{display:none !important}
#product #center_column{width:100% !important; max-width:none !important; float:none !important; margin:0 !important; left:0 !important; padding:0 16px !important}
#product #center_column.col-sm-push-3{left:0 !important}
/* buy panel STICKY (top = sous le header sticky compact) */
/* .columns-container a overflow:hidden -> casse position:sticky : on le libère sur la fiche produit */
#product .columns-container{overflow-x:clip !important; overflow-y:visible !important}
@media (min-width:920px){
  #product .al-pd-hero{grid-template-columns:1.12fr .88fr; gap:6px 48px}
  #product .al-pd-hero .pb-center-column{position:sticky; top:190px; align-self:start}
}
/* galerie : cadre plus doux */
#product #image-block{border-radius:12px !important}
/* prix XL */
#product .our_price_display #our_price_display, #product #our_price_display{font-size:32px !important; line-height:1 !important}
#product .content_prices{margin-top:4px}
#product #availability_value{font-weight:600}
/* bloc livraison / retour / garantie */
.alp-deliv{margin-top:20px; border:1px solid var(--alv-hair); border-radius:12px; overflow:hidden; background:var(--alv-surface)}
.alp-drow{display:flex; align-items:center; gap:12px; padding:13px 15px; border-bottom:1px solid var(--alv-hair); font-size:14px}
.alp-drow:last-child{border-bottom:0}
.alp-drow svg{width:19px; height:19px; color:var(--alv-cyan-text); flex:none}
.alp-drow b{font-weight:600; color:var(--alv-ink)}
.alp-drow .s{color:var(--alv-soft); font-size:13px}
.alp-expert{border-style:dashed !important; border-color:color-mix(in srgb,var(--alv-cyan) 40%,var(--alv-hair)) !important; background:color-mix(in srgb,var(--alv-cyan) 5%,transparent) !important}

/* ===== POLISH FICHE PRODUIT : fonts + stock + alignements ===== */
/* font grotesque système partout (fin le mix Open Sans) — mono conservé sur les données */
body, body input, body button, body select, body textarea,
#product h1, #product h2, #product h3, #product h4, #product h5,
#product p, #product a, #product li, #product span, #product div,
#product .rte, #product .rte *, #product #short_description_content, #product #short_description_content *{
  font-family:var(--alv-sans) !important;
}
#product .mono, #product .our_price_display, #product #our_price_display, #product #old_price_display, #product #old_price_display *,
#product .alp-specrow, #product .alp-specrow *, #product .nav-tabs a, #product #product_reference, #product #product_reference *,
#product .table-data-sheet, #product .table-data-sheet *, #product .alv-brand, #product .alv-price, #product .alv-eyebrow,
#product .alp-drow, #product .alp-drow *, #product .alp-eyebrow, #product .badge, #product #reduction_percent, #product #reduction_amount{
  font-family:var(--alv-mono) !important;
}

/* mention stock : fin le bandeau vert + la boîte -> pastille + texte propre */
#product .available-box{background:none !important; border:0 !important; padding:0 !important; margin:14px 0 !important; box-shadow:none !important}
#product #availability_statut{background:none !important; border:0 !important; padding:0 !important; margin:0 !important; text-align:left !important}
html body#product #availability_statut, html body#product #availability_statut b, html body#product #availability_statut span#availability_value{color:#067A66 !important}
#product #short_description_block, #product .available-box, #product .box-info-product, #product .box-cart-bottom, #product .content_prices{border:0 !important}
#product #short_description_block hr, #product .box-info-product hr{display:none !important}
#product #availability_value{background:none !important; box-shadow:none !important; color:var(--alv-green) !important; font-weight:600 !important; font-size:14px !important; padding:0 !important; display:inline-flex; align-items:center; gap:9px; line-height:1.4}
#product #short_description_block{border:0 !important; box-shadow:none !important}
#product #short_description_block::after, #product .available-box::before, #product .available-box::after{display:none !important}
#product #availability_value .fa, #product #availability_value i{display:none !important}
#product #availability_value::before{content:""; width:9px; height:9px; border-radius:50%; background:var(--alv-green-pill); box-shadow:0 0 0 4px color-mix(in srgb,var(--alv-green-pill) 22%,transparent); flex:none}
#product #availability_value br{display:none}
/* date d'expédition + livraison gratuite : sobre, aligné gauche */
#product .shippingdate-message, #product .infos-produits{text-align:left !important; font-family:var(--alv-mono) !important; font-size:12px !important; color:var(--alv-soft) !important; margin:4px 0 !important}
#product .livraisongratuite{color:var(--alv-green) !important; font-family:var(--alv-mono) !important; font-size:12px !important; display:inline-flex; align-items:center; gap:7px; background:none !important}
#product .content_prices{text-align:left !important; margin-top:8px}
#product .price{text-align:left !important}
#product .our_price_display{text-align:left !important; display:block}

/* spec chips : flex (largeur égale, plus de cellule vide) */
.alp-specrow{display:flex !important; gap:1px}
.alp-specrow .alp-s{flex:1 1 0}

/* description tab : titres propres, texte lisible */
#product .rte{color:var(--alv-ink)}
#product .rte h1, #product .rte h2, #product .rte h3{color:var(--alv-ink) !important; font-weight:600 !important; margin:22px 0 8px !important}
#product #short_description_content a, #product .rte a{color:var(--alv-cyan-text) !important; font-weight:600}
/* barre d'achat sticky (bas d'écran, montée au scroll) */
.alp-stickybar{position:fixed; left:0; right:0; bottom:0; z-index:1200; transform:translateY(110%); transition:transform .25s ease; pointer-events:none}
.alp-stickybar.shown{transform:translateY(0); pointer-events:auto}
.alp-sb-wrap{max-width:1360px; margin:0 auto; padding:12px 16px; display:flex; align-items:center; gap:16px;
  background:color-mix(in srgb,var(--alv-surface) 96%,transparent); backdrop-filter:blur(12px);
  border:1px solid var(--alv-hair); border-bottom:0; border-radius:14px 14px 0 0; box-shadow:0 -8px 30px rgba(14,24,36,.12)}
.alp-sb-info{display:flex; flex-direction:column; min-width:0}
.alp-sb-t{font-weight:600; font-size:14px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:52ch; color:var(--alv-ink)}
.alp-sb-p{font-family:var(--alv-mono); font-weight:600; font-size:16px; color:var(--alv-ink)}
.alp-sb-btn{margin-left:auto; display:inline-flex; align-items:center; gap:9px; height:46px; padding:0 24px; background:var(--alv-cyan); color:#0E1824; border:0; border-radius:8px; font-weight:600; font-size:15px; cursor:pointer; font-family:var(--alv-sans)}
.alp-sb-btn:hover{background:var(--alv-cyan-text); color:#fff}
.alp-sb-btn svg{width:17px; height:17px}
@media (prefers-reduced-motion:reduce){ .alp-stickybar{transition:none} }
/* nettoyage buy block : bandeau paiement clunky + (0) avis vide + print/compare mono */
#product .box-security{display:none !important}
#product .pb-center-column .star_content, #product .pb-center-column .comments_note, #product #product_comments_block_extra{display:none !important}
#product .more_buttons_bottom_block{margin-top:12px; display:flex; gap:18px}
#product .more_buttons_bottom_block a{font-family:var(--alv-mono) !important; font-size:12px !important; color:var(--alv-soft) !important; letter-spacing:.03em}
#product .more_buttons_bottom_block a:hover{color:var(--alv-cyan-text) !important}
#product .pb-center-column .tags_block, #product .pb-center-column #tags_block{display:none !important}

/* ---- VIGNETTES VERTICALES (activées par JS .al-vthumbs après unslick) ---- */
.al-vthumbs #product .pb-left-column #all-images-wrapper{display:grid !important; grid-template-columns:80px 1fr; gap:14px; align-items:start}
/* pas de vignettes (0-1 image) -> image pleine largeur, pas de colonne vide */
.al-vthumbs #product .pb-left-column #all-images-wrapper:has(#views_block.hidden),
.al-vthumbs #product .pb-left-column #all-images-wrapper:has(#views_block[style*="display: none"]){grid-template-columns:1fr !important; gap:0 !important}
.al-vthumbs #product #image-block{grid-column:2; grid-row:1; margin:0 !important}
.al-vthumbs #product #views_block{grid-column:1; grid-row:1; margin:0 !important; padding:0 !important; width:auto !important; height:auto !important; overflow:visible !important}
.al-vthumbs #product #views_block.hidden{display:none !important}
.al-vthumbs #product #thumbs_list{width:auto !important; margin:0 !important}
.al-vthumbs #product #thumbs_list_frame{display:flex !important; flex-direction:column !important; gap:10px; width:auto !important; transform:none !important; margin:0 !important; padding:0 !important; list-style:none}
.al-vthumbs #product #thumbs_list_frame li{width:auto !important; float:none !important; margin:0 !important; padding:0 !important; height:auto !important; list-style:none}
.al-vthumbs #product #thumbs_list_frame li a{display:block !important; border:1px solid var(--alv-hair); border-radius:8px; overflow:hidden; padding:0; transition:border-color .15s}
.al-vthumbs #product #thumbs_list_frame li a:hover{border-color:var(--alv-cyan)}
.al-vthumbs #product #thumbs_list_frame li a.shown{border-color:var(--alv-cyan); box-shadow:inset 0 0 0 1px var(--alv-cyan)}
.al-vthumbs #product #thumbs_list_frame li img{width:100% !important; height:auto !important; display:block}
.al-vthumbs #product #closezoom, .al-vthumbs #product #taptozoom{position:absolute !important; z-index:5}
/* vignettes : plafonnées à la hauteur de l'image (JS affine à l'exact) — scroll fin
   si beaucoup de vues, pour ne pas laisser de blanc sous l'image */
@media (min-width:641px){
  .al-vthumbs #product #views_block{max-height:600px; overflow-y:auto; overflow-x:hidden; scrollbar-width:thin; scrollbar-color:var(--alv-hair) transparent}
  .al-vthumbs #product #views_block::-webkit-scrollbar{width:5px}
  .al-vthumbs #product #views_block::-webkit-scrollbar-thumb{background:var(--alv-hair); border-radius:3px}
  .al-vthumbs #product #views_block::-webkit-scrollbar-track{background:transparent}
}
@media (max-width:640px){
  .al-vthumbs #product .pb-left-column #all-images-wrapper{grid-template-columns:1fr}
  .al-vthumbs #product #views_block{grid-row:2}
  .al-vthumbs #product #thumbs_list_frame{flex-direction:row !important; flex-wrap:wrap}
  .al-vthumbs #product #thumbs_list_frame li{width:64px !important}
}

/* ---- SWATCHES déclinaisons ---- */
#product #attributes .attribute_fieldset{border:0 !important; padding:0 !important; margin:0 0 18px !important}
#product #attributes .attribute_label{font-family:var(--alv-mono) !important; font-size:11px !important; letter-spacing:.06em; text-transform:uppercase; color:var(--alv-soft) !important; font-weight:600 !important; display:block !important; margin-bottom:9px !important; float:none !important}
.al-swatches{display:flex; gap:10px; flex-wrap:wrap}
.al-sw{min-width:56px; padding:11px 16px; border:1px solid var(--alv-hair); border-radius:8px; background:var(--alv-surface); font-family:var(--alv-mono); font-size:13px; color:var(--alv-ink); cursor:pointer; transition:border-color .15s, box-shadow .15s}
.al-sw:hover{border-color:var(--alv-cyan)}
.al-sw.on{border-color:var(--alv-cyan); box-shadow:inset 0 0 0 1px var(--alv-cyan)}
/* types color / radio : restyle aussi */
#product #color_to_pick_list{list-style:none; padding:0; display:flex; gap:8px; flex-wrap:wrap}
#product #color_to_pick_list li a{border-radius:8px !important; border:1px solid var(--alv-hair) !important; width:38px; height:38px; display:block}
#product #color_to_pick_list li.selected a, #product #color_to_pick_list a.selected{outline:2px solid var(--alv-cyan); outline-offset:1px}
#product #attributes .attribute_radio{accent-color:var(--alv-cyan)}

/* ---- RAIL « VUS RÉCEMMENT » ---- */
.alv-viewed{margin:52px 0 26px}
.alv-eyebrow{font-family:var(--alv-mono); font-size:12px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--alv-cyan-text); display:inline-flex; align-items:center; gap:10px}
.alv-eyebrow::before{content:""; width:22px; height:2px; background:var(--alv-cyan); border-radius:2px}
.alv-wl{display:flex; align-items:center; gap:16px; margin:12px 0 24px}
.alv-wl::after{content:""; height:1px; background:var(--alv-hair); flex:1}
.alv-wl .m{display:inline-flex; align-items:center; gap:12px; font-size:22px; font-weight:600; color:var(--alv-ink); white-space:nowrap}
.alv-wl .thread{width:64px; height:3px; border-radius:3px; background:linear-gradient(90deg,#6B4BD6,#3B6BE0,#22C6E0,#16B98A,#E8C33A,#FF6A4D); flex:none}
.alv-grid{display:grid; grid-template-columns:repeat(6,1fr); gap:16px}
.alv-card{display:flex; flex-direction:column; background:var(--alv-surface); border:1px solid var(--alv-hair); border-radius:8px; overflow:hidden; text-decoration:none; transition:box-shadow .18s, transform .18s, border-color .18s}
.alv-card:hover{box-shadow:0 8px 24px rgba(14,24,36,.08); transform:translateY(-3px); border-color:color-mix(in srgb,var(--alv-cyan) 35%,var(--alv-hair))}
.alv-media{display:block; aspect-ratio:1; background:linear-gradient(160deg,var(--alv-surface),#EFF3F6); border-bottom:1px solid var(--alv-hair)}
.alv-media img{width:100%; height:100%; object-fit:contain; padding:10px; display:block}
.alv-body{padding:12px 13px; display:flex; flex-direction:column; gap:5px; flex:1}
.alv-brand{font-family:var(--alv-mono); font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:var(--alv-soft)}
.alv-name{font-size:13px; font-weight:600; color:var(--alv-ink); line-height:1.3; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden}
.alv-price{font-family:var(--alv-mono); font-size:15px; font-weight:600; color:var(--alv-ink); margin-top:auto}
@media (max-width:1000px){ .alv-grid{grid-template-columns:repeat(3,1fr)} }
@media (max-width:560px){ .alv-grid{grid-template-columns:1fr 1fr} .alv-wl .m{font-size:18px; white-space:normal} }

