/* ============================================================
   Bolivar Old Prints — Page produit (fond noir)
   S'applique uniquement aux pages produit (body.single-product).
   ============================================================ */

:root{
  --bop-noir:#0b0b0b;
  --bop-creme:#e9e4d8;
  --bop-creme-doux:#bdb6a6;
  --bop-or:#c9a25a;
  --bop-or-clair:#d8b877;
  --bop-filet:#2a2722;
  --bop-noir-panneau:#16140f;
  --bop-serif-titre:'Cormorant Garamond', Georgia, serif;
  --bop-serif-texte:'EB Garamond', Georgia, serif;
}

/* ---- Fond noir + réinitialisation du conteneur ---- */
body.single-product{
  background:var(--bop-noir) !important;
  color:var(--bop-creme);
  font-family:var(--bop-serif-texte);
}
body.single-product .bop-single,
body.single-product .bop-single *{
  box-sizing:border-box;
}

/* Largeur et centrage de la fiche (s'adapte au conteneur du thème parent) */
.bop-single{
  max-width:1080px;
  margin:0 auto;
  padding:0 32px 0;
  font-size:17px;
  line-height:1.7;
  color:var(--bop-creme);
  -webkit-font-smoothing:antialiased;
}
.bop-single a{color:inherit;text-decoration:none;}

/* ---- Barre de langues ---- */
.bop-langues{
  display:flex;justify-content:flex-end;gap:18px;
  padding:18px 0 0;
  font-size:12px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--bop-creme-doux);
}
.bop-langues a,
.bop-langues span{
  padding-bottom:2px;border-bottom:1px solid transparent;transition:.2s;cursor:pointer;
}
.bop-langues a:hover,
.bop-langues span:hover{color:var(--bop-or-clair);}
.bop-langues .actif,
.bop-langues .current-lang > a{color:var(--bop-or-clair);border-bottom-color:var(--bop-or);}
.bop-langues ul{list-style:none;display:flex;gap:18px;margin:0;padding:0;}

/* ---- En-tête marque ---- */
.bop-marque{
  text-align:center;
  padding:26px 24px 30px;
  border-bottom:1px solid var(--bop-filet);
}
.bop-marque .bop-nom{
  font-family:var(--bop-serif-titre);
  font-weight:500;font-size:34px;
  letter-spacing:.42em;padding-left:.42em;
  color:var(--bop-creme);
}
.bop-marque .bop-sous{
  margin-top:12px;font-size:11px;letter-spacing:.34em;text-transform:uppercase;
  color:var(--bop-or);
}

/* ---- Visuel de la carte (galerie WooCommerce encadrée) ---- */
.bop-visuel{
  display:flex;justify-content:center;
  margin:48px 0 46px;
}
.bop-visuel .woocommerce-product-gallery,
.bop-visuel figure.bop-image{
  max-width:760px;width:100%;margin:0;float:none;
}
.bop-visuel .woocommerce-product-gallery__image img,
.bop-visuel img{
  display:block;width:100%;height:auto;
  border:1px solid var(--bop-filet);
  padding:14px;background:#070707;
  box-shadow:0 24px 60px rgba(0,0,0,.6);
}
.bop-visuel .flex-control-thumbs{
  display:flex;gap:10px;justify-content:center;margin-top:14px;padding:0;list-style:none;
}
.bop-visuel .flex-control-thumbs img{padding:6px;box-shadow:none;}

/* ---- Titre + cartographe ---- */
.bop-titre{
  text-align:center;
  font-family:var(--bop-serif-titre);
  font-style:italic;font-weight:500;font-size:27px;line-height:1.35;
  color:var(--bop-creme);
  max-width:720px;margin:0 auto;
}
.bop-cartographe{
  text-align:center;margin:18px 0 40px;
  font-size:13px;letter-spacing:.34em;text-transform:uppercase;color:var(--bop-or);
}

/* ---- Bloc métadonnées + prix ---- */
.bop-fiche{
  display:grid;grid-template-columns:1.5fr 1fr;gap:40px;align-items:center;
  border-top:1px solid var(--bop-filet);border-bottom:1px solid var(--bop-filet);
  padding:34px 0;
}
.bop-specs{display:grid;gap:14px;margin:0;}
.bop-spec{display:grid;grid-template-columns:160px 1fr;align-items:baseline;}
.bop-spec dt{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--bop-creme-doux);}
.bop-spec dd{margin:0;font-size:18px;color:var(--bop-creme);font-family:var(--bop-serif-titre);}

.bop-prix-bloc{text-align:center;border-left:1px solid var(--bop-filet);}
.bop-prix-bloc .bop-prix,
.bop-prix-bloc .price{
  font-family:var(--bop-serif-titre);font-weight:600;font-size:46px;line-height:1;
  color:var(--bop-or-clair) !important;
}
.bop-prix-bloc .price del{opacity:.5;font-size:26px;margin-right:8px;}
.bop-prix-bloc .price ins{text-decoration:none;}
.bop-prix-label{margin-top:10px;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--bop-creme-doux);}

/* Bouton « Ajouter au panier » WooCommerce */
.bop-prix-bloc form.cart{margin-top:22px;}
.bop-prix-bloc .quantity{margin:0 auto 14px;display:inline-block;}
.bop-prix-bloc .quantity input{
  background:transparent;border:1px solid var(--bop-filet);color:var(--bop-creme);
  padding:8px;width:64px;text-align:center;font-family:var(--bop-serif-texte);
}
.bop-prix-bloc .single_add_to_cart_button,
.bop-prix-bloc button.button{
  display:inline-block;padding:13px 30px !important;
  border:1px solid var(--bop-or) !important;background:transparent !important;
  color:var(--bop-or-clair) !important;
  font-size:12px;letter-spacing:.22em;text-transform:uppercase;
  font-family:var(--bop-serif-texte);border-radius:0;transition:.2s;cursor:pointer;
}
.bop-prix-bloc .single_add_to_cart_button:hover,
.bop-prix-bloc button.button:hover{
  background:var(--bop-or) !important;color:var(--bop-noir) !important;
}

/* ---- Mots-clés (tags) ---- */
.bop-motscles{
  text-align:center;margin:30px 0 8px;
  font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--bop-creme-doux);
}
.bop-motscles a{color:var(--bop-creme-doux);}
.bop-motscles a:hover{color:var(--bop-or-clair);}
.bop-motscles span{color:var(--bop-or);margin:0 10px;}

/* ---- Description ---- */
.bop-description{padding:40px 0 10px;max-width:760px;margin:0 auto;}
.bop-titre-section{
  text-align:center;font-size:12px;letter-spacing:.36em;text-transform:uppercase;
  color:var(--bop-or);margin-bottom:24px;
}
.bop-description p{color:var(--bop-creme);font-size:17.5px;text-align:justify;margin:0 0 18px;}

/* ---- Título completo (déplacé sous la description, 2026-06-29) ---- */
.bop-titulo-completo{
  max-width:760px;margin:22px auto 0;padding:18px 0 0;
  border-top:1px solid var(--bop-filet);
  text-align:center;
}
.bop-titulo-completo .bop-tc-label{
  display:block;margin-bottom:8px;
  font-size:11px;letter-spacing:.30em;text-transform:uppercase;color:var(--bop-or);
}
.bop-titulo-completo .bop-tc-val{
  display:block;
  font-family:var(--bop-serif-titre);font-style:italic;font-size:18px;line-height:1.45;
  color:var(--bop-creme);
}

/* ---- Pied de page ---- */
.bop-pied{
  margin-top:54px;border-top:1px solid var(--bop-filet);text-align:center;
  padding:26px 24px 40px;
  font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--bop-creme-doux);
}
.bop-pied-ligne span{color:var(--bop-or);margin:0 8px;}
.bop-pied-copy{margin-top:14px;letter-spacing:.18em;color:#6f695d;}

/* ---- Responsive ---- */
@media (max-width:720px){
  .bop-single{font-size:16px;padding:0 20px;}
  .bop-marque .bop-nom{font-size:24px;letter-spacing:.3em;padding-left:.3em;}
  .bop-fiche{grid-template-columns:1fr;gap:28px;}
  .bop-prix-bloc{border-left:none;border-top:1px solid var(--bop-filet);padding-top:26px;}
  .bop-spec{grid-template-columns:130px 1fr;}
  .bop-titre{font-size:23px;}
}

/* ============================================================
   En-tête + menu Astra — habillage sombre Bolivar Old Prints
   (s'applique à TOUT le site, pas seulement aux pages produit)
   ============================================================ */
.site-header,
.ast-primary-header-bar,
.main-header-bar,
.ast-above-header,
.ast-below-header{
  background-color:var(--bop-noir) !important;
  border-bottom:1px solid var(--bop-filet);
  box-shadow:none !important;
}

/* Logo / titre du site */
.site-title a,
.site-title a:focus{
  color:var(--bop-creme) !important;
  font-family:var(--bop-serif-titre);
  font-weight:500;
  letter-spacing:.12em;
}
.site-title a:hover{ color:var(--bop-or-clair) !important; }
.site-header .site-description{ color:var(--bop-creme-doux) !important; }

/* Menu principal */
.main-header-menu .menu-link,
.main-navigation .menu-link,
.ast-builder-menu .menu-item > .menu-link,
.site-header .menu-item a,
.site-header .ast-menu-toggle{
  color:var(--bop-creme-doux) !important;
  font-family:var(--bop-serif-texte);
  letter-spacing:.05em;
}
.main-header-menu .menu-item:hover > .menu-link,
.site-header .menu-item a:hover,
.main-navigation .current-menu-item > .menu-link,
.main-navigation .current-menu-item > a{
  color:var(--bop-or-clair) !important;
}

/* Sous-menus déroulants */
.main-header-menu .sub-menu,
.ast-builder-menu .sub-menu,
.main-navigation .sub-menu{
  background-color:var(--bop-noir-panneau) !important;
  border-color:var(--bop-filet) !important;
}

/* Icônes en-tête (panier, compte, recherche) + chiffre du panier */
.site-header .ast-icon,
.site-header .ast-icon svg,
.site-header [class*="ast-"] svg,
.ast-header-account-wrap .ast-icon,
.ast-cart-menu-wrap .ast-icon{
  color:var(--bop-creme) !important;
  fill:var(--bop-creme) !important;
}
.ast-cart-menu-wrap .count,
.ast-site-header-cart .ast-cart-menu-wrap .count{
  color:var(--bop-noir) !important;
  background-color:var(--bop-or) !important;
  border-color:var(--bop-or) !important;
}

/* ---- Icône Panier dans l'entête (menu-item-bop-cart, ajout maison) ---- */
.menu-item-bop-cart > a{ display:inline-flex !important; align-items:center; gap:6px; position:relative; }
.menu-item-bop-cart .bop-cart-ico{ display:block; }
.menu-item-bop-cart .bop-cart-count{
  min-width:18px; height:18px; padding:0 5px; box-sizing:border-box;
  border-radius:9px; background:var(--bop-or); color:var(--bop-noir);
  font-family:var(--bop-serif-texte); font-size:11px; line-height:18px; text-align:center;
}
.menu-item-bop-cart .bop-cart-count.is-empty{ display:none; }

/* Bouton menu mobile + panneau mobile */
.ast-mobile-menu-buttons-minimal,
.main-header-menu-toggle,
.menu-toggle,
.menu-toggle .ast-mobile-svg{
  color:var(--bop-creme) !important;
  fill:var(--bop-creme) !important;
}
.ast-mobile-header-wrap .main-header-menu,
.ast-mobile-popup-drawer .main-header-menu,
.ast-mobile-popup-drawer .ast-mobile-popup-inner{
  background-color:var(--bop-noir) !important;
}

/* ============================================================
   Pièce unique — ne jamais afficher la quantité / le stock
   ============================================================ */
.stock,
.woocommerce-variation-availability,
p.stock{ display:none !important; }

/* ============================================================
   Page boutique / archives produits — fond noir « fiche carte »
   ============================================================ */
body.post-type-archive-product,
body.tax-product_cat,
body.tax-product_tag,
body.woocommerce-shop{
  background-color:var(--bop-noir) !important;
  color:var(--bop-creme);
}
body.post-type-archive-product #content,
body.post-type-archive-product .site-content,
body.tax-product_cat #content,
body.woocommerce-shop #content,
body.woocommerce-shop .site-content,
body.post-type-archive-product .ast-container{
  background:transparent !important;
}

/* Titre de la page + fil d'Ariane + tri */
body.post-type-archive-product .ast-archive-description .ast-archive-title,
body.post-type-archive-product h1.page-title,
.woocommerce-products-header__title,
.woocommerce-shop h1{
  color:var(--bop-creme) !important;
  font-family:var(--bop-serif-titre);
  letter-spacing:.06em;
}
.woocommerce-breadcrumb,
.woocommerce-breadcrumb a,
.woocommerce-result-count{
  color:var(--bop-creme-doux) !important;
}
.woocommerce-ordering select,
.orderby{
  background:var(--bop-noir-panneau) !important;
  color:var(--bop-creme) !important;
  border:1px solid var(--bop-filet) !important;
}

/* Grille produits */
.woocommerce ul.products li.product,
ul.products li.product{
  background:transparent !important;
  border:none !important;
  text-align:center;
}
.woocommerce ul.products li.product a img,
ul.products li.product img{
  border:1px solid var(--bop-filet);
  background:#070707;
  padding:10px;
  box-shadow:0 14px 34px rgba(0,0,0,.5);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
ul.products li.product .woocommerce-loop-product__title,
ul.products li.product h2{
  color:var(--bop-creme) !important;
  font-family:var(--bop-serif-titre);
  font-weight:500;
  font-style:italic;
  font-size:19px;
}
.woocommerce ul.products li.product a{ color:var(--bop-creme); }
.woocommerce ul.products li.product a:hover .woocommerce-loop-product__title{ color:var(--bop-or-clair) !important; }
.woocommerce ul.products li.product .price,
ul.products li.product .price{
  color:var(--bop-or-clair) !important;
  font-family:var(--bop-serif-titre);
  font-size:22px;
}

/* Bouton « Ajouter au panier » dans la grille */
.woocommerce ul.products li.product .button,
.woocommerce a.button.add_to_cart_button,
.woocommerce a.added_to_cart{
  display:inline-block;
  background:transparent !important;
  border:1px solid var(--bop-or) !important;
  color:var(--bop-or-clair) !important;
  border-radius:0 !important;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:11px;
  font-family:var(--bop-serif-texte);
  padding:9px 20px !important;
  transition:.2s;
}
.woocommerce ul.products li.product .button:hover,
.woocommerce a.button.add_to_cart_button:hover{
  background:var(--bop-or) !important;
  color:var(--bop-noir) !important;
}

/* Messages / notices WooCommerce sur fond noir */
.woocommerce-info,
.woocommerce-message,
.woocommerce-error{
  background:var(--bop-noir-panneau) !important;
  color:var(--bop-creme) !important;
  border-top-color:var(--bop-or) !important;
}
.woocommerce-info a,
.woocommerce-message a{ color:var(--bop-or-clair) !important; }

/* ============================================================
   Logo Bolivar Old Prints (en-tête + fiche)
   ============================================================ */
/* En-tête : remplace le texte du titre par le logo blanc */
.site-title{ line-height:1; }
.site-title a,
.site-title a:focus,
.site-title a:hover{
  display:inline-block;
  width:300px; height:90px;
  background:url('../img/bop-white.webp') left center / contain no-repeat;
  text-indent:-9999px; overflow:hidden; white-space:nowrap;
}
.ast-site-identity{ padding:8px 0 !important; }

/* Fiche produit : logo centré à la place du grand titre texte */
.bop-marque .bop-logo{ display:inline-block; line-height:0; }
.bop-marque .bop-logo img{
  display:block;
  width:360px; max-width:82%;
  height:auto; margin:0 auto;
}

@media (max-width:720px){
  .site-title a,
  .site-title a:focus,
  .site-title a:hover{ width:225px; height:69px; }
  .bop-marque .bop-logo img{ width:260px; }
}

/* ============================================================
   Fiche produit : infos à gauche, image (réduite) à droite
   ============================================================ */
.bop-haut{
  display:grid;
  grid-template-columns:0.82fr 1fr;
  gap:46px;
  align-items:start;
  padding-top:14px;
}
.bop-infos{ text-align:left; }
.bop-infos .bop-titre{
  text-align:left; max-width:none; margin:0 0 8px;
  font-size:24px; line-height:1.3;
}
.bop-infos .bop-cartographe{ text-align:left; margin:0 0 24px; }
/* 2026-06-29 12:59 (Barcelone, CEST) — fiche produit : suppression des filets
   horizontaux au-dessus de Referencia et de Precio + alignement des 2 colonnes
   (Referencia et Precio démarrent au même niveau). Le filet vertical entre les
   deux colonnes est conservé (cf. .bop-fiche-row .bop-prix-bloc, border-left). */
.bop-infos .bop-specs{
  border-top:none;
  padding-top:0;
}
.bop-infos .bop-prix-bloc{
  text-align:left; border-left:none;
  border-top:none;
  margin-top:0; padding-top:0;
}
/* 2026-06-29 — Alignement haut+bas des 2 colonnes par flexbox (robuste, indépendant
   des hauteurs). Colonne droite (.bop-prix-bloc) en flex vertical :
   - .bop-prix-head (libellé « Precio » + prix sur UNE ligne, inline-block) reste en HAUT,
     aligné avec « Referencia 01238 » à gauche ;
   - le <form> prend la hauteur restante (flex:1) et « favoritos » (.tinv-wishlist, qui est
     DANS le <form>) est poussé en BAS via margin-top:auto → aligné avec « Medidas » à gauche.
   Colonne gauche (.bop-specs) en flex vertical + justify-content:space-between → rangées
   réparties du haut (Referencia) au bas (Medidas). Hauteurs égalisées par align-items:stretch
   sur .bop-fiche-row. */
.bop-infos .bop-prix-bloc{ display:flex; flex-direction:column; height:100%; }
.bop-infos .bop-prix-label{ display:inline-block; margin:0 8px 0 0; vertical-align:top; line-height:1; }
/* Le prix (Cormorant 34px) a un grand espace interne au-dessus des chiffres : on remonte
   VISUELLEMENT les chiffres (position:relative + top négatif) pour aligner le HAUT de « 120 € »
   sur « Precio » et « Referencia 01238 », SANS soulever la ligne (un margin-top négatif
   remonterait aussi le libellé). Valeur calibrée par mesure pixel des CAP-tops (2026-06-29) :
   cap de « 120 € » aligné sur le cap de « REFERENCIA ». Plus négatif = plus haut. */
.bop-infos .bop-prix{ display:inline-block; font-size:40px; vertical-align:top; line-height:1; position:relative; top:-0.27em; }
/* « REFERENCIA » (label uppercase) et « PRECIO » (label uppercase) jouent le même rôle :
   on cale le cap de « PRECIO » sur celui de « REFERENCIA ». margin-top du bloc prix calibré
   par mesure pixel (2026-06-29). N'affecte pas l'alignement bas (le <form> en flex:1 absorbe). */
.bop-infos .bop-prix-head{ margin-top:3.5px; }
.bop-infos .bop-prix-bloc form.cart{ margin-top:8px; display:flex; flex-direction:column; flex:1 1 auto; }
.bop-infos .bop-prix-bloc .quantity{ margin:0 0 6px; }

.bop-haut .bop-visuel{ margin:0; display:block; order:-1; }
.bop-haut .bop-visuel figure.bop-image{ max-width:100%; margin:0; }

@media (max-width:880px){
  .bop-haut{ grid-template-columns:1fr; gap:28px; }
  .bop-haut .bop-visuel{ order:-1; max-width:460px; margin:0 auto; }
}

/* ---- Déclencheur de zoom sur l'image ---- */
.bop-zoom-trigger{
  display:block; width:100%; padding:0; margin:0;
  border:none; background:transparent; cursor:zoom-in; position:relative;
}
.bop-zoom-trigger img{ margin:0; }
.bop-zoom-ico{
  position:absolute; bottom:24px; right:24px;
  width:38px; height:38px; border-radius:50%;
  border:1px solid var(--bop-or);
  background:rgba(11,11,11,.6); color:var(--bop-or-clair);
  display:flex; align-items:center; justify-content:center;
  font-size:22px; line-height:1; transition:.2s;
}
.bop-zoom-trigger:hover .bop-zoom-ico{ background:var(--bop-or); color:var(--bop-noir); }

/* ---- Lightbox de zoom ---- */
.bop-lightbox{
  position:fixed; inset:0; z-index:99999;
  background:rgba(7,7,7,.95);
  display:flex; align-items:center; justify-content:center;
}
.bop-lightbox-stage{
  max-width:94vw; max-height:92vh; overflow:hidden;
  display:flex; align-items:center; justify-content:center;
}
.bop-lightbox-stage img{
  max-width:94vw; max-height:92vh; width:auto; height:auto;
  display:block; cursor:zoom-in; transition:transform .15s ease;
}
.bop-lightbox-stage img.bop-zoomed{
  transform:scale(2.6); cursor:zoom-out;
  max-width:none; max-height:none;
}
.bop-lightbox-close{
  position:absolute; top:16px; right:26px; z-index:2;
  background:transparent; border:none; color:var(--bop-creme);
  font-size:40px; line-height:1; cursor:pointer; transition:.2s;
}
.bop-lightbox-close:hover{ color:var(--bop-or-clair); }

/* ============================================================
   Sélecteur de langue : sur la MÊME ligne que le logo + menu
   (positionné en haut à droite de l'en-tête, hors flux)
   ============================================================ */
#page{ position:relative; }
.site-primary-header-wrap{ position:relative; }
.bop-header-langs{
  position:absolute; top:8px; right:24px;
  z-index:99; background:transparent; border:none;
}
@media (max-width:921px){
  .bop-header-langs{ top:10px; right:16px; }
}
.bop-header-langs .bop-langues{
  margin:0; padding:0;
  justify-content:flex-end;
}
/* couleur des liens de langue dans l'en-tête (sinon bleu par défaut) */
.bop-header-langs .bop-langues a{ color:var(--bop-creme-doux); }
.bop-header-langs .bop-langues a:hover{ color:var(--bop-or-clair); }
.bop-header-langs .bop-langues a.actif,
.bop-header-langs .bop-langues .actif{ color:var(--bop-or-clair); }

/* ---- Sous-titre sous le logo, dans l'en-tête ---- */
.site-header .site-title{ display:block; line-height:1; text-align:left; }
.bop-tagline{
  position:absolute; top:6px; left:0; right:0;
  text-align:center; margin:0;
  font-family:var(--bop-serif-texte);
  font-size:20px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--bop-or);
  pointer-events:none;
}
@media (max-width:720px){
  .bop-tagline{ font-size:14px; letter-spacing:.08em; }
}

/* ============================================================
   Galerie boutique — cartes riches (style raremaps), grille sombre
   ============================================================ */
.woocommerce ul.products,
ul.products{
  display:grid !important;
  grid-template-columns:repeat(3, 1fr) !important;
  gap:26px 22px;
  margin:0 0 30px !important;
  padding:0 !important;
  list-style:none;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after{ content:none !important; display:none !important; }

/* Réinitialise le flottement/largeur par défaut de WooCommerce */
.woocommerce ul.products li.product,
ul.products li.product.bop-card{
  width:auto !important;
  float:none !important;
  margin:0 !important;
  padding:0 !important;
  text-align:left;
  background:transparent !important;
}

/* Image de la carte : cadre uniforme */
.bop-card .bop-card-img{
  display:block;
  background:#070707;
  border:1px solid var(--bop-filet);
  padding:7px;
  aspect-ratio:1 / 1;
  overflow:hidden;
}
/* Le réécrivain WebP enrobe l'<img> dans un <picture> ; sans height:100% le
   <picture> garde sa hauteur naturelle et l'image (souvent paysage) se colle en
   haut du carré. On force le picture à remplir le cadre pour un centrage vertical.
   (Portage du snippet Code Snippets id=34 « Boutique — centrage vertical ».) */
.bop-card .bop-card-img picture{ display:block; width:100%; height:100%; }
.bop-card .bop-card-img img{
  width:100%; height:100%;
  object-fit:contain; object-position:center center;
  display:block; margin:0;
  transition:opacity .2s;
}
.bop-card .bop-card-img:hover img{ opacity:.85; }

/* Titre */
.bop-card .bop-card-titre{
  display:block;
  margin:12px 0 5px;
  font-family:var(--bop-serif-titre);
  font-style:italic;
  font-size:19px;
  line-height:1.3;
  color:var(--bop-creme) !important;
}
.bop-card .bop-card-titre:hover{ color:var(--bop-or-clair) !important; }

/* Cartographe */
.bop-card .bop-card-carto{
  font-size:11px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--bop-or); margin-bottom:8px;
}
/* Lieu / année, mesures */
.bop-card .bop-card-meta{
  font-size:13.5px; color:var(--bop-creme-doux); line-height:1.5;
}
/* Référence */
.bop-card .bop-card-ref{
  font-size:11px; letter-spacing:.12em; text-transform:uppercase;
  color:#6f695d; margin-top:6px;
}
/* Prix */
.bop-card .bop-card-prix{
  margin-top:12px;
  font-family:var(--bop-serif-titre);
  font-size:24px; font-weight:600;
  color:var(--bop-or-clair) !important;
}
.bop-card .bop-card-prix .price{ color:var(--bop-or-clair) !important; }

/* Actions : ajouter au panier + voir détails */
.bop-card .bop-card-actions{
  margin-top:14px; display:flex; gap:10px; align-items:center; flex-wrap:wrap;
}
.bop-card .bop-card-actions a.button,
.bop-card .bop-card-actions a.add_to_cart_button{
  background:transparent !important;
  border:1px solid var(--bop-or) !important;
  color:var(--bop-or-clair) !important;
  border-radius:0 !important;
  text-transform:uppercase; letter-spacing:.12em;
  font-size:10.5px; font-family:var(--bop-serif-texte);
  padding:8px 16px !important; margin:0 !important;
}
.bop-card .bop-card-actions a.button:hover{
  background:var(--bop-or) !important; color:var(--bop-noir) !important;
}
.bop-card .bop-card-ver{
  font-size:11px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--bop-creme-doux) !important; border-bottom:1px solid var(--bop-filet);
  padding-bottom:2px;
}
.bop-card .bop-card-ver:hover{ color:var(--bop-or-clair) !important; border-color:var(--bop-or); }

@media (max-width:1024px){
  .woocommerce ul.products, ul.products{ grid-template-columns:repeat(2, 1fr) !important; }
}
@media (max-width:600px){
  .woocommerce ul.products, ul.products{ grid-template-columns:1fr !important; }
}

/* ============================================================
   Boutique : barre d'outils de filtres + tiroir de catégories
   ============================================================ */
.bop-shop-head{
  display:flex !important; align-items:center; gap:16px; flex-wrap:wrap;
  margin:0 0 12px;
}
.bop-shop-head .woocommerce-result-count,
.bop-result-count{ margin:0 !important; font-size:13px; color:var(--bop-creme-doux) !important; }
.bop-cat-toggle{
  display:inline-block;
  background:var(--bop-noir-panneau); border:1px solid var(--bop-filet);
  color:var(--bop-or-clair); cursor:pointer;
  padding:10px 18px; text-transform:uppercase; letter-spacing:.14em;
  font-size:11px; font-family:var(--bop-serif-texte); transition:.2s;
}
.bop-cat-toggle:hover{ border-color:var(--bop-or); color:var(--bop-or); }
.bop-cat-toggle .bop-tri{ display:inline-block; font-size:.78em; transition:transform .2s; }
.bop-cat-toggle[aria-expanded="true"] .bop-tri{ transform:rotate(180deg); }

.bop-filtros{ display:flex !important; gap:8px; flex-wrap:wrap; align-items:center; margin:0 0 22px; }
.bop-f{
  background:var(--bop-noir-panneau) !important; border:1px solid var(--bop-filet) !important;
  color:var(--bop-creme) !important; padding:9px 11px !important; margin:0 !important;
  font-family:var(--bop-serif-texte); font-size:13px; border-radius:0 !important;
  width:auto !important; max-width:none; height:auto; box-shadow:none !important;
}
.bop-f:focus{ outline:none; border-color:var(--bop-or) !important; }
.bop-f::placeholder{ color:#8a8273; opacity:1; }
.bop-f-year{ width:92px !important; flex:0 0 auto; }
.bop-f-orderby, .bop-f-cat{ min-width:160px; }
.bop-filtros input[name="bop_kw"],
.bop-filtros input[name="bop_maker"]{ flex:1 1 130px; min-width:120px; }
.bop-f-go{
  background:transparent; border:1px solid var(--bop-or);
  color:var(--bop-or-clair); cursor:pointer;
  padding:9px 20px; text-transform:uppercase; letter-spacing:.14em;
  font-size:11px; font-family:var(--bop-serif-texte); transition:.2s;
}
.bop-f-go:hover{ background:var(--bop-or); color:var(--bop-noir); }

/* Panneau catégories — opaque, masqué par défaut, basculé par le bouton. */
.bop-cat-drawer{
  display:none;
  background:var(--bop-noir-panneau); border:1px solid var(--bop-filet);
  padding:22px 20px; margin:0 0 30px;
}
.bop-cat-drawer-head{
  display:flex; align-items:center; justify-content:space-between;
  font-size:12px; letter-spacing:.30em; text-transform:uppercase;
  color:var(--bop-or); margin-bottom:6px;
}
.bop-cat-close{
  display:none; background:transparent; border:0; color:var(--bop-creme-doux);
  font-size:22px; line-height:1; cursor:pointer; padding:0;
}
.bop-cat-search{
  width:100%; box-sizing:border-box;
  background:var(--bop-noir); border:1px solid var(--bop-filet);
  color:var(--bop-creme); padding:9px 11px; margin:10px 0 2px;
  font-family:var(--bop-serif-texte); font-size:13px; border-radius:0;
}
.bop-cat-search::placeholder{ color:#8a8273; opacity:1; }
.bop-cat-search:focus{ outline:none; border-color:var(--bop-or); }
.bop-drawer-backdrop{ position:fixed; inset:0; background:rgba(0,0,0,.55); z-index:99998; }

/* >=1024px : VARIANTE HORIZONTALE — panneau pleine largeur au-dessus de la grille,
   catégories en puces (chips) sur une rangée qui s'enroule. */
@media (min-width:1024px){
  body.bop-cats-open .bop-cat-drawer{
    display:block; position:relative; float:none; clear:both; width:auto; margin:0 0 24px;
  }
  /* En-tete interne du tiroir masquee sur desktop : le label CATEGORIAS vit dans la barre (bouton .bop-cat-toggle). */
  body.bop-cats-open .bop-cat-drawer-top{ display:none; }
  /* Une seule ligne de categories (defilement horizontal au besoin), puces compactes */
  body.bop-cats-open .bop-cat-tree{
    display:flex; flex-wrap:nowrap; align-items:flex-start; gap:5px; margin-top:10px;
    overflow-x:auto; padding-bottom:6px;
  }
  body.bop-cats-open .bop-cat-tree > li{ border-bottom:0; flex:0 0 auto; }
  body.bop-cats-open .bop-cat-all{
    display:inline-block; padding:6px 11px; border:1px solid var(--bop-or); white-space:nowrap;
  }
  body.bop-cats-open .bop-cat-row{
    display:flex; flex-wrap:wrap; justify-content:center; align-items:baseline;
    padding:5px 9px; border:1px solid var(--bop-filet); gap:1px 6px; text-align:center;
  }
  body.bop-cats-open .bop-cat-row:hover{ border-color:var(--bop-or); }
  body.bop-cats-open .bop-cat-row > a{ flex:0 0 auto; font-size:13px; white-space:nowrap; }
  body.bop-cats-open .bop-cat-row .bop-cat-count{ display:none; }
  /* le + passe sous le nom (gain de place horizontal) */
  body.bop-cats-open .bop-cat-expand{
    flex-basis:100%; width:100%; height:auto; margin:1px 0 0; padding:0;
    border:0; color:var(--bop-or-clair); font-size:14px; line-height:1;
  }
  /* région active mise en évidence */
  body.bop-cats-open .bop-cat-row.is-active{ border-color:var(--bop-or); background:rgba(195,163,91,.12); }
  /* sous-catégories : rangée DÉDIÉE sous les puces (insérée par JS), sans décaler les puces */
  body.bop-cats-open .bop-cat-children{ display:none !important; }
  .bop-subbar{ display:none; }
  body.bop-cats-open .bop-subbar.is-open{
    display:block; position:absolute; z-index:60; min-width:190px; max-width:340px;
    background:var(--bop-noir-panneau); border:1px solid var(--bop-or);
    padding:6px 0; box-shadow:0 18px 44px rgba(0,0,0,.6); margin:0;
  }
  body.bop-cats-open .bop-subbar a{
    display:block; padding:7px 16px; border:0;
    color:var(--bop-creme-doux); font-family:var(--bop-serif-texte); font-size:13px; text-decoration:none; white-space:nowrap;
    transition:color .15s, background .15s;
  }
  body.bop-cats-open .bop-subbar a:hover{ background:rgba(195,163,91,.12); color:var(--bop-or-clair); }
  body.bop-cats-open .bop-subbar a.is-current{ border-color:var(--bop-or); color:var(--bop-or); background:rgba(195,163,91,.10); }
  body.bop-cats-open .bop-subbar .bop-cat-count{ opacity:.65; margin-left:5px; }
  /* la grille et la barre d'outils restent en pleine largeur (aucun décalage) */
}

/* <=1023px : panneau ouvert => tiroir glissant en superposition. */
@media (max-width:1023px){
  .bop-cat-close{ display:inline-block; }
  body.bop-cats-open .bop-cat-drawer{
    display:block; position:fixed; top:0; left:0; bottom:0; z-index:99999;
    width:310px; max-width:85vw; margin:0; overflow-y:auto;
    padding:30px 24px; border:0; border-right:1px solid var(--bop-filet);
  }
}
@media (max-width:600px){
  .bop-filtros{ width:100%; }
  .bop-f{ flex:1; min-width:0; }
}

/* ---- Tiroir de catégories hiérarchique ---- */
.bop-cat-tree{ list-style:none; margin:14px 0 0; padding:0; }
.bop-cat-tree > li{ border-bottom:1px solid var(--bop-filet); }
.bop-cat-all{ display:block; padding:6px 0; color:var(--bop-or-clair); font-family:var(--bop-serif-titre); font-size:17px; }
.bop-cat-all:hover{ color:var(--bop-or); }
.bop-cat-row{ display:flex; align-items:center; gap:10px; padding:6px 0; }
.bop-cat-row > a{ flex:1; color:var(--bop-creme); font-family:var(--bop-serif-titre); font-size:17px; }
.bop-cat-row > a:hover{ color:var(--bop-or-clair); }
.bop-cat-count{ color:var(--bop-creme-doux); font-size:12px; font-family:var(--bop-serif-texte); }
.bop-cat-expand{
  flex:0 0 auto; width:24px; height:24px; line-height:1;
  background:transparent; border:1px solid var(--bop-filet);
  color:var(--bop-or-clair); cursor:pointer; font-size:15px; padding:0; border-radius:0;
}
.bop-cat-expand:hover{ border-color:var(--bop-or); }
.bop-cat-children{ list-style:none; margin:0 0 10px; padding:0 0 0 14px; border-left:1px solid var(--bop-filet); }
.bop-cat-children li a{
  display:flex; justify-content:space-between; align-items:center;
  padding:4px 0; color:var(--bop-creme-doux);
  font-family:var(--bop-serif-texte); font-size:14px;
}
.bop-cat-children li a:hover{ color:var(--bop-or-clair); }
.bop-cat-children .bop-cat-count{ font-size:11px; }

/* Séparateur « Tipo » entre le bloc géographie et le bloc par type. */
.bop-cat-tree > li.bop-cat-sep{
  border-bottom:0; padding:16px 0 4px;
  font-size:11px; letter-spacing:.30em; text-transform:uppercase;
  color:var(--bop-or); font-family:var(--bop-serif-texte);
}
@media (min-width:1024px){
  body.bop-cats-open .bop-cat-tree > li.bop-cat-sep{
    align-self:center; padding:0 4px 0 14px; margin-left:8px;
    border-left:1px solid var(--bop-filet); white-space:nowrap;
  }
}


/* ============================================================
   Boutique : en-tête resserré (fil d'Ariane + titre)
   ============================================================ */
.woocommerce-breadcrumb{ margin:0 0 4px !important; font-size:13px; }
.woocommerce-products-header,
body.post-type-archive-product .ast-archive-description,
body.tax-product_cat .ast-archive-description,
body.tax-product_tag .ast-archive-description{
  margin:0 0 12px !important; padding:0 !important;
}
.woocommerce-products-header__title,
body.post-type-archive-product .ast-archive-title,
body.tax-product_cat .ast-archive-title,
.woocommerce-shop h1.page-title{
  margin:0 !important; line-height:1.05;
}

/* Filtrar por categoría en tête de la rangée de champs */
.bop-filtros .bop-f-cat{ order:-1 !important; }

/* fil d'Ariane + titre sur la même ligne */
/* réduire la grande marge au-dessus du fil d'Ariane */
body.woocommerce-shop .content-area.primary,
body.post-type-archive-product .content-area.primary,
body.tax-product_cat .content-area.primary,
body.tax-product_tag .content-area.primary{ margin-top:12px !important; }
/* fil d'Ariane + titre sur la MÊME ligne, au-dessus du panneau (média-objet) */
.ast-woocommerce-container > .woocommerce-breadcrumb{ float:left; clear:left; width:auto; margin:12px 16px 0 0 !important; }
.ast-woocommerce-container > .woocommerce-products-header{ display:block; overflow:hidden; width:auto; margin:0 0 10px 0 !important; }
.ast-woocommerce-container > .bop-cat-drawer{ clear:both; }
.bop-shop-head{ margin-top:0 !important; }


/* ============================================================
   Pages de contenu (À propos, Contact, Aviso legal) — fond noir
   « fiche carte ». Exclut les pages WooCommerce (panier/commande/compte).
   ============================================================ */
body.page:not(.woocommerce-page){ background-color:var(--bop-noir) !important; color:var(--bop-creme); }
body.page:not(.woocommerce-page) #content,
body.page:not(.woocommerce-page) .site-content,
body.page:not(.woocommerce-page) .ast-container,
body.page:not(.woocommerce-page) .content-area,
body.page:not(.woocommerce-page) .ast-article-single,
body.page:not(.woocommerce-page) .entry-content{ background:transparent !important; }
body.page:not(.woocommerce-page) .entry-title,
body.page:not(.woocommerce-page) h1.entry-title,
body.page:not(.woocommerce-page) .ast-single-post-order{ color:var(--bop-creme) !important; font-family:var(--bop-serif-titre); letter-spacing:.04em; }
body.page:not(.woocommerce-page) .entry-content{ color:var(--bop-creme); font-family:var(--bop-serif-texte); font-size:17px; line-height:1.75; max-width:880px; }
body.page:not(.woocommerce-page) .entry-content p,
body.page:not(.woocommerce-page) .entry-content li,
body.page:not(.woocommerce-page) .entry-content strong{ color:var(--bop-creme); }
body.page:not(.woocommerce-page) .entry-content a{ color:var(--bop-or-clair); }
body.page:not(.woocommerce-page) .entry-content a:hover{ color:var(--bop-or); }
body.page:not(.woocommerce-page) .entry-content h2{ color:var(--bop-or); font-family:var(--bop-serif-titre); font-size:23px; letter-spacing:.03em; margin:1.5em 0 .5em; }
body.page:not(.woocommerce-page) .entry-content h3,
body.page:not(.woocommerce-page) .entry-content h4{ color:var(--bop-creme); font-family:var(--bop-serif-titre); }


/* ============================================================
   Sélecteur de vue (grille / liste) + vue liste
   ============================================================ */
.bop-vue{ display:inline-flex; gap:5px; margin-left:auto; }
.bop-vue-btn{
  background:var(--bop-noir-panneau); border:1px solid var(--bop-filet);
  color:var(--bop-or-clair); cursor:pointer; padding:8px 12px; font-size:15px; line-height:1;
  border-radius:0; transition:border-color .2s, color .2s, background .2s;
}
.bop-vue-btn:hover{ border-color:var(--bop-or); }
.bop-vue-btn.is-active{ border-color:var(--bop-or); color:var(--bop-or); background:rgba(195,163,91,.12); }
.bop-f-ppp{ min-width:62px; }

/* Vue liste = tableau type tableur : colonnes alignées + en-têtes triables.
   grid-template identique entre l'en-tête (.bop-list-head) et chaque ligne. */
body.bop-view-list .woocommerce ul.products,
body.bop-view-list ul.products{ display:block !important; }
body.bop-view-list ul.products li.product{
  display:grid !important;
  grid-template-columns:50px minmax(0,2.4fr) minmax(0,1.5fr) minmax(0,1.4fr) minmax(0,1fr) 110px;
  align-items:center; column-gap:14px;
  width:100% !important; max-width:100% !important; float:none !important;
  box-sizing:border-box; margin:0 !important; padding:7px 12px !important; border:0; border-bottom:1px solid var(--bop-filet); text-align:left;
}
body.bop-view-list ul.products li.product:hover{ background:rgba(195,163,91,.06); }
body.bop-view-list .bop-card-img{ grid-column:1; width:44px !important; max-width:44px; height:auto !important; margin:0 !important; padding:0 !important; float:none !important; }
body.bop-view-list .bop-card-img img{ width:44px !important; max-width:44px !important; min-width:44px; height:auto !important; padding:0 !important; border:1px solid var(--bop-filet) !important; box-shadow:none !important; background:none !important; }
body.bop-view-list .bop-card-titre{ grid-column:2; text-align:left; font-style:normal; font-size:15px; line-height:1.3; margin:0; }
body.bop-view-list .bop-card-carto{ grid-column:3; margin:0; padding:0; text-transform:none; letter-spacing:0; font-size:13px; color:var(--bop-creme-doux); }
body.bop-view-list .bop-card-lugar{ grid-column:4; margin:0; font-size:13px; color:var(--bop-creme-doux); }
body.bop-view-list .bop-card-med{ grid-column:5; margin:0; font-size:13px; color:var(--bop-creme-doux); }
body.bop-view-list .bop-card-prix{ grid-column:6; text-align:right; margin:0; font-size:16px; }
body.bop-view-list .bop-card-ref,
body.bop-view-list .bop-card-actions{ display:none !important; }
.bop-list-head{ display:none; }
body.bop-view-list .bop-list-head{
  display:grid;
  grid-template-columns:50px minmax(0,2.4fr) minmax(0,1.5fr) minmax(0,1.4fr) minmax(0,1fr) 110px;
  box-sizing:border-box; column-gap:14px; align-items:center; padding:6px 12px; border-bottom:2px solid var(--bop-or); margin-top:4px;
}
.bop-list-head .bop-col{
  font-family:var(--bop-serif-texte); font-size:11px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--bop-or); background:none; border:0; padding:0; text-align:left; cursor:pointer; white-space:nowrap;
}
.bop-list-head span.bop-col{ cursor:default; color:var(--bop-creme-doux); }
.bop-list-head .bop-col[data-sort="precio"]{ text-align:right; }
.bop-list-head button.bop-col:hover{ color:var(--bop-or-clair); }
.bop-list-head .bop-arrow{ font-size:9px; opacity:.8; margin-left:3px; }

/* ---- Module de recherche avancée ---- */
.bop-search-toggle{ font-family:var(--bop-serif-texte); font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--bop-creme); background:none; border:1px solid var(--bop-filet); padding:8px 14px; cursor:pointer; transition:.2s; }
.bop-search-toggle:hover, .bop-search-toggle[aria-expanded="true"]{ border-color:var(--bop-or); color:var(--bop-or-clair); }
.bop-filtros{ display:block; }
.bop-toolbar-row{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.bop-search-adv{ display:none; margin-top:14px; padding:18px; border:1px solid var(--bop-filet); background:var(--bop-noir-panneau); }
body.bop-search-open .bop-search-adv{ display:block; }
.bop-search-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:14px 18px; }
.bop-sf{ display:flex; flex-direction:column; gap:5px; min-width:0; }
.bop-sf > span{ font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--bop-or); }
.bop-sf input, .bop-sf select{ background:transparent; border:1px solid var(--bop-filet); color:var(--bop-creme); padding:9px 10px; font-family:var(--bop-serif-texte); font-size:14px; width:100%; box-sizing:border-box; border-radius:0; }
.bop-sf input:focus, .bop-sf select:focus{ outline:none; border-color:var(--bop-or); }
.bop-sf select option{ background:var(--bop-noir-panneau); color:var(--bop-creme); }
.bop-search-actions{ display:flex; gap:16px; align-items:center; margin-top:16px; }
.bop-search-go{ padding:11px 30px; border:1px solid var(--bop-or); background:transparent; color:var(--bop-or-clair); font-family:var(--bop-serif-texte); font-size:12px; letter-spacing:.2em; text-transform:uppercase; cursor:pointer; transition:.2s; border-radius:0; }
.bop-search-go:hover{ background:var(--bop-or); color:var(--bop-noir); }
.bop-search-clear{ font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--bop-creme-doux); border-bottom:1px solid transparent; padding-bottom:2px; }
.bop-search-clear:hover{ color:var(--bop-or-clair); border-bottom-color:var(--bop-or); }

/* ---- Page Newsletter (formulaire Brevo) ---- */
.bop-nl-page{ max-width:620px; margin:0 auto; text-align:center; padding:10px 0 36px; }
.bop-nl-page .bop-nl-sub{ font-size:16px; margin:0 0 22px; }
.bop-nl-iframe{ width:100%; max-width:560px; min-height:560px; border:0; background:transparent; }

/* ---- Formulaire Newsletter maison (envoi vers Brevo) ---- */
.bop-nl-form{ display:flex; gap:10px; max-width:480px; margin:0 auto; flex-wrap:wrap; justify-content:center; }
.bop-nl-email{ flex:1 1 240px; min-width:0; background:rgba(255,255,255,.04); border:1px solid var(--bop-filet); color:var(--bop-creme); padding:12px 14px; font-family:var(--bop-serif-texte); font-size:15px; border-radius:0; }
.bop-nl-email::placeholder{ color:var(--bop-creme-doux); }
.bop-nl-email:focus{ outline:none; border-color:var(--bop-or); }
.bop-nl-hp{ display:none !important; }
.bop-nl-btn{ background:transparent; border:1px solid var(--bop-or); color:var(--bop-or-clair); padding:12px 28px; font-family:var(--bop-serif-texte); font-size:12px; letter-spacing:.2em; text-transform:uppercase; cursor:pointer; transition:.2s; border-radius:0; }
.bop-nl-btn:hover{ background:var(--bop-or); color:var(--bop-noir); }
/* ---- Bouton wishlist (TI WooCommerce Wishlist) sur thème sombre ---- */
.bop-card-actions .tinv-wishlist, .bop-prix-bloc .tinv-wishlist{ margin:6px 0 0; background:none; width:auto; }
.tinvwl_add_to_wishlist_button{ background:none !important; border:0 !important; padding:0 !important; min-height:0 !important; color:var(--bop-or-clair) !important; font-family:var(--bop-serif-texte) !important; font-size:12px !important; letter-spacing:.1em; text-transform:uppercase; line-height:1.4 !important; }
.tinvwl_add_to_wishlist_button:hover{ color:var(--bop-or) !important; background:none !important; }
.tinvwl_add_to_wishlist-text{ color:inherit !important; }
.bop-prix-bloc .tinv-wishlist{ display:block; margin-top:auto; }

/* ---- Fiche technique densifiée : specs à gauche, prix + panier à droite ---- */
.bop-fiche-row{ display:grid; grid-template-columns:max-content 1fr; gap:10px 30px; align-items:stretch; border-top:none; margin-top:0; padding-top:0; }
.bop-fiche-row .bop-prix-bloc{ justify-self:end; }
.bop-fiche-row .bop-specs{ display:flex; flex-direction:column; justify-content:space-between; gap:8px; }
.bop-fiche-row .bop-spec{ grid-template-columns:124px 1fr; }
.bop-fiche-row .bop-spec dt{ font-size:10.5px; letter-spacing:.14em; }
.bop-fiche-row .bop-spec dd{ font-size:15px; line-height:1.3; }
.bop-fiche-row .bop-prix-bloc{ border-left:1px solid var(--bop-filet); padding-left:24px; text-align:left; min-width:148px; }
.bop-fiche-row .bop-prix-bloc .bop-prix, .bop-fiche-row .bop-prix-bloc .price{ font-size:34px; }
.bop-fiche-row .bop-prix-label{ margin-top:0; }
/* 2026-06-29 13:20 — Colonnes resserrées : on réduit la hauteur de la pile prix/panier
   (marge du <form>, padding du bouton, bloc « favoritos »). Comme .bop-specs est en
   justify-content:space-between et .tinv-wishlist en margin-top:auto, les rangées se
   répartissent sur cette hauteur réduite → lignes plus serrées, 1re (Referencia/Precio)
   et dernière (Medidas/favoritos) toujours alignées entre les 2 colonnes. */
.bop-fiche-row .bop-prix-bloc form.cart{ margin-top:8px; }
.bop-fiche-row .bop-prix-bloc .single_add_to_cart_button{ padding:10px 30px !important; }
.bop-prix-bloc .tinv-wishlist{ line-height:1.2; }
.bop-prix-bloc .tinvwl_add_to_wishlist_button{ margin-top:8px !important; }

/* ---- Ligne « contact WhatsApp », pleine largeur, centrée sous les 2 colonnes ---- */
.bop-fiche-row .bop-wa-ask{
  grid-column:1 / -1;
  display:flex; align-items:center; justify-content:center; gap:10px;
  margin-top:18px; padding-top:15px;
  border-top:1px solid var(--bop-filet);
  font-size:12.5px; letter-spacing:.12em; text-transform:uppercase;
  color:var(--bop-creme-doux); transition:color .2s;
}
.bop-fiche-row .bop-wa-ask:hover{ color:var(--bop-or-clair); }
.bop-fiche-row .bop-wa-ask-ico{ flex:0 0 auto; display:block; }

@media (max-width:600px){ .bop-fiche-row{ grid-template-columns:1fr; } .bop-fiche-row .bop-prix-bloc{ border-left:0; padding-left:0; border-top:none; padding-top:14px; } .bop-fiche-row .bop-wa-ask{ margin-top:14px; } }
/* ---- Catégories : barre de défilement discrète ---- */
.bop-cat-tree{ scrollbar-width:thin; scrollbar-color:var(--bop-filet) transparent; }
.bop-cat-tree::-webkit-scrollbar{ height:4px; }
.bop-cat-tree::-webkit-scrollbar-track{ background:transparent; }
.bop-cat-tree::-webkit-scrollbar-thumb{ background:var(--bop-filet); border-radius:2px; }
.bop-cat-tree:hover::-webkit-scrollbar-thumb{ background:var(--bop-or); }
/* ---- Triangle sous-catégories : inline, juste après le nom ---- */
.bop-cat-expand{ flex-basis:auto !important; width:auto !important; margin:0 0 0 5px !important; padding:0 !important; border:0 !important; background:none !important; font-size:10px !important; line-height:1 !important; color:var(--bop-creme-doux) !important; cursor:pointer; }
.bop-cat-expand:hover{ color:var(--bop-or-clair) !important; }


/* === Correctif centrage 2026-06-25 (Barcelone, CEST) === */
body.page:not(.woocommerce-page) .entry-content{ margin-left:auto; margin-right:auto; }
body.page-id-762:not(.woocommerce-page) .entry-content{ max-width:100%; }

/* ============================================================
   Liste de souhaits / Favoritos (plugin TI WooCommerce Wishlist)
   2026-06-29 14:35 (Barcelone, CEST)
   Met la vue [ti_wishlistsview] dans l'esprit du site : fond noir,
   texte crème, accents or, serif, libellés majuscules espacés,
   boutons transparents à liseré or (comme « Añadir al carrito »).
   Tout est scopé sous .tinv-wishlist : aucun effet hors page favoris.
   ============================================================ */
.tinv-wishlist{
  color:var(--bop-creme);
  font-family:var(--bop-serif-texte);
}

/* Sous-titre du plugin (« Default wishlist ») masqué : il fait doublon avec
   le titre de page « Lista de deseos » (H1) déjà affiché juste au-dessus. */
.tinv-wishlist .tinv-header{ display:none; }

/* ---- Tableau ---- */
.tinv-wishlist .tinvwl-table-manage-list{
  width:100%;
  border-collapse:collapse;
  background:transparent;
  border:0;
}
.tinv-wishlist .tinvwl-table-manage-list th,
.tinv-wishlist .tinvwl-table-manage-list td{
  border:0;
  border-bottom:1px solid var(--bop-filet);
  background:transparent !important;
  padding:16px 14px;
  vertical-align:middle;
  color:var(--bop-creme);
}
.tinv-wishlist .tinvwl-table-manage-list thead th{
  font-family:var(--bop-serif-texte);
  font-weight:400;
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--bop-or);
  border-bottom:1px solid var(--bop-filet);
  text-align:left;
}
.tinv-wishlist th.product-cb,
.tinv-wishlist td.product-cb,
.tinv-wishlist th.product-remove,
.tinv-wishlist td.product-remove,
.tinv-wishlist th.product-thumbnail,
.tinv-wishlist td.product-thumbnail,
.tinv-wishlist th.product-action,
.tinv-wishlist td.product-action{ text-align:center; }

/* Vignette produit : petit cadre sobre comme le reste du site */
.tinv-wishlist td.product-thumbnail img{
  max-width:64px;
  height:auto;
  border:1px solid var(--bop-filet);
}

/* Nom du produit */
.tinv-wishlist td.product-name a{
  color:var(--bop-creme);
  font-family:var(--bop-serif-titre);
  font-size:17px;
  line-height:1.35;
  text-decoration:none;
  transition:.2s;
}
.tinv-wishlist td.product-name a:hover{ color:var(--bop-or-clair); }

/* Prix en or, comme partout sur le site */
.tinv-wishlist td.product-price .woocommerce-Price-amount,
.tinv-wishlist td.product-price .amount{
  color:var(--bop-or-clair);
  font-family:var(--bop-serif-titre);
  font-size:19px;
}

/* Date d'ajout + état des stocks : texte secondaire discret */
.tinv-wishlist td.product-date time,
.tinv-wishlist td.product-stock .stock{
  color:var(--bop-creme-doux);
  font-size:13px;
}
.tinv-wishlist td.product-stock .stock.in-stock{ color:var(--bop-creme-doux); }

/* Bouton « retirer » (croix) : discret, doré au survol.
   La croix vient d'une police d'icônes du plugin (tinvwl-webfont) servie
   par le domaine de production → tofu en pré-prod. On force un « × » texte
   indépendant de cette police, qui s'affiche partout. */
.tinv-wishlist td.product-remove button{
  background:none !important;
  border:0 !important;
  color:var(--bop-creme-doux) !important;
  cursor:pointer;
  transition:.2s;
  padding:0 !important;
  min-height:0 !important;
}
.tinv-wishlist td.product-remove button:hover{ color:var(--bop-or) !important; }
.tinv-wishlist .ftinvwl-times::before{
  font-family:var(--bop-serif-texte) !important;
  content:"\00d7" !important;
  font-size:18px;
  line-height:1;
}

/* ---- Tous les boutons d'action : transparent + liseré or ---- */
.tinv-wishlist .button,
.tinv-wishlist button.button,
.tinv-wishlist .button.alt,
.tinv-wishlist .return-to-shop a.button{
  display:inline-block;
  background:transparent !important;
  border:1px solid var(--bop-or) !important;
  color:var(--bop-or-clair) !important;
  border-radius:0 !important;
  box-shadow:none !important;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:11px;
  font-weight:400;
  font-family:var(--bop-serif-texte);
  padding:9px 20px !important;
  line-height:1.4;
  transition:.2s;
  text-decoration:none;
}
.tinv-wishlist .button:hover,
.tinv-wishlist button.button:hover,
.tinv-wishlist .button.alt:hover,
.tinv-wishlist .return-to-shop a.button:hover{
  background:var(--bop-or) !important;
  color:var(--bop-noir) !important;
}

/* ---- Pied de tableau : actions groupées ---- */
.tinv-wishlist tfoot td{ border-bottom:0; padding-top:18px; }
.tinv-wishlist .tinvwl-to-left,
.tinv-wishlist .tinvwl-to-right{ display:inline-flex; gap:12px; align-items:center; }
.tinv-wishlist .tinvwl-to-right{ float:right; }

/* Sélecteur « Acciones » : panneau sombre, liseré filet */
.tinv-wishlist select,
.tinv-wishlist select.form-control{
  background:var(--bop-noir-panneau) !important;
  border:1px solid var(--bop-filet) !important;
  color:var(--bop-creme) !important;
  border-radius:0 !important;
  font-family:var(--bop-serif-texte);
  font-size:13px;
  padding:8px 12px !important;
  box-shadow:none !important;
}
.tinv-wishlist select:focus{ outline:none; border-color:var(--bop-or) !important; }
.tinv-wishlist select option{ background:var(--bop-noir-panneau); color:var(--bop-creme); }

/* Cases à cocher accentuées or */
.tinv-wishlist input[type="checkbox"]{ accent-color:var(--bop-or); }

/* ---- État vide : icône en or (et non bleu WooCommerce) ---- */
.tinv-wishlist .woocommerce-info{ border-top-color:var(--bop-or) !important; }
.tinv-wishlist .woocommerce-info::before{ color:var(--bop-or) !important; }

/* ---- Bloc « Compartir en redes sociales » : masqué (site sobre) ---- */
.tinv-wishlist .social-buttons{ display:none !important; }

@media (max-width:600px){
  .tinv-wishlist .tinvwl-to-right{ float:none; margin-top:12px; }
  .tinv-wishlist .tinvwl-table-manage-list th,
  .tinv-wishlist .tinvwl-table-manage-list td{ padding:10px 8px; }
}
body.page-id-762 .bop-home-section{ margin-left:auto; margin-right:auto; }
/* === fin correctif centrage === */


/* === Grille produits 2 colonnes sur mobile 2026-06-25 (Barcelone, CEST) === */
@media (max-width:768px){
  .woocommerce ul.products,
  .woocommerce-page ul.products{ grid-template-columns:repeat(2,1fr) !important; column-gap:12px !important; }
}
/* === fin grille 2 colonnes mobile === */


/* ============================================================
   Panier (Carrito) + Commande (Finalizar compra)
   2026-06-29 15:05 (Barcelone, CEST)
   Ces 2 pages sont en blocs Gutenberg WooCommerce (.wc-block-cart /
   .wc-block-checkout). Elles restaient en BLANC : la règle « fond noir »
   des pages (body.page:not(.woocommerce-page)) les exclut car ce sont des
   woocommerce-page, et elles ne sont ni shop ni archive ni single-product.
   On les passe dans l'esprit du site : noir / crème / or / serif.
   ============================================================ */

/* ---- Fond noir + conteneurs transparents ---- */
body.woocommerce-cart,
body.woocommerce-checkout{
  background-color:var(--bop-noir) !important;
  color:var(--bop-creme);
}
body.woocommerce-cart #content,
body.woocommerce-cart .site-content,
body.woocommerce-cart .ast-container,
body.woocommerce-cart .entry-content,
body.woocommerce-checkout #content,
body.woocommerce-checkout .site-content,
body.woocommerce-checkout .ast-container,
body.woocommerce-checkout .entry-content{
  background:transparent !important;
}

/* Titre de page (« Carrito » / « Finalizar compra ») */
body.woocommerce-cart .entry-title,
body.woocommerce-checkout .entry-title,
body.woocommerce-cart h1.entry-title,
body.woocommerce-checkout h1.entry-title{
  color:var(--bop-creme) !important;
  font-family:var(--bop-serif-titre);
  letter-spacing:.06em;
}

/* Couleur de texte générale + liens dorés dans les blocs */
.wc-block-cart,
.wc-block-checkout,
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout{ color:var(--bop-creme); }
.wc-block-cart a,
.wc-block-checkout a,
.wc-block-components-checkout-step a{ color:var(--bop-or-clair); }
.wc-block-cart a:hover,
.wc-block-checkout a:hover{ color:var(--bop-or); }

/* Intitulés de section : or, majuscules espacées (en-têtes tableau, titres
   de totaux, étapes du checkout, résumé) */
.wc-block-cart-items__header,
.wc-block-cart-items__header th,
.wc-block-cart__totals-title,
.wc-block-components-checkout-step__title,
.wc-block-components-order-summary .wc-block-components-title,
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-title{
  color:var(--bop-or) !important;
  font-family:var(--bop-serif-texte) !important;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.wc-block-components-checkout-step__title{ font-size:14px; }
.wc-block-components-checkout-step__description{ color:var(--bop-creme-doux) !important; }

/* ---- Lignes d'articles (panier) ---- */
.wc-block-cart-items,
.wc-block-cart-items td,
.wc-block-cart-items th,
.wc-block-cart-items__row{
  border-color:var(--bop-filet) !important;
  background:transparent !important;
}
.wc-block-components-product-name{
  color:var(--bop-creme) !important;
  font-family:var(--bop-serif-titre);
  font-size:17px;
}
.wc-block-components-product-name:hover{ color:var(--bop-or-clair) !important; }
.wc-block-components-product-metadata,
.wc-block-components-product-metadata *{ color:var(--bop-creme-doux) !important; }
.wc-block-cart-item__total .wc-block-components-product-price,
.wc-block-components-product-price,
.wc-block-components-product-price__value{ color:var(--bop-or-clair) !important; }
/* Vignette encadrée */
.wc-block-cart-items img,
.wc-block-components-order-summary-item__image img{ border:1px solid var(--bop-filet); }
/* Bouton « retirer » (corbeille) */
.wc-block-cart-item__remove-link{ color:var(--bop-creme-doux) !important; }
.wc-block-cart-item__remove-link:hover{ color:var(--bop-or) !important; }

/* ---- Panneau de totaux / résumé : panneau sombre à liseré ---- */
.wc-block-cart__sidebar .wc-block-components-sidebar,
.wp-block-woocommerce-checkout-order-summary-block,
.wc-block-components-totals-wrapper{
  background:var(--bop-noir-panneau) !important;
  border:1px solid var(--bop-filet) !important;
  border-radius:0 !important;
}
.wc-block-components-totals-item,
.wc-block-components-totals-item__label,
.wc-block-components-totals-item__value,
.wc-block-components-totals-item__description{ color:var(--bop-creme) !important; }
.wc-block-components-totals-item{ border-color:var(--bop-filet) !important; }
/* Total final mis en avant en or */
.wc-block-components-totals-footer-item,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label{
  color:var(--bop-or-clair) !important;
  font-family:var(--bop-serif-titre);
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__description{ color:var(--bop-creme-doux) !important; }

/* ---- Champs de formulaire (checkout) : panneau sombre, liseré filet ---- */
.wc-block-checkout .wc-block-components-text-input input,
.wc-block-checkout .wc-block-components-text-input textarea,
.wc-block-checkout textarea,
.wc-block-checkout select,
.wc-block-checkout .wc-block-components-combobox-control input,
.wc-block-checkout .wc-block-components-select__container,
.wc-block-checkout .wc-block-components-select .components-base-control__field{
  background:var(--bop-noir-panneau) !important;
  border:1px solid var(--bop-filet) !important;
  color:var(--bop-creme) !important;
  border-radius:0 !important;
}
.wc-block-checkout .wc-block-components-text-input input:focus,
.wc-block-checkout select:focus,
.wc-block-checkout .wc-block-components-combobox-control input:focus{
  border-color:var(--bop-or) !important;
  box-shadow:none !important;
  outline:none !important;
}
.wc-block-checkout .wc-block-components-text-input label,
.wc-block-checkout .wc-block-components-form label,
.wc-block-checkout .wc-block-components-checkout-step__heading-content,
.wc-block-checkout .wc-block-components-text-input.is-active label{
  color:var(--bop-creme-doux) !important;
}
.wc-block-checkout input::placeholder,
.wc-block-checkout textarea::placeholder{ color:#8a8273 !important; opacity:1; }
/* Autofill : garder le fond sombre */
.wc-block-checkout input:-webkit-autofill{
  -webkit-box-shadow:0 0 0 1000px var(--bop-noir-panneau) inset !important;
  -webkit-text-fill-color:var(--bop-creme) !important;
  caret-color:var(--bop-creme) !important;
}

/* Cases à cocher / boutons radio accentués or */
.wc-block-checkout input[type="checkbox"],
.wc-block-checkout input[type="radio"],
.wc-block-cart input[type="checkbox"],
.wc-block-components-checkbox__input,
.wc-block-components-radio-control__input{ accent-color:var(--bop-or); }
.wc-block-components-checkbox__label,
.wc-block-components-radio-control__label,
.wc-block-components-radio-control__description{ color:var(--bop-creme) !important; }

/* ---- Boutons (panier « Finalizar compra » + checkout « Realizar pedido ») :
   transparent à liseré or, remplissage or au survol (comme tout le site) ---- */
.wc-block-cart__submit-button,
a.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
.wc-block-cart .wc-block-components-button.contained,
.wc-block-checkout .wc-block-components-button.contained{
  background:transparent !important;
  border:1px solid var(--bop-or) !important;
  color:var(--bop-or-clair) !important;
  border-radius:0 !important;
  box-shadow:none !important;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-family:var(--bop-serif-texte) !important;
  transition:.2s;
}
.wc-block-cart__submit-button:hover,
a.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover,
.wc-block-cart .wc-block-components-button.contained:hover,
.wc-block-checkout .wc-block-components-button.contained:hover{
  background:var(--bop-or) !important;
  color:var(--bop-noir) !important;
}
.wc-block-cart .wc-block-components-button__text,
.wc-block-checkout .wc-block-components-button__text{ color:inherit !important; }

/* Messages / notices dans les blocs */
.wc-block-components-notice-banner{
  background:var(--bop-noir-panneau) !important;
  color:var(--bop-creme) !important;
  border-color:var(--bop-or) !important;
}
.wc-block-components-notice-banner a{ color:var(--bop-or-clair) !important; }

/* Panier vide : titre + texte lisibles, bloc « Nuevo en la tienda » hérite
   du style boutique (déjà sombre via les règles .woocommerce ul.products) */
.wc-block-cart__empty-cart__title,
.cart-empty{ color:var(--bop-creme) !important; }
.wc-block-cart-items__header-image,
.wc-block-cart-items__header-product,
.wc-block-cart-items__header-total{ color:var(--bop-or) !important; }
/* === fin panier + commande === */

/* === F6.4 — Section « Destacados » (accueil + boutique) === */
.bop-destacados{ margin:24px 0 34px; }
.bop-destacados-titre{
  font-family:var(--bop-serif-titre);
  color:var(--bop-or-clair);
  font-size:1.7rem;
  font-weight:600;
  text-align:center;
  margin:0 0 18px;
  letter-spacing:.02em;
}
.bop-destacados-titre::after{
  content:"";
  display:block;
  width:60px; height:1px;
  margin:10px auto 0;
  background:var(--bop-or);
  opacity:.7;
}
.bop-destacados ul.products{ margin-top:0; }
/* === fin Destacados === */
