/* =============================================================================
   custom.css — Thème enfant Origine.bio
   PrestaShop 9 / Hummingbird child theme
   ============================================================================= */

/* -----------------------------------------------------------------------------
   TOKENS
   ----------------------------------------------------------------------------- */
:root {
  --ob-color-topbar-bg:           #93B2A6;
  --ob-color-topbar-text:         #ffffff;
  --ob-color-topbar-link:         #ffffff;

  --ob-color-nav-bg:              #ffffff;
  --ob-color-nav-border:          #ececec;
  --ob-color-logo-text:           #111111;
  --ob-color-nav-link:            #111111;
  --ob-color-nav-link-hover:      #93B2A6;
  --ob-color-nav-active:          #93B2A6;

  --ob-color-search-bg:           #f5f5f0;
  --ob-color-search-border:       #ddddd6;
  --ob-color-search-text:         #111111;
  --ob-color-search-placeholder:  #9e9e8e;

  --ob-color-icon:                #111111;
  --ob-color-icon-hover:          #93B2A6;
  --ob-color-cart-badge-bg:       #93B2A6;
  --ob-color-cart-badge-text:     #ffffff;

  --ob-font-secondary: 			 'DM Sans', system-ui, sans-serif;
  --ob-font-body:       		 'Roboto', system-ui, sans-serif;
  --ob-font-heading:   			 'Montserrat', sans-serif;

  --ob-topbar-height:             38px;
  --ob-navbar-height:             76px;
  --ob-navbar-height-mobile:      60px;

  --ob-transition:                0.2s ease;
  --ob-radius-search:             24px;
  --ob-shadow-nav:                0 2px 12px rgba(0,0,0,0.06);
}

body {
  font-family: var(--ob-font-body);
}

/* Empêcher Bootstrap de décaler le body */
body.modal-open,
body[style*="padding-right"] {
  padding-right: 0 !important;
  overflow: auto !important;
}

a {color:#93B2A6!important;}
@media (min-width: 1400px) {
  .container,
  .container-lg,
  .container-md,
  .container-sm,
  .container-xl,
  .container-xxl {
    max-width: 1600px !important;
  }
}

@media (min-width: 1600px) {
  .container,
  .container-lg,
  .container-md,
  .container-sm,
  .container-xl,
  .container-xxl {
    max-width: 1800px !important;
  }
}
body .wishlist-button-add ,body .wishlist-button-add i.material-icons{color:#E5E5E5!important}

/* Fix largeur header */
#header,
.ob-header,
.ob-topbar,
.ob-navbar,
.ob-navmenu {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
/* -----------------------------------------------------------------------------
   TOP BAR
   ----------------------------------------------------------------------------- */
.ob-topbar {
  background-color: var(--ob-color-topbar-bg);
  height: var(--ob-topbar-height);
  display: flex;
  align-items: center;
}

.ob-topbar .container {
  display: flex;
  justify-content: center;
  align-items: center;
}

.ob-topbar__text, .ob-topbar__text a {
  font-family: var(--ob-font-secondary);
  font-size: 1rem;
  font-weight: 600;
  color: var(--ob-color-topbar-text)!important;
  letter-spacing: 0.02em;
  margin: 0;
  text-align: center;
}
@media (max-width:768px){.ob-topbar__text, .ob-topbar__text a {font-size:0.75rem;}}

.ob-topbar__link {
  color: var(--ob-color-topbar-link);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
  margin-left: 6px;
  transition: opacity var(--ob-transition);
}

.ob-topbar__link:hover {
  opacity: 0.8;
}


/* -----------------------------------------------------------------------------
   NAVBAR : Logo | Recherche | Actions
   ----------------------------------------------------------------------------- */
.ob-navbar {
  background-color: var(--ob-color-nav-bg);
  border-bottom: 1px solid var(--ob-color-nav-border);
  box-shadow: var(--ob-shadow-nav);
  position: sticky;
  top: 0;
  z-index: 1000;
}

.ob-navbar__inner {
  display: flex;
  align-items: center;
  height: var(--ob-navbar-height);
  gap: 20px;
}

@media (max-width: 991px) {
  .ob-navbar__inner {
    height: var(--ob-navbar-height-mobile);
    gap: 12px;
  }
}


/* -----------------------------------------------------------------------------
   BURGER (mobile)
   ----------------------------------------------------------------------------- */
.ob-navbar__burger {
  display: none;
  flex-direction: column;
  justify-content: space-between;
  width: 24px;
  height: 18px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  flex-shrink: 0;
}

@media (max-width: 991px) {
  .ob-navbar__burger {
    display: flex;
  }
}

.ob-burger-line {
  display: block;
  width: 100%;
  height: 2px;
  background-color: var(--ob-color-icon);
  border-radius: 2px;
  transition: all var(--ob-transition);
}

.ob-navbar__burger[aria-expanded="true"] .ob-burger-line:nth-child(1) {
  transform: translateY(8px) rotate(45deg);
}

.ob-navbar__burger[aria-expanded="true"] .ob-burger-line:nth-child(2) {
  opacity: 0;
}

.ob-navbar__burger[aria-expanded="true"] .ob-burger-line:nth-child(3) {
  transform: translateY(-8px) rotate(-45deg);
}


/* -----------------------------------------------------------------------------
   LOGO (gauche)
   ----------------------------------------------------------------------------- */
.ob-navbar__logo {
  flex-shrink: 0;
}

.ob-navbar__logo a {
  display: block;
  text-decoration: none;
}

@media (max-width: 991px) {
  .ob-navbar__logo {
    flex: 1;
    text-align: center;
  }
}

.ob-logo {
  height: 44px;
  width: auto;
  display: block;
}

@media (max-width: 991px) {
  .ob-logo {
    height: 36px;
    margin: 0 auto;
  }
}

.ob-logo-text {
  font-family: var(--ob-font-primary);
  font-size: 1.6rem;
  font-weight: 600;
  color: var(--ob-color-logo-text);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ob-logo-text em {
  font-style: italic;
  font-weight: 400;
  font-size: 0.85em;
  display: block;
  letter-spacing: 0.15em;
  text-align: center;
  margin-top: -4px;
}


/* -----------------------------------------------------------------------------
   RECHERCHE (centre sur desktop)
   ----------------------------------------------------------------------------- */
.ob-search__form {
  display: flex;
  align-items: center;
  background-color: var(--ob-color-search-bg);
  border: 1px solid var(--ob-color-search-border);
  border-radius: var(--ob-radius-search);
  overflow: hidden;
  transition: border-color var(--ob-transition), box-shadow var(--ob-transition);
}

.ob-search__form:focus-within {
  border-color: var(--ob-color-nav-active);
  box-shadow: 0 0 0 3px rgba(147, 178, 166, 0.2);
}

.ob-search__input {
  flex: 1;
  background: none;
  border: none;
  outline: none;
  font-family: var(--ob-font-secondary);
  font-size: 0.88rem;
  color: var(--ob-color-search-text);
  padding: 10px 16px 10px 4px;
}

.ob-search__input::placeholder {
  color: var(--ob-color-search-placeholder);
}

.ob-search__btn {
  background: none;
  border: none;
  padding: 0 14px;
  cursor: pointer;
  color: var(--ob-color-search-placeholder);
  display: flex;
  align-items: center;
  flex-shrink: 0;
  transition: color var(--ob-transition);
}

.ob-search__btn:hover {
  color: var(--ob-color-nav-active);
}

/* Desktop : prend tout l'espace central */
.ob-search--desktop {
  flex: 1;
  max-width: 860px;
  margin: 0 auto;
}

@media (max-width: 991px) {
  .ob-search--desktop {
    display: none;
  }
}

/* Mobile : pleine largeur sous la navbar */
.ob-search--mobile {
  display: none;
  padding: 10px 0;
  border-top: 1px solid var(--ob-color-nav-border);
  background-color: var(--ob-color-nav-bg);
}

@media (max-width: 991px) {
  .ob-search--mobile {
    display: block;
  }

  .ob-search--mobile .ob-search__input {
    font-size: 0.9rem;
    padding: 11px 16px 11px 4px;
  }
}


/* -----------------------------------------------------------------------------
   ACTIONS droite : Compte + Panier
   ----------------------------------------------------------------------------- */
.ob-navbar__actions {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}

.ob-action {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  color: var(--ob-color-icon);
  text-decoration: none;
  transition: color var(--ob-transition), background-color var(--ob-transition);
  position: relative;
}

.ob-action:hover {
  color: var(--ob-color-icon-hover);
  background-color: rgba(147, 178, 166, 0.12);
}

.ob-action svg {
  display: block;
  color:#111111;
}

.ob-cart-count {
  position: absolute;
  top: -8px;
  right: -7px;
  min-width: 18px;
  height: 18px;
  padding: 0 4px;
  background-color: var(--ob-color-cart-badge-bg);
  color: var(--ob-color-cart-badge-text);
  font-family: var(--ob-font-secondary);
  font-size: 0.65rem;
  font-weight: 700;
  border-radius: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
@media (min-width: 768px) {
    .header-block__action-btn {
        padding: 0!important;
    }
}
.alert-info{    --bs-alert-color: #5C7D6F;
    --bs-alert-bg: #93B2A62E;
    --bs-alert-border-color: #93B2A6;
    --bs-alert-link-color: #5C7D6F;}

/* -----------------------------------------------------------------------------
   BARRE DE NAVIGATION PS (menu principal — desktop)
   ----------------------------------------------------------------------------- */
.ob-navmenu {
  background-color: var(--ob-color-nav-bg);
  border-bottom: 1px solid var(--ob-color-nav-border);
}

.ob-navmenu .container {
  display: flex;
  align-items: center;
  height: var(--ob-navmenu-height);
}


/* Styles pour les liens générés par ps_mainmenu */
.ob-navmenu ul#menu {
  display: flex;
  align-items: center;
  gap: 4px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.ob-navmenu ul li {
  position: relative;
}

.ob-navmenu ul li a {
  display: block;
  font-family: var(--ob-font-secondary);
  font-size: 0.82rem;
  font-weight: 500;
  color: var(--ob-color-nav-link);
  text-decoration: none;
  padding: 8px 14px;
  border-radius: 4px;
  white-space: nowrap;
  transition: color var(--ob-transition), background-color var(--ob-transition);
}

.ob-navmenu ul li a:hover,
.ob-navmenu ul li.current a {
  color: var(--ob-color-nav-link-hover);
  /*background-color: rgba(147, 178, 166, 0.08);*/
}

.ob-navmenu ul li.current > a {
  font-weight: 600;
}

/* Sous-menus dropdown */
/*.ob-navmenu ul li ul {
  display: none;
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  min-width: 200px;
  background: #fff;
  border: 1px solid var(--ob-color-nav-border);
  border-radius: 8px;
  box-shadow: 0 8px 32px rgba(0,0,0,0.1);
  padding: 8px 0;
  z-index: 200;
  flex-direction: column;
  gap: 0;
}*/

.ob-navmenu ul li ul li a {
  border-radius: 0;
  padding: 10px 20px;
}


/* -----------------------------------------------------------------------------
   MENU MOBILE
   Le module génère 2 structures distinctes : #_desktop_top_menu (desktop,
   tableaux + survol, bardé de règles responsive internes qui le cachent par
   endroits) et #adtmMobileMenu (offcanvas dédié mobile, avec ses propres
   boutons dépliants par onglet). On ignore la 1ère sur mobile et on pilote
   nous-mêmes la 2nde avec notre propre JS (mobile-menu-fix.js), sans
   dépendre de Bootstrap Offcanvas absent du thème.
   ----------------------------------------------------------------------------- */
@media (max-width: 991px) {
  /* On masque le bloc desktop du module sur mobile : on utilise l'autre */
  .ob-navmenu #_desktop_top_menu {
    display: none !important;
  }

  /* Le panneau mobile natif du module : masqué par défaut (hors-champ),
     ouvert par mobile-menu-fix.js en ajoutant .is-open sur le body */
  .adtm_hummingbird_offcanvas {
    display: block !important; /* présent dans le DOM, positionné hors-champ */
    visibility: visible !important; /* neutralise le CSS natif de Bootstrap (offcanvas) */
    position: fixed;
    top: 0;
    left: 0;
    width: 85%;
    max-width: 360px;
    height: 100%;
    background-color: var(--ob-color-nav-bg);
    z-index: 1100;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    transform: translateX(-100%) !important;
    transition: transform 0.3s ease;
    box-shadow: 2px 0 16px rgba(0, 0, 0, 0.15);
  }

  body.ob-mobile-menu-open .adtm_hummingbird_offcanvas {
    transform: translateX(0) !important;
  }

  /* Fond assombri derrière le panneau ouvert */
  body.ob-mobile-menu-open::after {
    content: '';
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
    z-index: 1050;
    pointer-events: none; /* la fermeture au clic extérieur est gérée en JS */
  }

  body.ob-mobile-menu-open {
    overflow: hidden; /* bloque le scroll de la page derrière */
  }

  /* Le panneau est imbriqué dans <header> (position:sticky), qui crée son
     propre contexte d'empilement local sans z-index explicite : même avec
     z-index:1100, le panneau restait piégé sous l'overlay (attaché au body,
     donc au niveau racine). On élève le header lui-même quand le menu
     est ouvert pour que son contenu sorte au-dessus de l'overlay. */
  body.ob-mobile-menu-open header.js-sticky-header {
    z-index: 1200;
  }

  .adtm_hummingbird_offcanvas .offcanvas-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px;
    border-bottom: 1px solid var(--ob-color-nav-border);
    background-color:#93B2A6;
  }

  .adtm_hummingbird_offcanvas .adtm_hummingbird_submenu_toggle[aria-expanded="true"] i {
    transform: rotate(90deg);
  }

  .adtm_hummingbird_offcanvas .columnWrapTable,
  .adtm_hummingbird_offcanvas .columnWrapTable tbody,
  .adtm_hummingbird_offcanvas .columnWrapTable tr,
  .adtm_hummingbird_offcanvas .adtm_column_wrap_td,
  .adtm_hummingbird_offcanvas .adtm_column_wrap,
  .adtm_hummingbird_offcanvas .adtm_column {
    display: block !important;
    width: 100% !important;
  }
}

@media (min-width: 992px) {
  .ob-navmenu {
    position: static;
    max-height: none;
    overflow: visible;
  }
}

.ob-mobile-menu__overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
  z-index: 1098;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.ob-mobile-menu__panel {
  position: fixed;
  top: 0;
  left: 0;
  width: 85%;
  max-width: 320px;
  height: 100vh;
  background: #fff;
  z-index: 1099;
  overflow-y: auto;
  transform: translateX(-100%);
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  flex-direction: column;
  padding: 20px 0 32px;
}

.ob-mobile-menu.is-open .ob-mobile-menu__overlay {
  opacity: 1;
  visibility: visible;
}

.ob-mobile-menu.is-open .ob-mobile-menu__panel {
  transform: translateX(0);
}

.ob-mobile-menu__close {
  background: none;
  border: none;
  padding: 8px 20px;
  cursor: pointer;
  color: var(--ob-color-icon);
  display: flex;
  align-self: flex-end;
  margin-bottom: 16px;
  transition: color var(--ob-transition);
}

.ob-mobile-menu__close:hover {
  color: var(--ob-color-icon-hover);
}

.ob-mobile-menu__footer {
  margin-top: auto;
  padding: 20px 20px 0;
  border-top: 1px solid var(--ob-color-nav-border);
}

.ob-mobile-menu__account {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--ob-font-secondary);
  font-size: 0.85rem;
  color: var(--ob-color-nav-link);
  text-decoration: none;
  padding: 12px 0;
  transition: color var(--ob-transition);
}

.ob-mobile-menu__account:hover {
  color: var(--ob-color-nav-link-hover);
}

/* Styles pour les liens du menu mobile générés par ps_mainmenu */
.ob-mobile-menu__panel ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.ob-mobile-menu__panel > ul > li {
  border-bottom: 1px solid var(--ob-color-nav-border);
}

.ob-mobile-menu__panel ul li a {
  display: block;
  font-family: var(--ob-font-secondary);
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--ob-color-nav-link);
  text-decoration: none;
  padding: 15px 20px;
  transition: color var(--ob-transition);
}

.ob-mobile-menu__panel ul li a:hover {
  color: var(--ob-color-nav-link-hover);
}

/* Sous-niveaux mobile */
.ob-mobile-menu__panel ul ul {
  padding-left: 16px;
  background-color: rgba(147, 178, 166, 0.04);
}

.ob-mobile-menu__panel ul ul li a {
  font-size: 0.88rem;
  font-weight: 400;
  padding: 11px 20px;
}


/* -----------------------------------------------------------------------------
   UTILITAIRE ACCESSIBILITÉ
   ----------------------------------------------------------------------------- */
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
/* =============================================================================
   HERO BANNER — ps_imageslider override
   ============================================================================= */

/* -----------------------------------------------------------------------------
   Conteneur principal
   ----------------------------------------------------------------------------- */
.ob-hero {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.ob-hero__slide {
  position: relative;
  width: 100%;
  min-height: 560px;
  display: flex;
  align-items: center;
}

@media (max-width: 991px) {
  .ob-hero__slide {
    min-height: 420px;
  }
}

@media (max-width: 575px) {
  .ob-hero__slide {
    min-height: 380px;
  }
}


/* -----------------------------------------------------------------------------
   Image de fond + overlay
   ----------------------------------------------------------------------------- */
.ob-hero__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.ob-hero__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.ob-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.3) 0%, rgba(17, 20, 18, 0.5) 45%, rgba(17, 20, 18, 0.8) 100%);
}


/* -----------------------------------------------------------------------------
   Contenu texte
   ----------------------------------------------------------------------------- */
.ob-hero__content {
  position: relative;
  z-index: 1;
  width: 100%;
  padding: 60px 0;
}

.ob-hero__content .container {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 20px;
}

@media (max-width: 991px) {
  .ob-hero__content {
    padding: 40px 0;
  }
}


/* -----------------------------------------------------------------------------
   Titre
   ----------------------------------------------------------------------------- */
.ob-hero__title {
  font-family: 'Montserrat', sans-serif;
  font-size: 26px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
  text-align: center;
  color: #ffffff;
  margin: 0;
  max-width: 700px;
  text-shadow: none;
}
@media (max-width: 991px) {
  .ob-hero__title {
    font-size: 2.2rem;
  }
}

@media (max-width: 575px) {
  .ob-hero__title {
    font-size: 1.75rem;
  }
}


/* -----------------------------------------------------------------------------
   Description (optionnelle)
   ----------------------------------------------------------------------------- */
.ob-hero__desc {
  font-family: var(--ob-font-secondary);
  font-size: 1.05rem;
  color: rgba(255, 255, 255, 0.9);
  margin: 0;
  max-width: 500px;
  line-height: 1.6;
  text-shadow: 0 1px 6px rgba(0,0,0,0.2);
}

@media (max-width: 575px) {
  .ob-hero__desc {
    font-size: 0.92rem;
  }
}


/* -----------------------------------------------------------------------------
   Bouton CTA
   ----------------------------------------------------------------------------- */
.ob-hero__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 124px;
  height: 48px;
  padding: 16px;
  background-color: #93B2A6;
  border: none;
  border-radius: 8px;
  font-family: 'Montserrat', sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.02em;
  font-variant: small-caps;
  color: #171D19!important;
  text-decoration: none;
  transition: background-color 0.2s ease, opacity 0.2s ease;
  margin-top: 8px;
  gap: 10px;
}

.ob-hero__cta:hover {
  background-color: #7a9a8e;
  color: #171D19;
  opacity: 0.9;
}

@media (max-width: 575px) {
  .ob-hero__cta {
    padding: 12px 28px;
    font-size: 0.78rem;
  }
}
/* =============================================================================
   SECTION PRODUITS — ps_featuredproducts / ps_bestsellers override
   ============================================================================= */

/* -----------------------------------------------------------------------------
   Titre de section
   ----------------------------------------------------------------------------- */
.ps-featuredproducts .section-title,
.ps-bestsellers .section-title,
.module-products .section-title {
  font-family: 'Montserrat', sans-serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.02em;
  color: #171D19;
  margin: 0 0 8px 0;
}

/* Sous-titre (si présent via ps_customtext ou description module) */
.ps-featuredproducts .section-subtitle,
.ps-bestsellers .section-subtitle {
  font-family: 'DM Sans', sans-serif;
  font-size: 0.9rem;
  color: #737373;
  margin: 0 0 24px 0;
}

/* -----------------------------------------------------------------------------
   Conteneur section
   ----------------------------------------------------------------------------- */
.ps-featuredproducts,
.ps-bestsellers {
  padding: 40px 0;
}

.ps-featuredproducts .module-products,
.ps-bestsellers .module-products {
  padding: 0;
}

/* Header section : titre + lien "voir tout" */
.ps-featuredproducts .module-products .container,
.ps-bestsellers .module-products .container {
  display: block;
}

/* -----------------------------------------------------------------------------
   Grille produits — Desktop
   ----------------------------------------------------------------------------- */
.ps-featuredproducts .products,
.ps-bestsellers .products {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

@media (max-width: 1199px) {
  .ps-featuredproducts .products,
  .ps-bestsellers .products {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* -----------------------------------------------------------------------------
   Carrousel mobile — scroll horizontal avec snap
   ----------------------------------------------------------------------------- */
@media (max-width: 991px) {
  .ps-featuredproducts .module-products__list,
  .ps-bestsellers .module-products__list {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    margin: 0 -16px;
    padding: 0 16px 12px;
  }

  .ps-featuredproducts .module-products__list::-webkit-scrollbar,
  .ps-bestsellers .module-products__list::-webkit-scrollbar {
    display: none;
  }

  .ps-featuredproducts .products,
  .ps-bestsellers .products {
    display: flex;
    flex-wrap: nowrap;
    gap: 12px;
    grid-template-columns: none;
  }

  .ps-featuredproducts .product-miniature,
  .ps-bestsellers .product-miniature {
    flex: 0 0 calc(50vw - 24px);
    min-width: calc(50vw - 24px);
    scroll-snap-align: start;
  }
}

@media (max-width: 400px) {
  .ps-featuredproducts .product-miniature,
  .ps-bestsellers .product-miniature {
    flex: 0 0 calc(65vw - 24px);
    min-width: calc(65vw - 24px);
  }
}


/* -----------------------------------------------------------------------------
   Carte produit
   ----------------------------------------------------------------------------- */
.product-miniature__inner {
  background: #ffffff;
  border-radius: 8px;
  border: 1px solid #ececec;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 100%;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.product-miniature__inner:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  transform: translateY(-2px);
}

/* Image */
.product-miniature__image-container {
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 0;
}

.product-miniature__image {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 16px;
  transition: transform 0.3s ease;
}

.product-miniature__inner:hover .product-miniature__image {
  transform: scale(1.04);
}

/* Partie basse de la carte */
.product-miniature__bottom {
  padding: 12px 14px 14px;
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 6px;
}

/* Badge catégorie */
.product-miniature__infos::before {
  content: attr(data-category);
}

/* On cible les flags produit comme badge catégorie */
.product-flags {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 4px;
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Badge générique */
.product-miniature__infos .product-miniature__category,
.ps-featuredproducts .product-miniature__category,
.ps-bestsellers .product-miniature__category {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #737373;
  margin: 0;
}

/* Titre produit */
.product-miniature__title {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.85rem;
  font-weight: 600;
  color: #171D19;
  text-decoration: none;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  isplay: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.6em; /* force 2 lignes même si titre court */
}

.product-miniature__title:hover {
  color: #93B2A6;
}

/* Prix */
.product-miniature__prices {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: auto;
}

.product-miniature__price {
  font-family: 'Montserrat', sans-serif;
  font-size: 1rem;
  font-weight: 700;
  color: #5C7D6F;
}

.product-miniature__regular-price {
  font-size: 0.82rem;
  color: #9e9e9e;
  text-decoration: line-through;
  font-weight: 400;
}

/* -----------------------------------------------------------------------------
   Actions : bouton panier rond vert
   ----------------------------------------------------------------------------- */
.product-miniature__actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 10px;
  margin-top: auto;
}

.product-miniature__form {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

/* Masquer le sélecteur de quantité sur la card — trop encombrant */
.product-miniature__form .quantity-button {
  display: none;
}

/* Bouton panier — rond vert */
.product-miniature__add {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: #5C7D6F;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex-shrink: 0;
  transition: background-color 0.2s ease;
  padding: 0;
  margin-left: auto;
}

.product-miniature__add:hover {
  background-color: #5C7D6F;
}

.product-miniature__add .material-icons {
  color: #ffffff;
  font-size: 18px;
}

/* Masquer le texte "Ajouter au panier" — icône seule */
.product-miniature__add-text {
  display: none;
}

/* Bouton "Voir détails" (produit sans stock) */
.product-miniature__details {
  font-family: 'DM Sans', sans-serif;
  font-size: 0.78rem;
  font-weight: 500;
  color: #ffffff;
  border-radius: 4px;
  padding: 8px 14px;
  text-decoration: none;
  transition: background-color 0.2s ease, color 0.2s ease;
  margin-left: auto;
}

.product-miniature__details:hover {
  background-color: #93B2A6;
  color: #ffffff;
}

/* -----------------------------------------------------------------------------
   Avis produits (étoiles)
   ----------------------------------------------------------------------------- */
.product-list-review {
  display: none; /* masqué sur les cards — à afficher si souhaité */
}

/* -----------------------------------------------------------------------------
   Bouton "Voir tous les produits"
   ----------------------------------------------------------------------------- */
.module-products__buttons {
  text-align: center;
  margin-top: 32px;
}

.module-products__buttons .btn-outline-primary {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #171D19;
  border: 2px solid #171D19;
  border-radius: 8px;
  padding: 14px 36px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.module-products__buttons .btn-outline-primary:hover {
  background-color: #171D19;
  color: #ffffff;
}

.module-products__buttons .btn-outline-primary .material-icons {
  font-size: 18px;
}

/* -----------------------------------------------------------------------------
   Badges discount / rupture
   ----------------------------------------------------------------------------- */
.badge.discount {
  background-color: #93B2A6;
  color: #ffffff;
  font-family: 'Montserrat', sans-serif;
  font-size: 0.7rem;
  font-weight: 700;
  padding: 4px 8px;
  border-radius: 4px;
}

.badge.out_of_stock {
  background-color: #f0f0f0;
  color: #737373;
  font-family: 'DM Sans', sans-serif;
  font-size: 0.68rem;
  font-weight: 500;
  padding: 4px 8px;
  border-radius: 4px;
}

.badge.pack {
  background-color: #171D19;
  color: #ffffff;
  font-family: 'Montserrat', sans-serif;
  font-size: 0.7rem;
  font-weight: 700;
  padding: 4px 8px;
  border-radius: 4px;
}
/* Prix + bouton sur la même ligne */
.product-miniature__actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 10px;
}

/* Badge catégorie */
.product-miniature__category {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #737373;
  display: block;
  margin-bottom: 4px;
}
.ob-section-header {
  margin-bottom: 24px;
}

.ob-section-header .section-subtitle {
  font-family: 'DM Sans', sans-serif;
  font-size: 0.9rem;
  color: #737373;
  margin: 6px 0 0 0;
  line-height: 1.5;
}

.ps-featuredproducts {
  padding-top: 48px;
  padding-right: 16px;
  padding-bottom: 48px;
  padding-left: 16px;
}

.ps-featuredproducts .products {
  gap: 32px;
}

/* Desktop : pas de padding latéral sur grand écran */
@media (min-width: 992px) {
  .ps-featuredproducts {
    padding-right: 16px;
    padding-left: 16px;
  }
}
/* =============================================================================
   BLOC RÉASSURANCE — blockreassurance override
   ============================================================================= */

.ob-reassurance {
  background-color: rgba(147, 178, 166, 0.18);
  padding-top: 48px;
  padding-bottom: 48px;
}

.ob-reassurance .container {
  padding-left: 16px;
  padding-right: 16px;
}

/* Header */
.ob-reassurance__header {
  margin-bottom: 24px;
}

.ob-reassurance__title {
  font-family: 'Montserrat', sans-serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.02em;
  color: #171D19;
  margin: 0 0 8px 0;
}

.ob-reassurance__subtitle {
  font-family: 'Roboto', sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  color: #4D4D4D;
  margin: 0;
}

/* Liste */
.ob-reassurance__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* Item */
.ob-reassurance__item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(147, 178, 166, 0.35);
}

.ob-reassurance__item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

/* Icône */
.ob-reassurance__icon {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #E5B869;
}

.ob-reassurance__icon .iconify {
  width: 24px;
  height: 24px;
  color: #E5B869;
}

/* Contenu texte */
.ob-reassurance__content {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.ob-reassurance__item-title {
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.02em;
  color: #000000;
  display: block;
}

.ob-reassurance__item-desc {
  font-family: 'Roboto', sans-serif;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0;
  color: #000000;
  display: block;
}

/* Desktop : grille 2 colonnes */
@media (min-width: 992px) {
  .ob-reassurance .container {
    max-width: 900px;
  }

  .ob-reassurance__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px 40px;
  }

  .ob-reassurance__item {
    border-bottom: 1px solid rgba(147, 178, 166, 0.35);
  }
  .ob-reassurance__item:last-child {
 border-bottom: 1px solid rgba(147, 178, 166, 0.35)!important;
	}
}

/* =============================================================================
   EXPLOREZ NOS UNIVERS
   ============================================================================= */
.ps-customtext .container {padding:0;}
.ob-univers {
  padding: 48px 16px;
}

.ob-univers__title {
  font-family: 'Montserrat', sans-serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.02em;
  color: #171D19;
  margin: 0 0 8px 0;
}

.ob-univers__subtitle {
  font-family: 'Roboto', sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: #4D4D4D;
  margin: 0 0 32px 0;
  line-height: 1.4;
}

/* Grille */
.ob-univers__grid {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* Item */
.ob-univers__item {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 200px;
  border-radius: 20px;
  overflow: hidden;
  text-decoration: none;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* Overlay */
.ob-univers__item::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.30);
  transition: background 0.3s ease;
}

.ob-univers__item:hover::after {
  background: rgba(0, 0, 0, 0.45);
}


/* Label */
.ob-univers__label {
  position: relative;
  z-index: 2;
  font-family: 'Montserrat', sans-serif;
  font-size: 20px;
  font-weight: 700;
  color: #F5F7F6;
  letter-spacing: -0.02em;
  text-align: center;
}

/* Desktop */
@media (min-width: 992px) {
  .ob-univers__grid {
    flex-direction: row;
    gap: 24px;
  }

  .ob-univers__item {
    flex: 1;
    height: 260px;
  }
}
/* =============================================================================
   ÉCLAT & RITUELS BOTANIQUES — P4
   ============================================================================= */

.ob-coffrets {
  background-color: rgba(147, 178, 166, 0.18);
  padding: 48px 16px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  width: 100%;
  box-sizing: border-box;
}

/* Bloc texte */
.ob-coffrets__text {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.ob-coffrets__title {
  font-family: 'Montserrat', sans-serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.02em;
  color: #171D19;
  margin: 0;
}

.ob-coffrets__desc {
  font-family: 'Roboto', sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  color: #4D4D4D;
  margin: 0;
}

/* Image */
.ob-coffrets__image {
  width: 100%;
  border-radius: 12px;
  overflow: hidden;
}

.ob-coffrets__image img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 12px;
  object-fit: cover;
}

/* Bouton — styles communs */
.ob-coffrets__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 48px;
  padding: 16px;
  background-color: #F5F7F6;
  border: 1px solid #5C7D6F;
  border-radius: 8px;
  font-family: 'Montserrat', sans-serif;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.02em;
  font-variant: small-caps;
  color: #171D19;
  text-decoration: none;
  text-transform: uppercase;
  box-sizing: border-box;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.ob-coffrets__btn:hover {
  background-color: #5C7D6F;
  color: #ffffff;
}

/* Mobile : bouton desktop caché */
.ob-coffrets__btn--desktop {
  display: none;
}

/* Mobile : bouton mobile visible */
.ob-coffrets__btn--mobile {
  display: flex;
}

/* -----------------------------------------------------------------------------
   Desktop : Grid 2 colonnes, full width
   ----------------------------------------------------------------------------- */
@media (min-width: 992px) {
  .ob-coffrets {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
    grid-template-areas:
      "text  image"
      "btn   image";
    gap: 24px 48px;
    padding: 64px 40px;
    max-width: 100%;
  }

  .ob-coffrets__text {
    grid-area: text;
    align-self: end;
  }

  .ob-coffrets__image {
    grid-area: image;
    height: 100%;
    min-height: 360px;
  }

  .ob-coffrets__image img {
    height: 100%;
    object-fit: cover;
  }

  /* Bouton desktop dans la grille */
  .ob-coffrets__btn--desktop {
    grid-area: btn;
    display: flex;
    width: auto;
    align-self: start;
  }

  /* Bouton mobile caché */
  .ob-coffrets__btn--mobile {
    display: none;
  }
}
/* =============================================================================
   AVIS CLIENTS — P6
   ============================================================================= */

.ob-avis {
  background-color: rgba(147, 178, 166, 0.18);
  padding: 48px 0;
  display: flex;
  flex-direction: column;
  gap: 24px;
  overflow: hidden;
}

.ob-avis__header {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 0 16px;
  margin: 0;
}

.ob-avis__title,
.ob-avis__subtitle {
  text-align: left;
}

.ob-avis__title {
  font-family: 'Montserrat', sans-serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.02em;
  color: #171D19;
  margin: 0;
}

.ob-avis__subtitle {
  font-family: 'Roboto', sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
  color: #4D4D4D;
  margin: 0;
}

/* Slider */
.ob-avis__slider {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  margin: 0 -16px;
  padding: 0 16px 8px 16px;
}

.ob-avis__slider::-webkit-scrollbar {
  display: none;
}

/* Carte */
.ob-avis__card {
  flex: 0 0 280px;
  min-width: 280px;
  background: #ffffff;
  border: 1px solid #E5E5E5;
  border-radius: 16px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  scroll-snap-align: start;
  box-sizing: border-box;
}

/* Top : étoiles + source */
.ob-avis__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* Étoiles Unicode */
.ob-avis__stars {
  display: flex;
  gap: 2px;
}

.ob-star {
  font-size: 18px;
  line-height: 1;
}

.ob-star--full {
  color: #FBBC04;
}

.ob-star--empty {
  color: #E5E5E5;
}

/* Badge source Google / Trustpilot */
.ob-avis__source {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Montserrat', sans-serif;
  font-size: 12px;
  font-weight: 700;
  flex-shrink: 0;
}

.ob-avis__source--google {
  background-color: #4285F4;
  color: #ffffff;
}

.ob-avis__source--trustpilot {
  background-color: #00B67A;
  color: #ffffff;
}

/* Texte */
.ob-avis__text {
  font-family: 'Roboto', sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  color: #171D19;
  margin: 0;
  flex: 1;
}

/* Identité */
.ob-avis__identity {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.ob-avis__name {
  font-family: 'Montserrat', sans-serif;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  color: #171D19;
}

.ob-avis__verified {
  font-family: 'Roboto', sans-serif;
  font-size: 12px;
  font-weight: 400;
  line-height: 1;
  color: #737373;
}

/* Desktop */
@media (min-width: 992px) {
  .ob-avis {
    padding: 64px 40px;
  }

  .ob-avis__slider {
    margin: 0;
    padding-left: 0;
    padding-right: 0;
  }

  .ob-avis__card {
    flex: 0 0 300px;
    min-width: 300px;
  }
}
/* =============================================================================
   BLOC SEO — texte avant footer
   ============================================================================= */

.ob-seo {
  background: #ffffff;
  padding: 48px 16px 24px;
}

/* Intro visible */
.ob-seo__intro {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.ob-seo__title {
  font-family: 'Montserrat', sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.02em;
  color: #171D19;
  margin: 0;
}

.ob-seo__desc {
  font-family: 'Roboto', sans-serif;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.5;
  color: #737373;
  margin: 0;
}

/* Bouton Lire la suite */
.ob-seo__toggle {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  font-family: 'Montserrat', sans-serif;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  color: #5C7D6F;
  text-align: left;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.ob-seo__toggle:hover {
  color: #4a6a5d;
}

/* Contenu caché */
.ob-seo__content {
  margin-top: 24px;
  font-family: 'Roboto', sans-serif;
  font-size: 13px;
  line-height: 1.6;
  color: #4D4D4D;
}

.ob-seo__content h2 {
  font-family: 'Montserrat', sans-serif;
  font-size: 15px;
  font-weight: 600;
  color: #171D19;
  margin: 24px 0 8px;
}

.ob-seo__content h3 {
  font-family: 'Montserrat', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: #171D19;
  margin: 16px 0 6px;
}

.ob-seo__content h4 {
  font-family: 'Montserrat', sans-serif;
  font-size: 12px;
  font-weight: 600;
  color: #171D19;
  margin: 12px 0 4px;
}

.ob-seo__content p {
  margin: 0 0 8px;
}

.ob-seo__content ul {
  padding-left: 16px;
  margin: 0 0 8px;
}

.ob-seo__content li {
  margin-bottom: 4px;
}

.ob-seo__content a {
  color: #5C7D6F;
  text-decoration: underline;
}

.ob-seo__content a:hover {
  color: #4a6a5d;
}

/* Desktop */
@media (min-width: 992px) {
  .ob-seo {
    padding: 48px 40px 24px;
  }

  .ob-seo__content {
    columns: 2;
    column-gap: 48px;
  }
}
/* =============================================================================
   FOOTER — Origine.bio
   ============================================================================= */

#footer,
.ob-footer, .footer__main {
  background-color: #2C3E35!important;
  color: #F5F7F6;
}

/* -----------------------------------------------------------------------------
   NEWSLETTER
   ----------------------------------------------------------------------------- */
.ob-newsletter {
  background-color: #2C3E35;
  padding: 48px 16px 32px;
  border-bottom: 1px solid rgba(245, 247, 246, 0.15);
}

.ob-newsletter__title {
  font-family: 'Montserrat', sans-serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.02em;
  color: #ffffff;
  margin: 0 0 8px 0;
}

.ob-newsletter__desc {
  font-family: 'Roboto', sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1;
  color: #ffffff;
  margin: 0 0 20px 0;
}

.ob-newsletter__form {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.ob-newsletter__input {
  width: 100%;
  height: 48px;
  border-radius: 8px;
  border: 1px solid #F5F7F6;
  background: transparent;
  padding: 10px 16px;
  font-family: 'Roboto', sans-serif;
  font-size: 14px;
  color: #F5F7F6;
  box-sizing: border-box;
  outline: none;
}

.ob-newsletter__input::placeholder {
  color: rgba(245, 247, 246, 0.5);
}

.ob-newsletter__input:focus {
  border-color: #93B2A6;
}

.ob-newsletter__btn {
  width: 100%;
  height: 48px;
  border-radius: 8px;
  border: none;
  background: #F5F7F6;
  padding: 16px;
  font-family: 'Montserrat', sans-serif;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.02em;
  font-variant: small-caps;
  text-transform: uppercase;
  color: #171D19;
  cursor: pointer;
  box-sizing: border-box;
  transition: background-color 0.2s ease;
}

.ob-newsletter__btn:hover {
  background-color: #dde8e3;
}

/* Override ps_emailsubscription */
.ob-newsletter .ps-emailsubscription-block-left-column,
.ob-newsletter #block-newsletter {
  padding: 0;
  background: none;
}

.ob-newsletter .ps-emailsubscription-block-left-column h2,
.ob-newsletter #block-newsletter h2 {
  font-family: 'Montserrat', sans-serif;
  font-size: 20px;
  font-weight: 600;
  color: #ffffff;
  margin: 0 0 8px 0;
}

.ob-newsletter .ps-emailsubscription-block-left-column p,
.ob-newsletter #block-newsletter p {
  font-family: 'Roboto', sans-serif;
  font-size: 14px;
  color: #ffffff;
  margin: 0 0 20px 0;
}

.ob-newsletter input[type="email"] {
  width: 100%;
  height: 48px;
  border-radius: 8px;
  border: 1px solid #F5F7F6;
  background: transparent;
  padding: 10px 16px;
  font-family: 'Roboto', sans-serif;
  font-size: 14px;
  color: #F5F7F6;
  box-sizing: border-box;
  outline: none;
  margin-bottom: 12px;
}

.ob-newsletter input[type="email"]::placeholder {
  color: rgba(245, 247, 246, 0.5);
}

.ob-newsletter input[type="submit"],
.ob-newsletter button[type="submit"] {
  width: 100%;
  height: 48px;
  border-radius: 8px;
  border: none;
  background: #F5F7F6;
  padding: 16px;
  font-family: 'Montserrat', sans-serif;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.02em;
  font-variant: small-caps;
  text-transform: uppercase;
  color: #171D19;
  cursor: pointer;
  box-sizing: border-box;
  transition: background-color 0.2s ease;
}

.ob-newsletter input[type="submit"]:hover,
.ob-newsletter button[type="submit"]:hover {
  background-color: #dde8e3;
}

/* -----------------------------------------------------------------------------
   MENUS ACCORDÉON (ps_linklist)
   ----------------------------------------------------------------------------- */

.ob-footer-nav {
  padding: 0 16px;
  border-bottom: 1px solid rgba(245, 247, 246, 0.15);
}

/* Override ps_linklist */
.ob-footer-nav .block_content,
.ob-footer-nav .linklist-widget {
  padding: 0;
  background: none;
}

/* Titre accordéon */
.ob-footer-nav .h3,
.ob-footer-nav h3,
.ob-footer-nav .title_block,
.ob-footer-nav .footer-block__title {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  color: #F5F7F6 !important;
  padding: 20px 0 !important;
  margin: 0 !important;
  border-bottom: 1px solid rgba(245, 247, 246, 0.15) !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  cursor: pointer !important;
}

/* Liens dans les accordéons */
.ob-footer-nav ul li a,
.ob-footer-nav .block_content ul li a {
  font-family: 'Roboto', sans-serif;
  font-size: 13px;
  font-weight: 400;
  color: rgba(245, 247, 246, 0.75);
  text-decoration: none;
  padding: 8px 0;
  display: block;
  transition: color 0.2s ease;
}

.ob-footer-nav ul li a:hover {
  color: #93B2A6;
}

/* -----------------------------------------------------------------------------
   RÉSEAUX SOCIAUX + PAIEMENTS
   ----------------------------------------------------------------------------- */
.ob-footer-bottom {
  padding: 24px 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  text-align: center;
}

/* Icônes réseaux sociaux */
.ob-footer-social {
  display: flex;
  gap: 24px;
  align-items: center;
  justify-content: center;
}

.ob-footer-social a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  /*background-color: rgba(245, 247, 246, 0.1);*/
  color: #F5F7F6;
  text-decoration: none;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.ob-footer-social a:hover {
  background-color: rgba(147, 178, 166, 0.3);
  color: #93B2A6;
}

.ob-footer-social svg {
  width: 20px;
  height: 20px;
}

/* Paiements */
.ob-footer-payments {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}

.ob-footer-payments__text {
  font-family: 'Roboto', sans-serif;
  font-size: 12px;
  color: rgba(245, 247, 246, 0.75);
  margin: 0;
}

.ob-footer-payments__icons {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
}

.ob-footer-payments__icons img {
  height: 18px;
  width: auto;
}

/* Liens légaux */
.ob-footer-legal {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: center;
}

.ob-footer-legal a {
  font-family: 'Roboto', sans-serif;
  font-size: 12px;
  font-weight: 400;
  color: #F5F7F6;
  text-decoration: none;
  transition: text-decoration 0.2s ease;
}

.ob-footer-legal a:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Copyright */
.ob-footer-copyright {
  font-family: 'Roboto', sans-serif;
  font-size: 10px;
  color: rgba(245, 247, 246, 0.6);
  margin: 0;
  text-align: center;
}

/* -----------------------------------------------------------------------------
   Desktop
   ----------------------------------------------------------------------------- */
@media (min-width: 992px) {
  .ob-newsletter {
    padding: 0px;
    display: block;
  }

  .ob-newsletter__inner {
    max-width: 500px;
    margin: 0 auto;
  }

  .ob-newsletter input[type="email"],
  .ob-newsletter input[type="submit"],
  .ob-newsletter button[type="submit"] {
    width: 100% !important;
    max-width: 100% !important;
  }

  .ob-newsletter__btn {
    width: auto;
    padding: 0 32px;
    flex-shrink: 0;
  }

  .ob-footer-nav {
    padding: 32px 40px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0 48px;
    border-bottom: 1px solid rgba(245, 247, 246, 0.15);
  }

  .ob-footer-nav .col-lg-3 {
    width: auto;
  }

  .ob-footer-bottom {
    padding: 24px 40px;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    text-align: left;
  }
    .ob-newsletter__inner {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 3rem;
        max-width: 1200px;
        margin: 0 auto;
        padding: 4rem 2rem;
    }

    .ob-newsletter__text {
        flex: 0 0 40%;
    }

    .ob-newsletter__form {
        flex: 1 1 55%;
    }

    .ob-newsletter__input {
        width: 100%;
    }
    .footer__main-top.ob-footer-nav {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 0;
    }

    .footer__main-top.ob-footer-nav .footer-block {
        flex: 0 0 25%;
        max-width: 25%;
    }
}
/* Newsletter form — hors media query */
.ob-newsletter form,
.ob-newsletter .ob-newsletter__form,
.footer__before form,
#blockEmailSubscription_displayFooterBefore form {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  width: 100% !important;
}

.footer__before input[type="email"],
#blockEmailSubscription_displayFooterBefore input[type="email"] {
  width: 100% !important;
  height: 48px !important;
  flex: none !important;
  min-width: 0 !important;
}

.footer__before input[type="submit"],
#blockEmailSubscription_displayFooterBefore input[type="submit"] {
  width: 100% !important;
  height: 48px !important;
  flex: none !important;
}

  .ob-newsletter__btn {
    width: auto;
    padding: 0 32px;
    flex-shrink: 0;
  }

 /* Mobile : colonne */
.ob-footer-nav {
  padding: 0 16px;
  border-bottom: 1px solid rgba(245, 247, 246, 0.15);
  display: block;
}

/* Desktop : grid 4 colonnes */
@media (min-width: 992px) {
  .ob-footer-nav {
    padding: 32px 40px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0 48px;
  }
}
  @media (min-width: 992px) {
    .ob-footer-nav .col-lg-3 {
        width: auto;
    }

  .ob-footer-bottom {
    padding: 24px 40px;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    text-align: left;
  }
}
.ob-newsletter__msg {
  font-family: 'Roboto', sans-serif;
  font-size: 13px;
  padding: 10px 14px;
  border-radius: 6px;
  margin-bottom: 12px;
}

.ob-newsletter__msg--success {
  background-color: rgba(92, 125, 111, 0.2);
  color: #93B2A6;
}

.ob-newsletter__msg--error {
  background-color: rgba(220, 80, 80, 0.15);
  color: #e05555;
}

.ob-newsletter__conditions {
  font-family: 'Roboto', sans-serif;
  font-size: 11px;
  color: rgba(245, 247, 246, 0.6);
  margin: 0;
}

/* =============================================================================
   FICHE PRODUIT — Origine.bio
   Override Hummingbird PS9
   ============================================================================= */

/* -----------------------------------------------------------------------------
   LAYOUT GÉNÉRAL
   ----------------------------------------------------------------------------- */

/* Mobile : colonne */
.product__container {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 16px;
}

/* Desktop : image gauche | infos droite */
@media (min-width: 992px) {
  .product__container {
    flex-direction: row;
    align-items: flex-start;
    gap: 48px;
    padding: 32px 40px;
  }

  .product__left {
    flex: 0 0 50%;
    max-width: 50%;
    position: sticky;
    top: calc(var(--ob-navbar-height) + var(--ob-navmenu-height) + 16px);
  }

  .product__right {
    flex: 1;
  }
}

/* -----------------------------------------------------------------------------
   IMAGE PRODUIT
   ----------------------------------------------------------------------------- */
.product-cover {
  border-radius: 12px;
  overflow: hidden;
  background: #f9f9f7;
}

.product-cover img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

/* Thumbnails */
.product__thumbnails {
  display: flex;
  gap: 8px;
  margin-top: 12px;
  overflow-x: auto;
  scrollbar-width: none;
}

.product__thumbnails::-webkit-scrollbar {
  display: none;
}

.product__thumbnail {
  flex: 0 0 64px;
  height: 64px;
  border-radius: 8px;
  overflow: hidden;
  border: 2px solid transparent;
  cursor: pointer;
  transition: border-color 0.2s ease;
}

.product__thumbnail.selected,
.product__thumbnail:hover {
  border-color: #93B2A6;
}

.product__thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* -----------------------------------------------------------------------------
   AVIS (étoiles)
   ----------------------------------------------------------------------------- */
.product-review-score,
.grade-stars {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 8px;
}

/* -----------------------------------------------------------------------------
   TITRE PRODUIT
   ----------------------------------------------------------------------------- */
.product__name {
  font-family: 'Montserrat', sans-serif;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: #171D19;
  margin: 0 0 8px 0;
}

@media (min-width: 992px) {
  .product__name {
    font-size: 26px;
  }
}

/* -----------------------------------------------------------------------------
   PRIX
   ----------------------------------------------------------------------------- */
.product__prices .current-price,
.product__prices .product-price {
  font-family: 'Montserrat', sans-serif;
  font-size: 20px;
  font-weight: 700;
  color: #5C7D6F;
  margin: 0 0 16px 0;
}

.product__prices .regular-price {
  font-size: 14px;
  font-weight: 400;
  color: #9e9e9e;
  text-decoration: line-through;
  margin-left: 8px;
}

.product__prices .discount-percentage {
  font-family: 'Montserrat', sans-serif;
  font-size: 12px;
  font-weight: 700;
  color: #ffffff;
  background-color: #93B2A6;
  padding: 3px 8px;
  border-radius: 4px;
  margin-left: 8px;
}

/* Description courte */
.product__description-short {
  font-family: 'Roboto', sans-serif;
  font-size: 14px;
  color: #4D4D4D;
  line-height: 1.5;
  margin-bottom: 20px;
}

/* -----------------------------------------------------------------------------
   VARIANTES
   ----------------------------------------------------------------------------- */
.product-variants {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 20px;
}

.product-variants__label,
.product-variants .form-label {
  font-family: 'Montserrat', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: #171D19;
  margin-bottom: 8px;
  display: block;
}

/* Boutons de variantes */
.product-variants__list,
.product-variants .input-container {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

/* Style des boutons variante */
.product-variants input[type="radio"] + label,
.product-variants .input-color,
.product-variants .input-radio {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 48px;
  height: 36px;
  padding: 0 12px;
  border-radius: 6px;
  border: 1px solid #E5E5E5;
  background-color: #ffffff;
  font-family: 'Roboto', sans-serif;
  font-size: 13px;
  font-weight: 400;
  color: #E5E5E5;
  cursor: pointer;
  transition: all 0.2s ease;
}

.product-variants input[type="radio"]:checked + label,
.product-variants input[type="radio"].checked + label,
.product-variants .input-color.selected,
.product-variants .input-radio.selected {
  background-color: #E8F0EC;
  border-color: #5C7D6F;
  color: #5C7D6F;
  font-weight: 600;
}

.product-variants input[type="radio"] + label:hover,
.product-variants .input-color:hover,
.product-variants .input-radio:hover {
  border-color: #93B2A6;
  color: #5C7D6F;
}

/* Masquer les radio natifs */
.product-variants input[type="radio"] {
  display: none;
}

/* -----------------------------------------------------------------------------
   QUANTITÉ + BOUTON PANIER
   ----------------------------------------------------------------------------- */
.product-add-to-cart {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 8px;
}

/* Sélecteur quantité */
.product-quantity,
.qty-input-group {
  display: flex;
  align-items: center;
  gap: 0;
  width: fit-content;
  border: 1px solid #E5E5E5;
  border-radius: 8px;
  overflow: hidden;
}

.product-quantity .btn,
.qty-input-group .btn {
  width: 40px;
  height: 48px;
  background: none;
  border: none;
  font-size: 18px;
  color: #171D19;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.2s ease;
}

.product-quantity .btn:hover,
.qty-input-group .btn:hover {
  background-color: #f5f5f0;
}

.product-quantity input,
.qty-input-group input {
  width: 48px;
  height: 48px;
  border: none;
  border-left: 1px solid #E5E5E5;
  border-right: 1px solid #E5E5E5;
  text-align: center;
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #171D19;
  outline: none;
}

/* Bouton panier FICHE PRODUIT uniquement */
.product__add-to-cart-container button[data-button-action="add-to-cart"].btn-primary,
.product-add-to-cart button[data-button-action="add-to-cart"].btn-primary {
  width: 100% !important;
  height: 54px !important;
  background-color: #93B2A6 !important;
  border: none !important;
  border-radius: 8px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  font-variant: small-caps !important;
  text-transform: uppercase !important;
  color: #171D19 !important;
  cursor: pointer !important;
  transition: background-color 0.2s ease !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Bouton panier CARDS uniquement — rond */
.product-miniature button[data-button-action="add-to-cart"].btn-primary,
.product-miniature__add {
  width: 40px !important;
  height: 40px !important;
  border-radius: 50px !important;
  background-color: #5C7D6F !important;
  border: none !important;
  padding: 0 !important;
}

.add-to-cart:hover,
button[data-button-action="add-to-cart"].btn-primary:hover {
  background-color: #7a9a8e !important;
}

/* Info livraison */
.product-additional-info,
.product__additional-info {
  font-family: 'Roboto', sans-serif;
  font-size: 12px;
  color: #737373;
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 4px;
}

.product-additional-info .material-icons,
.product__additional-info .material-icons {
  font-size: 18px;
  color: #93B2A6;
}

/* -----------------------------------------------------------------------------
   ACCORDÉONS (description, propriétés, etc.)
   ----------------------------------------------------------------------------- */
.product__bottom {
  padding: 16px;
  margin-top: 8px;
}

@media (min-width: 992px) {
  .product__bottom {
    padding: 32px 40px;
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 48px;
    align-items: start;
  }
}

/* Bouton accordéon */
.product__accordion .accordion-button {
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #171D19;
  background: none;
  border: none;
  border-bottom: 1px solid #ececec;
  padding: 18px 0;
  width: 100%;
  text-align: left;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  box-shadow: none !important;
}

.product__accordion .accordion-button:not(.collapsed) {
  color: #5C7D6F;
}

.product__accordion .accordion-button::after {
  filter: none;
  background-image: none;
}

/* Contenu accordéon */
.product__accordion .accordion-body {
  font-family: 'Roboto', sans-serif;
  font-size: 13px;
  line-height: 1.6;
  color: #4D4D4D;
  padding: 16px 0;
}

.product__accordion .accordion-item {
  border: none;
  border-top: 1px solid #ececec;
  background: none;
}

.product__accordion .accordion-item:first-child {
  border-top: none;
}

/* -----------------------------------------------------------------------------
   RÉASSURANCE produit (droite)
   ----------------------------------------------------------------------------- */
.product__bottom-right .block-reassurance {
  background-color: rgba(147, 178, 166, 0.1);
  border-radius: 12px;
  padding: 20px;
}

.product__bottom-right .block-reassurance-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(147, 178, 166, 0.2);
}

.product__bottom-right .block-reassurance-item:last-child {
  border-bottom: none;
}

.product__bottom-right .block-reassurance-item img {
  width: 32px;
  height: 32px;
  object-fit: contain;
}

.product__bottom-right .block-reassurance-item span {
  font-family: 'Roboto', sans-serif;
  font-size: 13px;
  color: #171D19;
}

/* Tags caractéristiques produit */
.ob-product-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 10px 0 15px;
}

.ob-product-tag {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background-color: #E8F0EC;
  border-radius: 20px;
  padding: 6px 12px;
  font-family: 'Roboto', sans-serif;
  font-size: 12px;
  color: #5C7D6F;
}

.ob-product-tag__label {
  font-weight: 600;
}

.ob-product-tag__value {
  font-weight: 400;
}
.product__manufacturer, .product__thumbnails {
  display: none!important;
}
.product__prices-block {
  display: flex!important;
  flex-direction: row!important;
  align-items: baseline!important;
  gap: 6px!important;
}

.product__tax-infos {
  font-family: 'Roboto', sans-serif!important;
  font-size: 12px!important;
  font-weight: 400!important;
  color: #737373!important;
}

/* Description courte mobile : 2 lignes + lire la suite */
.ob-desc-short__preview {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.ob-desc-short__full {
  display: none;
}

.ob-desc-short__toggle--mobile {
  background: none;
  border: none;
  padding: 4px 0;
  font-family: 'Montserrat', sans-serif;
  font-size: 12px;
  font-weight: 600;
  color: #5C7D6F;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Desktop : tout afficher, masquer le bouton */
@media (min-width: 992px) {
  .ob-desc-short__preview {
    display: block;
    -webkit-line-clamp: unset;
    overflow: visible;
  }

  .ob-desc-short__full {
    display: none !important;
  }

  .ob-desc-short__toggle--mobile {
    display: none;
  }
}
.ob-product-tag {
  display: inline-flex;
  align-items: center;
  background-color: #eaf2ef;
  border-radius: 20px;
  padding: 5px 12px;
  font-family: 'Roboto', sans-serif;
  font-size: 12px;
  line-height: 1.2;
  font-weight: 400;
  color: #5d7f72;
  white-space: nowrap;
}

/* Masquer les radio natifs */
.product-variant__radio .form-check-input {
  display: none !important;
}

/* Conteneur groupe variante */
.product-variant {
  display: flex;
  flex-direction: column;
  gap: 8px;
  border: none;
  padding: 0;
  margin: 0 0 16px 0;
}
/* Les boutons variantes en ligne */
.product-variant__radios {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 0;
}

/* Chaque bouton variante */
.product-variant__radio label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-width: 64px;
  height: 40px;
  padding: 0 16px;
  border-radius: 8px;
  border: 2px solid #E5E5E5;
  background-color: #ffffff;
  font-family: 'Roboto', sans-serif;
  font-size: 13px;
  font-weight: 400;
  color: #9e9e9e;
  cursor: pointer;
  transition: all 0.2s ease;
  box-sizing: border-box;
}

.product-variant__radio label:hover {
  border-color: #93B2A6;
  color: #5C7D6F;
}

/* Variante sélectionnée */
.product-variant__radio input:checked + label {
  background-color: #E8F0EC;
  border: 2px solid #5C7D6F;
  color: #5C7D6F;
  font-weight: 600;
}
.product-variant__radios .form-check{padding-left:0!important;}

/* Masquer la valeur sélectionnée affichée en texte */
.product-variant__selected {
  display: none;
}

/* Masquer le visually-hidden dans le label */
.product-variant__radio .visually-hidden {
  display: none;
}

/* Breadcrumb */
.breadcrumb-item a,
.breadcrumb-item span,
.breadcrumb li a,
.breadcrumb li span {
  color: rgba(115, 115, 115, 0.70) !important;
  font-family: 'Roboto', sans-serif !important;
  font-size: 12px !important;
  text-decoration: none !important;
}

.breadcrumb-item.active span,
.breadcrumb li:last-child span {
  color: rgba(115, 115, 115, 0.70) !important;
}

.breadcrumb-item + .breadcrumb-item::before,
.breadcrumb li + li::before {
  color: rgba(115, 115, 115, 0.70) !important;
}
@media (max-width: 767px) {
    .breadcrumb {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        white-space: nowrap;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        padding-bottom: 4px;
        position: relative;
    }

    .breadcrumb::-webkit-scrollbar {
        display: none;
    }

    .breadcrumb-item {
        flex-shrink: 0;
    }
}

/* Disponibilité produit */
.ob-availability {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: 'Roboto', sans-serif;
  font-size: 13px;
  font-weight: 500;
  margin-bottom: 12px;
}

.ob-availability__dot {
  display: none;
}

.ob-availability--instock .ob-availability__dot { background-color: #2E7D32; }
.ob-availability--instock { color: #2E7D32!important; }

.ob-availability--last .ob-availability__dot { background-color: #FF5F1F; }
.ob-availability--last { color: #FF5F1F!important; }

.ob-availability--preorder .ob-availability__dot { background-color: #FF5F1F; }
.ob-availability--preorder span{ color: #FF5F1F!important; }

.ob-availability--outofstock .ob-availability__dot { background-color: #C62828; }
.ob-availability--outofstock { color: #C62828!important; }

.ob-availability__sub {
  font-family: 'Roboto', sans-serif;
  font-size: 11px;
  color: #737373;
  display: block;
  margin-top: -8px;
}

/* Bouton Ajouter au panier */
.ob-add-to-cart {
  width: 100% !important;
  height: 52px !important;
  background-color: #93B2A6 !important;
  border: none !important;
  border-radius: 8px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #171D19 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  transition: background-color 0.2s ease !important;
}

.ob-add-to-cart:hover {
  background-color: #7a9a8e !important;
}
#product-availability, .product__variants {margin:0!important;}
.product__actions-qty-add.product-quantity {
  border: none !important;
  padding: 0 !important;
  background: none !important;
}
.js-quantity-button{border-radius: 8px !important;border:1px solid #E5E5E5;}
.product__add-to-cart{margin-left:10px;}
.product__add-to-cart-button svg, #ps_checkout-payment-method-logo-block-container{display:none!important;}
.ob-product-reassurance__item span {
  font-family: 'Roboto', sans-serif;
  font-size: 12px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  color: #4D4D4D;
}

/* Quantité + panier côte à côte sur mobile */
.product__actions-qty-add {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 8px !important;
}

.product-actions__quantity {
  flex-shrink: 0 !important;
}

.product__add-to-cart.add {
  flex: 1 !important;
}

/* Réassurance centrée */
.ob-product-reassurance {
  align-items: center !important;
  text-align: center !important;
}

.ob-product-reassurance__item {
  justify-content: center !important;
}
.product__add-to-cart-container .product-quantity,
.product-add-to-cart .product-quantity,
.js-product-add-to-cart .product-quantity {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 8px !important;
}
@media (min-width: 992px) {
  .ob-product-reassurance {
    align-items: flex-start !important;
    text-align: left !important;
  }

  .ob-product-reassurance__item {
    justify-content: flex-start !important;
  }

  .ob-add-to-cart {
    max-width: 300px !important;
  }

  .product__add-to-cart.add {
    flex: none !important;
    width: 300px !important;
  }
}

.product-add-to-cart .product-quantity .product-actions__quantity {
  flex-shrink: 0 !important;
  width: 110px !important;
}

.product-add-to-cart .product-quantity .product__add-to-cart {
  flex: 1 !important;
}
.product-quantity .input-group {
  flex-wrap: nowrap !important;
  width: 110px !important;
  height: 54px !important;
}

/* Bloc accordéons produit */
.product__bottom {
  background-color: rgba(147, 178, 166, 0.18);
  padding: 48px 16px;
}

/* Item accordéon */
.product__accordion .accordion-item {
  background: none !important;
  border: none !important;
  border-bottom: 1px solid #5C7D6F !important;
}

.product__accordion .accordion-item:first-child {
  border-top: 1px solid #5C7D6F !important;
}

/* Bouton accordéon */
.product__accordion .accordion-button {
  background: none !important;
  box-shadow: none !important;
  padding: 16px 0 !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  color: #171D19 !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  height: 56px !important;
}

/* Flèche personnalisée */
.product__accordion .accordion-button::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23171D19' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-size: 16px !important;
  width: 16px !important;
  height: 16px !important;
  content: '' !important;
  transform: none !important;
  transition: transform 0.2s ease !important;
}

.product__accordion .accordion-button:not(.collapsed)::after {
  transform: rotate(180deg) !important;
}

/* Corps accordéon */
.product__accordion .accordion-body {
  font-family: 'Roboto', sans-serif !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
  color: #4D4D4D !important;
  padding: 16px 0 !important;
  background: none !important;
}

@media (min-width: 992px) {
  .product__bottom {
    padding: 48px 40px;
  }
}

/* Icônes avantages produit */
ul.icone-avantage {
  display: flex !important;
  flex-direction: row !important;
  gap: 24px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 16px 0 !important;
}

ul.icone-avantage li {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
}

ul.icone-avantage li a {
  color: #171D19 !important;
  text-decoration: none !important;
  font-family: 'Roboto', sans-serif !important;
  font-size: 12px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 6px !important;
}

ul.icone-avantage li a:hover {
  color: #5C7D6F !important;
}

ul.icone-avantage img {
  width: 50px !important;
  height: auto !important;
}
.page-product .columns-container {padding-left:0; padding-right:0;}

/* Crossselling + Accessories — style commun */
.ob-related-products {
  padding: 32px 0;
  border-top: 1px solid #ececec;
}

.ob-related-products .section-title,
.ob-related-products .h3 {
  font-family: 'Montserrat', sans-serif;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: #171D19;
  margin-bottom: 20px;
}

/* Carrousel horizontal mobile */
.ob-related-products .module-products__list {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  margin: 0 -16px;
  padding: 0 16px 8px;
}

.ob-related-products .module-products__list::-webkit-scrollbar {
  display: none;
}

.ob-related-products .products {
  display: flex;
  flex-wrap: nowrap;
  gap: 12px;
}

.ob-related-products .product-miniature {
  flex: 0 0 calc(50vw - 24px);
  min-width: calc(50vw - 24px);
}

/* Desktop : grille 4 colonnes */
@media (min-width: 992px) {
  .ob-related-products {
    padding: 40px 0;
  }

  .ob-related-products .module-products__list {
    overflow-x: visible;
    margin: 0;
    padding: 0;
  }

  .ob-related-products .products {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
  }

  .ob-related-products .product-miniature {
    flex: none;
    min-width: 0;
  }
}

/* Bouton panier rond — cards produit (homepage + related) */
.product-miniature__add {
  width: 40px !important;
  height: 40px !important;
  background-color: #5C7D6F !important;
  border: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  transition: background-color 0.2s ease !important;
}

.product-miniature__add:hover {
  background-color: #4a6a5d !important;
}

/* Bouton panier fiche produit — pleine largeur */
.product__add-to-cart-button.ob-add-to-cart {
  width: 100% !important;
  border-radius: 8px !important;
}

/* Padding bloc related products */
.ob-related-products {
  padding: 48px 16px !important;
  gap: 24px !important;
}

@media (min-width: 992px) {
  .ob-related-products {
    padding: 48px 40px !important;
  }
}

/* Harmonisation cards related products */
.ob-related-products .product-miniature__inner {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.ob-related-products .product-miniature__bottom {
  display: flex;
  flex-direction: column;
  flex: 1;
}

.ob-related-products .product-miniature__title {
  min-height: 2.6em;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.ob-related-products .product-miniature__actions {
  margin-top: auto;
}
.ob-related-products .product-miniature__category {
  font-family: 'Montserrat', sans-serif;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #737373;
  display: block;
  min-height: 2.2em; /* force 2 lignes même si 1 seule ligne */
}

/* =============================================================================
   AVIS PRODUIT — productcomments
   ============================================================================= */

/* Conteneur liste avis */
.product-comments-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 24px 0;
}

/* Carte avis */
.product-comment-list-item {
  background: #ffffff;
  border: 1px solid #E5E5E5;
  border-radius: 16px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 0 !important;
}

/* Infos auteur */
.product-comment-list-item .comment-infos {
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
  padding: 0 !important;
}

/* Étoiles */
.product-comment-list-item .grade-stars {
  display: flex;
  gap: 2px;
  margin-bottom: 4px;
}

/* Nom auteur */
.product-comment-list-item .comment-author {
  font-family: 'Montserrat', sans-serif;
  font-size: 12px;
  font-weight: 700;
  color: #171D19;
}

/* Date */
.product-comment-list-item .comment-date {
  font-family: 'Roboto', sans-serif;
  font-size: 12px;
  color: #737373;
}

/* Contenu avis */
.product-comment-list-item .comment-content {
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
  padding: 0 !important;
}

/* Titre avis */
.product-comment-list-item .comment-content .h4 {
  font-family: 'Montserrat', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: #171D19;
  margin: 0 0 6px 0;
}

/* Texte avis */
.product-comment-list-item .comment-content p {
  font-family: 'Roboto', sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  color: #171D19;
  margin: 0;
}

/* Boutons utile/inutile/signaler */
.product-comment-list-item .comment-buttons {
  display: flex;
  gap: 12px;
  margin-top: 8px;
}

.product-comment-list-item .comment-buttons a {
  font-family: 'Roboto', sans-serif;
  font-size: 12px;
  color: #737373;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 4px;
  transition: color 0.2s ease;
}

.product-comment-list-item .comment-buttons a:hover {
  color: #5C7D6F;
}

.product-comment-list-item .comment-buttons .material-icons {
  font-size: 16px;
}

/* Desktop : carrousel horizontal */
@media (min-width: 992px) {
  .product-comments-list {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    overflow-x: auto;
    gap: 16px;
    scrollbar-width: none;
    padding-bottom: 8px;
  }

  .product-comments-list::-webkit-scrollbar {
    display: none;
  }

  .product-comment-list-item {
    flex: 0 0 300px;
    min-width: 300px;
  }
}
/* Bouton donner son avis */
#product-footer-review-button {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #5C7D6F !important;
  border: 1px solid #5C7D6F !important;
  border-radius: 8px !important;
  padding: 14px 24px !important;
  background: transparent !important;
  letter-spacing: 0.02em !important;
  transition: background-color 0.2s ease, color 0.2s ease !important;
  width: 100% !important;
}

#product-footer-review-button:hover {
  background-color: #5C7D6F !important;
  color: #ffffff !important;
}

/* Conteneur */
#empty-product-comment {
  padding: 24px 0 !important;
}

/* Boutons modale avis */
.post-comment-buttons .btn-outline-primary {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #5C7D6F !important;
  border: 1px solid #5C7D6F !important;
  border-radius: 8px !important;
  padding: 14px 24px !important;
  background: transparent !important;
  transition: background-color 0.2s ease, color 0.2s ease !important;
}

.post-comment-buttons .btn-outline-primary:hover {
  background-color: #5C7D6F !important;
  color: #ffffff !important;
}

.post-comment-buttons .btn-primary {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #171D19 !important;
  background-color: #93B2A6 !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 14px 24px !important;
  transition: background-color 0.2s ease !important;
}

.post-comment-buttons .btn-primary:hover {
  background-color: #7a9a8e !important;
}

/* Avis côte à côte — scroll horizontal */
.product-comments-list {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  gap: 16px !important;
  scrollbar-width: none !important;
  padding-bottom: 8px !important;
}

.product-comments-list::-webkit-scrollbar {
  display: none !important;
}

.product-comment-list-item {
  flex: 0 0 280px !important;
  min-width: 280px !important;
}

/* Masquer boutons pouce et abus */
.comment-buttons {
  display: none !important;
}

/* Masquer étoiles globales à côté du titre */
.product-comments-additional-info .grade-stars,
.product-comments-header .grade-stars,
#product-comments-list-header .grade-stars {
  display: none !important;
}
/* Masquer étoiles + note à côté du titre */
.comments-note {
  display: none !important;
}

/* Masquer boutons pouce et abus */
.comment-buttons {
  display: none !important;
}
/* Étoiles + nombre avis — fiche produit */
.ob-product-reviews-header {
  margin-bottom: 8px;
}

.ob-product-reviews-stars {
  display: flex;
  align-items: center;
  gap: 8px;
}

.ob-product-reviews-count {
  font-family: 'Roboto', sans-serif;
  font-size: 13px;
  color: #737373;
  text-decoration: none;
  transition: color 0.2s ease;
}

.ob-product-reviews-count:hover {
  color: #5C7D6F;
}
/* Bouton donner son avis — bas de liste */
.ob-avis__post-btn {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #5C7D6F !important;
  border: 1px solid #5C7D6F !important;
  border-radius: 8px !important;
  padding: 14px 24px !important;
  background: transparent !important;
  width: 100% !important;
  margin-top: 16px !important;
  transition: background-color 0.2s ease, color 0.2s ease !important;
}

.ob-avis__post-btn:hover {
  background-color: #5C7D6F !important;
  color: #ffffff !important;
}

/* Étoiles dynamiques dans les cards */
.ob-avis__card .ob-avis__stars .star-on {
  color: #FBBC04;
  font-size: 18px;
}

.ob-avis__card .ob-avis__stars .star-content {
  display: flex;
  gap: 2px;
}
/* Fix slider avis produit mobile */
#product-comments-list {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  gap: 16px !important;
  -webkit-overflow-scrolling: touch !important;
  scroll-snap-type: x mandatory !important;
  scrollbar-width: none !important;
  padding: 0 16px 8px !important;
  margin: 0 0 0 10px!important;
  width: 100% !important;
  box-sizing: border-box !important;
}


#product-comments-list::-webkit-scrollbar {
  display: none !important;
}

#product-comments-list .ob-avis__card {
  flex: 0 0 280px !important;
  min-width: 280px !important;
  scroll-snap-align: start !important;
}

#product-comments-list-footer {
  padding: 0 16px;
}
/* Masquer étoiles sur les cards — visible uniquement en fiche produit */
.product-miniature .product-list-review,
.product-miniature .grade-stars,
.product-miniature .comments-nb {
  display: none !important;
}

.product-miniature [data-ps-ref="product-list-review"],
.product-miniature .product-list-review, .product-list-comments-number {
  display: none !important;
}

/* =============================================================================
   PAGE CATÉGORIE — Origine.bio
   ============================================================================= */

/* -----------------------------------------------------------------------------
   Header catégorie
   ----------------------------------------------------------------------------- */
.ob-category-header {
  padding: 0 0 16px;
}

/* Titre catégorie */
.ob-category-header .page-title,
.ob-category-header h1 {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #171D19 !important;
  margin-bottom: 8px !important;
}

/* Description courte — 3 lignes max avec lire la suite */
.ob-category-desc__preview {
  font-family: 'Roboto', sans-serif;
  font-size: 14px;
  color: #4D4D4D;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-bottom: 4px;
}
#_desktop_faceted .accordion-button:not(.collapsed){color:#93B2A6;}
.noUi-connect {
    background-color:#93B2A6;
}
.ob-category-desc__preview.is-open {
  display: block;
  -webkit-line-clamp: unset;
}

@media (max-width: 991px) {
.ob-category-desc__preview p{margin-bottom:0!important;}
}

.ob-category-desc__toggle {
  background: none;
  border: none;
  padding: 4px 0;
  font-family: 'Montserrat', sans-serif;
  font-size: 12px;
  font-weight: 600;
  color: #5C7D6F;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 3px;
  display: block;
  margin-top: 4px;
}

/* -----------------------------------------------------------------------------
   Barre tri/filtre
   ----------------------------------------------------------------------------- */
.ob-products-top {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 16px 0 !important;
}

.ob-products-count span {
  font-family: 'Roboto', sans-serif;
  font-size: 13px;
  color: #737373;
}

.ob-products-sort {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-left: auto !important;
}

/* Bouton Trier */
.ob-sort-btn {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #171D19 !important;
  background: none !important;
  border: 1px solid #E5E5E5 !important;
  border-radius: 8px !important;
  padding: 8px 14px !important;
  transition: border-color 0.2s ease !important;
}

.ob-sort-btn::after {
  display: none !important;
}

.ob-sort-btn:hover {
  border-color: #93B2A6 !important;
  color: #5C7D6F !important;
}

/* Bouton Filtrer */
.ob-filter-btn {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #171D19 !important;
  background: none !important;
  border: 1px solid #E5E5E5 !important;
  border-radius: 8px !important;
  padding: 8px 14px !important;
  transition: border-color 0.2s ease !important;
}

.ob-filter-btn:hover {
  border-color: #93B2A6 !important;
  color: #5C7D6F !important;
}

/* Dropdown tri */
.ob-sort-wrapper {
  position: relative;
}

.ob-sort-wrapper .dropdown-menu {
  border-radius: 8px !important;
  border: 1px solid #E5E5E5 !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.08) !important;
  padding: 8px 0 !important;
  min-width: 200px !important;
}

.ob-sort-wrapper .dropdown-item {
  font-family: 'Roboto', sans-serif !important;
  font-size: 13px !important;
  color: #171D19 !important;
  padding: 10px 16px !important;
  transition: background-color 0.2s ease !important;
}

.ob-sort-wrapper .dropdown-item:hover,
.ob-sort-wrapper .dropdown-item.current {
  background-color: #E8F0EC !important;
  color: #5C7D6F !important;
}

/* Sur mobile : Trier gauche, Filtrer droite */
@media (max-width: 991px) {
  .products__selection {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    margin-block-end: 0.5rem!important;
     padding: 6px 0 !important;
  }
  

  .ob-products-sort {
    display: flex !important;
    flex-direction: row !important;
    gap: 12px !important;
    width: 100% !important;
    justify-content: space-between !important;
  }

  .ob-sort-wrapper {
    flex: 0 0 auto !important;
  }

  .ob-filter-btn,
  .ob-sort-btn {
    flex: 0 0 auto !important;
    width: auto !important;
  }

  .ob-products-count {
    display: none !important;
  }
}
/* -----------------------------------------------------------------------------
   Grille produits
   ----------------------------------------------------------------------------- */
#js-product-list .products {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}

@media (min-width: 992px) {
  #js-product-list .products {
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
  }
}

/* -----------------------------------------------------------------------------
   Desktop : sidebar filtres à gauche
   ----------------------------------------------------------------------------- */
@media (min-width: 992px) {
  .ob-category-header h1 {
    font-size: 28px !important;
  }
}
/* Description complémentaire catégorie — lire la suite */
.ob-category-additional {
  padding: 32px 16px;
  background: #ffffff;
}

.ob-category-additional__preview {
  font-family: 'Roboto', sans-serif;
  font-size: 13px;
  color: #4D4D4D;
  line-height: 1.6;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.ob-category-additional__preview.is-open {
  display: block;
  -webkit-line-clamp: unset;
}

.product-flags .badge:not(.discount) {
  --bs-primary-rgb: 147, 178, 166 !important;
  --bs-bg-opacity: 1 !important;
  border: none !important;
}

.product-flags .badge.out_of_stock {
  --bs-primary-rgb: 230, 81, 0 !important;
  border: none !important;
}

.product-flags .badge.pack {
  --bs-primary-rgb: 147, 178, 166 !important;
  border: none !important;
}
.product-miniature .badge.out_of_stock,
.product-miniature .product-availability {
  display: none !important;
}
.product-miniature__quickview-button,
.product-miniature__quickview-touch {
  display: none !important;
}

/* Pagination */
.pagination .page-link {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #737373 !important;
  border: 1px solid #E5E5E5 !important;
  border-radius: 6px !important;
  background: none !important;
  transition: all 0.2s ease !important;
}

.pagination .page-link:hover {
  color: #5C7D6F !important;
  border-color: #93B2A6 !important;
  background: #E8F0EC !important;
}

.pagination .page-item.active .page-link {
  background-color: #5C7D6F !important;
  border-color: #5C7D6F !important;
  color: #ffffff !important;
}

/* =============================================================================
   FILTRES SIDEBAR — desktop
   ============================================================================= */

/* Masquer bouton Filtrer sur desktop */
@media (min-width: 992px) {
  .ob-filter-btn {
    display: none !important;
  }
}

/* Titre "Filter By" */
#search-filters .h6:first-child {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #171D19 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  margin-bottom: 16px !important;
}

/* Section filtre */
.facet {
  border-bottom: 1px solid #ececec;
  padding: 16px 0;
}

.facet:last-child {
  border-bottom: none;
}

/* Titre de chaque filtre */
.facet .facet-title {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #171D19 !important;
  margin-bottom: 12px !important;
  text-transform: none !important;
}

/* Labels filtres */
.facet-label {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-family: 'Roboto', sans-serif !important;
  font-size: 13px !important;
  color: #4D4D4D !important;
  padding: 4px 0 !important;
  cursor: pointer !important;
  transition: color 0.2s ease !important;
}

.facet-label:hover {
  color: #5C7D6F !important;
}

.facet-label.active {
  color: #5C7D6F !important;
  font-weight: 600 !important;
}

/* Checkbox personnalisée */
.facet-label .custom-checkbox input[type="checkbox"] {
  display: none !important;
}

.facet-label .custom-checkbox span:not(.color) {
  width: 16px !important;
  height: 16px !important;
  border: 1px solid #E5E5E5 !important;
  border-radius: 4px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  transition: all 0.2s ease !important;
}

.facet-label.active .custom-checkbox span:not(.color) {
  background-color: #5C7D6F !important;
  border-color: #5C7D6F !important;
}

.facet-label.active .custom-checkbox .material-icons {
  color: #ffffff !important;
  font-size: 12px !important;
}

/* Nombre de résultats */
.facet-label .magnitude {
  color: #9e9e9e !important;
  font-size: 11px !important;
}

/* Bouton effacer tout */
.js-search-filters-clear-all {
  font-family: 'Roboto', sans-serif !important;
  font-size: 12px !important;
  color: #5C7D6F !important;
  border: none !important;
  background: none !important;
  padding: 0 !important;
  text-decoration: underline !important;
  cursor: pointer !important;
  margin-bottom: 16px !important;
}

/* Lien filtre */
.facet-label .search-link {
  color: inherit !important;
  text-decoration: none !important;
}

/* =============================================================================
   PAGE AUTHENTIFICATION — Origine.bio
   ============================================================================= */

.ob-auth {
  max-width: 420px;
  margin: 0 auto;
  padding: 32px 16px 48px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

/* Header */
.ob-auth__header {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.ob-auth__title {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  color: #171D19 !important;
  margin: 0 !important;
}

.ob-auth__subtitle {
  font-family: 'Roboto', sans-serif;
  font-size: 14px;
  color: #4D4D4D;
  margin: 0;
}

/* Champs du formulaire */
.ob-auth__form .form-group {
  margin-bottom: 12px;
}

.ob-auth__form .form-control,
.ob-auth__form input[type="email"],
.ob-auth__form input[type="password"],
.ob-auth__form input[type="text"] {
  width: 100% !important;
  height: 48px !important;
  border: 1px solid #E5E5E5 !important;
  border-radius: 8px !important;
  font-family: 'Roboto', sans-serif !important;
  font-size: 14px !important;
  color: #171D19 !important;
  padding: 0 16px !important;
  background-color: #ffffff !important;
  transition: border-color 0.2s ease !important;
  box-sizing: border-box !important;
}

.ob-auth__form .form-control:focus,
.ob-auth__form input:focus {
  border-color: #93B2A6 !important;
  box-shadow: 0 0 0 3px rgba(147, 178, 166, 0.15) !important;
  outline: none !important;
}

.ob-auth__form label {
  font-family: 'Roboto', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #4D4D4D !important;
  margin-bottom: 6px !important;
}

/* Actions */
.ob-auth__actions {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 8px;
}

/* Bouton Se connecter */
.ob-auth__btn, .page-obproaccount-registration .buttons-wrapper .btn-primary {
  width: 100% !important;
  height: 48px !important;
  background-color: #93B2A6 !important;
  border: none !important;
  border-radius: 8px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #171D19 !important;
  cursor: pointer !important;
  transition: background-color 0.2s ease !important;
}
.register-form__login-prompt a{color:#2C3E35;}
.ob-auth__btn:hover {
  background-color: #7a9a8e !important;
}

/* Lien mot de passe oublié */
.ob-auth__forgot {
  font-family: 'Montserrat', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: #5C7D6F;
  text-align: right;
  text-decoration: none;
  display: block;
  transition: color 0.2s ease;
}

.ob-auth__forgot:hover {
  color: #4a6a5d;
  text-decoration: underline;
}

/* Lien créer un compte */
.ob-auth__register {
  text-align: center;
  padding-top: 8px;
}

.ob-auth__register-link {
  font-family: 'Roboto', sans-serif;
  font-size: 14px;
  color: #171D19;
  text-decoration: none;
}

.ob-auth__register-link:hover {
  color: #5C7D6F;
}

.ob-auth__register-link strong,
.ob-auth__register-link a {
  color: #5C7D6F;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}
/* Masquer le titre de page par défaut (on utilise ob-auth__title) */
.page-authentication .page-header
 {
  display: none !important;
}

/* Icône œil mot de passe — sans bleu */
/* Bouton œil mot de passe */
button[data-ps-action="toggle-password"] {
  background-color: transparent !important;
  border: none !important;
  border-left: 1px solid #E5E5E5 !important;
  color: #737373 !important;
  padding: 0 12px !important;
  height: 100% !important;
  transition: color 0.2s ease !important;
}

button[data-ps-action="toggle-password"]:hover {
  background-color: transparent !important;
  color: #5C7D6F !important;
}

button[data-ps-action="toggle-password"] .material-icons {
  font-size: 20px !important;
  color: inherit !important;
}

/* Input mot de passe avec l'œil */
.ob-auth__form .input-group {
  border: 1px solid #E5E5E5 !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
}

.ob-auth__form .input-group input {
  border: none !important;
  border-radius: 0 !important;
  flex: 1 !important;
}

.ob-auth__form .input-group:focus-within {
  border-color: #93B2A6 !important;
  box-shadow: 0 0 0 3px rgba(147, 178, 166, 0.15) !important;
}

/* =============================================================================
   PAGE MON COMPTE — Origine.bio
   ============================================================================= */

.ob-account {
  max-width: 480px;
  margin: 0 auto;
  padding: 24px 16px 48px;
}

/* Header compte */
.ob-account__header {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 24px 16px;
  margin-bottom: 8px;
}

/* Avatar */
.ob-account__avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background-color: #E5E5E5;
  color: #4D4D4D;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Montserrat', sans-serif;
  font-size: 16px;
  font-weight: 700;
  flex-shrink: 0;
}

/* Avatar Pro — fond vert */
.ob-account__avatar--pro {
  background-color: #ffffff;
  color: #5C7D6F;
}

/* Infos */
.ob-account__info {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.ob-account__name {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #171D19 !important;
  margin: 0 !important;
}

.ob-account__email {
  font-family: 'Roboto', sans-serif;
  font-size: 13px;
  color: #737373;
  margin: 0;
}

/* Badge PRO */
.ob-account__badge {
  display: inline-block;
  background-color: #5C7D6F;
  color: #ffffff;
  font-family: 'Montserrat', sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  padding: 3px 8px;
  border-radius: 4px;
  margin-top: 2px;
  width: fit-content;
}

/* Navigation */
.ob-account__nav {
  display: flex;
  flex-direction: column;
  border-top: 1px solid #ececec;
}

.ob-account__link, .account-menu__link  {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 0;
  border-bottom: 1px solid #ececec;
  text-decoration: none;
  color: #171D19;
  font-family: 'Roboto', sans-serif;
  font-size: 15px;
  font-weight: 400;
  transition: color 0.2s ease;
}

.ob-account__link:hover, .account-menu__link:hover{
  color: #5C7D6F;
}

.ob-account--pro .ob-account__nav-mobile .account-menu__link i{color:#E5B869!important;}

.ob-account__link svg:first-child {
  color: #171D19;
  flex-shrink: 0;
  transition: color 0.2s ease;
}

.ob-account__link:hover svg:first-child {
  color: #5C7D6F;
}

.ob-account__link span {
  flex: 1;
}

.ob-account__arrow {
  color: #9e9e9e;
  flex-shrink: 0;
}

/* Lien déconnexion */
.ob-account__link--signout {
  color: #D96C6C !important;
  border-bottom: 1px solid #E5E5E5; !important;
  border-top: 1px solid #E5E5E5; !important;
  margin-top: 8px;
  text-align:center;
}

.ob-account__link--signout svg:first-child {
  color: #5C7D6F !important;
}

/* Masquer le titre de page par défaut */
.ob-account ~ .page-header,
.page-header:has(+ .ob-account) {
  display: none !important;
}
/* Sidebar menu compte — style Origine.bio */
.account-menu--sidebar .account-menu__link,
.account-menu--sidebar a {
  font-family: 'Roboto', sans-serif !important;
  font-size: 14px !important;
  color: #171D19 !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

.account-menu--sidebar .account-menu__link:hover,
.account-menu--sidebar a:hover {
  color: #5C7D6F !important;
}

.account-menu--sidebar .account-menu__link--active,
.account-menu--sidebar a.active {
  color: #5C7D6F !important;
  font-weight: 600 !important;
}

/* Masquer titre doublon */
/*.page-customer-account .page-header h1 {
  display: none !important;
}*/

/* Sur mobile — masquer sidebar, garder ob-account */
@media (max-width: 991px) {
  .account-menu--sidebar {
    display: none !important;
  }
}

/* Sur desktop — masquer nav dans ob-account, garder seulement le header */
@media (min-width: 992px) {
  .ob-account__nav {
    display: none !important;
  }
}
/* Desktop — masquer nav mobile, garder header */
@media (min-width: 992px) {
  .ob-account__nav-mobile, .page-my-account .page-header,
  .page-my-account h1.page-title-section {
    display: none !important;
  }
  
  .ob-account {
    max-width: 100% !important;
    padding: 0 0 24px 0 !important;
  }
}

/* Header Pro — fond vert */
.ob-account--pro .ob-account__header {
  background-color: #5C7D6F !important;
  padding: 24px 16px !important;
  margin: -24px -16px 24px -16px !important;
}

.ob-account--pro .ob-account__name,
.ob-account--pro .ob-account__email {
  color: #ffffff !important;
}

.ob-account--pro .ob-account__badge {
  background-color: #E5B869 !important;
  color: #000000 !important;
}
/* =============================================================================
   PAGE PRODUIT BLOC EMAIL ALERTS
   ============================================================================= */
.ps-emailalerts {
    padding: 1rem;
    background-color: rgba(147, 178, 166, 0.18);
    border-radius: 8px;
}

.ps-emailalerts__content p,
.ps-emailalerts__content .form-control {
    font-family: 'Roboto', sans-serif;
}

.ps-emailalerts__content .h4 {
    font-family: 'Montserrat', sans-serif;
    font-size: 1.1rem;
    color: #171D19;
}

.ps-emailalerts__content p:not(.h4) {
    color: #171D19;
    font-size: 0.9rem;
}

.ps-emailalerts__content .btn-primary,
[data-ps-action="emailalerts-subscribe"] {
    font-family: 'Montserrat', sans-serif;
    background-color: #93B2A6;
    border-color: #93B2A6;
    color: #ffffff;
    font-weight: 600;
}

.ps-emailalerts__content .btn-primary:hover,
[data-ps-action="emailalerts-subscribe"]:hover {
    background-color: #5C7D6F;
    border-color: #5C7D6F;
}

@media (max-width: 768px) {
.ps-categoryproducts, .ps-viewedproduct {padding:10px;}
}
/* =============================================================================
   BLOC PRESTABLOG SUR HOME
   ============================================================================= */
@media (min-width: 768px) {
  .ps-customtext #prestablog_lastliste .swiper-wrapper {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 20px;
    height: auto !important;
    transform: none !important;
  }

  .ps-customtext #prestablog_lastliste .swiper-slide {
    width: auto !important;
    transform: none !important;
  }

  .ps-customtext #prestablog_lastliste .swiper-pagination-lastnewsblog {
    display: none;
  }
}
.ps-customtext #prestablog_lastliste .prestabloglastnewstitle {
  position: static !important;
  background: none !important;
  padding: 12px 0 0 0 !important;
  margin: 0 !important;
}

.ps-customtext #prestablog_lastliste .link_block {
  display: flex;
  flex-direction: column;
}
.ps-customtext #prestablog_lastliste .lastlisteimg {
  width: 100%;
  height: auto;
  display: block;
}
.blog .ob-blog-title {font-size:20px; font-family:Montserrat; color:#171D19;}
.ps-customtext .blog .prestabloglastnewstitle{font-size:16px; font-family:Montserrat; color:#171D19!important;font-weight:600; letter-spacing:2%;}
.blog {padding: 48px 16px;}
.ob-blog-subtitle { font-size:14px; font-weight:400; font-family:Roboto; color: #4D4D4D; margin-bottom: 24px;}
.ps-customtext #prestablog_lastliste .title_block {
  display: none;
}
.ps-customtext #prestablog_lastliste .btn-primary{display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 48px;
  padding: 16px;
  background-color: #F5F7F6;
  border: 1px solid #5C7D6F;
  border-radius: 8px;
  font-family: 'Montserrat', sans-serif;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.02em;
  font-variant: small-caps;
  color: #171D19;
  text-decoration: none;
  text-transform: uppercase;
  box-sizing: border-box;
  transition: background-color 0.2s ease, color 0.2s ease;}
  @media (min-width: 768px) {
  .ps-customtext #prestablog_lastliste .btn-primary {
    width: auto;
    min-width: 280px;
    display: inline-flex;
    margin: 0 auto; /* centre le bouton horizontalement */
  }

  .ps-customtext #prestablog_lastliste .clearblog {
    text-align: center; /* nécessaire si le bouton n'est pas dans un flex parent centré */
  }
}

/* BOUTONS */
.cart-summary__actions .btn-primary,  .page-order .btn-primary{background-color:#93B2A6; color:#171D19!important; border:none; font-family:Montserrat; font-size:16px; text-transform:uppercase; font-weight:700;}
.cart__continue-shopping, .cart__continue-shopping i, .js-address-form button, .page-order .js-back{color:#5C7D6F; border:1px solid #5C7D6F;}
.cart__continue-shopping, .cart__continue-shopping i, .js-address-form button:hover, .page-order .js-back{background-color:#93B2A626; border:1px solid #5C7D6F;}
.js-remove-from-cart, .page-order button.nav-link{color:#5C7D6F;}
.delivery-options__container #change_postcode{background-color:#93B2A6; color:#171D19; border:1px solid #5C7D6F;}
#checkout-addresses-step .js-address-item{background-color:#93B2A626;border:1px solid #5C7D6F;}
#checkout-addresses-step .different-invoice-address{color:#5C7D6F;}

/*MODULE LISTING 250ML*/
.product-miniature__price {
  display: flex;
  align-items: baseline;
  flex-wrap: nowrap;
  gap: 4px;
}

.product-miniature__price-amount {
  white-space: nowrap;
}

.product-miniature__price-unit {
  font-size: 0.75em;
  color: #6b7d70;
  font-weight:300;
  white-space: nowrap;
}

/* Mobile : on empile prix et mention "le 100ml" */
@media (max-width: 767px) {
  .product-miniature__price {
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
  }
}

#_desktop_top_menu .column_wrap_title,
#_desktop_top_menu .column_wrap_title a {
  white-space: normal;
  word-wrap: break-word;
  display: block;
  line-height: 1.3;
} 
/* Niveau 1 - Menu principal (Huiles végétales, Huiles essentielles...) */
.a-niveau1,
.adtm_hummingbird_menu_item > a {
  font-family: 'Montserrat', sans-serif!important;
  font-weight: 600!important;
  font-size: 16px!important;
  line-height: 1!important;
  letter-spacing: 0!important;
  color: #2C3E35!important;
  display: flex!important;
  align-items: center!important;
}

/* Niveau 2 - Sous-catégories (titres de colonnes) */
.column_wrap_title a {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0;
  color: #2C3E35;
  display: flex;
  align-items: center;
  justify-content: space-between;
}


/* Niveau 3 - Dernier niveau (liste des produits/huiles) */
.adtm_elements li a {
  font-family: 'Roboto', sans-serif!important;
  font-weight: 400!important;
  font-size: 14px!important;
  line-height: 1!important;
  letter-spacing: 0!important;
  color: #2C3E35!important;
  display: flex!important;
  align-items: center!important;
}

/*MODULE ADVANCED TOP MENU FOR MOBILE*/
.adtm_sub .adtm_column_wrap .adtm_column .featured-products .products {display:grid; gap:1.5rem; grid-template-columns: repeat(1, minmax(0, 1fr))!important;}
@media (max-width: 767px) {
  /* NE PLUS toucher au position du offcanvas lui-même (garde son fixed natif) */
  .adtm_hummingbird_offcanvas .offcanvas-body {
    overflow-x: hidden;
  overflow-y: auto !important;
    position: relative;
    height: calc(100vh - 60px); /* ajuste selon la hauteur réelle de .offcanvas-header */
  }

  .ob-mobile-nav-header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    border-bottom: 1px solid #e5e5e5;
    height: 49px;
    box-sizing: border-box;
    position: relative;
    z-index: 2;
    background: #fff;
  }

  .ob-mobile-nav-header.is-hidden {
    display: none;
  }

  .ob-mobile-nav-back {
    background: none;
    border: none;
    font-size: 20px;
    cursor: pointer;
    padding: 4px 8px;
    line-height: 1;
  }

  .ob-mobile-nav-title {
    font-weight: 600;
    font-size: 16px;
  }

  /* Niveau ONGLET : glissement plein écran, sous le header (jamais dessus) */
  .adtm_hummingbird_offcanvas .adtm_sub {
    display: block !important;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    transform: translateX(100%);
    transition: transform 0.3s ease;
    background: #fff;
  }

  .adtm_hummingbird_offcanvas .adtm_sub.ob-panel-active {
    transform: translateX(0);
  }

  .adtm_hummingbird_offcanvas .adtm_sub.ob-panel-prev {
    transform: translateX(-100%);
  }

  .adtm_hummingbird_offcanvas .adtm_sub.ob-panel-next {
    transform: translateX(100%);
  }

  /* Niveau COLONNE : tant que l'élément est encore imbriqué dans le tableau
     natif du module, on le masque totalement -> évite tout calcul de
     positionnement foireux dans un <td> étroit. */
  .adtm_hummingbird_offcanvas .adtm_column .adtm_elements {
    display: none !important;
  }

  /* Une fois relocalisé par le JS (devient enfant direct de .offcanvas-body),
     il redevient un vrai panneau plein écran glissant, sous le header. */
  .adtm_hummingbird_offcanvas > .offcanvas-body > .adtm_elements {
    display: block !important;
    position: absolute;
    top: 49px;
    left: 0;
    width: 100%;
    transform: translateX(100%);
    transition: transform 0.3s ease;
    background: #fff;
  }

  .adtm_hummingbird_offcanvas > .offcanvas-body > .adtm_elements.ob-panel-active {
    transform: translateX(0);
  }

  .adtm_hummingbird_offcanvas > .offcanvas-body > .adtm_elements.ob-panel-prev {
    transform: translateX(-100%);
  }

  .adtm_hummingbird_offcanvas > .offcanvas-body > .adtm_elements.ob-panel-next {
    transform: translateX(100%);
  }

  .adtm_hummingbird_offcanvas .column_wrap_title a.adtm_unclickable::after {
    content: '\203A';
    float: right;
    font-size: 20px;
  }

  /* Masque les liens de la liste racine (onglets) une fois qu'on a navigué
     plus profond, sans toucher aux panneaux .adtm_sub eux-mêmes (frères,
     pas enfants, donc pas affectés par ce display:none). */
  .adtm_hummingbird_offcanvas.ob-nav-drilled .adtm_hummingbird_menu_item {
    display: none;
  }

  /* ------------------------------------------------------------------
     Démontage de la structure <table> native (pensée pour grille desktop)
     en liste verticale propre pour mobile.
     ------------------------------------------------------------------ */

  /* Spacer nbsp inutile en mobile, cause du blanc en haut de panneau */
  .adtm_hummingbird_offcanvas .adtm_column_wrap_sizer {
    display: none;
  }

  .adtm_hummingbird_offcanvas .columnWrapTable,
  .adtm_hummingbird_offcanvas .columnWrapTable tbody,
  .adtm_hummingbird_offcanvas .columnWrapTable tr,
  .adtm_hummingbird_offcanvas .adtm_column_wrap_td,
  .adtm_hummingbird_offcanvas .adtm_column_wrap {
    display: block !important;
    width: 100% !important;
  }

  .adtm_hummingbird_offcanvas .adtm_column {
    width: 100% !important;
    margin: 0;
    padding: 0;
  }

  /* Padding et alignement unifiés pour tous les titres/liens de premier
     niveau dans le panneau (qu'ils soient un groupe cliquable comme
     "Visage & Anti-âge" ou un vrai lien direct comme "Soins Barbes") */
  .adtm_hummingbird_offcanvas .column_wrap_title,
  .adtm_hummingbird_offcanvas .column_wrap_title a {
    display: block;
    width: 100%;
  }

  .adtm_hummingbird_offcanvas .column_wrap_title a {
  	font-family:Roboto;
  	font-size:16px!important;
  	font-weight:400!important;
    padding: 12px 16px;
   /* border-bottom: 1px solid #f0f0f0;*/
    line-height: 1.3;
  }

  /* Liste finale (feuille, ex: Argan/Jojoba) : même padding cohérent */
  .adtm_hummingbird_offcanvas > .offcanvas-body > .adtm_elements li a {
    display: block;
    /*padding: 12px 16px;
    border-bottom: 1px solid #f0f0f0;*/
  }
  .adtm_hummingbird_mobile_menu .li-niveau1{border-bottom:0;}
}

@media (max-width: 767px) {
  #_desktop_top_menu {
    display: none !important;
  }

  .ob-navmenu .container {
    height: auto !important;
    min-height: 0 !important;
  }
  .adtm_menu .adtm_column_wrap span.column_wrap_title {padding:0;}
  .adtm_menu .adtm_column_wrap span.column_wrap_title {padding-left:20px;}
  .adtm_menu .adtm_column_wrap_td{border:none;}
}

.modal-footer .btn-outline-primary {color:#93B2A6;border-color:#93B2A6;}
.modal-footer .btn-primary, #registration .btn-primary, .contact-form .btn-primary {color:#171D19!important;background-color:#93B2A6;border-color:#93B2A6;}

.ob-account-type-toggle {
  position: relative;
  display: inline-flex;
  background: #EFEFEF;
  border-radius: 999px;
  padding: 4px;
  margin-bottom: 24px;
}

.ob-account-type-toggle__thumb {
  position: absolute;
  top: 4px;
  left: 4px;
  width: calc(50% - 4px);
  height: calc(100% - 8px);
  background: #FFFFFF;
  border-radius: 999px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  transition: transform 0.25s ease;
  z-index: 0;
}

.ob-account-type-toggle[data-active="professionnel"] .ob-account-type-toggle__thumb {
  transform: translateX(100%);
}

.ob-account-type-toggle__btn {
  position: relative;
  z-index: 1;
  display: inline-block;
  padding: 8px 24px;
  border-radius: 999px;
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #555;
  text-decoration: none;
  text-align: center;
  cursor: pointer;
  transition: color 0.2s ease;
}

.ob-account-type-toggle[data-active="particulier"] .ob-account-type-toggle__btn--particulier,
.ob-account-type-toggle[data-active="professionnel"] .ob-account-type-toggle__btn--professionnel {
  color: #2C2C2C;
}
.ob-account-type-toggle__btn:hover {
  color: #93B2A6;
}

.ob-account-type-toggle[data-active="particulier"] .ob-account-type-toggle__btn--particulier,
.ob-account-type-toggle[data-active="professionnel"] .ob-account-type-toggle__btn--professionnel {
  color: #2C2C2C;
}

.ob-account-type-toggle[data-active="particulier"] .ob-account-type-toggle__btn--particulier:hover,
.ob-account-type-toggle[data-active="professionnel"] .ob-account-type-toggle__btn--professionnel:hover {
  color: #2C2C2C;
}

/*faqs*/
.panel {
  margin-bottom: 20px;
  background-color: white;
  border: 1px solid transparent;
  border-radius: 0;
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
}

.panel-body {
  padding: 15px;
}
.panel-body:before, .panel-body:after {
  content: " ";
  display: table;
}
.panel-body:after {
  clear: both;
}

.panel-heading {
  padding: 10px 15px;
  border-bottom: 1px solid transparent;
  border-top-right-radius: -1;
  border-top-left-radius: -1;
}
.panel-heading > .dropdown .dropdown-toggle {
  color: inherit;
}

.panel-title {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 16px;
  color: inherit;
}
.panel-title > a {
  color: inherit;
}

.panel-footer {
  padding: 10px 15px;
  background-color: whitesmoke;
  border-top: 1px solid #dddddd;
  border-bottom-right-radius: -1;
  border-bottom-left-radius: -1;
}

.panel > .list-group {
  margin-bottom: 0;
}
.panel > .list-group .list-group-item {
  border-width: 1px 0;
  border-radius: 0;
}
.panel > .list-group:first-child .list-group-item:first-child {
  border-top: 0;
  border-top-right-radius: -1;
  border-top-left-radius: -1;
}
.panel > .list-group:last-child .list-group-item:last-child {
  border-bottom: 0;
  border-bottom-right-radius: -1;
  border-bottom-left-radius: -1;
}

.panel-heading + .list-group .list-group-item:first-child {
  border-top-width: 0;
}

.panel > .table,
.panel > .table-responsive > .table {
  margin-bottom: 0;
}
.panel > .table:first-child,
.panel > .table-responsive:first-child > .table:first-child {
  border-top-right-radius: -1;
  border-top-left-radius: -1;
}
.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,
.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {
  border-top-left-radius: -1;
}
.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,
.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,
.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,
.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {
  border-top-right-radius: -1;
}
.panel > .table:last-child,
.panel > .table-responsive:last-child > .table:last-child {
  border-bottom-right-radius: -1;
  border-bottom-left-radius: -1;
}
.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,
.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {
  border-bottom-left-radius: -1;
}
.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,
.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {
  border-bottom-right-radius: -1;
}
.panel > .panel-body + .table,
.panel > .panel-body + .table-responsive {
  border-top: 1px solid #eeeeee;
}
.panel > .table > tbody:first-child > tr:first-child th,
.panel > .table > tbody:first-child > tr:first-child td {
  border-top: 0;
}
.panel > .table-bordered,
.panel > .table-responsive > .table-bordered {
  border: 0;
}
.panel > .table-bordered > thead > tr > th:first-child,
.panel > .table-bordered > thead > tr > td:first-child,
.panel > .table-bordered > tbody > tr > th:first-child,
.panel > .table-bordered > tbody > tr > td:first-child,
.panel > .table-bordered > tfoot > tr > th:first-child,
.panel > .table-bordered > tfoot > tr > td:first-child,
.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,
.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,
.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,
.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {
  border-left: 0;
}
.panel > .table-bordered > thead > tr > th:last-child,
.panel > .table-bordered > thead > tr > td:last-child,
.panel > .table-bordered > tbody > tr > th:last-child,
.panel > .table-bordered > tbody > tr > td:last-child,
.panel > .table-bordered > tfoot > tr > th:last-child,
.panel > .table-bordered > tfoot > tr > td:last-child,
.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,
.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,
.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,
.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {
  border-right: 0;
}
.panel > .table-bordered > thead > tr:first-child > td,
.panel > .table-bordered > thead > tr:first-child > th,
.panel > .table-bordered > tbody > tr:first-child > td,
.panel > .table-bordered > tbody > tr:first-child > th,
.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,
.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {
  border-bottom: 0;
}
.panel > .table-bordered > tbody > tr:last-child > td,
.panel > .table-bordered > tbody > tr:last-child > th,
.panel > .table-bordered > tfoot > tr:last-child > td,
.panel > .table-bordered > tfoot > tr:last-child > th,
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {
  border-bottom: 0;
}
.panel > .table-responsive {
  border: 0;
  margin-bottom: 0;
}

.panel-group {
  margin-bottom: 20px;
}
.panel-group .panel {
  margin-bottom: 0;
  border-radius: 0;
  overflow: hidden;
}
.panel-group .panel + .panel {
  margin-top: 5px;
}
.panel-group .panel-heading {
  border-bottom: 0;
}
.panel-group .panel-heading + .panel-collapse .panel-body {
  border-top: 1px solid #dddddd;
}
.panel-group .panel-footer {
  border-top: 0;
}
.panel-group .panel-footer + .panel-collapse .panel-body {
  border-bottom: 1px solid #dddddd;
}

.panel-default {
  border-color: #dddddd;
}
.panel-default > .panel-heading {
  color: #333333;
  background-color: whitesmoke;
  border-color: #dddddd;
}
.panel-default > .panel-heading + .panel-collapse .panel-body {
  border-top-color: #dddddd;
}
.panel-default > .panel-footer + .panel-collapse .panel-body {
  border-bottom-color: #dddddd;
}

.panel-primary {
  border-color: #428bca;
}
.panel-primary > .panel-heading {
  color: white;
  background-color: #428bca;
  border-color: #428bca;
}
.panel-primary > .panel-heading + .panel-collapse .panel-body {
  border-top-color: #428bca;
}
.panel-primary > .panel-footer + .panel-collapse .panel-body {
  border-bottom-color: #428bca;
}

.panel-success {
  border-color: #d6e9c6;
}
.panel-success > .panel-heading {
  color: #3c763d;
  background-color: #dff0d8;
  border-color: #d6e9c6;
}
.panel-success > .panel-heading + .panel-collapse .panel-body {
  border-top-color: #d6e9c6;
}
.panel-success > .panel-footer + .panel-collapse .panel-body {
  border-bottom-color: #d6e9c6;
}

.panel-info {
  border-color: #bce8f1;
}
.panel-info > .panel-heading {
  color: #31708f;
  background-color: #d9edf7;
  border-color: #bce8f1;
}
.panel-info > .panel-heading + .panel-collapse .panel-body {
  border-top-color: #bce8f1;
}
.panel-info > .panel-footer + .panel-collapse .panel-body {
  border-bottom-color: #bce8f1;
}

.panel-warning {
  border-color: #faebcc;
}
.panel-warning > .panel-heading {
  color: #8a6d3b;
  background-color: #fcf8e3;
  border-color: #faebcc;
}
.panel-warning > .panel-heading + .panel-collapse .panel-body {
  border-top-color: #faebcc;
}
.panel-warning > .panel-footer + .panel-collapse .panel-body {
  border-bottom-color: #faebcc;
}

.panel-danger {
  border-color: #ebccd1;
}
.panel-danger > .panel-heading {
  color: #a94442;
  background-color: #f2dede;
  border-color: #ebccd1;
}
.panel-danger > .panel-heading + .panel-collapse .panel-body {
  border-top-color: #ebccd1;
}
.panel-danger > .panel-footer + .panel-collapse .panel-body {
  border-bottom-color: #ebccd1;
}
#footer_customeraccount_title a{color:#F5F7F6 !important;}