/*
Theme Name: Astra Child
Theme URI: https://wpastra.com/
Description: Thème enfant pour Astra
Author: O3
Template: astra
Version: 1.2.0
Text Domain: astra-child
*/

/* FONTS  */
/* abhaya-libre-regular - latin SERIF */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Abhaya Libre";
  font-style: normal;
  font-weight: 400;
  src: url("fonts/abhaya-libre-v18-latin-regular.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* abhaya-libre-600 - latin SERIF SEMIBOLD */
@font-face {
  font-display: swap;
  font-family: "Abhaya Libre";
  font-style: normal;
  font-weight: 600;
  src: url("fonts/abhaya-libre-v18-latin-600.woff2") format("woff2");
}

/* abhaya-libre-700 - latin SERIF BOLD */
@font-face {
  font-display: swap;
  font-family: "Abhaya Libre";
  font-style: normal;
  font-weight: 700;
  src: url("fonts/abhaya-libre-v18-latin-700.woff2") format("woff2");
}

/* inter-regular - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Inter";
  font-style: normal;
  font-weight: 400;
  src: url("fonts/inter-v20-latin-regular.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* inter-500 - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Inter";
  font-style: normal;
  font-weight: 500;
  src: url("fonts/inter-v20-latin-500.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* inter-600 - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Inter";
  font-style: normal;
  font-weight: 600;
  src: url("fonts/inter-v20-latin-600.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* inter-700 - latin */
@font-face {
  font-display: swap;
  font-family: "Inter";
  font-style: normal;
  font-weight: 700;
  src: url("fonts/inter-v20-latin-700.woff2") format("woff2");
}

/* jost-regular - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Jost";
  font-style: normal;
  font-weight: 400;
  src: url("fonts/jost-v20-latin-regular.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* jost-500 - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Jost";
  font-style: normal;
  font-weight: 500;
  src: url("fonts/jost-v20-latin-500.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* jost-700 - latin */
@font-face {
  font-display: swap;
  font-family: "Jost";
  font-style: normal;
  font-weight: 700;
  src: url("fonts/jost-v20-latin-700.woff2") format("woff2");
}

/* CUSTOM PROPS - Responsive Clamp Typography (Mobile 320px -> Desktop 1440px) */
:root {
  --13px: clamp(0.75rem, 0.73rem + 0.1vw, 0.813rem);
  --14px: clamp(0.813rem, 0.79rem + 0.1vw, 0.875rem);
  --15px: clamp(0.844rem, 0.81rem + 0.15vw, 0.938rem);
  --16px: clamp(0.875rem, 0.83rem + 0.2vw, 1rem);
  --17px: clamp(0.938rem, 0.9rem + 0.2vw, 1.063rem);
  --18px: clamp(1rem, 0.95rem + 0.2vw, 1.125rem);
  --20px: clamp(1.063rem, 1rem + 0.3vw, 1.25rem);
  --22px: clamp(1.125rem, 1.05rem + 0.4vw, 1.375rem);
  --30px: clamp(1.375rem, 1.2rem + 0.75vw, 1.875rem);
  --36px: clamp(1.625rem, 1.4rem + 0.9vw, 2.25rem);
  --40px: clamp(1.75rem, 1.5rem + 1.1vw, 2.5rem);
  --48px: clamp(2rem, 1.65rem + 1.5vw, 3rem);
  --63px: clamp(2.25rem, 1.65rem + 2.5vw, 3.938rem);
}

/* Header menu links – niveau 1 : 16px */
.main-header-menu>.menu-item>.menu-link,
#ast-hf-menu-2>li>a {
  font-size: 16px !important;
}

/* Header menu links – sous-menus : taille par défaut */
.main-header-menu .sub-menu .menu-link,
.main-header-menu .sub-menu li a {
  font-size: var(--13px) !important;
}

/* Masquer la flèche dropdown du premier lien du menu principal */
.main-header-menu>.menu-item:first-child>.menu-link .ast-header-navigation-arrow,
/* Masquer les flèches dropdown sur Gamme miel, lavandin, propolis */
#menu-item-418>.menu-link .ast-header-navigation-arrow,
#menu-item-409>.menu-link .ast-header-navigation-arrow,
#menu-item-410>.menu-link .ast-header-navigation-arrow {
  display: none !important;
}

/* Liens "Accessoires" et "Coffret" du premier dropdown en bold */
.main-header-menu>.menu-item:first-child>.sub-menu>#menu-item-5782>a,
.main-header-menu>.menu-item:first-child>.sub-menu>#menu-item-5782>.menu-link {
  font-weight: 700 !important;
  padding-top: 10px !important;
}

.main-header-menu>.menu-item:first-child>.sub-menu>li:last-child>a,
.main-header-menu>.menu-item:first-child>.sub-menu>li:last-child>.menu-link {
  font-weight: 700 !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

/* Sous-menus Gamme : font-weight normal + couleur gold au hover */
#menu-item-418 .sub-menu a,
#menu-item-409 .sub-menu a,
#menu-item-410 .sub-menu a {
  font-weight: 400 !important;
}

#menu-item-418>.sub-menu,
#menu-item-409>.sub-menu,
#menu-item-410>.sub-menu {
  padding: 10px !important;
}

#menu-item-418 .sub-menu a:hover,
#menu-item-418 .sub-menu a:focus,
#menu-item-409 .sub-menu a:hover,
#menu-item-409 .sub-menu a:focus,
#menu-item-410 .sub-menu a:hover,
#menu-item-410 .sub-menu a:focus {
  color: #c89d4f !important;
}

/* Supprimer le bottom padding par défaut des blocs Astra sur toutes les pages */
body {
  --wp--custom--ast-default-block-bottom-padding: 0em;
}


/* Fix débordement horizontal (bandeau blanc à droite causé par 100vw + scrollbar) */
html,
body,
#page {
  overflow-x: clip !important;
  max-width: 100% !important;
}

/* Menu mobile ================================================= */

/* Bouton filtrer : masqué sur desktop */
.filter-toggle-btn {
  display: none;
}

@media (max-width: 922.9px) {

  /* Sidebar filtre en haut sur mobile/tablette */
  #primary,
  .ast-woocommerce-container,
  .site-content>.ast-container,
  #content>.ast-container {
    display: flex !important;
    flex-direction: column !important;
  }

  #secondary.widget-area {
    width: 100% !important;
    margin-bottom: 0 !important;
  }

  .ast-separate-container #primary {
    padding: 0 !important;
  }

  #secondary {
    margin: 0 !important;
  }

  .sidebar-main {
    display: flex !important;
    flex-direction: column !important;
  }

  .ast-woo-sidebar-widget.widget.widget_block {
    order: 1 !important;
  }

  #primary {
    width: 100% !important;
  }
}

/* Bouton filtrer : tablette uniquement (mobile a déjà le sien) */
@media (min-width: 600.1px) and (max-width: 922.9px) {
  .filter-toggle-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 12px 20px;
    margin-bottom: 16px;
    background-color: #c19d5b;
    color: #fff;
    border: none;
    border-radius: 50px;
    font-family: "Inter", sans-serif;
    font-size: 15px;
    font-weight: 500;
    cursor: pointer;
  }

  #secondary {
    display: none !important;
  }

  #secondary.filter-open {
    display: block !important;
  }
}

@media (max-width: 600px) {

  .woocommerce ul.products li.product,
  .wc-block-product-template li {
    flex: 0 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .banniere-responsive.wp-block-cover,
  .banniere-responsive.wp-block-group {
    min-height: 100px !important;
    padding-top: 2rem !important;
  }

  .ast-search-box.full-screen .ast-search-wrapper .search-submit {
    width: 35px !important;
    height: 35px !important;
  }
}

/* Ajustement mobile page d'inscription */
@media (max-width: 768px) {
  .form-row {
    flex-direction: column;
    gap: 15px;
  }

  .form-row .form-group {
    flex: 1;
  }
}

@media screen and (max-width: 922.9px) {
  .ast-main-header-nav-open.ast-header-break-point .ast-mobile-header-wrap .ast-mobile-header-content {
    position: fixed;
    left: 0;
    right: 0;
    top: 102px;
    bottom: 0;
    z-index: 1000;
    box-shadow: 2px 2px 3px #00000030;
    padding-top: 2rem;
    width: 100% !important;
    max-width: 100% !important;
    overflow-y: auto;
  }

  .main-header-bar-wrap {
    z-index: 1001;
  }

  #ast-hf-mobile-menu a {
    font-size: 15px !important;
  }

  /* Sous-menu mobile sans enfants : puce hexagonale (mobile uniquement) */
  #ast-hf-mobile-menu .sub-menu li:not(.menu-item-has-children)>a>.ast-icon.icon-arrow {
    display: none !important;
  }

  /* Sous-menu mobile avec enfants : retirer le chevron Right */
  #ast-hf-mobile-menu .sub-menu li.menu-item-has-children>a>.ast-icon.icon-arrow {
    display: none !important;
  }

  /* Fallback: masquer tout chevron right restant injecté dans le lien */
  #ast-hf-mobile-menu .sub-menu li>a>.ast-header-navigation-arrow {
    display: none !important;
  }

  #ast-hf-mobile-menu .sub-menu .sub-menu li:not(.menu-item-has-children)>a {
    position: relative;
    padding-left: 80px !important;
  }

  #ast-hf-mobile-menu .sub-menu .sub-menu li:not(.menu-item-has-children)>a::before {
    content: "";
    position: absolute;
    left: 60px;
    top: 50%;
    transform: translateY(-50%);
    width: 8px;
    height: 8px;
    background: url("./assets/img/list-style-hexagon.png") no-repeat center / contain;
  }

  /* Gammes (miel/propolis/lavandin) : puce sur liens terminaux du niveau 1 */
  #ast-hf-mobile-menu>li.ab-mobile-gamme-item>.sub-menu>li:not(.menu-item-has-children)>a {
    position: relative;
    padding-left: 50px !important;
  }

  #ast-hf-mobile-menu>li.ab-mobile-gamme-item>.sub-menu>li:not(.menu-item-has-children)>a::before {
    content: "";
    position: absolute;
    left: 30px;
    top: 50%;
    transform: translateY(-50%);
    width: 8px;
    height: 8px;
    background: url("./assets/img/list-style-hexagon.png") no-repeat center / contain;
  }

  /* Sous-entrées niveau 1 (ex: Infos pratiques) : puce hexagonale */
  #ast-hf-mobile-menu>li>.sub-menu>li:not(.menu-item-has-children)>a {
    position: relative;
    padding-left: 50px !important;
  }

  #ast-hf-mobile-menu>li>.sub-menu>li:not(.menu-item-has-children)>a::before {
    content: "";
    position: absolute;
    left: 30px;
    top: 50%;
    transform: translateY(-50%);
    width: 8px;
    height: 8px;
    background: url("./assets/img/list-style-hexagon.png") no-repeat center / contain;
  }

  /* Exception: pas de puce hexagonale pour Accessoires et Coffrets */
  #ast-hf-mobile-menu>li>.sub-menu>li#menu-item-5782>a::before,
  #ast-hf-mobile-menu>li>.sub-menu>li:not(.menu-item-has-children)>a[href*="accessoire"]::before,
  #ast-hf-mobile-menu>li>.sub-menu>li:not(.menu-item-has-children)>a[href*="coffret"]::before {
    content: none !important;
    background: none !important;
  }

  /* Décalage visuel renforcé des sous-menus dans le burger */
  #ast-hf-mobile-menu .sub-menu > li > a {
    padding-left: 50px !important;
  }

  #ast-hf-mobile-menu .sub-menu .sub-menu > li > a {
    padding-left: 80px !important;
  }

  /* Menu mobile en 3 catégories + 2 séparateurs dorés */
  #ast-hf-mobile-menu>li.ab-mobile-group-middle-start:not(:first-child),
  #ast-hf-mobile-menu>li.ab-mobile-group-account-start:not(:first-child),
  #ast-hf-mobile-menu>li.ab-mobile-group-story-start:not(:first-child) {
    border-top: 1px solid #c89d4f;
    margin-top: 10px;
    padding-top: 10px;
  }

  header .site-logo-img img {
    box-shadow: none;
  }

  #ast-mobile-header .ast-primary-header-bar {
    min-height: 60px !important;
    height: 60px !important;
  }

  #ast-mobile-header .ast-primary-header-bar .ast-builder-grid-row {
    height: 68px !important;
  }

  #ast-mobile-header .ast-container,
  #ast-mobile-header .site-primary-header-wrap {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    box-sizing: border-box !important;
  }

  #ast-mobile-header .site-header-primary-section-right {
    height: 48px !important;
    flex-shrink: 0 !important;
  }

  /* Cacher recherche et panier dans la barre mobile (déplacés dans le dropdown) */
  #ast-mobile-header .ast-primary-header-bar .ast-search-menu-icon,
  #ast-mobile-header .ast-primary-header-bar .ast-site-header-cart,
  #ast-mobile-header .ast-primary-header-bar .ast-header-woo-cart,
  #ast-mobile-header .ast-primary-header-bar [data-section="woocommerce-mini-cart"],
  #ast-mobile-header .ast-primary-header-bar [data-section="section-header-woo-cart"] {
    display: none !important;
  }

  /* Recherche et panier dans le dropdown mobile */
  .ast-mobile-header-content .mobile-search-cart-wrapper {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-top: 10px;
    padding: 1rem;
    border-bottom: 1px solid #eee;
  }

  .ast-mobile-header-content .mobile-search-cart-wrapper .search-form {
    flex: 1;
    background: #f5f5f5;
    border-radius: 5px;
    display: flex;
    align-items: center;
    padding: 0;
  }

  .ast-mobile-header-content .mobile-search-cart-wrapper .search-form label {
    display: flex;
    align-items: center;
    width: 100%;
    position: relative;
  }

  .ast-mobile-header-content .mobile-search-cart-wrapper .search-field {
    background: transparent;
    border: none;
    font-size: 14px;
    font-family: "Inter", sans-serif;
    padding: 8px 10px 8px 32px;
    width: 100%;
    color: #242d5c;
  }

  .ast-mobile-header-content .mobile-search-cart-wrapper .search-field:focus {
    outline: 2px solid #c89d4f;
    outline-offset: 2px;
  }

  .ast-mobile-header-content .mobile-search-cart-wrapper .search-inline-icon {
    position: absolute;
    left: 8px;
    top: 50%;
    transform: translateY(-50%);
    color: #999;
    pointer-events: none;
  }

  .ast-mobile-header-content .mobile-search-cart-wrapper .search-submit {
    display: none;
  }

  .ast-mobile-header-content .mobile-search-cart-wrapper .mobile-cart-link {
    display: flex;
    align-items: center;
    color: #242d5c;
    text-decoration: none;
    position: relative;
  }

  .ast-mobile-header-content .mobile-search-cart-wrapper .mobile-cart-link svg {
    width: 22px;
    height: 22px;
    transform: translateY(2px);
  }

  .ast-mobile-header-content .mobile-search-cart-wrapper .mobile-cart-count {
    position: absolute;
    top: -6px;
    right: -8px;
    background: #c89d4f;
    color: #fff;
    font-size: 10px;
    font-weight: 600;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  #ast-mobile-header .site-header-primary-section-right .ast-builder-layout-element {
    margin-top: -1rem !important;
  }

  .site-header-primary-section-center .site-logo-img img {
    position: absolute !important;
    top: -2px;
    left: 50%;
    transform: translateX(-50%);
    box-shadow: 2px 2px 4px #0f0f0f1c;
    width: 122px !important;
    height: 147px !important;
  }

  .ast-below-header-bar:has(nav#menu_3-site-navigation-desktop) {
    height: 48px !important;
    min-height: unset;
  }

  /* Padding pour décoller le contenu texte de la compo des bords de l'écran en mobile */
  .essaim-padding,
  .contact-vdi {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .esvp-vdi-padding-btn {
    padding-bottom: 20px !important;
  }
}

/* Page panier centrée */
.wp-block-woocommerce-cart.alignwide {
  margin: auto !important;
}

.wp-block-woocommerce-cart span.price {
  text-align: inherit !important;
}

/* Panier vide : centrer le message et le bouton retour */
.wp-block-woocommerce-empty-cart-block {
  text-align: center;
}

.wp-block-woocommerce-empty-cart-block .cart-empty {
  margin-bottom: 1.5rem;
}

.wp-block-woocommerce-empty-cart-block .return-to-shop {
  display: flex;
  justify-content: center;
}

/* Cartes produits dans le panier vide : même style que la grille */
/* Cartes produits dans le panier vide (bloc wc-block-grid) */
.wp-block-woocommerce-empty-cart-block li.wc-block-grid__product {
  text-align: center !important;
}

.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-link {
  color: #926e2a !important;
  font-family: "Inter", sans-serif !important;
  font-size: var(--14px) !important;
  text-align: center !important;
  text-decoration: none !important;
}

.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
}

.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price .woocommerce-Price-amount {
  color: #244496 !important;
  font-size: var(--22px) !important;
  font-family: "Abhaya Libre", serif !important;
}

.wp-block-woocommerce-empty-cart-block .product-public-price-list {
  display: block !important;
  font-weight: 700 !important;
}

.wp-block-woocommerce-empty-cart-block .product-public-price-list .product-price-label {
  font-size: var(--16px);
  color: #244496;
  font-weight: 400 !important;
  font-family: "Inter", sans-serif !important;
}

.wp-block-woocommerce-empty-cart-block .product-vdi-price-list {
  display: block !important;
  color: #242d5c !important;
  font-weight: 600 !important;
  font-family: "Abhaya Libre", serif !important;
  margin-left: 0;
  margin-top: 4px;
}

.wp-block-woocommerce-empty-cart-block .product-vdi-price-list span,
.wp-block-woocommerce-empty-cart-block .product-vdi-price-list .woocommerce-Price-amount {
  color: #242d5c !important;
  font-weight: 600 !important;
  font-family: "Abhaya Libre", serif !important;
}

.wp-block-woocommerce-empty-cart-block .product-vdi-price-list .product-price-label {
  font-size: var(--16px);
  color: #242d5c !important;
  font-weight: 400 !important;
  font-family: "Inter", sans-serif !important;
}



/* Messages WooCommerce (ajout panier, infos) */
.ast-woocommerce-container .woocommerce-notices-wrapper .woocommerce-message,
.ast-woocommerce-container .woocommerce-notices-wrapper .woocommerce-info {
  background: transparent !important;
  background-color: transparent !important;
  border-top: 3px solid #c89d4f !important;
  border-top-color: #c89d4f !important;
  border-left: none !important;
  display: block !important;
}

.ast-woocommerce-container .woocommerce-notices-wrapper .woocommerce-message::before,
.ast-woocommerce-container .woocommerce-notices-wrapper .woocommerce-info::before {
  color: #c89d4f !important;
}

.ast-woocommerce-container .woocommerce-notices-wrapper .woocommerce-message a.button.wc-forward,
.ast-woocommerce-container .woocommerce-notices-wrapper .woocommerce-info a.button.wc-forward {
  display: block !important;
  width: fit-content !important;
  float: none !important;
  margin: 8px 0 0 !important;
}

/* Libérer la largeur max sur la page d'accueil uniquement*/

/* .home main,
main {
  max-width: 100% !important;
} */

/* Si tu utilises Gutenberg : aligner les blocs 'Pleine largeur' correctement */
.home .alignfull {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  max-width: 100vw;
  width: 100vw;
}



.icon-bag svg,
.ast-header-account-link.ast-account-action-link.ast-header-account-type-icon svg {
  fill: white !important;
}

.ast-icon-shopping-bag::after {
  color: #242d5c !important;
  background-color: white !important;
}

/* Menu desktop ================================================= */
@media screen and (min-width: 922.9px) {

  nav[aria-label="Navigation secondaire du site"] ul:not(.sub-menu)>li:hover>a,
  nav[aria-label="Navigation secondaire du site"] ul:not(.sub-menu)>li:focus-within>a,
  nav[aria-label="Navigation secondaire du site"] ul:not(.sub-menu)>li.ast-menu-hover>a {
    color: #fff !important;
  }

  nav[aria-label="Navigation secondaire du site"] ul:not(.sub-menu)>li.menu-item-has-children:hover>a,
  nav[aria-label="Navigation secondaire du site"] ul:not(.sub-menu)>li.menu-item-has-children:focus-within>a,
  nav[aria-label="Navigation secondaire du site"] ul:not(.sub-menu)>li.menu-item-has-children.ast-menu-hover>a {
    background: #fff !important;
    color: #242d5c !important;
    text-decoration: none !important;
  }

  nav[aria-label="Navigation secondaire du site"] ul:not(.sub-menu)>li.menu-item-has-children>a {
    position: relative;
  }

  nav[aria-label="Navigation secondaire du site"] ul:not(.sub-menu)>li.menu-item-has-children>a::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%) scaleX(0);
    transform-origin: center;
    width: 80%;
    height: 2px;
    background-color: #242d5c;
    transition: transform 0.3s ease-in-out;
  }

  nav[aria-label="Navigation secondaire du site"] ul:not(.sub-menu)>li.menu-item-has-children:hover>a::after,
  nav[aria-label="Navigation secondaire du site"] ul:not(.sub-menu)>li.menu-item-has-children:focus-within>a::after,
  nav[aria-label="Navigation secondaire du site"] ul:not(.sub-menu)>li.menu-item-has-children.ast-menu-hover>a::after {
    transform: translateX(-50%) scaleX(1);
  }

  /* Flèche du dropdown bleue au hover */
  nav[aria-label="Navigation secondaire du site"] ul:not(.sub-menu)>li.menu-item-has-children:hover .ast-header-navigation-arrow svg,
  nav[aria-label="Navigation secondaire du site"] ul:not(.sub-menu)>li.menu-item-has-children:focus-within .ast-header-navigation-arrow svg,
  nav[aria-label="Navigation secondaire du site"] ul:not(.sub-menu)>li.menu-item-has-children.ast-menu-hover>a>.ast-header-navigation-arrow,
  nav[aria-label="Navigation secondaire du site"] ul:not(.sub-menu)>li.menu-item-has-children:hover>a>.ast-header-navigation-arrow svg,
  nav[aria-label="Navigation secondaire du site"] ul:not(.sub-menu)>li.menu-item-has-children:focus-within>a>.ast-header-navigation-arrow svg,
  nav[aria-label="Navigation secondaire du site"] ul:not(.sub-menu)>li.menu-item-has-children.ast-menu-hover>a>.ast-header-navigation-arrow svg,
  nav[aria-label="Navigation secondaire du site"] ul:not(.sub-menu)>li.menu-item-has-children:hover>a>.ast-header-navigation-arrow svg path,
  nav[aria-label="Navigation secondaire du site"] ul:not(.sub-menu)>li.menu-item-has-children:focus-within>a>.ast-header-navigation-arrow svg path,
  nav[aria-label="Navigation secondaire du site"] ul:not(.sub-menu)>li.menu-item-has-children.ast-menu-hover>a>.ast-header-navigation-arrow svg path {
    fill: #242d5c !important;
    color: #242d5c !important;
  }

  nav[aria-label="Navigation secondaire du site"] li:hover>a::before,
  nav[aria-label="Navigation secondaire du site"] li:focus-within>a::before,
  nav[aria-label="Navigation secondaire du site"] li.ast-menu-hover>a::before {
    background-color: #242d5c !important;
    top: 62px !important;
  }

  nav[aria-label="Navigation secondaire du site"] li:hover .sub-menu,
  nav[aria-label="Navigation secondaire du site"] li:focus-within .sub-menu,
  nav[aria-label="Navigation secondaire du site"] li.ast-menu-hover .sub-menu {
    min-width: 100% !important;
    max-width: max-content;
    border: none;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    background-color: #fff !important;
  }

  nav[aria-label="Navigation secondaire du site"] li:hover .sub-menu a {
    color: #242d5c !important;
    font-weight: 500;
    line-height: 1.3;
    padding-top: 0.1rem;
    padding-bottom: 0.1rem;
  }

  /* --- Dropdown structuré : catégories + sous-catégories --- */


  /* Catégories (items avec enfants) : gras */
  nav[aria-label="Navigation secondaire du site"] .sub-menu>li.menu-item-has-children>a {
    font-weight: 700 !important;
    margin-top: 0.75rem;
  }

  /* Sous-menu niveau 2 : affiché inline (pas en flyout) */
  nav[aria-label="Navigation secondaire du site"] .sub-menu .sub-menu {
    position: static !important;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    min-width: 0 !important;
    border: none !important;
  }

  /* Réduire le padding sur tous les liens et li du dropdown */
  nav[aria-label="Navigation secondaire du site"] .sub-menu li {
    padding: 0 !important;
    margin: 0 !important;
  }

  nav[aria-label="Navigation secondaire du site"] .sub-menu a {
    padding: 0.15rem 1em !important;
  }

  /* Sous-menus des 3 gammes: retrait horizontal réduit */
  #menu-item-418 .sub-menu a,
  #menu-item-409 .sub-menu a,
  #menu-item-410 .sub-menu a,
  #menu-item-418 .sub-menu .menu-link,
  #menu-item-409 .sub-menu .menu-link,
  #menu-item-410 .sub-menu .menu-link {
    padding-left: 0.6em !important;
  }

  /* Alignement précis dropdown <-> lien parent pour les 3 gammes */
  #menu-item-418,
  #menu-item-409,
  #menu-item-410 {
    position: relative;
  }

  #menu-item-418>.sub-menu,
  #menu-item-409>.sub-menu,
  #menu-item-410>.sub-menu {
    left: 0 !important;
    right: auto !important;
    top: 100% !important;
    margin-top: 0 !important;
    transform: none !important;
    min-width: 100% !important;
    width: max-content;
    box-sizing: border-box;
  }

  /* Sous-catégories : poids normal + padding minimal */
  nav[aria-label="Navigation secondaire du site"] .sub-menu .sub-menu li a,
  nav[aria-label="Navigation secondaire du site"] .sub-menu .sub-menu li .menu-link {
    font-weight: 400 !important;
    padding: 0 1em !important;
    margin: 0 !important;
    line-height: 1.6 !important;
  }

  /* Sous-sous-liens : hover gold */
  nav[aria-label="Navigation secondaire du site"] .sub-menu .sub-menu li a:hover,
  nav[aria-label="Navigation secondaire du site"] .sub-menu .sub-menu li a:focus {
    color: #a07b2e !important;
  }

  /* Dropdown mega-menu : catégories côte à côte */
  nav[aria-label="Navigation secondaire du site"] li>.sub-menu {
    display: flex !important;
    flex-wrap: wrap;
  }

  /* "Tous les produits" prend toute la largeur */
  nav[aria-label="Navigation secondaire du site"] .sub-menu>li:first-child {
    width: 100%;
  }

  /* Chaque catégorie devient une colonne */
  nav[aria-label="Navigation secondaire du site"] .sub-menu>li.menu-item-has-children {
    flex: 1;
    min-width: 0;
  }

  .ast-primary-header-bar.ast-primary-header.main-header-bar.site-header-focus-item {
    height: 84px;
  }

  .ast-primary-header-bar.ast-primary-header.main-header-bar.site-header-focus-item .site-logo-img img {
    position: absolute;
    top: -25px;
    left: 50%;
    transform: translateX(-50%);
    width: 173px !important;
    height: 208px !important;
    z-index: 10;
  }

  .site-primary-header-wrap.ast-builder-grid-row-container.site-header-focus-item.ast-container {
    height: 84px;
  }

  .ast-desktop .ast-primary-header-bar .main-header-menu>.menu-item {
    line-height: 1.5;
  }

  .ast-below-header-bar.ast-below-header.site-header-focus-item {
    height: 57px;
    background-color: white;
  }

  /* "Nos gammes" : dropdown regroupé (visible entre 922px et 1100px) */
  .ab-nos-gammes>.menu-link {
    color: #fff !important;
  }

  .ab-nos-gammes:hover>.menu-link,
  .ab-nos-gammes.ast-menu-hover>.menu-link {
    background: #fff !important;
    color: #242d5c !important;
  }

  .ab-nos-gammes>.sub-menu {
    display: none !important;
    position: absolute;
    background: #fff !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    min-width: 200px;
  }

  .ab-nos-gammes:hover>.sub-menu,
  .ab-nos-gammes.ast-menu-hover>.sub-menu {
    display: block !important;
  }

  .ab-nos-gammes .sub-menu a {
    color: #242d5c !important;
    font-weight: 400 !important;
  }

  .ab-nos-gammes>.sub-menu>.menu-item>a {
    font-weight: 700 !important;
    margin-top: 0.75rem;
  }

  .ab-nos-gammes .sub-menu a:hover {
    color: #c89d4f !important;
  }

  .ast-desktop .ast-below-header-bar .main-header-menu>.menu-item {
    line-height: 1.5 !important;
  }

  .ast-mobile-header-wrap .ast-below-header-bar,
  .ast-below-header-bar .site-below-header-wrap {
    min-height: 57px;
    height: 57px;
  }

  #ast-hf-menu-2>li:hover>a,
  #ast-hf-menu-2>li:focus-within>a,
  #ast-hf-menu-2>li.ast-menu-hover>a {
    padding-top: 13px;
  }

  nav[aria-label="Navigation secondaire du site"] .current-menu-item:not(:hover)>a {
    color: #fff !important;
  }

  #ast-hf-menu-2>li>a {
    padding-top: 13px;
    padding-bottom: 13px;
  }

  #ast-hf-menu-2>li:hover>a::before,
  #ast-hf-menu-2>li:focus-within>a::before,
  #ast-hf-menu-2>li.ast-menu-hover>a::before {
    transform: scale(1, 1) translate(50%, -13px) !important;
  }

  div[data-section="section-below-header-builder"] {
    border: none;
    position: relative;
  }

  div[data-section="section-below-header-builder"]::after {
    position: absolute;
    content: "";
    bottom: 3px;
    width: 100%;
    height: 2px;
    background-color: #c89d4f;
  }
}

/* Breadcrumbs */
.main-header-bar.ast-header-breadcrumb {
  border-bottom: inherit !important;
}

/* Masqué sur la page d'accueil (inutile d'indiquer où on est) */
.home .ast-breadcrumbs-wrapper {
  display: none;
}

.trail-items li {
  font-size: var(--16px) !important;
}

.trail-items li:not(.trail-end) {
  font-weight: 800 !important;
}

.trail-items li.trail-begin a::before {
  content: "";
  display: inline-block;
  width: 2em;
  height: 2em;
  background-image: url("./assets/img/home-icon-for-breadcrumb.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  vertical-align: middle;
  margin-top: -4px;
}

.trail-items li.trail-begin a:focus-visible {
  outline: 2px solid #926e2a;
  outline-offset: 2px;
  border-radius: 2px;
}

/* ========== Bandeau ruche bleu Desktop ========== */

.bandeau-ruche-bleu {
  background-color: #242d5c;
  position: relative;
  padding-top: 100px;
  z-index: 1;
}

.bandeau-ruche-bleu::after {
  content: "";
  position: absolute;
  top: auto;
  left: 0;
  width: 100%;
  height: 500px;
  background-image: url(./assets/img/bandeau_ruche_bleu.png);
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 100% auto;
  /* Largeur 100%, hauteur auto pour ne pas déformer */
  z-index: 0;
  /* Devant le bleu, mais derrière le texte (si texte z-index > 0) */
  pointer-events: none;
  border-top: 3px solid #BA8C36;
}

/* =========================================
   RESPONSIVE BANDEAU RUCHE BLEU
   (Regroupé pour maintenance facile)
   ========================================= */

/* MOBILE (< 922.9px) */
@media screen and (max-width: 922.9px) {
  .bandeau-ruche-bleu::after {
    bottom: 0;
    padding: 0px;
    height: 300px;
    border-top: none;
  }
}

/* DESKTOP (>= 922.9px) */
@media screen and (min-width: 922.9px) {
  .bandeau-ruche-bleu {
    /* Marge pour éviter que le prochain bloc ne passe sous l'image qui dépasse */
    /* 131px (hauteur image) + 70px (marge souhaitée) = 201px */
    margin-bottom: 131px !important;
  }

  .bandeau-ruche-bleu::after {
    /* Force la hauteur exacte demandée */
    height: 131px;
    /* Fait dépasser l'image vers le bas d'exactement sa hauteur */
    bottom: -131px;
    /* S'assure que l'image remplit la zone */
    background-size: cover;
  }
}

/* Forcer le texte en blanc pour les liens du menu et l'icône flèche (Global) */
.ast-header-break-point .main-header-bar .main-header-menu .menu-item>.menu-link,
.main-header-menu .menu-item>.menu-link,
.ast-header-navigation-arrow,
.ast-header-navigation-arrow svg,
.ast-header-navigation-arrow svg path {
  fill: #ffffff !important;
}

/* SUBFOOTER  */
#subfooter {
  padding: 3rem 35px;
}

.subfooter-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 2rem;
}

.subfooter-column {
  flex: 1;
  min-width: 150px;
}

#subfooter .widget-title,
#subfooter h2,
#subfooter h3 {
  font-family: "Inter", sans-serif;
  font-size: var(--18px);
  font-weight: 600;
  color: #926e2a;
  margin-bottom: 18px;
}

#subfooter a {
  font-family: "Inter", sans-serif;
  font-size: var(--15px);
  font-weight: 400;
  color: #0a0a0a;
  text-decoration: none;
}

#subfooter a:hover {
  text-decoration: underline;
  color: #0a0a0a !important;
}

#subfooter ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

#subfooter ul li {
  margin-bottom: 8px;
}

#subfooter ul li::before {
  display: none !important;
  content: none !important;
}

@media (max-width: 768px) {
  .subfooter-container {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
}

/* FOOTER  */
footer#colophon {
  max-width: 100% !important;
  padding-inline: clamp(20px, 4vw, 54px) !important;
}

footer#colophon .site-above-footer-wrap {
  max-width: 1472px !important;
  margin-inline: auto !important;
  padding-inline: 0px !important;
}

.ast-builder-footer-grid-columns.site-above-footer-inner-wrap.ast-builder-grid-row {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
}


.site-footer-above-section-2.site-footer-section.site-footer-section-2 {
  display: flex;
  flex-direction: row;
  gap: 4rem;
}

.site-above-footer-wrap.ast-builder-grid-row-container.site-footer-focus-item.ast-builder-grid-row-2-equal.ast-builder-grid-row-tablet-2-equal.ast-builder-grid-row-mobile-full.ast-footer-row-stack.ast-footer-row-tablet-stack.ast-footer-row-mobile-stack {
  background-color: white;
}

img.alignnone.size-full.wp-image-99 {
  width: 55px;
}

a.footer-logo-link-custom {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.footer-logo-title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

span.footer-link-text-custom {
  font-family: "Inter";
  color: #926e2a;
  font-size: var(--22px);
  font-weight: 500;
}

.footer-logo-link-custom+p {
  margin-bottom: 0;
}

.subtitle-footer {
  padding-left: 0.5rem;
}

ul#ast-hf-menu-3 li:last-child a {
  padding-right: 0;
}

#ast-hf-menu-3>li>a {
  font-size: 16px !important;
  transition: text-shadow 0.2s ease-in-out;
}

#ast-hf-menu-3>li>a:hover {
  text-shadow: 0 0 0.01px currentColor, 0 0 0.01px currentColor;
}

.main-header-bar.ast-header-breadcrumb .trail-items li:first-child span {
  padding-left: 0.5rem;
}

[data-section="section-fb-social-icons-1"] .footer-social-inner-wrap {
  text-align: center;
  display: flex;
  padding-left: 0.5rem;
  gap: 12px;
}

[data-section="section-fb-social-icons-1"] .footer-social-inner-wrap a {
  margin: 0;
  width: 28px;
  height: 28px;
  transition: opacity 0.2s ease-in-out;
}

.ast-footer-social-1-wrap .ast-builder-social-element:hover {
  opacity: 0.6;
}

footer h2 {
  font-family: "Inter", sans-serif;
  font-size: var(--18px) !important;
  font-weight: 600 !important;
  color: #926e2a !important;
  margin-bottom: 18px !important;
}

footer h2+nav a {
  font-family: "Inter", sans-serif;
  font-size: 16px !important;
  color: #0a0a0a;
  text-decoration: none;
}

footer h2+nav a:hover {
  text-decoration: underline;
  color: #0a0a0a !important;
}

.site-primary-footer-wrap.ast-builder-grid-row-container.site-footer-focus-item.ast-builder-grid-row-3-equal.ast-builder-grid-row-tablet-3-equal.ast-builder-grid-row-mobile-full.ast-footer-row-stack.ast-footer-row-tablet-stack.ast-footer-row-mobile-stack {
  background-color: white;
}

.ast-footer-copyright {
  grid-template-columns: 1fr auto !important;
  align-items: center;
}

.ast-footer-copyright p {
  color: #0a0a0a;
  font-family: "Inter", sans-serif;
  font-size: 12px;
  margin: 0;
}

.site-primary-footer-wrap nav a {
  font-size: 12px !important;
  color: #0a0a0a !important;
}

.ast-footer-social-1-wrap .ast-builder-social-element svg {
  width: 28px;
  height: 28px;
}

.site-primary-footer-wrap .site-footer-primary-section-1 {
  justify-self: start !important;
}

.site-primary-footer-wrap .site-footer-primary-section-2 {
  justify-self: end !important;
}

.site-primary-footer-wrap #astra-footer-menu {
  justify-content: flex-end !important;
}

.site-primary-footer-wrap[data-section="section-primary-footer-builder"] {
  background-color: white;
  padding-left: 0px !important;
  padding-right: 0px !important;
}

.site-footer-section>* {
  margin-bottom: 18px;
}

footer#colophon {
  padding-top: 4rem;
  position: relative;
  overflow: clip;
}

footer#colophon::before {
  position: absolute;
  content: "";
  top: 0;
  width: 100vw;
  left: 50%;
  transform: translateX(-50%);
  height: 38px;
  background: linear-gradient(to bottom,
      #c89d4f 3px,
      white 3px 10px,
      #c89d4f 10px 17px,
      white 17px 24px,
      #c89d4f 24px 38px);
}

@media screen and (max-width: 1000px) {
  .ast-builder-footer-grid-columns.site-above-footer-inner-wrap.ast-builder-grid-row {
    flex-direction: column;
    align-items: center;
  }

  .ast-builder-footer-grid-columns.site-above-footer-inner-wrap.ast-builder-grid-row>div {
    margin-bottom: 2rem;
  }

  [data-section="section-fb-social-icons-1"] .footer-social-inner-wrap {
    justify-content: center;
    margin-bottom: 3rem;
  }

  .site-primary-footer-wrap[data-section="section-primary-footer-builder"] .ast-builder-grid-row {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}

.woocommerce-breadcrumbs,
.woocommerce-breadcrumb {
  display: none;
}

/* Select tri boutique */
.woocommerce-ordering select {
  border: 1px solid #242d5c !important;
}

/* FIX bkg du container boutique  */
#content,
body {
  background-color: white !important;
  font-family: "Inter", sans-serif !important;
  font-size: var(--18px) !important;
  height: auto !important;
}

/* TEMP désactiver bouton facture sur page commande client  */
.woocommerce-order-received tfoot:has(.order-actions-button) {
  display: none;
}

/* disbaled fields parrain/marraine TEMP  */

#vdi-registration-form label {
  display: block;
  margin-top: 2rem;
}

#vdi-registration-form button[name="vdi_register_submit"] {
  margin-block: 2rem !important;
}

#vdi-registration-form #vdi_parent_code,
#vdi-registration-form label[for="vdi_parent_code"],
#vdi-registration-form #vdi_parent_code+small {
  display: none;
}

/* ===== IMG HEXAGONE SUR TOUTES LES LISTES (UL/OL standards WP) ===== */

/* Cible les ul et les listes dans l'éditeur de blocs ou le contenu WP */
.entry-content ul:not(.products):not([class*="flex"]):not([class*="nav"]) {
  list-style: none !important;
  /* margin-left: 0 !important; */
  padding-left: 0 !important;
}

.entry-content ul:not(.products):not([class*="flex"]):not([class*="nav"]) li {
  position: relative;
  padding-left: 20px;
  margin-bottom: 8px;
}

.entry-content ul:not(.products):not([class*="flex"]):not([class*="nav"]) li::before {
  content: "";
  position: absolute;
  left: 0px;
  top: 8px;
  /* Ajustement pour aligner verticalement */
  width: 12px;
  height: 12px;
  background-image: url(./assets/img/list-style-hexagon.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  display: block;
}

li.wc-block-grid__product::before {
  display: none !important;
}

.entry-content ol li {
  position: relative;
  padding-left: 5px;
}

/* Pour les numéros de listes comme dans Accueillir une réunion*/
.entry-content ol li::marker {
  color: #926e2a;
  font-weight: bold;
}

/* ===================TITRES et FONT-FAMILY custom==================== */

.title-h1 {
  font-family: "Abhaya Libre", serif;
  font-size: var(--48px);
  transition: color 0.3s ease-in-out;
}

.title-h1:hover {
  color: #a07b2e;
}

.title-h2 {
  font-family: "Abhaya Libre", serif;
  font-size: var(--36px);
}

#title-h2 {
  text-align: center;
}

.des-produits-naturels {
  font-family: "Jost", sans-serif;
  font-weight: 300;
  font-size: var(--30px) !important;
}

.subtitle {
  font-family: "Jost", sans-serif;
  font-size: var(--18px);
  letter-spacing: 1.5px;
  font-weight: 500;
}

.subtitle-avis:hover {
  color: #242e5c !important;
}

/* Tous les titres en h2 des produits sur la grille produits Tous les produits */
.woocommerce-loop-product__title,
.compo-promo-produit-titre a {
  color: #926e2a !important;
  font-family: "Inter", sans-serif !important;
  font-size: var(--18px) !important;
  font-weight: 500 !important;
  padding-top: 12px !important;
  margin-top: 0 !important;
}

/* Taille réduite des titres uniquement dans la grille boutique */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: var(--16px) !important;
  text-align: center !important;
}


/* Prix dans la grille boutique */
.woocommerce ul.products li.product .price {
  text-align: center !important;
  display: block !important;
  color: #244496 !important;
  margin-top: 0 !important;
}

.woocommerce ul.products li.product .price .woocommerce-Price-amount {
  color: #244496 !important;
}

/* Prix public dans la grille boutique */
.woocommerce ul.products li.product .product-public-price-list {
  display: block !important;
  font-weight: 700 !important;
}

.woocommerce ul.products li.product .product-public-price-list .product-price-label {
  font-size: var(--16px);
  color: #244496;
  font-weight: 400 !important;
  font-family: "Inter", sans-serif !important;
}

/* Prix VDI dans la grille boutique */
.woocommerce ul.products li.product .product-vdi-price-list {
  display: block !important;
  color: #242d5c !important;
  font-weight: 600 !important;
  font-family: "Abhaya Libre", serif !important;
  margin-left: 0;
  margin-top: 0;
}

.woocommerce ul.products li.product .product-vdi-price-list span,
.woocommerce ul.products li.product .product-vdi-price-list .woocommerce-Price-amount {
  color: #242d5c !important;
  font-weight: 600 !important;
  font-family: "Abhaya Libre", serif !important;
}

.woocommerce ul.products li.product .product-vdi-price-list .product-price-label {
  font-size: var(--16px);
  color: #242d5c !important;
  font-weight: 400 !important;
  font-family: "Inter", sans-serif !important;
}

/* Masquer le bouton "Ajouter au panier" dans la grille produits */
.woocommerce ul.products li.product .button.add_to_cart_button {
  display: none !important;
}

/* Titres h3 des produits dans la compo promo et les produits phares */
.woocommerce ul.products li.product:hover .woocommerce-loop-product__title {
  color: #242d5c !important;
}

.compo-promo-produit-titre a:hover {
  color: #a07b2e !important;
}

/* Tous les titres h1 qui ne peuvent pas se modifier dans le back-office avec un bloc titre h1 (exemple page panier) */
header.entry-header h1.entry-title {
  font-size: var(--48px);
}

/* Tous les titres h1 des produits*/
h1.product_title.entry-title {
  font-size: var(--40px) !important;
  font-family: "Abhaya Libre", serif !important;
  color: #244496 !important;
  font-weight: 400 !important;
}

/* Titres sur les pages de gammes de produits (Miel, Lavandin, Propolis) */
.woocommerce-products-header__title.page-title {
  font-family: "Abhaya Libre", serif;
  font-size: var(--48px);
  color: #242d5c;
  margin: 0;
  padding: 0;
}

.ast-separate-container #primary {
  padding: inherit !important;
}

/* Masquer la zone de titre Astra sur les pages catalogue */
.ast-archive-description {
  display: none !important;
}

/* Bannière PrixVDI pleine largeur sous la grille produits */
.post-type-archive-product .banner-prix-vdi,
.tax-product_cat .banner-prix-vdi,
.tax-product_gamme .banner-prix-vdi,
.tax-product_type_custom .banner-prix-vdi {
  width: 100% !important;
  position: relative;
  left: 0;
  clear: both;
}

/* ============================
          BOUTONS 
=============================== */

/* État normal : On cible le lien à l'intérieur de ton bouton personnalisé */
.en-savoir-plus-btn .wp-block-button__link {
  background-color: #926e2a !important;
  color: #ffffff !important;
}

/* État survol (hover) : On déclenche l'effet quand la souris survole le bouton */
.en-savoir-plus-btn .wp-block-button__link:hover {
  background-color: #242d5c !important;
  color: #ffffff !important;
}

.esvp-compo-essaim-btn .wp-block-button__link {
  background-color: #926e2a !important;
  color: #ffffff !important;
}

.esvp-compo-essaim-btn .wp-block-button__link:hover {
  background-color: #ffffff !important;
  color: #926e2a !important;
}

.je-decouvre-btn .wp-block-button__link {
  background-color: #ffffff !important;
  color: #242d5c !important;
}

.je-decouvre-btn .wp-block-button__link:hover {
  background-color: #242d5c !important;
  color: #ffffff !important;
}

.esvp-seconde-colonne .wp-block-button__link {
  background-color: #ffffff !important;
  color: #242d5c !important;
}

.esvp-seconde-colonne .wp-block-button__link:hover {
  background-color: #926e2a !important;
  color: #ffffff !important;
}

/* Bouton valider la commande */
.wc-block-cart__submit-button,
.wp-block-button__link.add_to_cart_button {
  background-color: #926e2a !important;
}

.wc-block-cart__submit-button:hover,
.wp-block-button__link.add_to_cart_button:hover {
  background-color: #ba8c36 !important;
}

/* Bouton de connexion */
.woocommerce button.button.woocommerce-form-login__submit,
.woocommerce button.button.woocommerce-form-register__submit {
  background-color: #926e2a !important;
  color: #fff !important;
  padding: 12px 24px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-weight: 600;
  font-size: 1rem;
  margin-top: 10px;
}

.woocommerce button.button:hover {
  background-color: #b38d46 !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

/* Bouton de soumission du formulaire WPForms */
.wpforms-submit {
  background-color: #926e2a !important;
  color: #ffffff !important;
  padding: 12px 24px !important;
  text-transform: uppercase !important;
  width: 140px !important;
  height: 52px !important;
  border-radius: 50px !important;
}

.wpforms-submit:hover {
  background-color: #242d5c !important;
  color: #ffffff !important;
}

/* Bouton de soumission du formulaire Avis sur la page produit */
.woocommerce #respond input#submit {
  background-color: #926e2a !important;
  border-color: #926e2a !important;
}

.woocommerce #respond input#submit:hover {
  background-color: #ba8c36 !important;
  border-color: #ba8c36 !important;
}

/* ================================================================= */
/* Sert a enlever les catégories des produits sous l'image */
span.ast-woo-product-category {
  display: none !important;
}

/* Tous les prix */
.woocommerce-Price-amount.amount {
  font-size: var(--22px) !important;
  font-family: "Abhaya Libre", serif !important;
  color: #242d5c !important;
}

/* Prix aligné au centre */
span.price {
  text-align: center !important;
}

/* Labels prix public / prix VDI sur fiche produit */
.single-product .product-price-label {
  font-family: "Inter", sans-serif;
  font-weight: 400;
  color: inherit !important;
  font-style: italic;
}

.single-product .product-public-price .product-price-label {
  font-size: var(--16px);
}

.single-product .product-vdi-price .product-price-label {
  font-size: var(--16px);
}

.single-product .product-price-separator {
  color: #a07b2e !important;
  margin: 0 0.2em;
}

/* Prix sur la fiche produit : gold */
.single-product .product-public-price .woocommerce-Price-amount,
.single-product .product-public-price .woocommerce-Price-amount bdi,
.single-product .product-vdi-price .woocommerce-Price-amount,
.single-product .product-vdi-price .woocommerce-Price-amount bdi {
  color: #a07b2e !important;
}

/* Prix public : plus grand */
.single-product .product-public-price .woocommerce-Price-amount {
  font-size: var(--30px) !important;
  font-weight: 400 !important;
}

/* Prix VDI */
.single-product .product-vdi-price .woocommerce-Price-amount {
  font-size: var(--30px) !important;
  font-weight: 400 !important;
}

/* Info-bulle prix VDI (RGAA 4.1 / WCAG 2.1 AA) */
.vdi-tooltip-wrap {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin-left: 4px;
  z-index: 20;
}

/* WCAG 2.5.8 : cible minimum 24x24px */
.vdi-tooltip-trigger {
  background: none;
  border: none;
  cursor: pointer;
  color: #a07b2e;
  line-height: 1;
  vertical-align: middle;
  transition: color 0.2s ease;
  min-width: 24px;
  min-height: 24px;
  padding: 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.vdi-tooltip-trigger:hover {
  color: #242d5c;
}

/* RGAA 10.7 : focus visible avec contraste suffisant */
.vdi-tooltip-trigger:focus-visible {
  color: #242d5c;
  outline: 2px solid #242d5c;
  outline-offset: 2px;
  border-radius: 50%;
}

.vdi-tooltip-content {
  display: none;
  position: absolute;
  top: 50%;
  left: calc(100% + 10px);
  transform: translateY(-50%);
  width: min(280px, calc(100vw - 32px));
  max-width: calc(100vw - 32px);
  padding: 14px 16px;
  background: #242d5c;
  color: #fff;
  font-family: "Inter", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  z-index: 9999;
  /* WCAG 1.4.13 : le tooltip reste accessible au survol */
  pointer-events: auto;
}

.vdi-tooltip-content a {
  color: #fff !important;
  text-decoration: underline !important;
}

.vdi-tooltip-content::after {
  content: '';
  position: absolute;
  top: 50%;
  left: -12px;
  transform: translateY(-50%);
  border: 6px solid transparent;
  border-right-color: #242d5c;
}

.vdi-tooltip-content.is-left {
  left: auto;
  right: calc(100% + 10px);
}

.vdi-tooltip-content.is-left::after {
  left: auto;
  right: -12px;
  border-right-color: transparent;
  border-left-color: #242d5c;
}

/* Affichage au hover, focus et aria-expanded */
.vdi-tooltip-wrap:hover .vdi-tooltip-content,
.vdi-tooltip-trigger:focus+.vdi-tooltip-content,
.vdi-tooltip-trigger[aria-expanded="true"]+.vdi-tooltip-content {
  display: block;
}

/* Évite que le tooltip soit rogné par la colonne résumé produit */
.woocommerce div.product div.summary,
.single-product .summary.entry-summary {
  position: relative;
  z-index: 5;
  overflow: visible !important;
}

@media (max-width: 768px) {
  .vdi-tooltip-content {
    width: min(200px, calc(100vw - 24px));
    max-width: calc(100vw - 24px);
    font-size: 13px;
    line-height: 1.4;
    padding: 10px 12px;
  }
}

/* Description courte du produit : 16px */
.single-product .woocommerce-product-details__short-description,
.single-product .woocommerce-product-details__short-description p {
  font-size: var(--16px) !important;
}

/* Lien vers la description détaillée */
.single-product .description-link {
  margin-top: 0.5em;
  margin-bottom: 1em;
}

.single-product .description-link a {
  color: #242d5c;
  text-decoration: underline;
  font-size: var(--14px);
}

.single-product .description-link a:hover,
.single-product .description-link a:focus {
  color: #242d5c;
}

/* Couleur des étoiles des notes client  */
.woocommerce .star-rating {
  color: #926e2a !important;
}

/* Couleur tour des étoiles vides */
.woocommerce .star-rating::before {
  color: #926e2a;
}

/* Dans l'encadré ajouter un avis */
.woocommerce .comment-form-rating .stars a {
  color: #926e2a;
}

/* Affichage des avis client sur la page d'acceuil */
.wc-block-components-review-list-item__rating>.wc-block-components-review-list-item__rating__stars span:before {
  color: #926e2a !important;
}

.wc-block-grid__product-rating .star-rating span:before {
  color: #926e2a !important;
}

/* Personnalisation robuste du badge Promo (Force l'écrasement d'Astra/WooCommerce) */
.woocommerce span.onsale,
.woocommerce-page span.onsale,
.ast-onsale-card.ast-onsale-bubble,
.ast-onsale-card,
.onsale.ma-pastille-promo,
.wc-block-components-product-sale-badge,
.wc-block-grid__product-onsale {
  background-color: #926e2a !important;
  color: #ffffff !important;
  width: 50px !important;
  height: 50px !important;
  line-height: 50px !important;
  /* Pour centrer verticalement le texte */
  border-radius: 50% !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  font-weight: bold !important;
  font-size: 11px !important;
  min-height: 50px !important;
  min-width: 50px !important;
  padding: 0 !important;
  position: absolute !important;
  z-index: 10 !important;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15) !important;
  text-transform: uppercase !important;
  border: none !important;
  overflow: hidden !important;
}

/* Évite les doubles fonds colorés si des éléments sont imbriqués */
.ast-onsale-card *,
.wc-block-components-product-sale-badge *,
.wc-block-grid__product-onsale * {
  background-color: transparent !important;
}

/* Écrase les styles spécifiques d'Astra qui pourraient persister */
.ast-woo-shop-archive .ast-onsale-card,
.ast-onsale-card {
  border: none !important;
}

/**
 * Grille produits shop : flex-start pour que la dernière ligne ne soit pas centrée
 */
.woocommerce ul.products {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
  gap: 20px !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 !important;
}

/* Centrer les produits sur mobile (1 colonne) */
@media (max-width: 600px) {
  .woocommerce ul.products {
    justify-content: center !important;
  }

  .woocommerce ul.products li.product {
    max-width: 320px !important;
    width: 100% !important;
  }
}

/**
 * Blocs produits homepage : center pour un rendu centré avec peu de produits
 */
.wc-block-grid__products,
.wc-block-product-template {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 20px !important;
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 !important;
}

/* Forcer 3 colonnes sur les produits (Shop + Blocs) */
.woocommerce ul.products li.product,
.wc-block-product-template li,
.wc-block-grid__product {
  flex: 0 1 calc(33.333% - 14px) !important;
  /* Force 1/3 de la largeur moins le gap */
  width: calc(33.333% - 14px) !important;
  min-width: 180px !important;
  max-width: none !important;
  list-style: none !important;
  margin: 0 0 10px 0 !important;
  float: none !important;
  /* Casse le float d'Astra */
}

/* On s'assure que l'image et son lien ne dépassent jamais */
.woocommerce-loop-product__link img,
.wc-block-components-product-image img,
.astra-shop-thumbnail-wrap img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 auto !important;
  display: block !important;
}

/* =========================================
   PAGE INSCRIPTION SPÉCIFIQUE
   Masquer le formulaire de connexion sur la page "Inscription"
   (Basé sur le slug de la page : 'inscription')
   ========================================= */
body.abeille-registration-page #customer_login .u-column1 {
  display: none !important;
}

body.abeille-registration-page #customer_login .u-column2 {
  display: block !important;
  width: 100% !important;
}

/* =========================================
   ACCESSIBILITÉ : FOCUS CLAVIER
   ========================================= */
:focus-visible {
  outline: 2px solid #6f5320 !important;
  /* Contour noir */
  outline-offset: 1px;
}

/* Pas de contour de focus sur les chevrons du menu mobile */
.ast-header-break-point .main-header-menu .ast-menu-toggle,
.ast-header-break-point #ast-hf-mobile-menu .dropdown-menu-toggle.ast-header-navigation-arrow,
.ast-header-break-point #ast-hf-mobile-menu .dropdown-menu-toggle.ast-header-navigation-arrow svg {
  outline: none !important;
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
  background-color: transparent !important;
}

.ast-header-break-point .main-header-menu .ast-menu-toggle:focus,
.ast-header-break-point .main-header-menu .ast-menu-toggle:focus-visible,
.ast-header-break-point .main-header-menu .ast-menu-toggle:active,
.ast-header-break-point #ast-hf-mobile-menu .dropdown-menu-toggle.ast-header-navigation-arrow:focus,
.ast-header-break-point #ast-hf-mobile-menu .dropdown-menu-toggle.ast-header-navigation-arrow:focus-visible,
.ast-header-break-point #ast-hf-mobile-menu .dropdown-menu-toggle.ast-header-navigation-arrow:active {
  outline: none !important;
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
  background-color: transparent !important;
}

/* Le conteneur du formulaire de connexion (et inscription) */
.woocommerce-form-login,
.woocommerce-form-register,
#customer_login {
  width: 100%;
  max-width: 700px !important;
  background: #fff;
  padding: 0px;
  border-radius: 12px;
}

.woocommerce form {
  background-color: #ffffff;
}

/* Champs de saisie standards formulaire de connexion et d'inscription WooCommerce */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row input[type="text"],
.woocommerce form .form-row input[type="password"],
.woocommerce form .form-row select,
.woocommerce form .form-row textarea {
  width: 100% !important;
  padding: 12px;
  border: 1px solid #ddd;
  border-radius: 8px;
  font-family: inherit;
  line-height: 1.5;
  box-sizing: border-box !important;
  height: auto !important;
}

.woocommerce form .form-row input.input-text:focus {
  border-color: #926e2a;
  outline: none;
  box-shadow: 0 0 0 3px rgba(200, 157, 79, 0.1);
}

/* Labels formulaire de connexion et d'inscription WooCommerce */
.woocommerce form .form-row label {
  display: block;
  margin-bottom: 8px;
  font-weight: 500;
  color: #444;
  font-size: 0.9rem;
}

/* Centrage au milieu de la page du formulaire de connexion */
body .woocommerce form.login {
  padding: 30px;
  margin-left: auto;
  margin-right: auto;
}

/* Liens "Mot de passe oublié" et "Se souvenir de moi" */
.woocommerce-form-login .woocommerce-form-login__rememberme {
  margin-bottom: 10px;
  display: inline-block;
}

.woocommerce-LostPassword {
  margin-top: 15px;
  text-align: center;
  font-size: 0.9rem;
}

.woocommerce-LostPassword a {
  color: #666;
  text-decoration: underline;
}

.woocommerce-LostPassword a:hover {
  color: #926e2a;
}

/* Page d'inscription */
body .woocommerce form.register {
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05);
  margin: 0 !important;
}

form#vdi-registration-form label {
  font-family: var(--labor-font-family) !important;
  font-size: 18px !important;
  margin-bottom: 0 !important;
  background-color: unset !important;
}

form#vdi-registration-form .vdi-password-requirements li {
  margin-bottom: 0;
}
 
form#vdi-registration-form  button {
  font-family: var(--labor-font-family) !important;
  font-size: 18px !important;
  max-width: max-content;
  margin-inline:auto;
  display:block;
}
 
form#vdi-registration-form  p.form-row:has(button) {
  text-align: center;
}
form#vdi-registration-form  p.form-row:has(button) label {
  text-align: left;
}
 
form#vdi-registration-form   label:has(input[type="checkbox"]) {
  align-items:center;
  display: flex;
  font-size: 16px!important
}

/* Prix VDI sous le prix normal dessous avis client */
.product-vdi-price-list {
  margin-top: 8px;
  font-style: normal;
}

/* ========================= */

/* Fix images écrasées dans le résultat de la barre de recherche */
.search .ast-row article .ast-post-format-image img,
.search .type-product .post-thumbnail img,
.search .type-product img.wp-post-image {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 1 / 1;
}

/* =========================================
   UTILITAIRE LISIBILITÉ (70ch)
  La classe "contenu-lisible" sert à limiter les caractères sur pleine page.
   ========================================= */
.contenu-lisible {
  text-align: left !important;
}

.contenu-lisible,
.contenu-lisible p,
.contenu-lisible li,
.contenu-lisible h1,
.contenu-lisible h2,
.contenu-lisible h3 {
  width: 100%;
  box-sizing: border-box;
  /* Sécurité pour les paddings */
}

.marges-auto {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Bandeaux pleine largeur sur la page d'accueil (essaim VDI, CTA, etc.) */
.banner {
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  width: 100vw !important;
  max-width: 100vw !important;
  box-sizing: border-box;
}

/* Section Prix VDI : pleine largeur avec fond navy */
.home .wp-block-group.has-ast-global-color-1-background-color:has(.contact-vdi) {
  padding-top: 60px;
  padding-bottom: 60px;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Section Essaim : pleine largeur avec fond navy */
.home .wp-block-group:has(.essaim-contact) {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.home .essaim-padding.wp-block-group {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Contenu interne Prix VDI : alignement géré après les overrides homepage */

/* Contenu interne Essaim : alignement géré après les overrides homepage */


/* H3 : titre principal "LES PRIX VDI..." */
.contenu-lisible h3 {
  font-family: 'Jost', sans-serif !important;
}

/* Puces dorées uniquement sur les paragraphes avec strong (sauf section Essaim) */
.contenu-lisible:not(.essaim-padding) p:has(strong) {
  padding-left: 1.2em !important;
  position: relative;
  margin-block-start: 0.3em !important;
  margin-block-end: 0 !important;
}

.contenu-lisible:not(.essaim-padding) p:has(strong)::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.4em;
  width: 8px;
  height: 8px;
  background: url('assets/img/list-style-hexagon.png') no-repeat center / contain;
}

.banner a:not(.wp-block-button__link):hover {
  text-decoration: underline;
}

/* Espacement page Devenir VDI */
.devenir-vdi main {
  margin-bottom: 30px !important;
  width: 100vw !important;
  max-width: 100vw !important;
}

@media screen and (max-width: 922.9px) {
  .devenir-vdi main {
    margin-bottom: 0 !important;
  }
}

/* Supprime le margin-bottom Astra sur les p dans les CTA banner (alignement texte/bouton) */
.cta-reunion p,
.cta-vdi p {
  margin-bottom: 0 !important;
}

/* CSS FAQ Custom Responsive */
.font-faq details summary {
  font-weight: 600;
  cursor: pointer;
  margin-bottom: 0.5rem;
}

.font-faq details p {
  line-height: 1.6;
}

/* ================================================================= */
/* Filtres produits / Colonne latérale gauche                        */
/* ================================================================= */

/* Largeurs sidebar 25% / grille produits 75% */
@media (min-width: 922.9px) {

  .post-type-archive-product #secondary,
  .tax-product_cat #secondary,
  .tax-product_gamme #secondary,
  .tax-product_type_custom #secondary {
    width: 25% !important;
  }

  .post-type-archive-product #primary,
  .tax-product_cat #primary,
  .tax-product_gamme #primary,
  .tax-product_type_custom #primary {
    width: 75% !important;
  }
}

/* Liens actifs gold dans toute la colonne latérale */
#secondary .current-cat>a,
#secondary .current-cat-ancestor>a,
#secondary li.active>a,
#secondary a[aria-current="page"] {
  color: #c89d4f !important;
  font-weight: 400;
}

/* Annule le line-height imposé par le thème parent sur les items */
#secondary li {
  line-height: normal !important;
}

/* Séparateurs entre les blocs de filtre */
.wp-block-separator {
  display: block;
  height: 1px;
  border: none;
  margin-block-start: 0;
  margin-block-end: 0;
}

/* Titres de filtre */
.wp-block-heading.filter-title {
  font-size: 18px !important;
  margin-block-end: 0;
  margin-block-start: 35px;
}

/* Listes dans les widgets de la colonne latérale */
.widget ul {
  padding-top: 20px;
}

/* Blocs de filtres WooCommerce — supprime les espaces entre les blocs */
:where(.wc-block-product-filters) .wc-block-product-filters__overlay-content {
  gap: 0 !important;
}

.wc-block-product-filters__overlay-content a:focus,
.wc-block-product-filters__overlay-content a:hover,
.wc-block-product-filters__overlay-content a:active,
.wc-block-product-filters__overlay-content a[aria-current="page"],
.wc-block-product-filters__overlay-content a.is-active {
  color: #c89d4f !important;
}

.cat-item {
  font-size: 16px !important;
}

/* ===================================== */

/* Empêcher le scroll quand le menu mobile Astra est ouvert */
body.ast-main-header-nav-open {
  overflow: hidden;
  height: 100vh;
}

/* Couleur des liens actifs dans le menu de navigation secondaire */
.ast-builder-menu-2 .current-menu-ancestor>.menu-link {
  color: #fff !important;
}

.woocommerce-js form .form-row .required,
span.wpforms-required-label {
  color: #926e2a !important;
}

/* Lien actif dans le tableau de mon-compte */
.woocommerce-MyAccount-navigation-link.is-active a {
  color: #926e2a !important;
}

.woocommerce-MyAccount-navigation-link a:hover {
  color: #926e2a !important;
}

/* Couleur des labels des champs de formulaire */
label.wpforms-field-sublabel.after {
  color: #926e2a;
}

/* ================================================================= */
/* Carrousel d'avis client */

/* Le conteneur parent gère le défilement et l'effet de flou */
.carrousel-avis-container {
  padding: 10px 0 20px 0;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -ms-overflow-style: none;
  scroll-behavior: smooth;
  -webkit-mask-image: linear-gradient(to right,
      transparent,
      black 10%,
      black 90%,
      transparent);
  mask-image: linear-gradient(to right,
      transparent,
      black 10%,
      black 90%,
      transparent);
}

/* Wrapper pour les flèches Desktop */
.carousel-reviews-wrapper {
  position: relative;
  width: 100%;
  max-width: 1200px;
  /* Aligné sur contenu-large pour la cohérence */
  margin: auto;
}

.home #content #primary .carousel-reviews-wrapper {
    max-width: calc(100vw - 8rem)!important;
}

.wc-block-review-list-item__rating {
    margin-left:auto;
}
 
.wc-block-review-list-item__author {
    font-size: 15px;
}
 
.wc-block-review-list-item__text p {
    text-overflow: ellipsis;
    overflow: hidden;
    width:300px;
    display: -webkit-box;
    line-clamp: 3;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}
 
.wc-block-review-list-item__text a[href="#more"] {
    display: none;
}

/* Style des flèches */
.carousel-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 20;
  background: #ffffff;
  border: 1px solid #f0f0f0;
  border-radius: 50%;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  color: #926e2a;
  font-size: 1.2rem;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  padding: 0;
  line-height: 1;
}

.carousel-nav:hover {
  background: #926e2a;
  color: #ffffff;
  transform: translateY(-50%) scale(1.1);
  box-shadow: 0 6px 16px rgba(146, 110, 42, 0.25);
}

.carousel-nav:active {
  transform: translateY(-50%) scale(0.95);
}

.carousel-nav.prev {
  left: -22px;
}

.carousel-nav.next {
  right: -22px;
}

/* Ajustements Desktop */
@media (min-width: 923px) {
  .carrousel-avis-container {
    /* On réduit le flou sur desktop pour que les flèches soient sur fond plein ou presque */
    -webkit-mask-image: linear-gradient(to right,
        transparent,
        black 4%,
        black 96%,
        transparent);
    mask-image: linear-gradient(to right,
        transparent,
        black 4%,
        black 96%,
        transparent);
    padding-inline: 4px;
    /* Petit espace pour ne pas coller au bord du masque */
  }
}

/* On applique la GRILLE sur le premier élément interne (souvent un <ul> ou une <div> wrapper) */
.carrousel-avis-container>*,
.carrousel-avis-container .wc-block-review-list,
.carrousel-avis-container ul,
.carrousel-avis-container .wp-block-comments {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: 355px !important;
  gap: 7px;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Suppression des puces personnalisées (hexagone PNG) spécifiquement pour les avis */
.carrousel-avis-container li::before {
  display: none !important;
  content: none !important;
}

.carrousel-avis-container::-webkit-scrollbar {
  display: none;
}

/* Style des avis individuels */
.carrousel-avis-container li,
.carrousel-avis-container .wc-block-review-list-item,
.carrousel-avis-container .comment,
.carrousel-avis-container>*>* {
  width: 355px;
  height: 192px;
  max-height: 192px;
  overflow: hidden;
  background: #fff;
  padding: 20px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
  border-radius: 12px;
  display: flex !important;
  flex-direction: column;
  justify-content: flex-start;
  border: 1px solid #f0f0f0;
  scroll-snap-align: start;
}

/* On s'assure que sur mobile la largeur s'adapte aussi automatiquement */
@media (max-width: 922px) {

  .carrousel-avis-container>*,
  .carrousel-avis-container .wc-block-review-list,
  .carrousel-avis-container ul {
    display: flex !important;
    flex-wrap: nowrap !important;
  }

  .carrousel-avis-container li,
  .carrousel-avis-container .wc-block-review-list-item,
  .carrousel-avis-container>*>* {
    flex: 0 0 280px;
    width: 280px;
    height: auto;
    min-height: 192px;
  }

  /* Masquer les flèches sur mobile */
  .carousel-nav {
    display: none;
  }
}

/* Filtres avis page tous les avis */
.wc-block-components-review-sort-select {
  margin-bottom: 30px;
}

/* Suppression des puces personnalisées (hexagone PNG) avant la photo de profil spécifiquement pour les avis affichés sur la page Tous les avis*/
.wc-block-review-list-item__item::before {
  display: none !important;
  content: none !important;
}

.bandeau-alerte-compte {
  max-width: 700px;
}

.wpforms-field-label,
.wpforms-field-sublabel.after {
  font-size: var(--16px) !important;
}

/* --- Conteneur Principal des 5 colonnes de réassurance --- */
.qualite-engagements-section {
  box-sizing: border-box;
  width: 100vw !important;
  max-width: 100vw !important;
  position: relative;
  left: 50%;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
  padding-top: 50px !important;
  padding-bottom: 50px !important;
  overflow: clip;
}

/* Titre de section visible uniquement pour les lecteurs d'ecran */
.qualite-engagements-section>.wp-block-heading,
.qualite-engagements-section>h1,
.qualite-engagements-section>h2 {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.qualite-engagements-section *,
.qualite-engagements-section-container {
  max-width: unset !important;
  --wp--style--global--content-size: none;
  --wp--style--global--wide-size: none;
}

/* --- Grille Responsive (Layout) --- */
.qualite-engagements-section-container {
  display: grid !important;
  grid-template-columns: 1fr;
  /* Mobile : 1 colonne */
  gap: 4rem;
  /* On augmente l'espace entre les éléments verticalement */
  flex-wrap: wrap !important;
}

/* Tablette (dès 600px) -> 2 colonnes */
@media (min-width: 600px) {
  .qualite-engagements-section-container {
    grid-template-columns: repeat(2, 1fr);
    gap: 3rem;
    justify-content: center;
  }
}

/* Ordinateur Portable (dès 900px) -> 3 colonnes */
@media (min-width: 900px) {
  .qualite-engagements-section-container {
    grid-template-columns: repeat(3, 1fr);
    gap: 4rem;
  }
}

/* Grand Écran (dès 1300px) -> 5 colonnes */
@media (min-width: 1300px) {
  .qualite-engagements-section-container {
    grid-template-columns: repeat(5, 1fr);
    gap: 5rem;
  }

  /* On peut remettre un peu plus de marge sur les côtés si l'écran est très grand */
  .qualite-engagements-section {
    padding-left: 4rem !important;
    padding-right: 4rem !important;
  }
}

/* --- Style des éléments --- */
.qualite-engagements-section .wp-block-column {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin: 0 !important;
  width: 100%;
  /* S'assure que l'élément prend sa place */
}

/* --- Les Icônes --- */
.qualite-engagements-section figure.wp-block-image {
  margin: 0 0 1.5rem 0;
  /* Plus d'espace sous l'image */
}

.qualite-engagements-section img {
  height: 70px;
  /* Icônes un peu plus grandes */
  width: auto;
  object-fit: contain;
}

/* --- La Typographie --- */
.qualite-engagements-section h3 {
  font-size: 1rem;
  /* Texte un peu plus grand */
  font-family: "Inter", sans-serif !important;
  line-height: 1.6;
  font-weight: 400;
  color: #242e5c;
  margin-top: 0;
  /* Empêche les césures de mots moches */
  hyphens: none;
}

/* --- Titre en Bleu --- */
.qualite-engagements-section .title-main-part {
  display: block;
  font-weight: 700;
  text-transform: none;
  font-size: 1.2rem;
  margin-bottom: 0.5rem;
  color: #242e5c;
}

li.wc-block-product::before {
  content: none !important;
  display: none !important;
}

/* =========================================
   BLOC PRODUCT-COLLECTION (offres du moment)
   Aligner le rendu sur les cartes produit Astra standard
   ========================================= */

/* Séparateur gold au-dessus du titre produit */
li.wc-block-product .wp-block-post-title {
  border: none !important;
  width: fit-content;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-top: 20px !important;
  margin-bottom: 20px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  font-size: var(--14px) !important;
  color: #926e2a !important;
}

li.wc-block-product .wp-block-post-title::before,
li.wc-block-product .wp-block-post-title::after {
  content: '';
  display: block;
  width: 100%;
  height: 3px;
  background: transparent;
  transition: background 0.3s ease;
}

li.wc-block-product .wp-block-post-title::before {
  background: #c89d4f;
  margin-bottom: 0;
}

li.wc-block-product .wp-block-post-title::after {
  margin-top: 10px;
}

/* Au hover : le trait passe en dessous du titre */
li.wc-block-product:hover .wp-block-post-title::before {
  background: transparent;
}

li.wc-block-product:hover .wp-block-post-title::after {
  background: #c89d4f;
}

li.wc-block-product:hover .wp-block-post-title a {
  color: #926e2a !important;
}

/* Supprimer le border sur les images produits au hover */
li.wc-block-product .wc-block-components-product-image img {
  border: none !important;
  outline: none !important;
  transition: opacity 0.3s ease;
}

li.wc-block-product .product-secondary-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: 1;
}

li.wc-block-product:hover .product-secondary-image,
li.wc-block-product:focus-within .product-secondary-image {
  opacity: 1;
}

li.wc-block-product:hover .wc-block-components-product-image img:not(.product-secondary-image),
li.wc-block-product:focus-within .wc-block-components-product-image img:not(.product-secondary-image) {
  opacity: 0;
}


/* Image secondaire au hover (grille boutique WooCommerce classique) */
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap {
  position: relative;
  overflow: hidden;
}

.woocommerce ul.products li.product .astra-shop-thumbnail-wrap img {
  transition: opacity 0.3s ease;
}

.woocommerce ul.products li.product .product-secondary-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: 1;
}

.woocommerce ul.products li.product:hover .product-secondary-image,
.woocommerce ul.products li.product:focus-within .product-secondary-image {
  opacity: 1;
}

.woocommerce ul.products li.product:hover .astra-shop-thumbnail-wrap img:not(.product-secondary-image),
.woocommerce ul.products li.product:focus-within .astra-shop-thumbnail-wrap img:not(.product-secondary-image) {
  opacity: 0;
}

/* Supprimer l'espace entre l'image et le titre */
.wc-block-components-product-image {
  margin-bottom: 0 !important;
}

/* Avis en dernier dans les blocs produit */
li.wc-block-product {
  display: flex !important;
  flex-direction: column !important;
}

li.wc-block-product .wc-block-components-product-rating,
li.wc-block-product .wc-block-grid__product-rating {
  order: 99;
}

/* Centrer le prix */
.wc-block-components-product-price {
  text-align: center !important;
  display: block !important;
}

/* Étoiles + note moyenne sous les prix dans les blocs Product Collection */
.block-rating-wrap {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

.block-rating-wrap .star-rating {
  font-size: var(--14px);
  color: #926e2a;
  float: none !important;
  margin: 0 !important;
}

.block-rating-wrap .star-rating span::before {
  color: #926e2a !important;
}

.block-rating-wrap .rating-text {
  font-size: var(--13px);
  color: #242d5c;
  font-family: "Inter", sans-serif;
}

/* Réduire l'interligne entre les deux prix sur les cartes produits */
li.wc-block-product .product-public-price-list,
li.wc-block-product .product-vdi-price-list,
.wc-block-grid__product .product-public-price-list,
.wc-block-grid__product .product-vdi-price-list {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  line-height: 1.3 !important;
}

/* Harmoniser la composition prix public / prix VDI sur toutes les grilles blocs */
li.wc-block-product .product-public-price-list,
.wc-block-grid__product .product-public-price-list {
  display: block !important;
  font-weight: 700 !important;
  color: #244496 !important;
}

li.wc-block-product .product-public-price-list .product-price-label,
.wc-block-grid__product .product-public-price-list .product-price-label {
  font-size: var(--16px);
  color: #244496 !important;
  font-weight: 400 !important;
  font-family: "Inter", sans-serif !important;
}

li.wc-block-product .product-vdi-price-list,
.wc-block-grid__product .product-vdi-price-list {
  display: block !important;
  color: #242d5c !important;
  font-weight: 600 !important;
  font-family: "Abhaya Libre", serif !important;
  margin-left: 0 !important;
}

li.wc-block-product .product-vdi-price-list span,
li.wc-block-product .product-vdi-price-list .woocommerce-Price-amount,
.wc-block-grid__product .product-vdi-price-list span,
.wc-block-grid__product .product-vdi-price-list .woocommerce-Price-amount {
  color: #242d5c !important;
  font-weight: 600 !important;
  font-family: "Abhaya Libre", serif !important;
}

li.wc-block-product .product-vdi-price-list .product-price-label,
.wc-block-grid__product .product-vdi-price-list .product-price-label {
  font-size: var(--16px);
  color: #242d5c !important;
  font-weight: 400 !important;
  font-family: "Inter", sans-serif !important;
}

/* Prix dans les produits en promo : même présentation que la grille */
.banner-promo-dynamique .price,
.banner-promo-dynamique .wc-block-components-product-price {
  text-align: center !important;
  display: block !important;
}

.banner-promo-dynamique .product-public-price-list {
  display: block !important;
  font-weight: 700 !important;
  color: #244496 !important;
}

.banner-promo-dynamique .product-public-price-list .product-price-label {
  font-size: var(--16px);
  color: #244496;
  font-weight: 400 !important;
  font-family: "Inter", sans-serif;
}

/* Ancien prix barré en bleu */
.banner-promo-dynamique .product-public-price-list del .woocommerce-Price-amount,
.banner-promo-dynamique .product-public-price-list del .woocommerce-Price-amount bdi,
.banner-promo-dynamique .product-public-price-list del .woocommerce-Price-currencySymbol {
  color: #244496 !important;
}

/* Prix promo en rouge */
.banner-promo-dynamique .product-public-price-list ins,
.banner-promo-dynamique .product-public-price-list ins .woocommerce-Price-amount,
.banner-promo-dynamique .product-public-price-list ins .woocommerce-Price-amount bdi,
.banner-promo-dynamique .product-public-price-list ins .woocommerce-Price-currencySymbol {
  color: #c0392b !important;
  text-decoration: none !important;
  font-weight: 800 !important;
}

.banner-promo-dynamique .product-vdi-price-list {
  display: block !important;
  color: #242d5c !important;
  font-weight: 600 !important;
  margin-top: 4px;
  margin-left: 0;
}

.banner-promo-dynamique .product-vdi-price-list span,
.banner-promo-dynamique .product-vdi-price-list .woocommerce-Price-amount,
.banner-promo-dynamique .product-vdi-price-list .woocommerce-Price-amount bdi,
.banner-promo-dynamique .product-vdi-price-list .woocommerce-Price-currencySymbol {
  color: #242d5c !important;
  font-weight: 600 !important;
}

.banner-promo-dynamique .product-vdi-price-list .product-price-label {
  font-size: var(--16px);
  font-weight: 400 !important;
  font-family: "Inter", sans-serif;
}



/* Section produits phares */
.banner-produits-phares-dynamique,
.banner-produits-phares-promo {
  margin-bottom: 20px;
}

/* Recentrer la grille produits dans les sections homepage (écrasé par le reset margin:0 du main) */
.home .banner-produits-phares-dynamique .wc-block-product-template,
.home .banner-produits-phares-promo .wc-block-product-template,
.home .banner-promo-dynamique .wc-block-product-template {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Centrer le titre de la section produits phares */
.banner-produits-phares-dynamique h2,
.banner-produits-phares-dynamique .wp-block-heading,
.banner-produits-phares-promo h2,
.banner-produits-phares-promo .wp-block-heading {
  text-align: center !important;
}

/* Prix VDI dans les produits phares : à la ligne, bleu marine */
.banner-produits-phares-dynamique .product-vdi-price-list,
.banner-produits-phares-promo .product-vdi-price-list {
  display: block !important;
  color: #242d5c !important;
  font-weight: 700 !important;
  margin-top: 4px;
  margin-left: 0;
}

.banner-produits-phares-dynamique .product-vdi-price-list span,
.banner-produits-phares-dynamique .product-vdi-price-list .woocommerce-Price-amount,
.banner-produits-phares-dynamique .product-vdi-price-list .woocommerce-Price-amount bdi,
.banner-produits-phares-dynamique .product-vdi-price-list .woocommerce-Price-currencySymbol,
.banner-produits-phares-promo .product-vdi-price-list span,
.banner-produits-phares-promo .product-vdi-price-list .woocommerce-Price-amount,
.banner-produits-phares-promo .product-vdi-price-list .woocommerce-Price-amount bdi,
.banner-produits-phares-promo .product-vdi-price-list .woocommerce-Price-currencySymbol {
  color: #242d5c !important;
  font-weight: 700 !important;
}

/* Prix public dans les produits phares : même présentation que la grille */
.banner-produits-phares-dynamique .product-public-price-list,
.banner-produits-phares-promo .product-public-price-list {
  display: block !important;
  font-weight: 700 !important;
}

.banner-produits-phares-dynamique .product-public-price-list .product-price-label,
.banner-produits-phares-promo .product-public-price-list .product-price-label {
  font-size: var(--16px);
  color: #244496;
  font-weight: 400 !important;
  font-family: "Inter", sans-serif;
}

.banner-produits-phares-dynamique .product-vdi-price-list .product-price-label,
.banner-produits-phares-promo .product-vdi-price-list .product-price-label {
  font-size: var(--16px);
  font-weight: 400 !important;
  font-family: "Inter", sans-serif;
}

.banner-produits-phares-dynamique .price,
.banner-produits-phares-promo .price,
.banner-produits-phares-dynamique .wc-block-components-product-price,
.banner-produits-phares-promo .wc-block-components-product-price {
  text-align: center !important;
  display: block !important;
}

.banner-produits-phares-dynamique .product-public-price-list .woocommerce-Price-amount,
.banner-produits-phares-dynamique .product-public-price-list .woocommerce-Price-amount bdi,
.banner-produits-phares-dynamique .product-public-price-list .woocommerce-Price-currencySymbol,
.banner-produits-phares-promo .product-public-price-list .woocommerce-Price-amount,
.banner-produits-phares-promo .product-public-price-list .woocommerce-Price-amount bdi,
.banner-produits-phares-promo .product-public-price-list .woocommerce-Price-currencySymbol {
  color: #244496 !important;
}


/* Ancien prix barré en bleu dans la grille boutique */
.woocommerce ul.products li.product .price del,
.woocommerce ul.products li.product .product-public-price-list del {
  opacity: 1 !important;
}

.woocommerce ul.products li.product .product-public-price-list del .woocommerce-Price-amount,
.woocommerce ul.products li.product .product-public-price-list del .woocommerce-Price-amount bdi,
.woocommerce ul.products li.product .product-public-price-list del .woocommerce-Price-currencySymbol {
  color: #244496 !important;
}

/* Prix promo en rouge dans la grille boutique */
.woocommerce ul.products li.product .product-public-price-list ins,
.woocommerce ul.products li.product .product-public-price-list ins .woocommerce-Price-amount,
.woocommerce ul.products li.product .product-public-price-list ins .woocommerce-Price-amount bdi,
.woocommerce ul.products li.product .product-public-price-list ins .woocommerce-Price-currencySymbol {
  color: #c0392b !important;
  text-decoration: none !important;
  font-weight: 800 !important;
}

/* Prix en promotion (nouveau prix) en rouge */
.woocommerce ul.products li.product .price ins,
.woocommerce ul.products li.product .price ins .woocommerce-Price-amount,
.wc-block-components-product-price ins,
.wc-block-components-product-price ins .woocommerce-Price-amount,
.wc-block-components-product-price ins .wc-block-components-product-price__value,
.wc-block-components-product-price__value.is-discounted,
.wc-block-components-product-price__value.is-discounted .woocommerce-Price-amount {
  color: #c0392b !important;
  text-decoration: none !important;
  font-weight: 800 !important;
}

/* Empêche le scroll de l'arrière-plan quand le menu Astra est ouvert */
.ast-main-header-nav-open,
.ast-mobile-menu-active {
  overflow: hidden !important;
  height: 100vh !important;
}

/* Assure que le menu lui-même est fixe */
.ast-mobile-header-wrap .ast-mobile-header-content {
  position: fixed;
  left: 0;
  right: 0;
  width: 100%;
  top: 102px;
  bottom: 0;
  overflow-y: auto;
}

/* Cache et annule l'existence du label vide pour les outils d'accessibilité */
label[for*="field_6"]:empty {
  display: none !important;
  visibility: hidden;
}

/* Couleur du bouton sur la page produit */
.single_add_to_cart_button.button.alt {
  background-color: #242d5c !important;
  color: #ffffff !important;
  text-transform: uppercase;
  font-family: "Jost", sans-serif;
}

/* Couleur au survol (Hover) */
.single_add_to_cart_button.button.alt:hover {
  background-color: #3a4a8a !important;
  color: #ffffff !important;
}

/* ================================================================= */
/* FRONT PAGE                                                        */
/* ================================================================= */

/* Pleine largeur page d'accueil : on libère tous les containers Astra (parents + enfants) */
.home .site-content,
.home .site-content>.ast-container,
.home .site-content .ast-container,
.home #primary,
.home .site-main,
.home .fp-gutenberg-content,
.home .entry-content,
.home article,
.home .post-inner-wrap {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Gutenberg layout : supprime la contrainte contentSize/wideSize sur la homepage */
.home .is-layout-constrained> :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: 100% !important;
}

.home .is-layout-constrained {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Enfants directs du main Gutenberg : supprimer le centrage auto pour pleine largeur des sections */
.home main.wp-block-group.is-layout-constrained> :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.home .wp-block-group,
.home .wp-block-cover,
.home .wp-block-columns {
  max-width: 100% !important;
}

/* Bandeaux texte alignés sur le container navbar (1480px + 20px padding) */
.home .contact-vdi,
.home .essaim-contact {
  max-width: 1480px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
  box-sizing: border-box;
}


/* Alignement image/texte dans la section "Sur la piste" de la page d'accueil */
.piste-section.wp-block-columns,
.home .wp-block-columns:has(.contenu-lisible) {
  align-items: stretch;
}

.piste-section .wp-block-column:has(img) img,
.home .wp-block-columns:has(.contenu-lisible) .wp-block-column:has(figure) img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

@media (max-width: 922.9px) {
  .home .wp-block-columns:has(.contenu-lisible) .wp-block-column:has(figure) img {
    height: auto;
    max-height: 400px;
  }
}

.piste-section .wp-block-column,
.home .wp-block-columns:has(.contenu-lisible) .wp-block-column {
  line-height: 1.4;
}

/* Réduit l'espace en haut de la section qui suit les offres du moment */
.about-section {
  padding-top: 20px !important;
}

/* Supprime les marges excessives autour du bloc offres du moment */
.wp-block-woocommerce-product-collection {
  margin-bottom: 0 !important;
}

.banner-promo-dynamique {
  margin-bottom: 0 !important;
}

.banner-promo-dynamique h2,
.banner-promo-dynamique .wp-block-heading {
  margin-bottom: 1rem !important;
}

.front-page-abeille .fp-gutenberg-content>.alignfull {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  max-width: 100vw;
  width: 100vw;
}

.front-page-abeille .fp-gutenberg-content>.alignwide {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

/* Banner images pleine largeur */
.banner-image img,
.img-lavande img {
  width: 100%;
  height: auto;
  display: block;
}

.img-lavande {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  min-height: 400px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  width: 100vw !important;
  max-width: 100vw !important;
}

/* Supprimer l'espace entre l'image lavande et le bandeau CTA */
.img-lavande+.wp-block-group {
  margin-block-start: 0 !important;
}

.bandeau-ruche-bleu {
  margin-block-start: 0 !important;
}

/* Supprimer l'espace entre la section au-dessus et le bandeau ruche bleu */
.home .wp-block-group:has(.essaim-contact)+.bandeau-ruche-bleu,
.home .wp-block-group:has(.essaim-contact)+.wp-block-group:has(.bandeau-ruche-bleu),
.home .wp-block-group+.bandeau-ruche-bleu {
  margin-block-start: 0 !important;
  margin-top: 0 !important;
}

/* Aussi supprimer le margin-bottom du bloc qui précède le bandeau */
.home .wp-block-group:has(.essaim-contact) {
  margin-block-end: 0 !important;
  margin-bottom: 0 !important;
}

.img-lavande .wp-block-cover__background,
.img-lavande .has-background-dim::before {
  opacity: 0 !important;
}

.img-lavande .wp-block-cover__inner-container {
  width: 650px !important;
  max-width: 100% !important;
}

.card-lavande {
  background: #fff !important;
  padding: 1rem 1.5rem !important;
  margin-right: 5% !important;
  text-align: center !important;
}

.card-lavande .wp-block-button {
  text-align: center !important;
  display: flex !important;
  justify-content: start !important;
  width: 100% !important;
}

.card-lavande .wp-block-buttons {
  justify-content: center !important;
  width: 100% !important;
}

.card-lavande h2,
.card-lavande h3,
.card-lavande .wp-block-heading {
  font-size: 24px !important;
  font-family: 'Jost', sans-serif !important;
  font-weight: 500 !important;
  color: #242d5c !important;
  margin-bottom: 0.5rem !important;
  text-transform: uppercase !important;
}

.card-lavande p {
  font-size: 16px !important;
  line-height: 1.4 !important;
  color: #333 !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: 0 !important;
  text-align: left !important;
}

.card-lavande .wp-block-button__link {
  font-size: 0.85rem !important;
  padding: 0.6rem 1.5rem !important;
  width: auto !important;
}

@media (max-width: 922.9px) {
  .img-lavande {
    min-height: 250px !important;
  }

  .img-lavande .wp-block-cover__inner-container {
    width: 100% !important;
  }

  .card-lavande {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
}

/* ============================================================
   Autocomplétion de la recherche
   ============================================================ */

/* Section Accueillir une réunion */
.accueillir-reunion h2,
.accueillir-reunion h3,
.accueillir-reunion .wp-block-heading {
  font-weight: 400 !important;
}

.accueillir-reunion h2:last-of-type {
  margin-top: 2rem !important;
}

/* Pleine largeur en haut de la page "Accueillir une réunion" (page ID 216) */
.page-id-216 .site-content,
.page-id-216 .site-content>.ast-container,
.page-id-216 #primary,
.page-id-216 .entry-content {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.page-id-216 main.wp-block-group.contenu-lisible {
  width: 100% !important;
  max-width: 100% !important;
}

/* Pleine largeur page "Devenir conseiller(ère)" (page ID 1245) */
.page-id-1245 .site-content,
.page-id-1245 .site-content>.ast-container,
.page-id-1245 #primary,
.page-id-1245 .entry-content {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.page-id-1245 main {
  width: 100% !important;
  max-width: 100% !important;
}

/* Bandeaux après le main (article.bandeau-en-deux avec classes home + wp-block-group) */
.page-id-1245 .bandeau-en-deux.home.wp-block-group {
  width: 100% !important;
  max-width: 100% !important;
}

.page-id-1245 .bandeau-en-deux.is-layout-constrained> :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.page-id-215 .site-content,
.page-id-215 .site-content>.ast-container,
.page-id-215 #primary,
.page-id-215 .entry-content {
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.page-id-215 main {
  width: 100% !important;
}

/* Autoriser le débordement du dropdown dans le header */
.ast-search-menu-icon.ast-inline-search,
.ast-search-menu-icon.ast-inline-search .search-form {
  overflow: visible !important;
}

.search-suggestions {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  z-index: 99999;
  list-style: none;
  margin: 0;
  padding: 4px 0;
  background: #fff;
  border: 1px solid #e8e0d0;
  border-radius: 8px;
  box-shadow: 0 8px 28px rgba(36, 45, 92, 0.12);
  max-height: 380px;
  overflow-y: auto;
  min-width: 280px;
}

.search-suggestion-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 12px;
  cursor: pointer;
  border-bottom: 1px solid #f3f0eb;
  transition: background 0.12s ease;
}

.search-suggestion-item:last-child {
  border-bottom: none;
}

.search-suggestion-item:hover,
.search-suggestion-item.is-active {
  background: #fdf8f0;
}

.suggestion-thumbnail {
  width: 44px;
  height: 44px;
  object-fit: cover;
  border-radius: 6px;
  border: 1px solid #e8e0d0;
  flex-shrink: 0;
}

.suggestion-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
  min-width: 0;
}

.suggestion-title {
  font-family: 'Inter', sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  color: #242d5c;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.suggestion-price {
  font-family: 'Inter', sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  color: #a07b2e;
}

@media (max-width: 600px) {
  .suggestion-thumbnail {
    width: 36px;
    height: 36px;
  }

  .suggestion-title {
    font-size: 0.8125rem;
  }
}

/* ================================================================= */
/* NOTRE HISTOIRE                                                     */
/* ================================================================= */
.page-id-215.woocommerce-js h2 {
  margin-bottom: 0;
}

.line-height {
  line-height: 1.4375rem;
  /* 23px */
}

.margin-bottom-30 {
  margin-bottom: 30px;
}

.contact-right {
  border-left: 1px solid #c89d4f;
  padding-left: 50px;
}

/* ================================================================= */
/* PAGINATION WOOCOMMERCE                                             */
/* ================================================================= */
.woocommerce-pagination {
  display: flex;
  justify-content: center;
  margin-top: 2rem;
}

.woocommerce-pagination ul.page-numbers {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.woocommerce-pagination ul.page-numbers li {
  margin: 0;
}

.woocommerce-pagination ul.page-numbers li .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  height: 2rem;
  padding: 0 0.5rem;
  font-size: 0.875rem;
  font-family: Inter, sans-serif;
  color: #242d5c;
  background-color: transparent;
  text-decoration: none;
  border: 1px solid transparent;
  transition: background-color 0.2s, color 0.2s;
}

.woocommerce-pagination ul.page-numbers li .page-numbers:hover,
.woocommerce-pagination ul.page-numbers li .page-numbers:focus {
  background-color: #e8eaf2;
  color: #242d5c;
}

.woocommerce-pagination ul.page-numbers li .page-numbers.current {
  background-color: #242d5c;
  border-color: #242d5c;
  color: #fff;
  font-weight: 600;
}

/* ================================================================= */
/* PAGE PRODUIT UNIQUE : Galerie - miniatures à gauche               */
/* ================================================================= */

/*
 * Structure réelle après initialisation FlexSlider :
 * div.woocommerce-product-gallery            ← conteneur flex
 *   a.woocommerce-product-gallery__trigger
 *   div.flex-viewport                        ← image principale (order: 2)
 *   ol.flex-control-nav.flex-control-thumbs  ← vignettes (order: 1)
 */

/* Le conteneur principal devient flex-row */
/* (le bouton zoom .woocommerce-product-gallery__trigger est position:absolute,
    il ne participe pas au flux flex) */
.woocommerce-product-gallery {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start;
  gap: 12px;
}

/* Image principale : à droite, prend le reste de l'espace */
.woocommerce-product-gallery .flex-viewport {
  order: 2;
  flex: 1 1 auto;
  min-width: 0;
}

/* Navigation prev/next FlexSlider : masquée */
.woocommerce-product-gallery .flex-direction-nav {
  display: none !important;
}

/* Wrapper vignettes : colonne verticale à gauche avec scroll */
.ab-thumbs-wrapper {
  order: 1;
  position: relative;
  flex: 0 0 90px;
  width: 90px;
  max-width: 90px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.ab-thumbs-wrapper ol.flex-control-thumbs {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px;
  flex: 1 1 auto;
  width: 100% !important;
  max-width: 100%;
  padding: 0 !important;
  margin: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.ab-thumbs-wrapper ol.flex-control-thumbs::-webkit-scrollbar {
  display: none;
}

/* Boutons scroll vignettes – style rond avec ombre */
.ab-thumbs-btn {
  display: none;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 30px;
  height: 30px;
  border: none;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.25);
  cursor: pointer;
  z-index: 2;
  align-items: center;
  justify-content: center;
  padding: 0;
  transition: box-shadow 0.2s ease, background 0.2s ease;
}

.ab-thumbs-btn:hover {
  background: #242d5c;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3);
}

.ab-thumbs-btn:hover svg {
  fill: #fff;
}

.ab-thumbs-btn--up {
  top: 6px;
}

.ab-thumbs-btn--down {
  bottom: 6px;
}

.ab-thumbs-btn.is-visible {
  display: flex;
}

.ab-thumbs-btn svg {
  width: 18px;
  height: 18px;
  fill: #242d5c;
}

/* Fallback : si pas de wrapper JS, garder l'ancien comportement */
.woocommerce-product-gallery>ol.flex-control-thumbs {
  order: 1;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px;
  flex: 0 0 90px;
  width: 90px !important;
  max-width: 90px;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
}

.woocommerce-product-gallery ol.flex-control-thumbs li {
  float: none !important;
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce-product-gallery ol.flex-control-thumbs li img {
  width: 100% !important;
  height: auto !important;
  display: block;
  cursor: pointer;
  border: 2px solid transparent;
  border-radius: 4px;
  transition: border-color 0.15s ease;
  opacity: 0.6;
  background: #fff;
}

.woocommerce-product-gallery ol.flex-control-thumbs li img:hover,
.woocommerce-product-gallery ol.flex-control-thumbs li img.flex-active {
  border-color: #c89d4f;
  opacity: 1;
}

/* Mobile : miniatures en ligne horizontale sous l'image */
@media (max-width: 922.9px) {
  .woocommerce-product-gallery {
    flex-direction: column !important;
  }

  .ab-thumbs-wrapper {
    order: 3;
    flex-direction: row !important;
    flex: 0 0 auto;
    width: 100% !important;
    max-width: 100%;
    align-self: auto;
    overflow: hidden;
  }

  .ab-thumbs-wrapper ol.flex-control-thumbs,
  .woocommerce-product-gallery>ol.flex-control-thumbs {
    order: 3;
    display: flex !important;
    flex-wrap: nowrap !important;
    flex-direction: row !important;
    flex: 0 0 auto;
    width: 100% !important;
    min-width: 0;
    max-width: 100%;
    gap: 8px;
    padding: 0 2px 8px 2px !important;
    overflow-y: hidden !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x;
    scroll-snap-type: x proximity;
  }

  .ab-thumbs-btn {
    top: 50%;
    width: 28px;
    height: 28px;
    transform: translateY(-50%);
  }

  .ab-thumbs-btn--up {
    left: 8px;
    right: auto;
  }

  .ab-thumbs-btn--down {
    left: auto;
    right: 8px;
  }

  .ab-thumbs-btn--up svg,
  .ab-thumbs-btn--down svg {
    transform: rotate(-90deg);
  }

  .ab-thumbs-btn.is-visible {
    display: flex !important;
  }

  .woocommerce-product-gallery ol.flex-control-thumbs li {
    width: 64px !important;
    flex: 0 0 64px;
    scroll-snap-align: start;
  }

  .single-product h1.product_title.entry-title {
    margin-top: 14px !important;
  }
}

/* -----------------------------------------------
   Layout page produit unique : suppression de l'espace vide
   entre la zone produit (images + résumé) et les onglets.
   WooCommerce utilise des floats par défaut → on passe en
   flexbox pour que les onglets collent au contenu le plus court.
----------------------------------------------- */
.woocommerce div.product {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}

.woocommerce div.product div.images {
  float: none !important;
  flex: 0 0 48%;
  max-width: 48%;
  margin-bottom: 0 !important;
}

.woocommerce div.product div.summary {
  float: none !important;
  clear: none !important;
  flex: 0 0 48%;
  max-width: 48%;
  margin-bottom: 0 !important;
  padding-left: 2em;
  box-sizing: border-box;
}

/* === Onglets produit === */
.woocommerce div.product .woocommerce-tabs ul.tabs li,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  background: none !important;
  border: none !important;
  border-right: 2px solid #c89d4f !important;
  border-radius: 0 !important;
  padding: 0 1.2em !important;
  margin: 0 !important;
  text-align: center;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li:first-child {
  padding-left: 0 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li:last-child {
  border-right: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  font-weight: 700;
  color: #242d5c;
  padding: 0 !important;
  position: relative;
  display: inline-block;
  transition: color 0.3s ease;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
  color: #a07b2e;
}

/* Masquer le ::before natif de WooCommerce */
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active::after {
  display: none !important;
}

/* Border-top gold centré, largeur du texte – actif, hover, focus */
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  padding-top: 0.6em !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li:hover a,
.woocommerce div.product .woocommerce-tabs ul.tabs li:focus-within a {
  border-top: 2px solid #c89d4f !important;
}

/* Lightbox produit : fond blanc sur les images transparentes */
.pswp__img {
  background: #fff;
}

/* Astra ajoute padding-top:2em et margin-bottom:4em sur .woocommerce-tabs via .woocommerce-js */
.woocommerce div.product .woocommerce-tabs {
  clear: none !important;
  flex: 0 0 100%;
  max-width: 100%;
  padding-top: 0 !important;
  margin-top: 2em;
}

@media (max-width: 922.9px) {
  .woocommerce div.product {
    flex-direction: column;
  }

  .woocommerce div.product div.images,
  .woocommerce div.product div.summary {
    flex: 0 0 100%;
    max-width: 100%;
  }
}


/* === Boutons +/- sélecteur de quantité === */
.quantity {
  display: flex;
  align-items: center;
  border-top: 1px solid #c89d4f;
  border-bottom: 1px solid #c89d4f;
  border-left: none;
  border-right: none;
  width: fit-content;
}

.quantity .qty-btn {
  background: none;
  border: none;
  box-shadow: none !important;
  color: #a07b2e;
  font-size: 1.2rem;
  line-height: 1;
  padding: 0 10px;
  cursor: pointer;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color 0.2s;
}

.quantity input.qty,
.woocommerce .quantity input.qty,
.woocommerce-page .quantity input.qty,
form.cart .quantity input.qty {
  border: none !important;
  border-top: none !important;
  border-bottom: none !important;
  border-left: none !important;
  border-right: none !important;
  border-radius: 0 !important;
  outline: none !important;
  text-align: center;
  width: 44px !important;
  height: 36px;
  font-size: 0.95rem;
  color: #242d5c;
  padding: 0 4px;
  -moz-appearance: textfield;
  appearance: textfield;
  box-shadow: none !important;
  background: #fff;
}

.quantity input.qty::-webkit-outer-spin-button,
.quantity input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Composition "Se rattacher à un/une VDI" – pleine largeur */
.composition-vdi-fullwidth {
  width: 100%;
}

/* Supprimer l'espace sous la section up-sells sur page produit */
.single-product #primary,
.single-product .entry-content,
.single-product .ast-woo-container,
.single-product .site-content>.ast-container,
.single-product #content,
.single-product .site-main,
.single-product main {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

/* up-sells Products - Vous aimerez peu être aussi */
section.up-sells.upsells.products {
  background: #b8bdd4;
  padding: 40px 32px;
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

section.up-sells.upsells.products {
  width: 100dvw !important;
  max-width: 100dvw !important;
  position: relative;
  left: auto;
  transform: none;
  margin-left: calc(50% - 50dvw) !important;
  margin-right: calc(50% - 50dvw) !important;
  overflow: visible;
}

section.up-sells.upsells.products::after {
  display: none;
}

/* up-sells Products – Complétez votre routine */

.woocommerce section.up-sells.upsells.products ul.products {
  display: flex !important;
  justify-content: center !important;
  align-items: stretch !important;
  gap: 24px;
}

.woocommerce section.up-sells.upsells.products ul.products li.product {
  text-align: center;
}

.woocommerce section.up-sells.upsells.products>h2 {
  display: block;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  color: #242d5c !important;
}

.woocommerce section.up-sells.upsells.products .woocommerce-loop-product__title {
  color: #242d5c !important;
}

.woocommerce section.up-sells.upsells.products .price {
  text-align: center !important;
  display: block !important;
  color: #244496 !important;
}

.woocommerce section.up-sells.upsells.products .price .woocommerce-Price-amount {
  color: #244496 !important;
}

/* Prix public dans les up-sells – style grille */
.woocommerce section.up-sells.upsells.products .product-public-price-list {
  display: block !important;
  font-weight: 700 !important;
}

.woocommerce section.up-sells.upsells.products .product-public-price-list .product-price-label {
  font-size: var(--16px);
  color: #244496;
  font-weight: 400 !important;
  font-family: "Inter", sans-serif !important;
}

/* Prix VDI dans les up-sells – style grille */
.woocommerce section.up-sells.upsells.products .product-vdi-price-list {
  display: block !important;
  color: #242d5c !important;
  font-weight: 600 !important;
  font-family: "Abhaya Libre", serif !important;
  margin-left: 0;
  margin-top: 4px;
}

.woocommerce section.up-sells.upsells.products .product-vdi-price-list span,
.woocommerce section.up-sells.upsells.products .product-vdi-price-list .woocommerce-Price-amount {
  color: #242d5c !important;
  font-weight: 600 !important;
  font-family: "Abhaya Libre", serif !important;
}

.woocommerce section.up-sells.upsells.products .product-vdi-price-list .product-price-label {
  font-size: var(--16px);
  color: #242d5c !important;
  font-weight: 400 !important;
  font-family: "Inter", sans-serif !important;
}

/* Masquer le séparateur et tooltip VDI dans les up-sells */
.up-sells.upsells.products .product-price-separator {
  display: none !important;
}

.up-sells.upsells.products .vdi-tooltip-wrap {
  display: none !important;
}

/* Masquer le bouton "Ajouter au panier" dans les up-sells */
.up-sells.upsells.products .button.add_to_cart_button {
  display: none !important;
}

.woocommerce section.up-sells.upsells.products ul.products li.product img {
  background: #fff;
  width: 389px !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 auto;
}

/* Wrapper étoiles + note textuelle dans la boucle */
.loop-rating-wrap {
  display: flex !important;
  flex-direction: row-reverse !important;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-top: 0;
}

.loop-rating-wrap .star-rating {
  margin: 0 !important;
  float: none !important;
  overflow: hidden !important;
}

.loop-rating-wrap .star-rating .rating,
.loop-rating-wrap .star-rating>strong {
  display: none !important;
}

.loop-rating-wrap .rating-text {
  font-size: 0.85rem;
  color: #242d5c;
}

/* Note textuelle sur la fiche produit */
.single-rating-text {
  font-size: 14px;
  color: #242d5c;
  margin-left: 6px;
}

.up-sells .single-rating-text {
  display: none;
}

/* Nombre d'avis clients sur la fiche produit */
.woocommerce-product-rating a {
  font-size: 14px;
}

.up-sells.products .loop-rating-wrap .rating-text {
  color: #242d5c;
}

/* Masquer le séparateur " / " et le tooltip VDI dans les up-sells */
.up-sells.products .product-price-separator {
  display: none !important;
}

.up-sells.products .vdi-tooltip-wrap {
  display: none !important;
}

/* Prix public dans les up-sells */
.up-sells.products .product-public-price {
  display: block !important;
}

.up-sells.products .product-public-price .woocommerce-Price-amount,
.up-sells.products .product-public-price .woocommerce-Price-amount bdi {
  color: #242d5c !important;
  font-size: var(--22px) !important;
  font-weight: 700 !important;
  font-style: normal !important;
  font-family: "Abhaya Libre", serif !important;
}

.up-sells.products .product-public-price .product-price-label {
  font-size: var(--16px);
  color: #242d5c !important;
  font-weight: 400 !important;
  font-style: normal;
  font-family: "Inter", sans-serif !important;
}

/* Prix VDI dans les up-sells : à la ligne, bleu marine */
.up-sells.products .product-vdi-price {
  display: block !important;
  margin-left: 0;
  margin-top: 4px;
}

section.up-sells.products span.product-vdi-price .woocommerce-Price-amount.amount {
  color: #242d5c !important;
}

.up-sells.products .product-vdi-price .woocommerce-Price-amount,
.up-sells.products .product-vdi-price .woocommerce-Price-amount bdi {
  color: #242d5c !important;
  font-size: var(--22px) !important;
  font-weight: 700 !important;
  font-style: normal !important;
  font-family: "Abhaya Libre", serif !important;
}

.up-sells.products .product-vdi-price .product-price-label {
  font-size: var(--16px);
  font-style: normal !important;
  color: #242d5c !important;
  font-weight: 400 !important;
  font-family: "Inter", sans-serif !important;
}

/* Boutons avec flèche SVG ::after */
.btn-contacter-un-vdi .wp-block-button__link,
.btn-decouvrir-les-produits .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-width: 220px;
  min-height: 48px;
  box-sizing: border-box;
}

.btn-decouvrir-les-produits .wp-block-button__link {
  font-size: 1rem !important;
}

.btn-contacter-un-vdi .wp-block-button__link:hover {
  background-color: #fff !important;
  color: #242d5c !important;
}

.btn-decouvrir-les-produits .wp-block-button__link:hover {
  background-color: #c89d4f !important;
  color: #fff !important;
}

/* DIVERS STYLES PAGES PAIEMENTS  */
.woocommerce-checkout.woocommerce-order-pay li::before {
  display: none !important;
}
 
.woocommerce-checkout.woocommerce-order-pay td {
  padding-left: 0.5rem;
}
 
.woocommerce-checkout.woocommerce-order-pay button[type="submit"] {
  float: unset;
  display: block;
  margin-inline: auto;
  max-width: max-content;
}
 
.woocommerce-view-order .woocommerce-button.cancel {
  margin-left: 1rem;
}
 
/* ZONE CLIQUABLE ETENDUE SUR LA HOME  */
 
.home li.wc-block-product h3 a {
  padding-inline: 20px;
}
 
.home li.wc-block-product .wp-block-post-title::before,
.home li.wc-block-product .wp-block-post-title::after {
  width: calc(100% - 40px);
  margin-left: 20px;
}

.avis-all .vdi-price-banner-section {
  width: 100dvw !important;
  max-width: 100dvw !important;
  position: relative;
  left: auto;
  transform: none;
  margin-left: calc(50% - 50dvw) !important;
  margin-right: calc(50% - 50dvw) !important;
  overflow: visible;
}

/* ================================================================= */
/* RESPONSIVE HOMEPAGE                                                */
/* Padding latéral standard : 20px (cohérent avec .essaim-padding,   */
/* .contact-vdi et les sections existantes)                          */
/* ================================================================= */

/* --- Tablette (601px – 922px) : grille produits en 2 colonnes --- */
@media (min-width: 601px) and (max-width: 922.9px) {

  .woocommerce ul.products li.product,
  .wc-block-product-template li,
  .wc-block-grid__product {
    flex: 0 1 calc(50% - 10px) !important;
    width: calc(50% - 10px) !important;
    min-width: 0 !important;
  }
}

/* --- Mobile & tablette (< 922.9px) --- */
@media (max-width: 922.9px) {

  /* Bandeau ruche bleu : réduire le padding-top et ajouter padding latéral */
  .bandeau-ruche-bleu {
    padding-top: 40px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .bandeau-ruche-bleu::after {
    background-size: 100% auto !important;
  }

  .bandeau-ruche-bleu {
    padding-bottom: 84px !important;
  }

  /* Sections produits (phares, promo, offres) */
  .banner-produits-phares-dynamique,
  .banner-produits-phares-promo,
  .banner-promo-dynamique {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  /* Section qualité-engagements */
  .qualite-engagements-section {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  /* Carrousel avis : padding pour ne pas coller aux bords */
  .carousel-reviews-wrapper {
    padding-left: 20px;
    padding-right: 20px;
    box-sizing: border-box;
  }

  /* Notre histoire : border-left → border-top sur mobile */
  .contact-right {
    border-left: none;
    padding-left: 0;
    padding-top: 20px;
    border-top: 1px solid #c89d4f;
  }
}

/* Tablette et petit écran */
@media (min-width: 922.9px) and (max-width: 1250px) {
  .banner-produits-phares-dynamique {
    padding-inline: 2rem !important;
  }
}

@media (min-width: 922.9px) and (max-width: 1005px) {
  .woocommerce ul.products li.product {
    flex: 0 0 48% !important;
    min-width: 0 !important;
    max-width: 48% !important;
    width: 48% !important;
    box-sizing: border-box !important;
  }
}

@media (min-width: 921.9px) and (max-width: 922.9px) {
  header .site-logo-img img {
    box-shadow: none !important;
  }

  .ast-below-header-wrap .ast-below-header-bar {
    background-color: unset !important;
    border: none !important;
  }
}

/* --- Mobile (< 600px) --- */
@media (max-width: 600px) {

  .main-header-menu>.menu-item:first-child>.sub-menu>li:last-child>a,
  .main-header-menu>.menu-item:first-child>.sub-menu>li:last-child>.menu-link {
    font-weight: inherit !important;
    padding-top: 0 !important;
  }

  .home h1 {
    padding-inline: 1rem !important;
  }

  .home .wp-block-column.contenu-lisible {
    padding-inline: 1rem !important;
  }

  .wp-block-buttons>.wp-block-button.wp-block-button__width-50 {
    width: max-content !important;
  }

  .banner-produits-phares-promo h3 {
    font-size: var(--14px) !important;
  }

  .banner-produits-phares-promo li {
    padding-left: inherit !important;
  }

  .bandeau-ruche-bleu+.banner {
    margin-block-start: inherit !important;
  }

  .woocommerce-tabs.wc-tabs-wrapper .tabs.wc-tabs li a {
    margin-bottom: 6px !important;
  }

  #tab-title-description {
    padding-right: inherit !important;
  }

  .woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
  .woocommerce div.product .woocommerce-tabs ul.tabs li:hover a,
  .woocommerce div.product .woocommerce-tabs ul.tabs li:focus-within a {
    border-top: none !important;
  }

  .woocommerce div.product .woocommerce-tabs ul.tabs li.active::before,
  .woocommerce div.product .woocommerce-tabs ul.tabs li:hover::before {
    content: "";
    display: inline-block !important;
    background-color: #c89d4f;
    width: 80px;
    height: 2px;
    left: 50%;
    transform: translateX(-50%);
    top: 0;
  }

  .woocommerce div.product .woocommerce-tabs ul.tabs li {
    border-right: none !important;
  }

  .woocommerce div.product .woocommerce-tabs ul.tabs li.active {
    border-right: none !important;
  }

  /* Section lavande : hauteur réduite, centrer la card */
  .img-lavande {
    min-height: 200px !important;
    justify-content: center !important;
  }

  /* Card lavande : espacement et typo adaptés */
  .card-lavande {
    padding: 0.75rem 1rem !important;
  }

  .card-lavande h2,
  .card-lavande h3,
  .card-lavande .wp-block-heading {
    font-size: 20px !important;
  }

  .card-lavande p {
    font-size: 14px !important;
  }

  /* Panier empty padding-left réduit */
  .woocommerce-cart .entry-content ul:not(.products):not([class*="flex"]):not([class*="nav"]) li {
    position: relative;
    padding-left: 0px;
    margin-bottom: 8px;
  }

  /* Panier remplis cacher le sous-total pour alléger l'affichage */
  .wc-block-cart-item__total-price-and-sale-badge-wrapper span.price {
    display: none !important;
  }

  .wc-block-product-filters__apply.wp-element-button {
    display: none !important;
  }

  /* Section qualité : espacements verticaux réduits */
  .qualite-engagements-section {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }

  .qualite-engagements-section-container {
    gap: 2.5rem;
  }

  /* Carrousel avis : cartes plus compactes */
  .carrousel-avis-container li,
  .carrousel-avis-container .wc-block-review-list-item,
  .carrousel-avis-container>*>* {
    flex: 0 0 260px;
    width: 260px;
    padding: 16px;
  }

  /* Produits phares : marge basse réduite */
  .banner-produits-phares-dynamique,
  .banner-produits-phares-promo {
    margin-bottom: 30px;
  }

  .bandeau-ruche-bleu::after {
    background-size: auto 20% !important;
  }

  .bandeau-ruche-bleu {
    padding-bottom: 84px !important;
  }

  /* Subfooter : padding cohérent (20px latéral) */
  #subfooter {
    padding: 2rem 20px;
  }

  /* Espacement CTA réunion mobile */
  .wp-block-group.cta-reunion,
  .wp-block-group.cta-vdi {
    min-height: 100px !important;
    padding-block: 2rem !important;
    gap: 1rem !important;
  }

  /* Footer : padding-top réduit */
  footer#colophon {
    padding-top: 2rem;
  }

  .footer-logo-title p {
    margin-inline: auto;
  }
}

/* --- Très petit mobile (< 400px) --- */
@media (max-width: 400px) {

  /* Catalogue : élargir les cartes produit sur très petit mobile */
  .woocommerce ul.products {
    justify-content: flex-start !important;
  }

  .woocommerce ul.products li.product {
    flex: 0 0 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Carrousel avis : encore plus compact */
  .carrousel-avis-container li,
  .carrousel-avis-container .wc-block-review-list-item,
  .carrousel-avis-container>*>* {
    flex: 0 0 230px;
    width: 230px;
    padding: 14px;
    min-height: 160px;
  }

  /* Card lavande : typo plus petite */
  .card-lavande h2,
  .card-lavande h3,
  .card-lavande .wp-block-heading {
    font-size: 18px !important;
  }

  .card-lavande p {
    font-size: 13px !important;
  }

  /* Section qualité : gap réduit */
  .qualite-engagements-section-container {
    gap: 2rem;
  }

  /* Éviter les débordements de titres longs */
  .title-h1 {
    word-break: break-word;
  }
}

/* FIX PANIER & PAGES INSCRIPTION  */
.woocommerce-cart li::before,
.woocommerce-checkout li::before {
  display: none !important;
}
 
.wc-block-cart__submit-container {
  text-align: center;
}
 
.wc-block-cart__submit-container .wc-block-cart__submit-button {
  max-width: max-content;
}
