/**
 * L.O. Equilibrium — Surcouche Hummingbird 2.1.2 (PrestaShop 9.2)
 * Palette harmonieuse unique calée sur le Logo L.O. Equilibrium :
 * - Vert sauge du logo       : #2E6B5E (survol #235349, fond doux #EEF5F3, bordure #C5DCD6)
 * - Orange terre cuite logo  : #F2793D (survol #D9652B)
 * - Texte principal          : #333333
 * - Fond                     : #FFFFFF
 */

:root,
[data-bs-theme=light] {
  --lo-logo-green: #2e6b5e;
  --lo-logo-orange: #f2793d;
  --lo-green: #2e6b5e;
  --lo-green-fade: #235349;
  --lo-green-soft: #eef5f3;
  --lo-green-border: #c5dcd6;
  --lo-orange: #f2793d;
  --lo-orange-fade: #d9652b;
  --lo-text: #333333;
  --lo-border: #e3e3e3;
  --lo-bg: #ffffff;
  --lo-bg-soft: #f7f9f8;

  /* Surcharge des variables Bootstrap 5 / Hummingbird (remplace le bleu #0b69f6 et le vert #188251) */
  --bs-blue: #2e6b5e;
  --bs-green: #2e6b5e;
  --bs-primary: #2e6b5e;
  --bs-primary-rgb: 46, 107, 94;
  --bs-primary-text-emphasis: #1f4b41;
  --bs-primary-bg-subtle: #e6f0ed;
  --bs-primary-border-subtle: #b5d1cb;
  --bs-success: #2e6b5e;
  --bs-success-rgb: 46, 107, 94;
  --bs-success-text-emphasis: #1f4b41;
  --bs-success-bg-subtle: #e6f0ed;
  --bs-success-border-subtle: #b5d1cb;
  --bs-link-color: #2e6b5e;
  --bs-link-color-rgb: 46, 107, 94;
  --bs-link-hover-color: #235349;
  --bs-link-hover-color-rgb: 35, 83, 73;
  --bs-focus-ring-color: rgba(46, 107, 94, 0.25);
}

body {
  color: var(--lo-text);
  font-family: 'Lato', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* Liens textuels simples dans le contenu principal (spécificité 0 via :where pour ne jamais écraser un bouton ou une carte) */
:where(main a:not([class])) {
  color: var(--lo-green);
}

:where(main a:not([class])):hover {
  color: var(--lo-green-fade);
}

/* ==========================================================================
   BOUTONS & FORMULAIRES : 100 % VERT SAUGE DU LOGO (#2E6B5E) & CONTRASTE GARANTI (#FFFFFF)
   Couvre : Ajouter au panier, Prévenez-moi (ps_emailalerts), S'abonner,
   Se connecter, icône œil mot de passe, tunnel de commande, Mon compte,
   boutons CMS/Blog (.btn-primary, .btn-success, .la-bouton, .lo-cms-product-card__btn).
   ========================================================================== */
.btn-primary,
.btn-success,
.ps-emailalerts .btn-primary,
button[data-ps-action="toggle-password"].btn-primary,
.product-miniature__add.btn-primary,
.product-actions .add-to-cart.btn-primary,
.labo-article .la-bouton,
a.la-bouton,
a[style*="background:#2E6B5E"],
a[style*="background: #2E6B5E"] {
  --bs-btn-color: #ffffff;
  --bs-btn-bg: var(--lo-green);
  --bs-btn-border-color: var(--lo-green);
  --bs-btn-hover-color: #ffffff;
  --bs-btn-hover-bg: var(--lo-green-fade);
  --bs-btn-hover-border-color: var(--lo-green-fade);
  --bs-btn-focus-shadow-rgb: 46, 107, 94;
  --bs-btn-active-color: #ffffff;
  --bs-btn-active-bg: var(--lo-green-fade);
  --bs-btn-active-border-color: var(--lo-green-fade);
  --bs-btn-disabled-color: #ffffff;
  --bs-btn-disabled-bg: #4a7f73;
  --bs-btn-disabled-border-color: #4a7f73;
  background-color: var(--lo-green) !important;
  border-color: var(--lo-green) !important;
  color: #ffffff !important;
  text-decoration: none !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary:visited,
.btn-success:hover,
.btn-success:focus,
.btn-success:active,
.ps-emailalerts .btn-primary:hover,
button[data-ps-action="toggle-password"].btn-primary:hover,
.product-miniature__add.btn-primary:hover,
.product-actions .add-to-cart.btn-primary:hover,
.labo-article .la-bouton:hover,
.labo-article .la-bouton:focus,
a.la-bouton:hover,
a.la-bouton:focus,
a[style*="background:#2E6B5E"]:hover,
a[style*="background: #2E6B5E"]:hover {
  background-color: var(--lo-green-fade) !important;
  border-color: var(--lo-green-fade) !important;
  color: #ffffff !important;
  text-decoration: none !important;
}

.btn-outline-primary,
.btn-outline-success {
  --bs-btn-color: var(--lo-green);
  --bs-btn-border-color: var(--lo-green);
  --bs-btn-hover-color: #ffffff;
  --bs-btn-hover-bg: var(--lo-green);
  --bs-btn-hover-border-color: var(--lo-green);
  --bs-btn-focus-shadow-rgb: 46, 107, 94;
  --bs-btn-active-color: #ffffff;
  --bs-btn-active-bg: var(--lo-green-fade);
  --bs-btn-active-border-color: var(--lo-green-fade);
  color: var(--lo-green) !important;
  border-color: var(--lo-green) !important;
  background-color: transparent;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active,
.btn-outline-success:hover,
.btn-outline-success:focus,
.btn-outline-success:active {
  background-color: var(--lo-green) !important;
  border-color: var(--lo-green) !important;
  color: #ffffff !important;
}

.btn-secondary,
.btn-warning {
  --bs-btn-bg: var(--lo-orange);
  --bs-btn-border-color: var(--lo-orange);
  --bs-btn-color: #ffffff;
  --bs-btn-hover-bg: var(--lo-orange-fade);
  --bs-btn-hover-border-color: var(--lo-orange-fade);
  --bs-btn-hover-color: #ffffff;
  background-color: var(--lo-orange);
  border-color: var(--lo-orange);
  color: #ffffff !important;
}

.btn-secondary:hover,
.btn-secondary:focus,
.btn-secondary:active,
.btn-warning:hover,
.btn-warning:focus,
.btn-warning:active {
  background-color: var(--lo-orange-fade);
  border-color: var(--lo-orange-fade);
  color: #ffffff !important;
}

/* Harmonisation des composants Bootstrap (dropdowns, pagination, pills, list-group, progress, range) */
.dropdown-menu,
.dropdown-menu-dark {
  --bs-dropdown-link-active-color: #ffffff;
  --bs-dropdown-link-active-bg: var(--lo-green);
}

.list-group {
  --bs-list-group-active-color: #ffffff;
  --bs-list-group-active-bg: var(--lo-green);
  --bs-list-group-active-border-color: var(--lo-green);
}

.nav-pills {
  --bs-nav-pills-link-active-color: #ffffff;
  --bs-nav-pills-link-active-bg: var(--lo-green);
}

.progress,
.progress-stacked {
  --bs-progress-bar-color: #ffffff;
  --bs-progress-bar-bg: var(--lo-green);
}

.page-link {
  color: var(--lo-green);
}

.page-link:hover,
.page-link:focus {
  color: var(--lo-green-fade);
  background-color: var(--lo-green-soft);
}

.active > .page-link,
.page-link.active {
  background-color: var(--lo-green) !important;
  border-color: var(--lo-green) !important;
  color: #ffffff !important;
}

.form-range::-webkit-slider-thumb {
  background-color: var(--lo-green);
}

.form-range::-moz-range-thumb {
  background-color: var(--lo-green);
}

/* Cases à cocher, radios, curseurs et focus des champs de formulaire (plus de bleu #0b69f6) */
.form-check-input:checked,
.form-check-input[type=checkbox]:indeterminate {
  background-color: var(--lo-green);
  border-color: var(--lo-green);
}

.form-control:focus,
.form-select:focus,
.form-check-input:focus {
  border-color: var(--lo-green);
  box-shadow: 0 0 0 0.2rem rgba(46, 107, 94, 0.2);
}

/* Correctif bug Hummingbird qui décalait le padding vertical de tous les .form-control:focus */
.form-control:not(.form-floating > .form-control):focus {
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}

/* ==========================================================================
   FLOCAGES / BADGES PRODUITS (NEUF, PACK, RUPTURE DE STOCK, PROMO)
   Remplace le bleu #0b69f6 de Hummingbird par la palette du logo
   ========================================================================== */
.product-flags .badge:not(.discount),
.product-flags .badge.new,
.product-flags .badge.pack {
  background-color: var(--lo-green);
  border: 1px solid var(--lo-green);
  color: #ffffff;
  font-weight: 600;
}

.product-flags .badge.out_of_stock,
.product-flags .badge.discount,
.product-flags .badge.on-sale,
.product-miniature .discount,
.badge.discount,
.product-flag.discount {
  background-color: var(--lo-orange);
  border: 1px solid var(--lo-orange);
  color: #ffffff;
  font-weight: 600;
}

/* ==========================================================================
   SUPPRESSION DE « FILTRER PAR » ET « TRIER PAR » DANS LES CATÉGORIES
   ========================================================================== */
#search_filters,
#search_filters_wrapper,
#search_filter_toggler,
#offcanvas-faceted,
.products__sort,
#js-product-list-top {
  display: none !important;
}

/* ==========================================================================
   HEADER MODERNE STICKY FIXE (ZÉRO ZOOM / ZÉRO RÉDUCTION AU SCROLL)
   ========================================================================== */
header#header.header {
  position: sticky;
  top: 0;
  z-index: 1030;
  /* Haut de page : transparent pour laisser passer le wash body (fondu d’apparition) */
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border-bottom: 0 !important;
  transition:
    box-shadow 0.2s ease,
    background-color 0.25s ease,
    border-color 0.25s ease;
}

/* Sous-bandes Hummingbird éventuelles (top/bottom) : pas de fond opaque en haut */
header#header.header .header-top,
header#header.header .header-bottom,
header#header.header .lo-header-main {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  transition: background-color 0.25s ease;
}

/* Au scroll : fond blanc opaque pour ne plus laisser voir le contenu derrière */
body.lo-header-scrolled header#header.header,
body.lo-header-scrolled header#header.header .header-top,
body.lo-header-scrolled header#header.header .header-bottom,
body.lo-header-scrolled header#header.header .lo-header-main {
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  border-bottom: 1px solid #e2ece9 !important;
  box-shadow: 0 4px 18px rgba(46, 107, 94, 0.12);
}

/* Accueil uniquement : header blanc opaque (pas de transparence) */
body#index header#header.header,
body.page-index header#header.header,
body#index header#header.header .header-top,
body#index header#header.header .header-bottom,
body#index header#header.header .lo-header-main,
body.page-index header#header.header .header-top,
body.page-index header#header.header .header-bottom,
body.page-index header#header.header .lo-header-main,
body#index.lo-header-scrolled header#header.header,
body.page-index.lo-header-scrolled header#header.header {
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  border-bottom: 1px solid #e2ece9 !important;
}

/* Hauteur du logo strictement fixe (aucun zoom ni réduction au scroll) */
.lo-header-main .header-bottom__logo img,
body.lo-header-scrolled .lo-header-main .header-bottom__logo img {
  height: 50px;
  max-height: 50px;
  width: auto;
  transition: none;
}

/* Bouton hamburger : icône + libellé « Menu » */
.lo-menu-toggle {
  display: inline-flex !important;
  align-items: center;
  gap: 0.35rem;
  padding: 0.25rem 0.4rem !important;
  color: var(--lo-green, #2e6b5e) !important;
  text-decoration: none !important;
  line-height: 1.1;
}
.lo-menu-toggle__icon {
  font-size: 1.55rem;
  line-height: 1;
}
.lo-menu-toggle__label {
  font-size: 0.92rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: none;
}

/* Mobile (< 768 px) : logo à gauche, bouton Menu juste après, icônes poussées à droite */
@media (max-width: 767.98px) {
  .lo-header-main .header-bottom__logo {
    order: -2;
  }
  .lo-header-main .ps-mainmenu.ps-mainmenu--desktop {
    margin-right: auto;
  }
}

/* Réorganisation du header sur 2 lignes propres en desktop */
@media (min-width: 1200px) {
  .lo-header-main .header-bottom__row {
    flex-wrap: wrap;
  }
  .lo-header-main .header-bottom__logo {
    order: 1;
  }
  .lo-header-main #_desktop_ps_searchbar {
    order: 2;
    flex: 1 1 320px;
    max-width: 520px;
    margin-left: auto;
    margin-right: auto;
  }
  .lo-header-main #_desktop_ps_searchbar .ps-searchbar {
    width: 100%;
  }
  .lo-header-main .lo-header-utilities {
    order: 3;
    margin-left: 0;
  }
  .lo-header-main .ps-mainmenu--desktop {
    order: 4;
    flex: 0 0 100%;
    width: 100%;
    border-top: 1px solid #e8f0ed;
    margin-top: 6px;
    padding-top: 4px;
  }
  .lo-header-main .ps-mainmenu__tree {
    justify-content: center;
    gap: 0.5rem 1.5rem;
  }
}

/* Barre de recherche fixe sans saut de padding ni zoom au focus/scroll */
.lo-header-main .ps-searchbar__input,
.lo-header-main .ps-searchbar__input:focus {
  height: 42px;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 2.5rem;
  border: 1.5px solid var(--lo-green-border);
  border-radius: 999px;
  background-color: #f9fbfa;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

.lo-header-main .ps-searchbar__input:focus {
  background-color: #ffffff;
  border-color: var(--lo-green);
  box-shadow: 0 0 0 3px rgba(46, 107, 94, 0.15);
}

.lo-header-main .ps-searchbar__magnifier {
  color: var(--lo-green);
}

/* Lien Contact dans le header */
.lo-header-contact-link {
  color: var(--lo-text);
  text-decoration: none;
  font-weight: 600;
  font-size: 0.92rem;
  padding: 0.35rem 0.65rem;
  border-radius: 6px;
  transition: color 0.15s ease, background-color 0.15s ease;
}

.lo-header-contact-link:hover {
  color: var(--lo-green);
  background-color: var(--lo-green-soft);
}

.lo-header-contact-link__icon {
  font-size: 1.2rem;
  color: var(--lo-green);
}

/* Sélecteur de langue compact FR | DE — actif = drapeau (PC + mobile) */
.lo-lang-switcher {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  border: 1px solid var(--lo-green-border);
  border-radius: 999px;
  padding: 2px;
  background-color: var(--lo-green-soft);
}

.lo-lang-switcher__item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.85rem;
  min-height: 1.35rem;
  padding: 2px 8px;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  color: #445952;
  text-decoration: none;
  border-radius: 999px;
  line-height: 1;
  transition: color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

.lo-lang-switcher__item:hover {
  color: var(--lo-green);
}

.lo-lang-switcher__item.is-active {
  background-color: transparent;
  color: inherit;
  padding: 2px 4px;
  box-shadow: 0 0 0 1px rgba(46, 107, 94, 0.35);
}

.lo-lang-switcher__flag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
}

.lo-lang-switcher__svg {
  display: block;
  width: 22px;
  height: auto;
  border-radius: 3px;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.12);
}

.lo-lang-switcher__code {
  display: inline-block;
}

/* Accueil = icône écurie (équivalent maison PS01, à gauche) */
.lo-menu-home__link {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: var(--lo-green);
  text-decoration: none;
}

.ps-mainmenu__tree-item.lo-menu-home .lo-menu-home__link {
  padding: 0.35rem 0.2rem;
  line-height: 1;
}

.lo-menu-home__ico {
  display: block;
  width: 1.35rem;
  height: 1.35rem;
  flex: 0 0 auto;
  color: currentColor;
}

.ps-mainmenu__tree-item.lo-menu-home .ps-mainmenu__tree-link:hover,
.ps-mainmenu__tree-item.lo-menu-home.current .ps-mainmenu__tree-link {
  color: var(--lo-orange);
}

.ps-mainmenu--mobile .lo-menu-home__link {
  color: var(--lo-green);
  font-weight: 600;
}

.ps-mainmenu--mobile .lo-menu-home__txt {
  font-size: 1rem;
}

/* Liens du menu principal */
.ps-mainmenu__tree-link {
  font-weight: 600;
  color: var(--lo-text);
  position: relative;
  padding: 0.45rem 0.25rem;
  transition: color 0.15s ease;
}

.ps-mainmenu__tree-link:hover,
.ps-mainmenu__tree-item.current .ps-mainmenu__tree-link {
  color: var(--lo-green);
}

.ps-mainmenu__tree-link::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2.5px;
  background-color: var(--lo-orange);
  transform: scaleX(0);
  transition: transform 0.2s ease;
}

.ps-mainmenu__tree-link:hover::after,
.ps-mainmenu__tree-item.current .ps-mainmenu__tree-link::after {
  transform: scaleX(1);
}

/* Badge panier et icônes header aux couleurs du logo */
.header-block__badge {
  background-color: var(--lo-green);
  color: #ffffff;
}

.header-block--active .header-block,
.header-block--active .header-block__icon,
.header-block__action-btn:hover,
.header-block__action-btn:hover .header-block__icon {
  color: var(--lo-green);
}

/* ==========================================================================
   PIED DE PAGE (FOOTER) : LIENS CLAIRS & HARMONIEUX SUR FOND SOMBRE
   ========================================================================== */
.footer__main {
  background-color: #1f2e2b;
  color: #d8e2df;
}

.footer__main .footer-block__title,
.footer__main .footer-block__title a {
  color: #ffffff;
}

.footer__main a,
.footer-block a,
.footer__main .copyright a {
  color: #d8e2df;
  text-decoration: none;
  transition: color 0.15s ease;
}

.footer__main a:hover,
.footer-block a:hover,
.footer__main .copyright a:hover {
  color: #ffffff;
  text-decoration: underline;
}

/* ==========================================================================
   BLOC NEWSLETTER ACCUEIL / FOOTER-BEFORE (FOND FIXE + CODE WELCOME -5 %)
   ========================================================================== */
.lo-newsletter-section {
  position: relative;
  overflow: hidden;
  padding: 4rem 0;
  background:
    radial-gradient(circle at 12% 20%, rgba(242, 121, 61, 0.18), transparent 42%),
    radial-gradient(circle at 88% 78%, rgba(255, 255, 255, 0.1), transparent 40%),
    linear-gradient(135deg, #1f473f 0%, #2e6b5e 48%, #24584e 100%);
  background-color: #2e6b5e;
  color: #ffffff;
}

.lo-newsletter-section__video {
  display: none !important;
}

.lo-newsletter-section__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(26, 41, 37, 0.18) 0%, rgba(26, 41, 37, 0.28) 100%);
  z-index: 1;
  pointer-events: none;
}

.lo-newsletter-section__content {
  z-index: 2;
}

.lo-newsletter-section__title {
  color: #ffffff;
  font-size: clamp(1.75rem, 3vw, 2.4rem);
  font-weight: 300;
  font-style: italic;
  margin-bottom: 0.6rem;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
}

.lo-newsletter-section__subtitle {
  color: #ffffff;
  font-size: clamp(0.95rem, 1.6vw, 1.15rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin-bottom: 1.6rem;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.35);
}

.lo-newsletter-section__badge {
  display: inline-block;
  background-color: var(--lo-orange);
  color: #ffffff;
  padding: 0.1rem 0.55rem;
  border-radius: 4px;
  font-weight: 800;
}

.lo-newsletter-section__form {
  max-width: 560px;
}

.lo-newsletter-section__input,
.lo-newsletter-section__input:focus {
  height: 48px;
  padding: 0 1.1rem;
  border-radius: 6px;
  border: 0;
  font-size: 1rem;
}

.lo-newsletter-section__submit {
  height: 48px;
  padding: 0 1.75rem;
  font-weight: 700;
  border-radius: 6px;
  white-space: nowrap;
  background-color: var(--lo-green);
  border-color: var(--lo-green);
  color: #ffffff;
}

.lo-newsletter-section__submit:hover {
  background-color: var(--lo-green-fade);
  border-color: var(--lo-green-fade);
  color: #ffffff;
}

.lo-newsletter-section__conditions,
.lo-newsletter-section__gdpr {
  color: rgba(255, 255, 255, 0.88);
  font-size: 0.82rem;
  line-height: 1.45;
}

.lo-newsletter-section__conditions a,
.lo-newsletter-section__gdpr a {
  color: #ffd8be;
  text-decoration: underline;
}

/* ==========================================================================
   AVIS PRODUITS : NOTE CHIFFRÉE X.XX/5 EN FACE DES ÉTOILES
   ========================================================================== */
.lo-rating-score,
.lo-miniature-grade {
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--lo-text);
}

.lo-miniature-count {
  font-size: 0.85rem;
  color: #666666;
}


/* ==========================================================================
   DOSSIERS THÉMATIQUES (BLOG CMS), INGRÉDIENTS & ARTICLES CMS
   Palette : Vert sauge #2E6B5E · Orange terre cuite #F2793D
   ========================================================================== */
.lo-cms-page-wrap {
  max-width: 960px;
  margin: 0 auto;
}

.lo-cms-article {
  color: var(--lo-text);
  font-size: 1.04rem;
  line-height: 1.72;
}

.lo-cms-article h2 {
  color: #1a2925;
  font-size: clamp(1.35rem, 2.3vw, 1.75rem);
  font-weight: 800;
  margin-top: 2.4rem;
  margin-bottom: 0.9rem;
  padding-bottom: 0.45rem;
  border-bottom: 2px solid var(--lo-green-border);
  scroll-margin-top: 110px;
}

.lo-cms-article h3 {
  color: var(--lo-green);
  font-size: clamp(1.12rem, 1.8vw, 1.32rem);
  font-weight: 700;
  margin-top: 1.6rem;
  margin-bottom: 0.65rem;
}

.lo-blog-post__meta {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1.25rem;
  font-size: 0.9rem;
  color: #5a6b65;
}

.lo-blog-post__date {
  background-color: var(--lo-green-soft);
  color: var(--lo-green);
  font-weight: 700;
  padding: 0.25rem 0.75rem;
  border-radius: 999px;
}

.lo-blog-post__chapo {
  background-color: #fff8f3;
  border-left: 4px solid var(--lo-orange);
  padding: 1.1rem 1.35rem;
  border-radius: 0 8px 8px 0;
  margin-bottom: 1.75rem;
  font-size: 1.06rem;
  color: #2b2b2b;
}

.lo-blog-post__chapo p:last-child {
  margin-bottom: 0;
}

.lo-blog-post__cover {
  margin: 1.5rem 0 2rem;
  text-align: center;
}

.lo-blog-post__cover img,
.lo-cms-figure img {
  max-width: 100%;
  height: auto;
  border-radius: 10px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
}

/* Illustrations CMS (dossiers thématiques + articles) :
   cadre uniforme, image entière sans recadrage (contain), clic → agrandissement */
.lo-cms-figure {
  margin: 1.75rem auto;
  max-width: 720px;
  text-align: center;
  padding: 0.85rem;
  border-radius: 12px;
  border: 1px solid #dce8e4;
  background-color: #f8fbfa;
  box-shadow: 0 6px 18px rgba(26, 41, 37, 0.08);
}

.lo-cms-figure img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 640px;
  object-fit: contain;
  object-position: center;
  margin-left: auto;
  margin-right: auto;
  border-radius: 8px;
  border: none;
  background-color: transparent;
  box-shadow: none;
  cursor: zoom-in;
}

/* Page #53 : fond blanc un peu plus marqué pour les flacons / produits */
.page-cms-53 .lo-cms-figure img[src*="/produits-et-ingredients/"],
.page-cms-53 .lo-cms-figure img[src*="/crins-04"],
.page-cms-53 .lo-cms-figure img[src*="/fourbure-06"],
.page-cms-53 .lo-cms-figure img[src*="/mollette-11"] {
  padding: 0.5rem;
  background-color: #ffffff;
  border-radius: 8px;
}

@media (max-width: 767.98px) {
  .lo-cms-figure {
    margin: 1.35rem auto;
    max-width: 100%;
    padding: 0.65rem;
  }
  .lo-cms-figure img {
    max-width: 100%;
    max-height: 420px;
    border-radius: 6px;
  }
}

/* Lightbox agrandissement des illustrations CMS
   Pinch : uniquement l’image ouverte — page / article figés derrière */
body.lo-cms-lightbox-open {
  overflow: hidden !important;
  touch-action: none;
  overscroll-behavior: none;
}

body.lo-cms-lightbox-open .lo-cms-figure,
body.lo-cms-lightbox-open #content,
body.lo-cms-lightbox-open main {
  touch-action: none;
}

.lo-cms-lightbox {
  position: fixed;
  inset: 0;
  z-index: 10050;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.25rem;
  background: rgba(16, 28, 25, 0.82);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.18s ease, visibility 0.18s ease;
  cursor: zoom-out;
  touch-action: none;
  overscroll-behavior: none;
  -webkit-user-select: none;
  user-select: none;
}

.lo-cms-lightbox.is-open {
  opacity: 1;
  visibility: visible;
}

.lo-cms-lightbox__stage {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 100%;
  max-height: 100%;
  touch-action: none;
}

.lo-cms-lightbox__img {
  max-width: min(96vw, 1200px);
  max-height: 92vh;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 10px;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35);
  background: #ffffff;
  cursor: default;
  touch-action: none;
  transform-origin: center center;
  will-change: transform;
}

.lo-cms-lightbox__close {
  position: absolute;
  top: 0.85rem;
  right: 0.95rem;
  width: 2.4rem;
  height: 2.4rem;
  border: none;
  border-radius: 999px;
  background: #ffffff;
  color: #1a2925;
  font-size: 1.45rem;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.2);
}

.lo-cms-lightbox__close:hover {
  background: var(--lo-orange);
  color: #ffffff;
}

/* Légendes sous images dossiers/articles : retirées (contenu + affichage) */
.lo-cms-figure figcaption {
  display: none;
}

.lo-blog-post__toc {
  background-color: var(--lo-green-soft);
  border: 1px solid var(--lo-green-border);
  border-radius: 10px;
  padding: 1.15rem 1.4rem;
  margin: 1.5rem 0 2rem;
}

.lo-blog-post__toc strong {
  display: block;
  color: var(--lo-green);
  font-size: 1.02rem;
  margin-bottom: 0.55rem;
}

.lo-blog-post__toc ol {
  margin: 0;
  padding-left: 1.25rem;
}

.lo-blog-post__toc li {
  margin: 0.3rem 0;
}

.lo-blog-post__toc a {
  color: var(--lo-text);
  text-decoration: none;
  font-weight: 600;
}

.lo-blog-post__toc a:hover {
  color: var(--lo-green);
  text-decoration: underline;
}

.lo-key {
  background-color: var(--lo-green-soft);
  border-left: 4px solid var(--lo-green);
  border-radius: 0 10px 10px 0;
  padding: 1.2rem 1.4rem;
  margin: 1.75rem 0;
}

.lo-key ul {
  margin-bottom: 0;
}

/* FAQ Accordéons natifs <details> */
.lo-cms-faq {
  border: 1px solid var(--lo-green-border);
  border-radius: 8px;
  background-color: #ffffff;
  margin: 0.65rem 0;
  padding: 0 1.15rem;
}

.lo-cms-faq summary {
  cursor: pointer;
  font-weight: 700;
  color: #1a2925;
  padding: 0.9rem 1.8rem 0.9rem 0;
  list-style: none;
  position: relative;
}

.lo-cms-faq summary::-webkit-details-marker {
  display: none;
}

.lo-cms-faq summary::after {
  content: '+';
  position: absolute;
  right: 0;
  top: 0.65rem;
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--lo-green);
}

.lo-cms-faq[open] summary::after {
  content: '−';
}

.lo-cms-faq__body {
  padding-bottom: 0.95rem;
  border-top: 1px solid #edf3f1;
  padding-top: 0.75rem;
}

/* Vidéos dans les dossiers et articles */
.lo-cms-video {
  margin: 1.75rem 0;
  border-radius: 10px;
  overflow: hidden;
  background: #000;
}

.lo-cms-video video,
.lo-cms-video iframe {
  width: 100%;
  display: block;
  aspect-ratio: 16 / 9;
  border: 0;
}

/* Cartes Produits associés en bas d'article / fiche ingrédient */
.lo-cms-products {
  margin-top: 3rem;
  padding-top: 1.75rem;
  border-top: 2px solid var(--lo-green-border);
}

.lo-cms-products__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
  gap: 1.2rem;
  margin-top: 1rem;
}

.lo-cms-product-card {
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border: 1px solid #dce8e4;
  border-radius: 10px;
  padding: 1rem;
  text-decoration: none;
  color: var(--lo-text);
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.lo-cms-product-card:hover {
  transform: translateY(-2px);
  border-color: var(--lo-green);
  box-shadow: 0 8px 22px rgba(46, 107, 94, 0.12);
}

.lo-cms-product-card img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  margin-bottom: 0.75rem;
  border-radius: 6px;
}

.lo-cms-product-card__title {
  font-weight: 800;
  font-size: 1rem;
  color: #1a2925;
  margin-bottom: 0.35rem;
}

.lo-cms-product-card__desc {
  font-size: 0.85rem;
  color: #5f6f69;
  line-height: 1.45;
  flex: 1;
  margin-bottom: 0.85rem;
}

.lo-cms-product-card__btn {
  display: block;
  text-align: center;
  background-color: var(--lo-green);
  color: #ffffff;
  font-weight: 700;
  font-size: 0.88rem;
  padding: 0.5rem 0.75rem;
  border-radius: 6px;
  transition: background-color 0.15s ease;
}

.lo-cms-product-card:hover .lo-cms-product-card__btn {
  background-color: var(--lo-green-fade);
}

/* Articles liés « À lire aussi » */
.lo-blog-related {
  margin-top: 2.75rem;
  padding-top: 1.5rem;
  border-top: 1px solid #e2ece9;
}

.lo-blog-related__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 1.15rem;
  margin-top: 1rem;
}

.lo-blog-related-card {
  display: flex;
  flex-direction: column;
  background: var(--lo-bg-soft);
  border: 1px solid #dce8e4;
  border-radius: 10px;
  overflow: hidden;
  text-decoration: none;
  color: var(--lo-text);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.lo-blog-related-card:hover {
  border-color: var(--lo-green);
  box-shadow: 0 6px 18px rgba(46, 107, 94, 0.1);
}

.lo-blog-related-card img {
  width: 100%;
  height: 145px;
  object-fit: cover;
}

.lo-blog-related-card__title {
  padding: 0.85rem 1rem;
  font-weight: 700;
  font-size: 0.95rem;
  color: #1a2925;
}

/* Grilles de la page Catégorie CMS (Dossiers thématiques & Ingrédients) */
.lo-cms-hub__intro {
  background: #f4f9f7;
  border-left: 4px solid var(--lo-green);
  border-radius: 0 8px 8px 0;
  padding: 1rem 1.35rem;
}

.lo-cms-hub__lead {
  margin: 0;
  font-size: 1rem;
  line-height: 1.6;
  color: #263833;
}

.lo-cms-section-head {
  padding-bottom: 0.25rem;
}

.lo-cms-section-title {
  font-size: 1.35rem;
  font-weight: 800;
  color: #1a2925;
  border-left: 4px solid var(--lo-green);
  padding-left: 0.75rem;
}

.lo-cms-section-title--guides {
  border-left-color: var(--lo-orange);
}

.lo-cms-section-subtitle {
  font-size: 0.94rem;
  color: #596560;
  padding-left: 1rem;
}

.lo-cms-cat-grid,
.lo-cms-articles-grid,
.lo-cms-subcats__grid,
.lo-cms-pages__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 1.25rem;
}

/* Grille harmonieuse 3×3 sur PC, 2 colonnes sur tablette, 1 colonne sur mobile pour les 9 rubriques */
.lo-cms-subcats__grid--3cols {
  grid-template-columns: 1fr;
}

/* Grille 2×2 sur tablette/PC ou 4 colonnes sur grand écran pour les 4 guides pratiques */
.lo-cms-pages__grid--guides {
  grid-template-columns: 1fr;
}

@media (min-width: 640px) {
  .lo-cms-subcats__grid--3cols,
  .lo-cms-pages__grid--guides {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 992px) {
  .lo-cms-subcats__grid--3cols {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (min-width: 1200px) {
  .lo-cms-pages__grid--guides {
    grid-template-columns: repeat(4, 1fr);
  }
}

.lo-cms-cat-card,
.lo-cms-article-card,
.lo-cms-subcat-card,
.lo-cms-page-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: #ffffff;
  border: 1px solid #d8e6e2;
  border-top: 3px solid var(--lo-green);
  border-radius: 10px;
  padding: 1.3rem 1.4rem;
  text-decoration: none;
  color: var(--lo-text);
  height: 100%;
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.lo-cms-page-card--guide {
  background: #fffdfb;
  border-color: #f3dfd3;
  border-top: 3px solid var(--lo-orange);
}

.lo-cms-cat-card:hover,
.lo-cms-article-card:hover,
.lo-cms-subcat-card:hover,
.lo-cms-page-card:hover {
  transform: translateY(-2px);
  border-color: var(--lo-green);
  box-shadow: 0 8px 20px rgba(46, 107, 94, 0.12);
}

.lo-cms-page-card--guide:hover {
  border-color: var(--lo-orange);
  box-shadow: 0 8px 20px rgba(242, 121, 61, 0.14);
}

.lo-cms-subcat-card__badge,
.lo-cms-page-card__badge {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  margin-bottom: 0.55rem;
}

.lo-cms-subcat-card__badge {
  background: #eef5f3;
  color: var(--lo-green);
}

.lo-cms-page-card__badge {
  background: #fef1ea;
  color: #c8561b;
}

.lo-cms-cat-card__title,
.lo-cms-article-card__title,
.lo-cms-subcat-card__title,
.lo-cms-page-card__title {
  font-weight: 800;
  font-size: 1.06rem;
  line-height: 1.35;
  color: #1a2925;
  margin: 0 0 0.5rem 0;
}

.lo-cms-cat-card__desc,
.lo-cms-article-card__desc,
.lo-cms-subcat-card__desc,
.lo-cms-page-card__desc {
  font-size: 0.9rem;
  color: #596560;
  line-height: 1.5;
  margin-bottom: 1rem;
  flex: 1;
}

.lo-cms-cat-card__cta,
.lo-cms-article-card__read,
.lo-cms-subcat-card__cta,
.lo-cms-page-card__btn {
  display: inline-flex;
  align-items: center;
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--lo-green);
  margin-top: auto;
}

.lo-cms-page-card--guide .lo-cms-page-card__btn {
  color: #c8561b;
}

/* ==========================================================================
   Encadré d'aperçu visuel en haut des Dossiers thématiques (#40, #44..#56)
   ========================================================================== */
.lo-dossier-overview {
  background: linear-gradient(135deg, #f4f9f7 0%, #ffffff 100%);
  border: 1px solid #cde0da;
  border-left: 5px solid var(--lo-green);
  border-radius: 12px;
  padding: 1.35rem 1.5rem;
  margin-bottom: 2rem;
  box-shadow: 0 4px 14px rgba(46, 107, 94, 0.06);
}

.lo-dossier-overview__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 1rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid #e2eee9;
}

.lo-dossier-overview__title-wrap {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.6rem;
}

.lo-dossier-overview__badge {
  display: inline-flex;
  align-items: center;
  background: var(--lo-green);
  color: #ffffff;
  font-size: 0.76rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 0.28rem 0.7rem;
  border-radius: 999px;
}

.lo-dossier-overview__title {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  font-size: 1.12rem !important;
  font-weight: 800 !important;
  color: #1a2925 !important;
}

.lo-dossier-overview__catlink {
  display: inline-flex;
  align-items: center;
  font-size: 0.86rem;
  font-weight: 700;
  color: #c8561b !important;
  background: #fef1ea;
  border: 1px solid #f7d5c2;
  padding: 0.35rem 0.85rem;
  border-radius: 999px;
  text-decoration: none !important;
  transition: background-color 0.15s ease, transform 0.15s ease;
}

.lo-dossier-overview__catlink:hover {
  background: var(--lo-orange);
  color: #ffffff !important;
  border-color: var(--lo-orange);
  transform: translateY(-1px);
}

.lo-dossier-overview__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(235px, 1fr));
  gap: 0.7rem;
}

.lo-dossier-overview__item {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  background: #ffffff;
  border: 1px solid #dce8e4;
  border-radius: 8px;
  padding: 0.5rem 0.7rem;
  text-decoration: none !important;
  color: #1a2925 !important;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.lo-dossier-overview__item:hover {
  border-color: var(--lo-green);
  box-shadow: 0 4px 12px rgba(46, 107, 94, 0.12);
  transform: translateY(-1px);
}

.lo-dossier-overview__thumb {
  width: 46px;
  height: 46px;
  min-width: 46px;
  border-radius: 6px;
  object-fit: contain;
  object-position: center;
  background-color: #ffffff;
  border: 1px solid #e6efec;
  margin: 0 !important;
  padding: 2px;
}

.lo-dossier-overview__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  min-width: 28px;
  border-radius: 50%;
  background: #eef5f3;
  color: var(--lo-green);
  font-size: 0.78rem;
  font-weight: 800;
}

.lo-dossier-overview__label {
  font-size: 0.88rem;
  font-weight: 700;
  line-height: 1.28;
  color: #1a2925;
  flex: 1;
}

.lo-dossier-overview__arrow {
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--lo-green);
  opacity: 0.75;
}

.lo-dossier-overview__item:hover .lo-dossier-overview__arrow {
  opacity: 1;
}

/* ==========================================================================
   Page Liste des Ingrédients (#10 FR & DE) — Présentation compacte en grille
   ========================================================================== */
.page-cms-10 .lo-cms-page-wrap {
  max-width: 1240px;
}

.lo-ingredients-intro {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  align-items: center;
  background: var(--lo-bg-soft);
  border: 1px solid #dce8e4;
  border-radius: 12px;
  padding: 1.4rem 1.6rem;
  margin-bottom: 1.75rem;
}

@media (min-width: 768px) {
  .lo-ingredients-intro {
    grid-template-columns: 280px 1fr;
    gap: 1.75rem;
  }
}

.lo-ingredients-intro__figure {
  margin: 0 !important;
  max-width: 100% !important;
}

.lo-ingredients-intro__figure img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  border-radius: 10px;
  border: 1px solid #cde0da;
  display: block;
}

.lo-ingredients-intro__text h2 {
  margin-top: 0 !important;
  margin-bottom: 0.65rem !important;
  font-size: clamp(1.2rem, 2vw, 1.5rem) !important;
  border-bottom: 2px solid var(--lo-green-border);
  padding-bottom: 0.4rem;
}

.lo-ingredients-intro__text p {
  font-size: 0.96rem;
  line-height: 1.62;
  margin-bottom: 0.65rem;
}

.lo-ingredients-intro__text p:last-child {
  margin-bottom: 0;
}

.lo-ingredients-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
  margin-top: 1.5rem;
}

@media (min-width: 576px) {
  .lo-ingredients-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 992px) {
  .lo-ingredients-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (min-width: 1200px) {
  .lo-ingredients-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

.lo-ingredient-card {
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border: 1px solid #dce8e4;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 3px 12px rgba(26, 41, 37, 0.05);
  scroll-margin-top: 115px;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.lo-ingredient-card:hover {
  transform: translateY(-3px);
  border-color: var(--lo-green);
  box-shadow: 0 8px 22px rgba(46, 107, 94, 0.12);
}

.lo-ingredient-card__img-link {
  display: block;
  overflow: hidden;
  background-color: #f4f8f7;
}

.lo-ingredient-card__img {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 2;
  height: 175px;
  object-fit: cover;
  transition: transform 0.25s ease;
}

.lo-ingredient-card:hover .lo-ingredient-card__img {
  transform: scale(1.03);
}

.lo-ingredient-card__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 1rem 1.15rem 1.15rem;
}

.lo-ingredient-card__title {
  margin: 0 0 0.45rem !important;
  font-size: 1.05rem !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  color: #1a2925 !important;
}

.lo-ingredient-card__title a {
  color: inherit !important;
  text-decoration: none !important;
}

.lo-ingredient-card__title a:hover {
  color: var(--lo-green) !important;
}

.lo-ingredient-card__desc {
  font-size: 0.89rem;
  line-height: 1.52;
  color: #4a5752;
  margin: 0 0 1rem;
  flex: 1;
}

.lo-ingredient-card__btn {
  align-self: flex-start;
  font-size: 0.86rem;
  font-weight: 700;
  padding: 0.42rem 0.95rem;
  border-radius: 6px;
}

/* ==========================================================================
   Fiches Produits — Colonne Description 100 % pleine largeur (PC & Mobile)
   ========================================================================== */
.page-product .product__bottom {
  display: block !important;
  grid-template-columns: 1fr !important;
  width: 100%;
  max-width: 100%;
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
}

.page-product .product__bottom-right {
  display: none !important;
}

.page-product .product__bottom-left {
  width: 100%;
  max-width: 100%;
}

.page-product #product_accordion {
  background: #ffffff;
  border: 1px solid #dce8e4;
  border-radius: 12px;
  box-shadow: 0 4px 18px rgba(46, 107, 94, 0.05);
  overflow: hidden;
}

.page-product #product_accordion .accordion-button {
  font-size: 1.2rem;
  font-weight: 800;
  color: var(--lo-green);
  background-color: var(--lo-green-soft);
  padding: 1.1rem 1.75rem;
}

.page-product #product_accordion .accordion-button:not(.collapsed) {
  color: var(--lo-green);
  background-color: var(--lo-green-soft);
  box-shadow: inset 0 -1px 0 var(--lo-green-border);
}

.page-product #product_description_collapse .accordion-body {
  padding: 2rem 2.25rem !important;
  font-size: 1.02rem;
  line-height: 1.75;
  color: var(--lo-text);
}

.page-product .product__description h2,
.page-product .product__description h3,
.page-product .product__description h4 {
  color: var(--lo-green);
  font-weight: 800;
  margin-top: 1.6rem;
  margin-bottom: 0.75rem;
}

.page-product .product__description h2:first-child,
.page-product .product__description h3:first-child {
  margin-top: 0;
}

.page-product .product__description ul,
.page-product .product__description ol {
  padding-left: 1.4rem;
  margin-bottom: 1.15rem;
}

.page-product .product__description li {
  margin-bottom: 0.4rem;
}

.page-product .product__description img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}

.page-product .product__description table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.25rem 0;
}

@media (max-width: 767.98px) {
  .page-product .product__bottom {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
  }

  .page-product #product_accordion .accordion-button {
    font-size: 1.08rem;
    padding: 0.9rem 1.15rem;
  }

  .page-product #product_description_collapse .accordion-body {
    padding: 1.15rem 1.1rem !important;
    font-size: 0.96rem;
    line-height: 1.65;
  }
}

/* ==========================================================================
   Accueil — navigation rapide (rail fixe gauche + toggle mobile)
   ========================================================================== */

/* Bouton flottant mobile (masqué ≥ 992px) */
.lo-home-jump-toggle {
  display: none;
  position: fixed;
  left: 12px;
  bottom: 18px;
  z-index: 1040;
  align-items: center;
  gap: 0.4rem;
  padding: 0.55rem 0.85rem 0.55rem 0.65rem;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, #2e6b5e 0%, #235349 100%);
  color: #ffffff;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  box-shadow: 0 8px 20px rgba(46, 107, 94, 0.35);
  cursor: pointer;
}

.lo-home-jump-toggle__bars,
.lo-dossier-tree-toggle__bars {
  font-family: "Material Icons";
  font-weight: normal;
  font-style: normal;
  font-size: 1.35rem;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  width: 1.35rem;
  height: 1.35rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: none;
}

.lo-home-jump {
  /* Largeur calée sur le plus long libellé FR/DE : « Google-Bewertungen » */
  --lo-jump-width: 190px;
  position: fixed;
  top: 50%;
  left: 10px;
  transform: translateY(-50%);
  z-index: 1035;
  width: var(--lo-jump-width);
  max-height: calc(100vh - 140px);
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  margin: 0;
  padding: 0.7rem 0.45rem 0.75rem;
  border-radius: 18px;
  border: 1px solid #c5dcd6;
  background:
    radial-gradient(120% 140% at 0% 0%, rgba(245, 184, 146, 0.28) 0%, transparent 45%),
    radial-gradient(100% 120% at 100% 100%, rgba(46, 107, 94, 0.12) 0%, transparent 50%),
    linear-gradient(180deg, #f7fbf9 0%, #eef5f3 55%, #fff8f2 100%);
  box-shadow: 0 10px 28px rgba(46, 107, 94, 0.14);
  overflow: hidden;
}

.lo-home-jump::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, #f5b892 0%, #2e6b5e 100%);
  border-radius: 18px 0 0 18px;
}

.lo-home-jump__label {
  margin: 0;
  padding: 0 0.2rem;
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #2e6b5e;
  text-align: center;
  line-height: 1.25;
}

.lo-home-jump__scroller {
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: #f5b892 transparent;
  padding: 0.1rem 0.1rem 0.2rem;
}

.lo-home-jump__scroller::-webkit-scrollbar {
  width: 3px;
}

.lo-home-jump__scroller::-webkit-scrollbar-thumb {
  background: #f5b892;
  border-radius: 999px;
}

.lo-home-jump__list {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 0.38rem;
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
}

.lo-home-jump__link {
  --lo-jump-accent: #2e6b5e;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  width: 100%;
  padding: 0.38rem 0.45rem 0.38rem 0.35rem;
  border-radius: 999px;
  border: 1.5px solid color-mix(in srgb, var(--lo-jump-accent) 35%, #ffffff);
  background: #ffffff;
  color: #1a2925 !important;
  font-size: 0.72rem;
  font-weight: 700;
  text-decoration: none !important;
  line-height: 1.15;
  white-space: nowrap;
  box-shadow: 0 2px 0 color-mix(in srgb, var(--lo-jump-accent) 22%, transparent);
  transform: translateX(0) rotate(0deg);
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    background-color 0.18s ease,
    border-color 0.18s ease,
    color 0.18s ease;
}

.lo-home-jump__link--leaf { --lo-jump-accent: #2e6b5e; }
.lo-home-jump__link--lab { --lo-jump-accent: #393d59; }
.lo-home-jump__link--mint { --lo-jump-accent: #4a8f7f; }
.lo-home-jump__link--orange { --lo-jump-accent: #f2793d; }

.lo-home-jump__ico {
  width: 0.95rem;
  height: 0.95rem;
  border-radius: 50%;
  flex: 0 0 auto;
  background:
    radial-gradient(circle at 35% 35%, #ffffff 0 28%, transparent 30%),
    linear-gradient(145deg, color-mix(in srgb, var(--lo-jump-accent) 70%, #ffffff), var(--lo-jump-accent));
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.35);
}

.lo-home-jump__txt {
  overflow: visible;
  text-overflow: clip;
  white-space: nowrap;
}

.lo-home-jump__list > li:nth-child(odd) .lo-home-jump__link {
  transform: rotate(-0.5deg);
}

.lo-home-jump__list > li:nth-child(even) .lo-home-jump__link {
  transform: rotate(0.6deg);
}

.lo-home-jump__link:hover,
.lo-home-jump__link:focus {
  transform: translateX(3px) rotate(0deg) scale(1.03);
  border-color: var(--lo-jump-accent);
  color: var(--lo-jump-accent) !important;
  background: color-mix(in srgb, var(--lo-jump-accent) 10%, #ffffff);
  box-shadow:
    0 6px 14px color-mix(in srgb, var(--lo-jump-accent) 22%, transparent),
    0 2px 0 color-mix(in srgb, var(--lo-jump-accent) 35%, transparent);
}

.lo-home-jump__link:active {
  transform: translateX(1px) scale(0.98);
}

@keyframes lo-jump-in {
  from {
    opacity: 0;
    transform: translateX(-8px) scale(0.92);
  }
  to {
    opacity: 1;
    transform: translateX(0) scale(1);
  }
}

.lo-home-jump__list > li {
  animation: lo-jump-in 0.42s ease both;
}

.lo-home-jump__list > li:nth-child(1) { animation-delay: 0.02s; }
.lo-home-jump__list > li:nth-child(2) { animation-delay: 0.05s; }
.lo-home-jump__list > li:nth-child(3) { animation-delay: 0.08s; }
.lo-home-jump__list > li:nth-child(4) { animation-delay: 0.11s; }
.lo-home-jump__list > li:nth-child(5) { animation-delay: 0.14s; }
.lo-home-jump__list > li:nth-child(6) { animation-delay: 0.17s; }
.lo-home-jump__list > li:nth-child(7) { animation-delay: 0.2s; }
.lo-home-jump__list > li:nth-child(8) { animation-delay: 0.23s; }
.lo-home-jump__list > li:nth-child(9) { animation-delay: 0.26s; }

/* Desktop / PC : navigation rapide masquée (rail + bouton) */
@media (min-width: 992px) {
  .lo-home-jump,
  .lo-home-jump-toggle {
    display: none !important;
  }
}

/* Mobile / tablette : panneau masqué par défaut + toggle */
@media (max-width: 991.98px) {
  .lo-home-jump-toggle {
    display: inline-flex;
  }

  .lo-home-jump {
    top: auto;
    bottom: 68px;
    left: 12px;
    width: min(78vw, 220px);
    max-height: min(70vh, 420px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(12px) scale(0.96);
    transition:
      opacity 0.2s ease,
      transform 0.2s ease,
      visibility 0.2s ease;
  }

  body.lo-home-jump-open .lo-home-jump {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0) scale(1);
  }

  body.lo-home-jump-open .lo-home-jump-toggle {
    background: linear-gradient(135deg, #f2793d 0%, #d9652b 100%);
  }

  /* Pastille cookies en bas : le bouton et le panneau ouvert passent au-dessus. */
  body:has(#lo-privacy-reopen:not(.is-closed)) .lo-home-jump-toggle {
    bottom: 56px;
  }

  body:has(#lo-privacy-reopen:not(.is-closed)) .lo-home-jump {
    bottom: 110px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .lo-home-jump__list > li {
    animation: none;
  }

  .lo-home-jump__link,
  .lo-home-jump__link:hover,
  .lo-home-jump__link:focus,
  .lo-home-jump {
    transition: none;
    transform: none;
  }
}

html.lo-home-smooth-scroll {
  scroll-behavior: smooth;
}

/* ==========================================================================
   Dossiers thématiques — arborescence flottante (style PS01, floating)
   ========================================================================== */
.lo-dossier-tree-toggle {
  display: none;
  position: fixed;
  left: 12px;
  bottom: 18px;
  z-index: 1040;
  align-items: center;
  gap: 0.4rem;
  padding: 0.55rem 0.85rem 0.55rem 0.65rem;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, #2e6b5e 0%, #235349 100%);
  color: #ffffff;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  box-shadow: 0 8px 20px rgba(46, 107, 94, 0.35);
  cursor: pointer;
}


.lo-dossier-tree {
  --lo-tree-width: 260px;
  position: fixed;
  top: 50%;
  left: 10px;
  transform: translateY(-50%);
  z-index: 1035;
  width: var(--lo-tree-width);
  max-width: min(720px, 55vw);
  max-height: calc(100vh - 140px);
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  margin: 0;
  padding: 0.65rem 0.4rem 0.7rem;
  border-radius: 16px;
  border: 1px solid #c5dcd6;
  background:
    radial-gradient(120% 140% at 0% 0%, rgba(245, 184, 146, 0.22) 0%, transparent 45%),
    linear-gradient(180deg, #ffffff 0%, #f7fbf9 100%);
  box-shadow: 0 10px 28px rgba(46, 107, 94, 0.14);
  overflow: hidden;
  transition:
    width 0.22s ease,
    box-shadow 0.22s ease;
}

/* Mesure JS : largeur intrinsèque du texte visible (details fermés exclus du flux). */
.lo-dossier-tree.is-measuring {
  width: max-content !important;
  max-width: none !important;
  transition: none !important;
}

.lo-dossier-tree.is-measuring .n-row {
  max-width: none;
}

.lo-dossier-tree__label {
  margin: 0;
  padding: 0 0.35rem;
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #2e6b5e;
  text-align: center;
}

.lo-dossier-tree__scroller {
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: #f5b892 transparent;
  padding: 0.1rem 0.15rem 0.25rem;
}

.lo-dossier-tree__wrap {
  font-family: Georgia, "Times New Roman", Times, serif;
  font-size: 13px;
  color: #111;
  line-height: 1.35;
}

.lo-dossier-tree .n-row {
  display: flex;
  align-items: center;
  gap: 6px;
  width: max-content;
  max-width: 100%;
  padding: 5px 8px;
  border-radius: 6px;
  user-select: none;
  list-style: none;
}

.lo-dossier-tree .n-row:hover {
  background: #eef5f3;
}

.lo-dossier-tree .tog {
  display: inline-block;
  width: 14px;
  min-width: 14px;
  min-height: 1em;
  flex-shrink: 0;
  font-size: 9px;
  color: #333;
  text-align: center;
  line-height: 1.2;
  position: relative;
}

.lo-dossier-tree .n-outer .n-row .tog:empty {
  visibility: hidden;
}

.lo-dossier-tree .d-node > .d-sum .tog:empty::before {
  content: "▶";
  position: absolute;
  left: 0;
  right: 0;
}

.lo-dossier-tree .d-node[open] > .d-sum .tog:empty::before {
  content: "▼";
}

.lo-dossier-tree .dot {
  width: 8px;
  height: 8px;
  min-width: 8px;
  min-height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}

.lo-dossier-tree .lbl {
  display: block;
  font-size: 12.5px;
  flex: 0 1 auto;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: clip;
  color: inherit;
  text-decoration: none !important;
}

.lo-dossier-tree.is-measuring .lbl {
  overflow: visible;
  flex: 0 0 auto;
}

/* Plafond atteint : wrap pour garder la phrase entière lisible. */
.lo-dossier-tree.is-capped .n-row {
  width: auto;
  max-width: 100%;
}

.lo-dossier-tree.is-capped .lbl {
  white-space: normal;
  overflow: visible;
  text-overflow: unset;
  word-break: break-word;
  flex: 1 1 auto;
}

.lo-dossier-tree a.lbl:hover {
  text-decoration: underline !important;
  color: #2e6b5e !important;
}

.lo-dossier-tree .d1 { background: #7f77dd; }
.lo-dossier-tree .d2 { background: #1d9e75; }
.lo-dossier-tree .d3 { background: #888780; }
.lo-dossier-tree .r1 .lbl { font-size: 14px; font-weight: 600; }
.lo-dossier-tree .r2 .lbl { font-weight: 600; }

.lo-dossier-tree .kids {
  padding-left: 12px;
  border-left: 0.5px solid #c5dcd6;
  margin-left: 11px;
}

.lo-dossier-tree .d-node { margin: 0; }
.lo-dossier-tree .d-sum {
  display: block;
  list-style: none;
  cursor: pointer;
  outline: none;
}
.lo-dossier-tree .d-sum::-webkit-details-marker { display: none; }
.lo-dossier-tree .d-sum::marker { content: ""; font-size: 0; }

@media (min-width: 992px) {
  /* Padding = largeur rail dynamique (JS) + marge ; le contenu est poussé, jamais masqué. */
  body.lo-dossier-tree-page {
    --lo-tree-width: 260px;
  }

  body.lo-dossier-tree-page #wrapper {
    padding-left: calc(var(--lo-tree-width) + 20px);
    transition: padding-left 0.22s ease;
  }

  .lo-dossier-tree-toggle {
    display: none !important;
  }
}

@media (max-width: 991.98px) {
  .lo-dossier-tree-toggle {
    display: inline-flex;
  }

  .lo-dossier-tree {
    top: auto;
    bottom: 68px;
    left: 12px;
    width: min(86vw, 320px);
    max-width: min(86vw, 320px);
    max-height: min(70vh, 480px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(12px) scale(0.96);
    transition:
      opacity 0.2s ease,
      transform 0.2s ease,
      visibility 0.2s ease;
  }

  .lo-dossier-tree .n-row {
    width: auto;
    max-width: 100%;
  }

  /* Panneau mobile : wrap (pas de rail dynamique). */
  .lo-dossier-tree .lbl {
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
    word-break: break-word;
    flex: 1 1 auto;
  }

  body.lo-dossier-tree-open .lo-dossier-tree {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0) scale(1);
  }

  body.lo-dossier-tree-open .lo-dossier-tree-toggle {
    background: linear-gradient(135deg, #f2793d 0%, #d9652b 100%);
  }

  body:has(#lo-privacy-reopen:not(.is-closed)) .lo-dossier-tree-toggle {
    bottom: 56px;
  }

  body:has(#lo-privacy-reopen:not(.is-closed)) .lo-dossier-tree {
    bottom: 110px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .lo-dossier-tree,
  body.lo-dossier-tree-page #wrapper {
    transition: none;
  }
}

#home-marque-1,
#home-labonova,
#home-equilibrium,
#home-laboratoire,
#home-avis-google,
#home-dossiers,
#home-newsletter,
#home-ingredients,
#home-contact {
  scroll-margin-top: 110px;
}

/* ==========================================================================
   Carrousel Bannières d'Accueil (PC 1640×250 / Mobile 480×320)
   PC : ratio natif Canva (pas de hauteur forcée / cover) pour ne rien couper.
   ========================================================================== */
.lo-homeslider {
  margin-top: 1.25rem; /* inchangé — marge menu → slider (validée) */
  margin-bottom: 0; /* avant : 0.5rem — écart bas géré via brands-wrapper */
}

/* ==========================================================================
   Cheval au galop — traversée avec fondu
   ========================================================================== */
.lo-home-gallop {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  margin: 0.35rem auto 0.15rem;
  padding: 0;
  min-height: 52px;
  pointer-events: none;
  user-select: none;
}

.lo-home-gallop__svg {
  overflow: hidden;
  -webkit-mask-image: linear-gradient(to right, transparent, #000 9%, #000 91%, transparent);
  mask-image: linear-gradient(to right, transparent, #000 9%, #000 91%, transparent);
}

@media (prefers-reduced-motion: no-preference) {
  .lo-home-gallop__motion {
    display: inline;
  }

  .lo-home-gallop__still {
    display: none;
  }
}

/* Galop sur place (ex-corrige) — page CMS #10 Liste des ingrédients */
.lo-home-gallop-inplace__svg {
  display: block;
  width: 110px;
  max-width: 100%;
  height: auto;
}

.lo-home-gallop-inplace {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  margin: 0.25rem auto 0.85rem;
  padding: 0;
  min-height: 52px;
  pointer-events: none;
  user-select: none;
}

@media (prefers-reduced-motion: no-preference) {
  .lo-home-gallop-inplace__motion {
    display: inline;
  }

  .lo-home-gallop-inplace__still {
    display: none;
  }
}

/* Cheval galop → tuile marque #1 : coller sans my-5 Bootstrap */
body#index .lo-home-brands-wrapper,
body.page-index .lo-home-brands-wrapper,
.page-content--home .lo-home-brands-wrapper.container,
.page-content--home .lo-home-brands-wrapper {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* ==========================================================================
   Catégorie #3 Soins des sabots — cheval jump sous la tuile héro
   ========================================================================== */
.lo-home-horse-jump {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  margin: 0.15rem auto 0.1rem; /* compact : peu d'air avant/après */
  padding: 0;
  min-height: 52px; /* même empreinte verticale que le jump accueil */
  pointer-events: none;
  user-select: none;
  overflow: visible;
}

.lo-home-horse-jump__svg {
  display: block;
  width: 180px !important;
  min-width: 180px;
  max-width: 180px !important;
  height: auto;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(
    to right,
    transparent 0%,
    #000 8%,
    #000 96%,
    transparent 100%
  );
  mask-image: linear-gradient(
    to right,
    transparent 0%,
    #000 8%,
    #000 96%,
    transparent 100%
  );
}

@media (prefers-reduced-motion: no-preference) {
  .lo-home-horse-jump__motion,
  .lo-home-horse-jump__shadow {
    display: inline;
  }

  .lo-home-horse-jump__still {
    display: none;
  }
}

/* Inter-marque déjà porté par .mb-5 sur #home-marque-1 (= 3rem) */

/* Mobile < 768px : borné à 480px centré (comme PS01 content_width=500) pour ne jamais étirer au-delà du ratio natif 480×320 */
@media (max-width: 767.98px) {
  .lo-homeslider {
    max-width: 480px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }

  .lo-homeslider .carousel,
  .lo-homeslider .carousel-inner,
  .lo-homeslider .carousel-item,
  .lo-homeslider .ps-imageslider__figure,
  .lo-homeslider .ps-imageslider__link {
    height: auto;
  }

  .lo-homeslider__img {
    width: 100%;
    height: auto !important;
    aspect-ratio: 480 / 320;
    object-fit: contain;
    object-position: center;
  }
}

/* Masquage sécurité des flèches < > sur le slider accueil (navigation = dots comme PS01) */
.lo-homeslider .carousel-control-prev,
.lo-homeslider .carousel-control-next {
  display: none !important;
}

/* PC ≥ 768px : cadre = ratio Canva 1640×250 (hauteur auto), max 1640px centré */
@media (min-width: 768px) {
  .lo-homeslider {
    max-width: 1640px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }

  .lo-homeslider .carousel,
  .lo-homeslider .carousel-inner,
  .lo-homeslider .carousel-item,
  .lo-homeslider .ps-imageslider__figure,
  .lo-homeslider .ps-imageslider__link {
    height: auto;
  }

  .lo-homeslider__img {
    width: 100%;
    height: auto !important;
    aspect-ratio: 1640 / 250;
    object-fit: contain;
    object-position: center;
  }
}

.lo-homeslider .carousel {
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.06);
}

.lo-homeslider__img {
  display: block;
  width: 100%;
  height: auto !important;
  object-fit: contain;
}

/* Pastilles / traits du carrousel : orange clair au repos, vert sauge actif */
.lo-homeslider .carousel-indicators [data-bs-target] {
  background-color: #f5b892; /* orange terre cuite adouci (≈ #F2793D clair) */
  opacity: 0.85;
}

.lo-homeslider .carousel-indicators .active {
  background-color: var(--lo-green); /* #2E6B5E */
  opacity: 1;
}

/* ==========================================================================
   Harmonisation & Contraste des articles .labo-article (ex: #176)
   ========================================================================== */
.labo-article {
  --vert: #2e6b5e !important;
  --vert-fonce: #235349 !important;
  --vert-pale: #eef5f3 !important;
  --orange: #f2793d !important;
  --orange-2: #d9652b !important;
  --orange-pale: #fff6e8 !important;
  --gris: #596560 !important;
}

.labo-article .la-bouton,
.labo-article .la-bouton:hover,
.labo-article .la-bouton:focus {
  background-color: var(--lo-green) !important;
  color: #ffffff !important;
  border-bottom: 0 !important;
  text-decoration: none !important;
}

.labo-article .la-bouton:hover {
  background-color: var(--lo-green-fade) !important;
}

.labo-article .la-retenir {
  background-color: var(--lo-green) !important;
}

.labo-article .la-retenir span,
.labo-article .la-retenir p {
  color: #ffffff !important;
}

.labo-article .la-cta h4 {
  color: #c8541b !important;
}

/* ==========================================================================
   ACCUEIL — Avis Google (Elfsight) & Carrousel des Dossiers Thématiques
   ========================================================================== */
.lo-home-divider {
  border: 0;
  border-top: 2px solid var(--lo-green);
  opacity: 0.25;
  margin: 2rem auto;
}

.lo-home-reviews {
  min-height: 120px;
}

.lo-hblog {
  position: relative;
}

.lo-hblog__header {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 1.5rem;
}

.lo-hblog__heading {
  font-size: clamp(1.35rem, 2.2vw, 1.75rem);
  font-weight: 800;
  color: #1a2925;
  margin: 0;
}

.lo-hblog__all-link {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--lo-green);
  text-decoration: none;
  transition: color 0.15s ease;
}

.lo-hblog__all-link:hover {
  color: var(--lo-green-fade);
  text-decoration: underline;
}

.lo-hblog__viewport-wrap {
  position: relative;
  display: flex;
  align-items: center;
}

.lo-hblog__track {
  display: flex;
  gap: 1.25rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -ms-overflow-style: none;
  padding: 0.25rem 0.15rem 0.75rem;
  width: 100%;
}

.lo-hblog__track::-webkit-scrollbar {
  display: none;
}

.lo-hblog__slide {
  flex: 0 0 calc((100% - 2.5rem) / 3);
  max-width: calc((100% - 2.5rem) / 3);
  scroll-snap-align: start;
  display: flex;
}

@media (max-width: 991.98px) {
  .lo-hblog__slide {
    flex: 0 0 calc((100% - 1.25rem) / 2);
    max-width: calc((100% - 1.25rem) / 2);
  }
}

@media (max-width: 767.98px) {
  .lo-hblog__slide {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

.lo-hblog__card {
  display: flex;
  flex-direction: column;
  width: 100%;
  background: #ffffff;
  border: 1px solid #dce8e4;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.04);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.lo-hblog__card:hover {
  transform: translateY(-3px);
  border-color: var(--lo-green);
  box-shadow: 0 8px 22px rgba(46, 107, 94, 0.12);
}

.lo-hblog__img-link {
  display: block;
  overflow: hidden;
  background-color: var(--lo-bg-soft);
}

.lo-hblog__img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 2 / 1;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.lo-hblog__card:hover .lo-hblog__img {
  transform: scale(1.03);
}

.lo-hblog__body {
  padding: 1.15rem 1.25rem 0.75rem;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.lo-hblog__title {
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1.4;
  margin: 0 0 0.65rem;
}

.lo-hblog__title a {
  color: #1a2925;
  text-decoration: none;
  transition: color 0.15s ease;
}

.lo-hblog__title a:hover {
  color: var(--lo-green);
}

.lo-hblog__desc {
  font-size: 0.9rem;
  line-height: 1.58;
  color: #4a5752;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.lo-hblog__footer {
  padding: 0.75rem 1.25rem 1rem;
  margin-top: 0.5rem;
  border-top: 1px solid #edf3f1;
}

.lo-hblog__date {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.82rem;
  font-weight: 600;
  color: #596560;
}

.lo-hblog__cal-icon {
  color: var(--lo-green);
  flex-shrink: 0;
}

.lo-hblog__nav {
  position: absolute;
  top: 42%;
  transform: translateY(-50%);
  z-index: 5;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 1px solid var(--lo-green);
  background-color: var(--lo-green);
  color: #ffffff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  transition: background-color 0.15s ease, transform 0.15s ease;
}

.lo-hblog__nav:hover,
.lo-hblog__nav:focus {
  background-color: var(--lo-green-fade);
  border-color: var(--lo-green-fade);
  color: #ffffff;
  transform: translateY(-50%) scale(1.06);
}

.lo-hblog__nav--prev {
  left: -14px;
}

.lo-hblog__nav--next {
  right: -14px;
}

@media (max-width: 575.98px) {
  .lo-hblog__nav--prev {
    left: 4px;
  }
  .lo-hblog__nav--next {
    right: 4px;
  }
}

/* ==========================================================================
   FONDS DE PAGE — teinte VISIBLE (constat live 20h32) :
   les règles color-mix ~11–14 % ÉTAIENT appliquées sur body, mais le résultat
   (~#e2eae9 → blanc à 520px) était trop pâle pour être perçu.
   Approche forcée : hex explicites + !important + fond aussi sur #wrapper.
   ========================================================================== */
html {
  background-color: #eef5f3;
}

body#category,
body.page-category,
body#product,
body#cms,
body#contact,
body#module-ps_emailsubscription-account {
  min-height: 100vh;
  background-color: #eef5f3 !important;
  background-image: linear-gradient(
    180deg,
    #c5dcd6 0%,
    #eef5f3 320px,
    #f7faf9 720px,
    #ffffff 1100px
  ) !important;
  background-repeat: no-repeat !important;
  background-attachment: scroll !important;
}

/* Accueil : fond blanc uni (pas de wash sauge) */
body#index,
body.page-index {
  min-height: 100vh;
  background-color: #ffffff !important;
  background-image: none !important;
}

/* Catégories — teintes héros (sabots / crins / …) plus marquées */
body#category.category-id-3,
body.page-category.category-id-3 {
  background-color: #eef5f3 !important;
  background-image: linear-gradient(180deg, #b7d4cc 0%, #eef5f3 360px, #ffffff 1100px) !important;
}

body#category.category-id-4,
body.page-category.category-id-4 {
  background-color: #eef2ef !important;
  background-image: linear-gradient(180deg, #c5d0c9 0%, #eef2ef 360px, #ffffff 1100px) !important;
}

body#category.category-id-6,
body.page-category.category-id-6 {
  background-color: #eaf2f2 !important;
  background-image: linear-gradient(180deg, #b8cdcf 0%, #eaf2f2 360px, #ffffff 1100px) !important;
}

body#category.category-id-10,
body.page-category.category-id-10 {
  background-color: #f3f1ea !important;
  background-image: linear-gradient(180deg, #d4d0bc 0%, #f3f1ea 360px, #ffffff 1100px) !important;
}

body#category.category-id-11,
body.page-category.category-id-11 {
  background-color: #eef0f5 !important;
  background-image: linear-gradient(180deg, #c8cad8 0%, #eef0f5 360px, #ffffff 1100px) !important;
}

body#category.category-id-5,
body.page-category.category-id-5 {
  background-color: #eef2ef !important;
  background-image: linear-gradient(180deg, #c5d0c9 0%, #eef2ef 360px, #ffffff 1100px) !important;
}

/* Fiches produit */
body#product.product-id-category-3 {
  background-image: linear-gradient(180deg, #b7d4cc 0%, #eef5f3 360px, #ffffff 1100px) !important;
}
body#product.product-id-category-4 {
  background-image: linear-gradient(180deg, #c5d0c9 0%, #eef2ef 360px, #ffffff 1100px) !important;
}
body#product.product-id-category-6 {
  background-image: linear-gradient(180deg, #b8cdcf 0%, #eaf2f2 360px, #ffffff 1100px) !important;
}
body#product.product-id-category-10 {
  background-image: linear-gradient(180deg, #d4d0bc 0%, #f3f1ea 360px, #ffffff 1100px) !important;
}
body#product.product-id-category-11 {
  background-image: linear-gradient(180deg, #c8cad8 0%, #eef0f5 360px, #ffffff 1100px) !important;
}
body#product.product-id-category-5 {
  background-image: linear-gradient(180deg, #c5d0c9 0%, #eef2ef 360px, #ffffff 1100px) !important;
}

/* CMS dossiers */
body#cms.cms-id-40,
body#cms.cms-id-44,
body#cms.cms-id-45,
body#cms.cms-id-46,
body#cms.cms-id-47,
body#cms.cms-id-48,
body#cms.cms-id-49,
body#cms.cms-id-50,
body#cms.cms-id-51,
body#cms.cms-id-52,
body#cms.cms-id-53,
body#cms.cms-id-54,
body#cms.cms-id-55,
body#cms.cms-id-56 {
  background-image: linear-gradient(180deg, #b9d0d0 0%, #eef5f3 360px, #ffffff 1100px) !important;
}

body#cms.cms-id-10 {
  background-image: linear-gradient(180deg, #b7d4cc 0%, #eef5f3 360px, #ffffff 1100px) !important;
}

/* Hummingbird : #wrapper = <main> — forcer aussi le wash ici */
body#index #wrapper,
body#category #wrapper,
body.page-category #wrapper,
body#product #wrapper,
body#cms #wrapper,
body#contact #wrapper,
body#index #center-column,
body#category #center-column,
body.page-category #center-column,
body#product #center-column,
body#cms #center-column {
  background-color: transparent !important;
  background-image: none !important;
}

/* Fil d'Ariane Hummingbird (.breadcrumb__wrapper) :
   Cause du bandeau uniforme : on avait mis un 2e dégradé opaque (#c5dcd6→#eef5f3)
   qui MASQUAIT le wash body. Hummingbird/Bootstrap met aussi #f8f9fa.
   Correctif : transparence totale → le dégradé de page (body) passe au travers. */
nav.breadcrumb__wrapper,
.breadcrumb__wrapper {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}

/* Accueil : breadcrumb blanc (pas de transparence) */
body#index nav.breadcrumb__wrapper,
body#index .breadcrumb__wrapper,
body.page-index nav.breadcrumb__wrapper,
body.page-index .breadcrumb__wrapper {
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  border-bottom: 1px solid #e2ece9 !important;
}

/* Wrapper catégorie : plus de « carte blanche » qui masquait le fond */
.lo-category-showcase {
  border-radius: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  margin-bottom: 0;
}

.lo-category-showcase--labonova,
.lo-category-showcase--sabots,
.lo-category-showcase--crins,
.lo-category-showcase--massage,
.lo-category-showcase--animaux,
.lo-category-showcase--accessoires {
  background: transparent;
}

/* ==========================================================================
   BLOCS ÉDITORIAUX DES CATÉGORIES PRODUITS (intro + additional_description)
   Intro alignée sur `.lo-cat-seo` (typo, filet orange, largeur) — bas inchangé.
   ========================================================================== */
.category__description {
  font-size: 1.02rem;
  line-height: 1.65;
  color: var(--lo-text);
  margin-bottom: 1.25rem;
}

.category__description p:last-child {
  margin-bottom: 0;
}

.category__footer {
  margin-top: 2.5rem;
  padding-top: 2rem;
  border-top: 1px solid var(--lo-green-border);
}

/* Conteneur commun : même largeur / rythme que le bloc SEO */
.category__footer-editorial {
  max-width: 1140px;
  margin: 0 auto;
  color: var(--lo-text);
  font-size: 0.98rem;
  line-height: 1.72;
}

.category__footer-intro {
  margin-bottom: 0;
}

/* H1 calqué sur `.lo-cat-seo__h2` — !important pour battre
   Hummingbird `.page-title-section{font-size:clamp(...);font-weight:600}` */
body#category .category__footer-intro h1.page-title-section {
  margin-top: 0 !important;
  margin-bottom: 0.85rem !important;
  font-size: 1.42rem !important;
  font-weight: 900 !important;
  line-height: 1.3 !important;
  color: #1a1a1a !important;
}

/* Filet orange : classe `.lo-cat-seo__rule` réutilisée telle quelle */
body#category .category__footer-intro .lo-cat-seo__rule {
  display: block;
  width: 56px;
  height: 3px;
  background-color: var(--lo-orange);
  border: 0;
  opacity: 1;
  margin: 0 0 1.15rem;
}

/* Description courte = même registre que `.lo-cat-seo__lead` */
body#category .category__footer-intro .category__description,
body#category .category__footer-intro .category__description p {
  margin: 0 0 1rem;
  font-size: 1.06rem !important;
  line-height: 1.75 !important;
  color: #1a1a1a !important;
  font-weight: 400;
}

body#category .category__footer-intro .category__description {
  margin-bottom: 2rem;
}

body#category .category__footer-intro .category__description p:last-child {
  margin-bottom: 0;
}

body#category .category__footer-intro .category__description a {
  color: var(--lo-green);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}

body#category .category__footer-intro .category__description a:hover,
body#category .category__footer-intro .category__description a:focus {
  color: var(--lo-orange);
}

/* Enchaînement fluide intro → SEO (plus de « 2 cartes » séparées) */
.category__footer .category__additional-description {
  margin-top: 0;
}

.lo-cat-seo {
  color: var(--lo-text);
  font-size: 0.98rem;
  line-height: 1.72;
  max-width: 1140px;
  margin: 0 auto;
}

.lo-cat-seo__lead {
  margin: 0 0 1rem;
  font-size: 1.06rem;
  line-height: 1.75;
  color: #1a1a1a;
}

.lo-cat-seo__intro {
  margin: 0 0 2rem;
}

.lo-cat-seo__h2 {
  font-size: 1.42rem;
  font-weight: 900;
  line-height: 1.3;
  color: #1a1a1a;
  margin: 0 0 0.85rem;
}

.lo-cat-seo__rule {
  width: 56px;
  height: 3px;
  background-color: var(--lo-orange);
  border: 0;
  opacity: 1;
  margin: 0 0 1.15rem;
}

.lo-cat-seo__sub {
  margin: 0 0 1.75rem;
}

.lo-cat-seo__item {
  padding: 0 0 1.4rem;
  margin: 0 0 1.4rem;
  border-bottom: 1px solid #e6ecea;
}

.lo-cat-seo__h3 {
  font-size: 1.12rem;
  font-weight: 800;
  line-height: 1.38;
  color: var(--lo-green);
  margin: 0 0 0.55rem;
}

.lo-cat-seo__chevron {
  color: var(--lo-orange);
  font-weight: 900;
  margin-right: 0.35rem;
}

.lo-cat-seo__item p {
  margin: 0;
  line-height: 1.75;
}

.lo-cat-seo a {
  color: var(--lo-green);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.lo-cat-seo a:hover,
.lo-cat-seo a:focus {
  color: var(--lo-orange);
}

.lo-cat-seo__outro {
  margin: 0;
  font-size: 0.96rem;
  line-height: 1.75;
  color: var(--lo-green);
  font-weight: 700;
}

/* Bannières des catégories du menu et de la page Dossiers thématiques. */
.lo-category-hero {
  --hero-accent: var(--lo-logo-orange);
  --hero-bg: var(--lo-green-fade);
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: grid;
  align-items: center;
  min-height: clamp(11rem, 15vw, 15rem);
  margin-bottom: 1.25rem;
  padding: clamp(1.5rem, 4vw, 4rem);
  border-radius: 1rem;
  background: var(--hero-bg);
  color: #fff;
}

.lo-category-hero--crins { --hero-bg: #365749; --hero-accent: #e3ba86; }
.lo-category-hero--massage { --hero-bg: #244e53; --hero-accent: #8cc3bc; }
.lo-category-hero--animaux { --hero-bg: #545136; --hero-accent: #edc889; }
.lo-category-hero--labonova { --hero-bg: #393d59; --hero-accent: #edb6ce; }
.lo-category-hero--accessoires { --hero-bg: #3c5147; --hero-accent: #bdcdaa; }
.lo-category-hero--dossiers { --hero-bg: #2d5050; --hero-accent: #a5d2c5; }

.lo-category-hero__copy {
  max-width: 72%;
  padding-left: clamp(.9rem, 2vw, 1.5rem);
  border-left: .25rem solid var(--hero-accent);
}

.lo-category-hero p {
  margin: 0;
  color: inherit;
}

.lo-category-hero .lo-category-hero__title {
  font-size: clamp(1.65rem, 3.2vw, 3.15rem);
  font-weight: 800;
  line-height: 1.08;
  overflow-wrap: anywhere;
}

.lo-category-hero .lo-category-hero__description {
  margin-top: .65rem;
  font-size: clamp(.95rem, 1.4vw, 1.2rem);
  line-height: 1.4;
}

.lo-category-hero__motif {
  position: absolute;
  z-index: -1;
  right: 0;
  top: 0;
  bottom: 0;
  width: 36%;
  background: repeating-radial-gradient(
    ellipse at 100% 110%,
    transparent 0 1.35rem,
    var(--hero-accent) 1.39rem 1.46rem,
    transparent 1.5rem 2rem
  );
  opacity: .32;
  mask-image: linear-gradient(to right, transparent, #000 68%);
}

@media (max-width: 767.98px) {
  .lo-category-hero {
    min-height: 10.5rem;
    padding: 1.3rem;
  }

  .lo-category-hero__copy {
    max-width: 100%;
  }

  .lo-category-hero__motif {
    width: 40%;
    opacity: .16;
  }
}

/* ==========================================================================
   WIDGET AVIS GOOGLE ELFSIGHT — HAUTEUR UNIFORME STRICTE DES TUILES (232px)
   ========================================================================== */
/* FR a9ccead0… + DE 364ea107… */
#home-avis-google [class^="elfsight-app-"] .swiper-wrapper {
  align-items: stretch !important;
  height: 232px !important;
}

#home-avis-google [class^="elfsight-app-"] .swiper-slide {
  height: 232px !important;
  display: flex !important;
  flex-direction: column !important;
}

#home-avis-google [class^="elfsight-app-"] .es-carousel-item,
#home-avis-google [class^="elfsight-app-"] .es-carousel-layout-item,
#home-avis-google [class^="elfsight-app-"] .es-review-container {
  height: 232px !important;
  min-height: 232px !important;
  max-height: 232px !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
}

#home-avis-google [class^="elfsight-app-"] .es-review-background-container {
  height: 232px !important;
  min-height: 232px !important;
  max-height: 232px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

/* ==========================================================================
   AFFICHAGE DES PRODUITS EN LIGNE AVEC RÉCAPITULATIF VISIBLE
   (Toutes les catégories produits sauf #5 Accessoires et Dossiers thématiques)
   ========================================================================== */
.products.products--list-rows {
  display: flex !important;
  flex-direction: column !important;
  grid-template-columns: 1fr !important;
  gap: 1.25rem !important;
}

.products.products--list-rows > .product-miniature--row {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}

.product-miniature--row .product-miniature__inner {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 1.5rem !important;
  padding: 1.25rem 1.5rem !important;
  background: #ffffff;
  border: 1px solid var(--lo-green-border, #c5dcd6);
  border-radius: 0.75rem;
  box-shadow: 0 3px 12px rgba(46, 107, 94, 0.06);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.product-miniature--row .product-miniature__inner:hover {
  border-color: var(--lo-green, #2e6b5e);
  box-shadow: 0 6px 20px rgba(46, 107, 94, 0.12);
}

.product-miniature--row .product-miniature__top {
  flex: 0 0 210px !important;
  width: 210px !important;
  max-width: 210px !important;
  margin-bottom: 0 !important;
}

.product-miniature--row .product-miniature__image-container {
  aspect-ratio: 1 / 1;
  border-radius: 0.5rem;
  overflow: hidden;
  background: #f9fbfa;
}

.product-miniature--row .product-miniature__bottom {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 1.5rem !important;
  padding: 0 !important;
}

.product-miniature--row .product-miniature__infos {
  flex: 1 1 auto !important;
  min-width: 0;
  text-align: left !important;
}

.product-miniature--row .product-miniature__title {
  display: inline-block;
  font-size: 1.3rem !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  color: #1a2925 !important;
  margin-bottom: 0.35rem !important;
  text-decoration: none;
}

.product-miniature--row .product-miniature__title:hover {
  color: var(--lo-green, #2e6b5e) !important;
}

.product-miniature--row .product-list-reviews {
  justify-content: flex-start !important;
  margin: 0.15rem 0 0.65rem !important;
}

.product-miniature--row .product-miniature__summary {
  margin: 0.5rem 0 0.65rem !important;
  font-size: 0.95rem;
  line-height: 1.58;
  color: var(--lo-text, #333333);
}

.product-miniature--row .product-miniature__summary > div {
  margin-bottom: 0 !important;
}

.product-miniature--row .product-miniature__actions {
  flex: 0 0 230px !important;
  width: 230px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: center !important;
  padding-left: 1.5rem !important;
  border-left: 1px solid #e6efec;
}

.product-miniature--row .product-miniature__prices--row {
  text-align: center !important;
  margin-bottom: 0.85rem !important;
}

.product-miniature--row .product-miniature__price {
  font-size: 1.45rem !important;
  font-weight: 800 !important;
  color: var(--lo-green, #2e6b5e) !important;
}

.product-miniature--row .product-miniature__form {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
  width: 100%;
}

.product-miniature--row .product-miniature__discover-link {
  width: 100%;
  text-align: center;
  font-weight: 600;
}

@media (max-width: 991.98px) {
  .product-miniature--row .product-miniature__bottom {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 1rem !important;
  }

  .product-miniature--row .product-miniature__actions {
    flex: 0 0 auto !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-top: 1rem !important;
    border-left: none !important;
    border-top: 1px solid #e6efec;
  }
}

@media (max-width: 767.98px) {
  .product-miniature--row .product-miniature__inner {
    flex-direction: column !important;
    align-items: stretch !important;
    padding: 1rem !important;
    gap: 1rem !important;
  }

  .product-miniature--row .product-miniature__top {
    flex: 0 0 auto !important;
    width: 180px !important;
    max-width: 180px !important;
    margin: 0 auto !important;
  }

  .product-miniature--row .product-miniature__title {
    font-size: 1.15rem !important;
  }
}

/* ==========================================================================
   ACCUEIL — PRÉSENTATION DISTINCTE DES 2 MARQUES (L.O. EQUILIBRIUM & LABONOVA)
   ========================================================================== */
.lo-brand-showcase {
  border-radius: 16px;
  padding: 2rem 2rem 2.25rem;
  border: 1px solid #d4e4df;
  background: linear-gradient(180deg, #f4f9f7 0%, #ffffff 340px);
  box-shadow: 0 6px 24px rgba(46, 107, 94, 0.06);
}

.lo-brand-showcase--labonova {
  border-color: #d8dbe8;
  background: linear-gradient(180deg, #f4f5fa 0%, #ffffff 340px);
  box-shadow: 0 6px 24px rgba(57, 61, 89, 0.07);
}

.lo-brand-showcase__header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  margin-bottom: 1.85rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid rgba(46, 107, 94, 0.14);
}

.lo-brand-showcase--labonova .lo-brand-showcase__header {
  border-bottom-color: rgba(57, 61, 89, 0.15);
}

.lo-brand-showcase__brand-col {
  display: flex;
  align-items: flex-start;
  gap: 1.5rem;
  flex: 1 1 640px;
}

.lo-brand-showcase__logo-box {
  flex: 0 0 138px;
  width: 138px;
  background: #ffffff;
  border: 1px solid #d5e5e0;
  border-radius: 12px;
  padding: 0.6rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-inline: auto;
}

.lo-brand-showcase__title-brand,
.lo-brand-showcase__title-sub {
  display: inline;
}

.lo-brand-showcase__title-sep {
  display: inline;
}

.lo-brand-showcase__logo-box--labonova {
  border-color: #d6d8e6;
}

.lo-brand-showcase__logo-box img {
  width: 100%;
  height: auto;
  object-fit: contain;
  display: block;
}

.lo-brand-showcase__heading-box {
  flex: 1 1 auto;
  min-width: 0;
}

.lo-brand-showcase__badges {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem;
  margin-bottom: 0.55rem;
}

.lo-brand-showcase__badge {
  display: inline-flex;
  align-items: center;
  font-size: 0.75rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 0.28rem 0.75rem;
  border-radius: 999px;
  color: #ffffff;
}

.lo-brand-showcase__badge--lo {
  background-color: var(--lo-green, #2e6b5e);
}

.lo-brand-showcase__badge--labonova {
  background-color: #393d59;
}

.lo-brand-showcase__pill {
  display: inline-flex;
  align-items: center;
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--lo-green, #2e6b5e);
  background: #e6f1ee;
  border: 1px solid #c3ddd6;
  padding: 0.24rem 0.75rem;
  border-radius: 999px;
}

.lo-brand-showcase__pill--labonova {
  color: #393d59;
  background: #eaeaf4;
  border-color: #cbcde0;
}

.lo-brand-showcase__title {
  font-size: clamp(1.38rem, 2.2vw, 1.82rem);
  font-weight: 800;
  color: #1a2925;
  margin: 0 0 0.5rem 0;
  line-height: 1.25;
}

.lo-brand-showcase--labonova .lo-brand-showcase__title {
  color: #25283d;
}

.lo-brand-showcase__desc {
  font-size: 0.97rem;
  line-height: 1.62;
  color: #42524d;
  margin: 0;
  max-width: 880px;
}

/* ==========================================================================
   Accueil — carte interactive cheval (hors tuile marque)
   ========================================================================== */
.lo-horse-map {
  margin: 0.35rem auto 2rem;
  max-width: 560px;
  overflow: visible;
  text-align: center;
}

.lo-horse-map__title {
  margin: 0 0 0.55rem;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #2e6b5e;
  text-align: center;
}

.lo-horse-map__visual {
  overflow: visible;
}

.lo-horse-map__svg {
  display: block;
  width: 100%;
  max-width: 520px;
  height: auto;
  margin-inline: auto;
  overflow: visible;
}

.lo-horse-map__zone {
  cursor: pointer;
  outline: none;
  -webkit-tap-highlight-color: transparent;
}

.lo-horse-map__hit {
  stroke: transparent;
  stroke-width: 2;
  stroke-linejoin: round;
  paint-order: stroke fill;
  transition: stroke 0.16s ease;
}

.lo-horse-map__zone:is(:hover, :focus-visible) .lo-horse-map__hit {
  stroke: #f2793d;
}

.lo-horse-map__zone:focus-visible .lo-horse-map__hit {
  stroke: #d9652b;
  stroke-width: 2.5;
}

/* Pastilles fines (point noir) ; orange au survol de la zone */
.lo-horse-map__ring {
  fill: #fff8f1;
  stroke: #c5dcd6;
  stroke-width: 0.9;
  transition: fill 0.16s ease, stroke 0.16s ease;
}

.lo-horse-map__point {
  fill: #1a1a1a;
  transition: fill 0.16s ease;
}

.lo-horse-map__zone:hover .lo-horse-map__ring,
.lo-horse-map__zone:focus-visible .lo-horse-map__ring {
  fill: #fff4ec;
  stroke: #f2793d;
}

.lo-horse-map__zone:hover .lo-horse-map__point,
.lo-horse-map__zone:focus-visible .lo-horse-map__point {
  fill: #f2793d;
}

@media (max-width: 767.98px) {
  .lo-horse-map__svg {
    max-width: 375px;
    margin-inline: auto;
  }

  .lo-horse-map__title {
    text-align: center;
  }
}

/* Animations : queue, crinière, oreille, œil, mouches */
.lo-horse-map__tail,
.lo-horse-map__mane,
.lo-horse-map__ear,
.lo-horse-map__eye,
.lo-horse-map__fly--one,
.lo-horse-map__fly--two {
  transform-box: fill-box;
  transform-origin: center;
  will-change: transform;
}

.lo-horse-map__tail {
  transform-origin: 88% 18%;
  animation: lo-horse-map-tail 4.4s ease-in-out infinite;
}

.lo-horse-map__mane {
  transform-origin: 92% 35%;
  animation: lo-horse-map-mane 3.8s ease-in-out infinite;
}

.lo-horse-map__ear {
  transform-origin: center bottom;
  animation: lo-horse-map-ear 5.2s ease-in-out infinite;
}

.lo-horse-map__eye {
  transform-origin: center;
  animation: lo-horse-map-blink 4.6s ease-in-out infinite;
}

.lo-horse-map__fly--one {
  animation: lo-horse-map-fly-one 2.8s ease-in-out infinite;
}

.lo-horse-map__fly--two {
  animation: lo-horse-map-fly-two 3.4s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
  .lo-horse-map__tail,
  .lo-horse-map__mane,
  .lo-horse-map__ear,
  .lo-horse-map__eye,
  .lo-horse-map__fly--one,
  .lo-horse-map__fly--two {
    animation: none !important;
  }
}

@keyframes lo-horse-map-tail {
  0%, 18%, 48%, 100% { transform: rotate(0deg); }
  25% { transform: rotate(-8deg); }
  33% { transform: rotate(6deg); }
  41% { transform: rotate(-2deg); }
}

@keyframes lo-horse-map-mane {
  0%, 100% { transform: rotate(0deg); }
  28% { transform: rotate(-3.5deg); }
  56% { transform: rotate(2.5deg); }
  78% { transform: rotate(-1.5deg); }
}

@keyframes lo-horse-map-ear {
  0%, 24%, 42%, 72%, 89%, 100% { transform: rotate(0deg); }
  30%, 78% { transform: rotate(13deg); }
  35%, 84% { transform: rotate(-5deg); }
}

@keyframes lo-horse-map-blink {
  0%, 23%, 27%, 77%, 81%, 100% { transform: scaleY(1); }
  25%, 79% { transform: scaleY(0.13); }
}

@keyframes lo-horse-map-fly-one {
  0%, 100% { transform: translate(0, 0); }
  23% { transform: translate(-8px, -6px); }
  49% { transform: translate(0, -12px); }
  74% { transform: translate(8px, -5px); }
}

@keyframes lo-horse-map-fly-two {
  0%, 100% { transform: translate(0, 0); }
  26% { transform: translate(8px, -6px); }
  51% { transform: translate(1px, -12px); }
  77% { transform: translate(-9px, -6px); }
}

.lo-brand-showcase__nav-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.9rem;
}

.lo-brand-showcase__cat-pill {
  display: inline-flex;
  align-items: center;
  font-size: 0.84rem;
  font-weight: 700;
  color: var(--lo-green, #2e6b5e) !important;
  background: #ffffff;
  border: 1px solid #c5dcd6;
  border-radius: 999px;
  padding: 0.35rem 0.9rem;
  text-decoration: none !important;
  transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}

.lo-brand-showcase__cat-pill:hover {
  background-color: var(--lo-green, #2e6b5e);
  border-color: var(--lo-green, #2e6b5e);
  color: #ffffff !important;
  transform: translateY(-1px);
}

.lo-brand-showcase__cta-col {
  flex: 0 0 auto;
}

.lo-brand-showcase__cta-btn {
  font-weight: 700;
  padding: 0.55rem 1rem;
  border-radius: 8px;
  white-space: normal;
  line-height: 1.25;
  font-size: 0.95rem;
  max-width: 100%;
}

/* Grille 4 colonnes responsive pour les cartes produits phares des 2 marques sur l'accueil */
.products.lo-home-brand-grid {
  display: grid !important;
  grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  gap: 1.25rem !important;
}

@media (min-width: 576px) {
  .products.lo-home-brand-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 992px) {
  .products.lo-home-brand-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

.products.lo-home-brand-grid > .product-miniature--home-card {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  display: flex;
}

.product-miniature--home-card .product-miniature__inner {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  background: #ffffff;
  border: 1px solid #dce8e4;
  border-top: 3px solid var(--lo-green, #2e6b5e);
  border-radius: 12px;
  padding: 0.9rem;
  box-shadow: 0 3px 12px rgba(26, 41, 37, 0.05);
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.product-miniature--brand-labonova .product-miniature__inner {
  border-color: #dfe1ec;
  border-top: 3px solid #393d59;
}

.product-miniature--home-card .product-miniature__inner:hover {
  transform: translateY(-3px);
  border-color: var(--lo-green, #2e6b5e);
  box-shadow: 0 10px 24px rgba(46, 107, 94, 0.12);
}

.product-miniature--brand-labonova .product-miniature__inner:hover {
  border-color: #393d59;
  box-shadow: 0 10px 24px rgba(57, 61, 89, 0.14);
}

.product-miniature--home-card .product-miniature__bottom {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  justify-content: space-between;
}

.product-miniature--home-card .product-miniature__infos {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}

.product-miniature__brand-badge {
  align-self: flex-start;
  display: inline-block;
  font-size: 0.68rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 0.18rem 0.55rem;
  border-radius: 999px;
  margin-bottom: 0.35rem;
}

.product-miniature__brand-badge--lo {
  background-color: #eef5f3;
  color: var(--lo-green, #2e6b5e);
  border: 1px solid #cde0da;
}

.product-miniature__brand-badge--labonova {
  background-color: #ececf5;
  color: #393d59;
  border: 1px solid #d1d3e4;
}

.product-miniature--home-card .product-miniature__title {
  font-weight: 800;
  font-size: 1.02rem;
  line-height: 1.32;
  color: #1a2925;
  text-decoration: none;
  margin-bottom: 0.2rem;
}

.product-miniature--home-card .product-miniature__title:hover {
  color: var(--lo-green, #2e6b5e);
}

.product-miniature__home-excerpt {
  font-size: 0.84rem;
  line-height: 1.45;
  color: #52615c;
  margin: 0.35rem 0 0.65rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.product-miniature--home-card .product-miniature__prices {
  margin-top: auto;
  padding-top: 0.35rem;
}

@media (max-width: 767.98px) {
  .lo-brand-showcase {
    padding: 1.25rem 1rem 1.5rem;
  }

  .lo-brand-showcase__brand-col {
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    text-align: center;
  }

  .lo-brand-showcase__logo-box {
    width: 112px;
    flex: 0 0 auto;
    margin-inline: auto;
  }

  .lo-brand-showcase__heading-box {
    width: 100%;
    text-align: center;
  }

  .lo-brand-showcase__badges,
  .lo-brand-showcase__nav-pills {
    justify-content: center;
  }

  .lo-brand-showcase__title {
    text-align: center;
  }

  .lo-brand-showcase__title-brand,
  .lo-brand-showcase__title-sub {
    display: block;
  }

  .lo-brand-showcase__title-sep {
    display: none;
  }

  .lo-brand-showcase__desc {
    margin-inline: auto;
  }

  .lo-brand-showcase__cta-col,
  .lo-brand-showcase__cta-btn,
  .lo-brand-showcase__footer-btn {
    width: 100%;
    text-align: center;
    white-space: normal;
    font-size: 0.9rem;
    padding: 0.55rem 0.85rem;
  }
}

/* ==========================================================================
   PAGE PANIER — épurée (réassurance conservée, marques + newsletter masquées)
   ========================================================================== */
body#cart .lo-home-brands-wrapper,
body.page-cart .lo-home-brands-wrapper,
body#cart .lo-newsletter-section,
body.page-cart .lo-newsletter-section,
body#cart .cart-grid__footer,
body.page-cart .cart-grid__footer,
body#cart .featured-products,
body.page-cart .featured-products {
  display: none !important;
}

/* ==========================================================================
   Fiche produit — largeurs d'image figées (affichage 1:1, 8 nov. 2026)
   Les px ci-dessous = largeurs des fichiers product_cover* générés en LANCZOS.
   ========================================================================== */
@media (min-width: 1400px) {
  .product__container.js-product-container {
    grid-template-columns: 712px minmax(0, 1fr) !important;
  }
}

@media (min-width: 1200px) and (max-width: 1399.98px) {
  .product__container.js-product-container {
    grid-template-columns: 614px minmax(0, 1fr) !important;
  }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
  .product__container.js-product-container {
    grid-template-columns: 450px minmax(0, 1fr) !important;
  }
}

@media (min-width: 768px) and (max-width: 991.98px) {
  .product__images.js-images-container {
    max-width: 696px;
    margin-inline: auto;
  }
}

/* ==========================================================================
   Avis produits — masquer pouces + signaler un abus
   ========================================================================== */
.product-comment-list-item .comment__buttons,
.product-comment-list-item .useful-review,
.product-comment-list-item .not-useful-review,
.product-comment-list-item .report-abuse,
.comment .useful-review,
.comment .not-useful-review,
.comment .report-abuse {
  display: none !important;
}

/* ==========================================================================
   Petites animations catégories / dossiers (même empreinte que sabots / jump)
   ========================================================================== */
.lo-home-reading-donkey,
.lo-home-hen-goat,
.lo-home-horse-brush,
.lo-home-horse-rear,
.lo-home-horse-roll,
.lo-home-cat-dog,
.lo-home-ane {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  margin: 0.15rem auto 0.1rem;
  padding: 0;
  min-height: 52px;
  pointer-events: none;
  user-select: none;
  overflow: visible;
}

/* Ânes catégories : juste avant la newsletter */
.lo-home-ane {
  margin: 0.35rem auto 0.45rem;
  min-height: 72px;
}

.lo-home-ane__svg {
  display: block;
  width: 150px;
  max-width: min(150px, 72vw);
  height: auto;
}

.lo-home-reading-donkey__svg {
  display: block;
  width: 104px;
  max-width: 100%;
  height: auto;
}

.lo-home-hen-goat__svg {
  display: block;
  width: 148px;
  max-width: 100%;
  height: auto;
}

.lo-home-horse-brush__svg {
  display: block;
  width: 148px;
  max-width: 100%;
  height: auto;
}

.lo-home-horse-rear__svg {
  display: block;
  width: 126px;
  max-width: 100%;
  height: auto;
}

.lo-home-horse-roll__svg {
  display: block;
  width: 132px;
  max-width: 100%;
  height: auto;
}

.lo-home-cat-dog__svg {
  display: block;
  width: 180px;
  max-width: 100%;
  height: auto;
}

@media (prefers-reduced-motion: no-preference) {
  .lo-home-reading-donkey__motion,
  .lo-home-hen-goat__motion,
  .lo-home-horse-brush__motion,
  .lo-home-horse-rear__motion,
  .lo-home-horse-roll__motion,
  .lo-home-cat-dog__motion,
  .lo-home-ane__motion,
  .lo-home-ane .ane-motion {
    display: inline;
  }

  .lo-home-reading-donkey__still,
  .lo-home-hen-goat__still,
  .lo-home-horse-brush__still,
  .lo-home-horse-rear__still,
  .lo-home-horse-roll__still,
  .lo-home-cat-dog__still,
  .lo-home-ane__still,
  .lo-home-ane .ane-still {
    display: none;
  }
}

/* Catégories produits : coller l'animation sous la tuile héro */
.category__header .lo-home-horse-jump,
.category__header .lo-home-horse-roll,
.category__header .lo-home-horse-brush,
.category__header .lo-home-gallop,
.category__header .lo-home-cat-dog,
.category__header .lo-home-hen-goat {
  margin-top: 0.1rem;
  margin-bottom: 0.15rem;
}

/* Hub / page dossiers : âne lecteur */
.lo-cms-hub .lo-home-reading-donkey,
.page-cms-40 .lo-home-reading-donkey {
  margin: 0.25rem auto 0.75rem;
}

/* ==========================================================================
   Menu mobile — largeur calée sur le texte le plus long (comme le rail)
   ========================================================================== */
.ps-mainmenu--mobile.offcanvas.js-menu-canvas {
  --lo-mobile-menu-width: min(92vw, 420px);
  width: var(--lo-mobile-menu-width) !important;
  max-width: 92vw;
}

/* Sélecteur de langue : même ligne que la croix, avant Accueil */
.ps-mainmenu--mobile .offcanvas-header {
  align-items: center;
  padding-inline: 1rem 0.75rem;
}

.ps-mainmenu--mobile .offcanvas-header .btn-close {
  margin-left: auto;
}

.ps-mainmenu--mobile .lo-mobile-menu-lang {
  display: flex;
  align-items: center;
}

.ps-mainmenu--mobile .offcanvas-header:has(.js-back-button:not(.d-none)) .lo-mobile-menu-lang {
  display: none;
}

/* Pied vide : langue déplacée dans l'en-tête. Devise et contact ne sont pas affichés ici. */
.ps-mainmenu--mobile .ps-mainmenu__additionnals {
  display: none;
}

.ps-mainmenu--mobile .ps-mainmenu__mobile a,
.ps-mainmenu--mobile .ps-mainmenu__tree-link,
.ps-mainmenu--mobile .menu-link {
  white-space: nowrap;
}

.ps-mainmenu--mobile.is-capped .ps-mainmenu__mobile a,
.ps-mainmenu--mobile.is-capped .ps-mainmenu__tree-link,
.ps-mainmenu--mobile.is-capped .menu-link {
  white-space: normal;
}

/* ==========================================================================
   Accueil FR — tuile sobre Instagram / Facebook / TikTok (suivre + partager)
   ========================================================================== */
.lo-home-social__tile {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  gap: 1.25rem 1.75rem;
  align-items: center;
  background: #f7f6f2;
  border: 1px solid #e6e6e6;
  border-left: 4px solid #2E6B5E;
  border-radius: 6px;
  padding: 1.15rem 1.25rem;
  color: #333;
}

.lo-home-social__eyebrow {
  margin: 0 0 0.2rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #F2793D;
}

.lo-home-social__title {
  margin: 0 0 0.4rem;
  font-size: 1.15rem;
  font-weight: 800;
  color: #1a1a1a;
  line-height: 1.25;
}

.lo-home-social__text {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.55;
  color: #444;
  max-width: 36rem;
}

.lo-home-social__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.lo-home-social__item {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.55rem 0.85rem;
  background: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 5px;
  padding: 0.65rem 0.8rem;
}

.lo-home-social__brand {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.95rem;
  font-weight: 700;
  color: #2E6B5E;
}

.lo-home-social__icon {
  flex: 0 0 auto;
  color: #2E6B5E;
}

.lo-home-social__actions {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.lo-home-social__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2rem;
  padding: 0.3rem 0.75rem;
  border-radius: 4px;
  border: 1px solid #2E6B5E;
  background: #2E6B5E;
  color: #fff !important;
  font-size: 0.82rem;
  font-weight: 700;
  text-decoration: none !important;
  line-height: 1.2;
}

.lo-home-social__btn:hover,
.lo-home-social__btn:focus {
  background: #235349;
  border-color: #235349;
  color: #fff !important;
}

.lo-home-social__btn--ghost {
  background: transparent;
  color: #2E6B5E !important;
}

.lo-home-social__btn--ghost:hover,
.lo-home-social__btn--ghost:focus {
  background: #EEF5F3;
  border-color: #2E6B5E;
  color: #2E6B5E !important;
}

@media (max-width: 767.98px) {
  .lo-home-social__tile {
    grid-template-columns: 1fr;
    padding: 1rem;
    gap: 0.95rem;
  }

  .lo-home-social__item {
    flex-direction: column;
    align-items: stretch;
  }

  .lo-home-social__actions {
    width: 100%;
  }

  .lo-home-social__btn {
    flex: 1 1 auto;
  }
}

/* Page Contact (/contact & /de/kontakt) — Horaires de disponibilité dans le bloc Informations */
.lo-contact-hours {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  line-height: 1.45;
}

.lo-contact-hours__title {
  font-weight: 700;
  color: #2E6B5E;
  font-size: 0.95rem;
}

.lo-contact-hours__days {
  font-weight: 600;
  color: #222;
  font-size: 0.92rem;
}

.lo-contact-hours__slots {
  font-weight: 700;
  color: #1a1a1a;
  font-size: 0.92rem;
}

.lo-contact-hours__note {
  font-size: 0.82rem;
  color: #555;
  margin-top: 0.15rem;
}

/* ==========================================================================
   Fiche produit — Réassurance unifiée, pleine largeur sous Photos + Achat
   ========================================================================== */
.page-product .lo-product-offers-reassurance {
  margin-bottom: 2rem;
}

.page-product .lo-product-offers-reassurance .lo-product-reassurance {
  width: 100%;
}

.page-product .lo-product-offers-reassurance .blockreassurance--product {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  margin-block-end: 0;
  padding: 1rem 1.15rem;
  background: #ffffff;
  border: 1px solid #dce8e4;
  border-radius: 8px;
  width: 100%;
  gap: 1.1rem;
}

@media (min-width: 992px) {
  .page-product .lo-product-offers-reassurance {
    margin-bottom: 2.25rem;
  }

  .page-product .lo-product-offers-reassurance .blockreassurance--product {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
  }

  .page-product .lo-product-offers-reassurance .blockreassurance--product .reassurance {
    min-width: 0;
    height: 100%;
  }
}

/* ==========================================================================
   Fiche produit — Accès rapide sous les étoiles (PC >= 992px uniquement, FR/DE)
   Masqué sur mobile (< 992px)
   ========================================================================== */
.lo-product-quickjump[hidden],
.lo-product-quickjump:empty {
  display: none !important;
}

@media (max-width: 991.98px) {
  .lo-product-quickjump {
    display: none !important;
  }
}

@media (min-width: 992px) {
  .lo-product-quickjump {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
    margin-top: 0.65rem;
  }

  .lo-product-quickjump__link {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    padding: 0.3rem 0.72rem;
    font-size: 0.81rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--lo-green, #2e6b5e);
    background: var(--lo-green-soft, #eef5f3);
    border: 1px solid var(--lo-green-border, #c5dcd6);
    border-radius: 999px;
    text-decoration: none;
    transition: background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease, transform 0.15s ease;
  }

  .lo-product-quickjump__link::after {
    content: "↓";
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--lo-orange, #f2793d);
    line-height: 1;
  }

  .lo-product-quickjump__link:hover,
  .lo-product-quickjump__link:focus-visible {
    background: var(--lo-green, #2e6b5e);
    border-color: var(--lo-green, #2e6b5e);
    color: #ffffff;
    text-decoration: none;
    transform: translateY(-1px);
  }

  .lo-product-quickjump__link:hover::after,
  .lo-product-quickjump__link:focus-visible::after {
    color: #ffffff;
  }
}




