/* Gaiabis */
:root {
  --gaiabis-release: 10102;
}
:root {
  --gaiabis-yellow: #fbbe01;
  --gaiabis-yellow-hover: #e5ad00;
  --gaiabis-yellow-soft: #fff4cc;
  --gaiabis-ink: #090909;
  --gaiabis-muted: #686868;
  --gaiabis-canvas: #f5f1e7;
  --gaiabis-paper: #fff;
  --gaiabis-line: #e5dcc5;
  --gaiabis-radius-sm: .5rem;
  --gaiabis-radius: 1rem;
  --gaiabis-radius-lg: 1.5rem;
  --gaiabis-shadow: 0 .75rem 2rem rgba(0, 0, 0, .08);
  --gaiabis-container: 1520px;
  --gaiabis-carousel-speed: 600ms;
  --gaiabis-color-accent: var(--gaiabis-yellow);
  --gaiabis-color-ink: var(--gaiabis-ink);
  --gaiabis-color-border: var(--gaiabis-line);
  --gaiabis-color-surface: var(--gaiabis-paper);
  --gaiabis-color-muted: var(--gaiabis-muted);
  --gaiabis-search-accent: var(--gaiabis-ink);
  --gaiabis-search-accent-contrast: var(--gaiabis-yellow);
  --gaiabis-search-surface: var(--gaiabis-paper);
  --gaiabis-search-text: var(--gaiabis-ink);
  --gaiabis-search-muted: var(--gaiabis-muted);
  --gaiabis-search-border: var(--gaiabis-line);
}

/* Rôles visuels partagés : le HTML choisit le rôle, le thème définit le rendu. */
.gaiabis-surface {
  border-color: var(--gaiabis-color-border) !important;
  background-color: var(--gaiabis-color-surface) !important;
  color: var(--gaiabis-color-ink) !important;
}

.gaiabis-surface--raised {
  box-shadow: var(--gaiabis-shadow);
}

.gaiabis-text,
.gaiabis-text :is(p, span, strong, em, li) {
  color: var(--gaiabis-color-ink) !important;
}

.gaiabis-text-muted,
.gaiabis-text-muted :is(p, span, strong, em, li) {
  color: var(--gaiabis-color-muted) !important;
}

/* Visionneuse produit Classic : son CSS impose des surfaces blanches avec une
 * spécificité élevée. Les rôles du thème doivent gagner dans les deux modes. */
#product-modal .modal-content.gaiabis-surface {
  border: 1px solid var(--gaiabis-color-border);
  background-color: var(--gaiabis-color-surface) !important;
  box-shadow: var(--gaiabis-shadow);
}

#product-modal .modal-content .modal-body.gaiabis-surface,
#product-modal .modal-content .modal-body > :is(figure, aside).gaiabis-surface,
#product-modal .modal-content .modal-body :is(picture, .mask, .product-images, .thumb-container).gaiabis-surface,
#product-modal .modal-content .modal-body .image-caption.gaiabis-surface,
#product-modal .modal-content .modal-body :is(.product-cover-modal, .product-images img).gaiabis-surface {
  background-color: var(--gaiabis-color-surface) !important;
  color: var(--gaiabis-color-ink) !important;
}

#product-modal .modal-content .modal-body .image-caption.gaiabis-surface {
  border-top-color: var(--gaiabis-color-border);
}

#product-modal .modal-content .modal-body .image-caption .gaiabis-text,
#product-modal .modal-content .modal-body .image-caption .gaiabis-text :is(p, span, strong, em, li) {
  color: var(--gaiabis-color-ink) !important;
}

#product-modal .modal-content .modal-body .product-images img:is(:hover, :focus-visible, .selected, .js-modal-thumb-selected) {
  border-color: var(--gaiabis-yellow) !important;
}

#product-modal .modal-content .modal-body .arrows {
  color: var(--gaiabis-yellow);
}

.gaiabis-status-badge {
  border-color: var(--gaiabis-yellow) !important;
  background: var(--gaiabis-yellow) !important;
  color: #111315 !important;
}

.ets_rv_latest_title {
  color: var(--gaiabis-color-ink) !important;
}

.gaiabis-footer__bottom,
.gaiabis-footer__bottom p {
  color: #cbd3cf !important;
}

.tax-shipping-delivery-label,
.tax-shipping-delivery-label :is(div, span, strong) {
  color: var(--gaiabis-color-muted) !important;
}

.gaiabis-product-card__discount {
  color: #111315 !important;
}

/* Les composants gardent leur propre contraste, quel que soit le mode global. */
.ets_rv_grade_stars .ets-rv-comments-nb {
  color: var(--gaiabis-color-muted) !important;
}

html[data-gaiabis-color-mode="dark"] .gaiabis-product-card .gaiabis-product-card__discount {
  color: #111315 !important;
}

html {
  scroll-behavior: smooth;
}

body {
  background: var(--gaiabis-canvas);
  color: var(--gaiabis-color-ink);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.55;
}

a {
  color: var(--gaiabis-color-ink);
}

a:hover,
a:focus {
  color: var(--gaiabis-color-ink);
  text-decoration-color: var(--gaiabis-yellow);
  text-decoration-thickness: 2px;
  text-underline-offset: .2em;
}

button,
input,
select,
textarea {
  border-radius: var(--gaiabis-radius-sm);
}

.container {
  width: min(calc(100% - 2rem), var(--gaiabis-container));
  max-width: var(--gaiabis-container);
}

.btn-primary,
.btn-primary:active,
.btn-primary:focus,
.btn-primary:hover,
.btn-primary:disabled,
.btn-primary.disabled {
  border-color: var(--gaiabis-yellow);
  border-radius: var(--gaiabis-radius-sm);
  background: var(--gaiabis-yellow);
  color: var(--gaiabis-ink);
  font-weight: 750;
}

.btn-primary:hover,
.btn-primary:focus {
  border-color: var(--gaiabis-yellow-hover);
  background: var(--gaiabis-yellow-hover);
}

.btn-secondary,
.btn-tertiary {
  border: 1px solid var(--gaiabis-ink);
  border-radius: var(--gaiabis-radius-sm);
  background: var(--gaiabis-paper);
  color: var(--gaiabis-ink);
}

.form-control,
.input-group,
.select-title {
  border-color: var(--gaiabis-line);
  border-radius: var(--gaiabis-radius-sm);
  background-color: var(--gaiabis-paper);
}

#wrapper {
  min-height: 50vh;
  padding: 1.25rem 0 3rem;
  background: var(--gaiabis-canvas);
  box-shadow: none;
}

#wrapper .breadcrumb {
  margin: 0 0 1.25rem;
  padding: .45rem .75rem;
  border-radius: var(--gaiabis-radius-sm);
  background: var(--gaiabis-ink);
  color: var(--gaiabis-paper);
}

#wrapper .breadcrumb li:not(:last-child) > a,
#wrapper .breadcrumb li:not(:last-child) > a span {
  color: #c9c5ba !important;
}

#wrapper .breadcrumb li::after {
  color: var(--gaiabis-yellow) !important;
}

#wrapper .breadcrumb li:last-child > span {
  color: var(--gaiabis-paper) !important;
  font-weight: 700;
}

/* Rythme éditorial partagé des pages CMS. */
body#cms #content.page-cms > .gaiabis-container {
  width: min(100%, 78rem);
  max-width: 78rem;
  margin-inline: auto;
  font-size: 1rem;
  line-height: 1.7;
}

body#cms #content.page-cms > .gaiabis-container :is(h1, h2, h3, h4) {
  text-wrap: balance;
}

body#cms #content.page-cms > .gaiabis-container h1 {
  margin: 0 0 1rem;
  font-size: clamp(1.9rem, 1.65rem + .9vw, 2.65rem);
  line-height: 1.12;
  letter-spacing: -.02em;
}

body#cms #content.page-cms > .gaiabis-container h2 {
  margin: 2.75rem 0 1rem;
  font-size: clamp(1.35rem, 1.2rem + .45vw, 1.75rem);
  line-height: 1.25;
}

body#cms #content.page-cms > .gaiabis-container h1 + h2 {
  margin-top: 0;
  margin-bottom: 1.75rem;
}

body#cms #content.page-cms > .gaiabis-container :is(h3, h4) {
  margin: 2rem 0 .875rem;
  line-height: 1.3;
}

body#cms #content.page-cms > .gaiabis-container :is(p, ul, ol, blockquote, table) {
  margin-top: 0;
  margin-bottom: 1.25rem;
  font-size: inherit;
  line-height: inherit;
}

/* Header */

#header {
  position: sticky;
  z-index: 1000;
  top: 0;
  background: var(--gaiabis-ink);
  color: var(--gaiabis-yellow);
  box-shadow: 0 .35rem 1rem rgba(0, 0, 0, .2);
}

#header .gaiabis-header__notice {
  min-height: 1.8rem;
  border-bottom: 1px solid rgba(251, 190, 1, .25);
  background: var(--gaiabis-ink);
  color: var(--gaiabis-paper);
  font-size: .78rem;
  font-weight: 650;
  letter-spacing: .04em;
  text-align: center;
}

#header .gaiabis-header__notice-inner {
  display: flex;
  width: 100%;
  max-width: none;
  min-height: 1.8rem;
  padding-right: 0;
  padding-left: 0;
  align-items: center;
  justify-content: center;
}

#header .gaiabis-header__notice a,
#header .gaiabis-header__notice strong {
  color: var(--gaiabis-yellow);
}

.gaiabis-header__main {
  position: relative;
  background: var(--gaiabis-ink);
}

.gaiabis-header__row {
  display: grid;
  width: 100%;
  max-width: none;
  min-height: 5rem;
  padding-right: clamp(.75rem, 2vw, 2rem);
  padding-left: clamp(.75rem, 2vw, 2rem);
  align-items: center;
  grid-template-columns: minmax(8rem, 10.5rem) minmax(0, 1fr) auto;
  gap: clamp(.65rem, 1.3vw, 1.25rem);
}

.gaiabis-header__logo h1 {
  margin: 0;
}

.gaiabis-header__logo img {
  display: block;
  width: auto;
  max-width: 10rem;
  height: auto;
  max-height: 3.4rem;
}

.gaiabis-header__navigation {
  min-width: 0;
}

.gaiabis-header__navigation ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.gaiabis-header__navigation > div > ul,
.gaiabis-header__navigation .gmm__root,
.gaiabis-header__navigation .top-menu[data-depth="0"] {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  gap: clamp(.8rem, 1.5vw, 1.8rem);
}

.gaiabis-header__navigation .gmm__link--root,
.gaiabis-header__navigation .top-menu[data-depth="0"] > li > a {
  color: var(--gaiabis-yellow);
  font-size: clamp(.88rem, .92vw, 1rem);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: .025em;
  text-transform: uppercase;
  white-space: nowrap;
}

#header .gaiabis-header__navigation .gmm__link--root {
  color: var(--gaiabis-yellow) !important;
}

#header .gaiabis-header__navigation .gmm__link--root:hover,
#header .gaiabis-header__navigation .gmm__link--root:focus-visible {
  color: var(--gaiabis-paper) !important;
}

@media (min-width: 1200px) {
  #header .gaiabis-header__navigation .gmm__panel {
    max-height: min(740px, calc(100vh - 72px));
  }
}

.gaiabis-header__action-cluster {
  display: flex;
  min-height: 3rem;
  align-items: center;
  padding: 0 .25rem;
  border-radius: 999px;
  background: var(--gaiabis-yellow);
  color: var(--gaiabis-ink);
}

.gaiabis-header__search,
.gaiabis-header__actions {
  display: flex;
  align-items: center;
}

.gaiabis-header__search {
  min-width: 2.75rem;
}

.gaiabis-header__search .gaiabis-search {
  --gaiabis-search-accent: var(--gaiabis-ink);
  --gaiabis-search-accent-contrast: var(--gaiabis-yellow);
  --gaiabis-search-border: var(--gaiabis-yellow);
  --gaiabis-search-radius: .65rem;
  --gaiabis-search-surface: var(--gaiabis-paper);
  --gaiabis-search-text: var(--gaiabis-ink);
  width: 2.75rem;
  transition: width .25s ease;
}

.gaiabis-header__search .gaiabis-search__submit {
  display: grid;
  width: 2.75rem;
  min-width: 2.75rem;
  height: 2.5rem;
  min-height: 2.5rem;
  padding: 0;
  place-items: center;
  border: 2px solid transparent;
  border-radius: .65rem;
  background: transparent;
  color: var(--gaiabis-ink);
  transition: background-color .2s ease, color .2s ease;
}

.gaiabis-header__search .gaiabis-search__submit:hover,
.gaiabis-header__search .gaiabis-search__submit:focus-visible {
  background: rgba(17, 17, 17, .1);
  color: var(--gaiabis-ink);
}

.gaiabis-header__search .gaiabis-search__submit:focus-visible {
  outline: 2px solid var(--gaiabis-ink);
  outline-offset: 2px;
}

.gaiabis-header__search .gaiabis-search__submit > span[aria-hidden="true"] {
  position: relative;
  display: block;
  width: .9rem;
  height: .9rem;
  border: 2px solid currentColor;
  border-radius: 50%;
  font-size: 0;
}

.gaiabis-header__search .gaiabis-search__submit > span[aria-hidden="true"]::after {
  position: absolute;
  right: -.38rem;
  bottom: -.25rem;
  width: .45rem;
  height: 2px;
  border-radius: 2px;
  background: currentColor;
  content: "";
  transform: rotate(45deg);
  transform-origin: left center;
}

.gaiabis-header__search .gaiabis-search__input {
  width: 0;
  height: 2.5rem;
  min-height: 2.5rem;
  padding-top: 0;
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
  border-color: transparent;
  opacity: 0;
  pointer-events: none;
}

.gaiabis-header__search .gaiabis-search.is-expanded,
.gaiabis-header__search .gaiabis-search:has(.gaiabis-search__input:focus) {
  width: min(22rem, 32vw);
}

.gaiabis-header__search .gaiabis-search.is-expanded .gaiabis-search__input,
.gaiabis-header__search .gaiabis-search:has(.gaiabis-search__input:focus) .gaiabis-search__input {
  width: 100%;
  padding-right: 3.25rem;
  padding-left: .9rem;
  border: 2px solid var(--gaiabis-yellow);
  opacity: 1;
  pointer-events: auto;
}

.gaiabis-header__actions > div,
.gaiabis-header__actions > nav,
.gaiabis-header__actions > a {
  margin: 0;
}

.gaiabis-header__actions a,
.gaiabis-header__actions button,
.gaiabis-header__search a,
.gaiabis-header__search button {
  color: var(--gaiabis-ink);
}

.gaiabis-header__actions .blockcart,
.gaiabis-header__actions .user-info,
.gaiabis-header__actions .language-selector,
.gaiabis-header__actions .currency-selector {
  display: flex;
  height: 2.5rem;
  min-height: 2.5rem;
  align-items: center;
  padding: 0 .3rem;
  border: 0;
  background: transparent;
}

.gaiabis-header__actions .language-selector > span,
.gaiabis-header__actions .currency-selector > span {
  display: inline-flex;
  min-width: 2.25rem;
  min-height: 2.25rem;
  align-items: center;
  justify-content: center;
  font-size: .95rem;
  font-weight: 800;
  letter-spacing: .035em;
}

.gaiabis-header__actions .user-info,
.gaiabis-header__actions .blockcart .header {
  display: flex;
  align-items: center;
}

.gaiabis-header__actions .user-info > a,
.gaiabis-header__actions .blockcart .header > a {
  position: relative;
  display: inline-grid;
  width: 2.5rem;
  min-width: 2.5rem;
  min-height: 2.5rem;
  padding: 0;
  place-items: center;
  border-radius: 50%;
  font-size: 0;
  text-decoration: none;
}

.gaiabis-header__actions .blockcart .header > a::before {
  display: none;
  content: none;
}

.gaiabis-header__actions .blockcart .header > a > .material-icons {
  display: block;
  color: currentColor;
  font-size: 1.35rem;
  font-weight: 400;
  line-height: 1;
}

.gaiabis-header__actions .blockcart .header > a {
  width: auto;
  min-width: 2.75rem;
  padding: 0 .4rem;
  grid-auto-flow: column;
  grid-template-columns: auto auto;
  gap: .15rem;
}

.gaiabis-header__actions .blockcart .cart-products-count {
  position: static;
  display: inline-block !important;
  min-width: 0;
  height: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: currentColor;
  font-size: .82rem !important;
  font-weight: 700;
  line-height: 1;
}

.gaiabis-header__actions .user-info > a:hover,
.gaiabis-header__actions .user-info > a:focus,
.gaiabis-header__actions .user-info > a:focus-visible,
.gaiabis-header__actions .user-info > a:active,
.gaiabis-header__actions .blockcart .header > a:hover,
.gaiabis-header__actions .blockcart .header > a:focus,
.gaiabis-header__actions .blockcart .header > a:focus-visible,
.gaiabis-header__actions .blockcart .header > a:active,
.gaiabis-header__actions .gcompare-nav:hover,
.gaiabis-header__actions .gcompare-nav:focus,
.gaiabis-header__actions .gcompare-nav:focus-visible,
.gaiabis-header__actions .gcompare-nav:active {
  background: var(--gaiabis-ink) !important;
  color: var(--gaiabis-yellow) !important;
}

.gaiabis-header__actions :is(
  .user-info > a,
  .blockcart .header > a,
  .gcompare-nav
):is(:hover, :focus, :focus-visible, :active) :is(i, span, svg, path) {
  color: currentColor !important;
  fill: currentColor !important;
}

body.gaiabis-mini-cart-open {
  overflow: hidden;
}

.gaiabis-mini-cart__backdrop {
  position: fixed;
  z-index: 1090;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: rgba(9, 9, 9, .58);
  cursor: default;
}

.gaiabis-mini-cart__backdrop[hidden],
.gaiabis-mini-cart[hidden] {
  display: none !important;
}

.gaiabis-mini-cart {
  position: fixed;
  z-index: 1100;
  top: 0;
  right: 0;
  display: flex;
  width: min(25rem, calc(100vw - 1rem));
  height: 100vh;
  height: 100dvh;
  padding: 1rem;
  border: 0;
  border-left: 1px solid var(--gaiabis-line);
  background: var(--gaiabis-paper);
  color: var(--gaiabis-color-ink);
  flex-direction: column;
  gap: 1rem;
  box-shadow: -1rem 0 2.5rem rgba(0, 0, 0, .22);
  text-align: left;
}

.gaiabis-mini-cart:focus {
  outline: 0;
}

.gaiabis-mini-cart__heading,
.gaiabis-mini-cart__total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
}

.gaiabis-mini-cart__heading {
  padding-bottom: .8rem;
  border-bottom: 1px solid var(--gaiabis-line);
}

.gaiabis-mini-cart__heading h2 {
  margin: 0;
  color: var(--gaiabis-color-ink);
  font-size: 1.2rem;
}

.gaiabis-mini-cart__close {
  display: inline-grid;
  width: 2.5rem;
  min-width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  place-items: center;
  border: 1px solid var(--gaiabis-line);
  border-radius: 999px;
  background: transparent;
  color: var(--gaiabis-color-ink);
}

.gaiabis-mini-cart__close:hover,
.gaiabis-mini-cart__close:focus-visible {
  border-color: var(--gaiabis-yellow);
  background: var(--gaiabis-yellow);
  color: var(--gaiabis-ink);
}

.gaiabis-mini-cart__products {
  min-height: 0;
  margin: 0;
  padding: 0 .25rem 0 0;
  overflow-y: auto;
  list-style: none;
}

.gaiabis-mini-cart__product {
  display: grid;
  padding: .75rem 0;
  border-bottom: 1px solid var(--gaiabis-line);
  align-items: center;
  grid-template-columns: 4rem minmax(0, 1fr) auto;
  gap: .75rem;
}

.gaiabis-mini-cart__image {
  display: grid;
  width: 4rem;
  height: 4rem;
  overflow: hidden;
  place-items: center;
  border-radius: var(--gaiabis-radius-sm);
  background: var(--gaiabis-canvas);
  color: var(--gaiabis-muted);
}

.gaiabis-mini-cart__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gaiabis-mini-cart__product-copy {
  display: grid;
  min-width: 0;
  gap: .25rem;
}

.gaiabis-mini-cart__product-name {
  overflow: hidden;
  color: var(--gaiabis-color-ink) !important;
  font-weight: 700;
  line-height: 1.25;
  text-overflow: ellipsis;
}

.gaiabis-mini-cart__quantity {
  color: var(--gaiabis-muted) !important;
  font-size: .82rem;
}

.gaiabis-mini-cart__price {
  color: var(--gaiabis-color-ink) !important;
  font-size: .9rem;
  white-space: nowrap;
}

.gaiabis-mini-cart__total {
  margin-top: auto;
  padding-top: .9rem;
  border-top: 1px solid var(--gaiabis-line);
  color: var(--gaiabis-color-ink);
  font-size: 1rem;
}

.gaiabis-mini-cart__actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: .6rem;
}

.gaiabis-mini-cart__actions a {
  display: inline-flex;
  min-height: 2.8rem;
  padding: .65rem .75rem;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--gaiabis-ink);
  border-radius: var(--gaiabis-radius-sm);
  font-weight: 750;
  line-height: 1.2;
  text-align: center;
}

.gaiabis-mini-cart__cart-link {
  border-color: var(--gaiabis-yellow) !important;
  background: var(--gaiabis-yellow);
  color: var(--gaiabis-ink) !important;
}

.gaiabis-mini-cart__actions a:hover,
.gaiabis-mini-cart__actions a:focus-visible {
  border-color: var(--gaiabis-yellow);
  background: var(--gaiabis-ink);
  color: var(--gaiabis-yellow) !important;
}

.gaiabis-mini-cart__empty {
  margin: auto 0;
  color: var(--gaiabis-muted);
  text-align: center;
}

html[data-gaiabis-color-mode="dark"] .gaiabis-mini-cart__close {
  border-color: #5d6269;
  background: #111;
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] .gaiabis-mini-cart__close .material-icons {
  color: currentColor !important;
}

body.gaiabis-mini-cart-open #gabi-widget.gabi-widget {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

@media (max-width: 1199px) {
  .gaiabis-mini-cart,
  .gaiabis-mini-cart__backdrop {
    display: none !important;
  }

  body.gaiabis-mini-cart-open {
    overflow: auto;
  }
}

.gaiabis-cart-toast {
  position: fixed;
  z-index: 2147483200;
  right: auto;
  bottom: max(1.25rem, env(safe-area-inset-bottom));
  left: 50%;
  display: grid;
  width: min(46rem, calc(100vw - 2rem));
  min-height: 4.5rem;
  padding: .85rem 1rem 1rem;
  overflow: hidden;
  align-items: center;
  border: 1px solid #444b53;
  border-radius: var(--gaiabis-radius-sm);
  background: #191d21;
  box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, .3);
  color: #f5f1e8;
  grid-template-columns: 2.25rem minmax(0, 1fr) auto;
  gap: .8rem;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, calc(100% + 2rem));
  transition: opacity .2s ease, transform .2s ease;
}

.gaiabis-cart-toast--visible {
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, 0);
}

.gaiabis-cart-toast__icon {
  display: grid;
  width: 2.25rem;
  height: 2.25rem;
  place-items: center;
  border-radius: 999px;
  background: var(--gaiabis-yellow);
  color: #111315;
  font-size: 1.15rem;
  font-weight: 850;
}

.gaiabis-cart-toast__copy {
  display: grid;
  min-width: 0;
  color: #f5f1e8;
  gap: .15rem;
}

.gaiabis-cart-toast__copy strong,
.gaiabis-cart-toast__product,
.gaiabis-cart-toast__error {
  color: inherit;
  line-height: 1.3;
}

.gaiabis-cart-toast__copy strong {
  font-size: .95rem;
}

.gaiabis-cart-toast__product {
  overflow: hidden;
  color: #bbc1c8;
  font-size: .82rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.gaiabis-cart-toast__error {
  color: #ffb3b3;
  font-size: .78rem;
}

.gaiabis-cart-toast__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
}

.gaiabis-cart-toast__quantity {
  display: inline-grid;
  min-height: 2.6rem;
  overflow: hidden;
  align-items: stretch;
  border: 1px solid #666d75;
  border-radius: var(--gaiabis-radius-sm);
  grid-template-columns: 2.4rem 2.25rem 2.4rem;
}

.gaiabis-cart-toast__quantity button,
.gaiabis-cart-toast__quantity output {
  display: grid;
  min-width: 0;
  min-height: 2.5rem;
  padding: 0;
  place-items: center;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #f5f1e8;
  font-weight: 800;
  line-height: 1;
}

.gaiabis-cart-toast__quantity button {
  font-size: 1.15rem;
}

.gaiabis-cart-toast__quantity output {
  border-right: 1px solid #444b53;
  border-left: 1px solid #444b53;
  font-size: .9rem;
}

.gaiabis-cart-toast__quantity button:is(:hover, :focus-visible) {
  background: var(--gaiabis-yellow);
  color: #111315;
}

.gaiabis-cart-toast__quantity button:disabled {
  opacity: .55;
  cursor: wait;
}

.gaiabis-cart-toast__undo,
.gaiabis-cart-toast__cart,
.gaiabis-cart-toast__close {
  display: inline-flex;
  min-height: 2.6rem;
  align-items: center;
  justify-content: center;
  border-radius: var(--gaiabis-radius-sm);
  font-weight: 750;
  line-height: 1.1;
}

.gaiabis-cart-toast__undo,
.gaiabis-cart-toast__cart {
  min-width: 6.4rem;
  padding: .65rem .85rem;
  border: 1px solid #666d75;
}

.gaiabis-cart-toast__undo {
  position: relative;
  background: transparent;
  color: #f5f1e8;
}

.gaiabis-cart-toast__cart {
  border-color: var(--gaiabis-yellow);
  background: var(--gaiabis-yellow);
  color: #111315 !important;
  text-align: center;
}

.gaiabis-cart-toast__close {
  width: 2.6rem;
  min-width: 2.6rem;
  padding: 0;
  border: 1px solid #666d75;
  background: transparent;
  color: #f5f1e8;
}

.gaiabis-cart-toast__close .material-icons {
  color: currentColor !important;
  font-size: 1.25rem;
}

.gaiabis-cart-toast__undo:is(:hover, :focus-visible),
.gaiabis-cart-toast__close:is(:hover, :focus-visible) {
  border-color: var(--gaiabis-yellow);
  background: #2a2f35;
  color: var(--gaiabis-yellow);
}

.gaiabis-cart-toast__cart:is(:hover, :focus-visible) {
  border-color: var(--gaiabis-yellow);
  background: #111315;
  color: var(--gaiabis-yellow) !important;
}

.gaiabis-cart-toast__undo[aria-busy="true"] {
  color: transparent;
  cursor: wait;
}

.gaiabis-cart-toast__undo[aria-busy="true"]::after {
  position: absolute;
  width: 1rem;
  height: 1rem;
  border: 2px solid rgba(245, 241, 232, .35);
  border-top-color: var(--gaiabis-yellow);
  border-radius: 999px;
  content: "";
  animation: gaiabisCartToastSpin .7s linear infinite;
}

.gaiabis-cart-toast__progress {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 3px;
  background: var(--gaiabis-yellow);
  transform: scaleX(0);
  transform-origin: left center;
}

.gaiabis-cart-toast__progress--running {
  animation-name: gaiabisCartToastTimer;
  animation-timing-function: linear;
  animation-fill-mode: forwards;
}

.gaiabis-cart-toast--paused .gaiabis-cart-toast__progress {
  animation-play-state: paused;
}

@keyframes gaiabisCartToastTimer {
  from { transform: scaleX(1); }
  to { transform: scaleX(0); }
}

@keyframes gaiabisCartToastSpin {
  to { transform: rotate(360deg); }
}

@media (max-width: 639px) {
  .gaiabis-cart-toast {
    bottom: max(.5rem, env(safe-area-inset-bottom));
    width: calc(100vw - 1rem);
    padding: .8rem .8rem 1rem;
    grid-template-columns: 2.25rem minmax(0, 1fr);
    gap: .65rem;
  }

  .gaiabis-cart-toast__actions {
    grid-column: 1 / -1;
  }

  .gaiabis-cart-toast__quantity {
    flex: 1 0 7.05rem;
  }

  .gaiabis-cart-toast__undo,
  .gaiabis-cart-toast__cart {
    min-width: 0;
    flex: 1 1 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .gaiabis-cart-toast {
    transition: none;
  }

  .gaiabis-cart-toast__progress,
  .gaiabis-cart-toast__undo[aria-busy="true"]::after {
    animation: none;
  }
}

.gaiabis-header__actions .gcompare-nav {
  position: relative;
  min-width: 2.5rem;
  min-height: 2.5rem;
  padding: .35rem;
  justify-content: center;
  border-radius: 999px;
}

.gaiabis-header__actions .user-info > a > .material-icons {
  display: block;
  width: 1.5rem;
  overflow: hidden;
  color: currentColor;
  font-size: 1.45rem;
  line-height: 1;
  text-align: center;
  transform: translateY(.25rem);
  white-space: nowrap;
}

.gaiabis-theme-toggle {
  position: relative;
  display: inline-grid;
  width: 2.5rem;
  min-width: 2.5rem;
  min-height: 2.5rem;
  padding: 0;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--gaiabis-ink);
  cursor: pointer;
  transition: background-color .2s ease, color .2s ease, transform .2s ease;
}

.gaiabis-theme-toggle:hover,
.gaiabis-theme-toggle:focus-visible {
  background: var(--gaiabis-ink);
  color: var(--gaiabis-yellow);
  outline: 0;
  transform: rotate(-8deg);
}

.gaiabis-theme-toggle__sun,
.gaiabis-theme-toggle__moon {
  grid-area: 1 / 1;
  font-size: 1.35rem;
  line-height: 1;
  transition: opacity .2s ease, transform .25s ease;
}

.gaiabis-theme-toggle__sun {
  opacity: 0;
  transform: rotate(-35deg) scale(.65);
}

html[data-gaiabis-color-mode="dark"] .gaiabis-theme-toggle__sun {
  opacity: 1;
  transform: rotate(0) scale(1);
}

html[data-gaiabis-color-mode="dark"] .gaiabis-theme-toggle__moon {
  opacity: 0;
  transform: rotate(35deg) scale(.65);
}

.gaiabis-header__actions .gcompare-nav__label {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
}

.gaiabis-header__actions .gcompare-nav__count {
  min-width: 0;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: currentColor;
  font-size: .82rem;
  font-weight: 700;
  line-height: 1;
}

.gaiabis-header__actions .gcompare-nav:hover .gcompare-nav__count,
.gaiabis-header__actions .gcompare-nav:focus-visible .gcompare-nav__count {
  background: transparent;
  color: currentColor;
}

.gaiabis-header__actions .language-selector,
.gaiabis-header__actions .currency-selector {
  position: relative;
  cursor: default;
}

.gaiabis-header__actions .language-selector > span::after,
.gaiabis-header__actions .currency-selector > span::after {
  margin-left: .25rem;
  content: "▾";
  font-size: .7rem;
}

.gaiabis-header__actions .language-selector > span::after {
  display: none;
  content: none;
}

.gaiabis-header__actions .language-selector > ul,
.gaiabis-header__actions .currency-selector > ul {
  position: absolute;
  z-index: 40;
  top: calc(100% - .1rem);
  right: 0;
  display: none;
  min-width: 8rem;
  margin: 0;
  padding: .4rem;
  border: 1px solid rgba(251, 190, 1, .35);
  border-radius: .5rem;
  background: var(--gaiabis-paper);
  box-shadow: var(--gaiabis-shadow);
  list-style: none;
}

.gaiabis-header__actions .language-selector:hover > ul,
.gaiabis-header__actions .language-selector:focus-within > ul,
.gaiabis-header__actions .language-selector.is-open > ul,
.gaiabis-header__actions .currency-selector:hover > ul,
.gaiabis-header__actions .currency-selector:focus-within > ul,
.gaiabis-header__actions .currency-selector.is-open > ul {
  display: block;
}

.gaiabis-header__actions .language-selector li a,
.gaiabis-header__actions .currency-selector li a {
  display: block;
  padding: .4rem .5rem;
  border-radius: .35rem;
  color: var(--gaiabis-ink);
  white-space: nowrap;
}

.gaiabis-header__actions .language-selector li a:hover,
.gaiabis-header__actions .language-selector li a:focus,
.gaiabis-header__actions .currency-selector li a:hover,
.gaiabis-header__actions .currency-selector li a:focus {
  background: var(--gaiabis-yellow-soft);
  text-decoration: none;
}

.gaiabis-header__mobile-utilities {
  display: none;
}

.gaiabis-checkout-header {
  border-bottom: 1px solid rgba(251, 190, 1, .45);
  background: var(--gaiabis-ink);
  color: var(--gaiabis-paper);
}

.gaiabis-checkout-header__row {
  display: flex;
  min-height: 5rem;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.gaiabis-checkout-header__logo img {
  display: block;
  width: auto;
  max-width: 9rem;
  max-height: 3rem;
}

.gaiabis-checkout-header__security {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  color: var(--gaiabis-yellow);
  font-size: .85rem;
  font-weight: 750;
}

.gaiabis-checkout-header__security svg {
  width: 1.2rem;
  height: 1.2rem;
  fill: currentColor;
}

.gaiabis-header__menu-button {
  width: 2.75rem;
  height: 2.75rem;
  padding: .7rem;
  border: 0;
  background: transparent;
  color: var(--gaiabis-yellow);
}

.gaiabis-header__menu-lines,
.gaiabis-header__menu-lines::before,
.gaiabis-header__menu-lines::after {
  display: block;
  width: 1.35rem;
  height: 2px;
  border-radius: 2px;
  background: currentColor;
  content: "";
  transition: transform .2s ease, opacity .2s ease;
}

.gaiabis-header__menu-lines {
  position: relative;
}

.gaiabis-header__menu-lines::before {
  position: absolute;
  top: -.42rem;
}

.gaiabis-header__menu-lines::after {
  position: absolute;
  top: .42rem;
}

[data-gaiabis-menu-toggle][aria-expanded="true"] .gaiabis-header__menu-lines {
  background: transparent;
}

[data-gaiabis-menu-toggle][aria-expanded="true"] .gaiabis-header__menu-lines::before {
  top: 0;
  transform: rotate(45deg);
}

[data-gaiabis-menu-toggle][aria-expanded="true"] .gaiabis-header__menu-lines::after {
  top: 0;
  transform: rotate(-45deg);
}

/* Catalogue */

#left-column,
#right-column {
  align-self: flex-start;
}

@media (min-width: 768px) {
  #right-column,
  .gaiabis-product__purchase > .product-information {
    position: sticky;
    top: 8.75rem;
  }

  #left-column {
    position: sticky;
    top: 8.75rem;
    max-height: calc(100vh - 9.75rem);
    padding-right: .25rem;
    overflow-x: hidden;
    overflow-y: scroll;
    overscroll-behavior: contain;
    scrollbar-color: var(--gaiabis-yellow) var(--gaiabis-line);
    scrollbar-gutter: stable;
    scrollbar-width: auto;
  }

  #left-column::-webkit-scrollbar {
    width: .65rem;
  }

  #left-column::-webkit-scrollbar-track {
    border-radius: 999px;
    background: var(--gaiabis-line);
  }

  #left-column::-webkit-scrollbar-thumb {
    min-height: 3rem;
    border: 2px solid var(--gaiabis-line);
    border-radius: 999px;
    background: var(--gaiabis-yellow);
  }
}

#left-column .block-categories,
#left-column #search_filters,
#left-column .card,
#right-column .card {
  overflow: hidden;
  border: 1px solid var(--gaiabis-line);
  border-radius: var(--gaiabis-radius);
  background: var(--gaiabis-paper);
  box-shadow: none;
}

#left-column .block-categories .block-title,
#left-column #search_filters > .h6,
#left-column #search_filters > p:first-child {
  margin: 0;
  padding: .8rem 1rem;
  background: var(--gaiabis-ink);
  color: var(--gaiabis-paper);
}

#left-column #search_filters .facet {
  padding: .9rem 1rem;
  border-bottom: 1px solid var(--gaiabis-line);
}

#left-column #search_filters .facet:last-child {
  border-bottom: 0;
}

#left-column #search_filters .facet-title {
  color: var(--gaiabis-muted);
  font-size: .78rem;
  letter-spacing: .035em;
}

#left-column #search_filters .facet-label a {
  color: var(--gaiabis-ink);
}

@media (min-width: 768px) {
  #left-column #search_filters .facet > ul.collapse:not(.faceted-slider) {
    max-height: none;
    padding-right: .35rem;
    overflow: visible;
  }

  #left-column #search_filters .facet > ul.collapse.gaiabis-facet-values--scrollable:not(.faceted-slider) {
    max-height: 13rem;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-color: var(--gaiabis-yellow) transparent;
    scrollbar-gutter: stable;
    scrollbar-width: thin;
  }

  #left-column #search_filters .facet > ul.collapse.gaiabis-facet-values--scrollable:not(.faceted-slider)::-webkit-scrollbar {
    width: .42rem;
  }

  #left-column #search_filters .facet > ul.collapse.gaiabis-facet-values--scrollable:not(.faceted-slider)::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: var(--gaiabis-yellow);
  }
}

#subcategories {
  margin-bottom: 1.25rem;
  padding: 1rem 1.15rem;
  border: 1px solid var(--gaiabis-line);
  border-radius: var(--gaiabis-radius);
  background: var(--gaiabis-paper);
  box-shadow: none;
}

#subcategories .subcategory-heading-row {
  display: flex;
  margin: 0 0 .85rem;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

#subcategories .subcategory-heading {
  margin: 0;
  color: var(--gaiabis-ink);
  font-size: 1.15rem;
}

#subcategories .subcategory-toggle {
  display: none;
  border: 0;
  background: transparent;
  color: var(--gaiabis-yellow);
  font: inherit;
}

#subcategories ul {
  display: grid;
  margin: 0;
  grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
  gap: .7rem;
}

#subcategories ul li {
  width: auto;
  min-width: 0;
  margin: 0;
  text-align: left;
}

#subcategories .subcategory-name {
  display: flex;
  min-height: 3.1rem;
  align-items: center;
  padding: .7rem .85rem;
  border: 1px solid var(--gaiabis-line);
  border-left: 4px solid var(--gaiabis-yellow);
  border-radius: var(--gaiabis-radius-sm);
  background: var(--gaiabis-canvas);
  color: var(--gaiabis-ink);
  font-size: .92rem;
  font-weight: 750;
  line-height: 1.25;
  text-transform: none;
  transition: border-color .2s ease, background-color .2s ease, transform .2s ease;
}

#subcategories .subcategory-name:hover,
#subcategories .subcategory-name:focus-visible {
  border-color: var(--gaiabis-yellow);
  background: var(--gaiabis-yellow-soft);
  color: var(--gaiabis-ink);
  text-decoration: none;
  transform: translateY(-1px);
}

#content-wrapper > .gaiabishub-category-links {
  display: flow-root;
  clear: both;
  width: 100%;
}

.gaiabis-category-intro {
  display: grid;
  overflow: hidden;
  margin-bottom: 1.5rem;
  border: 1px solid var(--gaiabis-line);
  border-radius: var(--gaiabis-radius);
  background: var(--gaiabis-paper);
  grid-template-columns: minmax(0, 1fr);
}

.gaiabis-category-intro--with-image {
  grid-template-columns: minmax(0, 1fr) minmax(14rem, 30%);
}

.gaiabis-category-intro__content {
  padding: clamp(1.2rem, 2.5vw, 2.25rem);
}

.gaiabis-category-intro h1 {
  margin-bottom: .75rem;
  color: var(--gaiabis-ink);
  font-size: clamp(1.6rem, 2.2vw, 2.35rem);
}

.gaiabis-category-intro__description {
  color: var(--gaiabis-muted);
}

.gaiabis-category-footer {
  margin-top: 1.75rem;
  padding: clamp(1.25rem, 2.5vw, 2.25rem);
  border: 1px solid var(--gaiabis-line);
  border-top: 4px solid var(--gaiabis-yellow);
  border-radius: var(--gaiabis-radius);
  background: var(--gaiabis-paper);
  color: var(--gaiabis-muted);
}

.gaiabis-category-footer__content > :last-child {
  margin-bottom: 0;
}

/* Un bloc ps_linklist est volontairement placé dans displayFooterCategory.
 * Ses classes Bootstrap historiques divisent deux fois sa largeur ; le thème
 * le transforme ici en panneau éditorial pleine largeur, sans modifier le
 * module natif ni son rendu dans le véritable pied de page. */
#category .gaiabis-listing > .links {
  display: block;
  float: none !important;
  clear: both;
  width: 100% !important;
  max-width: 100%;
  margin: 1.25rem 0 0;
  padding: 0;
}

#category .gaiabis-listing > .links > .row {
  display: block;
  width: 100%;
  margin: 0;
}

#category .gaiabis-listing > .links > .row > .wrapper {
  display: block;
  float: none !important;
  width: 100% !important;
  max-width: 100%;
  padding: clamp(1rem, 2.2vw, 1.5rem);
  border: 1px solid var(--gaiabis-line);
  border-left: 4px solid var(--gaiabis-yellow);
  border-radius: var(--gaiabis-radius);
  background: var(--gaiabis-paper);
  color: var(--gaiabis-color-ink);
}

#category .gaiabis-listing > .links .h3.hidden-sm-down {
  display: block !important;
  margin: 0 0 .9rem;
  color: var(--gaiabis-color-ink);
  font-size: clamp(1.1rem, 1.6vw, 1.35rem);
  font-weight: 800;
  letter-spacing: .02em;
  line-height: 1.2;
  text-transform: none;
}

#category .gaiabis-listing > .links .title {
  display: none !important;
}

#category .gaiabis-listing > .links ul.collapse {
  display: grid !important;
  height: auto !important;
  margin: 0;
  padding: 0;
  list-style: none;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .65rem;
}

#category .gaiabis-listing > .links li {
  min-width: 0;
  padding: 0;
  border: 0;
}

#category .gaiabis-listing > .links li > a {
  display: flex;
  min-height: 2.9rem;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding: .72rem .85rem;
  border: 1px solid var(--gaiabis-line);
  border-radius: var(--gaiabis-radius-sm);
  background: var(--gaiabis-canvas);
  color: var(--gaiabis-color-ink);
  font-size: .96rem;
  font-weight: 650;
  line-height: 1.35;
  text-decoration: none;
}

#category .gaiabis-listing > .links li > a::after {
  flex: 0 0 auto;
  color: var(--gaiabis-yellow);
  content: "\2192";
  font-weight: 800;
}

#category .gaiabis-listing > .links li > a:hover,
#category .gaiabis-listing > .links li > a:focus-visible {
  border-color: var(--gaiabis-yellow);
  background: var(--gaiabis-yellow-soft);
  color: var(--gaiabis-color-ink);
}

@media (max-width: 767px) {
  #category .gaiabis-listing > .links ul.collapse {
    grid-template-columns: minmax(0, 1fr);
  }
}

.gaiabis-category-intro__media {
  display: grid;
  min-height: 100%;
  place-items: center;
  background: var(--gaiabis-canvas);
}

.gaiabis-category-intro__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gaiabis-category-intro__media--cutout {
  padding: clamp(.75rem, 1.8vw, 1.35rem);
  background:
    radial-gradient(circle at 50% 55%, rgba(251, 190, 1, .15), transparent 68%),
    var(--gaiabis-canvas);
}

.gaiabis-category-intro__media--cutout img {
  width: min(100%, 20rem);
  height: auto;
  max-height: 20rem;
  object-fit: contain;
  filter: drop-shadow(0 .65rem .8rem rgba(0, 0, 0, .18));
}

.gaiabis-desc-toggle {
  display: none;
  margin-top: .75rem;
  padding: .2rem 0;
  border: 0;
  border-bottom: 3px solid var(--gaiabis-yellow);
  border-radius: 0;
  background: transparent;
  color: var(--gaiabis-ink);
  font-weight: 750;
}

.products-selection {
  display: flex;
  align-items: center;
  margin: 0 0 1.25rem;
  padding: .8rem 1rem;
  border-radius: var(--gaiabis-radius-sm);
  background: rgba(255, 255, 255, .72);
}

.products-selection .total-products p,
.products-selection .sort-by {
  margin: 0;
}

#products .products {
  display: flex;
  min-width: 0;
  align-items: stretch;
  flex-wrap: wrap;
  margin-right: -.65rem;
  margin-left: -.65rem;
}

.featured-products .products,
.product-accessories .products {
  min-width: 0;
  flex-wrap: wrap;
}

.gaiabis-product-card-wrapper {
  display: flex;
  min-width: 0;
  padding: 0 .65rem 1.6rem;
}

#products .gaiabis-product-card,
.featured-products .gaiabis-product-card,
.product-accessories .gaiabis-product-card {
  width: 100%;
}

#products .gaiabis-product-card .thumbnail-container,
.featured-products .gaiabis-product-card .thumbnail-container,
.product-accessories .gaiabis-product-card .thumbnail-container {
  width: 100%;
  height: 100%;
  margin: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.gaiabis-product-card__media {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1;
  border: 1px solid transparent;
  border-radius: var(--gaiabis-radius);
  background: rgba(255, 255, 255, .6);
  box-shadow: 0 .45rem 1.15rem rgba(0, 0, 0, .04);
  transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}

.gaiabis-product-card__media::after {
  position: absolute;
  right: 12%;
  bottom: 0;
  left: 12%;
  height: 4px;
  border-radius: 999px 999px 0 0;
  background: var(--gaiabis-yellow);
  content: "";
  opacity: 0;
  transform: scaleX(.35);
  transition: opacity .25s ease, transform .25s ease;
}

.gaiabis-product-card:hover .gaiabis-product-card__media,
.gaiabis-product-card:focus-within .gaiabis-product-card__media {
  border-color: rgba(251, 190, 1, .8);
  box-shadow: 0 .8rem 1.8rem rgba(9, 9, 9, .14);
  transform: translateY(-3px);
}

.gaiabis-product-card:hover .gaiabis-product-card__media::after,
.gaiabis-product-card:focus-within .gaiabis-product-card__media::after {
  opacity: 1;
  transform: scaleX(1);
}

.gaiabis-product-card__media .product-thumbnail {
  display: block;
  width: 100%;
  height: 100%;
}

.gaiabis-product-card .thumbnail-container .gaiabis-product-card__media img.gaiabis-product-card__image {
  position: absolute;
  inset: .25rem;
  width: calc(100% - .5rem);
  height: calc(100% - .5rem);
  object-fit: contain;
  object-position: center;
  transition: opacity .35s ease, transform var(--gaiabis-carousel-speed) ease;
}

.gaiabis-product-card__image--hover {
  opacity: 0;
}

/* ETS Reviews positionne historiquement les étoiles en absolu à -26 px. Dans
 * les cartes Gaiabis, cela remontait le fond du module tout en haut de l’image
 * et formait une fausse barre blanche/grise sur les seuls produits notés. */
.gaiabis-product-card__content .product-list-reviews.list-in-productlist {
  position: static !important;
  inset: auto !important;
  display: flex !important;
  width: auto !important;
  min-height: 1rem;
  margin: .25rem 0 .1rem !important;
  padding: 0 !important;
  justify-content: center !important;
  background: transparent !important;
}

.gaiabis-product-card__content .product-list-reviews.list-in-productlist > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.gaiabis-product-card:focus-within .gaiabis-product-card__image--hover.is-loaded,
.gaiabis-product-card:hover .gaiabis-product-card__image--hover.is-loaded {
  opacity: 1;
}

.gaiabis-product-card.gaiabis-product-card--hover-ready:focus-within .gaiabis-product-card__image--primary,
.gaiabis-product-card.gaiabis-product-card--hover-ready:hover .gaiabis-product-card__image--primary {
  opacity: 0;
}

.gaiabis-product-card:focus-within .gaiabis-product-card__image,
.gaiabis-product-card:hover .gaiabis-product-card__image {
  transform: scale(1.025);
}

.gaiabis-product-card .product-flags {
  top: .65rem;
  left: .65rem;
}

.gaiabis-product-card .product-flags:empty {
  display: none !important;
  margin: 0 !important;
}

.gaiabis-product-card .product-flag {
  border-radius: 999px;
  background: var(--gaiabis-yellow);
  color: var(--gaiabis-ink);
  font-size: .7rem;
  font-weight: 800;
}

.gaiabis-product-card__quickview {
  position: absolute;
  right: .75rem;
  bottom: .75rem;
  z-index: 5;
  width: 2.5rem;
  height: 2.5rem;
  opacity: 0;
  pointer-events: none;
  transform: translateY(.35rem);
  transition: opacity .2s ease, transform .2s ease;
}

.gaiabis-product-card:hover .gaiabis-product-card__quickview,
.gaiabis-product-card:focus-within .gaiabis-product-card__quickview {
  opacity: 1;
  pointer-events: auto;
  transform: none;
}

.gaiabis-product-card__quickview a {
  display: grid;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background: var(--gaiabis-yellow);
  color: var(--gaiabis-ink);
  font-size: 1.35rem;
  place-items: center;
}

.gaiabis-product-card__quickview svg {
  width: 1.25rem;
  height: 1.25rem;
  fill: currentColor;
}

#products .gaiabis-product-card__content,
.featured-products .gaiabis-product-card__content,
.product-accessories .gaiabis-product-card__content {
  position: static;
  width: 100%;
  height: auto;
  padding: .75rem 0 0;
  background: transparent;
}

.gaiabis-product-card__content::after {
  display: none !important;
}

.gaiabis-product-card__category {
  margin: 0 0 .2rem;
  color: var(--gaiabis-muted);
  font-size: .77rem;
}

.gaiabis-product-card .product-title {
  margin: 0 0 .45rem;
  text-align: left;
  text-transform: none;
}

.gaiabis-product-card .product-title a {
  display: block;
  color: var(--gaiabis-ink);
  font-size: .98rem;
  font-weight: 560;
  line-height: 1.3;
}

.gaiabis-product-card .product-list-reviews {
  display: flex;
  min-height: 1.6rem;
  margin: 0 0 .35rem;
  align-items: center;
  justify-content: flex-start;
  color: #ee9a00;
}

.gaiabis-product-card .product-list-reviews a {
  display: inline-flex;
  align-items: center;
  color: inherit;
  text-decoration: none;
}

.gaiabis-product-card .product-list-reviews .ets-rv-comments-nb {
  margin-left: .35rem;
  color: var(--gaiabis-muted);
  font-family: inherit;
  font-size: .78rem;
  font-weight: 700;
}

.gaiabis-product-card .product-price-and-shipping {
  color: var(--gaiabis-ink);
  font-weight: 800;
  text-align: left;
}

.gaiabis-product-card .price {
  color: var(--gaiabis-ink);
  font-size: 1rem;
}

.gaiabis-product-card__discount {
  display: inline-block;
  margin-left: .45rem;
  padding: .08rem .4rem;
  border-radius: 999px;
  background: var(--gaiabis-yellow);
  color: var(--gaiabis-ink);
  font-size: .72rem;
}

.gaiabis-product-card__actions {
  display: flex;
  min-height: 2.75rem;
  align-items: center;
  flex-wrap: wrap;
  gap: .4rem;
}

.gaiabis-product-card__cart-form {
  display: flex;
  min-width: 10rem;
  align-items: stretch;
  flex: 1 1 auto;
  gap: .4rem;
}

.gaiabis-product-card__quantity {
  width: 3.4rem;
  min-width: 3.4rem;
  min-height: 2.75rem;
  padding: .45rem .25rem;
  border: 1px solid var(--gaiabis-line);
  border-radius: .5rem;
  background: var(--gaiabis-paper);
  color: var(--gaiabis-ink);
  font-weight: 750;
  text-align: center;
}

.gaiabis-product-card__cart-button,
.gaiabis-product-card__details-button {
  display: inline-flex;
  width: 100%;
  min-height: 2.75rem;
  padding: .6rem .8rem;
  border: 1px solid var(--gaiabis-yellow);
  border-radius: .5rem;
  align-items: center;
  justify-content: center;
  gap: .35rem;
  background: var(--gaiabis-yellow);
  color: var(--gaiabis-ink);
  font-size: .82rem;
  font-weight: 750;
  line-height: 1.2;
  text-decoration: none;
}

.gaiabis-product-card__cart-form .gaiabis-product-card__cart-button {
  width: auto;
  min-width: 0;
  flex: 1 1 auto;
}

.gaiabis-product-card__cart-button:hover,
.gaiabis-product-card__cart-button:focus-visible,
.gaiabis-product-card__details-button:hover,
.gaiabis-product-card__details-button:focus-visible {
  border-color: var(--gaiabis-ink);
  background: var(--gaiabis-ink);
  color: var(--gaiabis-yellow);
  text-decoration: none;
}

.gaiabis-product-card__actions .gcompare-action {
  flex: 0 0 auto;
}

.gaiabis-product-card__actions .gcompare-action__button {
  width: 2.75rem;
  padding: .6rem;
  justify-content: center;
}

.gaiabis-product-card__actions [data-gaiabis-compare-label] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.gaiabis-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem;
  border-radius: var(--gaiabis-radius);
  background: var(--gaiabis-paper);
}

.gaiabis-pagination::after {
  display: none;
}

.gaiabis-pagination__summary {
  color: var(--gaiabis-muted);
  font-size: .85rem;
}

.gaiabis-pagination .page-list {
  display: flex;
  margin: 0;
  padding: 0;
  align-items: center;
  gap: .35rem;
  list-style: none;
}

.gaiabis-pagination .page-list a,
.gaiabis-pagination .page-list .spacer {
  display: grid;
  min-width: 2.25rem;
  min-height: 2.25rem;
  padding: .35rem;
  border-radius: .4rem;
  color: var(--gaiabis-ink);
  place-items: center;
}

.gaiabis-pagination .current a,
.gaiabis-pagination a:hover,
.gaiabis-pagination a:focus {
  background: var(--gaiabis-yellow);
  text-decoration: none;
}

.gaiabis-list-status {
  min-height: 1.5rem;
  margin: .75rem 0;
  color: var(--gaiabis-muted);
  font-size: .85rem;
  text-align: center;
}

/* Fiche produit, mise en page 3 */

.gaiabis-product__layout {
  display: grid;
  align-items: start;
  margin: 0 0 1rem;
  padding: clamp(1rem, 2vw, 2rem);
  border-radius: var(--gaiabis-radius);
  background: var(--gaiabis-paper);
  box-shadow: var(--gaiabis-shadow);
  grid-template-columns: minmax(15rem, .9fr) minmax(20rem, 1.15fr) minmax(17rem, .95fr);
  grid-template-areas: "summary media purchase";
  gap: clamp(1.25rem, 2.5vw, 3rem);
}

.gaiabis-product__summary {
  grid-area: summary;
}

.gaiabis-product__media {
  min-width: 0;
  margin: 0;
  grid-area: media;
}

.gaiabis-product__purchase {
  min-width: 0;
  grid-area: purchase;
}

.gaiabis-product__heading h1 {
  margin: 0 0 1rem;
  color: var(--gaiabis-ink);
  font-size: clamp(1.5rem, 2.1vw, 2.15rem);
  font-weight: 570;
  line-height: 1.15;
  text-transform: none;
}

.gaiabis-product__brand {
  display: flex;
  align-items: center;
  margin: 0 0 .85rem;
}

.gaiabis-product__brand a {
  display: inline-flex;
  align-items: center;
  min-height: 2.5rem;
  padding: .3rem .55rem;
  border: 1px solid var(--gaiabis-line);
  border-radius: .55rem;
  background: #fff;
  color: var(--gaiabis-ink);
}

.gaiabis-product__brand img {
  display: block;
  width: auto;
  max-width: 6.5rem;
  height: auto;
  max-height: 2.4rem;
  object-fit: contain;
}

.gaiabis-product__purchase-pricing .current-price-value {
  color: var(--gaiabis-yellow-hover);
  font-size: clamp(1.55rem, 2vw, 2rem);
  font-weight: 850;
}

.gaiabis-product__short-description {
  color: #333;
  font-size: .96rem;
}

.gaiabis-product__short-description p:last-child {
  margin-bottom: 0;
}

.gaiabis-product__media .product-cover img {
  display: block;
  width: 100%;
  max-height: 34rem;
  margin: 0 auto;
  object-fit: contain;
  background: transparent !important;
}

.gaiabis-product__media .product-cover .layer {
  border-radius: var(--gaiabis-radius-sm);
  background: transparent;
  color: #fff;
}

.gaiabis-product__media .product-cover .layer .zoom-in {
  display: grid;
  width: 3.25rem;
  height: 3.25rem;
  border: 2px solid rgba(255, 255, 255, .75);
  border-radius: 50%;
  place-items: center;
  background: rgba(17, 19, 21, .82);
  box-shadow: 0 .5rem 1.4rem rgba(0, 0, 0, .25);
  font-size: 1.8rem;
}

.gaiabis-product__media .product-images {
  display: flex;
  justify-content: center;
  gap: .5rem;
}

.gaiabis-product__media .product-images > li.thumb-container > .thumb {
  border: 2px solid transparent;
  border-radius: .4rem;
}

.gaiabis-product__media .product-images > li.thumb-container > .thumb.selected {
  border-color: var(--gaiabis-yellow);
}

.gaiabis-product__media .scroll-box-arrows button {
  border: 0;
  background: var(--gaiabis-yellow);
  color: var(--gaiabis-ink);
}

.gaiabis-product__media .images-container {
  position: relative;
}

.gaiabis-product__media .scroll-box-arrows.scroll {
  position: absolute;
  right: .15rem;
  bottom: 3.05rem;
  left: .15rem;
  z-index: 4;
  display: flex;
  align-items: center;
  justify-content: space-between;
  pointer-events: none;
}

.gaiabis-product__media .scroll-box-arrows.scroll button {
  display: grid;
  width: 2.25rem;
  height: 2.25rem;
  border: 1px solid rgba(17, 19, 21, .18);
  border-radius: 50%;
  place-items: center;
  box-shadow: 0 .35rem .9rem rgba(0, 0, 0, .2);
  pointer-events: auto;
}

.gaiabis-product__purchase > .product-information {
  padding: 1.25rem;
  border: 1px solid var(--gaiabis-line);
  border-radius: var(--gaiabis-radius);
  background: var(--gaiabis-paper);
}

.gaiabis-product__purchase .product-variants > .product-variants-item {
  padding: .85rem 0;
  border-top: 0;
}

.gaiabis-product__purchase-pricing {
  margin: .2rem 0 1rem;
  padding: .9rem 0;
  border-top: 0;
  border-bottom: 1px solid var(--gaiabis-line);
}

.gaiabis-product__purchase-pricing .product-prices {
  display: grid;
  align-items: baseline;
  width: 100%;
  margin: 0;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: .25rem .55rem;
}

.gaiabis-product__purchase-pricing .product-price,
.gaiabis-product__purchase-pricing .current-price {
  margin: 0;
}

.gaiabis-product__purchase-pricing .product-price {
  min-width: 0;
}

.gaiabis-product__purchase-pricing .current-price {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: .35rem .65rem;
}

.gaiabis-product__purchase-pricing .current-price .discount {
  max-width: 100%;
  margin-left: 0;
  white-space: normal;
}

.gaiabis-product__purchase-pricing .tax-shipping-delivery-label {
  display: contents;
  color: var(--gaiabis-muted);
  font-size: .82rem;
}

.gaiabis-product__purchase-pricing :is(.gaiabis-price-per-gram, .delivery-information) {
  display: block;
  grid-column: 1 / -1;
}

.gaiabis-product__purchase-pricing .delivery-information {
  margin-top: .2rem;
  font-weight: 650;
}

.gaiabis-product__purchase .product-quantity {
  display: flex;
  align-items: stretch;
  gap: .65rem;
}

.gaiabis-product__purchase .product-quantity .add,
.gaiabis-product__purchase .product-quantity .add .add-to-cart {
  flex: 1 1 auto;
}

.gaiabis-product__purchase .add-to-cart {
  min-height: 3.25rem;
  box-shadow: 0 .35rem .8rem rgba(0, 0, 0, .15);
}

.gaiabis-product__purchase #product-availability:not(:empty) {
  display: inline-flex;
  align-items: center;
  margin: .75rem 0 0;
  padding: .3rem .65rem;
  border-radius: .25rem;
  background: var(--gaiabis-ink);
  color: var(--gaiabis-paper);
  font-size: .82rem;
  gap: .35rem;
}

.gaiabis-product__purchase #product-availability .material-icons {
  color: var(--gaiabis-yellow);
  font-size: 1rem;
}

.gaiabis-product__purchase .product-additional-info {
  display: grid;
  margin-top: 1rem;
  gap: .65rem;
}

.gaiabis-product__status {
  display: flex;
  min-height: 3.75rem;
  margin: 0 0 1rem;
  padding: .8rem 1rem;
  border: 1px solid var(--gaiabis-line);
  border-radius: var(--gaiabis-radius);
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  background: var(--gaiabis-paper);
  box-shadow: var(--gaiabis-shadow);
}

.gaiabis-product__status[hidden] {
  display: none !important;
}

.gaiabis-product__status #product-availability:not(:empty) {
  display: inline-flex;
  margin: 0;
  padding: .35rem .7rem;
  border-radius: var(--gaiabis-radius-sm);
  align-items: center;
  gap: .35rem;
  background: var(--gaiabis-ink);
  color: var(--gaiabis-paper);
  font-size: .82rem;
}

.gaiabis-product__status #product-availability .material-icons {
  color: var(--gaiabis-yellow);
  font-size: 1rem;
}

.gaiabis-product__status .ets-rv-product-comments-additional-info,
.gaiabis-product__status .ets-rv-btn-read-user,
.gaiabis-product__status .comments-note {
  display: flex;
  min-width: 0;
  margin: 0;
  align-items: center;
}

.gaiabis-product__status .comments-note {
  gap: .35rem;
}

.gaiabis-product__status .clearfix,
.gaiabis-product__status .ets-rv-hidden {
  display: none !important;
}

.gaiabis-product__tabs {
  overflow: hidden;
  margin: 0 0 2.5rem;
  border-radius: var(--gaiabis-radius);
  background: var(--gaiabis-paper);
  box-shadow: var(--gaiabis-shadow);
}

.gaiabis-product__tabs .nav-tabs {
  display: flex;
  margin: 0;
  padding: 0;
  border: 0;
  background: var(--gaiabis-paper);
  overflow-x: auto;
}

.gaiabis-product__tabs .nav-link {
  display: block;
  padding: 1rem 1.5rem;
  border: 0;
  border-bottom: 3px solid transparent;
  color: var(--gaiabis-muted);
  white-space: nowrap;
}

.gaiabis-product__tabs .nav-link.active,
.gaiabis-product__tabs .nav-link:hover,
.gaiabis-product__tabs .nav-link:focus {
  border-bottom-color: var(--gaiabis-yellow);
  color: var(--gaiabis-ink);
  text-decoration: none;
}

.gaiabis-product__tabs .tab-content {
  padding: clamp(1rem, 2.5vw, 2rem);
  color: #292929;
}

/* Les logos fabricants ne doivent pas prendre la taille d’une image produit.
 * La double limite conserve leur ratio et reste sûre sur les petits écrans. */
.gaiabis-product__tabs .product-manufacturer .manufacturer-logo {
  display: block;
  width: auto;
  height: auto;
  max-width: min(12rem, 100%);
  max-height: 10rem;
  object-fit: contain;
}

.product-accessories {
  margin-top: 2rem;
}

.product-accessories > h2 {
  font-size: 1.4rem;
}

/* Footer */

#footer {
  background: var(--gaiabis-ink);
  color: var(--gaiabis-paper);
}

/*
 * Classic remet un fond blanc sur le petit pied de page du tunnel après le
 * bundle Gaiabis. Le lien légal héritait alors du texte clair du thème et
 * devenait presque invisible. Cette règle reste volontairement limitée à la
 * commande : le grand pied de page Gaiabis conserve son propre habillage.
 */
body#checkout #footer.js-footer {
  border-top: 1px solid var(--gaiabis-line);
  background: var(--gaiabis-ink) !important;
  color: #f5f1e8 !important;
}

body#checkout #footer.js-footer :is(.text-sm-center, .js-terms) {
  color: #f5f1e8 !important;
}

body#checkout #footer.js-footer .js-terms a {
  color: #f5f1e8 !important;
  text-decoration: underline;
  text-decoration-color: var(--gaiabis-yellow);
  text-underline-offset: .2em;
}

body#checkout #footer.js-footer .js-terms a:is(:hover, :focus-visible) {
  color: var(--gaiabis-yellow) !important;
}

.gaiabis-site-footer__before {
  padding: 2rem 0 1rem;
  border-top: 3px solid var(--gaiabis-yellow);
  background: var(--gaiabis-ink);
}

.gaiabis-site-footer {
  padding: 1.5rem 0;
  background: var(--gaiabis-ink);
}

.gaiabis-site-footer a,
.gaiabis-site-footer .h3,
.gaiabis-site-footer .h4,
.gaiabis-site-footer .h5,
.gaiabis-site-footer__before a,
.gaiabis-site-footer__before .h3 {
  color: var(--gaiabis-paper);
}

.gaiabis-site-footer__content {
  display: flow-root;
}

.gaiabis-site-footer__tools {
  display: flex;
  margin-top: 1.5rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(255, 255, 255, .18);
  align-items: center;
  justify-content: flex-end;
  color: var(--gaiabis-yellow);
  font-size: .85rem;
}

.gaiabis-site-footer__tools a {
  color: var(--gaiabis-yellow);
}

.gaiabis-back-to-top {
  position: fixed;
  z-index: 880;
  right: 1rem;
  bottom: 5.25rem;
  display: grid;
  width: 3rem;
  height: 3rem;
  border: 2px solid var(--gaiabis-yellow);
  border-radius: 50%;
  background: var(--gaiabis-ink);
  color: var(--gaiabis-yellow) !important;
  font-size: 1.55rem;
  line-height: 1;
  opacity: 0;
  pointer-events: none;
  place-items: center;
  transform: translateY(.75rem);
  transition: opacity .2s ease, transform .2s ease, background-color .2s ease;
}

.gaiabis-back-to-top.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: none;
}

.gaiabis-back-to-top:hover,
.gaiabis-back-to-top:focus-visible {
  background: var(--gaiabis-yellow);
  color: var(--gaiabis-ink) !important;
  text-decoration: none;
}

/* Le badge légal reste visible à gauche et n'entre pas en concurrence avec Gabi à droite. */
.grecaptcha-badge {
  right: auto !important;
  left: 0 !important;
  width: 70px !important;
  overflow: hidden !important;
  transition: width .25s ease !important;
}

.grecaptcha-badge:hover,
.grecaptcha-badge:focus-within {
  left: 0 !important;
  width: 256px !important;
}

/* Responsive */

@media (min-width: 1200px) {
  .gaiabis-header__search {
    position: relative;
  }

  .gaiabis-header__search .gaiabis-search.is-expanded,
  .gaiabis-header__search .gaiabis-search:has(.gaiabis-search__input:focus) {
    position: relative;
    z-index: 45;
    top: auto;
    right: auto;
    width: min(22rem, calc(100vw - 2rem));
    transform: none;
  }
}

@media (max-width: 1199px) {
  .gaiabis-header__menu-button.hidden-md-up {
    display: inline-flex !important;
  }

  .gaiabis-header__row {
    min-height: 4rem;
    padding-right: .75rem;
    padding-left: .75rem;
    grid-template-columns: 2.75rem minmax(5rem, 1fr) auto;
    gap: .4rem;
  }

  .gaiabis-header__logo img {
    max-width: 7.6rem;
    max-height: 2.5rem;
  }

  .gaiabis-header__action-cluster {
    min-height: 2.75rem;
    padding: 0 .3rem;
  }

  .gaiabis-header__search {
    min-width: 2.35rem;
  }

  .gaiabis-header__search .gaiabis-search.is-expanded,
  .gaiabis-header__search .gaiabis-search:has(.gaiabis-search__input:focus) {
    position: absolute;
    z-index: 30;
    right: .5rem;
    left: 3.65rem;
    width: auto;
  }

  .gaiabis-header__actions .user-info,
  .gaiabis-header__actions .blockcart {
    min-height: 2.1rem;
    padding: .25rem .35rem;
  }

  .gaiabis-header__actions .user-info .hidden-sm-down,
  .gaiabis-header__actions .blockcart .hidden-sm-down,
  .gaiabis-header__actions .gcompare-nav__label {
    display: none !important;
  }

  .gaiabis-header__navigation {
    position: absolute;
    z-index: 20;
    top: 100%;
    right: 0;
    left: 0;
    display: none;
    max-height: calc(100vh - 5.8rem);
    padding: 1rem;
    border-top: 1px solid rgba(251, 190, 1, .35);
    background: var(--gaiabis-ink);
    overflow-y: auto;
    box-shadow: 0 1rem 1.5rem rgba(0, 0, 0, .25);
  }

  .gaiabis-header__navigation.is-open {
    display: block;
  }

  .gaiabis-header__navigation > div > ul,
  .gaiabis-header__navigation .gmm__root,
  .gaiabis-header__navigation .top-menu[data-depth="0"] {
    display: block;
  }

  .gaiabis-header__navigation .gmm__link--root,
  .gaiabis-header__navigation .top-menu[data-depth="0"] > li > a {
    display: flex;
    min-height: 2.8rem;
    align-items: center;
    border-bottom: 1px solid rgba(255, 255, 255, .12);
    font-size: .92rem;
    white-space: normal;
  }

  .gaiabis-header__mobile-utilities {
    display: flex;
    margin-top: 1rem;
    padding-top: .75rem;
    border-top: 1px solid rgba(255, 255, 255, .14);
    align-items: flex-start;
    gap: .75rem;
  }

  .gaiabis-header__mobile-utilities .language-selector,
  .gaiabis-header__mobile-utilities .currency-selector {
    min-width: 0;
    flex: 1 1 50%;
    color: var(--gaiabis-paper);
  }

  .gaiabis-header__mobile-utilities .language-selector > span,
  .gaiabis-header__mobile-utilities .currency-selector > span {
    display: block;
    margin-bottom: .4rem;
    color: var(--gaiabis-yellow);
    font-weight: 750;
  }

  .gaiabis-header__mobile-utilities .language-selector > span {
    display: none;
  }

  .gaiabis-header__mobile-utilities .language-selector > ul,
  .gaiabis-header__mobile-utilities .currency-selector > ul {
    position: static;
    display: flex !important;
    margin: 0;
    padding: 0;
    flex-wrap: wrap;
    gap: .35rem;
    list-style: none;
    opacity: 1;
    visibility: visible;
  }

  .gaiabis-header__mobile-utilities a {
    display: block;
    padding: .35rem .5rem;
    border: 1px solid rgba(251, 190, 1, .35);
    border-radius: .4rem;
    background: #111;
    color: #f5f1e8 !important;
  }

  .gaiabis-header__mobile-utilities :is(.language-selector, .currency-selector) li.current a {
    border-color: var(--gaiabis-yellow);
    background: var(--gaiabis-yellow);
    color: var(--gaiabis-ink) !important;
  }

  .gaiabis-header__mobile-utilities :is(.language-selector, .currency-selector) a:hover,
  .gaiabis-header__mobile-utilities :is(.language-selector, .currency-selector) a:focus-visible {
    border-color: var(--gaiabis-yellow);
    color: var(--gaiabis-yellow) !important;
  }

  body.gaiabis-menu-open {
    overflow: hidden;
  }

  .gaiabis-product__layout {
    grid-template-columns: minmax(13rem, .8fr) minmax(18rem, 1fr) minmax(15rem, .85fr);
    gap: 1.25rem;
  }
}

@media (min-width: 1200px) and (max-width: 1599px) {
  .gaiabis-header__row {
    padding-right: clamp(.75rem, 1.4vw, 1.25rem);
    padding-left: clamp(.75rem, 1.4vw, 1.25rem);
    grid-template-columns: minmax(7.5rem, 9rem) minmax(0, 1fr) auto;
    gap: clamp(.45rem, .8vw, .75rem);
  }

  .gaiabis-header__logo img {
    max-width: 8.75rem;
  }

  .gaiabis-header__navigation .gmm__root {
    justify-content: space-between;
    gap: .4rem;
  }

  .gaiabis-header__navigation .gmm__link--root,
  .gaiabis-header__navigation .top-menu[data-depth="0"] > li > a {
    padding-right: clamp(.2rem, .45vw, .4rem);
    padding-left: clamp(.2rem, .45vw, .4rem);
    font-size: clamp(.875rem, .94vw, .95rem);
  }

  .gaiabis-header__actions .user-info .hidden-sm-down,
  .gaiabis-header__actions .blockcart .hidden-sm-down,
  .gaiabis-header__actions .gcompare-nav__label {
    display: none !important;
  }
}

@media (max-width: 991px) {
  .gaiabis-product__layout {
    grid-template-columns: minmax(0, 1fr) minmax(17rem, 1fr);
    grid-template-areas:
      "summary media"
      "purchase purchase";
  }

  .gaiabis-product__purchase > .product-information {
    display: grid;
    align-items: start;
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 767px) {
  .container {
    width: min(calc(100% - 1rem), var(--gaiabis-container));
    padding-right: .5rem;
    padding-left: .5rem;
  }

  #wrapper {
    padding-top: .5rem;
  }

  #left-column {
    max-height: none;
    padding-right: 0;
    overflow: visible;
  }

  #wrapper .breadcrumb {
    overflow: hidden;
    margin-bottom: .75rem;
  }

  #wrapper .breadcrumb ol {
    display: flex;
    width: 100%;
    min-width: 0;
    align-items: center;
    white-space: nowrap;
  }

  #wrapper .breadcrumb li {
    display: flex;
    min-width: 0;
    align-items: center;
  }

  #wrapper .breadcrumb li:not(:last-child) {
    max-width: 7rem;
    flex: 0 1 auto;
  }

  #wrapper .breadcrumb li:last-child {
    flex: 1 1 auto;
  }

  #wrapper .breadcrumb li > a,
  #wrapper .breadcrumb li > span {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  #header .gaiabis-header__notice {
    font-size: .68rem;
  }

  .gaiabis-checkout-header__row {
    min-height: 4rem;
  }

  .gaiabis-checkout-header__logo img {
    max-width: 7.6rem;
    max-height: 2.5rem;
  }

  .gaiabis-checkout-header__security {
    font-size: .74rem;
  }

  #left-column {
    position: static;
  }

  #subcategories {
    overflow: hidden;
    padding-right: .75rem;
    padding-left: .75rem;
  }

  #subcategories .subcategory-heading-row {
    gap: .75rem;
  }

  #subcategories .subcategory-toggle {
    display: inline-flex;
    min-height: 2.25rem;
    flex: 0 0 auto;
    align-items: center;
    padding: .25rem 0 .25rem .4rem;
    color: var(--gaiabis-yellow);
    font-size: .82rem;
    font-weight: 750;
    line-height: 1.2;
    cursor: pointer;
  }

  #subcategories .subcategory-toggle::after {
    width: .5rem;
    height: .5rem;
    margin: -.2rem .15rem 0 .55rem;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    content: '';
    transform: rotate(45deg);
    transition: transform .2s ease, margin .2s ease;
  }

  #subcategories .subcategory-toggle:hover,
  #subcategories .subcategory-toggle:focus-visible {
    color: var(--gaiabis-color-ink);
    text-decoration: underline;
    text-underline-offset: .2rem;
  }

  #subcategories ul {
    display: flex;
    padding: 0 0 .35rem;
    overflow-x: auto;
    overflow-y: hidden;
    align-items: stretch;
    justify-content: flex-start;
    flex-wrap: nowrap;
    grid-template-columns: none;
    gap: .65rem;
    scroll-padding-left: .1rem;
    scroll-snap-type: x proximity;
    scrollbar-color: var(--gaiabis-yellow) var(--gaiabis-canvas);
    scrollbar-width: thin;
  }

  #subcategories ul li {
    width: auto;
    min-width: min(78vw, 17rem);
    flex: 0 0 min(78vw, 17rem);
    scroll-snap-align: start;
  }

  #subcategories .subcategory-name {
    height: 100%;
  }

  #subcategories.is-expanded {
    overflow: visible;
  }

  #subcategories.is-expanded ul {
    display: grid;
    padding-bottom: 0;
    overflow: visible;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    scroll-snap-type: none;
  }

  #subcategories.is-expanded ul li {
    width: auto;
    min-width: 0;
    flex: none;
  }

  #subcategories.is-expanded .subcategory-toggle::after {
    margin-top: .2rem;
    transform: rotate(225deg);
  }

  #category #left-column #search_filters_wrapper,
  #search #left-column #search_filters_wrapper {
    margin-right: 0;
    margin-left: 0;
  }

  .gaiabis-category-intro,
  .gaiabis-category-intro--with-image {
    grid-template-columns: minmax(0, 1fr);
  }

  .gaiabis-category-intro__media {
    min-height: 10rem;
    max-height: 12rem;
    order: -1;
  }

  .gaiabis-category-intro__media--cutout {
    padding: .65rem;
  }

  .gaiabis-category-intro__media--cutout img {
    max-height: 10.75rem;
  }

  .gaiabis-category-intro__content {
    padding: 1rem;
  }

  .gaiabis-category-intro__description:not(.is-open) .gaiabis-category-intro__text {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
  }

  .gaiabis-desc-toggle {
    display: inline-block;
  }

  .products-selection {
    padding: .65rem;
  }

  .products-selection .sort-by-row {
    display: flex;
    align-items: stretch;
  }

  .gaiabis-product-card-wrapper {
    padding-right: .45rem;
    padding-bottom: 1.25rem;
    padding-left: .45rem;
  }

  .gaiabis-product-card__quickview {
    display: block;
    opacity: 1;
    pointer-events: auto;
    transform: none;
  }

  .gaiabis-pagination {
    align-items: stretch;
    flex-direction: column;
  }

  .gaiabis-pagination__summary {
    text-align: center;
  }

  .gaiabis-pagination .page-list {
    justify-content: center;
    overflow-x: auto;
  }

  .gaiabis-product__layout {
    padding: 1rem;
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "summary"
      "media"
      "purchase";
    gap: 1rem;
  }

  .gaiabis-product__heading h1 {
    font-size: 1.55rem;
    overflow-wrap: anywhere;
  }

  .gaiabis-product__media .product-cover img {
    max-height: 26rem;
  }

  .gaiabis-product__purchase > .product-information {
    padding: .9rem;
  }

  body#product {
    padding-bottom: 4.4rem;
  }

  body#product .gaiabis-product__purchase .product-add-to-cart {
    position: fixed;
    z-index: 950;
    right: 0;
    bottom: 0;
    left: 0;
    margin: 0;
    padding: .4rem max(.6rem, env(safe-area-inset-right)) calc(.4rem + env(safe-area-inset-bottom)) max(.6rem, env(safe-area-inset-left));
    border-top: 1px solid var(--gaiabis-line);
    background: var(--gaiabis-paper);
    box-shadow: 0 -.5rem 1.5rem rgba(0, 0, 0, .12);
  }

  body#product .gaiabis-product__purchase .product-add-to-cart .control-label,
  body#product .gaiabis-product__purchase .product-add-to-cart .product-minimal-quantity,
  body#product .gaiabis-product__purchase .product-add-to-cart #product-availability {
    display: none;
  }

  body#product .gaiabis-product__purchase .product-add-to-cart .product-quantity {
    display: grid;
    align-items: stretch;
    margin: 0;
    grid-template-columns: 4.25rem minmax(0, 1fr);
    gap: .5rem;
  }

  body#product .gaiabis-product__purchase .product-add-to-cart .add-to-cart {
    width: 100%;
    height: 3rem;
    min-height: 3rem;
    padding: .4rem .75rem;
    font-size: .95rem;
    line-height: 1.05;
  }

  body#product .gaiabis-product__purchase .product-add-to-cart .add-to-cart .material-icons {
    font-size: 1.45rem;
  }

  body#product .gaiabis-product__purchase .product-add-to-cart .qty {
    width: 4.25rem;
    min-width: 4.25rem;
    height: 3rem;
    min-height: 3rem;
    margin: 0;
  }

  body#product .gaiabis-product__purchase .product-add-to-cart .bootstrap-touchspin {
    display: flex !important;
    width: 4.25rem !important;
    height: 3rem !important;
    min-height: 3rem;
    margin: 0;
    align-items: stretch;
    flex-wrap: nowrap !important;
  }

  body#product .gaiabis-product__purchase .product-add-to-cart #quantity_wanted {
    width: auto !important;
    min-width: 0 !important;
    height: 3rem;
    min-height: 3rem;
    margin: 0;
    flex: 1 1 auto;
  }

  body#product .gaiabis-product__purchase .product-add-to-cart .input-group-btn-vertical {
    position: static !important;
    display: flex !important;
    width: 1.45rem !important;
    height: 3rem !important;
    min-width: 1.45rem;
    flex: 0 0 1.45rem;
    flex-direction: column;
  }

  body#product .gaiabis-product__purchase .product-add-to-cart .input-group-btn-vertical > .btn {
    position: static !important;
    display: flex;
    width: 100% !important;
    height: 50% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
    align-items: center;
    justify-content: center;
  }

  body#product .gaiabis-product__purchase .product-add-to-cart .product-quantity > :is(.gcompare-action, .gaiabis-product-wishlist) {
    display: none !important;
  }

  /* Le bloc disponibilité/avis se replie dans la largeur réelle du téléphone. */
  .gaiabis-product__status {
    display: grid;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    padding: .75rem;
    overflow: hidden;
    align-items: start;
    justify-content: stretch;
    grid-template-columns: minmax(0, 1fr);
  }

  .gaiabis-product__status #product-availability:not(:empty) {
    max-width: 100%;
    justify-self: start;
  }

  .gaiabis-product__status .ets-rv-product-comments-additional-info {
    display: flex;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    align-items: stretch;
    flex-wrap: wrap;
    gap: .5rem;
  }

  .gaiabis-product__status .ets-rv-product-comments-additional-info > a {
    min-width: 0;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .gaiabis-product__status .ets-rv-btn-read-user {
    flex: 1 1 100%;
  }

  .gaiabis-product__status .ets-rv-btn-comment {
    flex: 1 1 10rem;
  }

  .gaiabis-product__status .comments-note {
    min-width: 0;
    max-width: 100%;
    flex-wrap: wrap;
  }

  .gaiabis-product__tabs .nav-link {
    padding: .85rem 1rem;
  }

  .gaiabis-site-footer__tools {
    align-items: flex-start;
    flex-direction: column;
    gap: .6rem;
  }
}

@media (max-width: 420px) {
  .gaiabis-header__actions .user-info {
    display: flex;
    min-height: 2.1rem;
    padding: 0 .1rem;
  }

  .gaiabis-header__actions .user-info > a {
    width: 2.1rem;
    min-width: 2.1rem;
    min-height: 2.1rem;
  }

  .gaiabis-header__actions .user-info > a > .material-icons {
    width: 1.35rem;
    font-size: 1.3rem;
    transform: none;
  }

  .gaiabis-header__logo img {
    max-width: 6.6rem;
  }

  .gaiabis-product-card .product-title a {
    font-size: .9rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* Intégrations autonomes des modules conservés. */
html body .gaiabis-mark-carousel {
  max-width: 100%;
  overflow: hidden !important;
  overflow: clip !important;
  contain: paint;
}

@supports not (overflow: clip) {
  html body .gaiabis-mark-carousel {
    overflow: hidden !important;
  }
}

.gaiabis-product__actions,
.gaiabis-product__actions .product-additional-info,
.gaiabis-product-wishlist {
  min-width: 0;
  max-width: 100%;
}

.gaiabis-product-wishlist .material-icons {
  width: 1.4rem;
  overflow: hidden;
  font-size: 1.4rem;
  line-height: 1;
  white-space: nowrap;
}

body#product .gaiabis-product__purchase .product-quantity {
  min-width: 0;
  flex-wrap: wrap;
}

body#product .gaiabis-product__purchase .product-quantity > .qty {
  flex: 0 0 auto;
}

body#product .gaiabis-product__purchase .product-quantity > .add {
  min-width: 0;
  flex: 1 1 12rem;
}

body#product .gaiabis-product__purchase .product-quantity > .gcompare-action,
body#product .gaiabis-product__purchase .product-quantity > .gaiabis-product-wishlist {
  width: auto !important;
  min-width: 0;
  margin-top: 0;
  flex: 1 1 8rem;
}

body#product .gaiabis-product__purchase .product-quantity > .gcompare-action button,
body#product .gaiabis-product__purchase .product-quantity > .gaiabis-product-wishlist button {
  width: 100%;
  max-width: 100%;
  white-space: normal;
}

/* Espace client : des cartes cohérentes avec l'identité Gaiabis. */
body#my-account .page-header {
  margin-bottom: 1.25rem;
}

body#my-account .links {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
  gap: 1rem;
}

body#my-account .links > a,
body#my-account .links > button {
  display: block !important;
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
  float: none !important;
}

body#my-account .links .link-item {
  display: flex !important;
  min-height: 7rem;
  padding: 1.15rem 1.2rem;
  border: 1px solid var(--gaiabis-line);
  border-left: 4px solid var(--gaiabis-yellow);
  border-radius: var(--gaiabis-radius);
  align-items: center;
  gap: 1rem;
  background: var(--gaiabis-paper);
  box-shadow: 0 .35rem 1.2rem rgba(0, 0, 0, .05);
  color: var(--gaiabis-ink);
  font-weight: 800;
  text-align: left;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

body#my-account .links .link-item:hover,
body#my-account .links .link-item:focus-within {
  border-color: var(--gaiabis-yellow);
  box-shadow: var(--gaiabis-shadow);
  transform: translateY(-2px);
}

body#my-account .links .link-item > :is(i, svg) {
  width: 2.75rem;
  min-width: 2.75rem;
  height: 2.75rem;
  padding: .55rem;
  border-radius: 50%;
  background: var(--gaiabis-ink);
  color: var(--gaiabis-yellow);
  fill: currentColor;
  font-size: 1.65rem;
}

body#my-account .links .link-item > i > svg {
  display: block;
  width: 1.65rem !important;
  min-width: 1.65rem !important;
  max-width: 1.65rem !important;
  height: 1.65rem !important;
  min-height: 1.65rem !important;
  max-height: 1.65rem !important;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  fill: currentColor;
}

@media (max-width: 991px) {
  body#my-account .links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575px) {
  body#my-account .links {
    grid-template-columns: 1fr;
  }
}

/* Mode sombre Gaiabis : choix local, sans modifier les données de la boutique. */
html[data-gaiabis-color-mode="dark"] {
  color-scheme: dark;
  --gaiabis-canvas: #111315;
  --gaiabis-paper: #1b1e22;
  --gaiabis-line: #3c4046;
  --gaiabis-muted: #c5c1b8;
  --gaiabis-yellow-soft: #3d3211;
  --gaiabis-shadow: 0 .8rem 2.2rem rgba(0, 0, 0, .34);
  --gaiabis-search-surface: #1b1e22;
  --gaiabis-search-text: #f5f1e8;
  --gaiabis-search-muted: #b8b4aa;
  --gaiabis-search-border: #4a4e55;
  --gaiabis-search-accent: #fbbe01;
  --gaiabis-search-accent-contrast: #111315;
  --gaiabis-search-radius: .65rem;
  --gaiabis-color-ink: #f5f1e8;
  --gaiabis-color-border: var(--gaiabis-line);
  --gaiabis-color-surface: var(--gaiabis-paper);
  --gaiabis-color-muted: var(--gaiabis-muted);
  --gaiabis-form-select-indicator: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1,1.5L6,6.5L11,1.5' fill='none' stroke='%23fbbe01' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

html[data-gaiabis-color-mode="dark"] body,
html[data-gaiabis-color-mode="dark"] #wrapper {
  background: var(--gaiabis-canvas);
  color: #f5f1e8;
}

html[data-gaiabis-color-mode="dark"] #wrapper :is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6),
html[data-gaiabis-color-mode="dark"] #wrapper a:not(.btn-primary):not(.btn-secondary):not(.btn-tertiary),
html[data-gaiabis-color-mode="dark"] .gaiabis-product-card .product-title a,
html[data-gaiabis-color-mode="dark"] #left-column #search_filters .facet-label a,
html[data-gaiabis-color-mode="dark"] #subcategories .subcategory-heading,
html[data-gaiabis-color-mode="dark"] #subcategories .subcategory-name,
html[data-gaiabis-color-mode="dark"] .gaiabis-category-intro h1,
html[data-gaiabis-color-mode="dark"] .gaiabis-desc-toggle {
  color: #f5f1e8;
}

html[data-gaiabis-color-mode="dark"] :is(.card, .card-block, .modal-content, .dropdown-menu, .popover),
html[data-gaiabis-color-mode="dark"] #subcategories,
html[data-gaiabis-color-mode="dark"] .gaiabis-category-intro,
html[data-gaiabis-color-mode="dark"] .gaiabis-category-footer,
html[data-gaiabis-color-mode="dark"] .gaiabis-product__layout,
html[data-gaiabis-color-mode="dark"] .gaiabis-product__purchase > .product-information,
html[data-gaiabis-color-mode="dark"] .gaiabis-product__tabs,
html[data-gaiabis-color-mode="dark"] #left-column .block-categories,
html[data-gaiabis-color-mode="dark"] #left-column #search_filters,
html[data-gaiabis-color-mode="dark"] #right-column .card,
html[data-gaiabis-color-mode="dark"] .ets_rv_wrap,
html[data-gaiabis-color-mode="dark"] .ets_rv_reviews {
  border-color: var(--gaiabis-line);
  background-color: var(--gaiabis-paper);
  color: #f5f1e8;
}

html[data-gaiabis-color-mode="dark"] .ets_rv_reviews .ets_rv_average_rating {
  background: var(--gaiabis-paper) !important;
  color: var(--gaiabis-color-ink) !important;
}

html[data-gaiabis-color-mode="dark"] .ets_rv_reviews :is(.ets-rv-comments-nb, .ets_rv_grade_stars_type, .ets_rv_bulk_actions label, .ets_rv_sort_by .ets_rv_selection, .ets_rv_average_grade_item, .ets_rv_comment_load_more) {
  color: var(--gaiabis-color-muted) !important;
}

/* Page ETS « Tous les avis » : le module réapplique #333 après le thème. */
html[data-gaiabis-color-mode="dark"] .ets_rv_all_reviews {
  color: var(--gaiabis-color-ink) !important;
}

html[data-gaiabis-color-mode="dark"] .ets_rv_all_reviews .ets_rv_review_content :is(.ets-rv-title, .ets-rv-content, .ets-rv-content *) {
  color: var(--gaiabis-color-ink) !important;
}

html[data-gaiabis-color-mode="dark"] .ets_rv_all_reviews :is(.ets-rv-review-date, .ets_rv_pagination_footer .pagination, .ets_rv_grade_stars_type, .ets_rv_grade_stars_total) {
  color: var(--gaiabis-color-muted) !important;
}

html[data-gaiabis-color-mode="dark"] .ets_rv_reviews .ets_rv_tab .ets_rv_selection {
  color: #111315 !important;
}

html[data-gaiabis-color-mode="dark"] body#product .ets_rv_reviews .ets_rv_sort_by .dropdown-toggle {
  border-color: #59606a !important;
  background: #24282e !important;
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] body#product .ets_rv_reviews .ets_rv_sort_by .dropdown-toggle :is(label, .ets_rv_selection) {
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] body#product .ets_rv_reviews .ets_rv_sort_by .dropdown-toggle::after {
  border-top-color: var(--gaiabis-yellow) !important;
}

html[data-gaiabis-color-mode="dark"] body#product :is(.ets_rv_comment_load_more, .ets_rv_product_comment_load_more) {
  display: inline-flex;
  padding: .45rem .7rem;
  border: 1px solid #59606a;
  border-radius: var(--gaiabis-radius-sm);
  align-items: center;
  background: #24282e;
  color: #f5f1e8 !important;
  text-decoration: none;
}

html[data-gaiabis-color-mode="dark"] body#product :is(.ets_rv_comment_load_more, .ets_rv_product_comment_load_more):hover,
html[data-gaiabis-color-mode="dark"] body#product :is(.ets_rv_comment_load_more, .ets_rv_product_comment_load_more):focus-visible {
  border-color: var(--gaiabis-yellow);
  color: var(--gaiabis-yellow) !important;
}

html[data-gaiabis-color-mode="dark"] .products-selection,
html[data-gaiabis-color-mode="dark"] .gaiabis-product-card__media {
  background: #20242a;
}

html[data-gaiabis-color-mode="dark"] .gaiabis-product-card:hover .gaiabis-product-card__media,
html[data-gaiabis-color-mode="dark"] .gaiabis-product-card:focus-within .gaiabis-product-card__media {
  box-shadow: 0 .9rem 2rem rgba(0, 0, 0, .42), 0 0 0 1px rgba(251, 190, 1, .32);
}

html[data-gaiabis-color-mode="dark"] :is(.form-control, .input-group, .select-title, select, textarea, input:not([type="checkbox"]):not([type="radio"])) {
  border-color: var(--gaiabis-line);
  background-color: #171a1e;
  color: #f5f1e8;
}

/* Indicateur unique pour tous les menus natifs en mode sombre. */
html[data-gaiabis-color-mode="dark"] select:not([multiple]):not([size]) {
  -webkit-appearance: none;
  appearance: none;
  padding-right: 2.25rem !important;
  background-image: var(--gaiabis-form-select-indicator) !important;
  background-repeat: no-repeat !important;
  background-position: right .75rem center !important;
  background-size: .75rem .5rem !important;
}

html[data-gaiabis-color-mode="dark"] :is(.form-control, textarea, input)::placeholder {
  color: #9f9b92;
}

html[data-gaiabis-color-mode="dark"] :is(.table, table) {
  color: #f5f1e8;
}

html[data-gaiabis-color-mode="dark"] :is(.table td, .table th, table td, table th),
html[data-gaiabis-color-mode="dark"] .nav-tabs,
html[data-gaiabis-color-mode="dark"] .nav-tabs .nav-link {
  border-color: var(--gaiabis-line);
}

html[data-gaiabis-color-mode="dark"] .nav-tabs .nav-link.active,
html[data-gaiabis-color-mode="dark"] .nav-tabs .nav-item.open .nav-link {
  background: var(--gaiabis-paper);
  color: var(--gaiabis-yellow);
}

html[data-gaiabis-color-mode="dark"] .gaiabis-header__actions .language-selector > ul,
html[data-gaiabis-color-mode="dark"] .gaiabis-header__actions .currency-selector > ul {
  background: var(--gaiabis-paper);
}

html[data-gaiabis-color-mode="dark"] .gaiabis-header__actions :is(.language-selector, .currency-selector) li a {
  color: #f5f1e8;
}

html[data-gaiabis-color-mode="dark"] .gaiabis-header__actions :is(.language-selector, .currency-selector) li a:hover,
html[data-gaiabis-color-mode="dark"] .gaiabis-header__actions :is(.language-selector, .currency-selector) li a:focus-visible {
  background: #292d33;
  color: var(--gaiabis-yellow);
}

html[data-gaiabis-color-mode="dark"] body#product .gaiabis-product__purchase .product-add-to-cart {
  background: var(--gaiabis-paper);
}

/* Contrastes globaux : fil d'Ariane, prix, comparaison et disponibilité. */
html[data-gaiabis-color-mode="dark"] #wrapper .breadcrumb li:last-child,
html[data-gaiabis-color-mode="dark"] #wrapper .breadcrumb li:last-child :is(a, span),
html[data-gaiabis-color-mode="dark"] .gaiabis-product-card :is(.price, .current-price, .product-price-and-shipping),
html[data-gaiabis-color-mode="dark"] body#product :is(.current-price, .product-price, .product-without-taxes) {
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] :is(.gcompare-action__button, .gcompare-card__button, .gcompare-table__criterion) {
  border-color: var(--gaiabis-line) !important;
  background: #24282e !important;
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] :is(.gcompare-action__button, .gcompare-card__button):hover,
html[data-gaiabis-color-mode="dark"] :is(.gcompare-action__button, .gcompare-card__button):focus-visible {
  border-color: var(--gaiabis-yellow) !important;
  color: var(--gaiabis-yellow) !important;
}

html[data-gaiabis-color-mode="dark"] #product-availability {
  display: inline-flex;
  padding: .45rem .7rem;
  border: 1px solid #4b535d;
  border-radius: var(--gaiabis-radius-sm);
  align-items: center;
  gap: .35rem;
  background: #252a30 !important;
  color: #f5f1e8 !important;
}

/* Fiche produit, onglets et contenus associés. */
html[data-gaiabis-color-mode="dark"] body#product :is(.gaiabis-product__short-description, .tab-content, .tab-pane, .product-description, .product-features, .product-reference, .product-information),
html[data-gaiabis-color-mode="dark"] body#product :is(.gaiabis-product__short-description, .tab-content, .tab-pane, .product-description, .product-features, .product-reference, .product-information) :is(p, li, dd, dt) {
  color: var(--gaiabis-muted) !important;
}

html[data-gaiabis-color-mode="dark"] body#product :is(.tab-content, .tab-pane, .product-description) :is(strong, b, h2, h3, h4, h5, h6),
html[data-gaiabis-color-mode="dark"] body#product .product-features .name {
  color: #f5f1e8 !important;
}

/* Composants produit partagés : pack et remise quantitative. */
html[data-gaiabis-color-mode="dark"] .product-pack .pack-product-quantity {
  border-left-color: var(--gaiabis-line) !important;
}

html[data-gaiabis-color-mode="dark"] .table-product-discounts :is(th, td) {
  border-color: var(--gaiabis-line) !important;
  background: var(--gaiabis-paper) !important;
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] .table-product-discounts tbody :is(tr, td) {
  background: #24282e !important;
}

html[data-gaiabis-color-mode="dark"] :is(.gaiabis-product-guide-card, .gaiabis-guide-card, .gaiabis-category-card, .gaiabisblog-card, .gaiabisblog-related-link) {
  border-color: var(--gaiabis-line) !important;
  background: var(--gaiabis-paper) !important;
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] :is(.gaiabis-product-guide-card, .gaiabis-guide-card, .gaiabis-category-card, .gaiabisblog-card, .gaiabisblog-related-link) :is(h2, h3, h4, strong, a) {
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] :is(.gaiabis-product-guide-card, .gaiabis-guide-card, .gaiabis-category-card, .gaiabisblog-card, .gaiabisblog-related-link) :is(p, small, .gaiabisblog-card-meta) {
  color: var(--gaiabis-muted) !important;
}

html[data-gaiabis-color-mode="dark"] #content-wrapper > .gaiabishub-category-links,
html[data-gaiabis-color-mode="dark"] .gaiabishub-category-links {
  border-color: var(--gaiabis-line) !important;
  background: var(--gaiabis-paper) !important;
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] .gaiabishub-category-links :is(h2, h3, h4, p, a, span) {
  color: #f5f1e8 !important;
}

/* Recherche : panneau rectangulaire, textes lisibles et bouton net. */
html[data-gaiabis-color-mode="dark"] .gaiabis-search__panel {
  border-color: var(--gaiabis-search-border) !important;
  border-radius: .75rem !important;
  background: var(--gaiabis-search-surface) !important;
  color: var(--gaiabis-search-text) !important;
}

html[data-gaiabis-color-mode="dark"] .gaiabis-header__search .gaiabis-search {
  --gaiabis-search-accent: var(--gaiabis-yellow);
  --gaiabis-search-accent-contrast: var(--gaiabis-ink);
  --gaiabis-search-surface: var(--gaiabis-paper);
  --gaiabis-search-text: #f5f1e8;
  --gaiabis-search-muted: #b8b4aa;
  --gaiabis-search-border: var(--gaiabis-yellow);
  --gaiabis-search-radius: .65rem;
}

html[data-gaiabis-color-mode="dark"] .gaiabis-search :is(.gaiabis-search__item-title, .gaiabis-search-card__title, .gaiabis-search__item-price, .gaiabis-search-card__price, .gaiabis-search__all) {
  color: var(--gaiabis-search-text) !important;
}

html[data-gaiabis-color-mode="dark"] .gaiabis-search :is(.gaiabis-search__status, .gaiabis-search__group-title, .gaiabis-search__item-description, .gaiabis-search-card__description) {
  color: var(--gaiabis-search-muted) !important;
}

html[data-gaiabis-color-mode="dark"] .gaiabis-header__search .gaiabis-search__submit,
html[data-gaiabis-color-mode="dark"] .gaiabis-header__search .gaiabis-search__submit:hover,
html[data-gaiabis-color-mode="dark"] .gaiabis-header__search .gaiabis-search__submit:focus-visible {
  border-color: var(--gaiabis-yellow) !important;
  background: var(--gaiabis-yellow) !important;
  color: var(--gaiabis-ink) !important;
}

/* Langue et mégamenu. */
html[data-gaiabis-color-mode="dark"] .gaiabis-header__actions .language-selector > ul li a,
html[data-gaiabis-color-mode="dark"] .gaiabis-header__actions .currency-selector > ul li a {
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] .gaiabis-header__actions :is(.language-selector, .currency-selector) > ul li.current a,
html[data-gaiabis-color-mode="dark"] .gaiabis-header__actions :is(.language-selector, .currency-selector) > ul li a:hover,
html[data-gaiabis-color-mode="dark"] .gaiabis-header__actions :is(.language-selector, .currency-selector) > ul li a:focus-visible {
  background: #30353c !important;
  color: var(--gaiabis-yellow) !important;
}

html[data-gaiabis-color-mode="dark"] #header .gaiabis-header__navigation :is(.gmm__link--root:hover, .gmm__link--root:focus-visible),
html[data-gaiabis-color-mode="dark"] #header .gaiabis-header__navigation .gmm__item--parent:hover > .gmm__line > .gmm__link--root,
html[data-gaiabis-color-mode="dark"] #header .gaiabis-header__navigation .gmm__item--parent:focus-within > .gmm__line > .gmm__link--root {
  color: #fff !important;
}

/* Accueil : modules éditoriaux et avis utilisent les surfaces sombres. */
html[data-gaiabis-color-mode="dark"] body#index :is(.gaiabis-CategoryHome-block, .gaiabis-HomeNavigation-item, .gaiabis-home-guides__panel, .gaiabis-home-guides__latest, .gaiabis-homeblock, .ets_rv_home_reviews, .ets_rv_latest_item_content_wrap) {
  border-color: var(--gaiabis-line) !important;
  background: var(--gaiabis-paper) !important;
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] body#index :is(.gaiabis-CategoryHome-block, .gaiabis-HomeNavigation-item, .gaiabis-home-guides__panel, .gaiabis-home-guides__latest, .gaiabis-homeblock, .ets_rv_home_reviews, .ets_rv_latest_item_content_wrap) :is(h2, h3, h4, strong, a) {
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] body#index :is(.gaiabis-CategoryHome-block, .gaiabis-HomeNavigation-item, .gaiabis-home-guides__panel, .gaiabis-home-guides__latest, .gaiabis-homeblock, .ets_rv_home_reviews, .ets_rv_latest_item_content_wrap) :is(p, small, li) {
  color: var(--gaiabis-muted) !important;
}

html[data-gaiabis-color-mode="dark"] body#index .gaiabis-banner-content :is(h1, h2, h3, p, span) {
  color: #17130a !important;
  text-shadow: 0 1px 0 rgba(255, 255, 255, .65);
}

/* Guides, blog et pages CMS. */
html[data-gaiabis-color-mode="dark"] :is(.gaiabis-table, .gaiabis-sidebox, .gaiabis-box, .gaiabis-dashboard-panel, .gaiabis-stat-card, .gaiabis-guide-nav a, .gaiabisblog-page, .gaiabisblog-content, .gaiabisblog-comments, .gaiabisblog-comment, .gaiabisblog-comment-form, .gaiabisblog-related, .gaiabisblog-search-card) {
  border-color: var(--gaiabis-line) !important;
  background: var(--gaiabis-paper) !important;
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] :is(.gaiabis-table, .gaiabis-sidebox, .gaiabis-box, .gaiabis-dashboard-panel, .gaiabis-stat-card, .gaiabis-guide-nav a, .gaiabisblog-page, .gaiabisblog-content, .gaiabisblog-comments, .gaiabisblog-comment, .gaiabisblog-comment-form, .gaiabisblog-related, .gaiabisblog-search-card) :is(h1, h2, h3, h4, strong, a) {
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] :is(.gaiabis-guide, .gaiabis-richtext, .gaiabis-guide-hero) {
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] :is(.gaiabis-guide, .gaiabis-richtext, .gaiabis-guide-hero) :is(p, li, dd, dt, span) {
  color: var(--gaiabis-muted) !important;
}

html[data-gaiabis-color-mode="dark"] :is(.gaiabis-guide, .gaiabis-richtext, .gaiabis-guide-hero) :is(h1, h2, h3, h4, h5, h6, strong, b, a) {
  color: #f5f1e8 !important;
}

/* Les tableaux éditoriaux des guides sont chargés après le thème et imposent
 * leurs fonds clairs. Le mode sombre reprend donc explicitement chaque niveau
 * du tableau sans modifier le rendu clair du module. */
html[data-gaiabis-color-mode="dark"] .gaiabis-guide .gaiabis-richtext table {
  border-color: var(--gaiabis-line) !important;
  background: var(--gaiabis-paper) !important;
  color: var(--gaiabis-color-ink) !important;
}

html[data-gaiabis-color-mode="dark"] .gaiabis-guide .gaiabis-richtext table thead th {
  border-color: var(--gaiabis-line) !important;
  background: var(--gaiabis-yellow-soft) !important;
  color: #fff4cc !important;
}

html[data-gaiabis-color-mode="dark"] .gaiabis-guide .gaiabis-richtext table tbody td {
  border-color: var(--gaiabis-line) !important;
  background: var(--gaiabis-paper) !important;
  color: var(--gaiabis-color-ink) !important;
}

html[data-gaiabis-color-mode="dark"] .gaiabis-guide .gaiabis-richtext table tbody tr:nth-child(even) td {
  background: #24282e !important;
}

html[data-gaiabis-color-mode="dark"] .gaiabis-guide .gaiabis-richtext table :is(th, td) :is(p, li, span, strong, b, em) {
  color: inherit !important;
}

html[data-gaiabis-color-mode="dark"] body#cms #content.page-cms,
html[data-gaiabis-color-mode="dark"] body#cms :is(.gaiabis-cms-nav, .gaiabis-cms-nav__group) {
  border-color: var(--gaiabis-line) !important;
  background: var(--gaiabis-paper) !important;
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] body#cms #content.page-cms :is(p, li, td, th, span) {
  color: var(--gaiabis-muted) !important;
}

html[data-gaiabis-color-mode="dark"] body#cms #content.page-cms :is(h1, h2, h3, h4, strong, a) {
  color: #f5f1e8 !important;
}

/* Boutiques physiques. */
html[data-gaiabis-color-mode="dark"] :is(.gaiabis-stores-page, .gaiabis-store-page, .gaiabis-store-card, .gaiabis-store-sidebar, .gaiabis-store-hours-item) {
  border-color: var(--gaiabis-line) !important;
  background: var(--gaiabis-paper) !important;
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] :is(.gaiabis-stores-page, .gaiabis-store-page, .gaiabis-store-card, .gaiabis-store-sidebar, .gaiabis-store-hours-item) :is(h1, h2, h3, h4, strong, a) {
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] :is(.gaiabis-stores-page, .gaiabis-store-page, .gaiabis-store-card, .gaiabis-store-sidebar, .gaiabis-store-hours-item) :is(p, span, small) {
  color: var(--gaiabis-muted) !important;
}

/* Mon compte et formulaires client. */
html[data-gaiabis-color-mode="dark"] body#my-account .links .link-item {
  border-color: var(--gaiabis-line);
  border-left-color: var(--gaiabis-yellow);
  background: var(--gaiabis-paper);
  color: #f5f1e8;
}

html[data-gaiabis-color-mode="dark"] body#my-account .links .link-item > :is(i, svg) {
  background: var(--gaiabis-yellow);
  color: var(--gaiabis-ink);
}

html[data-gaiabis-color-mode="dark"] body#checkout #checkout-payment-step .payment-options .payment-option :is(label, span, strong, p) {
  color: #f5f1e8 !important;
  opacity: 1;
}

html[data-gaiabis-color-mode="dark"] body#checkout #conditions-to-approve {
  border-color: var(--gaiabis-yellow) !important;
  background: var(--gaiabis-yellow-soft) !important;
}

html[data-gaiabis-color-mode="dark"] body#checkout #conditions-to-approve :is(.condition-label, label, strong) {
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] body#checkout #conditions-to-approve a {
  color: var(--gaiabis-yellow) !important;
}

html[data-gaiabis-color-mode="dark"] body#checkout #conditions-to-approve .custom-checkbox > span {
  border-color: #f5f1e8 !important;
  background: #111315 !important;
}

html[data-gaiabis-color-mode="dark"] body#checkout #conditions-to-approve .custom-checkbox input[type="checkbox"]:checked + span .checkbox-checked {
  display: block !important;
  color: var(--gaiabis-yellow) !important;
}

html[data-gaiabis-color-mode="dark"] body#checkout .alert-danger {
  border-color: #ef8b91 !important;
  background: #3b1b1f !important;
  color: #ffdadd !important;
}

html[data-gaiabis-color-mode="dark"] body#checkout .alert-danger :is(a, p, span, strong) {
  color: #ffdadd !important;
}

html[data-gaiabis-color-mode="dark"] body#cart .cart-detailed-actions .alert-warning {
  border-color: #e6a43a !important;
  background: #3b2915 !important;
  color: #fff3cf !important;
}

html[data-gaiabis-color-mode="dark"] body#cart .cart-detailed-actions .alert-warning :is(a, p, span, strong) {
  color: #fff3cf !important;
}

html[data-gaiabis-color-mode="dark"] body.page-customer-account #content.page-content,
html[data-gaiabis-color-mode="dark"] body.page-customer-account .page-content {
  border-color: var(--gaiabis-line) !important;
  background: var(--gaiabis-paper) !important;
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] body.page-customer-account .page-content :is(label, legend, p, span, small) {
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] body.page-customer-account .page-content .form-control-comment {
  color: var(--gaiabis-muted) !important;
}

/* Panier, cadeau offert, modal d'ajout et commande. */
html[data-gaiabis-color-mode="dark"] :is(#blockcart-modal .modal-content, #blockcart-modal .modal-header, #blockcart-modal .modal-body, #blockcart-modal .cart-content, .cart-grid .card, .cart-summary, .cart-detailed-totals) {
  border-color: var(--gaiabis-line) !important;
  background: var(--gaiabis-paper) !important;
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] #blockcart-modal :is(h2, h3, h4, p, span, strong, .product-name, .cart-products-count) {
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] #blockcart-modal .btn-secondary {
  border-color: var(--gaiabis-yellow) !important;
  background: transparent !important;
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] :is(.gaiabis-free-gift, .gaiabis-free-gift__product) {
  border-color: var(--gaiabis-line) !important;
  background: var(--gaiabis-paper) !important;
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] .gaiabis-free-gift :is(.gaiabis-free-gift__intro, .gaiabis-free-gift__content small) {
  color: var(--gaiabis-muted) !important;
}

html[data-gaiabis-color-mode="dark"] body#checkout :is(section.checkout-step, .card.noshadow, .summary-selected-carrier, .order-confirmation-table, #js-checkout-summary) {
  border-color: var(--gaiabis-line) !important;
  background: var(--gaiabis-paper) !important;
  color: #f5f1e8 !important;
}

#conditions-to-approve {
  margin: 1rem 0;
  padding: 1rem 1.1rem;
  border: 1px solid #d5a300;
  border-left: 5px solid var(--gaiabis-yellow);
  border-radius: var(--gaiabis-radius-sm);
  background: var(--gaiabis-yellow-soft);
  color: var(--gaiabis-ink);
}

#conditions-to-approve label {
  display: flex;
  margin: 0;
  align-items: flex-start;
  gap: .65rem;
  color: inherit !important;
  font-weight: 700;
  line-height: 1.45;
}

#conditions-to-approve input[type="checkbox"] {
  width: 1.35rem;
  min-width: 1.35rem;
  height: 1.35rem;
  margin-top: .05rem;
  accent-color: var(--gaiabis-yellow);
}

html[data-gaiabis-color-mode="dark"] #conditions-to-approve {
  border-color: #8f741c;
  border-left-color: var(--gaiabis-yellow);
  background: #332b14;
  color: #f5f1e8;
}

html[data-gaiabis-color-mode="dark"] #conditions-to-approve a {
  color: var(--gaiabis-yellow) !important;
  text-decoration: underline;
  text-decoration-thickness: 2px;
}

/* Navigation catalogue : la pagination native reste l’unique parcours. */
.gaiabis-infinite-scroll {
  display: none !important;
}

html[data-gaiabis-color-mode="dark"] .gaiabis-pagination,
html[data-gaiabis-color-mode="dark"] .gaiabis-pagination .page-list,
html[data-gaiabis-color-mode="dark"] .gaiabis-pagination .page-list li,
html[data-gaiabis-color-mode="dark"] .gaiabis-pagination .page-list a,
html[data-gaiabis-color-mode="dark"] .gaiabis-pagination .page-list .spacer {
  border-color: var(--gaiabis-line) !important;
  background: var(--gaiabis-paper) !important;
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] .gaiabis-pagination .current a,
html[data-gaiabis-color-mode="dark"] .gaiabis-pagination a:hover,
html[data-gaiabis-color-mode="dark"] .gaiabis-pagination a:focus-visible {
  background: var(--gaiabis-yellow) !important;
  color: var(--gaiabis-ink) !important;
}

/* Hub de catégorie : vraies cartes éditoriales, lisibles dans les deux modes. */
.gaiabishub-category-links {
  margin-top: 1.5rem;
  padding: clamp(1rem, 2.5vw, 1.5rem);
  border: 1px solid var(--gaiabis-line);
  border-top: 4px solid var(--gaiabis-yellow);
  border-radius: var(--gaiabis-radius);
}

.gaiabishub-category-links > a {
  display: flex !important;
  min-height: 4.25rem;
  padding: .9rem 1rem !important;
  border: 1px solid var(--gaiabis-line) !important;
  border-radius: var(--gaiabis-radius-sm) !important;
  align-items: center;
  gap: .75rem;
  background: var(--gaiabis-canvas) !important;
  color: var(--gaiabis-ink) !important;
  font-weight: 750;
  line-height: 1.35;
}

.gaiabishub-category-links > a:hover,
.gaiabishub-category-links > a:focus-visible {
  border-color: var(--gaiabis-yellow) !important;
  text-decoration: none;
}

html[data-gaiabis-color-mode="dark"] .gaiabishub-category-links > a {
  background: #24282e !important;
  color: #f5f1e8 !important;
}

/* Fiche produit et comparaison. */
html[data-gaiabis-color-mode="dark"] .gaiabis-product-wishlist__button,
html[data-gaiabis-color-mode="dark"] body#product .wishlist-button-add {
  border-color: var(--gaiabis-line) !important;
  background: #24282e !important;
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] :is(.gaiabis-product-guides, .gaiabis-product-guides__head, .gaiabis-product-guides__grid) {
  border-color: var(--gaiabis-line) !important;
  background: var(--gaiabis-paper) !important;
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] .gaiabis-product-guides :is(h2, h3, a, strong) {
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] .gaiabis-product-guides :is(p, small) {
  color: var(--gaiabis-muted) !important;
}

html[data-gaiabis-color-mode="dark"] #blockcart-modal .product-total {
  border-color: var(--gaiabis-line) !important;
  background: #24282e !important;
}

html[data-gaiabis-color-mode="dark"] #blockcart-modal .product-total :is(.label, .value, span) {
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] :is(.gcompare-table__criterion, .gcompare-table th:first-child, .gcompare-table td:first-child) {
  border-color: var(--gaiabis-line) !important;
  background: #24282e !important;
  color: #f5f1e8 !important;
}

/* Gaiabis Guides, Blog, FAQ et Lexique. */
html[data-gaiabis-color-mode="dark"] :is(.gaiabis-hero, .gaiabis-guide-hero, .gaiabisblog-hero, .gaiabisblog-article-header) {
  border-color: rgba(251, 190, 1, .5) !important;
  background: var(--gaiabis-paper) !important;
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] :is(.gaiabis-hero, .gaiabis-guide-hero, .gaiabisblog-hero, .gaiabisblog-article-header) :is(h1, h2, h3, strong, a) {
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] :is(.gaiabis-hero, .gaiabis-guide-hero, .gaiabisblog-hero, .gaiabisblog-article-header) :is(p, span, small) {
  color: var(--gaiabis-muted) !important;
}

html[data-gaiabis-color-mode="dark"] :is(.gaiabisblog-category-card, .gaiabisblog-front-stats span, .gaiabisblog-search-results, .gaiabisblog-categories a) {
  border-color: var(--gaiabis-line) !important;
  background: var(--gaiabis-paper) !important;
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] :is(.gaiabisblog-category-card, .gaiabisblog-front-stats, .gaiabisblog-search-results, .gaiabisblog-categories) :is(h1, h2, h3, strong, a, span) {
  color: #f5f1e8 !important;
}

/* Un terme lié automatiquement par le Lexique doit rester dans le flux du
 * titre. En flex, l’espace texte avant « & » devient un item anonyme et est
 * supprimé visuellement par le navigateur (ex. « CBD& Bien-être »). */
html body .gaiabisblog-category-card-title {
  display: block;
}

html[data-gaiabis-color-mode="dark"] .gaiabisblog-tags a {
  border-color: #7f6818 !important;
  background: #332b14 !important;
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] .gaiabisblog-tags a:hover,
html[data-gaiabis-color-mode="dark"] .gaiabisblog-tags a:focus-visible {
  border-color: var(--gaiabis-yellow) !important;
  color: var(--gaiabis-yellow) !important;
}

html[data-gaiabis-color-mode="dark"] .gaiabisfaq-page {
  --faq-ink: #f5f1e8;
  --faq-muted: #c5c1b8;
  --faq-cream: #24282e;
  --faq-line: #3c4046;
  --faq-green: #fbbe01;
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] :is(.gaiabisfaq-hero, .gaiabisfaq-category, .gaiabisfaq-item, .gaiabisfaq-toggle, .gaiabisfaq-answer, .gaiabisfaq-detail, .gaiabisfaq-category-page > .gaiabisfaq-intro, .gaiabisfaq-search-page > .gaiabisfaq-search, .gaiabisfaq-category-nav a, .gaiabisfaq-tags a) {
  border-color: var(--gaiabis-line) !important;
  background: var(--gaiabis-paper) !important;
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] .gaiabisfaq-item[open] > .gaiabisfaq-toggle,
html[data-gaiabis-color-mode="dark"] :is(.gaiabisfaq-toggle:hover, .gaiabisfaq-toggle:focus-visible) {
  background: #2b2a22 !important;
}

html[data-gaiabis-color-mode="dark"] .gaiabisfaq-page :is(h1, h2, h3, strong, a, .gaiabisfaq-question) {
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] .gaiabisfaq-page :is(p, li, .gaiabisfaq-intro, .gaiabisfaq-answer) {
  color: var(--gaiabis-muted) !important;
}

html[data-gaiabis-color-mode="dark"] :is(.gaiabis-lexicon-page-header, .gaiabis-lexicon-term-header) {
  border-color: rgba(251, 190, 1, .5) !important;
  background: linear-gradient(135deg, #3d3211, #24282e) !important;
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] :is(.gaiabis-lexicon-page-header, .gaiabis-lexicon-term-header) :is(h1, h2, h3, p, span, strong) {
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] :is(.gaiabis-lexicon-card, .gaiabis-lexicon-stats-table, .gaiabis-lexicon-home-table, .gaiabis-lexicon-term-block, .gaiabis-lexicon-term-side, .gaiabis-lexicon-empty, .gaiabis-lexicon-search-card, .gaiabis-lexicon-modal-card) {
  border-color: var(--gaiabis-line) !important;
  border-left-color: var(--gaiabis-yellow) !important;
  background: var(--gaiabis-paper) !important;
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] :is(.gaiabis-lexicon-stat-card:not(.gaiabis-lexicon-stat-card-main), .gaiabis-lexicon-home-panel) {
  border-color: var(--gaiabis-line) !important;
  background: var(--gaiabis-paper) !important;
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] :is(.gaiabis-lexicon-stat-card, .gaiabis-lexicon-home-panel) :is(h1, h2, h3, strong, a, th, td, span) {
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] .gaiabis-lexicon-home-panel :is(.gaiabis-lexicon-home-list-head, thead, tbody, tr, th, td, li) {
  border-color: var(--gaiabis-line) !important;
  background: transparent !important;
}

html[data-gaiabis-color-mode="dark"] :is(.gaiabis-lexicon-card, .gaiabis-lexicon-stats-table, .gaiabis-lexicon-home-table, .gaiabis-lexicon-term-block, .gaiabis-lexicon-term-side, .gaiabis-lexicon-empty, .gaiabis-lexicon-search-card, .gaiabis-lexicon-modal-card) :is(h1, h2, h3, strong, summary, a) {
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] :is(.gaiabis-lexicon-card, .gaiabis-lexicon-stats-table, .gaiabis-lexicon-home-table, .gaiabis-lexicon-term-block, .gaiabis-lexicon-term-side, .gaiabis-lexicon-empty, .gaiabis-lexicon-search-card, .gaiabis-lexicon-modal-card) :is(p, li, td, span, small, .gaiabis-lexicon-term-definition) {
  color: var(--gaiabis-muted) !important;
}

html[data-gaiabis-color-mode="dark"] .gaiabis-lexicon-home-table h2 {
  background: #332b14 !important;
}

html[data-gaiabis-color-mode="dark"] .gaiabisfaq-page [style*="background:#fff"],
html[data-gaiabis-color-mode="dark"] .gaiabisfaq-page [style*="background: #fff"],
html[data-gaiabis-color-mode="dark"] .gaiabisfaq-page [style*="background:#ffffff"],
html[data-gaiabis-color-mode="dark"] .gaiabisfaq-page [style*="background: #ffffff"] {
  border-color: var(--gaiabis-line) !important;
  background: var(--gaiabis-paper) !important;
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] .gaiabisfaq-page [style*="background:#fff"] :is(h1, h2, h3, h4, p, span, strong, a),
html[data-gaiabis-color-mode="dark"] .gaiabisfaq-page [style*="background: #fff"] :is(h1, h2, h3, h4, p, span, strong, a),
html[data-gaiabis-color-mode="dark"] .gaiabisfaq-page [style*="background:#ffffff"] :is(h1, h2, h3, h4, p, span, strong, a),
html[data-gaiabis-color-mode="dark"] .gaiabisfaq-page [style*="background: #ffffff"] :is(h1, h2, h3, h4, p, span, strong, a) {
  color: #f5f1e8 !important;
}

/* Pages client et formulaires tiers. */
html[data-gaiabis-color-mode="dark"] body:is(#addresses, #address, #history, #order-detail, #order-slip, #discount, #order-follow, #module-psgdpr-gdpr) #content :is(.box, .card, .card-block, .address, article),
html[data-gaiabis-color-mode="dark"] body.page-customer-account #content :is(.box, .card, .card-block, .address, article, .wishlist-list-item) {
  border-color: var(--gaiabis-line) !important;
  background: var(--gaiabis-paper) !important;
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] body:is(#addresses, #address, #history, #order-detail, #order-slip, #discount, #order-follow, #module-psgdpr-gdpr) #content :is(h1, h2, h3, h4, strong, label, legend, a, th, td, p, span),
html[data-gaiabis-color-mode="dark"] body.page-customer-account #content :is(h1, h2, h3, h4, strong, label, legend, a, th, td, p, span) {
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] body:is(#order-detail, #history) #content :is(table, thead, tbody, tr, th, td) {
  border-color: var(--gaiabis-line) !important;
  background: var(--gaiabis-paper) !important;
}

html[data-gaiabis-color-mode="dark"] body#ets_cft_page :is(.page-content, .wpcfu, .ets_cfu_box, .ets_cfu_col) {
  border-color: var(--gaiabis-line) !important;
  background: var(--gaiabis-paper) !important;
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] body#ets_cft_page .wpcfu :is(label, h1, h2, h3, h4, p, span, strong) {
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] body#ets_cft_page .wpcfu :is(.ets_cfu_help_block, .file_type_des) {
  color: var(--gaiabis-muted) !important;
}

/* Accueil : les conteneurs éditoriaux et les styles inline hérités suivent le thème. */
html[data-gaiabis-color-mode="dark"] body#index :is(.gaiabis-home-guides, .gaiabis-references__inner) {
  border-color: var(--gaiabis-line) !important;
  background: var(--gaiabis-paper) !important;
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] body#index :is(.gaiabis-home-guides, .gaiabis-references__inner) :is(h1, h2, h3, h4, strong, a) {
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] body#index :is(.gaiabis-home-guides, .gaiabis-references__inner) :is(p, li, span, small) {
  color: var(--gaiabis-muted) !important;
}

html[data-gaiabis-color-mode="dark"] body#index .gaiabis-homeblock [style*="background:#fafafa"],
html[data-gaiabis-color-mode="dark"] body#index .gaiabis-homeblock [style*="background: #fafafa"] {
  border: 1px solid var(--gaiabis-line) !important;
  background: #24282e !important;
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] body#index .gaiabis-homeblock [style*="background:#fafafa"] :is(p, li, span, strong, a),
html[data-gaiabis-color-mode="dark"] body#index .gaiabis-homeblock [style*="background: #fafafa"] :is(p, li, span, strong, a) {
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] body#index .gaiabis-banner-content a:not(.btn-primary) {
  border-color: #17130a !important;
  color: #17130a !important;
  text-shadow: none !important;
}

html[data-gaiabis-color-mode="dark"] body#index .gaiabis-banner-content a:not(.btn-primary):hover,
html[data-gaiabis-color-mode="dark"] body#index .gaiabis-banner-content a:not(.btn-primary):focus-visible {
  background: rgba(17, 19, 21, .1) !important;
}

/* Filtres catalogue : titres et déclencheur mobile restent lisibles. */
html[data-gaiabis-color-mode="dark"] #search_filters > :is(.h6, p:first-child),
html[data-gaiabis-color-mode="dark"] #search_filters .facet-title {
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] #search_filter_toggler {
  border-color: var(--gaiabis-yellow) !important;
  background: var(--gaiabis-yellow) !important;
  color: #111315 !important;
}

html[data-gaiabis-color-mode="dark"] #search_filters .js-search-filters-clear-all {
  border: 1px solid #69717b !important;
  background: #292e34 !important;
  color: #f5f1e8 !important;
  opacity: 1 !important;
}

html[data-gaiabis-color-mode="dark"] #search_filters .js-search-filters-clear-all :is(.material-icons, i) {
  color: var(--gaiabis-yellow) !important;
}

html[data-gaiabis-color-mode="dark"] #search_filters .js-search-filters-clear-all:hover,
html[data-gaiabis-color-mode="dark"] #search_filters .js-search-filters-clear-all:focus-visible {
  border-color: var(--gaiabis-yellow) !important;
  background: #343a42 !important;
  color: #fff !important;
}

/* Panier : Classic impose encore des textes sombres sur ses cartes. */
html[data-gaiabis-color-mode="dark"] .cart-grid :is(.cart-item, .product-line-grid, .cart-summary-line, .cart-summary-products, .cart-summary-subtotals-container, .cart-summary-totals, .cart-voucher, .promo-name, .promo-discounts),
html[data-gaiabis-color-mode="dark"] #js-checkout-summary :is(.card-block, .cart-summary-line, .cart-summary-products, .cart-voucher, .promo-name, .promo-discounts) {
  border-color: var(--gaiabis-line) !important;
  background: transparent !important;
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] .cart-grid :is(.product-line-info, .product-price, .current-price, .cart-summary-line .label, .cart-summary-line .value, .cart-total .label, .cart-total .value, .promo-highlighted, .collapse-button),
html[data-gaiabis-color-mode="dark"] #js-checkout-summary :is(p, .product-name, .product-quantity, .product-price, .cart-summary-line .label, .cart-summary-line .value, .cart-total .label, .cart-total .value, .promo-highlighted, .collapse-button) {
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] :is(.cart-grid, #js-checkout-summary) .promo-discounts .code {
  color: var(--gaiabis-yellow) !important;
}

/* Tunnel : livraison, adresses, récapitulatif et prix. */
html[data-gaiabis-color-mode="dark"] body#checkout .delivery-option,
html[data-gaiabis-color-mode="dark"] body#checkout #order-summary-content :is(.card, .card-block, .summary-selected-carrier, .order-confirmation-table, .order-line),
html[data-gaiabis-color-mode="dark"] body#checkout #order-summary-content table :is(tbody, tr, td) {
  border-color: var(--gaiabis-line) !important;
  background: #20242a !important;
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] body#checkout .delivery-option :is(label, .h6, .carrier-name, .carrier-delay, .carrier-price),
html[data-gaiabis-color-mode="dark"] body#checkout :is(.checkout-step .step-title, .checkout-step .step-edit, .checkout-step .content > p, .checkout-step .form-control-label),
html[data-gaiabis-color-mode="dark"] body#checkout #order-summary-content :is(.black, .addresshead, h3, h4, p, span, a, td, .carrier-name, .carrier-delay, .carrier-price, .details, .qty) {
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] body#checkout .delivery-option:hover,
html[data-gaiabis-color-mode="dark"] body#checkout .delivery-option:focus-within {
  background: #282d34 !important;
}

html[data-gaiabis-color-mode="dark"] body#checkout #order-summary-content .total-value,
html[data-gaiabis-color-mode="dark"] body#checkout #order-summary-content .total-value :is(td, span) {
  background: #332b14 !important;
  color: #fff4cc !important;
}

html[data-gaiabis-color-mode="dark"] body#checkout .delivery-options-list .order-options label,
html[data-gaiabis-color-mode="dark"] body#checkout .delivery-options-list .order-options .delivery-option-2 + div,
html[data-gaiabis-color-mode="dark"] body#checkout #delivery_message + label {
  color: var(--gaiabis-muted) !important;
}

/* Tous les libellés des formulaires du tunnel restent lisibles en mode sombre. */
html[data-gaiabis-color-mode="dark"] body#checkout .checkout-step .content :is(label, .radio-inline, .custom-checkbox) {
  color: var(--gaiabis-color-ink) !important;
}

html[data-gaiabis-color-mode="dark"] body#checkout .checkout-step .content label :is(em, p, small) {
  color: var(--gaiabis-color-muted) !important;
}

/* Sélecteur d’adresse : une carte sélectionnée reste une surface du thème,
 * pas la carte blanche héritée de Classic. */
html[data-gaiabis-color-mode="dark"] body#checkout .checkout-step .address-item,
html[data-gaiabis-color-mode="dark"] body#checkout .checkout-step .address-item.selected {
  border-color: var(--gaiabis-line) !important;
  background: var(--gaiabis-paper) !important;
  color: var(--gaiabis-color-ink) !important;
}

html[data-gaiabis-color-mode="dark"] body#checkout .checkout-step .address-item.selected {
  border-color: var(--gaiabis-yellow) !important;
  box-shadow: 0 0 0 2px rgba(251, 190, 1, .16);
}

html[data-gaiabis-color-mode="dark"] body#checkout .checkout-step .address-item :is(
  .radio-block,
  .address-alias,
  .address,
  .address p,
  .address span
) {
  color: var(--gaiabis-color-ink) !important;
}

html[data-gaiabis-color-mode="dark"] body#checkout .checkout-step .address-item :is(hr, .address-footer) {
  border-color: var(--gaiabis-line) !important;
}

html[data-gaiabis-color-mode="dark"] body#checkout .checkout-step .address-item .address-footer {
  background: transparent !important;
}

html[data-gaiabis-color-mode="dark"] body#checkout .checkout-step .address-item .address-footer :is(a, .material-icons) {
  color: var(--gaiabis-color-muted) !important;
}

html[data-gaiabis-color-mode="dark"] body#checkout .checkout-step .address-item .address-footer a:is(:hover, :focus-visible),
html[data-gaiabis-color-mode="dark"] body#checkout .checkout-step .address-item .address-footer a:is(:hover, :focus-visible) .material-icons {
  color: var(--gaiabis-yellow) !important;
}

/* Les commandes flottantes partagent le bord droit, sans masquer Gabi. */
#gabi-widget.gabi-widget {
  --gabi-right: 20px !important;
  --gabi-bottom: 20px !important;
  right: var(--gabi-right) !important;
  left: auto !important;
}

.gaiabis-back-to-top {
  right: 1.25rem;
  bottom: 5.4rem;
}

@media (max-width: 767px) {
  .gaiabis-back-to-top {
    right: .75rem;
    bottom: 5.25rem;
  }

  #gabi-widget.gabi-widget {
    --gabi-right: 10px !important;
    --gabi-bottom: 10px !important;
  }

  body#product .gaiabis-back-to-top {
    z-index: 960;
    right: 4.65rem;
    bottom: calc(4.75rem + env(safe-area-inset-bottom));
  }

  body#product #gabi-widget.gabi-widget {
    --gabi-right: 10px !important;
    --gabi-bottom: calc(4.65rem + env(safe-area-inset-bottom)) !important;
  }
}

/* Accueil mobile sombre : les cartes catégories gardent leurs titres et résumés lisibles. */
html[data-gaiabis-color-mode="dark"] body#index .gaiabis-HomeNavigation-item,
html[data-gaiabis-color-mode="dark"] body#index .gaiabis-HomeNavigation-block {
  border-color: var(--gaiabis-line) !important;
  background: #20242a !important;
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] body#index .gaiabis-HomeNavigation-title-item,
html[data-gaiabis-color-mode="dark"] body#index .gaiabis-HomeNavigation-title-item *,
html[data-gaiabis-color-mode="dark"] body#index .gaiabis-CategoryHome-title-item,
html[data-gaiabis-color-mode="dark"] body#index .gaiabis-CategoryHome-title-item * {
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] body#index .gaiabis-HomeNavigation-description,
html[data-gaiabis-color-mode="dark"] body#index .gaiabis-HomeNavigation-description *,
html[data-gaiabis-color-mode="dark"] body#index .gaiabis-CategoryHome-description,
html[data-gaiabis-color-mode="dark"] body#index .gaiabis-CategoryHome-description * {
  color: #c9c6bf !important;
}

/* Passe de finition catalogue : image pleine, actions alignées et filtres utilisables. */
.gaiabis-product-card .thumbnail-container .gaiabis-product-card__media .product-thumbnail,
.gaiabis-product-card__media .product-thumbnail picture {
  display: block;
  width: 100%;
  height: 100% !important;
}

.gaiabis-product-card .thumbnail-container .gaiabis-product-card__media img.gaiabis-product-card__image {
  width: calc(100% - .5rem) !important;
  max-width: none !important;
  height: calc(100% - .5rem) !important;
  max-height: none !important;
}

.gaiabis-product-card__actions {
  display: grid;
  min-height: 2.75rem;
  grid-template-columns: minmax(0, 1fr) 2.75rem;
  align-items: center;
  gap: .4rem;
}

.gaiabis-product-card__actions > :is(.gaiabis-product-card__cart-form, .gaiabis-product-card__details-button) {
  width: 100%;
  min-width: 0;
  grid-column: 1;
  grid-row: 1;
}

.gaiabis-product-card__actions > .gcompare-action {
  position: relative;
  display: flex;
  width: 2.75rem;
  min-width: 2.75rem;
  height: 2.75rem;
  grid-column: 2;
  grid-row: 1;
  align-self: center;
}

.gaiabis-product-card__actions .gcompare-action__button {
  width: 100%;
  min-width: 0;
  height: 100%;
  min-height: 0;
}

.gaiabis-product-card__actions .gcompare-action__status {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

@media (max-width: 767px) {
  .products-selection {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
  }

  .products-selection > .col-lg-7 {
    float: none;
    width: 100%;
    max-width: 100%;
    padding: 0;
    flex: 0 0 100%;
  }

  .products-selection .sort-by-row {
    width: 100%;
    margin: 0;
    flex-wrap: nowrap;
  }

  .products-selection .products-sort-order {
    float: none;
    width: auto;
    max-width: none;
    padding-left: 0;
    flex: 1 1 auto;
  }

  #search_filter_toggler {
    display: inline-flex !important;
    width: auto !important;
    min-width: 7.25rem;
    min-height: 3rem;
    padding: .7rem 1rem !important;
    align-items: center;
    justify-content: center;
    line-height: 1.15;
    white-space: nowrap;
  }

  .products-selection .filter-button {
    float: none;
    width: auto;
    padding-right: 0;
    flex: 0 0 auto;
  }

  .products-selection .showing {
    float: none;
    clear: both;
    width: 100%;
    max-width: 100%;
    padding: .75rem 0 0;
    flex: 0 0 100%;
    line-height: 1.35;
    text-align: center;
  }
}

/* Espace client : quatre cartes aérées plutôt qu'une longue ligne de boutons. */
body#my-account .links {
  max-width: 88rem;
  margin-inline: auto;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

body#my-account .links .link-item {
  min-height: 8.5rem;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}

body#my-account .links .link-item :is(span, .h3, .h4) {
  max-width: 100%;
  line-height: 1.3;
}

@media (max-width: 1199px) {
  body#my-account .links {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  body#my-account .links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 479px) {
  body#my-account .links {
    grid-template-columns: 1fr;
  }
}

/* Onglets produit : les libellés se replient, sans fausse barre de défilement. */
.gaiabis-product__tabs .nav-tabs {
  overflow: visible;
  flex-wrap: wrap;
  scrollbar-width: none;
}

.gaiabis-product__tabs .nav-tabs::-webkit-scrollbar {
  display: none;
}

body#product .gaiabis-product__purchase .product-quantity > :is(.gcompare-action, .gaiabis-product-wishlist) {
  display: flex;
  align-items: stretch;
}

body#product .gaiabis-product__purchase .product-quantity > :is(.gcompare-action, .gaiabis-product-wishlist) button {
  height: 3.75rem !important;
  min-height: 3.75rem;
  padding: .65rem .75rem;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  line-height: 1.15;
}

/* Compatibilité des composants : le thème fournit le skin commun aux modules. */
body#product .gaiabis-product__purchase :is(.product-additional-info, .js-mailalert, .gdpr_consent_wrapper, .gdpr_consent) {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

body#product .gaiabis-product__purchase .product-additional-info {
  overflow: hidden;
  margin: 1rem 0 0;
  padding: 0;
  border: 0;
  background: transparent;
}

body#product .gaiabis-product__purchase .product-additional-info > .tabs {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body#product .gaiabis-product__purchase .js-mailalert {
  display: grid;
  overflow: hidden;
  margin: 0;
  padding: 1rem;
  border: 1px solid var(--gaiabis-line);
  border-radius: var(--gaiabis-radius-sm);
  gap: .75rem;
}

body#product .gaiabis-product__purchase .js-mailalert :is(.gdpr_consent_wrapper, .gdpr_consent) {
  margin: 0 !important;
}

body#product .gaiabis-product__purchase .js-mailalert .psgdpr_consent_message {
  display: grid;
  min-width: 0;
  margin: 0;
  align-items: start;
  grid-template-columns: auto minmax(0, 1fr);
  gap: .55rem;
  overflow-wrap: anywhere;
  text-align: left;
}

body#product .gaiabis-product__purchase .js-mailalert .js-mailalert-add {
  width: 100%;
  min-height: 2.9rem;
  margin: 0 !important;
  padding: .7rem 1rem;
  white-space: normal;
}

body#module-psgdpr-gdpr .psgdprinfo17 {
  display: flex;
  width: 100%;
  margin: 1rem 0;
  padding: clamp(1rem, 2.5vw, 1.5rem);
  border: 1px solid var(--gaiabis-line);
  border-radius: var(--gaiabis-radius-sm);
  align-items: center;
  flex-wrap: wrap;
  gap: .75rem 1rem;
  box-sizing: border-box;
}

body#module-psgdpr-gdpr .psgdprinfo17 :is(h2, p) {
  width: 100%;
  margin: 0;
}

body#module-psgdpr-gdpr .psgdprinfo17 .psgdprgetdatabtn17 {
  float: none;
  margin: 0;
}

html[data-gaiabis-color-mode="dark"] .gaiabishub-category-links-list > a,
html[data-gaiabis-color-mode="dark"] :is(.gaiabis-store-card, .gaiabis-store-block, .gaiabis-store-hours-item),
html[data-gaiabis-color-mode="dark"] .js-mailalert,
html[data-gaiabis-color-mode="dark"] .js-mailalert .gdpr_consent_wrapper,
html[data-gaiabis-color-mode="dark"] body#module-psgdpr-gdpr .psgdprinfo17 {
  border-color: var(--gaiabis-line) !important;
  background: #24282e !important;
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] body#product .gaiabis-product__purchase .product-additional-info {
  background: transparent !important;
}

html[data-gaiabis-color-mode="dark"] .gaiabishub-category-links-list > a :is(.gaiabishub-category-link-title, .gaiabishub-category-link-arrow),
html[data-gaiabis-color-mode="dark"] :is(.gaiabis-store-card, .gaiabis-store-block, .gaiabis-store-hours-item) :is(h1, h2, h3, strong, .gaiabis-store-hours-day),
html[data-gaiabis-color-mode="dark"] .js-mailalert :is(label, p, span, strong),
html[data-gaiabis-color-mode="dark"] body#module-psgdpr-gdpr .psgdprinfo17 :is(h2, h3, strong, label) {
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] :is(.gaiabis-store-card, .gaiabis-store-block, .gaiabis-store-hours-item) :is(p, small, .gaiabis-store-hours-time, .gaiabis-store-address, .gaiabis-store-phone, .gaiabis-store-email),
html[data-gaiabis-color-mode="dark"] body#module-psgdpr-gdpr .psgdprinfo17 p {
  color: var(--gaiabis-muted) !important;
}

html[data-gaiabis-color-mode="dark"] body#product .js-mailalert .js-mailalert-add,
html[data-gaiabis-color-mode="dark"] :is(.gaiabis-stores-page, .gaiabis-store-page) .gaiabis-btn-yellow {
  border-color: var(--gaiabis-yellow) !important;
  background: var(--gaiabis-yellow) !important;
  color: #111315 !important;
}

html[data-gaiabis-color-mode="dark"] body#product .js-mailalert .js-mailalert-add :is(span, i, .material-icons),
html[data-gaiabis-color-mode="dark"] body#product .gaiabis-product-card__cart-button :is(span, i, .material-icons) {
  color: #111315 !important;
}

html[data-gaiabis-color-mode="dark"] body#product .gaiabis-product-card__cart-button:hover :is(span, i, .material-icons),
html[data-gaiabis-color-mode="dark"] body#product .gaiabis-product-card__cart-button:focus-visible :is(span, i, .material-icons) {
  color: var(--gaiabis-yellow) !important;
}

html[data-gaiabis-color-mode="dark"] :is(.gaiabis-stores-page, .gaiabis-store-page) .gaiabis-btn-outline {
  border-color: #747b84 !important;
  background: #24282e !important;
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] :is(.gaiabis-stores-page, .gaiabis-store-page) .gaiabis-btn-outline:hover,
html[data-gaiabis-color-mode="dark"] :is(.gaiabis-stores-page, .gaiabis-store-page) .gaiabis-btn-outline:focus-visible {
  border-color: var(--gaiabis-yellow) !important;
  background: var(--gaiabis-yellow) !important;
  color: #111315 !important;
}

html[data-gaiabis-color-mode="dark"] body#module-psgdpr-gdpr .psgdprinfo17 a:not(.btn) {
  color: var(--gaiabis-yellow) !important;
}

html[data-gaiabis-color-mode="dark"] body#module-gaiabisgabi-history .gabi-private-history :is(.gph-note, .gph-row, .gph-message, .gph-empty) {
  border-color: var(--gaiabis-line) !important;
  background: #24282e !important;
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] body#module-gaiabisgabi-history .gabi-private-history .gph-note {
  border-left-color: #4db58e !important;
  background: #19362d !important;
}

html[data-gaiabis-color-mode="dark"] body#module-gaiabisgabi-history .gabi-private-history :is(h1, h2, h3, strong, label) {
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] body#module-gaiabisgabi-history .gabi-private-history :is(p, small, .gph-empty p) {
  color: var(--gaiabis-muted) !important;
}

html[data-gaiabis-color-mode="dark"] body#cms .gaiabis-cms-nav :is(.gaiabis-cms-nav__title, .gaiabis-cms-nav__category) {
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] body#cms .gaiabis-cms-nav .gaiabis-cms-nav__link {
  color: var(--gaiabis-muted) !important;
}

html[data-gaiabis-color-mode="dark"] body#cms .gaiabis-cms-nav .gaiabis-cms-nav__link:hover,
html[data-gaiabis-color-mode="dark"] body#cms .gaiabis-cms-nav .gaiabis-cms-nav__link:focus-visible,
html[data-gaiabis-color-mode="dark"] body#cms .gaiabis-cms-nav .is-current .gaiabis-cms-nav__link {
  color: var(--gaiabis-yellow) !important;
}

html[data-gaiabis-color-mode="dark"] .gaiabis-reading-meta span {
  border-color: var(--gaiabis-yellow) !important;
  background: #252a30 !important;
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] body#manufacturer #main ul .brand {
  overflow: hidden;
  border: 1px solid var(--gaiabis-line);
  border-radius: var(--gaiabis-radius-sm);
  background: var(--gaiabis-paper) !important;
  color: var(--gaiabis-muted) !important;
}

html[data-gaiabis-color-mode="dark"] body#manufacturer #main ul .brand .brand-img {
  display: flex;
  width: 100%;
  min-height: 8rem;
  padding: .75rem;
  border-radius: calc(var(--gaiabis-radius-sm) - 2px);
  align-items: center;
  justify-content: center;
  background: #fff !important;
}

html[data-gaiabis-color-mode="dark"] body#manufacturer #main ul .brand .brand-img img {
  max-width: 100%;
  max-height: 7rem;
  object-fit: contain;
}

html[data-gaiabis-color-mode="dark"] body#manufacturer #main ul .brand .brand-infos {
  padding: .9rem .35rem .35rem;
  color: var(--gaiabis-muted) !important;
}

html[data-gaiabis-color-mode="dark"] body#manufacturer #main ul .brand .brand-infos :is(a, strong) {
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] body#manufacturer #main ul .brand .brand-infos :is(p, span) {
  color: var(--gaiabis-muted) !important;
}

html[data-gaiabis-color-mode="dark"] .gaiabis-lexicon-nav-btn {
  border-color: var(--gaiabis-yellow);
  background: #24282e;
  color: #f5f1e8;
}

html[data-gaiabis-color-mode="dark"] .gaiabis-lexicon-nav-btn:is(:hover, :focus-visible),
html[data-gaiabis-color-mode="dark"] .gaiabis-lexicon-nav-random {
  border-color: var(--gaiabis-yellow);
  background: var(--gaiabis-yellow);
  color: #111315 !important;
}

html[data-gaiabis-color-mode="dark"] body#index .gaiabis-CategoryHome-description,
html[data-gaiabis-color-mode="dark"] body#index .gaiabis-HomeNavigation-description {
  color: var(--gaiabis-muted) !important;
}

html[data-gaiabis-color-mode="dark"] body#product #quantity_wanted,
html[data-gaiabis-color-mode="dark"] body#product .bootstrap-touchspin .btn-touchspin {
  border-color: #59606a !important;
  background: #24282e !important;
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] body#product .bootstrap-touchspin .btn-touchspin :is(.material-icons, i),
html[data-gaiabis-color-mode="dark"] body#product .bootstrap-touchspin .btn-touchspin::before,
html[data-gaiabis-color-mode="dark"] body#product .bootstrap-touchspin .btn-touchspin::after {
  color: var(--gaiabis-yellow) !important;
}

/* TouchSpin crée des balises d’icône vides. Les flèches sont donc dessinées
 * par le composant lui-même, sans dépendre d’un glyphe ou d’une police externe. */
body#product .bootstrap-touchspin .btn-touchspin :is(.touchspin-up, .touchspin-down)::after {
  display: none;
  content: none;
}

body#product .bootstrap-touchspin .btn-touchspin :is(.touchspin-up, .touchspin-down)::before {
  display: block;
  width: 0;
  height: 0;
  margin: auto;
  content: "";
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
}

body#product .bootstrap-touchspin .btn-touchspin :is(.touchspin-up, .touchspin-down) {
  position: static;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  margin: 0;
}

body#product .bootstrap-touchspin .btn-touchspin .touchspin-up::before {
  border-bottom: 5px solid currentColor;
}

body#product .bootstrap-touchspin .btn-touchspin .touchspin-down::before {
  border-top: 5px solid currentColor;
}

/* Sur la barre d’achat mobile, les deux commandes ne doivent pas se confondre
 * avec le champ quantité sombre. */
@media (max-width: 767px) {
  html[data-gaiabis-color-mode="dark"] body#product .bootstrap-touchspin .btn-touchspin {
    border-color: var(--gaiabis-yellow) !important;
    background: var(--gaiabis-yellow) !important;
    color: #111315 !important;
    box-shadow: none;
  }

  html[data-gaiabis-color-mode="dark"] body#product .bootstrap-touchspin .btn-touchspin :is(.material-icons, i),
  html[data-gaiabis-color-mode="dark"] body#product .bootstrap-touchspin .btn-touchspin :is(.material-icons, i)::before,
  html[data-gaiabis-color-mode="dark"] body#product .bootstrap-touchspin .btn-touchspin :is(.material-icons, i)::after,
  html[data-gaiabis-color-mode="dark"] body#product .bootstrap-touchspin .btn-touchspin::before,
  html[data-gaiabis-color-mode="dark"] body#product .bootstrap-touchspin .btn-touchspin::after {
    color: #111315 !important;
    opacity: 1 !important;
  }
}

/* Les caractéristiques doivent respecter la casse enregistrée dans PrestaShop.
 * La capitalisation Classic transforme notamment mm, cm, ml et mg en unités
 * incorrectes à l’affichage. */
body#product .product-features .data-sheet > :is(dt.name, dd.value) {
  text-transform: none;
}

html[data-gaiabis-color-mode="dark"] body#product .product-features .data-sheet > :is(dt.name, dd.value) {
  border-color: var(--gaiabis-line) !important;
  background: #24282e !important;
}

html[data-gaiabis-color-mode="dark"] body#product .product-features .data-sheet > dt.name {
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] body#product .product-features .data-sheet > dd.value {
  color: var(--gaiabis-muted) !important;
}

html[data-gaiabis-color-mode="dark"] body#product .ets-rv-product-comment-list-item :is(.product-comment-content-html, .ets-rv-product-comment-title-html, .comment-author, .ets-rv-comment-author-name) {
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] body#product .ets-rv-product-comment-list-item :is(.ets-rv-comment-infos, .label_helpful, .comment-date, .ets-rv-comment-buttons, .ets-rv-comment-buttons span, .ets-rv-comment-buttons a) {
  color: var(--gaiabis-muted) !important;
}

html[data-gaiabis-color-mode="dark"] body#product .ets-rv-product-comment-list-item :is(.ets-rv-comment-buttons span, .ets-rv-comment-buttons a):hover,
html[data-gaiabis-color-mode="dark"] body#product .ets-rv-product-comment-list-item :is(.ets-rv-comment-buttons span, .ets-rv-comment-buttons a):focus-visible {
  color: var(--gaiabis-yellow) !important;
}

/* Les réponses ETS sont un seul composant visuel, quel que soit l’avis. */
html[data-gaiabis-color-mode="dark"] body#product .ets_rv_comment_list :is(.comment-list-item-info, .reply-comment-list-item) {
  border: 1px solid var(--gaiabis-line) !important;
  background: #24282e !important;
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] body#product .ets_rv_comment_list :is(.comment-list-item-info, .reply-comment-list-item)::before {
  border-right-color: #24282e !important;
}

html[data-gaiabis-color-mode="dark"] body#product .ets_rv_comment_list :is(.ets-rv-comment-content-html, .ets-rv-comment-content-html *, .comment-author, .ets-rv-comment-author-name) {
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] body#product .ets_rv_comment_list :is(.comment-author-profile, .reply-comment-date-add, .comment-date, .ets-rv-comment-buttons, .ets-rv-comment-buttons *) {
  color: var(--gaiabis-muted) !important;
}

/* Note d’aide partagée par les feuilles et filtres. Les couleurs en ligne du
 * module ne doivent pas produire un cartouche blanc en mode sombre. */
html[data-gaiabis-color-mode="dark"] body#product .gaiabis-product-note {
  border-color: var(--gaiabis-yellow) !important;
  background: var(--gaiabis-paper) !important;
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] body#product .gaiabis-product-note a {
  color: var(--gaiabis-yellow) !important;
}

html[data-gaiabis-color-mode="dark"] .gaiabis-lang-switch a {
  border-color: #686e76 !important;
  background: #24282e !important;
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] .gaiabis-lang-switch a.is-active {
  border-color: var(--gaiabis-yellow) !important;
  background: var(--gaiabis-yellow) !important;
  color: #111315 !important;
}

html[data-gaiabis-color-mode="dark"] :is(.gaiabis-category-card__count, .gaiabis-guide-card__summary, .gaiabis-guide-card .gaiabis-eyebrow, .gaiabis-product-guide-card .gaiabis-eyebrow, .gaiabis-guide-card .gaiabis-date) {
  color: var(--gaiabis-muted) !important;
}

html[data-gaiabis-color-mode="dark"] .gaiabis-dashboard-panel > h2 {
  border-color: #7f6818 !important;
  background: #332b14 !important;
  color: #fff4cc !important;
}

html[data-gaiabis-color-mode="dark"] .gaiabis-product-card__details-button,
html[data-gaiabis-color-mode="dark"] .gaiabis-product-card__cart-button {
  border-color: var(--gaiabis-yellow) !important;
  background: var(--gaiabis-yellow) !important;
  color: #111315 !important;
}

html[data-gaiabis-color-mode="dark"] .gaiabis-product-card__details-button:hover,
html[data-gaiabis-color-mode="dark"] .gaiabis-product-card__details-button:focus-visible,
html[data-gaiabis-color-mode="dark"] .gaiabis-product-card__cart-button:hover,
html[data-gaiabis-color-mode="dark"] .gaiabis-product-card__cart-button:focus-visible {
  border-color: #fff4cc !important;
  background: #111315 !important;
  color: var(--gaiabis-yellow) !important;
}

/* Panier : Classic place les boutons d'incrément dans une colonne de 20 px.
 * En mode sombre ils étaient blancs sur blanc. */
html[data-gaiabis-color-mode="dark"] body#cart .bootstrap-touchspin .btn-touchspin {
  border-color: #59606a !important;
  background: #24282e !important;
  color: var(--gaiabis-yellow) !important;
}

html[data-gaiabis-color-mode="dark"] body#cart .bootstrap-touchspin .btn-touchspin :is(.material-icons, i),
html[data-gaiabis-color-mode="dark"] body#cart .bootstrap-touchspin .btn-touchspin::before,
html[data-gaiabis-color-mode="dark"] body#cart .bootstrap-touchspin .btn-touchspin::after {
  color: var(--gaiabis-yellow) !important;
}

html[data-gaiabis-color-mode="dark"] body#cart .bootstrap-touchspin .btn-touchspin:hover,
html[data-gaiabis-color-mode="dark"] body#cart .bootstrap-touchspin .btn-touchspin:focus-visible {
  border-color: var(--gaiabis-yellow) !important;
  background: var(--gaiabis-yellow) !important;
  color: #111315 !important;
}

html[data-gaiabis-color-mode="dark"] body#cart .bootstrap-touchspin .btn-touchspin:hover :is(.material-icons, i),
html[data-gaiabis-color-mode="dark"] body#cart .bootstrap-touchspin .btn-touchspin:focus-visible :is(.material-icons, i) {
  color: #111315 !important;
}

/* Panier mobile : conserver le champ et ses deux commandes sur une seule ligne. */
@media (max-width: 767px) {
  body#cart .product-line-grid-right .qty .bootstrap-touchspin {
    display: inline-flex !important;
    float: none !important;
    flex-wrap: nowrap;
    align-items: stretch;
    width: 70px !important;
    height: 40px;
    vertical-align: top;
  }

  body#cart .product-line-grid-right .qty .bootstrap-touchspin > input.form-control {
    flex: 0 0 48px;
    width: 48px !important;
    height: 40px;
  }

  body#cart .product-line-grid-right .qty .bootstrap-touchspin > .input-group-btn-vertical {
    display: flex !important;
    float: none !important;
    flex: 0 0 22px;
    flex-direction: column;
    width: 22px !important;
    height: 40px;
  }

  body#cart .product-line-grid-right .qty .bootstrap-touchspin > .input-group-btn-vertical > .btn-touchspin {
    flex: 0 0 20px;
    width: 22px !important;
    height: 20px;
  }
}

/* Les logos noirs et les logos colorés partagent une carte neutre. Inverser
 * toutes les images dégraderait les identités de marque colorées. */
html[data-gaiabis-color-mode="dark"] body#index .gaiabis-mark-carousel .brand-logo-inner {
  padding: .7rem;
  border: 1px solid #6f642f;
  border-radius: var(--gaiabis-radius-sm);
  box-sizing: border-box;
  background: #f7f3e9 !important;
  box-shadow: 0 8px 20px rgba(0, 0, 0, .2);
}

html[data-gaiabis-color-mode="dark"] body#index .gaiabis-mark-carousel .brand-logo-inner img {
  filter: none !important;
}

/* Interface des facettes absorbée par le thème. */
@media (min-width: 1215px) {
  .gb-facets-btn { display: none !important; }

  .gct-place-headercat {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }
}

@media (max-width: 1214px) {
  .gct-place-headercat.gb-gct-mobile {
    margin: 0 0 16px !important;
    padding-top: 0 !important;
  }

  .gct-place-headercat .gct-toggle {
    display: block !important;
    pointer-events: none !important;
    opacity: 0 !important;
  }

  .gct-place-headercat.gb-gct-mobile > :first-child {
    position: relative;
    padding-right: 34px !important;
    cursor: pointer;
  }

  .gct-place-headercat.gb-gct-mobile > :first-child::after {
    position: absolute;
    top: 50%;
    right: 14px;
    width: 0;
    height: 0;
    border-top: 5px solid var(--gaiabis-yellow);
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
    content: "";
    transform: translateY(-50%);
    pointer-events: none;
  }

  .gct-place-headercat.gb-gct-mobile-open > :first-child::after {
    border-top: 0;
    border-bottom: 5px solid var(--gaiabis-yellow);
  }

  .gct-place-headercat.gb-gct-mobile-collapsed > *:not(:first-child) {
    display: none !important;
  }

  .gb-facets-btn {
    display: inline-block;
    width: 100%;
    margin: 10px 0 16px;
    padding: 10px 14px;
    border: 1px solid var(--gaiabis-yellow);
    border-radius: var(--gaiabis-radius-sm);
    background: var(--gaiabis-yellow);
    color: #111315 !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .1);
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    cursor: pointer;
  }
}

/* La galerie Classic conserve une largeur intrinsèque de 452 px sur mobile.
 * La contraindre à sa piste de grille évite tout débordement horizontal. */
@media (max-width: 767px) {
  body#product .gaiabis-product__media,
  body#product .gaiabis-product__media .images-container,
  body#product .gaiabis-product__media .product-cover,
  body#product .gaiabis-product__media .product-cover picture,
  body#product .gaiabis-product__media .product-cover img,
  body#product .gaiabis-product__media .js-qv-mask,
  body#product .gaiabis-product__media .product-images {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
  }

  body#product .gaiabis-product__media {
    justify-self: stretch;
  }
}

/* Aperçu rapide : le contenu Classic doit rester dans la fenêtre et reprendre
 * les contrastes du thème, y compris les contrôles injectés par les modules. */
.quickview .modal-dialog {
  width: min(72rem, calc(100vw - 2rem));
  max-width: 72rem;
}

.quickview .modal-content,
.quickview .modal-body,
.quickview .modal-body > .row,
.quickview .modal-body > .row > [class*="col-"] {
  min-width: 0;
  max-width: 100%;
}

.quickview .modal-content {
  overflow: hidden;
}

.quickview .product-cover,
.quickview .product-cover picture,
.quickview .product-cover .js-qv-product-cover {
  display: block;
  width: 100%;
  max-width: 100%;
  border-radius: var(--gaiabis-radius-sm);
}

.quickview .product-cover .js-qv-product-cover {
  height: auto;
  object-fit: contain;
}

.quickview .product-quantity {
  display: grid;
  width: 100%;
  min-width: 0;
  align-items: stretch;
  grid-template-columns: minmax(4rem, 5rem) repeat(2, minmax(0, 1fr));
  gap: .65rem;
}

.quickview .product-quantity > .qty {
  width: auto;
  min-width: 0;
  grid-column: 1;
}

.quickview .product-quantity > .add {
  min-width: 0;
  grid-column: 2 / -1;
}

.quickview .product-quantity > .gcompare-action {
  width: 100%;
  min-width: 0;
  grid-row: 2;
  grid-column: 1 / 3;
}

.quickview .product-quantity > .gaiabis-product-wishlist {
  width: 100%;
  min-width: 0;
  grid-row: 2;
  grid-column: 3;
}

.quickview .product-quantity :is(.add-to-cart, .gcompare-action__button, .gaiabis-product-wishlist__button) {
  width: 100%;
  max-width: 100%;
  min-height: 3rem;
  white-space: normal;
}

.quickview .product-additional-info {
  clear: both;
  width: 100%;
  max-width: 100%;
  overflow-wrap: anywhere;
}

html[data-gaiabis-color-mode="dark"] .quickview :is(.modal-content, .modal-header, .modal-body) {
  border-color: var(--gaiabis-line) !important;
  background: #1b1f24 !important;
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] .quickview :is(h1, h2, h3, h4, .h1, .h2, .h3, .h4, #product-description-short, #product-description-short p, .control-label, .tax-shipping-delivery-label) {
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] .quickview :is(#product-description-short, .tax-shipping-delivery-label) :is(span, strong, p) {
  color: inherit !important;
}

html[data-gaiabis-color-mode="dark"] .quickview :is(.images-container, .product-cover, .product-cover picture, .product-cover .js-qv-product-cover) {
  background: #20242a !important;
}

html[data-gaiabis-color-mode="dark"] :is(body#product, .quickview) .product-variants :is(select, option, .select-title) {
  border-color: #59606a !important;
  background-color: #171a1e !important;
  color: #f5f1e8 !important;
  color-scheme: dark;
}

html[data-gaiabis-color-mode="dark"] :is(body#product, .quickview) .product-variants select:focus {
  border-color: var(--gaiabis-yellow) !important;
  box-shadow: 0 0 0 3px rgba(251, 190, 1, .2) !important;
  outline: 0;
}

html[data-gaiabis-color-mode="dark"] .quickview :is(#quantity_wanted, .bootstrap-touchspin .btn-touchspin) {
  border-color: #59606a !important;
  background: #24282e !important;
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] .quickview .bootstrap-touchspin .btn-touchspin :is(.material-icons, i),
html[data-gaiabis-color-mode="dark"] .quickview .bootstrap-touchspin .btn-touchspin::before,
html[data-gaiabis-color-mode="dark"] .quickview .bootstrap-touchspin .btn-touchspin::after {
  color: var(--gaiabis-yellow) !important;
}

/* Facettes sélectionnées : le bandeau et ses pastilles restent distincts en
 * mode sombre, y compris après un rafraîchissement Ajax de la liste. */
html[data-gaiabis-color-mode="dark"] #js-active-search-filters.active_filters {
  border: 1px solid var(--gaiabis-line) !important;
  background: #1d2227 !important;
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] #js-active-search-filters .active-filter-title {
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] #js-active-search-filters .filter-block {
  border: 1px solid #59606a !important;
  background: #292e34 !important;
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] #js-active-search-filters .filter-block :is(a, .close, .material-icons) {
  color: var(--gaiabis-yellow) !important;
}

/* « Pourquoi choisir Gaiabis ? » : les cartes statistiques appartiennent au
 * contenu CMS, mais doivent reprendre les surfaces et contrastes du thème. */
html[data-gaiabis-color-mode="dark"] .gaiabis-why .gaiabis-stats-grid .gaiabis-stat:not(.gaiabis-stat-gabi),
html[data-gaiabis-color-mode="dark"] .gaiabis-why .gaiabis-stats-grid .gaiabis-stat:not(.gaiabis-stat-gabi):visited {
  border-color: #454c54 !important;
  border-top-color: var(--gaiabis-yellow) !important;
  background: #1d2227 !important;
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] .gaiabis-why .gaiabis-stats-grid .gaiabis-stat:not(.gaiabis-stat-gabi) :is(strong, span) {
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] .gaiabis-why .gaiabis-stats-grid .gaiabis-stat:not(.gaiabis-stat-gabi) span {
  color: #c8cdca !important;
}

html[data-gaiabis-color-mode="dark"] .gaiabis-why .gaiabis-stats-grid .gaiabis-stat:hover {
  border-color: var(--gaiabis-yellow) !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, .32) !important;
}

/* Les fenêtres d’avis et de questions ETS doivent reprendre la surface sombre
 * du thème. La surcharge reste ici pour ne pas modifier le module fournisseur. */
html[data-gaiabis-color-mode="dark"] .ets-rv-modal .ets-rv-modal-content,
html[data-gaiabis-color-mode="dark"] .ets-rv-modal .ets-rv-modal-header,
html[data-gaiabis-color-mode="dark"] .ets-rv-modal .ets-rv-modal-body,
html[data-gaiabis-color-mode="dark"] .ets-rv-modal .ets-rv-modal-footer,
html[data-gaiabis-color-mode="dark"] .ets-rv-modal .ets-rv-post_content_footer_modal {
  border-color: #3c434b !important;
  background: #1b1f24 !important;
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] .ets-rv-modal :is(
  h2,
  h3,
  h4,
  .h2,
  .h3,
  .h4,
  label,
  .form-label,
  .modal_product_info,
  .modal_product_info p,
  .modal_product_info strong
) {
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] .ets-rv-modal :is(
  .ets-rv-modal-body p,
  .modal_product_info .product-description,
  .form-control-comment
) {
  color: #c8cdca !important;
}

html[data-gaiabis-color-mode="dark"] .ets-rv-modal :is(input, textarea, select) {
  border-color: #59606a !important;
  background: #15191d !important;
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] .ets-rv-modal :is(input, textarea)::placeholder {
  color: #aeb5bc !important;
  opacity: 1;
}

html[data-gaiabis-color-mode="dark"] .ets-rv-modal .ets_button_gray {
  border: 1px solid #59606a !important;
  background: #242a30 !important;
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] .ets-rv-modal .ets_button_gray:hover,
html[data-gaiabis-color-mode="dark"] .ets-rv-modal .ets_button_gray:focus-visible {
  border-color: var(--gaiabis-yellow) !important;
  color: var(--gaiabis-yellow) !important;
}

html[data-gaiabis-color-mode="dark"] .ets-rv-modal .btn-primary {
  border-color: var(--gaiabis-yellow) !important;
  background: var(--gaiabis-yellow) !important;
  color: var(--gaiabis-ink) !important;
}

html[data-gaiabis-color-mode="dark"] .ets-rv-modal .close,
html[data-gaiabis-color-mode="dark"] .ets-rv-modal .close :is(svg, path) {
  color: #f5f1e8 !important;
  fill: currentColor !important;
}

/* Page de contact : le formulaire Classic et l’éventuel bloc d’informations
 * doivent partager la même carte sombre, y compris dans la grille mobile. */
html[data-gaiabis-color-mode="dark"] body#contact :is(
  #content.page-content,
  .contact-form,
  .contact-rich,
  .contact-rich .block
) {
  border-color: #3c434b !important;
  background: #1b1f24 !important;
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] body#contact :is(
  .contact-form h3,
  .contact-form label,
  .contact-form .form-control-label,
  .contact-rich h3,
  .contact-rich h4,
  .contact-rich strong,
  .contact-rich p,
  .contact-rich address,
  .contact-rich .data
) {
  color: #f5f1e8 !important;
}

html[data-gaiabis-color-mode="dark"] body#contact :is(
  .contact-form .form-control-comment,
  .contact-rich .type,
  .contact-rich .material-icons
) {
  color: #b9c0c6 !important;
}

html[data-gaiabis-color-mode="dark"] body#contact .contact-rich a {
  color: var(--gaiabis-yellow) !important;
}

/* Wishlist native : son chargeur SVG 400 x 105 était agrandi à la largeur de
 * la page et produisait quatre grandes barres blanches. Les deux écrans
 * wishlist gardent leur chargement asynchrone, mais l'affichent désormais sous
 * la forme d'un indicateur compact, sans déplacement brutal de la page. */
body:is(#module-blockwishlist-lists, #module-blockwishlist-view, #view) :is(
  .wishlist-container:empty,
  .wishlist-products-container:empty,
  .wishlist-list-container:has(> .wishlist-list-loader),
  #content:has(> .wishlist-list-loader)
) {
  min-height: 6.5rem;
  display: grid;
  place-items: center;
}

body:is(#module-blockwishlist-lists, #module-blockwishlist-view, #view) :is(
  .wishlist-container:empty,
  .wishlist-products-container:empty,
  .wishlist-list-container:has(> .wishlist-list-loader),
  #content:has(> .wishlist-list-loader)
)::before {
  width: 2.25rem;
  height: 2.25rem;
  content: "";
  border: .22rem solid rgba(255, 192, 0, .24);
  border-top-color: var(--gaiabis-yellow);
  border-radius: 50%;
  animation: gaiabis-wishlist-loading .75s linear infinite;
}

body:is(#module-blockwishlist-lists, #module-blockwishlist-view, #view) .wishlist-list-loader {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}

@keyframes gaiabis-wishlist-loading {
  to {
    transform: rotate(1turn);
  }
}

@media (prefers-reduced-motion: reduce) {
  body:is(#module-blockwishlist-lists, #module-blockwishlist-view, #view) :is(
    .wishlist-container:empty,
    .wishlist-products-container:empty,
    .wishlist-list-container:has(> .wishlist-list-loader),
    #content:has(> .wishlist-list-loader)
  )::before {
    animation-duration: 1.8s;
  }
}

@media (max-width: 767px) {
  .ets-rv-modal .ets-rv-modal-dialog {
    width: calc(100vw - 1rem) !important;
    max-width: calc(100vw - 1rem) !important;
    margin: .5rem !important;
  }

  .ets-rv-modal :is(.ets-rv-modal-header, .ets-rv-modal-body, .ets-rv-modal-footer, .ets-rv-post_content_footer_modal) {
    padding: 1rem !important;
  }

  .ets-rv-modal .modal_product_img {
    max-width: 5rem;
    flex: 0 0 5rem;
  }

  .ets-rv-modal .ets-rv-post_content_footer_modal {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    gap: .65rem;
  }

  .ets-rv-modal .ets-rv-post_content_footer_modal :is(button, .btn) {
    min-height: 2.75rem;
    flex: 1 1 12rem;
  }

  body#contact #content.page-content,
  body#contact .contact-form,
  body#contact .contact-rich {
    width: 100%;
    margin-right: 0;
    margin-left: 0;
    padding: 1rem;
  }

  body#contact .contact-form .form-group.row {
    margin-right: 0;
    margin-left: 0;
  }

  body#contact .contact-form .form-group.row > [class*="col-"] {
    width: 100%;
    max-width: 100%;
    padding-right: 0;
    padding-left: 0;
    flex: 0 0 100%;
  }

  body#contact .contact-form .form-control-label {
    padding-top: .25rem;
    padding-bottom: .35rem;
    text-align: left;
  }

  body#contact .contact-form .form-control-comment {
    display: block;
    margin-top: .35rem;
  }

  body#contact .contact-form .form-footer .btn-primary {
    width: 100%;
  }
}

@media (max-width: 767px) {
  .quickview .modal-dialog {
    width: calc(100vw - 1rem);
    margin: .5rem;
  }

  .quickview .modal-body {
    padding: .85rem;
  }

  .quickview .modal-body > .row > [class*="col-"] {
    float: none;
    width: 100%;
  }

  .quickview .product-quantity {
    grid-template-columns: minmax(4rem, 4.5rem) minmax(0, 1fr);
  }

  .quickview .product-quantity > .add {
    grid-column: 2;
  }

  .quickview .product-quantity > :is(.gcompare-action, .gaiabis-product-wishlist) {
    grid-column: 1 / -1;
  }

  .quickview .product-quantity > .gcompare-action {
    grid-row: 2;
  }

  .quickview .product-quantity > .gaiabis-product-wishlist {
    grid-row: 3;
  }
}
