/* CSS additionnel
   Deplace depuis Apparence > Personnaliser > CSS additionnel.
   Variables de marque, badges, images, compte, bande defilante, bouton panier, menu compact.
*/

:root {
  --brand-blue: #1e4bae;
  --brand-blue-dark: #163c8d;
  --brand-pink: #e34fa5;
  --brand-pink-dark: #c01578;
  --brand-cyan: #7af1f5;
}

/* ---------- Base / overflow ---------- */
html,
body {
  max-width: 100vw;
  overflow-x: hidden;
  box-sizing: border-box;
}

*,
*::before,
*::after {
  box-sizing: inherit;
}

h1 {
  text-shadow: none !important;
}

.hidden-temp {
  display: none !important;
}

/* Pas de badge promo : le prix barré et la pastille Economisez suffisent */
.onsale,
.woocommerce span.onsale,
.tbp-onsale,
.wc-block-components-product-sale-badge,
.wc-block-components-product-badge[data-badge="sale"],
.wp-block-woocommerce-product-sale-badge {
  display: none !important;
}

/* Laisse le badge depasser un peu la vignette */
.wc-block-components-product-image {
  overflow: visible !important;
}

/* ---------- Images produits ---------- */
.woocommerce ul.products li.product img,
.woocommerce div.product div.images img,
.woocommerce div.product div.thumbnails img,
.woocommerce-page ul.products li.product img {
  border-radius: 12px;
}

.woocommerce ul.products li.product img {
  transition: transform 0.3s ease;
}

.woocommerce ul.products li.product img:hover {
  transform: scale(1.03);
}

/* ---------- Compte client (header) ---------- */
.client-account-link {
  text-decoration: none;
  display: inline-block;
}

.client-card-icon {
  display: flex;
  align-items: center;
  gap: 10px;
}

.client-card-icon svg {
  width: 60px;
  height: 75px;
  transition: all 0.3s ease;
}

.client-account-text {
  text-align: left;
  font-family: "Boldonse", sans-serif;
  font-size: 14px;
  font-weight: normal;
  color: #1f45d2;
  line-height: 1.2;
  transition: all 0.3s ease;
}

@media (max-width: 768px) {
  .client-account-text {
    display: none;
  }

  .client-card-icon {
    gap: 0;
  }

  .client-card-icon svg {
    width: 40px;
    height: 50px;
  }
}

/* ---------- Bande defilante ---------- */
.bande-defilante {
  width: 100%;
  background-color: var(--brand-cyan);
  overflow: hidden;
  white-space: nowrap;
  font-family: "Poppins", sans-serif;
  color: var(--brand-blue);
  font-weight: 600;
  font-size: 16px;
  padding: 8px 0;
  position: relative;
}

.bande-defilante-contenu {
  display: inline-block;
  white-space: nowrap;
  animation: defilement 20s linear infinite;
}

.bande-defilante-contenu span {
  display: inline-block;
  margin-right: 50px;
}

.bande-defilante a {
  color: var(--brand-blue);
  text-decoration: underline;
}

@keyframes defilement {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-100%);
  }
}

/* ---------- Bouton Ajouter au panier ---------- */
.add_to_cart_button,
.wp-block-button__link.add_to_cart_button {
  background-color: var(--brand-pink) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 999px;
  padding: 10px 20px;
  font-weight: 600;
  transition: background-color 0.3s ease;
  text-align: center;
}

.add_to_cart_button:hover,
.wp-block-button__link.add_to_cart_button:hover {
  background-color: var(--brand-pink-dark) !important;
  color: #fff !important;
  text-decoration: none;
}

/* Fiche produit : meme bleu que les boutons du site (Reparation, contact). */
.single_add_to_cart_button {
  background-color: var(--brand-blue) !important;
  color: #fff !important;
  border: none !important;
}

.single_add_to_cart_button:hover,
.single_add_to_cart_button:focus-visible {
  background-color: var(--brand-blue-dark) !important;
  color: #fff !important;
}

/* ---------- Blocs produits (titres / boutons) ---------- */
.wc-block-product-template > li {
  max-width: 100%;
  box-sizing: border-box;
  word-break: break-word;
}

.wc-block-product-template a,
.wc-block-product-template .wp-block-button__link {
  word-break: break-word;
  white-space: normal;
  max-width: 100%;
}

/* ---------- Fiche produit : dimensions ---------- */
#tab-additional_information
  > table
  > tbody
  > tr.woocommerce-product-attributes-item.woocommerce-product-attributes-item--dimensions
  > th::after {
  content: " (P x L x H)";
  font-weight: normal;
  font-size: 0.95em;
  color: #444;
}

/* ---------- Menu compact + ligne header mobile ---------- */
.tbp-menu-compact {
  position: relative;
  flex: 0 0 auto;
  width: max-content;
  z-index: 100;
}

.tbp-menu-compact .tbp-menu-trigger {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  width: auto;
  white-space: nowrap;
  cursor: pointer;
}

.tbp-menu-compact .tbp-menu-panel {
  position: absolute;
  top: 100%;
  left: 0;
  width: 280px;
  max-width: 86vw;
  max-height: 80vh;
  overflow-y: auto;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  z-index: 9999;
  display: none;
}

.tbp-menu-compact.is-open .tbp-menu-panel {
  display: block;
}

@media (max-width: 768px) {
  .tbp-footer-line {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.35rem;
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
    box-sizing: border-box;
  }

  .tbp-footer-line button,
  .tbp-footer-line a {
    white-space: nowrap;
  }

  .tbp-menu-compact .tbp-menu-panel {
    position: fixed;
    left: 0.75rem;
    top: calc(var(--tbp-header-height, 64px) + 0.5rem);
    width: 86vw;
    max-width: 420px;
    max-height: calc(100vh - 90px);
  }
}
:root :where(.wp-block-button .wp-block-button__link){background-color: var(--wp--preset--color--color3);color: var(--wp--preset--color--color1);}
:root :where(.wp-block-button .wp-block-button__link a:where(:not(.wp-element-button))){color: var(--wp--preset--color--color1);}
:root :where(.wp-block-heading){line-height: 1.2;}
:root :where(.wp-block-woocommerce-product-template){font-family: var(--wp--preset--font-family--inter);}
:root :where(.wp-block-post-title){color: var(--wp--preset--color--color3);font-family: var(--wp--preset--font-family--inter);}
:root :where(.wp-block-post-title a:where(:not(.wp-element-button))){color: var(--wp--preset--color--color3);}
:root :where(.wp-block-woocommerce-product-price .wc-block-components-product-price){color: var(--wp--preset--color--color3);font-family: var(--wp--preset--font-family--inter);font-style: normal;font-weight: 700;}
:root :where(.wp-block-woocommerce-product-price .wc-block-components-product-price a:where(:not(.wp-element-button))){color: var(--wp--preset--color--color3);}
:root :where(.wp-block-woocommerce-breadcrumbs){color: var(--wp--preset--color--color3);}
:root :where(.wp-block-woocommerce-breadcrumbs a:where(:not(.wp-element-button))){color: var(--wp--preset--color--color3);}
:root :where(.wp-block-woocommerce-customer-account){color: var(--wp--preset--color--color3);}
:root :where(.wp-block-woocommerce-customer-account a:where(:not(.wp-element-button))){color: var(--wp--preset--color--color3);}
:root :where(.wp-block-site-title){background-color: var(--wp--preset--color--color3);color: var(--wp--preset--color--color1);text-transform: capitalize;}
:root :where(.wp-block-site-title a:where(:not(.wp-element-button))){color: var(--wp--preset--color--color1);}
:root :where(.wp-block-woocommerce-product-button .wc-block-components-product-button__button){background-color: var(--wp--preset--color--color3);color: var(--wp--preset--color--color1);}
:root :where(.wp-block-woocommerce-product-button .wc-block-components-product-button__button a:where(:not(.wp-element-button))){color: var(--wp--preset--color--color1);}
:root :where(.wp-block-woocommerce-mini-cart){font-size: clamp(16.834px, 1.052rem + ((1vw - 3.2px) * 1.175), 26px);}

/* Ta Bonne Pioche. Styles communs du front.
   Regroupe les anciens blocs inline (cartes, badges, prix, compte).
   Charge avant les filtres boutique, pour garder le meme empilement.
*/

/* --- Taille des boutons --- */
.wp-block-button.tbp-has-desktop-font-size .wp-block-button__link {
  font-size: var(--tbp-desktop-font-size) !important;
}

.editor-styles-wrapper .block-editor-block-list__block.tbp-has-desktop-font-size .wp-block-button__link {
  font-size: var(--tbp-desktop-font-size) !important;
}

@media (max-width: 781px) {
  .wp-block-button.tbp-has-mobile-font-size .wp-block-button__link {
    font-size: var(--tbp-mobile-font-size) !important;
  }

  .editor-styles-wrapper .block-editor-block-list__block.tbp-has-mobile-font-size .wp-block-button__link {
    font-size: var(--tbp-mobile-font-size) !important;
  }
}

/* --- Bouton compte --- */
/* ===== TBP Account Button – Texte normal (non gras) ===== */
.tbp-account { display:inline-flex; align-items:center; justify-content:center; text-align:center; text-decoration:none; align-self:center; }
.tbp-account__inner { display:flex; flex-direction:column; align-items:center; gap:0; justify-content:center; }
.tbp-account__svg { width:44px; height:auto; display:block;
  transition: transform .35s ease, box-shadow .35s ease; will-change: transform; }
.tbp-account__text { margin-top:-3px; font-size:0.76rem; font-weight:400; text-align:center; line-height:1; white-space:nowrap; }
.tbp-account .tbp-line { white-space:nowrap; line-height:1; }

/* Aligne le bloc compte avec panier/recherche sur la premiere ligne */
.tbp-header__icons,
.tbp-header__icons .wp-block-woocommerce-mini-cart {
  align-items: center !important;
}

.tbp-header__icons .tbp-account {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Apparition douce du texte */
.tbp-line { opacity:0; transform:translateY(3px); transition: opacity .25s ease, transform .25s ease; display:inline-block; }
.tbp-account.tbp-animate .tbp-line { opacity:1; transform:translateY(0); }

/* Animation carte distribuée */
@media (prefers-reduced-motion: no-preference) {
  .tbp-account:hover .tbp-account__svg {
    transform: translate(18px, -7px) rotate(-7deg);
    box-shadow: -5px 7px 14px rgba(0,0,0,.22);
  }
  .tbp-account:active .tbp-account__svg {
    transform: translate(12px, -4px) rotate(-3deg);
    box-shadow: -3px 5px 9px rgba(0,0,0,.18);
  }
}

/* Responsive */
@media (max-width: 480px) {
  .tbp-account__svg { width:36px; }
  .tbp-account__text { font-size:0.68rem; margin-top:-1px; }
}

/* --- Cartes produit --- */
:root{
  --tbp-blue: #1e4bae;                 /* Bleu logo */
  --tbp-pink: #e34fa5;                 /* Rose logo */
  --tbp-card-radius: 16px;             /* Rayon global des cartes */
  --tbp-card-border-color: rgba(30,75,174,.25);   /* Bleu 25% */
  --tbp-card-shadow-blue: 0 6px 16px rgba(30,75,174,.15);  /* Ombre légère bleutée */
  --tbp-card-shadow-pink: 0 10px 28px rgba(227,79,165,.35);/* Ombre rose au survol */
}

/* ===== Sélecteurs des cartes produits (Woo classique + Blocks) ===== */
.woocommerce ul.products li.product,
.products li.product,
.wc-block-grid__products .wc-block-grid__product,
.wc-block-product-template > li,
.wp-block-woocommerce-product-template .wc-block-components-product-card,
.wc-block-components-product-card,
.wc-block-grid__product{
  position: relative;
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--tbp-card-border-color); /* Contour FIXE visible */
  border-radius: var(--tbp-card-radius);
  box-shadow: var(--tbp-card-shadow-blue);        /* Ombre BLEUE par défaut */
  overflow: hidden;                                /* images masquées dans les coins arrondis */
  height: 100%;
  padding-bottom: 12px;
  transform: translateY(0);
  transition: box-shadow .25s ease, transform .25s ease, border-color .25s ease;
  will-change: transform, box-shadow;
}

/* ===== Effet de SURVOL : léger lift + ombre rosée ===== */
.woocommerce ul.products li.product:hover,
.products li.product:hover,
.wc-block-grid__products .wc-block-grid__product:hover,
.wc-block-product-template > li:hover,
.wp-block-woocommerce-product-template .wc-block-components-product-card:hover,
.wc-block-components-product-card:hover,
.wc-block-grid__product:hover,
/* Accessibilité clavier */
.woocommerce ul.products li.product:focus-within,
.products li.product:focus-within,
.wc-block-grid__products .wc-block-grid__product:focus-within,
.wc-block-product-template > li:focus-within,
.wp-block-woocommerce-product-template .wc-block-components-product-card:focus-within,
.wc-block-components-product-card:focus-within,
.wc-block-grid__product:focus-within{
  box-shadow: var(--tbp-card-shadow-pink);        /* Ombre ROSE */
  transform: translateY(-4px);                    /* léger relief */
  /* On garde le même border pour conserver le contour fixe */
}

/* ===== Images : full-bleed haut de carte, coins sup. arrondis / bas carrés ===== */
.wc-block-components-product-image,
.wc-block-components-product-media,
.wc-block-grid__product .wc-block-grid__product-image,
.woocommerce ul.products li.product .woocommerce-loop-product__link{
  position: relative;
  padding: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  /* visible pour laisser le badge état dépasser sur la couture */
  overflow: visible !important;
}

.woocommerce ul.products li.product img,
.wc-block-grid__product img,
.wc-block-components-product-image img,
.wc-block-product-image img,
.woocommerce ul.products li.product .attachment-woocommerce_thumbnail{
  width: 100% !important;
  height: auto !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border-top-left-radius: var(--tbp-card-radius) !important;
  border-top-right-radius: var(--tbp-card-radius) !important;
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  object-fit: cover;
}

/* Liens internes : pas d’angles carrés parasites */
.woocommerce ul.products li.product a,
.wc-block-grid__product a,
.wc-block-components-product-image a,
.wc-block-components-product-title a,
.wc-block-components-product-link{
  border-radius: inherit !important;
}

/* Badges/labels arrondis si présents */
.wc-block-components-product-badge,
.woocommerce ul.products li.product .onsale{
  border-radius: 10px !important;
}

/* Bouton CTA colle en bas de la carte avec une petite marge */
.wp-block-button.wc-block-components-product-button,
.woocommerce ul.products li.product .button,
.products li.product .button{
  margin-top: auto !important;
}

.wp-block-button.wc-block-components-product-button{
  margin-bottom: 0 !important;
  padding-top: 8px;
  padding-bottom: 0;
}

/* Mobile : rayon légerement réduit */
@media (max-width: 480px){
  :root{ --tbp-card-radius: 14px; }
}

/* --- Badge etat --- */
/* Capsule ÉTAT en bas de l'image (inset, pas sur la zone texte) */
.tbp-badge-etat{display:inline-block;padding:4px 10px;border-radius:999px;font-size:.78rem;font-weight:600;line-height:1.2;text-align:center;max-width:92%;white-space:normal;word-wrap:break-word;word-break:break-word;box-shadow:0 2px 8px rgba(30,75,174,.12)}
.tbp-badge-etat--jamais{background:#e34fa5;color:#fff}
.tbp-badge-etat--neuf{background:#1e4bae;color:#fff}
.tbp-badge-etat--occasion{background:#7a7a7a;color:#fff}
.tbp-badge-etat--recond{background:#b3f7fa;color:#1e4bae}
.tbp-badge-etat--retour{background:#ee95c9;color:#fff}

/* Rail centré en bas de l'image */
.tbp-badge-etat-wrap--loop{position:absolute;left:8px;right:8px;bottom:8px;transform:none;z-index:20;pointer-events:none;display:flex;justify-content:center}
.woocommerce ul.products li.product, li.product, .wc-block-product-template > li{position:relative}
.wc-block-components-product-image{position:relative}

/* Fiche produit */
.tbp-badge-etat-wrap--single{margin:6px 0 10px}

@media (max-width:480px){
	.tbp-badge-etat{font-size:.72rem;padding:3px 8px;max-width:95%}
	.tbp-badge-etat-wrap--loop{left:6px;right:6px;bottom:6px;transform:none}

	/* Réduction uniquement dans les blocs Nouveautés & Promotions */
	.wp-block-woocommerce-product-new .tbp-badge-etat,
	.wp-block-woocommerce-product-on-sale .tbp-badge-etat{
		font-size:.66rem;
		padding:3px 7px;
		line-height:1.15;
		max-width:88%;
	}
	.wp-block-woocommerce-product-new .tbp-badge-etat-wrap--loop,
	.wp-block-woocommerce-product-on-sale .tbp-badge-etat-wrap--loop{
		left:6px; right:6px; bottom:6px; transform:none;
	}
}

/* --- Badge garantie --- */
/* Capsule garantie */
.tbp-badge-garantie{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:.75rem;font-weight:600;line-height:1.2;background:#1e4bae;color:#fff;white-space:nowrap}
.tbp-badge-garantie-icon{width:14px;height:16px;flex-shrink:0;display:block}
.tbp-badge-garantie-icon path{fill:none;stroke:currentColor;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round}
.tbp-badge-garantie-text{display:inline-block;line-height:1.2}

/* LOOP: au-dessus de la vignette (énergie z-index 22) */
.tbp-badge-garantie-wrap--loop{position:absolute;top:8px;left:8px;z-index:23;pointer-events:none}
.wc-block-components-product-image > a{position:relative;z-index:1}
.tbp-badge-garantie-wrap--loop .tbp-badge-garantie-icon{width:15px;height:15px}

/* SINGLE: s'aligne sur la même ligne que le badge ÉTAT (sous le titre) */
.tbp-badge-garantie-wrap--single{display:inline-block;margin:6px 0 10px 8px;vertical-align:middle}

@media (max-width:480px){
	.tbp-badge-garantie{font-size:.72rem;padding:3px 8px}
	.tbp-badge-garantie-wrap--loop{top:6px;left:6px}
}

/* --- Badge energie --- */
.tbp-badge-energy{display:inline-block;white-space:nowrap}
.tbp-badge-energy--pill{padding:5px 12px;border-radius:999px;font-size:.85rem;font-weight:700;line-height:1.1;color:#fff}
.tbp-badge-energy--icon img{display:block;max-width:100%;height:auto}

.tbp-badge-energy-wrap--loop{position:absolute;top:8px;right:8px;z-index:22;pointer-events:none}

.tbp-badge-energy--A{background:#16a34a}
.tbp-badge-energy--B{background:#65a30d}
.tbp-badge-energy--C{background:#ca8a04}
.tbp-badge-energy--D{background:#f59e0b}
.tbp-badge-energy--E{background:#f97316}
.tbp-badge-energy--F{background:#ef4444}
.tbp-badge-energy--G{background:#991b1b}
.tbp-badge-energy--X{background:#1e4bae}

@media (max-width:480px){
  .tbp-badge-energy--pill{font-size:.75rem;padding:4px 9px}
  .tbp-badge-energy-wrap--loop{top:6px;right:6px}
}

/* --- Prix --- */
/* Bloc prix : alignement horizontal et taille ajustable */
.tbp-price{display:flex;align-items:center;justify-content:center;gap:.4rem;margin:.4rem 0;text-align:center;flex-wrap:nowrap}
.tbp-price-before{font-size:clamp(.75rem,.8vw,.9rem);color:#6b7280;text-decoration:line-through;opacity:.9;white-space:nowrap}
.tbp-price-now{font-size:clamp(1rem,1.3vw,1.15rem);font-weight:800;color:#1e4bae;line-height:1;white-space:nowrap}
.tbp-price-badge{font-size:clamp(.7rem,.9vw,.75rem);font-weight:700;line-height:1;padding:3px 8px;border-radius:999px;background:#e34fa5;color:#fff;white-space:nowrap;flex-shrink:0;display:inline-flex;align-items:center}
.tbp-price-badge-label{margin-right:0}

.tbp-price{
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.2rem;
  margin:.45rem 0;
}

.tbp-price-before,
.tbp-price-now,
.tbp-price-badge{
  display:block;
}

.tbp-price-badge{
  padding:3px 10px;
}

@media (max-width:640px){
  .tbp-price{
    gap:.2rem;
    margin:.45rem 0;
  }
}

/* Fiche produit : prix sur une seule ligne + montant principal plus visible */
.single-product .tbp-price{
  flex-direction:row;
  align-items:center;
  justify-content:flex-start;
  gap:.52rem;
  margin:.5rem 0 .75rem;
  white-space:nowrap;
}

.single-product .tbp-price-before,
.single-product .tbp-price-now,
.single-product .tbp-price-badge{
  display:inline-flex;
  align-items:center;
}

.single-product .tbp-price-before{
  font-size:clamp(.9rem,1vw,1.1rem);
}

.single-product .tbp-price-now{
  font-size:clamp(1.6rem,2.45vw,2.1rem);
  line-height:1;
}

.single-product .tbp-price-badge{
  font-size:clamp(.78rem,.95vw,.92rem);
  padding:4px 10px;
}

@media (max-width:640px){
  .single-product .tbp-price{
    gap:.4rem;
    justify-content:center;
  }

  .single-product .tbp-price-before{
    font-size:clamp(.78rem,2.2vw,.92rem);
  }

  .single-product .tbp-price-now{
    font-size:clamp(1.2rem,5.1vw,1.55rem);
  }
}

/* --- Famille de produits --- */
.tbp-family{margin:14px 0 18px;font-family:Poppins,sans-serif}
.tbp-family__title{margin:0 0 10px;color:#1e4bae;font-size:1.05rem;font-weight:700}
.tbp-family__options{display:flex;flex-direction:column;gap:8px}
.tbp-family__option{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"radio etat price" "radio defect defect" "radio stock stock";gap:2px 10px;align-items:center;border:1px solid #d5e0f2;border-radius:14px;padding:10px 12px;background:#fff;cursor:pointer}
.tbp-family__option input{grid-area:radio;accent-color:#1e4bae;margin:0}
.tbp-family__option.is-selected,.tbp-family__option:has(input:checked){border-color:#1e4bae;background:#b3f7fa}
.tbp-family__etat{grid-area:etat;justify-self:start}
.tbp-family__option .tbp-badge-etat{max-width:100%}
.tbp-family__etat-label{color:#1e4bae;font-weight:700}
body.tbp-family-multi .tbp-badge-etat-wrap--single{display:none !important}
.tbp-family__price{grid-area:price;font-weight:700;color:#1e4bae;white-space:nowrap}
.tbp-family__defect{grid-area:defect;color:#24324a}
.tbp-family__stock{grid-area:stock;justify-self:start;display:inline-block;padding:3px 8px;border-radius:999px;background:#16a34a;color:#fff;font-size:.72rem;font-weight:600;line-height:1.2}
.tbp-family__stock--out{background:#e34fa5;color:#fff}
.tbp-family__detail{margin:12px 0;padding:10px 12px;border-radius:12px;background:#f4fbff}
.tbp-family__detail-label{margin:0 0 4px;font-size:.82rem;font-weight:700;color:#1e4bae}
.tbp-family__detail-text{margin:0}
.tbp-family__cart{display:inline-flex;align-items:center;justify-content:center;background:#1e4bae;color:#fff;border-radius:999px;padding:.7rem 1.2rem;text-decoration:none}
.tbp-family__cart.is-disabled{background:#c5c9d2;pointer-events:none}
.woocommerce-product-gallery,
.wp-block-woocommerce-product-price,
.tbp-family__detail{transition:opacity .22s ease}
html.tbp-family-switching .woocommerce-product-gallery,
html.tbp-family-switching .wp-block-woocommerce-product-price,
html.tbp-family-switching .tbp-family__detail{opacity:.4}
@media (prefers-reduced-motion:reduce){
  .woocommerce-product-gallery,
  .wp-block-woocommerce-product-price,
  .tbp-family__detail{transition:none}
}
body.tbp-family-active .wp-block-woocommerce-add-to-cart-form form.cart,
body.tbp-family-active form.cart,
body.tbp-family-active .wp-block-woocommerce-add-to-cart-form .stock,
body.tbp-family-active .tbp-oos-banner{display:none !important}
body.tbp-family-active .tbp-ship-checker{display:block !important}
.tbp-family-loop-count{margin:.2rem 0 .4rem;color:#1e4bae;font-size:.82rem;font-weight:700;text-align:center}
a.tbp-family-view,
.wp-block-button__link.tbp-family-view{
  background-color:var(--brand-pink,#e34fa5) !important;
  color:#fff !important;
  border:none !important;
  border-radius:999px;
  padding:10px 20px;
  font-weight:600;
  transition:background-color .3s ease;
  text-align:center;
  text-decoration:none !important;
}
a.tbp-family-view:hover,
.wp-block-button__link.tbp-family-view:hover{
  background-color:var(--brand-pink-dark,#c01578) !important;
  color:#fff !important;
  text-decoration:none !important;
}
.tbp-price--range .tbp-price-now{color:#1e4bae;font-weight:800;white-space:normal;text-align:center}
.tbp-price--range .tbp-price-badge{white-space:normal;text-align:center}
@media (max-width:640px){
  .tbp-family__option{grid-template-columns:auto 1fr;grid-template-areas:"radio etat" "radio price" "radio defect" "radio stock"}
}

/* --- Marques --- */
/* Denim charte : remplace les bleus proches hors palette */
.wp-gr a.wp-google-name,
.wp-gr .wp-google-name,
.wp-gr[data-id] a.wp-google-name {
  color: #1e4bae !important;
}

.tbp-test-services-card--pickup,
.tbp-test-services-card--shipping {
  color: #1e4bae !important;
}

.tbp-test-services-card--pickup .tbp-test-services-card__content,
.tbp-test-services-card--pickup .tbp-test-services-card__desc,
.tbp-test-services-card--pickup .tbp-test-services-card__points li,
.tbp-test-services-card--pickup .tbp-test-services-card__address-link,
.tbp-test-services-card--shipping .tbp-test-services-card__content,
.tbp-test-services-card--shipping .tbp-test-services-card__desc,
.tbp-test-services-card--shipping .tbp-test-services-card__points li,
.tbp-test-services-card--shipping .tbp-test-services-card__address-link {
  color: #1e4bae !important;
}

.tbp-test-services-card__content.has-copy::before {
  background: rgba(30, 75, 174, 0.34) !important;
}

.tbp-test-services-card__points li {
  background: rgba(30, 75, 174, 0.14);
}

.tbp-test-services-card__address-link:hover,
.tbp-test-services-card__address-link:focus-visible {
  background: rgba(30, 75, 174, 0.2) !important;
}

/* --- Prix des produits lies --- */
.single-product .wp-block-woocommerce-product-collection .tbp-price,
.single-product .wc-block-grid__products .tbp-price,
.single-product .products .product .tbp-price,
.single-product section.related .tbp-price,
.single-product .related.products .tbp-price {
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .2rem !important;
  margin: .45rem 0 !important;
  text-align: center !important;
  white-space: normal !important;
}

.single-product .wp-block-woocommerce-product-collection .tbp-price-before,
.single-product .wp-block-woocommerce-product-collection .tbp-price-now,
.single-product .wp-block-woocommerce-product-collection .tbp-price-badge,
.single-product .wc-block-grid__products .tbp-price-before,
.single-product .wc-block-grid__products .tbp-price-now,
.single-product .wc-block-grid__products .tbp-price-badge,
.single-product .products .product .tbp-price-before,
.single-product .products .product .tbp-price-now,
.single-product .products .product .tbp-price-badge,
.single-product section.related .tbp-price-before,
.single-product section.related .tbp-price-now,
.single-product section.related .tbp-price-badge,
.single-product .related.products .tbp-price-before,
.single-product .related.products .tbp-price-now,
.single-product .related.products .tbp-price-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.single-product .wp-block-woocommerce-product-collection .tbp-price-before,
.single-product .wc-block-grid__products .tbp-price-before,
.single-product .products .product .tbp-price-before,
.single-product section.related .tbp-price-before,
.single-product .related.products .tbp-price-before {
  font-size: clamp(.75rem,.8vw,.9rem) !important;
}

.single-product .wp-block-woocommerce-product-collection .tbp-price-now,
.single-product .wc-block-grid__products .tbp-price-now,
.single-product .products .product .tbp-price-now,
.single-product section.related .tbp-price-now,
.single-product .related.products .tbp-price-now {
  font-size: clamp(1rem,1.3vw,1.15rem) !important;
}

.single-product .wp-block-woocommerce-product-collection .tbp-price-badge,
.single-product .wc-block-grid__products .tbp-price-badge,
.single-product .products .product .tbp-price-badge,
.single-product section.related .tbp-price-badge,
.single-product .related.products .tbp-price-badge {
  max-width: calc(100% - 20px);
  font-size: clamp(.7rem,.9vw,.75rem) !important;
  padding: 3px 10px !important;
}

/* --- Bandeau avis Google --- */
.tbp-sitewide-google-reviews {
    width: min(100%, 1440px);
    margin: 44px auto 0;
    padding: 22px 16px 14px;
    background: linear-gradient(180deg, rgba(30, 75, 174, 0.03), rgba(227, 79, 165, 0.02));
    border: 1px solid rgba(17, 33, 63, 0.06);
    border-radius: 24px;
}

.tbp-sitewide-google-reviews__intro,
.tbp-sitewide-google-reviews__inner {
    width: min(100%, 1100px);
    margin: 0 auto;
}

.tbp-sitewide-google-reviews__intro {
    margin-bottom: 18px;
}

.tbp-sitewide-google-reviews__eyebrow {
    margin: 0 0 6px;
    color: #1e4bae;
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.tbp-sitewide-google-reviews__title {
    margin: 0;
    color: #11213f;
    font-size: clamp(1.15rem, 1.02rem + 0.45vw, 1.55rem);
    line-height: 1.12;
    letter-spacing: -0.03em;
}

.tbp-sitewide-google-reviews .wp-gr[data-id="7512"] {
    margin: 0 !important;
}

@media (min-width: 1024px) {
    .tbp-sitewide-google-reviews .wp-gr[data-id="7512"] .grw-row {
        display: grid !important;
        grid-template-columns: minmax(230px, 290px) minmax(0, 1fr) !important;
        align-items: center !important;
        gap: 24px !important;
    }

    .tbp-sitewide-google-reviews .wp-gr[data-id="7512"] .grw-header,
    .tbp-sitewide-google-reviews .wp-gr[data-id="7512"] .grw-content {
        width: auto !important;
        min-width: 0 !important;
        flex: none !important;
    }

    .tbp-sitewide-google-reviews .wp-gr[data-id="7512"] .grw-content-inner {
        gap: 14px !important;
    }

    .tbp-sitewide-google-reviews .wp-gr[data-id="7512"] .grw-reviews {
        min-width: 0 !important;
    }

    .tbp-sitewide-google-reviews .wp-gr[data-id="7512"] .grw-review,
    .tbp-sitewide-google-reviews .wp-gr[data-id="7512"] .rpi-slide {
        width: clamp(360px, 34vw, 460px) !important;
        flex: 0 0 clamp(360px, 34vw, 460px) !important;
    }

    .tbp-sitewide-google-reviews .wp-gr[data-id="7512"] .grw-review-inner {
        min-height: 232px !important;
    }
}

@media (max-width: 782px) {
    .tbp-sitewide-google-reviews {
        margin-top: 28px;
        padding-inline: 12px;
        border-radius: 20px;
    }

    .tbp-sitewide-google-reviews__intro {
        margin-bottom: 14px;
    }

    .tbp-sitewide-google-reviews__title {
        font-size: 1.08rem;
    }
}
