/* ============================================================================
   BVL Core — styles front (fiche produit). Direction "Editorial Noir".
   Réutilise les variables du thème BVL (--ink, --paper, --acid, --mono…) avec
   des valeurs de secours si le thème change.
   ============================================================================ */
:root{
  --bvl-ink: var(--ink, #0A0A0A);
  --bvl-paper: var(--paper, #FAFAF7);
  --bvl-acid: var(--acid, #D8FF3D);
  --bvl-fog: var(--fog, #E6E5E0);
  --bvl-mono: var(--mono, 'JetBrains Mono', ui-monospace, Menlo, monospace);
  --bvl-success: #1B7A4B;
}

/* Réassurance */
.bvl-reassure{list-style:none;margin:22px 0;padding:16px;border:1px solid var(--bvl-fog);background:#fff}
.bvl-reassure li{display:flex;gap:12px;padding:6px 0;font-size:13px;align-items:center}
.bvl-reassure .i{width:1.3em;text-align:center}

/* Stock */
.bvl-stock{display:flex;gap:22px;align-items:center;margin:14px 0;font-family:var(--bvl-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.bvl-stock-web strong{font-size:13px}
.bvl-instore{color:var(--bvl-success);font-weight:600}

/* Wishlist (bouton ajouté sur la fiche) — état discret + gros cœur */
.bvl-wish-btn{display:inline-flex;align-items:center;gap:10px;height:44px;padding:0 16px;border:1px solid var(--bvl-ink);background:transparent;color:var(--bvl-ink);font-family:var(--bvl-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:border-color .15s,background .15s}
.bvl-wish-ico::before{content:"\2661";font-size:22px;line-height:1;display:inline-block;transform:translateY(1px);transition:transform .15s}
.bvl-wish-btn:hover{background:rgba(0,0,0,.03)}
.bvl-wish-btn.on{background:transparent;color:var(--bvl-ink)}       /* on ne remplit plus tout le bouton */
.bvl-wish-btn.on .bvl-wish-ico::before{content:"\2665";color:var(--bvl-ink);transform:translateY(1px) scale(1.08)} /* cœur plein noir (Editorial Noir) */

/* ── Sélecteur de tailles — refonte : grille régulière + prix par taille + fraction lisible ── */
.bvl-sizes .bvl-size-grid{display:grid !important;grid-template-columns:repeat(auto-fill,minmax(90px,1fr)) !important;gap:8px !important}
.bvl-sizes .bvl-size{position:relative !important;display:flex !important;flex-direction:column !important;align-items:center !important;justify-content:center !important;gap:4px !important;width:auto !important;min-width:0 !important;height:auto !important;min-height:62px !important;padding:10px 6px !important;border:1px solid var(--fog,#E6E5E0) !important;background:#fff !important;color:var(--bvl-ink) !important;font-family:var(--bvl-mono) !important;white-space:nowrap !important;cursor:pointer !important;transition:border-color .15s,background .15s}
.bvl-sizes .bvl-size:hover{border-color:var(--bvl-ink) !important}
.bvl-size-s{font-size:16px;font-weight:600;line-height:1;display:inline-flex;align-items:baseline;gap:2px}
.bvl-size-s em{font-style:normal;font-size:.7em;font-weight:500}
.bvl-size-p{font-size:11px;font-weight:500;letter-spacing:.03em;color:var(--ash,#5F5E5A);line-height:1}
.bvl-sizes .bvl-size.is-active{background:var(--bvl-ink) !important;color:var(--bvl-paper) !important;border-color:var(--bvl-ink) !important}
.bvl-sizes .bvl-size.is-active .bvl-size-p{color:rgba(250,250,247,.7)}
.bvl-sizes .bvl-size.is-oos{background:#faf9f6 !important;color:#a7a59c !important}
.bvl-sizes .bvl-size.is-oos .bvl-size-s{text-decoration:line-through}
.bvl-sizes .bvl-size.is-oos .bvl-size-p{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#b4b2a9}
.bvl-sizes .bvl-size .bvl-size-dot{position:absolute !important;top:8px;right:8px;width:6px;height:6px;border-radius:99px}

/* ── Page « Mes favoris » : grille produits ── */
.bvl-wishlist-grid .products{display:grid !important;grid-template-columns:repeat(2,1fr) !important;gap:16px !important;list-style:none !important;margin:0 !important;padding:0 !important}
@media(min-width:700px){.bvl-wishlist-grid .products{grid-template-columns:repeat(3,1fr) !important}}
@media(min-width:1000px){.bvl-wishlist-grid .products{grid-template-columns:repeat(4,1fr) !important}}
.bvl-wishlist-grid .products::before,.bvl-wishlist-grid .products::after{content:none !important;display:none !important}
.bvl-wishlist-grid .products > *{width:auto !important;margin:0 !important;float:none !important}

/* ── Menu « Services ▾ » dans la nav (déroulé au survol, Editorial Noir) ── */
.bvl-mm-nav-item--services{position:relative}
.bvl-svc-caret{font-size:9px;display:inline-block;transition:transform .15s;margin-left:2px}
.bvl-mm-nav-item--services:hover .bvl-svc-caret{transform:rotate(180deg)}
.bvl-svc-sub{position:absolute;top:100%;left:-16px;min-width:232px;background:var(--paper,#FAFAF7);border:1px solid var(--ink,#0A0A0A);padding:8px 0;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .15s,transform .15s;z-index:60;box-shadow:0 14px 40px rgba(0,0,0,.12)}
.bvl-mm-nav-item--services:hover .bvl-svc-sub{opacity:1;visibility:visible;transform:none}
.bvl-svc-sub::before{content:"";position:absolute;top:-16px;left:0;right:0;height:16px}
.bvl-svc-sub a{display:block;padding:9px 18px;color:var(--ink,#0A0A0A);text-decoration:none}
.bvl-svc-sub a strong{display:block;font-family:var(--display,'Inter Tight',sans-serif);font-size:14px;font-weight:600;line-height:1.2}
.bvl-svc-sub a span{display:block;font-family:var(--mono,'JetBrains Mono',monospace);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--ash,#5F5E5A);margin-top:3px}
.bvl-svc-sub a:hover{background:var(--ink,#0A0A0A)}
.bvl-svc-sub a:hover strong{color:var(--paper,#FAFAF7)}
.bvl-svc-sub a:hover span{color:rgba(250,250,247,.6)}

/* ── Alerte retour en stock PAR TAILLE (clic sur une taille épuisée) ── */
.bvl-size-restock{display:none;margin:14px 0 4px;padding:14px;border:1px dashed var(--fog,#E6E5E0);background:#fff}
.bvl-size-restock.is-open{display:block}
.bvl-size-restock p{font-family:var(--mono,'JetBrains Mono',monospace);font-size:11px;letter-spacing:.06em;text-transform:uppercase;margin:0 0 10px;color:var(--ink,#0A0A0A)}
.bvl-size-restock .bvl-restock-form{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.bvl-size-restock input[type=email]{flex:1;min-width:160px;height:44px;padding:0 12px;border:1px solid var(--fog,#E6E5E0);font-family:inherit}
.bvl-size-restock button{height:44px;padding:0 16px;background:var(--ink,#0A0A0A);color:var(--paper,#FAFAF7);border:0;font-family:var(--mono,'JetBrains Mono',monospace);font-size:11px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;white-space:nowrap}

/* Alerte retour en stock */
.bvl-restock-form{margin:18px 0;padding:16px;border:1px dashed var(--bvl-fog)}
.bvl-restock-form p{font-family:var(--bvl-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px}
.bvl-restock-form input{height:46px;padding:0 12px;border:1px solid var(--bvl-fog);width:100%;margin-bottom:8px;font-family:inherit}
.bvl-restock-form button{height:46px;padding:0 18px;background:var(--bvl-acid);color:var(--bvl-ink);border:1px solid var(--bvl-acid);font-family:var(--bvl-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;width:100%}

/* Sticky add-to-cart mobile */
.bvl-sticky-cart{position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;align-items:center;gap:12px;padding:10px 16px;background:#fff;border-top:1px solid var(--bvl-ink);box-shadow:0 -8px 30px rgba(0,0,0,.12)}
.bvl-sticky-price{font-weight:700}
.bvl-sticky-btn{flex:1;height:48px;background:var(--bvl-ink);color:var(--bvl-paper);border:0;font-family:var(--bvl-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
@media(max-width:768px){.bvl-sticky-cart.is-visible{display:flex}}

/* Créneau de retrait au checkout */
.bvl-pickup-slot{margin:18px 0;padding:16px;border:1px solid var(--bvl-fog)}
.bvl-pickup-slot h3{font-family:var(--bvl-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px}

/* ── Optimisation header MOBILE : logo à gauche · icônes collées à droite · top bar épurée ── */
@media (max-width:1024px){
  .site-header{grid-template-columns:auto 1fr !important}
  .header-logo{justify-content:flex-start !important}
  .header-utils{justify-content:flex-end !important;gap:12px !important}
}
@media (max-width:768px){
  .topbar{display:none !important} /* barre du haut masquée sur mobile (illisible/encombrée) */
  /* Footer : liens légaux qui passent à la ligne (FAQ n'est plus coupé) + bas centré */
  .footer-bottom{justify-content:center !important;text-align:center;gap:12px !important}
  .footer-bottom > span{flex-wrap:wrap !important;justify-content:center !important;gap:10px 16px !important}
}

/* ── Grille boutique épurée façon Solem8te : pas de boîtes, pas d'overlay, prix alignés ── */
/* On retire l'overlay/bouton « VOIR TAILLES » et le quick-add (le chevauchement) */
.bvl-card-sizes--hover,.bvl-card-sizes-btn,.bvl-card-sizes-overlay,.product-quickadd{display:none !important}
/* Cartes sans cadre ni fond (produits « directement » sur la page) */
.bvl-card,.bvl-card-inner,.bvl-plp ul.products li.product{background:transparent !important;border:0 !important;box-shadow:none !important}
/* Fond image TRANSPARENT → le PNG détouré flotte directement sur le beige de la page (pas de case blanche) */
.bvl-card-media{background:transparent !important}
/* Nom sur 2 lignes → prix alignés entre toutes les cartes */
.bvl-card-name{min-height:2.6em !important;line-height:1.3 !important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bvl-card-info{display:flex;flex-direction:column}
.bvl-card-foot{margin-top:auto}
/* Favori : retiré des cartes de la boutique (gardé uniquement sur la fiche produit) */
.bvl-card-fav{display:none !important}

/* ── Accueil : cartes « Drop de la semaine » (bvl_product_card) alignées sur le look boutique ── */
/* Étoile favori retirée des cartes accueil (gardée seulement sur la fiche produit) */
.product-fav{display:none !important}
/* Quick-add overlay retiré (déjà masqué ailleurs, on sécurise) */
.product-quickadd{display:none !important}
/* Cartes accueil sans cadre ni fond → produits « directement » sur le beige */
.product-card,.product-card .product-media{background:transparent !important;border:0 !important;box-shadow:none !important}
/* « Quatre univers » : description alignée à gauche sur mobile (plus lisible que collée à droite) */
@media (max-width:768px){
  .bvl-univers-desc{text-align:left !important;max-width:100% !important}
}
/* Grille accueil + boutique : marges resserrées sur mobile (rendu plus dense, moins d'air entre les articles) */
@media (max-width:768px){
  .grid-products{gap:12px !important;margin-top:24px !important}
  .grid-products .product-info{margin-top:8px !important}
  /* Boutique (WooCommerce / PLP BVL) */
  .bvl-plp ul.products,.woocommerce ul.products{gap:12px !important}
  .bvl-card .bvl-card-info{margin-top:8px !important}
}
/* NB : le rythme vertical entre grandes sections est géré dans bvl-noir-refine.css (§5 — système de marges mobile). */

/* ── Boutique (PLP) : finitions ─────────────────────────────────────────── */
/* 1) Cartes à hauteur égale → prix alignés en bas même si le nom fait 1 OU 2 lignes */
.bvl-card,.bvl-plp ul.products li.product{display:flex !important}
.bvl-card-inner{height:100% !important;width:100% !important}
.bvl-card-info{flex:1 1 auto !important;display:flex !important;flex-direction:column !important}
.bvl-card-foot{margin-top:auto !important}
.bvl-card-name{min-height:2.6em !important}            /* réserve toujours 2 lignes */

/* 2) Pagination plus présente, soignée et tactile */
.bvl-plp-pagination{margin-top:28px !important;padding-bottom:8px}
.bvl-plp-pagination .woocommerce-pagination ul{gap:8px !important}
.bvl-plp-pagination .page-numbers{min-width:44px !important;height:44px !important;font-size:12px !important;border-color:var(--fog,#E6E5E0) !important}
.bvl-plp-pagination .page-numbers:hover{border-color:var(--ink,#0A0A0A) !important;background:rgba(10,10,10,.03) !important}
.bvl-plp-pagination .page-numbers.current{background:var(--ink,#0A0A0A) !important;color:var(--paper,#FAFAF7) !important;border-color:var(--ink,#0A0A0A) !important}

/* 3) Page boutique : UNE SEULE gouttière (20px) portée par le conteneur parent
   .bvl-plp, et TOUTES les marges horizontales des enfants à 0. Garantit l'alignement
   parfait (header/logo, BOUTIQUE, filtres, produits) + symétrie gauche/droite.
   Avant : .bvl-plp (24px) + chaque enfant (14-20px) + .bvl-plp-layout → empilement
   de marges asymétrique. Maintenant tout part du même bord. */
@media (max-width:900px){
  .bvl-plp{padding-left:20px !important;padding-right:20px !important}
  .bvl-plp-mobile-head,
  .bvl-plp-filterbar,
  .bvl-plp-catlinks,
  .bvl-plp-active-tags,
  .bvl-plp-grid-wrap,
  .bvl-plp-layout{padding-left:0 !important;padding-right:0 !important;margin-left:0 !important;margin-right:0 !important}
  /* FIX débordement à droite (grid blowout) : .bvl-plp-layout est une grille ;
     ses enfants ont min-width:auto → un contenu large gonfle la colonne 1fr à
     371px et fait tout déborder à droite. min-width:0 les laisse rétrécir à 350. */
  .bvl-plp-layout{min-width:0 !important}
  .bvl-plp-layout > *{min-width:0 !important;max-width:100% !important}
  .bvl-plp-grid,.bvl-plp ul.products{min-width:0 !important}
  .bvl-plp-grid > li,.bvl-plp ul.products > li,
  .bvl-card,.bvl-card-inner{min-width:0 !important}
  .bvl-plp-filterbar{flex-wrap:wrap !important}
}
/* Barre filtres mobile — style Solem8te : MINIMAL, sans cadre. « ⚙ Filtres » (icône
   + texte) à gauche · « Trier ▾ » à droite. Homogène (les 2 sans bordure), épuré. */
@media (max-width:768px){
  .bvl-plp-mobile-head{text-align:center !important}   /* « Boutique · 19 pièces » centré */
  .bvl-plp-results-count{display:none !important}      /* doublon avec le titre centré au-dessus */
  /* groupe pleine largeur, Filtres à gauche / Tri à droite */
  .bvl-plp-filterbar > div[style*="margin-left"]{width:100% !important;margin-left:0 !important;justify-content:space-between !important;gap:10px !important}
  /* FILTRES : texte simple sans cadre + icône réglages */
  .bvl-filter-mob-btn{background:transparent !important;color:var(--ink,#0A0A0A) !important;border:0 !important;height:auto !important;padding:6px 0 !important;font-size:12px !important;letter-spacing:.08em !important;text-transform:none !important;gap:8px !important}
  .bvl-filter-mob-btn::before{content:"";width:17px;height:17px;flex:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230A0A0A' stroke-width='1.6' stroke-linecap='round'%3E%3Cline x1='3' y1='7' x2='21' y2='7'/%3E%3Cline x1='3' y1='12' x2='21' y2='12'/%3E%3Cline x1='3' y1='17' x2='21' y2='17'/%3E%3Ccircle cx='8' cy='7' r='2.4' fill='%23FAFAF7'/%3E%3Ccircle cx='16' cy='12' r='2.4' fill='%23FAFAF7'/%3E%3Ccircle cx='10' cy='17' r='2.4' fill='%23FAFAF7'/%3E%3C/svg%3E") center/contain no-repeat;display:inline-block}
  /* TRI : texte simple sans cadre (identique visuellement) */
  .bvl-plp-sort-btn{background:transparent !important;color:var(--ink,#0A0A0A) !important;border:0 !important;height:auto !important;padding:6px 0 !important;font-size:12px !important;letter-spacing:.08em !important;text-transform:none !important}
  /* badge nombre de filtres actifs en acid lime (signature BVL) */
  .bvl-filter-mob-count{background:var(--acid,#D8FF3D) !important;color:var(--ink,#0A0A0A) !important}
}

/* ── Titres produits plus mesurés sur mobile (meilleure lisibilité / hiérarchie) ── */
@media (max-width:768px){
  .pdp-title{font-size:22px !important;line-height:1.15 !important;margin-bottom:14px !important}
  .bvl-card-name{font-size:12px !important;min-height:2.4em !important}
}

@media(prefers-reduced-motion:reduce){*{transition:none!important}}
