/*
 * child_classic2 - custom.css
 * V1 readability cleanup:
 * - consistent formatting
 * - clearer section markers
 * - no selector/class renaming
 *
 * Main sections:
 * - design tokens
 * - global/base utilities
 * - header, footer, homepage
 * - category, product, cart, checkout
 * - account/auth pages and listing
 */

/* ===== DESIGN TOKENS ===== */
/* Mon compte CEV : chargé en même temps que custom (évite les échecs silencieux du theme.yml). */
@import url('cev-my-account.css');
@import url('cev-page-content-frame.css?v=240-confirm-cols');
@import url('psgdpr-gdpr.css');
@import url('cev-header-account-menu.css');
@import url('cev-focus-click-fix.css');
:root {
  --primary-color: #f23648;
  --primary-color-hover: #d92e3f;
  --primary-color-active: #b82634;
  --primary-color-light: #f9c2c7;
  --secondary-color: #59064d;
  --secondary-color-hover: #45053e;
  --secondary-color-light: #d9b6d5;
  --secondary-color-lighter: #f6e9f4;
  --primary-orange-color: #f59100;
  --primary-orange-color-hover: #db8404;
  --primary-orange-color-light: #ffddab;
  --primary-orange-color-lighter: #fff5e7;
  --neutral-color: #f5f1ee;
  --lp-fin-beige: #f4f1ee;
  --neutral-color-secondary: #f5f5f5;
  --neutral-color-border: #dddddd;
  --text-color: #000;
  --text-color-title: #414141;
  --text-color-grey: #7a7a7a;
  --text-color-grey-hover: #e2e1e6;
  --contrast-white-color: #fff;
  --dark-mode: #1a1a1a;
  --nav-color: #fbfcfc;
  --border-radius-type: 16px;
  --border-radius-type-md: 10px;
  --border-radius-type-small: 8px;
  --padding-inline-base: 1rem;
  --btn-base-padding: 0.5rem 1.5rem;
}

/* Bootstrap clearfix (::after avec content:"") : neutralise le pseudo sur les conteneurs uniquement.
   Ne pas toucher à .row::after : la liste produits est <div class="products row"> (productlist.tpl) ;
   supprimer le ::after du .row casse la grille sur la home (comme sur develop, sans cette règle sur .row). */
.container-fluid::after,
.container::after {
  content: none !important;
}

/*
 * Breakpoints (@media) — alignés Bootstrap 5 / usage courant dans ce fichier
 * (les variables CSS ne sont pas utilisées dans @media pour compat navigateurs.)
 *
 * | Nom | min-width | max-width en dessous |
 * |-----|-----------|----------------------|
 * | sm  | 576px     | 575.98px             |
 * | md  | 768px     | 767.98px             |
 * | lg  | 992px     | 991.98px             |
 * | xl  | 1200px    | 1199.98px            |
 * | xxl | 1400px    | —                    |
 *
 * Autres seuils volontaires (Classic / mise en page) :
 * - 1024px / 1025px : barre nav « desktop » vs drawer
 * - 1200px : colonne filtres catégorie
 * - 1536px : grilles produits très larges
 */

a {
  text-decoration: none !important;
}

ul {
  padding-left: 0 !important;
}

.border-radius-type {
  border-radius: var(--border-radius-type) !important;
}

.reduce_opacity {
  opacity: 0.65;
}

.bolder {
  font-weight: bolder;
}

.circle-bg-primary {
  background: var(--primary-color);
  border-radius: 50%;
  padding: 10px;
  width: 20px;
  height: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: var(--contrast-white-color);
  margin-right: 8px;
}

.color-primary {
  color: var(--primary-color);
}

.btn {
  --bs-btn-border-radius: var(--border-radius-type) !important;
  font-weight: 600 !important;
  cursor: pointer;
}

/* ===== GLOBAL BASE / UTILITIES ===== */

/* Boutons natifs / TouchSpin sans classe .btn complète */
button:not(:disabled):not([disabled]),
input[type="submit"]:not(:disabled):not([disabled]),
input[type="button"]:not(:disabled):not([disabled]),
input[type="reset"]:not(:disabled):not([disabled]),
.btn-touchspin:not(:disabled):not([disabled]) {
  cursor: pointer;
}

.btn:disabled,
.btn.disabled,
button:disabled,
button[disabled],
.btn-touchspin:disabled {
  cursor: not-allowed;
}

.btn-primary {
  border-radius: var(--border-radius-type);
  border: 1px solid var(--primary-color) !important;
}

.btn-secondary {
  border-radius: var(--border-radius-type);
  border: 1px solid var(--text-color-grey) !important;
}

.btn-primary {
  background-color: var(--primary-color) !important;
}

.btn-primary:hover {
  opacity: 0.8;
}

.btn-outline-primary {
  color: var(--text-color) !important;
  --bs-btn-color: var(--primary-color-light) !important;
  --bs-btn-border-color: #afafaf !important;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--primary-color-light) !important;
  --bs-btn-hover-border-color: var(--primary-color) !important;
  --bs-btn-focus-shadow-rgb: 13, 110, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--primary-color-light) !important;
  --bs-btn-active-border-color: var(--primary-color) !important;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: var(--primary-color) !important;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: var(--primary-color) !important;
  --bs-gradient: none;
  border-radius: 4px !important;
}

/* Remplace le fond Bootstrap / thème parent (ex. rgb(30, 123, 142)) au survol et au focus clavier */
.btn-outline-primary:hover:not(:disabled):not(.disabled),
.btn-outline-primary:focus-visible:not(:disabled):not(.disabled) {
  background-color: var(--primary-color-light) !important;
  color: var(--text-color) !important;
  border-color: var(--primary-color) !important;
}

.btn-check:checked + .btn,
.product_extra_fields + .btn,
.product_extra_fields:checked + .btn {
  font-weight: 600 !important;
  border: 2px solid var(--primary-color);
}

.text-warning-up {
  --bs-text-opacity: 1;
  color: var(--primary-color-hover) !important;
}

.js-show-details-custom {
  cursor: pointer;
  color: var(--text-color);
  font-weight: 600;
  font-size: 1rem;
}

/* Fil d’Ariane : même rendu que sur la fiche produit (toutes les pages, tous viewports) */
#wrapper .breadcrumb li span {
  font-size: 0.9rem;
  color: var(--text-color-grey);
}

#wrapper .breadcrumb li:last-child span {
  color: var(--text-color);
  font-weight: 600;
}

#wrapper .breadcrumb li::after {
  margin-inline: 0;
}

#wrapper {
  background: #f6f6f6;
}

#index #wrapper {
  background: #fff;
}

/* Pages CMS : pas de fond blanc sur le layout (cadre = #content.page-content.card) */
#cms #wrapper > .container {
  background-color: transparent;
  padding-top: 0;
  box-sizing: border-box;
}

/* Pages CMS : gouttière latérale sur les .container du header (.header-nav + .header-top) */
#cms #header .header-nav > .container,
#cms #header .header-top > .container {
  padding-inline: max(
      var(--padding-inline-base, 1rem),
      env(safe-area-inset-left, 0px)
    )
    max(var(--padding-inline-base, 1rem), env(safe-area-inset-right, 0px));
  box-sizing: border-box;
}

.margin-1x {
  margin: 1rem;
}

.margin-2x {
  margin: 2rem;
}

.margin-top-1x {
  margin-top: 1rem;
}

.margin-top-2x {
  margin-top: 2rem;
}

.text-primary {
  color: var(--primary-color) !important;
}

h2 {
  color: var(--dark-mode) !important;
}

h4 {
  font-size: 1.9rem !important;
  font-weight: 800 !important;
  text-align: left !important;
  text-transform: initial !important;
  color: var(--text-color);
  margin-top: 2rem;
}

h6 {
  font-size: 0.85rem !important;
}

select,
select::picker(select) {
  appearance: base-select;
}

select {
  background-color: var(--primary-color);
  border: none;
  padding: 0.5rem;
  color: var(--contrast-white-color);
  border-radius: 8px;
}

select button {
  background-color: var(--primary-color);
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
}

select::picker-icon {
  color: var(--contrast-white-color);
  margin-top: 2px;
}

textarea.form-control {
  border-radius: 8px;
}

select::picker(select) {
  border: 1px solid var(--primary-color);
  padding: 0.5rem;
  background-color: var(--primary-color);
}

.alert-info {
  --bs-alert-color: var(--primary-color-hover) !important;
  --bs-alert-bg: var(--primary-color-lighter) !important;
  --bs-alert-border-color: var(--primary-color-hover) !important;
  --bs-alert-link-color: var(--primary-color-hover) !important;
}

/* ===== GLOBAL ===== */
.primary-color {
  color: var(--primary-color);
}

.box-shadow {
  box-shadow: 8px 9px 5px -7px rgba(0, 0, 0, 0.59);
  -webkit-box-shadow: 8px 9px 5px -7px rgba(0, 0, 0, 0.59);
  -moz-box-shadow: 8px 9px 5px -7px rgba(0, 0, 0, 0.59);
}

.flex-container {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  min-height: 220px;
}

/* ===== HEADER NAV ===== */

#header .header_icon-user {
  width: auto;
  height: 22px;
  margin-right: 0.5rem;
}

#header .user-info {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

#header .user-info a {
  font-size: 1rem;
  font-weight: 700;
}

#header .header_icon-basket {
  width: auto;
  height: 22px;
}

#header .cart-products-count {
  position: absolute;
  left: 64%;
  top: -1px;
  z-index: 1;
  min-width: 1rem;
  min-height: 0.62rem;
  padding: 0.26rem 0.5rem;
  aspect-ratio: 1.85 / 1.3;
  font-size: 0.5625rem;
  line-height: 1;
  font-weight: 700;
  border-radius: 3px;
  background-color: var(--primary-color);
  color: var(--contrast-white-color);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
  transform: translate(-38%, -82%);
  pointer-events: none;
}

#header #_desktop_cart {
  margin-left: 0.3rem;
}

#header #_desktop_cart .header a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

#header .header-nav .cart-preview.active {
  background-color: transparent;
}

#header .search-widgets__form {
  min-height: 0;
}

#header .search-widgets__form .search-widgets__input {
  min-height: 0;
}

#header .header_user-name {
  font-size: 1rem;
  border-radius: 50%;
  padding: 0.25rem;
  width: 2rem;
  height: 2rem;
  background-color: var(--primary-color-light);
  color: var(--text-color);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

#header .row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

#header {
  color: var(--text-color) !important;
  box-shadow: none !important;
}

#header .header-nav a:hover,
#header .header-top a:hover {
  color: var(--primary-color) !important;
}

#header a.link-buy:hover {
  color: var(--contrast-white-color) !important;
}

#header .header-nav {
  max-height: 55px !important;
  height: auto;
  padding-block: 0.5rem;
  display: flex;
  align-items: center;
  overflow: visible;
}

#header .header-nav .header-nav__inner {
  width: 100%;
  display: flex;
  align-items: center;
}

#header .header-nav .header-nav__desktop {
  width: 100%;
}

#header .header-nav .header-nav__mobile.mobile-header {
  display: none;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
}


.header-nav {
  background-color: #1a1a1a;
  color: #fff !important;
  height: 55px;
}

.header-nav .right-nav {
  width: 100%;
  /* border: 1px solid var(--primary-color); */
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding-inline: 0;
  overflow: visible;
}

.header-nav .right-nav #_desktop_language_selector .language-selector {
  margin-top: 0;
}

.header-nav .right-nav .search-widgets {
  min-width: 17rem;
  margin: 0;
  margin-right: auto;
  max-width: 480px;
  width: 100%;
}

#header .header-nav .material-icons {
  line-height: 24px !important;
}

.header-nav a {
  color: #fff !important;
}

.header-nav a.dropdown-item,
.header-nav a.cev-header-account__link,
.header-nav a.cev-header-account__trigger {
  color: var(--text-color) !important;
}

#header .header-nav ._desktop_customer_type_link {
  display: inline-block;
}

#header .header-nav ._desktop_customer_type_link div .customer-service-icon {
  width: 18px;
  height: 18px;
  margin-right: 4px;
  margin-top: -3px;
}

#header .header-nav ._desktop_customer_type_link .customer_type_link {
  margin-left: 16px;
  padding-left: 16px;
  margin-top: 0.9375rem;
}

#header .header-nav ._desktop_customer_type_link .first_link {
  margin-top: 0.9375rem;
  border-left: 0;
  margin-left: 2px;
  padding-left: 0px;
}

#header .header-nav ._desktop_customer_type_link .link_pro-area {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.35rem 1rem;
  border: 1px solid var(--primary-color);
  border-radius: 999px !important;
  background-color: transparent;
  color: var(--contrast-white-color, #fff) !important;
  text-transform: uppercase;
  font-weight: 500;
  font-size: 0.875rem;
  letter-spacing: 0.02em;
  text-decoration: none !important;
  transition:
    color 0.2s ease,
    background-color 0.2s ease,
    border-color 0.2s ease;
}

#header .header-nav ._desktop_customer_type_link .link_pro-area--active,
#header .header-nav ._desktop_customer_type_link .link_pro-area--active:hover,
#header .header-nav ._desktop_customer_type_link .link_pro-area:hover,
#header .header-nav ._desktop_customer_type_link .link_pro-area:focus-visible,
#header .header-nav ._desktop_customer_type_link .link_pro-area:active {
  color: var(--contrast-white-color, #fff) !important;
  background-color: var(--primary-color) !important;
  border-color: var(--primary-color) !important;
  border-radius: 999px !important;
}

body.cev-branded #header .header-nav ._desktop_customer_type_link .link_pro-area {
  color: var(--contrast-white-color, #fff) !important;
  background-color: transparent !important;
  border-color: var(--primary-color) !important;
  border-radius: 999px !important;
}

body.cev-branded #header .header-nav ._desktop_customer_type_link .link_pro-area--active,
body.cev-branded #header .header-nav ._desktop_customer_type_link .link_pro-area--active:hover,
body.cev-branded #header .header-nav ._desktop_customer_type_link .link_pro-area:hover,
body.cev-branded #header .header-nav ._desktop_customer_type_link .link_pro-area:focus-visible,
body.cev-branded #header .header-nav ._desktop_customer_type_link .link_pro-area:active {
  color: var(--contrast-white-color, #fff) !important;
  background-color: var(--primary-color) !important;
  border-color: var(--primary-color) !important;
  border-radius: 999px !important;
}

#header .customer_type_link {
  display: flex;
  align-items: center;
  margin-top: 0 !important;
}

#header .customer_type_link a {
  white-space: nowrap;
}

/* Icône service client : mask SVG → couleur = currentColor (survol primary sur tout le bloc) */
#header .customer-service-icon {
  display: inline-block;
  flex-shrink: 0;
  background-color: currentColor;
  mask-image: url("../img/customer-service.svg");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  -webkit-mask-image: url("../img/customer-service.svg");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
}

#header
  .header-nav
  ._desktop_customer_type_link
  .customer_type_link.first_link {
  color: #fff;
  transition: color 0.2s ease;
}

#header
  .header-nav
  ._desktop_customer_type_link
  .customer_type_link.first_link:hover,
#header
  .header-nav
  ._desktop_customer_type_link
  .customer_type_link.first_link:focus-within {
  color: var(--primary-color);
}

#header
  .header-nav
  ._desktop_customer_type_link
  .customer_type_link.first_link:hover
  a,
#header
  .header-nav
  ._desktop_customer_type_link
  .customer_type_link.first_link:focus-within
  a {
  color: var(--primary-color) !important;
}

#header .header-nav .dropdown .expand-more {
  color: #fff !important;
}

.language-selector-wrapper {
  /* border-right: 1px solid var(--contrast-white-color); */
  padding: 0 16px;
}

/* Sélecteur langue : drapeaux à la place des libellés (même UX dropdown) */
.language-selector__btn-flag {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
  line-height: 1;
}

.language-selector__current-flag {
  display: inline-flex;
  align-items: center;
  line-height: 0;
}

.language-selector__flag-img {
  display: block;
  width: 24px;
  height: 18px;
  object-fit: cover;
  border-radius: 4px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12);
}

.language-selector .dropdown-menu {
  min-width: 10rem;
  padding: 0.35rem 0;
}

.language-selector .dropdown-item.language-selector__dropdown-link {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.5rem;
  padding: 0.45rem 0.75rem;
  text-align: left;
}

.language-selector__label {
  flex: 1 1 auto;
  white-space: nowrap;
  font-size: 0.875rem;
  line-height: 1.25;
}

.language-selector .dropdown-item.language-selector__dropdown-link .language-selector__flag-img {
  flex-shrink: 0;
}

.language-selector .dropdown-item.language-selector__dropdown-link:hover,
.language-selector .dropdown-item.language-selector__dropdown-link:focus {
  background-color: var(--text-color-grey-hover, #e2e1e6);
}

#header
  .header-top-right
  #_desktop_language_selector
  .language-selector__btn-flag
  .material-icons {
  color: var(--text-color);
}

#header
  .header-nav
  .right-nav
  #_desktop_language_selector
  .language-selector__btn-flag
  .material-icons {
  color: #fff !important;
}

#currency-selector-label {
  display: none !important;
}

#index #main .nav.nav-tabs {
  border-bottom: none !important;
  gap: 1rem;
}

#index #main .nav.nav-tabs .nav-item {
  height: fit-content;
}

#index #main .nav.nav-tabs .nav-link {
  padding: 0.5rem 1rem !important;
  border-radius: var(--border-radius-type) !important;
}

#index #main .nav.nav-tabs .nav-link.active {
  background-color: var(--primary-color);
  color: var(--contrast-white-color) !important;
}

#index #main .hpp_tabs .tabs .nav-tabs .nav-link:hover:not(.active),
#index #main .hpp_tabs .tabs .nav-tabs .nav-link:focus-visible:not(.active) {
  background-color: var(--text-color-grey-hover);
  color: var(--text-color) !important;
  border-bottom: none !important;
}

#index #main .hpp_tabs .tabs .nav-tabs .nav-link,
#index #main .hpp_tabs .tabs .nav-tabs .nav-link.active,
#index #main .hpp_tabs .tabs .nav-tabs .nav-link:hover,
#index #main .hpp_tabs .tabs .nav-tabs .nav-link:focus,
#index #main .hpp_tabs .tabs .nav-tabs .nav-link:focus-visible {
  outline: none !important;
  box-shadow: none !important;
  border: 0 !important;
  border-color: transparent !important;
}

/* Accueil — grille produits (HPP / onglets) : ne pas surcharger la ligne Bootstrap (.products.row) ni les
   colonnes (.js-product + .col-*). Les anciennes règles (flex dupliqué, width:fit-content, marges sur
   .js-product-miniature, height:100% sur les images) écrasaient les largeurs et provoquaient une colonne
   pleine largeur avec image à gauche et texte à droite. Rendu aligné theme Classic / develop. */

/* Nos enseignes : bandeau gris pleine largeur ; contenu (titre + logos) aligné sur le container */
#index #mypresta_mib,
#index #wrapper #content.page-home #mypresta_mib {
  margin-top: 1rem;
  background-color: #f6f6f6 !important;
  box-shadow: none !important;
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding-block: clamp(1.5rem, 4vw, 2.75rem);
  padding-inline: 0;
  box-sizing: border-box;
}

#index #mypresta_mib > *,
#index #wrapper #content.page-home #mypresta_mib > * {
  max-width: 1140px;
  width: 100%;
  margin-inline: auto;
  padding-inline: max(var(--padding-inline-base, 1rem), env(safe-area-inset-left, 0px))
    max(var(--padding-inline-base, 1rem), env(safe-area-inset-right, 0px));
  box-sizing: border-box;
}


@media (max-width: 767.98px) {

  #index #main .products .js-product-miniature .highlighted-informations {
    display: none;
  }

  #index #main .products .thumbnail-container {
    /* height: 330px; */
    gap: 0rem;
  }

    #index #main .products .js-product-miniature .thumbnail-container .product-thumbnail {
      position: relative;
      width: 100%;
      aspect-ratio: 85.6 / 53.98;
      flex: 0 0 auto;
      height: auto;
      overflow: hidden;
    }

    #index #main .products .js-product-miniature .thumbnail-container .product-thumbnail picture {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
    }

    #index #main .products .js-product-miniature .thumbnail-container .product-thumbnail img {
      width: 100%;
      height: 100%;
      max-width: none;
      max-height: none;
      object-fit: cover;
      object-position: center;
    }


  #index #main .tabs {
    width: 100%;
  }

  #index #main .nav-tabs {
    width: 100%;
    overflow: auto;
    height: fit-content;
    flex-wrap: nowrap;
    padding-block: 0.5rem;
    padding-bottom: 1rem;
  }

  #index #main .nav-tabs a{
    white-space: nowrap;
  }

  /* Onglets catégories : même pattern que Enseignes — scroller dédié, ul en nowrap. */
  #index #main .hpp_tabs .hpp-tabs-nav-scroll {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    scrollbar-width: thin;
  }

  #index #main .hpp_tabs .tabs {
    overflow: visible;
    max-width: 100%;
  }

  #index #main .hpp_tabs .hpp-tabs-nav-scroll .nav-tabs,
  #index #main .hpp_tabs .nav-tabs {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    align-items: center;
    gap: 0.5rem;
    width: max-content;
    max-width: none;
    min-width: 100%;
    overflow: visible;
    margin: 0;
    padding-inline: 1rem;
    padding-bottom: 0.75rem;
  }

  #index #main .hpp_tabs .nav-tabs .nav-item {
    flex: 0 0 auto !important;
  }

  #index #main .hpp_tabs .nav-tabs .nav-link {
    padding: 0.45rem 0.85rem !important;
    font-size: clamp(0.8rem, 3.5vw, 0.95rem);
    white-space: nowrap;
  }

  #index #mypresta_mib > h4.hidden-sm-down {
    display: block !important;
    visibility: visible !important;
    font-size: clamp(1.35rem, 6vw, 1.65rem) !important;
    line-height: 1.2;
    margin-bottom: 1.5rem !important;
    text-align: left !important;
  }

  /* Mobile enseignes : scroll horizontal, ~3 logos visibles (pas une tuile pleine largeur). */
  #index #mypresta_mib #MyPrestaBrandsCarousel,
  #index #wrapper #content.page-home #mypresta_mib #MyPrestaBrandsCarousel,
  #wrapper #content.page-home #mypresta_mib #MyPrestaBrandsCarousel {
    display: flex !important;
    flex-wrap: nowrap !important;
    grid-template-columns: none !important;
    gap: 0.65rem;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 0.75rem !important;
    padding-inline: 0.75rem !important;
    text-align: left;
    justify-content: flex-start;
  }

  #index #mypresta_mib #MyPrestaBrandsCarousel li,
  #index #mypresta_mib #MyPrestaBrandsCarousel li.mypresta-mib__brand,
  #index #mypresta_mib #MyPrestaBrandsCarousel li:nth-of-type(7),
  #index #mypresta_mib #MyPrestaBrandsCarousel li:nth-of-type(8),
  #index #mypresta_mib #MyPrestaBrandsCarousel li:nth-of-type(9),
  #index #mypresta_mib #MyPrestaBrandsCarousel li:nth-of-type(10),
  #index #mypresta_mib #MyPrestaBrandsCarousel li:nth-of-type(11),
  #index #mypresta_mib #MyPrestaBrandsCarousel li:nth-of-type(12),
  #wrapper #content.page-home #mypresta_mib #MyPrestaBrandsCarousel li,
  #wrapper #content.page-home #mypresta_mib #MyPrestaBrandsCarousel li.item,
  #wrapper #content.page-home #mypresta_mib #MyPrestaBrandsCarousel li.mypresta-mib__brand,
  #wrapper #content.page-home #mypresta_mib #MyPrestaBrandsCarousel .first_item,
  #wrapper #content.page-home #mypresta_mib #MyPrestaBrandsCarousel .last_item {
    flex: 0 0 clamp(5.25rem, 28vw, 6.75rem) !important;
    width: clamp(5.25rem, 28vw, 6.75rem) !important;
    max-width: 6.75rem !important;
    min-width: 0 !important;
    display: flex !important;
    scroll-snap-align: start;
    height: auto;
  }

  #index #mypresta_mib #MyPrestaBrandsCarousel .mypresta-mib__brand-media,
  #wrapper #content.page-home #mypresta_mib #MyPrestaBrandsCarousel .mypresta-mib__brand-media {
    aspect-ratio: 1 / 1;
    width: 100%;
    padding: 0.35rem;
  }

  #index #mypresta_mib #MyPrestaBrandsCarousel li a img,
  #index #mypresta_mib #MyPrestaBrandsCarousel .mypresta-mib__brand-logo,
  #wrapper #content.page-home #mypresta_mib #MyPrestaBrandsCarousel .mypresta-mib__brand-logo {
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain;
  }

  #index #main .products .js-product-miniature .product-thumbnail img {
    margin-inline: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }
  #index #main .products .js-product-miniature .product-price-and-shipping {
    white-space: nowrap;
  }

  #index #main .products .js-product-miniature .product-price-and-shipping .price {
    font-size: 0.8rem;
  }
}

/** header-top menu */
#_desktop_user_info {
  display: inline-block;
  width: auto;
  text-align: right;
}

#_desktop_user_info a.logout {
  color: var(--text-color) !important;
  font-size: 0.8rem !important;
  font-weight: 400;
  border: 1px solid var(--text-color) !important;
  border-radius: 8px !important;
  padding: 0.25rem !important;
  background-color: transparent !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  &:hover {
    color: var(--primary-color) !important;
  }
}

.js-top-menu-bottom .logout {
  color: var(--text-color) !important;
  font-size: 0.8rem !important;
  font-weight: 400;
  border: 1px solid var(--text-color) !important;
  border-radius: 8px !important;
  padding: 0.25rem !important;
  background-color: transparent !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
}

.cart-preview .hidden-sm-down {
  display: none;
}

.cart-preview .cart-products-count {
  margin-left: 0;
}

#_desktop_cart {
  display: inline-block;
  width: auto;
  text-align: right;
}

/* #_desktop_cart .blockcart .header span.hidden-sm-down {
  display: none;
} */

#_desktop_top_menu ul {
  text-align: center;
}

#_desktop_top_menu ul#top-menu li a {
  text-transform: initial !important;
  color: var(--text-color);
  font-size: 0.95rem;
}

#_desktop_top_menu ul#top-menu li a:hover {
  color: var(--primary-color);
}

.header-top-right {
  /* width: 83% !important; */
  display: flex;
  align-items: center;
  height: fit-content;
}

#_desktop_top_menu {
  width: 89% !important;
}

#header .header-top .position-static {
  position: static;
  /*width: 84% !important;*/
}

#homepage-top-image {
  display: none;
}

#index #homepage-top-image {
  display: block;
  width: 100%;
  max-height: none;
  overflow: visible;
  margin: 0 0 clamp(1rem, 2.5vw, 1.5rem);
  padding: 0;
  box-sizing: border-box;
}

#index #homepage-top-image .cev-home-hero-shell {
  width: 100%;
  max-width: 100%;
  margin-inline: auto;
  padding-inline: 0;
  box-sizing: border-box;
}

#index #homepage-top-image .header-top-image {
  align-items: stretch;
  display: block;
  height: clamp(280px, 38vw, 480px);
  max-height: none;
  width: 100%;
  justify-content: stretch;
  position: relative;
  border-radius: var(--border-radius-type, 12px);
  overflow: hidden;
  border: none;
  background-color: transparent;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
}

#index #homepage-top-image #carousel {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  height: 100%;
}

#index #homepage-top-image .carousel .carousel-inner {
  height: 100% !important;
  min-height: 0;
}

#index #homepage-top-image .carousel .carousel-item {
  min-height: 100%;
  height: 100%;
}

#index #homepage-top-image #carousel .carousel-indicators {
  position: absolute;
  bottom: 0.75rem;
  left: 0;
  right: 0;
  z-index: 3;
  margin: 0;
}

.entry-content {
  display: flex;
  flex-direction: column;
}

.header-top-image {
  align-items: center;
  display: flex;
  height: 450px;
  max-height: 450px;
  width: 100%;
  justify-content: center;
  position: relative;
}

.header-top-image__filter {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.6), transparent);
  height: 100%;
  pointer-events: none;
  z-index: 1;
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
}

.header-top-image__image {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
}

.header-top-image__container {
  color: #fff;
  display: flex;
  flex-direction: column;
  padding-left: 2rem;
  padding-right: 2rem;
  position: relative;
  text-align: left;
  z-index: 2;
}

.header-top-image__container span.intro {
  font-size: 20px;
}

.header-top-image__container h1 {
  color: var(--contrast-white-color);
  font-size: 50px;
  max-width: 700px;
  margin: 32px 0;
}

.header-top-image__container p {
  color: var(--contrast-white-color);
  font-size: 18px;
  font-weight: 300;
  max-width: 700px;
  margin-bottom: 32px;
}

.header-top-image__container a {
  padding: 8px 24px;
  background-color: var(--primary-color);
  color: var(--contrast-white-color) !important;
  text-transform: uppercase;
  font-size: 16px;
  font-weight: 600;
  max-width: 700px;
  border-radius: var(--border-radius-type);
  margin: 32px 0;
}

.header-top-image__container a:hover {
  background-color: var(--primary-color-hover);
  box-shadow: 8px 9px 5px -7px rgba(0, 0, 0, 0.59);
  -webkit-box-shadow: 8px 9px 5px -7px rgba(0, 0, 0, 0.59);
  -moz-box-shadow: 8px 9px 5px -7px rgba(0, 0, 0, 0.59);
}

@media (max-width: 991.98px) {
  #checkout .checkout-content-wrapper .row {
    display: flex;
    flex-direction: column-reverse;
    gap: 1rem;
  }

  #checkout .checkout-content-wrapper .row::after {
    display: none;
  }

  #checkout .checkout-content-wrapper .row .js-show-details-custom {
    font-size: 1.175rem;
    margin-bottom: 0rem;
  }


  #checkout .checkout-content-wrapper .row #cart-summary-product-list {
    padding-block: 1rem;
  }

  #checkout .checkout-content-wrapper .row #cart-summary-product-list .media-list {
    background-color: transparent;
    padding: 1rem !important;
    border-radius: var(--border-radius-type);
  }

  #checkout .checkout-content-wrapper .row #cart-summary-product-list .product-price {
    font-size: 1.175rem;
    font-weight: 600;
  }
}

/** header support */
.header-support {
  background-color: var(--primary-color);
  color: var(--contrast-white-color);
  height: 220px;
  display: block;
}

.item-support {
  display: flex;
  flex-direction: row;
  align-items: center;
}

.item-support-icon-img {
  position: relative;
  display: inline-block;
  width: 80px;
  height: 80px;
  border-radius: 100%;
  background-color: var(--primary-color);
  margin: auto;
  min-width: 55px;
  margin-right: 16px;
}

.item-support-icon-img img {
  width: auto !important;
  height: auto !important;
  max-width: 100%;
  vertical-align: middle;
  -moz-transition: all 500ms ease 0s;
  transition: all 500ms ease 0s;
}

.item-support-text {
  color: var(--contrast-white-color);
}

.item-support-title {
  font-weight: 700;
  font-size: 24px;
  line-height: 1.52381;
  letter-spacing: -0.01em;
  margin-bottom: 5px;
}

.item-support-desc {
  font-weight: 400;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: -0.01em;
  max-width: 250px;
}

/** products tabs */
.hpp_tabs {
  background: var(--contrast-white-color);
}

.hpp_tabs .tabs {
  max-width: 100%;
  overflow: visible;
}

.hpp_tabs .tabs .nav-tabs {
  display: flex;
  flex-wrap: nowrap;
  max-width: 100%;
  overflow: visible;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  padding-bottom: 0.35rem;
}

.hpp_tabs .tabs .nav-tabs .nav-item {
  flex: 0 0 auto;
}

.hpp_tabs .tabs .nav-tabs .nav-link {
  white-space: nowrap;
  display: block;
}

@media (max-width: 991.98px) {
  #index #main .hpp_tabs .nav-tabs {
    gap: 0.75rem;
    padding-bottom: 0.75rem;
  }

  #index #main .hpp_tabs .nav-tabs .nav-link {
    padding-inline: 1rem !important;
    font-size: clamp(0.9rem, 2.4vw, 1rem);
  }
}

/* Tablette uniquement : onglets HPP en wrap centré (mobile = scroll horizontal plus haut). */
@media (min-width: 768px) and (max-width: 1199.98px) {
  #index #main .hpp_tabs .hpp-tabs-nav-scroll {
    overflow: visible;
  }

  #index #main .hpp_tabs .tabs {
    overflow: visible;
  }

  #index #main .hpp_tabs .nav-tabs {
    flex-wrap: wrap;
    justify-content: center;
    overflow: visible;
    gap: 0.75rem;
    width: auto;
    max-width: 100%;
    min-width: 0;
  }

  #index #main .hpp_tabs .nav-tabs .nav-item {
    flex: 0 1 auto;
  }
}

.hpp_tabs .fade.js-product-tab-active,
.hpp_tabs .fade:not(.show) {
  opacity: 1 !important;
}

.hpp_tabs .tabs .nav-tabs .nav-link.active {
  border: 0 !important;
  border-color: transparent !important;
}

.tabs .nav-tabs .nav-link.active,
.tabs .nav-tabs .nav-link:hover {
  border-bottom: var(--primary-color) 3px solid !important;
}

#index #main .hpp_tabs .tabs .nav-tabs .nav-link.active,
#index #main .hpp_tabs .tabs .nav-tabs .nav-link:hover {
  border: 0 !important;
  border-color: transparent !important;
}

.tabs .nav-tabs .nav-link {
  color: var(--text-color) !important;
  border: 0 solid transparent;
  text-transform: uppercase;
}

/** products by categories custom */
#index .tabs {
  padding: 0px;
}

#index #home-page-tabs {
  margin: 0px 10px;
  padding: 10px 0px 0px 0px;
}

.product-flags li.product-flag {
  background-color: var(--primary-color);
}

/** brands */
/* Page index /marques — grille cartes */
#manufacturer #main.brands-index {
  padding-bottom: clamp(2rem, 5vw, 3.5rem);
}

#manufacturer #main.brands-index .brands-index__grid {
  --bs-gutter-x: 0.75rem;
  --bs-gutter-y: 0.75rem;
}

@media (min-width: 768px) {
  #manufacturer #main.brands-index .brands-index__grid {
    --bs-gutter-x: 1rem;
    --bs-gutter-y: 1rem;
  }
}

@media (min-width: 1200px) {
  #manufacturer #main.brands-index .brands-index__grid {
    --bs-gutter-x: 0.875rem;
    --bs-gutter-y: 0.875rem;
  }
}

#manufacturer #main.brands-index .brand-card {
  height: 100%;
  background: var(--contrast-white-color);
  border-radius: var(--border-radius-type);
  border: 1px solid var(--neutral-color-border);
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
  overflow: hidden;
  transition: box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}

#manufacturer #main.brands-index .brand-card:hover,
#manufacturer #main.brands-index .brand-card:focus-within {
  border-color: var(--secondary-color-light);
  box-shadow: 0 8px 24px rgba(89, 6, 77, 0.12);
  transform: translateY(-2px);
}

#manufacturer #main.brands-index .brand-card__link {
  display: flex;
  flex-direction: column;
  height: 100%;
  color: inherit;
  text-decoration: none;
}

#manufacturer #main.brands-index .brand-card__link:hover,
#manufacturer #main.brands-index .brand-card__link:focus-visible {
  color: inherit;
  text-decoration: none;
}

#manufacturer #main.brands-index .brand-card__media {
  display: flex;
  align-items: center;
  justify-content: center;
  height: clamp(4.5rem, 10vw, 6rem);
  min-height: clamp(4.5rem, 10vw, 6rem);
  padding: 0.3rem 0.45rem;
  background: var(--neutral-color);
  overflow: hidden;
}

#manufacturer #main.brands-index .brand-card__logo {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: center;
  display: block;
}

#manufacturer #main.brands-index .brand-card__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.2rem;
  padding: 0.65rem 0.5rem 0.85rem;
  text-align: center;
  flex: 1 1 auto;
}

#manufacturer #main.brands-index .brand-card__name {
  margin: 0;
  font-size: clamp(0.78rem, 1.4vw, 0.9rem);
  font-weight: 700;
  line-height: 1.25;
  color: var(--secondary-color);
}

#manufacturer #main.brands-index .brand-card__count {
  margin: 0;
  font-size: 0.72rem;
  font-weight: 500;
  color: var(--text-color-grey);
}

#manufacturer #main.brands-index .brands-index__results .pagination {
  margin-top: clamp(1.5rem, 3vw, 2.25rem);
}

#manufacturer #main.brands-index .brands-index__search {
  margin: 0 0 clamp(1.25rem, 3vw, 2rem);
  max-width: 36rem;
}

#manufacturer #main.brands-index .brands-index__search-bar {
  position: relative;
  display: flex;
  align-items: center;
  background: var(--contrast-white-color);
  border-radius: 16px;
  width: 100%;
  border: 1px solid #818181;
  overflow: hidden;
  padding-left: 1rem;
}

#manufacturer #main.brands-index .brands-index__search-input {
  width: 100%;
  min-width: 0;
  min-height: 2.75rem;
  padding: 0.5rem 0.5rem 0.5rem 0;
  border: none;
  background: transparent;
}

#manufacturer #main.brands-index .brands-index__search-input:focus {
  outline: none;
  box-shadow: none;
}

#manufacturer #main.brands-index .brands-index__search-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  background: transparent;
  color: var(--secondary-color);
  padding: 0 1rem;
  cursor: pointer;
}

#manufacturer #main.brands-index .brands-index__empty {
  margin-top: 1rem;
}

#manufacturer #main.brands-index .brands-index__results--loading {
  opacity: 0.55;
  pointer-events: none;
  transition: opacity 0.15s ease;
}

#mypresta_mib {
  background: transparent !important;
  box-shadow: none !important;
}

#mypresta_mib .text-uppercase {
  text-transform: initial !important;
}

#index #mypresta_mib > h4,
#mypresta_mib > h4 {
  margin-bottom: clamp(1.25rem, 2.5vw, 1.75rem) !important;
}

#mypresta_mib h4.title_blog {
  font-size: 1.8rem !important;
  font-weight: 800 !important;
  text-align: left !important;
  text-transform: initial !important;
  color: var(--text-color);
}

#mypresta_mib #MyPrestaBrandsCarousel {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  gap: 1rem 1.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
  text-align: center;
}

#mypresta_mib #MyPrestaBrandsCarousel li,
#mypresta_mib #MyPrestaBrandsCarousel li.mypresta-mib__brand,
#mypresta_mib #MyPrestaBrandsCarousel li.item,
#mypresta_mib #MyPrestaBrandsCarousel li.first_item,
#mypresta_mib #MyPrestaBrandsCarousel li.last_item,
#mypresta_mib #MyPrestaBrandsCarousel li:nth-of-type(7),
#mypresta_mib #MyPrestaBrandsCarousel li:nth-of-type(8),
#mypresta_mib #MyPrestaBrandsCarousel li:nth-of-type(9),
#mypresta_mib #MyPrestaBrandsCarousel li:nth-of-type(10),
#mypresta_mib #MyPrestaBrandsCarousel li:nth-of-type(11),
#mypresta_mib #MyPrestaBrandsCarousel li:nth-of-type(12) {
  flex: 0 1 calc((100% - 5 * 1.25rem) / 6);
  width: calc((100% - 5 * 1.25rem) / 6) !important;
  max-width: 9.5rem;
  min-width: 6.5rem;
  margin: 0 !important;
  padding: 0;
  display: flex !important;
  vertical-align: top;
  float: none !important;
}

#mypresta_mib #MyPrestaBrandsCarousel li a,
#mypresta_mib #MyPrestaBrandsCarousel .mypresta-mib__brand-link {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  text-decoration: none;
}

#mypresta_mib #MyPrestaBrandsCarousel .mypresta-mib__brand-media {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  aspect-ratio: 1 / 1;
  padding: 0.5rem;
  box-sizing: border-box;
  overflow: hidden;
  /* Encapsule chaque logo dans un bloc blanc (même esprit que /marques). */
  background: var(--contrast-white-color, #fff);
  border: 1px solid var(--neutral-color-border, #e5e5e5);
  border-radius: var(--border-radius-type-small, 8px);
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}

#mypresta_mib #MyPrestaBrandsCarousel li a img,
#mypresta_mib #MyPrestaBrandsCarousel .mypresta-mib__brand-logo {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain;
  object-position: center;
  display: block;
}

#mypresta_mib .mypresta-mib__cta-wrap {
  margin: 0;
  margin-top: clamp(1.25rem, 3vw, 2rem);
  text-align: center;
}

#mypresta_mib .mypresta-mib__cta-all-brands,
.hpp_tabs .hpp-tabs-cta-all-giftcards {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.65rem 2.25rem;
  border-radius: 9999px;
  background-color: #000;
  color: var(--contrast-white-color) !important;
  font-weight: 600;
  font-size: 0.875rem;
  letter-spacing: 0.06em;
  text-decoration: none !important;
  text-transform: uppercase;
  transition:
    background-color 0.2s ease,
    transform 0.15s ease;
}

#mypresta_mib .mypresta-mib__cta-all-brands:hover,
#mypresta_mib .mypresta-mib__cta-all-brands:focus-visible,
.hpp_tabs .hpp-tabs-cta-all-giftcards:hover,
.hpp_tabs .hpp-tabs-cta-all-giftcards:focus-visible {
  background-color: var(--primary-color) !important;
  color: var(--contrast-white-color) !important;
}

#mypresta_mib .mypresta-mib__cta-all-brands:active,
.hpp_tabs .hpp-tabs-cta-all-giftcards:active {
  transform: scale(0.98);
}

/* Bloc onglets accueil (hpp) — titre desktop : même esprit que « Nos enseignes » (#mypresta_mib h4) */
.hpp_tabs .hpp-tabs-section-heading {
  font-size: 1.8rem !important;
  font-weight: 800 !important;
  text-align: left !important;
  text-transform: initial !important;
  color: var(--text-color);
  margin-bottom: 1rem;
}

/* Blog accueil (ets_blog) — titre : même style que « Nos enseignes » (#mypresta_mib h4.title_blog) */
#index #wrapper #content.page-home .ets_block_latest.page_home.ets_block_slider h4.title_blog.title_block {
  font-size: 1.8rem !important;
  font-weight: 800 !important;
  text-align: left !important;
  text-transform: initial !important;
  color: var(--text-color);
  margin-bottom: 1rem;
}

#ets_blog_page .block.ets_block_search.ets_blog_ltr_mode {
  display: none !important;
}

#ets_blog_page .block.ets_block_archive.ets_blog_ltr_mode {
  display: none !important;
}
#ets_blog_page .block.ets_blog_ltr_mode {
  border-radius: var(--border-radius-type);
  overflow: hidden;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
  transition: box-shadow 0.3s ease;
  &:hover {
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.2);
  }
}

#ets_blog_page .block.ets_blog_ltr_mode h4.title_blog.title_block {
  font-size: 1.5rem !important;
}

#ets_blog_page .block.ets_blog_ltr_mode .blog_view_all_button a {
  background-color: var(--primary-color) !important;
  color: var(--contrast-white-color) !important;
  text-transform: uppercase !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  padding: 0.5rem 1rem !important;
  border-radius: var(--border-radius-type) !important;
  transition: background-color 0.2s ease !important;
  &:hover {
    background-color: var(--primary-color-hover) !important;
  }
  &:focus-visible {
    background-color: var(--primary-color-hover) !important;
    color: var(--contrast-white-color) !important;
  }
  &:active {
    background-color: var(--primary-color-active) !important;
    color: var(--contrast-white-color) !important;
  }
}

#ets_blog_page .ets-blog-list a.ets_item_img img {
  border-radius: var(--border-radius-type) !important;
}
#ets_blog_page .ets-blog-list .post-wrapper {
  border-radius: var(--border-radius-type) !important;
  background-color: var(--contrast-white-color) !important;
  padding: 1rem !important;
}

/* .ets-blog-wrapper-content a.read_more {
  background-color: var(--primary-color) !important;
  color: var(--contrast-white-color) !important;
  text-transform: uppercase !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  padding: 0.5rem 1rem !important;
  border-radius: var(--border-radius-type) !important;
  transition: background-color 0.2s ease !important;
} */

#ets_blog_page .page-heading.product-listing {
font-size: 2rem !important;
font-weight: 800 !important;
text-align: left !important;
text-transform: initial !important;
color: var(--text-color) !important;
}

#ets_blog_page .block.ets_block_categories.ets_blog_ltr_mode .tree li a::before {
  content: '' !important;
  display: none !important;
}

#ets_blog_page .post-wrapper .view_detail_link.blog_view_all {
  background-color: var(--primary-color) !important;
  color: var(--contrast-white-color) !important;
  text-transform: uppercase !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  padding: 0.5rem 1rem !important;
  border-radius: var(--border-radius-type) !important;
  transition: background-color 0.2s ease !important;
  &:hover {
    background-color: var(--primary-color-hover) !important;
  }
  &:focus-visible {
    background-color: var(--primary-color-hover) !important;
    color: var(--contrast-white-color) !important;
  }
  &:active {
    background-color: var(--primary-color-active) !important;
    color: var(--contrast-white-color) !important;
  }
}

/* Blog article — bannière pleine largeur en haut du conteneur */
#ets_blog_page .ets-blog-wrapper-detail {
  padding-top: 0;
  overflow: hidden;
}

#ets_blog_page .ets_blog_img_wrapper {
  margin: 0 -30px 1.5rem;
  width: calc(100% + 60px);
}

#ets_blog_page .ets_blog_img_wrapper .ets_image-single {
  width: 100%;
  overflow: hidden;
  aspect-ratio: 21 / 9;
}

#ets_blog_page .ets_blog_img_wrapper .ets_image-single img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  border-radius: 0 !important;
}

@media (max-width: 767px) {
  #ets_blog_page .ets_blog_img_wrapper {
    margin-left: -15px;
    margin-right: -15px;
    width: calc(100% + 30px);
  }

  /* Contenu principal avant la sidebar (derniers articles, catégories…) */
  #ets_blog_page #content:has(> #left-column):has(> #content-wrapper.left-column),
  #ets_blog_page #content-wrapper.js-content-wrapper:has(> #left-column):has(> #content-wrapper.left-column) {
    display: flex;
    flex-direction: column;
  }

  #ets_blog_page #content > #left-column,
  #ets_blog_page #content-wrapper.js-content-wrapper > #left-column {
    order: 2;
    width: 100%;
  }

  #ets_blog_page #content > #content-wrapper.left-column,
  #ets_blog_page #content-wrapper.js-content-wrapper > #content-wrapper.left-column {
    order: 1;
    width: 100%;
  }
}

#ets_blog_page .post-wrapper .view_detail_link.blog_view_all.no_post {
  color: var(--text-color) !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  background-color: var(--neutral-color) !important;
  border: none !important;
  text-transform: uppercase !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  padding: 0.5rem 1rem !important;
  border-radius: var(--border-radius-type) !important;
  transition: backgrou  nd-color 0.2s ease !important;
  &:hover {
    background-color: transparent !important;
    color: var(--primary-color) !important;
  }
  &:focus-visible {
    background-color: transparent !important;
    color: var(--primary-color) !important;
  }
}

#ets_blog_page .post-wrapper .view_detail_link.blog_view_all.no_post:hover {
  background-color: var(--neutral-color) !important;
  color: var(--primary-color) !important;
}

#ets_blog_page .post-wrapper .blog_description p {
  color: var(--text-color) !important;
  font-style: italic !important;
}

#ets_blog_page .owl-carousel.owl-theme.owl-loaded {
}

#ets_blog_page .owl-carousel.owl-theme.owl-loaded img {
  border-radius: var(--border-radius-type) !important;
}

#ets_blog_page .block_content.row .owl-carousel.owl-theme.owl-loaded {
display: flex !important;
gap: 1rem !important;
}

#ets_blog_page .block_content.row .owl-carousel.owl-theme.owl-loaded .owl-stage {
display: flex !important;
gap: 1rem !important;
}

#ets_blog_page .block_content.row .owl-carousel.owl-theme.owl-loaded .owl-item {
border-radius: var(--border-radius-type) !important;
background-color: var(--neutral-color) !important;
padding: 1rem !important;
}

/* Blog (ets_blog) — titre de carte article : survol couleur primaire */
a.ets_title_block {
  transition: color 0.2s ease;
}

.ets_comment_form_blog {
  display: none !important;
}

a.ets_title_block:hover,
a.ets_title_block:focus-visible {
  color: var(--primary-color) !important;
}

.hpp_tabs .hpp-tabs-cta-wrap {
  clear: both;
  display: block;
  width: 100%;
  margin: 0;
  margin-block: clamp(2rem, 5vw, 3.5rem);
  text-align: center;
}

.hpp_tabs .tab-content::after {
  content: "";
  display: block;
  clear: both;
}

/* Homepage — CTA « Commander » produit credit-cadeau-upcoop (CMS / bloc) */
#index a.btn.btn-default[href*="credit-cadeau-upcoop"],
#index a.btn.btn-default[href*="credit-cadeau-up"] {
  text-transform: uppercase !important;
  transition:
    background-color 0.2s ease,
    color 0.2s ease,
    border-color 0.2s ease;
}

#index a.btn.btn-default[href*="credit-cadeau-upcoop"]:hover,
#index a.btn.btn-default[href*="credit-cadeau-upcoop"]:focus-visible,
#index a.btn.btn-default[href*="credit-cadeau-up"]:hover,
#index a.btn.btn-default[href*="credit-cadeau-up"]:focus-visible {
  text-transform: uppercase !important;
  background-color: var(--contrast-white-color) !important;
  color: var(--primary-color) !important;
  border-color: var(--contrast-white-color) !important;
}

/* Slider accueil : survol lisible (évite conflit fond blanc + texte blanc) */
#index #carousel .carousel-inner .caption .caption-description a:hover,
#index #carousel .carousel-inner .caption .caption-description a:focus-visible,
#index #carousel .carousel-inner .caption .caption-description a.btn.btn-default:hover,
#index #carousel .carousel-inner .caption .caption-description a.btn.btn-default:focus-visible {
  background-color: var(--contrast-white-color) !important;
  color: var(--primary-color) !important;
  border-color: var(--contrast-white-color) !important;
  box-shadow: var(--bs-box-shadow-sm) !important;
}

/* Tagline cartes cadeaux (CMS) — même bloc que le CTA Commander produit 107 */
#index #content.page-home p:has(+ a.btn.btn-default[href*="credit-cadeau-upcoop"]),
#index #content.page-home a.btn.btn-default[href*="credit-cadeau-upcoop"] + p,
#index #content.page-home p:has(+ a.btn.btn-default[href*="credit-cadeau-up"]),
#index #content.page-home a.btn.btn-default[href*="credit-cadeau-up"] + p {
  font-weight: 600;
  font-size: 1.125rem;
  line-height: 1.45;
}

/** events */
.ets_block_slider.page_home {
  padding: 50px;
}

.ets_item_img {
  background-color: transparent;
}

.ets_block_slider.page_home img {
  border-radius: 16px;
}

.ets-blog-latest-post-content {
  text-align: center;
}

.ets-blog-latest-post-content a {
  font-size: 0.9rem;
  color: var(--text-color);
  text-transform: initial;
}

.ets-blog-latest-post-content p {
  font-size: 0.85rem;
  color: var(--text-color);
  text-transform: initial;
  font-weight: 200;
}

.ets-blog-latest-post-content a.read_more {
  background-color: var(--text-color);
  font-size: 0.8rem;
  color: var(--text-color);
  text-transform: uppercase;
  font-weight: 200;
  color: var(--contrast-white-color);
  padding: 8px 16px;
  border-radius: var(--border-radius-type);
  font-weight: 600;
  font-style: normal;
}

.ets-blog-latest-post-content a.read_more:hover {
  background-color: var(--primary-color);
}

/** main content */
#main .page-content {
  max-width: 1140px !important;
  margin-inline: auto;
}

@media (max-width: 767.98px) {
  #main .page-content {
    border: none !important;
    box-shadow: none !important;
  }

  body#registration #main #content.page-content,
  body.page-registration #main #content.page-content {
    border: 2px solid var(--primary-color) !important;
    background-color: var(--contrast-white-color) !important;
  }
}

/* Pas de padding haut sur la zone contenu (sous le fil d’Ariane) — sauf inscription */
body:not(#registration):not(.page-registration) #main #content.page-content,
body:not(#registration):not(.page-registration) #main #content {
  padding-top: 0 !important;
}

#subcategories ul li .subcategory-name:hover,
.block-categories .arrows .arrow-down:hover,
.block-categories .arrows .arrow-right:hover,
.block-categories .collapse-icons .add:hover,
.block-categories .collapse-icons .remove:hover,
.cart-grid-body a.label:hover {
  color: var(--primary-color);
}

.product-images > li.thumb-container .thumb.selected,
.product-images > li.thumb-container .thumb:hover {
  border: var(--primary-color) 3px solid;
}

/* .card-block a {
  color: var(--primary-color);
} */

/* .card-block a:hover, body#checkout a:hover {
  color: var(--primary-color-hover);
} */

.brand-infos a {
  color: var(--dark-mode);
  font-weight: 700;
}

#footer .container {
  width: 100%;
}

#footer #reassurances-container {
  background-color: var(--secondary-color);
  width: 100%;
  box-sizing: border-box;
}

#footer #reassurances-container .flex-container {
  align-items: center;
}

#footer #reassurances-container .item-support {
  align-items: flex-start;
}

#footer #reassurances-container .item-support-desc {
  min-height: 3em;
}

#footer #reassurances-container .item-support-icon-img {
  margin: 0 16px 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

#footer #reassurances-container .item-support-icon-img img {
  display: block;
}

/* Réassurances footer — tablette & mobile */
@media (max-width: 1024px) {

  #blockcart-modal .modal-body > .row .basket-container {
    width: 100%;
    /* margin-inline: auto; */
  }

  #my-account #main #v-pills-tab {
    border-radius: var(--border-radius-type);
  }

  #footer #reassurances-container {
    padding-inline: clamp(1rem, 4vw, 1.5rem);
  }

  #footer #reassurances-container .flex-container {
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    gap: 1.25rem 1.5rem;
    min-height: auto;
    padding-block: 1.25rem;
  }

  #footer #reassurances-container .flex-container .item-support {
    flex: 1 1 260px;
    max-width: 100%;
    box-sizing: border-box;
  }

  #footer #reassurances-container .item-support-desc {
    max-width: none;
  }
}

@media (max-width: 767.98px) {
  #footer #reassurances-container .flex-container {
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
    padding-block: 1.5rem;
  }

  #footer #reassurances-container .flex-container .item-support {
    flex: 0 1 auto;
    width: 100%;
    max-width: 100%;
    justify-content: flex-start;
  }

  #footer #reassurances-container .item-support-icon-img {
    width: 64px;
    height: 64px;
    min-width: 48px;
  }

  #footer #reassurances-container .item-support-title {
    font-size: 1.125rem;
    line-height: 1.35;
  }

  #footer #reassurances-container .item-support-desc {
    font-size: 0.9375rem;
    line-height: 1.45;
  }
}

/* #blockEmailSubscription_displayFooterBefore {
  width:100% !important;
  max-width: 100% !important;
  background-image: url('../img/newsletter.png');

  background-repeat: no-repeat;
  background-position: top left;
  background-size: 935px 500px;
  height:500px;

} */

#blockEmailSubscription_displayFooterBefore .col-md-5,
#blockEmailSubscription_displayFooterBefore .col-md-7 {
  width: 50%;
}

#blockEmailSubscription_displayFooterBefore .col-md-5 {
  padding-right: 50px;
  text-align: right;
  color: var(--contrast-white-color);
}

#blockEmailSubscription_displayFooterBefore .col-md-7 {
  padding-left: 50px;
}

.block_newsletter {
  max-width: 70rem !important;
  background: transparent !important;
  border: none !important;
}

/** footer */
#footer {
  background-color: var(--primary-color) !important;
  padding-top: 0;
}

#footer .row,
#footer .row > * {
  padding: 0 16px;
}

#footer .footer-hook-before {
  padding-top: 2.5rem;
  padding-bottom: 1.5rem;
  background-color: var(--primary-color);
}

/* Surcharge #footer .container .row { margin-inline: 1rem } et marges Bootstrap sur .row */
#footer .footer-hook-before .row {
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-inline: 0 !important;
}

#footer
  .footer-hook-before
  #blockEmailSubscription_displayFooterBefore
  .col-md-5,
#footer
  .footer-hook-before
  #blockEmailSubscription_displayFooterBefore
  .col-md-7 {
  padding-left: clamp(0.75rem, 3vw, 1.25rem) !important;
  padding-right: clamp(0.75rem, 3vw, 1.25rem) !important;
}

/* Gouttière entre le titre newsletter et le bloc formulaire (bouton) — desktop */
@media (min-width: 1025px) {
  #footer
    .footer-hook-before
    #blockEmailSubscription_displayFooterBefore
    #block-newsletter-label {
    padding-right: clamp(1.25rem, 4vw, 2.75rem) !important;
  }

  #footer
    .footer-hook-before
    #blockEmailSubscription_displayFooterBefore
    .col-md-7 {
    padding-left: clamp(1rem, 3.5vw, 2.25rem) !important;
  }

  #block-newsletter-label p {
    padding-right: 64px !important;
  }
}

#block-newsletter-label p {
  color: var(--contrast-white-color) !important;
  font-weight: 500;
  font-size: 1.5rem;
  text-align: left;
}

#block-newsletter-label p:first-child {
  color: var(--contrast-white-color) !important;
}

#block-newsletter-label p:last-child {
  color: var(--secondary-color) !important;
}

.footer-container {
  background-color: var(--secondary-color);
}

.block_newsletter input[type="submit"][name="submitNewsletter"] {
  background-color: var(--secondary-color) !important;
  padding: var(--btn-base-padding);
  font-weight: 600;
  border: none !important;
  border-radius: 999px !important;
  --bs-btn-border-radius: 999px !important;
}

.block_newsletter input[type="submit"][name="submitNewsletter"]:hover,
.block_newsletter input[type="submit"][name="submitNewsletter"]:focus-visible,
.block_newsletter input[type="submit"][name="submitNewsletter"]:active {
  border-radius: 999px !important;
}

.block_newsletter .newsletter-registration_conditions-text p {
  color: var(--contrast-white-color) !important;
  margin-top: 0.5rem;
}

.block_newsletter form input[type="email"] {
  width: 100%;
  padding: 11px;
  border: 1px solid #ddd;
  background: #fff;
  color: var(--secondary-color);
  border-radius: 8px;
}

.footer-container .container {
  width: 1140px !important;
  max-width: 100%;
}

.footer-container p.h3,
.footer-container p.h3 a,
.footer-container p.h4,
.footer-container li a {
  color: var(--contrast-white-color) !important;
}

/* Footer liens — titres de colonnes (desktop + ligne accordéon mobile) plus compacts que .h3 */
.footer-container .links .wrapper > p.h3,
.footer-container .links .wrapper .title .h3 {
  font-size: 1rem !important;
  line-height: 1.35;
  font-weight: 600;
}

/* Footer CEV (ps_cev_mbo) — 3 colonnes desktop */
#footer .footer-container .footer-container__links-row > .cev-footer-links {
  flex: 1 1 100%;
  max-width: 100%;
  width: 100%;
}

#footer .footer-container .cev-footer-links .links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem 2rem;
  width: 100%;
}

#footer .footer-container .cev-footer-links .wrapper {
  text-align: left;
}

.footer-container a.cev-footer-link--soon,
.footer-container a.cev-footer-link--soon:hover {
  opacity: 0.55;
  cursor: default;
  text-decoration: none !important;
}

.footer-container a {
  color: var(--contrast-white-color);
  font-size: 0.85rem;
}

/* Liens colonnes footer — survol discret */
#footer .footer-container .cev-footer-links li a:not(.cev-footer-link--soon) {
  opacity: 0.92;
  text-decoration: none;
  transition: opacity 0.2s ease, color 0.2s ease;
}

#footer .footer-container .cev-footer-links li a:not(.cev-footer-link--soon):hover,
#footer .footer-container .cev-footer-links li a:not(.cev-footer-link--soon):focus-visible {
  opacity: 1;
  text-decoration: underline;
  text-decoration-color: rgba(255, 255, 255, 0.45);
  text-underline-offset: 0.2em;
  text-decoration-thickness: 1px;
}

.footer-container__wrap {
  box-sizing: border-box;
}

.footer-container__main {
  display: flex;
  flex-direction: column;
}

.footer-container__links-row > * {
  box-sizing: border-box;
}

@media (max-width: 767.98px) {
  #footer .footer-container .footer-container__links-row .title .h3 {
    font-size: 0.9rem !important;
  }
}

.footer-container__logo {
  max-width: 200px !important;
  width: 100%;
  height: auto;
  display: block;
  margin-inline: auto;
  vertical-align: middle;
}

.footer-container__logo.cev-tenant-logo {
  width: auto !important;
  max-width: 200px;
  max-height: 48px;
  height: auto !important;
  object-fit: contain;
}

#footer .footer-container p.footer-container__brand {
  text-align: center;
}

#footer .footer-container .footer-container__version-row {
  margin-top: 0.25rem;
}

#footer .footer-container .dev-version.footer-container__version {
  margin: 0 0 0.75rem;
  text-align: center;
  font-size: 0.75rem;
  color: #fff;
  opacity: 0.4;
}

@media (min-width: 1025px) {

  #header .header-nav .header-nav__mobile.mobile-header {
    display: none !important;
  }

  #mobile_top_menu_wrapper.header-mobile-drawer {
    display: none !important;
  }


#blockcart-modal .modal-body > .row {
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 0.7rem;
}

  #footer .footer-container .footer-container__brand-row {
    margin-top: 1rem;
    padding-top: 0;
    padding-bottom: 1.25rem;
    border-top: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
  }

  #footer
    .footer-container
    .footer-container__links-row
    .col-md-6.links
    > .row {
    justify-content: flex-start;
  }

  #footer
    .footer-container
    .footer-container__links-row
    .col-md-6.links
    .wrapper {
    text-align: left;
  }

  /* Dernier bloc liens en deux colonnes (ps_linklist) : centré même si d’autres modules suivent (ex. compte) */
}

/* Desktop / tablette : les titres accordéon sont masqués (.hidden-md-up) — les <ul class="collapse">
   doivent rester visibles sans .show. En ≤768px, ne pas forcer display — sinon le collapse
   Bootstrap ne peut plus masquer le contenu (accordéon footer cassé). */
@media (min-width: 768px) {
  #footer .collapse:not(.show) {
    display: block;
  }

}

.footer-after-container {
  padding: 0 !important;
  padding-top: 1rem !important;
  padding-bottom: clamp(1rem, 2.5vw, 1.5rem) !important;
  overflow: hidden;
  background-color: var(--secondary-color);
  color: var(--contrast-white-color);
}

.footer-after-container .container {
  width: 1140px !important;
  max-width: 100%;
}

/* Même gouttière horizontale que le bloc .footer-container au-dessus */
#footer .footer-after-container > .container > .row {
  box-sizing: border-box;
  align-items: center;
}

/* Copyright à gauche, liens légaux à droite — alignés sur le bord droit de .footer-container__brand-row */
@media (min-width: 768px) {
  #footer .footer-after-container > .container > .row.footer-after-container__bar {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    gap: 1rem 1.5rem;
    /* Même inset horizontal que #footer .row (brand-row / border-bottom) */
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  #footer .footer-after-container > .container > .row.footer-after-container__bar > * {
    flex: 0 1 auto;
    width: auto !important;
    max-width: 100%;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  #footer
    .footer-after-container
    > .container
    > .row.footer-after-container__bar
    > .footer-after-container__copyright {
    display: flex;
    align-items: center;
    align-self: center;
    margin-inline-end: auto;
    margin-block: 0;
  }

  #footer
    .footer-after-container
    > .container
    > .row.footer-after-container__bar
    > .footer-after-container__copyright
    a {
    display: inline-flex;
    align-items: center;
    line-height: 1.25;
    margin-block: 0;
  }

  #footer
    .footer-after-container
    > .container
    > .row.footer-after-container__bar
    > .col-md-6.links {
    display: flex;
    align-items: center;
    align-self: center;
    flex: 0 0 auto;
    margin-inline-start: auto;
    margin-inline-end: 0;
    margin-block: 0;
    text-align: right;
  }

  #footer
    .footer-after-container
    > .container
    > .row.footer-after-container__bar
    > .col-md-6.links
    > .row {
    display: flex;
    align-items: center;
    margin-inline: 0 !important;
    margin-block: 0 !important;
    --bs-gutter-x: 0;
    --bs-gutter-y: 0;
    justify-content: flex-end;
  }

  #footer
    .footer-after-container
    > .container
    > .row.footer-after-container__bar
    > .col-md-6.links
    .wrapper {
    display: flex;
    align-items: center;
    width: auto;
    max-width: none;
    margin-block: 0;
    padding-inline: 0;
  }

  #footer .footer-after-container #footer_sub_menu_3 {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: nowrap;
    margin-block: 0 !important;
    padding-block: 0;
    padding-inline-end: 0;
    margin-inline-end: 0;
    line-height: 1.25;
  }

  #footer .footer-after-container #footer_sub_menu_3 li {
    display: flex;
    align-items: center;
    margin-block: 0;
    padding-block: 0;
  }

  #footer .footer-after-container #footer_sub_menu_3 li a {
    display: inline-flex;
    align-items: center;
    line-height: 1.25;
    margin-block: 0;
    min-height: 0;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  #footer .footer-after-container > .container {
    padding-inline: clamp(1rem, 2.5vw, 1.5rem);
    box-sizing: border-box;
  }
}

#product .desktop-title {
  display: block;
}
#product .mobile-title {
  display: none;
}

#product .desktop-description-short {
  display: block;
}

#product .mobile-description-short {
  display: none;
}

/* Prix unitaire visible : nécessaire pour updateProductPrice (crédit cadeau bulk) sur .current-price-value */
#product .js-product-prices {
  display: block !important;
}

#product .js-product-minimal-quantity {
  display: none;
}

.footer-after-container #footer_sub_menu_3 {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  column-gap: clamp(1rem, 2.5vw, 1.75rem);
  row-gap: 0.65rem;
}

/* Mentions légales, CGU, CGV, Cookies (#footer_sub_menu_3) */
#footer .footer-after-container #footer_sub_menu_3 li a {
  transition:
    background-color 0.15s ease,
    color 0.15s ease;
  border-radius: var(--border-radius-type-small);
}

#footer .footer-after-container #footer_sub_menu_3 li a:hover,
#footer .footer-after-container #footer_sub_menu_3 li a:focus-visible,
#footer .footer-after-container #footer_sub_menu_3 li a:active {
  background-color: var(--contrast-white-color);
  color: var(--secondary-color) !important;
  text-decoration: none;
}

.footer-after-container .col-md-6.wrapper {
  width: 100%;
}

.footer-after-container .col-md-6.wrapper p.h3 {
  display: none;
}

.footer-after-container a {
  color: var(--contrast-white-color);
}

.footer-after-container a:hover {
  text-decoration: underline;
}

#footer .footer-after-container .row > .col-md-6.links:first-child {
  text-align: left;
}

#footer .footer-after-container .row > .col-md-6.links:not(:first-child) {
  text-align: right;
}

#footer .footer-after-container .row > .col-md-6.links:not(:first-child) .wrapper {
  text-align: right;
}

#footer .footer-after-container .row > .col-md-6.links:not(:first-child) > .row {
  justify-content: flex-end;
}

#footer .footer-after-container .col-md-6.links a {
  display: inline-block;
  max-width: 100%;
}

/* ===== HOMEPAGE ===== */
#carousel {
  width: 100vw;
  margin: 0;
  padding: 0;
  overflow: hidden;
  height: 100%;
}

.carousel {
  background-color: transparent !important;
}

.carousel-control {
  width: 3% !important;
}

.carousel .carousel-control .icon-prev:hover i,
.carousel .carousel-control .icon-next:hover i {
  color: var(--primary-color) !important;
}

.carousel .carousel-inner {
  height: 500px !important;
  overflow: hidden;
}

.carousel .carousel-item .caption {
  position: absolute;
  top: 15%;
  color: white;
  max-width: 700px;
  left: auto;
  height: fit-content;
  z-index: 2;
}

.carousel .carousel-item {
  min-height: clamp(400px, 60vh, 800px);
  position: relative;
  height: 100%;
  overflow: hidden;
}

.carousel .carousel-item > a {
  display: block;
  height: 100%;
}

.carousel .carousel-item figure {
  position: relative;
  height: 100%;
  width: 100%;
  margin: 0;
  overflow: hidden;
}

/* Calque image seul : centré, rogné haut/bas — sans déplacer le bloc texte */
.carousel .carousel-item .carousel-slide-media {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

.carousel .carousel-item .carousel-image {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover;
  object-position: center center;
}

.carousel .carousel-item figure > .container {
  position: relative;
  z-index: 1;
  height: 100%;
  pointer-events: none;
}

.carousel .carousel-item figure > .container .caption {
  pointer-events: auto;
}

.carousel .carousel-item .caption h1,
.carousel .carousel-item .caption h1.cev-home-hero-title,
.carousel .carousel-item .caption h1.display-1,
.carousel .carousel-item .caption h2 {
  color: var(--nav-color) !important;
  text-transform: initial !important;
  font-size: 2.775rem !important;
}

.carousel .carousel-item .caption p {
  font-size: 1.175rem !important;
  margin: 16px 0 24px 0 !important;
  margin-top: 1.5rem !important;
  font-weight: 300;
}

.carousel .carousel-item .caption p a,
#carousel .carousel-inner .caption .caption-description a,
#carousel .carousel-inner .caption .caption-description a.btn.btn-default {
  display: inline-block;
  color: var(--nav-color) !important;
  background-color: var(--primary-color);
  padding: 0.5rem 1.5rem;
  border-radius: var(--border-radius-type) !important;
  border: none !important;
  font-weight: 600 !important;
  text-transform: uppercase;
  text-decoration: none !important;
  cursor: pointer;
  margin-top: 0.5rem !important;
  box-shadow: none !important;
  transition:
    background-color 0.2s ease,
    color 0.2s ease,
    box-shadow 0.2s ease;
}

/* CTA slider : même rayon que onglets Populaire (accueil) */
#index #carousel .caption-description .btn-default {
  border-radius: var(--border-radius-type) !important;
}

.promo-code-button-custom {
  cursor: default;
  color: var(--text-color, #232323);
  text-align: center;
  pointer-events: none;
  text-decoration: none;
  font-weight: 600;
}

#promo-code .promo-input {
  border: 1px solid var(--primary-color);
  border-radius: var(--border-radius-type-small);
  margin-right: 0.5rem;
}

#promo-code .promo-input:focus {
  outline: none;
  border: 1px solid var(--primary-color-hover);
  border-radius: var(--border-radius-type-small);
}

/* Slider hero — ordre : ≤ lg (layout), ≤ md (header + padding mobile), tablette md–lg (padding intermédiaire) */
@media (max-width: 991.98px) {
  #index #homepage-top-image .header-top-image {
    height: clamp(200px, 50vw, 300px);
  }

  #index #homepage-top-image #carousel,
  #index #homepage-top-image .carousel .carousel-inner {
    height: 100% !important;
  }

  #index #homepage-top-image .carousel .carousel-item {
    min-height: 100%;
    height: 100%;
  }

  #carousel {
    height: 300px !important;
  }

  .carousel .carousel-inner {
    height: 100% !important;
  }

  .carousel .carousel-item .caption {
    top: 0;
  }
}

@media (max-width: 767.98px) {
  #header:not(.is-open) .header-top {
    display: none;
  }
}

@media (min-width: 768px) and (max-width: 991.98px) {
}

/* ===== CATEGORY PAGE ===== */
#categoryModal.fade,
#categoryModal .fade:not(.show) {
  opacity: 1 !important;
}

#category .block-categories,
#category #search_filters_brands,
#category #search_filters,
#category .block-category {
  border-radius: var(--border-radius-type);
}

#category #search_filters_suppliers,
#category .ets_block_categories,
#category .ets_block_latest,
#category .ets_block_search,
#category .ets_block_archive {
  display: none;
}

#category .product-miniature .thumbnail-container, #manufacturer .product-miniature .thumbnail-container,
#product .product-miniature .thumbnail-container {
  border-radius: var(--border-radius-type);
  padding: 16px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

#category .product-miniature .thumbnail-container .product-flag.new, #manufacturer .product-miniature .thumbnail-container .product-flag.new,
#product .product-miniature .thumbnail-container .product-flag.new {
  margin-left: 16px;
  border-radius: 8px;
}

#category .product-miniature .thumbnail-container a.quick-view:hover, #manufacturer .product-miniature .thumbnail-container a.quick-view:hover,
#product .product-miniature .thumbnail-container a.quick-view:hover,
#index a.quick-view:hover {
  color: var(--dark-mode);
}

.block-category .block-category-inner {
  overflow: auto !important;
}

.block-category .block-category-inner .category-cover img {
  width: 924px !important;
  height: 266px !important;
}

/* ===== CUSTOMER ACCOUNT PAGE ===== */
/* :not(.page-registration) — l'inscription a aussi .page-customer-account sur <body> */
.page-customer-account:not(.page-registration) #main #content.page-content,
.page-customer-account:not(.page-registration) #content {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border: none !important;
  max-width: 100% !important;
  width: 100%;
  margin-inline: auto;
  padding-inline: 0 !important;
}

/* Badges état commande — contraste lisible (historique, détail commande, etc.) */
.page-customer-account .label.label-pill {
  display: inline-block;
  box-sizing: border-box;
  padding: 0.4rem 0.75rem;
  border-radius: 1rem;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.3;
  white-space: normal;
}

.page-customer-account .label.label-pill.bright {
  color: var(--contrast-white-color, #fff) !important;
}

.page-customer-account .label.label-pill.dark {
  color: var(--dark-mode, #1a1a1a) !important;
}

@media (min-width: 768px) {
  .page-customer-account:not(.page-registration) #main {
    padding-inline: 0 !important;
  }

  .page-customer-account:not(.page-registration) #wrapper > .container > .row {
    margin-inline: 0;
  }

  .page-customer-account:not(.page-registration) #content-wrapper {
    flex: 0 0 100%;
    max-width: 100%;
    width: 100%;
    padding-inline: 0;
  }
}

#my-account #main .page-content {
  max-width: 100% !important;
}

#my-account main form label {
  font-weight: 600;
}

/* Lien / bouton « Se déconnecter » (pied de page compte) */
.customer-logout-wrap {
  margin-top: 1.25rem;
  margin-bottom: 0.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}

.customer-logout-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.65rem 1.35rem;
  font-weight: 600;
  font-size: 0.95rem;
  line-height: 1.2;
  text-decoration: none !important;
  color: var(--primary-color) !important;
  background-color: transparent;
  border: 1px solid var(--primary-color);
  border-radius: var(--border-radius-type);
  transition:
    background-color 0.18s ease,
    color 0.18s ease,
    border-color 0.18s ease,
    box-shadow 0.18s ease;
}

.customer-logout-link:hover {
  color: var(--contrast-white-color) !important;
  background-color: var(--primary-color);
  border-color: var(--primary-color);
  box-shadow: 0 4px 14px
    color-mix(in srgb, var(--primary-color) 28%, transparent);
}

.customer-logout-link:focus-visible {
  outline: 2px solid var(--primary-color);
  outline-offset: 2px;
}

.customer-logout-link i {
  font-size: 1.05rem;
  line-height: 1;
}

@media (max-width: 767.98px) {
  .customer-logout-wrap {
    padding-inline: var(--padding-inline-base, 1rem);
  }

  .customer-logout-link {
    width: 100%;
    max-width: 22rem;
    margin-inline: auto;
    padding-block: 0.75rem;
  }
}

/* .cev-account-page.my-account : fond + bordure dans cev-account-page.css */
.my-account:not(.cev-account-page) {
  background-color: var(--contrast-white-color);
  border: 1px solid var(--primary-color);
  border-radius: var(--border-radius-type);
  overflow: hidden;
  position: relative;
}

.my-account-nav {
  background-color: var(--nav-color);
  z-index: 100;
  height: 100vh;
  max-height: 600px;
}

.my-account-nav i {
  font-size: 1.5rem;
}

.my-account-actions {
  background-color: var(--primary-color-light);
  border-top: 1px solid var(--primary-color);
  border-left: 1px solid var(--primary-color);
  z-index: 10;
}

.my-account-actions a,
.my-account-actions a:hover {
  background-color: var(--nav-color);
  border-radius: 24px;
  color: var(--primary-color);
  font-weight: 600;
  border: none !important;
  box-shadow: none !important;
  font-size: 1.1rem;
}

.my-account-actions a:hover {
  background-color: var(--primary-color);
  color: var(--contrast-white-color);
}

.my-account .nav-link {
  color: var(--dark-mode) !important;
  border-radius: 0 !important;
  font-weight: 500 !important;

  padding: 8px 16px;
  display: flex;
  align-items: center;
  gap: 1rem;
}

.my-account .nav-link.active {
  background-color: var(--primary-color) !important;
  color: var(--contrast-white-color) !important;
  box-shadow: var(--bs-box-shadow-sm) !important;
  font-weight: 600 !important;
}

.my-account-banner {
  border-radius: var(--border-radius-type);
  overflow: hidden;
}

/* Cagnotte : montant du solde en couleur secondaire (surcharge text-primary / color-primary) */
#my-wallet-section
  .customer-balance-container
  .cev-wallet-balance
  .balance-amount,
#my-wallet-section .customer-balance-container .balance-amount {
  color: var(--secondary-color) !important;
}

/* ===== PRODUCT PAGE ===== */
.product-price {
  color: var(--primary-color);
  font-size: 1.85rem;
}

.shopping-cart {
  margin-top: -16px !important;
}

/** Gift card module FME */

#product_extrafields_fieldset h4 {
  color: var(--dark-mode) !important;
  margin-top: 1rem;
  text-transform: uppercase !important;
  font-size: 1.175rem !important;
  font-weight: 700 !important;
}

.print_home,
.send_to_friend {
  float: left;
  width: 48%;
  margin-bottom: 1rem;
}

.print_home label,
.send_to_friend label {
  margin-left: 0.3rem;
}

#giftcard_send_to_friend hr {
  border-top: 0 !important;
}

.product-cover .layer {
  border-radius: var(--border-radius-type);
}

/* Cartes cadeaux : galerie unifiée (bulk Up + marketplace classiques) */
#product .cev-giftcard-gallery .product-cover .layer {
  display: none !important;
  pointer-events: none !important;
}

#product .cev-giftcard-gallery--classic .product-cover {
  cursor: default;
}

#product .cev-giftcard-gallery--classic {
  margin-bottom: 0.5rem;
}

#product .cev-giftcard-gallery--classic .images-container {
  flex-shrink: 0;
}

#product .product-cover img {
  background-color: transparent !important;
}

#product .product-price {
  font-size: 1rem !important;
}

#product .tabs {
  margin: 0;
}

#product h1 {
  margin-left: 0;
}

#gift-card-wrapper.card {
  background-color: transparent !important;
}

.product-add-to-cart {
  padding: 0.65rem 1.25rem 0.5rem;
}

/* Cartes cadeaux : pas de padding latéral sur le bloc Ajouter au panier (pleine largeur du card) */
#product .product-add-to-cart--flush-x,
#product .product-add-to-cart {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.social-sharing {
  padding: 0.65rem 1.25rem 0.5rem;
}

.gc_required_fields::placeholder {
  opacity: 0 !important;
}

.template-wrapper,
.gc_required {
  display: none;
}

.specific_date_check {
  padding-top: 2.5rem;
  margin-top: 2.5rem;
  /* border-top: 1px solid #9e9e9e; */
  border-top: #ccc 2px solid !important;
}

/* personnalize general screen of page product */
.card-title {
  font-weight: 600 !important;
  font-size: 1rem !important;

  /* text-transform: uppercase; */
}

#product .tabs .fade,
#product .tabs .fade:not(.show) {
  opacity: 1 !important;
}

#product .product-container .col-md-6 {
  width: 48% !important;
  margin-left: 0 !important;
  margin-right: 1% !important;
}

#product .product-container .col-md-6 h1.h1,
#product h1.desktop-title,
#product h1.mobile-title {
  font-size: clamp(1.25rem, 1rem + 1vw, 1.5rem);
  line-height: 1.2;
  font-weight: 700;
  text-transform: none !important;
}

/* Desktop : annule display:contents + order (empilement mobile uniquement) */
@media (min-width: 1025px) {
  #product #main .product-container.row > .col-md-6:first-child,
  #product #main .product-container.row > .col-md-6:first-child #content.page-content {
    display: block;
  }

  #product #main .product-container.row > .col-md-6:last-child {
    display: block;
  }

  #product .product-page__stack--gallery,
  #product .product-page__stack--cev,
  #product .product-page__stack--buy,
  #product .product-page__stack--tabs,
  #product .product-page__stack--reassurance {
    order: 0;
    width: auto;
    min-width: 0;
  }
}

#product .js-qv-product-images {
  display: none;
}

#product .radio-label {
  padding: 0.825rem 1.325rem;
  border-radius: 8px;
}

@media (max-width: 767.98px) {

  #product .input-radio + span {
    border: none;
  }

  #product .input-radio:checked + span {
    border: none;
    background-color: var(--primary-color);
    color: var(--contrast-white-color, #fff);
  }

  #product .input-radio:hover + span {
    border: none;
  }

  /* Boutons de variantes dans product_fields : alignés avec le style global des boutons */
  #product .product_fields .js-product-variants .input-radio + .radio-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: var(--btn-base-padding);
    border-radius: var(--border-radius-type);
    border: 1px solid var(--primary-color);
    background-color: var(--contrast-white-color);
    color: var(--text-color);
    font-weight: 400;
    line-height: 1.2;
    transition:
      background-color 0.2s ease,
      color 0.2s ease,
      border-color 0.2s ease;
  }

  #product
    .product_fields
    .js-product-variants
    .input-radio:hover
    + .radio-label {
    background-color: var(--primary-color-light);
    border-color: var(--primary-color);
  }

  #product
    .product_fields
    .js-product-variants
    .input-radio:checked
    + .radio-label {
    background-color: var(--primary-color);
    color: var(--contrast-white-color, #fff);
    border-color: var(--primary-color);
  }
}

#product #empty-product-comment {
  border-radius: var(--border-radius-type);
}

/* ps_cev_giftcard_bulk — bloc boutons « Ajouter au panier » / favori */
#product .cev-config-section .cev-footer {
  margin-top: 1rem;
  margin-bottom: 0;
  overflow: visible;
}

#product .cev-footer {
  margin-bottom: 1.5rem;
  overflow: visible;
}

#product .cev-add-to-cart-wrap,
#product #cevBulkGiftcard .cev-add-to-cart-tooltip {
  overflow: visible;
}

/*
 * Montants carte (.js-product-variant-radios) + crédit bulk (#predefinedAmountsContainer) : même rendu bouton.
 * Bulk : toujours <button class="… cev-amount-btn" data-amount> + .active (JS module) — pas de passage en radio.
 */
#product .product-variants .js-product-variant-radios.btn-group,
#product #predefinedAmountsContainer.cev-amount-buttons.btn-group {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 0.75rem;
}

/* Libellé API amountOptions sous le montant (ex. « 3 mois » ou texte plus long) */
#product .product-variants .js-product-variant-radios.btn-group > .btn.cev-amount-btn--with-hint {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.2rem;
  white-space: normal !important;
  line-height: 1.15;
  min-height: 2.75rem;
  min-width: 7.5rem;
  max-width: 11.5rem;
  height: auto;
  padding: 0.5rem 0.65rem;
  text-align: center;
}

#product .product-variants .js-product-variant-radios.btn-group > .btn .cev-amount-value {
  display: block;
  font-weight: 600;
  white-space: nowrap;
}

#product .product-variants .js-product-variant-radios.btn-group > .btn .cev-amount-hint {
  display: block;
  font-weight: 400;
  font-size: 0.6875rem;
  line-height: 1.25;
  color: var(--gray, #6c757d);
  opacity: 0.95;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
  max-width: 100%;
}

#product .product-variants .js-product-variant-radios.btn-group .btn-check:checked + .btn .cev-amount-hint {
  color: inherit;
  opacity: 0.85;
}

@media (max-width: 767.98px) {
  #product .product-variants .js-product-variant-radios.btn-group > .btn.cev-amount-btn--with-hint {
    flex: 1 1 calc(50% - 0.5rem);
    max-width: calc(50% - 0.4rem);
    min-width: 0;
  }
}

#product #predefinedAmountsContainer.cev-amount-buttons.btn-group {
  margin-top: 1rem;
}

/* ≥768px : évite d’écraser les pilules mobile (spécificité plus faible dans le media max-width) */
@media (min-width: 768px) {
  #product .product-variants .js-product-variant-radios.btn-group > .btn.btn-outline-primary,
  #product #predefinedAmountsContainer.cev-amount-buttons.btn-group > .btn.btn-outline-primary.cev-amount-btn {
    flex: 0 1 auto;
    min-width: 3.25rem;
    padding: var(--btn-base-padding);
    border-radius: var(--border-radius-type);
    font-weight: 600;
    font-size: 0.9375rem;
    line-height: 1.2;
    white-space: nowrap;
    border-width: 1px;
  }

  #product #predefinedAmountsContainer.cev-amount-buttons.btn-group > .btn.btn-outline-primary.cev-amount-btn:not(.active) {
    background-color: var(--contrast-white-color);
  }

  /* Carte : survol inchangé (thème .btn-outline-primary). Bulk : même effet visuel */
  #product #predefinedAmountsContainer.cev-amount-buttons.btn-group > button.cev-amount-btn.btn-outline-primary:not(.active):hover:not(:disabled) {
    border-color: var(--primary-color);
    background-color: var(--primary-color-light);
    color: var(--text-color);
  }

  /* Même lecture que .btn-check:checked + .btn : bordure fine sur desktop carte */
  #product #predefinedAmountsContainer.cev-amount-buttons.btn-group > .btn.btn-outline-primary.cev-amount-btn.active,
  #product #predefinedAmountsContainer.cev-amount-buttons.btn-group > .btn.btn-outline-primary.cev-amount-btn.active:hover {
    font-weight: 600 !important;
    border: 1px solid var(--primary-color);
  }
}

#product .cev-amount-variant-group .js-product-variant-radios.btn-group {
  align-items: center;
}

#product #predefinedAmountsContainer .cev-custom-amount-inline.form-control,
#product .cev-amount-variant-group .cev-custom-amount-inline.form-control {
  flex: 0 0 auto;
  min-width: 7rem;
  max-width: 14rem;
  width: 9rem;
  align-self: auto;
  height: auto;
  min-height: 0;
}

#product .cev-amount-variant-group .cev-custom-amount-inline-wrap {
  display: none;
  flex-direction: column;
  align-items: flex-start;
  align-self: stretch;
  flex: 0 0 auto;
  position: relative;
  vertical-align: middle;
  margin-top: 0.65rem;
  margin-bottom: 0.35rem;
  width: 100%;
  max-width: 14rem;
}

#product .cev-amount-variant-group .cev-custom-amount-inline-wrap.is-visible {
  display: inline-flex;
}

#product .cev-amount-variant-group .cev-custom-amount-inline-wrap .cev-field-error {
  position: static;
  width: max-content;
  max-width: min(100vw - 2rem, 28rem);
  margin-top: 0.35rem;
  margin-bottom: 0.15rem;
  z-index: 2;
  color: #c62828;
  font-size: 0.8125rem;
  line-height: 1.3;
  white-space: nowrap;
}

/* Onglets : colonne gauche (#content), entre galerie et bloc CEV */
#product .product-page__stack--tabs {
  margin-top: 0;
  margin-bottom: clamp(1rem, 2.5vw, 1.5rem);
}

#product .product-cover {
  background-color: var(--contrast-white-color);
  text-align: center !important;
  border-radius: var(--border-radius-type);
}

/*
 * Cartes cadeaux : annule width:100% sur l’img (règle globale ci-dessous).
 * Le rendu picture/img unifié est dans le @media desktop.
 */
#product .cev-giftcard-gallery .product-cover img.img-fluid,
#product .cev-giftcard-gallery .product-cover img.js-qv-product-cover {
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}

#product #wrapper .img-fluid {
  max-width: 70% !important;
  margin: 0 auto !important;
}

/*
 * Galerie principale uniquement : pleine largeur du bloc (plus de « cadre » vide latéral à 70 %).
 * Les autres .img-fluid dans #wrapper gardent la règle ci‑dessus ; les overrides ≤1024px ci‑dessous restent prioritaires.
 */
#product .product-cover img.img-fluid {
  max-width: 100% !important;
  width: 100%;
  height: auto;
  margin-left: auto !important;
  margin-right: auto !important;
  display: block;
}

/*
 * Desktop : image principale plafonnée (~−1/3 de hauteur vs. ~600px) + vignettes compactes.
 */
@media (min-width: 1025px) {
  #product .product-page__stack--gallery {
    margin-bottom: 0;
    padding-bottom: 0;
  }

  #product .images-container {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    max-width: 100%;
  }

  #product .product-cover {
    padding: 0 !important;
    line-height: 0;
    max-height: 400px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
  }

  #product .product-cover picture {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-height: 400px;
  }

  #product .product-cover img.img-fluid {
    max-width: 100% !important;
    max-height: 400px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain;
    margin-inline: auto !important;
  }

  #product .js-qv-mask.mask {
    margin-top: 0;
    flex-shrink: 0;
  }

  #product .js-qv-mask .thumb-container img,
  #product .js-qv-mask img.thumb {
    max-height: 68px;
    width: auto;
    max-width: 100%;
    object-fit: contain;
  }
}

/*
 * Cartes cadeaux — desktop : hauteur bulk via --cev-bulk-images-height (custom.js).
 * Classiques : même rendu visuel sans sync JS (picture 100%, img 94%).
 */
@media (min-width: 1025px) {
  #product .cev-giftcard-gallery:not(.cev-giftcard-gallery--classic) .images-container {
    box-sizing: border-box;
    height: var(--cev-bulk-images-height, auto);
    max-height: var(--cev-bulk-images-height, none);
    min-height: 0;
    overflow: hidden;
    justify-content: flex-start;
  }

  #product .cev-giftcard-gallery--classic .product-container > .col-md-6:first-child {
    align-self: flex-start;
  }

  #product .cev-giftcard-gallery .product-cover {
    flex: 0 0 auto;
    height: 100%;
    min-height: 0 !important;
    max-height: var(--cev-bulk-images-height, 280px) !important;
    overflow: hidden;
  }

  #product .cev-giftcard-gallery .product-cover picture {
    max-height: 100%;
    min-height: 0;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  #product .cev-giftcard-gallery .product-cover img.img-fluid {
    max-height: calc(100% - 16px) !important;
    max-width: 94% !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain;
    transform: none;
    transform-origin: center center;
  }

  #product .cev-giftcard-gallery .js-qv-mask.mask {
    flex-shrink: 0;
    max-height: 70px;
    overflow: hidden;
  }

  #product .cev-giftcard-gallery .js-qv-mask .thumb-container img,
  #product .cev-giftcard-gallery .js-qv-mask img.thumb {
    max-height: 56px;
  }
}

/* Galerie principale : moins de hauteur sur petit écran / smartphone */
@media (max-width: 1024px) {
  #product .product-cover {
    padding-block: 0.35rem;
    padding-inline: 0.25rem;
    min-height: 0;
  }

  #product .product-cover img.img-fluid {
    max-width: min(62%, 260px) !important;
    max-height: clamp(118px, 40vw, 210px);
    width: auto !important;
    height: auto !important;
    object-fit: contain;
    margin-inline: auto !important;
  }

  #product .cev-giftcard-gallery .product-cover {
    overflow: hidden;
  }

  #product .cev-giftcard-gallery .product-cover picture {
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  #product .cev-giftcard-gallery .product-cover img.img-fluid {
    max-width: 94% !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    transform: none;
    transform-origin: center center;
  }
}

@media (max-width: 575.98px) {
  #product .product-cover {
    padding-block: 0.2rem;
  }

  #product .product-cover img.img-fluid {
    max-width: min(54%, 220px) !important;
    max-height: clamp(100px, 36vw, 180px);
  }

  #product .cev-giftcard-gallery .product-cover img.img-fluid {
    max-width: min(94%, 100%) !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
  }
}

#product .product-flags {
  top: 24px !important;
}

#product .featured-products .product-flags {
  top: 8px !important;
}

/* Fiche produit — cadres onglets / réassurance : alignés panier & commande */
#product #product_extrafields_fieldset.card,
#product #block-reassurance,
#product .product-page__stack--tabs .tabs {
  box-sizing: border-box;
  background: #fff;
  border-radius: var(--border-radius-type);
  border: 1px solid rgba(26, 26, 26, 0.12);
}

#product #product_extrafields_fieldset.card,
#product .product-page__stack--tabs .tabs {
  padding: 24px 16px;
}

#product #block-reassurance {
  padding: 16px;
  margin-bottom: 1rem;
}

/* Cadhoc — réassurance colonne gauche : icônes visibles + alignement (MGFT-42) */
#product .product-page__stack--cev #block-reassurance.cev-cadhoc-reassurance .block-reassurance-item,
#product #block-reassurance.cev-cadhoc-reassurance .block-reassurance-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.85rem 0.35rem;
}

#product .product-page__stack--cev #block-reassurance.cev-cadhoc-reassurance img,
#product #block-reassurance.cev-cadhoc-reassurance img {
  width: 2.25rem;
  height: 2.25rem;
  max-width: 2.25rem;
  margin-right: 0;
  flex-shrink: 0;
  object-fit: contain;
  display: block;
}

#product .product-page__stack--cev #block-reassurance.cev-cadhoc-reassurance span,
#product #block-reassurance.cev-cadhoc-reassurance span {
  margin: 0;
  font-weight: 700;
  line-height: 1.35;
}

/* Ancien sélecteur product-cheque-cad-hoc (typo) : ne plus masquer la 2ᵉ ligne
   (libellé Cadhoc « expédié rapidement » doit rester visible). */

/* Fiche produit — bloc configuration envoi : aligné panier & commande */
#product #recipient_course.product_fields,
#product #recipient_course {
  box-sizing: border-box;
  background: #fff;
  border-radius: var(--border-radius-type);
  border: 1px solid rgba(26, 26, 26, 0.12) !important;
  box-shadow: none !important;
  padding: 24px 16px;
}

#product #recipient_course > .card-title {
  font-size: 18px !important;
  font-weight: 600 !important;
  line-height: 1.35;
  color: var(--cev-text, #333);
  margin: 0;
}

@media (max-width: 767.98px) {
  #product .product-page__stack--tabs .tabs {
    padding: 1rem 0.5rem;
    border: 1px solid rgba(26, 26, 26, 0.12);
  }
}

@media (max-width: 1024px) {
  #product #block-reassurance {
    padding: clamp(0.75rem, 3vw, 1.25rem) clamp(0.75rem, 3.5vw, 1.5rem);
    max-width: 100%;
    box-sizing: border-box;
  }
}

@media (max-width: 767.98px) {
  /*
   * Fiche produit mobile : gouttière alignée sur le texte du bloc « configuration envoi »
   * (.cev-config-section 24px / #recipient_course 1.25rem).
   */
  #product {
    --cev-product-text-gutter: 1.5rem;
  }

  #product:has(#recipient_course) {
    --cev-product-text-gutter: 1.25rem;
  }

  #product #wrapper > .container > nav.breadcrumb {
    padding-left: max(var(--cev-product-text-gutter), env(safe-area-inset-left, 0px));
    padding-right: max(var(--cev-product-text-gutter), env(safe-area-inset-right, 0px));
  }

  #product .product-page__stack--gallery .mobile-title,
  #product .product-page__stack--gallery .product-flags {
    padding-left: max(var(--cev-product-text-gutter), env(safe-area-inset-left, 0px));
    padding-right: max(var(--cev-product-text-gutter), env(safe-area-inset-right, 0px));
    box-sizing: border-box;
  }

  #product .product-page__stack--cev {
    padding-left: max(var(--cev-product-text-gutter), env(safe-area-inset-left, 0px));
    padding-right: max(var(--cev-product-text-gutter), env(safe-area-inset-right, 0px));
    box-sizing: border-box;
  }

  #product .product-page__stack--buy .desktop-title,
  #product .product-page__stack--buy .product-prices,
  #product .product-page__stack--buy .product-order-total-container,
  #product .product-page__stack--buy .desktop-description-short,
  #product .product-page__stack--buy .product-customization,
  #product .product-page__stack--buy .js-product-actions > .product-variants,
  #product .product-page__stack--buy .js-product-actions > .product-add-to-cart,
  #product .product-page__stack--buy .product-additional-info,
  #product .product-page__stack--buy .product-discounts,
  #product .product-page__stack--buy .product-pack,
  #product .product-page__stack--buy .alert {
    padding-left: max(var(--cev-product-text-gutter), env(safe-area-inset-left, 0px));
    padding-right: max(var(--cev-product-text-gutter), env(safe-area-inset-right, 0px));
    box-sizing: border-box;
  }

  /* Bloc product_fields (ex. destinataire / champs carte cadeau) */
  #product .product_fields {
    border-radius: var(--border-radius-type);
    border: 1px solid rgba(26, 26, 26, 0.12) !important;
    box-shadow: none !important;
    box-sizing: border-box;
    padding: 1.25rem 1.5rem;
  }

  /* Même pilules que #recipientUser : product_fields + montants carte + montants bulk (crédit cadeau) */
  #product .product_fields .btn-group .btn,
  #product .product-variants .js-product-variant-radios.btn-group > .btn,
  #product #predefinedAmountsContainer.cev-amount-buttons.btn-group > .btn {
    border-radius: 1.25rem;
    padding: var(--btn-base-padding);
    border: 1px solid var(--primary-color);
    background-color: var(--contrast-white-color);
    color: var(--text-color) !important;
    font-weight: 500 !important;
    transition:
      background-color 0.2s ease,
      color 0.2s ease,
      border-color 0.2s ease;
  }

  #product .product_fields .btn-group .btn:hover,
  #product .product_fields .btn-group .btn:focus,
  #product .product-variants .js-product-variant-radios.btn-group > .btn:hover,
  #product .product-variants .js-product-variant-radios.btn-group > .btn:focus,
  #product #predefinedAmountsContainer.cev-amount-buttons.btn-group > .btn:hover,
  #product #predefinedAmountsContainer.cev-amount-buttons.btn-group > .btn:focus {
    border-color: var(--primary-color);
    background-color: var(--primary-color-light);
    color: var(--text-color) !important;
  }

  #product .product_fields .btn-group .btn-check:checked + .btn,
  #product .product_fields .btn-group .btn.active,
  #product .product-variants .js-product-variant-radios.btn-group .btn-check:checked + .btn,
  #product #predefinedAmountsContainer.cev-amount-buttons.btn-group > .btn.active {
    border: 1px solid var(--primary-color) !important;
    box-shadow: none !important;
    background-color: var(--primary-color-light);
    color: var(--text-color) !important;
    font-weight: 600 !important;
  }

  /* Champ "Autre montant" (cev-extra-field) : cohérent avec le design mobile */
  #product .cev-extra-field {
    width: 100%;
    min-height: 2.75rem;
    border: 1px solid var(--primary-color) !important;
    border-radius: 1.25rem;
    padding: 0.7rem 1rem;
    background-color: var(--contrast-white-color);
    color: var(--text-color);
    box-shadow: none;
  }

  #product .cev-extra-field::placeholder {
    color: var(--text-color-grey);
    opacity: 0.85;
  }

  #product .cev-extra-field:focus {
    border-color: var(--primary-color) !important;
    box-shadow: 0 0 0 0.15rem rgba(229, 48, 96, 0.15);
    outline: none;
  }

  /* Montant libre inline (carte classique + bulk) — visible uniquement après « Autre » */
  #product .cev-amount-variant-group .cev-custom-amount-inline-wrap {
    display: none;
    flex-direction: column;
    flex: 0 0 auto;
    width: 100%;
    max-width: 14rem;
    position: relative;
    align-self: flex-start;
    margin-top: 0.65rem;
  }

  #product .cev-amount-variant-group .cev-custom-amount-inline-wrap.is-visible {
    display: flex;
  }

  #product .cev-amount-variant-group .cev-custom-amount-inline-wrap .cev-field-error {
    position: static;
    width: max-content;
    max-width: min(100vw - 2rem, 28rem);
    margin-top: 0.35rem;
    white-space: nowrap;
  }

  #product .cev-amount-variant-group .cev-custom-amount-inline.form-control,
  #product #predefinedAmountsContainer .cev-custom-amount-inline.form-control {
    flex: 1 1 100%;
    width: 100%;
    max-width: none;
    min-height: 2.75rem;
    margin-top: 0.5rem;
    border: 1px solid var(--primary-color) !important;
    border-radius: 1.25rem;
    padding: 0.7rem 1rem;
    background-color: var(--contrast-white-color);
    color: var(--text-color);
    box-shadow: none;
  }

  #product #predefinedAmountsContainer .cev-custom-amount-inline.form-control::placeholder {
    color: var(--text-color-grey);
    opacity: 0.85;
  }

  #product #predefinedAmountsContainer .cev-custom-amount-inline.form-control:focus {
    border-color: var(--primary-color) !important;
    box-shadow: 0 0 0 0.15rem rgba(229, 48, 96, 0.15);
    outline: none;
  }

  #product .tabs .nav-tabs .nav-link {
    font-weight: 500;
  }

  #product .tabs .nav-tabs .nav-link.js-product-nav-active {
    background-color: var(--primary-color);
    color: var(--contrast-white-color, #fff) !important;
    border-bottom: none !important;
    border-radius: var(--border-radius-type, 16px);
    font-weight: 600;
  }

  #product .tabs .nav-tabs .nav-link.js-product-nav-active:hover,
  #product .tabs .nav-tabs .nav-link.js-product-nav-active:focus {
    background-color: var(--primary-color);
    color: var(--contrast-white-color, #fff) !important;
    border-bottom: none !important;
    border-radius: var(--border-radius-type, 16px);
    font-weight: 600;
  }
}

/* Fiche produit — pilules actives : bordure 1px (comme l'état inactif) */
#product .btn-check:checked + .btn.btn-outline-primary,
#product .product_fields .btn-group .btn-check:checked + .btn,
#product .product_fields .btn-group .btn.active,
#product .product-variants .js-product-variant-radios.btn-group .btn-check:checked + .btn,
#product #predefinedAmountsContainer.cev-amount-buttons.btn-group > .btn.active {
  border: 1px solid var(--primary-color) !important;
  box-shadow: none !important;
}

#product .form-group {
  margin-top: 32px !important;
}

.control-label,
.cev-label {
  font-weight: bold;
}

#show_custom_price {
  color: var(--primary-color);
  font-size: 2rem;
  font-weight: 600;
  margin-top: 2rem;
  margin-bottom: 2rem;
}

/* Crédit cadeau (bulk) + carte cadeau (#recipient_course) : pas de total dynamique sous la quantité */
#product:has(#cevBulkGiftcard) #show_custom_price,
#product:has(#recipient_course) #show_custom_price,
#product:has(#cevCadhocTotalAmount) #show_custom_price {
  display: none !important;
  margin: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
}

/* Carte cadeau : pas du bloc prix catalogue (TTC) — crédit bulk, chèque Cadhoc ou flux destinataire #recipient_course */
#product:has(#cevBulkGiftcard) .product-prices.js-product-prices,
#product:has(#recipient_course) .product-prices.js-product-prices,
#product:has(#cevCadhocTotalAmount) .product-prices.js-product-prices {
  display: none !important;
}

/* Chèque Cadhoc — montant total (même rendu que crédit cadeau bulk) */
/* Encadré chèques unitaires — fiche Cadhoc uniquement */
#product .cev-cadhoc-product-hint {
  margin: 1rem 0 1.25rem;
  padding: 0.875rem 1rem;
  background: #fff8e8;
  border: 1px solid #f0a000;
  border-radius: 0.375rem;
  color: #3a3a3a;
  font-size: 0.875rem;
  line-height: 1.45;
}

#product .cev-cadhoc-product-hint__lead {
  margin: 0;
}

#product .cev-cadhoc-product-hint__body {
  margin: 0;
}

#product .cev-cadhoc-buy-lead {
  margin: 0.35rem 0 1rem;
  font-size: 0.95rem;
  line-height: 1.45;
  color: var(--text-muted-color, #666);
}

#product .cev-cadhoc-total-amount,
#product .cev-giftcard-total-amount {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 16px 20px;
  border: 1px solid var(--primary-color);
  border-radius: 8px;
  margin-top: 24px;
}

#product .cev-giftcard-total-amount {
  margin-top: 1.5rem;
  margin-bottom: 0.25rem;
}

#product .cev-cadhoc-total-amount__meta,
#product .cev-giftcard-total-amount__meta {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  min-width: 0;
}

#product .cev-cadhoc-total-amount .cev-total-label,
#product .cev-giftcard-total-amount .cev-total-label {
  font-size: 17px;
  font-weight: 600;
  color: var(--text-color, #333);
}

#product .cev-cadhoc-total-breakdown,
#product .cev-giftcard-total-breakdown {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--text-muted-color, #666);
  font-variant-numeric: tabular-nums;
}

#product .cev-cadhoc-total-amount .cev-total-value,
#product .cev-giftcard-total-amount .cev-total-value {
  flex-shrink: 0;
  font-size: 24px;
  font-weight: 700;
  color: var(--primary-color);
  font-variant-numeric: tabular-nums;
}

#product .cev-cadhoc-shipping-hint {
  display: flex;
  align-items: flex-start;
  gap: 0.35rem;
  margin: 0.75rem 0 0;
  font-size: 0.875rem;
  line-height: 1.4;
  color: var(--text-muted-color, #666);
}

#product .cev-cadhoc-shipping-hint .material-icons {
  font-size: 1.125rem;
  line-height: 1.25rem;
  color: var(--primary-color);
}

@media (max-width: 767.98px) {
  #product:has(#cevCadhocTotalAmount) .cev-amount-buttons.btn-group {
    gap: 0.5rem !important;
  }

  #product:has(#cevCadhocTotalAmount) .cev-amount-buttons.btn-group > .btn {
    flex: 1 1 calc(25% - 0.5rem);
    min-width: 4.25rem;
    padding-left: 0.35rem;
    padding-right: 0.35rem;
  }

  #product .cev-cadhoc-total-amount,
  #product .cev-giftcard-total-amount {
    flex-wrap: wrap;
    align-items: flex-end;
  }

  #product .cev-cadhoc-total-amount .cev-total-value,
  #product .cev-giftcard-total-amount .cev-total-value {
    margin-left: auto;
  }
}

#product .product-order-total-container--cadhoc-qty,
#product .product-order-total-container--giftcard-qty {
  margin-top: 1.25rem;
}

#product .product-order-total {
  margin-top: 0.75rem;
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--primary-color);
}

#product .product-order-total__label {
  margin-right: 0.35rem;
}

/* Total dynamique « pour cette quantité » : masqué sur toute la fiche produit */
#product .js-product-order-total,
#product #js-product-order-total {
  display: none !important;
}

#product .product-order-total-container,
#product .product-order-total-container .product-custom-qty-container,
#product .product-order-total-container #product-custom-qty,
#product .product-order-total-container .product-order-total {
  border: none;
  outline: none;
  box-shadow: none;
}

#product .product-order-total-container .qty,
#product .product-order-total-container .input-group {
  border: none;
  box-shadow: none;
}

/* Sélecteur de quantité (fiche produit) */
#product #product-custom-qty {
  margin-top: 0.5rem;
}

/* Quantité TouchSpin : valeur centrée + chiffres tabulaires */
#product #product-custom-qty .bootstrap-touchspin #quantity_wanted,
#product #product-custom-qty .bootstrap-touchspin input[name="qty"] {
  text-align: center;
  font-variant-numeric: tabular-nums;
}

/* Spinners natifs masqués seulement dans Touchspin (évite effets de bord sur le champ brut) */
#product #product-custom-qty .bootstrap-touchspin #quantity_wanted::-webkit-outer-spin-button,
#product #product-custom-qty .bootstrap-touchspin #quantity_wanted::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

#product #product-custom-qty .bootstrap-touchspin #quantity_wanted {
  -moz-appearance: textfield;
  appearance: textfield;
}

/* TouchSpin : alignement champ + flèches (Classic positionne souvent .input-group-btn-vertical en absolute → décalage / jointures) */
#product #product-custom-qty .bootstrap-touchspin {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  box-sizing: border-box;
}

#product #product-custom-qty .bootstrap-touchspin .input-group-btn-vertical {
  position: static !important;
  inset: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  flex-shrink: 0;
  align-self: stretch;
  height: auto;
  margin: 0 !important;
}

#product #product-custom-qty .bootstrap-touchspin #quantity_wanted,
#product #product-custom-qty .bootstrap-touchspin input[name="qty"] {
  margin: 0 !important;
  box-sizing: border-box;
}

/* Flèches TouchSpin : pas de décalage artificiel sur l’icône (centrage via flex du bouton) */
#product .product-quantity .bootstrap-touchspin .input-group-btn-vertical .btn .material-icons,
#product .product-quantity .bootstrap-touchspin .input-group-btn-vertical .btn i {
  position: relative;
  top: 0;
  left: 0;
  transform: none;
  font-size: 1rem;
  line-height: 1 !important;
}

/* Desktop : stepper quantité */
@media (min-width: 1025px) {
  #product #product-custom-qty .bootstrap-touchspin {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    border: 1px solid rgba(26, 26, 26, 0.1);
    border-radius: var(--border-radius-type-md);
    overflow: hidden;
    background: var(--contrast-white-color);
    min-height: 2.75rem;
    max-width: 12.5rem;
    box-shadow:
      0 1px 2px rgba(26, 26, 26, 0.05),
      0 4px 16px rgba(26, 26, 26, 0.07);
    transition:
      border-color 0.2s ease,
      box-shadow 0.2s ease;
  }

  #product #product-custom-qty .bootstrap-touchspin:focus-within {
    border-color: rgba(242, 54, 72, 0.42);
    box-shadow:
      0 1px 2px rgba(26, 26, 26, 0.05),
      0 4px 16px rgba(26, 26, 26, 0.07),
      0 0 0 3px rgba(242, 54, 72, 0.16);
  }

  #product #product-custom-qty .bootstrap-touchspin #quantity_wanted,
  #product #product-custom-qty .bootstrap-touchspin input[name="qty"] {
    flex: 1 1 auto;
    min-width: 3rem;
    min-height: 0;
    text-align: center;
    align-self: stretch;
    font-weight: 600;
    font-size: 1.0625rem;
    color: var(--dark-mode);
  }

  #product #product-custom-qty .bootstrap-touchspin .input-group-btn-vertical {
    display: flex;
    flex-direction: column;
    width: 2.75rem;
    min-width: 2.75rem;
    align-self: stretch;
    margin: 0;
    border-left: 1px solid rgba(26, 26, 26, 0.08);
    background: linear-gradient(
      180deg,
      rgba(245, 241, 238, 0.65) 0%,
      rgba(250, 250, 250, 0.9) 100%
    );
  }

  #product #product-custom-qty .bootstrap-touchspin .btn,
  #product #product-custom-qty .bootstrap-touchspin .btn-touchspin,
  #product #product-custom-qty .bootstrap-touchspin .bootstrap-touchspin-up,
  #product #product-custom-qty .bootstrap-touchspin .bootstrap-touchspin-down {
    border: 0 !important;
    box-shadow: none !important;
    background: transparent;
    color: var(--dark-mode);
    transition:
      background-color 0.15s ease,
      color 0.15s ease;
  }

  #product #product-custom-qty .bootstrap-touchspin .btn:hover,
  #product #product-custom-qty .bootstrap-touchspin .btn-touchspin:hover,
  #product #product-custom-qty .bootstrap-touchspin .bootstrap-touchspin-up:hover,
  #product #product-custom-qty .bootstrap-touchspin .bootstrap-touchspin-down:hover {
    background: rgba(242, 54, 72, 0.12);
    color: var(--primary-color);
  }

  #product #product-custom-qty .bootstrap-touchspin .bootstrap-touchspin-up {
    border-bottom: 1px solid rgba(26, 26, 26, 0.08) !important;
  }

  #product
    #product-custom-qty
    .bootstrap-touchspin
    .input-group-btn-vertical
    > .btn-touchspin,
  #product
    #product-custom-qty
    .bootstrap-touchspin
    .input-group-btn-vertical
    > .bootstrap-touchspin-up,
  #product
    #product-custom-qty
    .bootstrap-touchspin
    .input-group-btn-vertical
    > .bootstrap-touchspin-down {
    flex: 1 1 0;
    min-height: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
  }

  #product
    #product-custom-qty
    .bootstrap-touchspin
    .input-group-btn-vertical
    > .btn {
    margin-left: 0;
  }
}

/* Modales carte cadeau (sous <body> en JS) : z-index + finitions + marges latérales sur mobile */
#recipientOtherModal.recipient-other-modal.modal,
#sendingScheduledModal.recipient-other-modal.modal {
  z-index: 100000 !important;
}

#recipientOtherModal.show .modal-dialog,
#sendingScheduledModal.show .modal-dialog {
  pointer-events: auto;
}

#recipientOtherModal.recipient-other-modal .modal-content,
#sendingScheduledModal.recipient-other-modal .modal-content {
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 0.75rem;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.14);
  overflow: hidden;
}

#recipientOtherModal.recipient-other-modal .modal-header,
#sendingScheduledModal.recipient-other-modal .modal-header {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

#recipientOtherModal.recipient-other-modal .modal-header .modal-title,
#sendingScheduledModal.recipient-other-modal .modal-header .modal-title {
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.35;
}

#recipientOtherModal.recipient-other-modal .modal-body,
#sendingScheduledModal.recipient-other-modal .modal-body {
  padding: 1rem 1.25rem 1.125rem;
}

#recipientOtherModal.recipient-other-modal .modal-footer,
#sendingScheduledModal.recipient-other-modal .modal-footer {
  padding: 0.875rem 1.25rem 1rem;
  border-top: 1px solid rgba(0, 0, 0, 0.06);
  gap: 0.5rem;
}

#recipientOtherModal.recipient-other-modal .recipient-modal-lead,
#sendingScheduledModal.recipient-other-modal #sendingScheduledModalLead {
  margin-bottom: 1rem !important;
}

#recipientOtherModal.show #recipientOtherModalBody,
#recipientOtherModal.show #otherRecipientFields,
#sendingScheduledModal.show #sendingScheduledModalBody,
#sendingScheduledModal.show #sendingScheduledFields {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Champs destinataire : labels toujours alignés à gauche */
#product #otherRecipientFields .form-label,
#product #otherRecipientFields .col-form-label {
  text-align: left !important;
  justify-content: flex-start;
  width: 100%;
}

#product .cev-giftcard-personalization__section + .cev-giftcard-personalization__section {
  margin-top: 1.5rem;
}

#product .cev-giftcard-personalization__title {
  margin: 0 0 0.75rem;
  font-size: 1rem;
  line-height: 1.35;
  color: var(--text-color, #1a2b4b);
}

#product .cev-giftcard-personalization__optional {
  margin-left: 0.25rem;
  font-weight: 400;
  color: var(--text-muted-color, #8a8a8a);
}

#product .cev-giftcard-stacked-fields {
  display: flex;
  flex-direction: column;
  border: 1px solid #d8d8d8;
  border-radius: 0.75rem;
  overflow: hidden;
  background: #fff;
}

#product .cev-giftcard-stacked-fields .form-control {
  border: 0;
  border-radius: 0;
  box-shadow: none;
  padding: 0.85rem 1rem;
}

#product .cev-giftcard-stacked-fields .form-control + .form-control {
  border-top: 1px solid #e5e5e5;
}

#product .cev-giftcard-stacked-fields .form-control:focus {
  box-shadow: none;
  outline: none;
  background: #fafafa;
}

#product .cev-giftcard-message {
  min-height: 7rem;
  resize: vertical;
}

#product .cev-giftcard-message-counter {
  margin-top: 0.35rem;
  text-align: right;
  font-size: 0.8125rem;
  color: var(--text-muted-color, #8a8a8a);
  font-variant-numeric: tabular-nums;
}

.cev-address-maxlen-counter {
  margin-top: 0.25rem;
  text-align: right;
  font-size: 0.75rem;
  line-height: 1.2;
  color: var(--text-muted-color, #8a8a8a);
  font-variant-numeric: tabular-nums;
}

.cev-address-maxlen-counter.is-at-limit {
  color: #c0392b;
  font-weight: 600;
}

@media (max-width: 767.98px) {
  #recipientOtherModal.recipient-other-modal .modal-dialog,
  #sendingScheduledModal.recipient-other-modal .modal-dialog {
    width: calc(100% - 2rem);
    max-width: calc(100vw - 2rem);
    margin: 1.25rem auto;
    padding-left: 0;
    padding-right: 0;
  }

  #recipientOtherModal.recipient-other-modal .modal-header,
  #sendingScheduledModal.recipient-other-modal .modal-header {
    padding-left: 1.125rem;
    padding-right: 1.125rem;
  }

  #recipientOtherModal.recipient-other-modal .modal-body,
  #sendingScheduledModal.recipient-other-modal .modal-body {
    max-height: min(68vh, 520px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding-left: 1.125rem;
    padding-right: 1.125rem;
  }

  #recipientOtherModal.recipient-other-modal .modal-footer,
  #sendingScheduledModal.recipient-other-modal .modal-footer {
    padding-left: 1.125rem;
    padding-right: 1.125rem;
  }

  /* Harmonisation contenu modales (destinataire + envoi programmé) sur mobile */
  #recipientOtherModal.recipient-other-modal .modal-content,
  #sendingScheduledModal.recipient-other-modal .modal-content {
    font-size: 0.9375rem;
    line-height: 1.45;
  }

  #recipientOtherModal.recipient-other-modal .modal-header .modal-title,
  #sendingScheduledModal.recipient-other-modal .modal-header .modal-title {
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 1.3;
    padding-right: 0.5rem;
  }

  #recipientOtherModal.recipient-other-modal .modal-header .btn-close,
  #sendingScheduledModal.recipient-other-modal .modal-header .btn-close {
    padding: 0.5rem;
    margin: -0.25rem -0.35rem -0.25rem auto;
  }

  #recipientOtherModal.recipient-other-modal .recipient-modal-lead,
  #sendingScheduledModal.recipient-other-modal #sendingScheduledModalLead {
    font-size: 0.875rem !important;
    line-height: 1.5 !important;
    max-width: 100%;
    margin-bottom: 0.875rem !important;
  }

  #recipientOtherModal.recipient-other-modal .modal-content img,
  #sendingScheduledModal.recipient-other-modal .modal-content img,
  #recipientOtherModal.recipient-other-modal .modal-content picture,
  #sendingScheduledModal.recipient-other-modal .modal-content picture,
  #recipientOtherModal.recipient-other-modal .modal-content video,
  #sendingScheduledModal.recipient-other-modal .modal-content video,
  #recipientOtherModal.recipient-other-modal .modal-content svg,
  #sendingScheduledModal.recipient-other-modal .modal-content svg {
    max-width: 100%;
    height: auto;
    display: block;
  }

  #recipientOtherModal.recipient-other-modal
    .modal-content
    #otherRecipientFields
    h6,
  #sendingScheduledModal.recipient-other-modal
    .modal-content
    #sendingScheduledFields
    .col-form-label {
    font-size: 0.9375rem;
    margin-bottom: 0.5rem;
  }

  #recipientOtherModal.recipient-other-modal .modal-content .form-label,
  #recipientOtherModal.recipient-other-modal .modal-content .col-form-label,
  #sendingScheduledModal.recipient-other-modal .modal-content .form-label,
  #sendingScheduledModal.recipient-other-modal .modal-content .col-form-label {
    font-size: 0.8125rem;
    font-weight: 600;
    margin-bottom: 0.35rem;
    display: block;
    width: 100%;
  }

  #recipientOtherModal.recipient-other-modal .modal-content .form-control,
  #recipientOtherModal.recipient-other-modal .modal-content textarea,
  #sendingScheduledModal.recipient-other-modal .modal-content .form-control,
  #sendingScheduledModal.recipient-other-modal .modal-content textarea {
    width: 100%;
    max-width: 100%;
    font-size: 1rem;
    line-height: 1.4;
    min-height: 2.75rem;
    padding: 0.5rem 0.75rem;
    border-radius: 0.375rem;
  }

  #recipientOtherModal.recipient-other-modal .modal-content textarea {
    min-height: 5.5rem;
    resize: vertical;
  }

  #recipientOtherModal.recipient-other-modal .modal-content .row,
  #sendingScheduledModal.recipient-other-modal .modal-content .row {
    margin-left: -0.375rem;
    margin-right: -0.375rem;
  }

  #recipientOtherModal.recipient-other-modal
    .modal-content
    .row
    > [class*="col-"],
  #sendingScheduledModal.recipient-other-modal
    .modal-content
    .row
    > [class*="col-"] {
    width: 100%;
    max-width: 100%;
    flex: 0 0 100%;
    padding-left: 0.375rem;
    padding-right: 0.375rem;
  }

  #recipientOtherModal.recipient-other-modal .modal-content .mb-3,
  #sendingScheduledModal.recipient-other-modal .modal-content .mb-3 {
    width: 100%;
    max-width: 100%;
  }

  #sendingScheduledModal.recipient-other-modal
    .modal-content
    .btn-group[role="group"] {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    gap: 0.375rem;
  }

  #sendingScheduledModal.recipient-other-modal
    .modal-content
    .btn-group[role="group"]
    .btn {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 0.8125rem;
    padding: 0.45rem 0.5rem;
  }

  #recipientOtherModal.recipient-other-modal .modal-footer .btn,
  #sendingScheduledModal.recipient-other-modal .modal-footer .btn {
    width: 100%;
    max-width: 100%;
    min-height: 2.875rem;
    font-size: 0.9375rem;
    font-weight: 600;
    border-radius: 0.5rem;
  }

  .recipient-mobile-recap,
  #recipientMobileRecap,
  #sendingScheduledMobileRecap {
    margin-top: 0.75rem;
    padding: 0.75rem 0.875rem;
    border-radius: 0.375rem;
    background-color: var(--neutral-color);
    border: none;
  }

  .recipient-mobile-recap__text {
    font-size: 0.875rem;
    line-height: 1.4;
    color: #333;
    margin-bottom: 0;
  }

  .recipient-mobile-recap__edit,
  #recipientMobileRecapEdit,
  #sendingScheduledMobileRecapEdit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 0.5rem;
    padding: 0;
    border: none !important;
    border-radius: 0;
    background-color: transparent !important;
    color: var(--primary-color) !important;
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: underline !important;
    text-underline-offset: 2px;
  }

  .recipient-mobile-recap__edit:hover,
  .recipient-mobile-recap__edit:focus,
  #recipientMobileRecapEdit:hover,
  #recipientMobileRecapEdit:focus,
  #sendingScheduledMobileRecapEdit:hover,
  #sendingScheduledMobileRecapEdit:focus {
    background-color: transparent !important;
    border-color: transparent !important;
    color: var(--primary-color-hover, var(--primary-color)) !important;
  }
}

#add-to-cart-or-refresh button.add-to-cart.is-disabled-by-gift-validation {
  opacity: 0.65;
  cursor: not-allowed;
}

#product .cev-giftcard-cta-hint {
  margin: 0.65rem 0 0;
  font-size: 0.875rem;
  line-height: 1.45;
  color: var(--text-muted-color, #666);
  text-align: center;
}

#product .cev-giftcard-cta-hint[hidden] {
  display: none !important;
}

:is(#product, #cevBulkGiftcard) .cev-scheduled-send {
  position: relative;
}

:is(#product, #cevBulkGiftcard) .cev-scheduled-send__field {
  position: relative;
}

:is(#product, #cevBulkGiftcard) .cev-scheduled-send,
:is(#product, #cevBulkGiftcard) .cev-scheduled-send__field,
#product #sendingScheduledSlot,
#product #recipient_course,
#cevBulkGiftcard .cev-send-timing {
  overflow: visible;
}

:is(#product, #cevBulkGiftcard) .cev-scheduled-send__field.is-picker-open {
  z-index: 100002;
}

:is(#product, #cevBulkGiftcard) .cev-scheduled-send__title {
  margin: 0 0 0.75rem;
  font-size: 1rem;
  line-height: 1.35;
  color: var(--text-color, #1a2b4b);
}

:is(#product, #cevBulkGiftcard) .cev-scheduled-send__trigger {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
  padding: 0.85rem 1rem;
  border: 1px solid #d8d8d8;
  border-radius: 0.75rem;
  background: #fff;
  text-align: left;
  color: var(--text-color, #1a2b4b);
  box-shadow: none;
}

:is(#product, #cevBulkGiftcard) .cev-scheduled-send__trigger:hover,
:is(#product, #cevBulkGiftcard) .cev-scheduled-send__trigger:focus,
:is(#product, #cevBulkGiftcard) .cev-scheduled-send__trigger[aria-expanded='true'] {
  border-color: #cfd4dc;
  outline: none;
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.04);
}

:is(#product, #cevBulkGiftcard) .cev-scheduled-send__trigger-icon {
  flex-shrink: 0;
  color: var(--text-muted-color, #666);
}

:is(#product, #cevBulkGiftcard) .cev-scheduled-send__summary {
  flex: 1;
  min-width: 0;
  font-size: 0.9375rem;
  line-height: 1.4;
}

:is(#product, #cevBulkGiftcard) .cev-scheduled-send__summary.is-empty {
  color: var(--text-muted-color, #8a8a8a);
}

:is(#product, #cevBulkGiftcard) .cev-scheduled-send__picker,
.cev-scheduled-send__picker {
  position: absolute;
  z-index: 100001;
  top: calc(100% + 0.5rem);
  left: 0;
  width: 100%;
  max-width: 318px;
  padding: 1rem 1.15rem 1rem;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 16px 40px rgba(17, 24, 39, 0.16);
  overflow: visible;
  max-height: none;
}

.cev-scheduled-send__picker.cev-scheduled-send__picker--portal {
  position: absolute;
  top: calc(100% + 0.5rem);
  left: 0;
  width: 100%;
  max-width: 318px;
}

.cev-scheduled-send__backdrop {
  position: fixed;
  inset: 0;
  z-index: 100000;
  background: rgba(17, 24, 39, 0.18);
}

.cev-scheduled-send__backdrop[hidden],
.cev-scheduled-send__backdrop:not(.is-open) {
  display: none !important;
}

:is(#product, #cevBulkGiftcard) .cev-scheduled-send__picker[hidden],
.cev-scheduled-send__picker[hidden] {
  display: none !important;
}

.cev-scheduled-send__calendar-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.35rem;
  margin-bottom: 0.35rem;
}

.cev-scheduled-send__calendar-nav-selects {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  flex: 1;
  min-width: 0;
}

.cev-scheduled-send__calendar-nav-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--text-color, #1a2b4b);
  cursor: pointer;
  flex-shrink: 0;
}

.cev-scheduled-send__calendar-nav-btn:hover:not(:disabled),
.cev-scheduled-send__calendar-nav-btn:focus:not(:disabled) {
  background: rgba(0, 0, 0, 0.04);
  outline: none;
}

.cev-scheduled-send__calendar-nav-btn:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

.cev-scheduled-send__month-select,
.cev-scheduled-send__year-select {
  padding: 0.2rem 1.35rem 0.2rem 0.35rem;
  border: 0;
  background: transparent
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6 9l6 6 6-6' stroke='%231a2b4b' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")
    no-repeat right 0.1rem center;
  color: var(--text-color, #1a2b4b);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.3;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
}

.cev-scheduled-send__month-select {
  flex: 0 1 auto;
  min-width: 5.25rem;
  max-width: 7rem;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.cev-scheduled-send__year-select {
  flex: 0 0 auto;
  width: 4.75rem;
  padding-right: 1.1rem;
}

.cev-scheduled-send__calendar-hint {
  margin: 0.15rem 0 0;
  font-size: 0.75rem;
  line-height: 1.35;
  color: var(--text-muted-color, #8a8a8a);
  text-align: center;
}

.cev-scheduled-send__picker--portal .flatpickr-months,
.cev-flatpickr-clean .flatpickr-months,
.cev-scheduled-send__calendar .flatpickr-months,
.cev-scheduled-send__picker--portal .cev-scheduled-send__calendar .flatpickr-months {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
}

.cev-scheduled-send__choose-time {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  margin-top: 0.35rem;
  padding: 0.35rem 0;
  border: 0;
  background: transparent;
  color: var(--text-color, #1a2b4b);
  font-size: 0.9375rem;
  font-weight: 500;
  cursor: pointer;
}

.cev-scheduled-send__choose-time:hover:not(:disabled),
.cev-scheduled-send__choose-time:focus:not(:disabled) {
  color: var(--primary-color);
  outline: none;
}

.cev-scheduled-send__choose-time:disabled,
.cev-scheduled-send__choose-time.is-disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.cev-scheduled-send__choose-time-icon {
  display: inline-flex;
  color: var(--text-muted-color, #666);
}

.cev-scheduled-send__step--time {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  min-width: 280px;
  max-width: 318px;
  padding: 0.15rem 0 0.25rem;
}

.cev-scheduled-send__time-picker {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  width: 100%;
  padding: 0.35rem 0 0.15rem;
}

.cev-scheduled-send__time-col {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.45rem;
}

.cev-scheduled-send__time-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--text-color, #1a2b4b);
  cursor: pointer;
}

.cev-scheduled-send__time-btn:hover,
.cev-scheduled-send__time-btn:focus {
  background: rgba(0, 0, 0, 0.04);
  outline: none;
}

.cev-scheduled-send__time-value {
  min-width: 2.75rem;
  font-size: 1.75rem;
  font-weight: 600;
  line-height: 1.1;
  color: var(--text-color, #1a2b4b);
  text-align: center;
  font-variant-numeric: tabular-nums;
}

.cev-scheduled-send__time-separator {
  font-size: 1.75rem;
  font-weight: 600;
  line-height: 1;
  color: var(--text-color, #1a2b4b);
  transform: translateY(-0.1rem);
}

.cev-scheduled-send__choose-date {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--text-color, #1a2b4b);
  font-size: 0.9375rem;
  font-weight: 500;
  cursor: pointer;
}

.cev-scheduled-send__choose-date:hover,
.cev-scheduled-send__choose-date:focus {
  color: var(--primary-color);
  outline: none;
}

.cev-scheduled-send__actions--time {
  width: 100%;
  margin-top: 0.25rem;
}

.cev-scheduled-send__step--calendar {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.5rem;
  min-width: 0;
  max-width: 100%;
  padding: 0;
}

.cev-scheduled-send__calendar {
  width: 100%;
}

.cev-scheduled-send__calendar .flatpickr-calendar,
.cev-scheduled-send__picker--portal .cev-scheduled-send__calendar .flatpickr-calendar,
.cev-flatpickr-clean.flatpickr-calendar {
  width: 100% !important;
  max-width: none;
  box-shadow: none !important;
  margin: 0;
  border: 0 !important;
  background: transparent !important;
  overflow: visible !important;
}

.cev-scheduled-send__calendar .flatpickr-innerContainer,
.cev-flatpickr-clean .flatpickr-innerContainer,
.cev-scheduled-send__picker--portal .flatpickr-innerContainer {
  overflow: visible !important;
}

.cev-scheduled-send__calendar .flatpickr-rContainer,
.cev-flatpickr-clean .flatpickr-rContainer,
.cev-scheduled-send__picker--portal .flatpickr-rContainer {
  overflow: visible !important;
}

.cev-scheduled-send__picker--portal .flatpickr-weekdays,
.cev-flatpickr-clean .flatpickr-weekdays {
  margin-bottom: 0.25rem;
  background: transparent !important;
}

.cev-scheduled-send__picker--portal span.flatpickr-weekday,
.cev-flatpickr-clean span.flatpickr-weekday {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--text-muted-color, #8a8a8a) !important;
  background: transparent !important;
}

.cev-scheduled-send__picker--portal .flatpickr-days,
.cev-flatpickr-clean .flatpickr-days {
  width: 100%;
  border: 0;
}

.cev-scheduled-send__picker--portal .dayContainer,
.cev-flatpickr-clean .dayContainer {
  width: 100%;
  min-width: 100%;
  max-width: 100%;
}

.cev-scheduled-send__picker--portal .flatpickr-day,
.cev-flatpickr-clean .flatpickr-day {
  max-width: none;
  height: 2.35rem;
  line-height: 2.35rem;
  border-radius: 0.5rem;
  color: var(--text-color, #1a2b4b);
  font-weight: 500;
  border: 0;
  box-shadow: none;
}

.cev-scheduled-send__picker--portal .flatpickr-day.prevMonthDay,
.cev-scheduled-send__picker--portal .flatpickr-day.nextMonthDay,
.cev-flatpickr-clean .flatpickr-day.prevMonthDay,
.cev-flatpickr-clean .flatpickr-day.nextMonthDay {
  color: #c4c4c4;
}

.cev-scheduled-send__picker--portal .flatpickr-day.flatpickr-disabled,
.cev-scheduled-send__picker--portal .flatpickr-day.notAllowed,
.cev-flatpickr-clean .flatpickr-day.flatpickr-disabled,
.cev-flatpickr-clean .flatpickr-day.notAllowed {
  color: #b0b0b0 !important;
  opacity: 1 !important;
  cursor: not-allowed;
  background: transparent !important;
  border-color: transparent !important;
}

.cev-scheduled-send__picker--portal .flatpickr-day.today,
.cev-flatpickr-clean .flatpickr-day.today {
  border-color: transparent;
}

.cev-scheduled-send__picker--portal .flatpickr-day.selected,
.cev-scheduled-send__picker--portal .flatpickr-day.startRange,
.cev-scheduled-send__picker--portal .flatpickr-day.endRange,
.cev-flatpickr-clean .flatpickr-day.selected,
.cev-flatpickr-clean .flatpickr-day.startRange,
.cev-flatpickr-clean .flatpickr-day.endRange {
  background: var(--primary-color) !important;
  border-color: var(--primary-color) !important;
  color: #fff !important;
}

.cev-scheduled-send__picker--portal .flatpickr-day:hover,
.cev-scheduled-send__picker--portal .flatpickr-day:focus,
.cev-flatpickr-clean .flatpickr-day:hover,
.cev-flatpickr-clean .flatpickr-day:focus {
  background: rgba(0, 0, 0, 0.06);
  border-color: transparent;
}

.cev-scheduled-send__picker--portal .flatpickr-day.selected:hover,
.cev-scheduled-send__picker--portal .flatpickr-day.selected:focus,
.cev-flatpickr-clean .flatpickr-day.selected:hover,
.cev-flatpickr-clean .flatpickr-day.selected:focus {
  background: var(--primary-color) !important;
  border-color: var(--primary-color) !important;
  color: #fff !important;
}

:is(#product, #cevBulkGiftcard) .cev-scheduled-send__slots-label,
.cev-scheduled-send__picker--portal .cev-scheduled-send__slots-label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 1rem 0 0.75rem;
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--text-color, #1a2b4b);
}

:is(#product, #cevBulkGiftcard) .cev-scheduled-send__slots-icon {
  color: var(--text-muted-color, #666);
}

:is(#product, #cevBulkGiftcard) .cev-scheduled-send__slots {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}

:is(#product, #cevBulkGiftcard) .cev-scheduled-send__slot.is-selected,
:is(#product, #cevBulkGiftcard) .cev-scheduled-send__slot.is-selected:hover,
:is(#product, #cevBulkGiftcard) .cev-scheduled-send__slot.is-selected:focus {
  background-color: var(--primary-color);
  border-color: var(--primary-color);
  color: #fff;
}

:is(#product, #cevBulkGiftcard) .cev-scheduled-send__actions {
  display: flex;
  justify-content: stretch;
  gap: 0.75rem;
  margin-top: 0.75rem;
  width: 100%;
}

:is(#product, #cevBulkGiftcard) .cev-scheduled-send__actions .btn,
.cev-scheduled-send__picker--portal .cev-scheduled-send__actions .btn {
  flex: 1;
  min-height: 2.75rem;
  padding-inline: 1.35rem;
  border-radius: 999px;
  font-weight: 600;
}

:is(#product, #cevBulkGiftcard) .cev-scheduled-send__actions .btn-outline-secondary,
.cev-scheduled-send__picker--portal .cev-scheduled-send__actions .btn-outline-secondary {
  border-color: #cfd4dc;
  color: var(--text-color, #1a2b4b);
  background: #fff;
}

:is(#product, #cevBulkGiftcard) .cev-scheduled-send__actions .btn-primary,
.cev-scheduled-send__picker--portal .cev-scheduled-send__actions .btn-primary {
  min-width: 6.5rem;
  border-color: var(--primary-color);
  background: var(--primary-color);
}

.custom-price {
  font-weight: bold;
  color: #007bff;
}

.product-prices {
  margin-top: 0 !important;
}

.current-price {
  display: none;
}

/* Fiche produit : ne pas masquer le prix courant (override global ci-dessus) */
#product .js-product-prices .current-price,
#product .product-prices .current-price {
  display: block !important;
}

.dropzone .dz-preview {
  display: contents !important;
}

.progress-bar {
  background-color: var(--primary-color) !important;
}

.dropzone .dz-remove {
  background-color: var(--dark-mode) !important;
  color: var(--primary-color-lighter) !important;
  padding: 8px 16px;
}

/* #v-pills-tab {
  width: 260px;
} */

#v-pills-tab a {
  width: 260px;
}

@media (min-width: 1200px) {
  #authentication .container {
    width: 1200px !important;
    max-width: 100%;
  }

  .container {
    width: 1200px !important;
    max-width: 100%;
  }

  .products-sort-order {
    width: 55% !important;
  }

  .products-sort-order .select-title {
    padding: 10px 10px 0px 10px !important;
  }

  /* .flex-container {
    min-height: 270px !important;
  } */
}

@media (min-width: 1400px) {
  #authentication .container {
    width: 1250px !important;
    max-width: 100%;
  }

  #registration #wrapper .container {
    /* width: 766px !important; */
    max-width: 100%;
  }

  .container {
    width: 1320px !important;
    max-width: 100%;
  }

  #index #homepage-top-image .header-top-image {
    height: clamp(320px, 32vw, 480px);
  }

  #index #homepage-top-image .carousel .carousel-inner {
    height: 100% !important;
  }

  #index #homepage-top-image .carousel .carousel-item {
    min-height: 100%;
    height: 100%;
  }

  .carousel .carousel-inner {
    height: 700px !important;
  }
}

@media (min-width: 1536px) {
  .container {
    width: 1536px !important;
    max-width: 100%;
  }
}

/* Panier : titre produit pleine largeur au-dessus de la rangée image + infos + actions */
#cart .cart-container .product-line-grid-title {
  margin-bottom: 0.65rem;
}

#cart .cart-container .product-line-grid-title .product-line-info {
  margin-top: 0;
  margin-bottom: 0;
}

#cart .cart-container .product-line-grid-title a.label {
  font-size: clamp(1.0625rem, 0.98rem + 0.35vw, 1.25rem);
  line-height: 1.3;
  color: var(--text-color);
  font-weight: 600;
  text-decoration: none;
  transition: color 0.2s ease;
}

#cart .cart-container .product-line-grid-title a.label:hover,
#cart .cart-container .product-line-grid-title a.label:focus {
  color: var(--primary-color);
}

#cart .cart-product-line-container {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0.75rem;
}

#cart .cart-product-line-container .cev-cart-line-text-col .product-line-grid-details {
  border-left: 0;
  padding-left: 0;
  width: 100%;
}

#cart .cart-product-line-container .cev-cart-line-main-col {
  width: 100%;
}

#cart .cart-product-line-container .product-line-info.product-price {
  display: none;
}

#registration .password-requirements-expected-list {
  font-size: 0.625rem;
}

@media (min-width: 768px) {
  #cart .cart-container .product-line-grid-title {
    padding-left: 0;
    padding-right: 0;
  }

}

/* Ligne panier (.product-line-grid-details) : libellés montant / quantité en regular, valeurs en semibold */
#cart .product-line-grid-details {
  --product-line-detail-label-size: 0.8125rem;
  --product-line-amount-value-size: clamp(0.875rem, 0.8rem + 0.3vw, 1rem);
}

#cart .product-line-grid-details .product-line-amount-label {
  font-weight: 400;
  font-size: var(--product-line-detail-label-size);
  line-height: 1.35;
  color: var(--text-color-grey, #6b6b6b);
}

#cart .product-line-grid-details .product-line-amount-value {
  font-weight: 600;
  font-size: var(--product-line-amount-value-size);
  line-height: 1.3;
  color: var(--primary-color);
}

#cart .product-line-grid-details .product-line-amount-value .gift {
  font-weight: 600;
  color: var(--primary-color);
}

/* Prix unitaire affiché dans le corps de ligne (si non masqué) */
#cart
  .product-line-grid-details
  .product-line-info.product-price
  .current-price
  .price,
#cart
  .product-line-grid-details
  .product-line-info.product-price
  .current-price {
  color: var(--primary-color);
}

/* Suppression ligne : bordure noire, pictogramme en couleur primaire */
#cart .cart-line-product-actions .remove-from-cart {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.25rem;
  min-height: 2.25rem;
  padding: 0.35rem;
  border: 1px solid #000;
  border-radius: var(--border-radius-type-small, 0.5rem);
  box-sizing: border-box;
  text-decoration: none;
  color: #000;
}

#cart .cart-line-product-actions .remove-from-cart .material-icons {
  float: none;
  color: #000;
  font-size: 1.125rem;
  line-height: 1;
}

#cart .cart-line-product-actions .remove-from-cart:hover,
#cart .cart-line-product-actions .remove-from-cart:focus-visible {
  color: #000;
  opacity: 0.82;
}

#cart .cart-line-product-actions .remove-from-cart:hover .material-icons,
#cart
  .cart-line-product-actions
  .remove-from-cart:focus-visible
  .material-icons {
  color: #000;
}

@media (max-width: 767.98px) {
  #cart .cart-line-product-actions .remove-from-cart {
    display: none !important;
  }
}

#cart .product-line-grid-details .product-line-qty-label {
  font-weight: 400;
  font-size: var(--product-line-detail-label-size);
  line-height: 1.35;
  letter-spacing: normal;
  text-transform: none;
  color: var(--text-color-grey, #6b6b6b);
  opacity: 1;
}

#cart .product-line-grid-details .gift-quantity,
#cart .product-line-grid-details .product-line-actions .gift-quantity,
#cart .product-line-grid-details .product-line-qty-mobile .gift-quantity {
  font-weight: 600;
}

#cart .product-line-grid-details .product-line-total-desktop {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.2rem;
}

/* Attributs (.product-line-info) : libellé span.label normal, valeur .value semibold (toutes largeurs) */
#cart
  .product-line-grid-details
  .product-line-info:not(.product-price)
  span.label,
#cart
  .product-line-grid-body
  .product-line-info:not(.product-price)
  span.label {
  font-weight: 400;
}

#cart .product-line-grid-details .product-line-info:not(.product-price) .value,
#cart .product-line-grid-body .product-line-info:not(.product-price) .value {
  font-weight: 600;
}

/* panier page
 * Convention : nouveaux styles panier / lignes produit / checkout cart = mobile uniquement
 * (@media (max-width: 767.98px)), sauf demande explicite pour le desktop. */

@media (max-width: 767.98px) {
  #cart .vertical-align-block {
    height: 120px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
  }

  #cart .product-line-grid .vertical-align-block {
    height: auto;
    min-height: 0;
  }

  /* Corps ligne panier : empiler le contenu (flex row par défaut cassait la pile) */
  #cart .product-line-grid-body.vertical-align-block {
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 0.55rem;
  }

  /* Corps ligne panier : bloc infos sur fond blanc (ligne item = fond neutre) */
  #cart .product-line-grid-body {
    margin-bottom: 0 !important;
    padding: 0.85rem 1rem;
    background: var(--contrast-white-color);
    border-radius: var(--border-radius-type);
    border: none;
    box-sizing: border-box;
  }

  #cart .product-line-grid-body .product-line-info {
    margin-top: 0;
    margin-bottom: 0;
  }

  #cart .product-line-grid-body .product-line-line-total {
    margin-top: 0;
    margin-bottom: 0;
  }

  #cart .product-line-grid-body .current-price,
  #cart .product-line-grid-body .product-discount {
    margin: 0;
  }

  #cart .product-line-grid-body .unit-price-cart {
    margin-top: 0.15rem;
    margin-bottom: 0;
  }

  #cart .product-line-grid-body + .product-line-actions {
    margin-top: 0;
  }

  /* Masque la ligne attribut « Montant … carte » (doublon avec le prix / total affiché ailleurs) */
  #cart
    .product-line-grid-body
    .product-line-info[class*="montant"][class*="carte"],
  #cart
    .product-line-grid-body
    .product-line-info[class*="amount"][class*="card"] {
    display: none !important;
  }

  /* Libellé + valeur attributs sur une même ligne */
  #cart .product-line-grid-body .product-line-info:not(.product-price) {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    column-gap: 0.35rem;
  }

  /* Attributs : libellé regular, valeur semibold + badge */
  #cart
    .product-line-grid-body
    .product-line-info:not(.product-price)
    span.label {
    font-weight: 400;
    font-size: 0.8125rem;
    color: var(--text-color-grey);
  }

  #cart .product-line-grid-body .product-line-info:not(.product-price) .value {
    display: inline-block;
    padding: 0.2rem 0.55rem;
    border-radius: 9999px;
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.25;
    background: var(--primary-color);
    color: var(--contrast-white-color, #fff) !important;
  }

  /* Bloc mobile prix + qté : cohérent avec la carte */
  #cart .product-line-grid-body .mobile-prices-block {
    margin-top: 0.25rem;
  }

  #cart .product-line-grid-left {
    padding-left: 0;
    padding-right: 0.75rem;
  }

  /* Mobile : image 80 % de la largeur (centrée) + padding droit colonne, pile nom + total sous l’image */
  #cart .product-line-grid .vertical-align-block {
    height: auto;
    min-height: 0;
  }

  #cart .product-line-grid-main .product-line-grid-body {
    flex: 0 0 100%;
    max-width: 100%;
    width: 100%;
  }

  #cart .product-line-grid-body {
    padding: 0.75rem 0.85rem;
  }

  #cart .product-line-grid-title {
    margin-bottom: 0.5rem;
    padding-top: 0.5rem;
  }

  #cart .cart-container .product-line-grid-title a.label {
    font-size: clamp(1.2rem, 1.05rem + 1.5vw, 1.45rem);
    line-height: 1.28;
  }

  #cart .product-line-grid-left {
    padding-left: 0;
    padding-right: 1.25rem;
  }

  #cart .product-line-grid-left .product-image {
    display: block;
    width: 80%;
    max-width: 80%;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }

  #cart .product-line-grid-left .product-image img,
  #cart .product-line-grid-left .product-image picture {
    width: 100%;
    max-width: 100%;
    height: auto;
    display: block;
    margin-left: auto;
    margin-right: auto;
  }

  /* Bloc prix unitaire / remises (h5) masqué : le total ligne joue le rôle prix sur mobile */
  #cart .product-line-grid-body > .product-line-info.product-price {
    display: none !important;
  }

  #cart .product-line-grid-body .product-line-info:not(.product-price) {
    column-gap: 0.12rem;
    row-gap: 0.1rem;
  }

  /* Total ligne : libellé montant (regular) + valeur (semibold) sur mobile */
  #cart .product-line-line-total {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin: 0;
    padding: 0.55rem 0.75rem;
    border: none;
    background: var(--contrast-white-color);
    border-radius: var(--border-radius-type, 0.5rem);
    line-height: 1.3;
  }

  #cart .product-line-line-total-label {
    display: block;
    margin-bottom: 0.25rem;
    font-size: clamp(0.78125rem, 0.72rem + 0.22vw, 0.875rem);
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: var(--primary-color);
  }

  #cart .product-line-line-total .product-line-amount-label {
    font-size: clamp(0.78125rem, 0.72rem + 0.22vw, 0.875rem);
    font-weight: 400;
    color: var(--text-color-grey, #6b6b6b);
    margin-bottom: 0.2rem;
  }

  #cart .product-line-line-total .product-line-amount-value {
    font-size: clamp(1rem, 0.92rem + 0.4vw, 1.125rem);
    font-weight: 600;
    color: var(--primary-color);
    line-height: 1.3;
  }

  /* Récap panier (total / taxes) : montants un cran plus grands */
  #cart .cart-summary-totals .cart-summary-line .value {
    font-size: clamp(1.0625rem, 0.94rem + 0.6vw, 1.3rem);
  }

  #cart .cart-summary-totals .cart-summary-line .value.sub {
    font-size: clamp(0.9375rem, 0.86rem + 0.4vw, 1.0625rem);
  }

  #cart .cart-summary:not(.cev-order-recap-summary) {
    padding-block: 1rem;
    padding-inline: 1.25rem;
    box-sizing: border-box;
  }

  #cart .cart-summary.cev-order-recap-summary {
    padding: 16px;
    box-sizing: border-box;
  }

  /* Quantité dans le body (.product-line-qty-mobile) : masquer la colonne quantité à droite */
  #cart .product-line-actions .qty.vertical-align-block {
    display: none !important;
  }

  #cart .product-line-actions .product-line-total-desktop {
    display: none !important;
  }

  /* Bloc « Passer la commande » (.checkout.card-block) : plus de padding bas sur mobile */
  .checkout.card-block.cart-detailed-actions {
    padding-bottom: 0 !important;
  }

  /* Lien / texte « code promo » : padding vertical réduit */
  #cart .cart-summary .block-promo .promo-code-button,
  #js-checkout-summary .block-promo .promo-code-button {
    padding-top: 0;
    padding-bottom: 0.25rem;
    margin-top: 0;
    margin-bottom: 0;
  }

  #cart .cart-summary .block-promo .promo-code-button .collapse-button,
  #js-checkout-summary .block-promo .promo-code-button .collapse-button {
    padding-block: 0.15rem;
    padding-inline: 0;
  }

  #cart .cart-summary .block-promo,
  #js-checkout-summary .block-promo {
    margin-bottom: 0 !important;
  }

  /* Formulaire code promo : bordure du champ + espace entre input et bouton */
  #cart
    .cart-summary
    .block-promo
    .promo-code
    form[data-link-action="add-voucher"],
  #js-checkout-summary
    .block-promo
    .promo-code
    form[data-link-action="add-voucher"],
  .block-promo .promo-code form[data-link-action="add-voucher"] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
  }

  #cart .cart-summary .block-promo .promo-code .promo-input,
  #js-checkout-summary .block-promo .promo-code .promo-input,
  .block-promo .promo-code .promo-input,
  #promo-code .promo-input {
    flex: 1 1 10rem;
    min-width: 0;
    padding: 0.5rem 0.75rem;
    border: 1px solid var(--primary-color);
    border-radius: var(--border-radius-type-small);
    box-sizing: border-box;
    background-color: #fff;
  }

  #cart .cart-summary .block-promo .promo-code .promo-input:focus,
  #js-checkout-summary .block-promo .promo-code .promo-input:focus,
  .block-promo .promo-code .promo-input:focus,
  #promo-code .promo-input:focus {
    outline: none;
    border-color: var(--primary-color-hover);
  }

  /* Colonne droite panier : alignée à gauche + padding vertical (sans gouttière Bootstrap latérale) */
  #cart .product-line-grid-right.product-line-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    min-height: 0;
    width: 100%;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    padding-inline: 0 !important;
  }

  /* Colonne actions : une ligne horizontale (qté + total + supprimer), alignée à gauche */
  #cart .product-line-actions > .row {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    gap: 0.35rem;
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
  }

  #cart .product-line-actions > .row > [class*="col-"] {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }

  #cart .product-line-actions > .row > .col-md-10 {
    min-width: 0;
  }

  #cart .product-line-actions > .row > .hidden-md-up:empty {
    display: none;
  }

  #cart .product-line-actions .qty.vertical-align-block {
    height: auto;
    min-height: 0;
    align-items: center;
    justify-content: flex-start;
    padding-inline: 0 !important;
  }

  #cart .product-line-actions .qty .product-line-qty,
  #cart .product-line-qty-mobile {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    gap: 0.25rem;
    line-height: 1.2;
    padding: 0.35rem 0.5rem;
    border: 1px solid var(--secondary-color);
    border-radius: var(--border-radius-type, 0.5rem);
    min-width: 0;
    white-space: nowrap;
  }

  /* Champ quantité seul (structure Classic : input direct dans .qty) */
  #cart .product-line-actions .qty .js-cart-line-product-quantity {
    border: 1px solid var(--secondary-color);
    border-radius: var(--border-radius-type-small, 8px);
    padding: 0.3rem 0.45rem;
    min-width: 2.75rem;
    text-align: center;
    background: var(--contrast-white-color);
    color: var(--text-color);
  }

  #cart .product-line-actions .qty .js-cart-line-product-quantity:focus {
    outline: none;
    box-shadow: 0 0 0 1px var(--secondary-color-light);
  }

  #cart .product-line-qty-label {
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--text-color, #232323);
    opacity: 0.75;
    flex-shrink: 0;
  }

  #cart .product-line-actions .gift-quantity,
  #cart .product-line-qty-mobile .gift-quantity {
    font-size: 1rem;
    font-weight: 700;
  }

  #cart .product-line-actions > .row > .col-md-10 > .row {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    justify-content: flex-start;
    min-height: 0;
    width: auto;
    gap: 0.35rem;
  }

  #cart .product-line-actions > .row > .col-md-10 > .row > [class*="col-"] {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    width: auto;
    max-width: none;
  }

  #cart .product-line-actions .product-line-total-desktop.vertical-align-block {
    height: auto;
    min-height: 0;
    justify-content: flex-start;
    padding: 0.35rem 0.5rem;
    border: 1px solid var(--primary-color-light, #e8e8e8);
    border-radius: var(--border-radius-type, 0.5rem);
  }

  #cart .product-line-actions .text-xs-right.vertical-align-block {
    height: auto;
    min-height: 0;
    justify-content: center;
    text-align: left;
  }

  #cart .product-line-actions .cart-line-product-actions {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 0.2rem;
    border: none;
    border-radius: 0;
    line-height: 1;
  }

  #cart .product-line-actions > .row {
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
  }

  #cart .product-line-actions > .row > .col-md-10 > .row {
    width: auto;
    justify-content: flex-start;
  }

  #cart .remove-from-cart,
  #cart .remove-from-cart .material-icons {
    color: #000;
  }

  #cart .remove-from-cart:hover,
  #cart .remove-from-cart:focus-visible {
    color: #000;
    opacity: 0.82;
  }

  #cart .product-line-actions .remove-from-cart .material-icons.float-xs-left {
    float: none;
  }

  #cart .mobile-prices-block-qty .material-icons {
    font-size: 1rem;
  }
}

@media (max-width: 767.98px) {
  /* Fiche produit — bouton Ajouter au panier (réf. carte cadeau Amazon) */
  #product .product-add-to-cart {
    padding: 0.65rem 0 !important;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  #product .nav.nav-tabs a {
    border-radius: var(--border-radius-type-small) !important;
  }

  #product .product-add-to-cart .product-quantity {
    width: 100%;
    max-width: 100%;
  }

  #product .product-add-to-cart .product-quantity .add {
    width: 100% !important;
    max-width: 100%;
  }
}

/* Fiche produit — bouton Ajouter au panier : style .cev-btn-primary (toutes largeurs, tous produits) */
#product .product-add-to-cart .product-quantity .add {
  width: 100%;
}

#product .product-add-to-cart .btn.add-to-cart {
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  max-width: 100%;
  padding: 14px 24px;
  background: var(--primary-color);
  border: none;
  border-radius: 8px;
  color: var(--contrast-white-color, #fff);
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: none;
  box-sizing: border-box;
}

#product .product-add-to-cart .btn.add-to-cart:hover:not(:disabled) {
  background: rgba(242, 54, 73, 0.8);
  box-shadow: none;
  color: var(--contrast-white-color, #fff) !important;
}

#product .product-add-to-cart .btn.add-to-cart:active:not(:disabled) {
  transform: none;
}

#product .product-add-to-cart .btn.add-to-cart:disabled {
  background: #ccc !important;
  cursor: not-allowed !important;
  box-shadow: none !important;
  opacity: 0.5;
}

#product .product-add-to-cart .btn.add-to-cart .material-icons {
  font-size: 20px;
  line-height: 1.1;
  margin-top: 0 !important;
}

/* tax shipping detail hidden */
#product .tax-shipping-delivery-label {
  display: none;
}

/* block cart modal — alignée visuellement sur #cev-exclusive-cart-modal */

#blockcart-modal.fade,
#cev-exclusive-cart-modal.fade {
  opacity: 1 !important;
}

#blockcart-modal.cev-blockcart-modal .modal-dialog.cev-blockcart-modal__dialog {
  max-width: 28rem;
  margin-left: auto;
  margin-right: auto;
}

#blockcart-modal.cev-blockcart-modal .modal-content.cev-blockcart-modal__surface {
  border: none;
  border-radius: var(--border-radius-type-small);
  box-shadow: 0 16px 48px rgba(26, 26, 26, 0.14);
  overflow: hidden;
}

#blockcart-modal.cev-blockcart-modal .cev-blockcart-modal__header {
  padding: 1.35rem 1.5rem 0.85rem;
  background: var(--contrast-white-color);
  align-items: flex-start;
}

#blockcart-modal.cev-blockcart-modal .cev-blockcart-modal__title {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-size: 1.0625rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--dark-mode);
  line-height: 1.3;
  padding-right: 0.5rem;
}

#blockcart-modal.cev-blockcart-modal .cev-blockcart-modal__title-icon {
  flex-shrink: 0;
  font-size: 1.35rem;
  color: var(--primary-color);
  line-height: 1.2;
  margin-top: 0.05rem;
}

#blockcart-modal.cev-blockcart-modal .cev-blockcart-modal__title-text {
  flex: 1;
  min-width: 0;
}

#blockcart-modal.cev-blockcart-modal .cev-blockcart-modal__close {
  opacity: 0.4;
  padding: 0.5rem;
  margin: -0.35rem -0.25rem -0.35rem auto;
}

#blockcart-modal.cev-blockcart-modal .cev-blockcart-modal__close:hover {
  opacity: 0.75;
}

#blockcart-modal.cev-blockcart-modal .cev-blockcart-modal__body {
  padding: 0.25rem 1.5rem 1rem;
}

#blockcart-modal.cev-blockcart-modal .cev-blockcart-modal__product-row {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
}

#blockcart-modal.cev-blockcart-modal .cev-blockcart-modal__thumb {
  flex-shrink: 0;
  width: 4.5rem;
  height: 4.5rem;
  margin: 0;
  border-radius: var(--border-radius-type-small);
  overflow: hidden;
  background: rgba(26, 26, 26, 0.06);
  border: 1px solid rgba(26, 26, 26, 0.08);
}

#blockcart-modal.cev-blockcart-modal .cev-blockcart-modal__thumb-img,
#blockcart-modal.cev-blockcart-modal .product-image.cev-blockcart-modal__thumb-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  display: block;
  padding: 0;
}

#blockcart-modal.cev-blockcart-modal .cev-blockcart-modal__product-meta {
  flex: 1;
  min-width: 0;
  color: var(--text-color-grey);
  font-size: 0.875rem;
  line-height: 1.45;
}

#blockcart-modal.cev-blockcart-modal .cev-blockcart-modal__product-name {
  font-size: 0.9375rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--dark-mode);
  margin: 0 0 0.25rem;
  line-height: 1.35;
}

#blockcart-modal.cev-blockcart-modal .cev-blockcart-modal__product-price {
  font-weight: 600;
  color: var(--primary-color);
  margin: 0 0 0.35rem;
}

#blockcart-modal.cev-blockcart-modal .cev-blockcart-modal__attr {
  margin: 0 0 0.2rem;
}

#blockcart-modal.cev-blockcart-modal .cev-blockcart-modal__qty {
  margin: 0.35rem 0 0;
}

#blockcart-modal.cev-blockcart-modal .cev-blockcart-modal__divider {
  height: 1px;
  margin: 1rem 0;
  background: rgba(26, 26, 26, 0.1);
  border: none;
}

#blockcart-modal.cev-blockcart-modal .cev-blockcart-modal__summary-lead {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--text-color-grey);
  margin: 0 0 0.75rem;
  line-height: 1.45;
}

#blockcart-modal.cev-blockcart-modal .cev-blockcart-modal__summary-lines {
  font-size: 0.875rem;
  color: var(--text-color-grey);
}

#blockcart-modal.cev-blockcart-modal .cev-blockcart-modal__summary-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
  margin-bottom: 0.35rem;
}

#blockcart-modal.cev-blockcart-modal .cev-blockcart-modal__summary-row:last-child {
  margin-bottom: 0;
}

#blockcart-modal.cev-blockcart-modal .cev-blockcart-modal__summary-row--emphasis {
  margin-top: 0.35rem;
  padding-top: 0.5rem;
  border-top: 1px solid rgba(26, 26, 26, 0.08);
  font-weight: 600;
  color: var(--dark-mode);
}

#blockcart-modal.cev-blockcart-modal .cev-blockcart-modal__summary-row--emphasis .cev-blockcart-modal__summary-value {
  color: var(--dark-mode);
  font-weight: 700;
}

#blockcart-modal.cev-blockcart-modal .cev-blockcart-modal__summary-label {
  flex-shrink: 0;
}

#blockcart-modal.cev-blockcart-modal .cev-blockcart-modal__summary-value {
  text-align: right;
  font-weight: 600;
  color: var(--dark-mode);
}

#blockcart-modal.cev-blockcart-modal .cev-blockcart-modal__footer {
  padding: 0 1.5rem 1.35rem;
  display: block;
}

#blockcart-modal.cev-blockcart-modal .cev-blockcart-modal__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  width: 100%;
  justify-content: stretch;
}

#blockcart-modal.cev-blockcart-modal .cev-blockcart-modal__btn-continue,
#blockcart-modal.cev-blockcart-modal .cev-blockcart-modal__btn-checkout {
  flex: 1 1 calc(50% - 0.25rem);
  min-width: 8rem;
  border-radius: var(--border-radius-type-small);
  font-weight: 600;
  padding-top: 0.65rem;
  padding-bottom: 0.65rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
}

#blockcart-modal.cev-blockcart-modal .cev-blockcart-modal__btn-checkout .material-icons {
  font-size: 1.125rem;
  line-height: 1;
}

/* Modal panier : petits écrans (largeur utile, lignes résumé, boutons empilés) */
@media (max-width: 575.98px) {
  #blockcart-modal.cev-blockcart-modal .modal-dialog.cev-blockcart-modal__dialog {
    max-width: min(28rem, calc(100vw - 1rem));
    margin-left: auto;
    margin-right: auto;
  }

  #blockcart-modal.cev-blockcart-modal .cev-blockcart-modal__header {
    padding: 1rem 1rem 0.65rem;
  }

  #blockcart-modal.cev-blockcart-modal .cev-blockcart-modal__body {
    padding: 0.25rem 1rem 0.85rem;
  }

  #blockcart-modal.cev-blockcart-modal .cev-blockcart-modal__footer {
    padding: 0 1rem 1rem;
  }

  #blockcart-modal.cev-blockcart-modal .cev-blockcart-modal__title {
    font-size: 0.9375rem;
  }

  #blockcart-modal.cev-blockcart-modal .cev-blockcart-modal__product-row {
    gap: 0.75rem;
    align-items: flex-start;
  }

  #blockcart-modal.cev-blockcart-modal .cev-blockcart-modal__summary-row {
    gap: 0.75rem;
    align-items: flex-start;
  }

  #blockcart-modal.cev-blockcart-modal .cev-blockcart-modal__summary-label {
    flex: 1 1 auto;
    min-width: 0;
    padding-right: 0.35rem;
  }

  #blockcart-modal.cev-blockcart-modal .cev-blockcart-modal__summary-value {
    flex-shrink: 0;
    text-align: right;
    max-width: 55%;
  }

  #blockcart-modal.cev-blockcart-modal .cev-blockcart-modal__btn-continue,
  #blockcart-modal.cev-blockcart-modal .cev-blockcart-modal__btn-checkout {
    flex: 1 1 100%;
    min-width: 0;
  }
}

/****************** cart page ***********************/
.promo-code-button a {
  color: var(--primary-color);
}

.btn {
  --bs-btn-border-radius: var(--border-radius-type) !important;
  font-weight: 600 !important;
  cursor: pointer;
}

/* ===== GLOBAL BASE / UTILITIES ===== */

/* Boutons natifs / TouchSpin sans classe .btn complète */
button:not(:disabled):not([disabled]),
input[type="submit"]:not(:disabled):not([disabled]),
input[type="button"]:not(:disabled):not([disabled]),
input[type="reset"]:not(:disabled):not([disabled]),
.btn-touchspin:not(:disabled):not([disabled]) {
  cursor: pointer;
}

.btn:disabled,
.btn.disabled,
button:disabled,
button[disabled],
.btn-touchspin:disabled {
  cursor: not-allowed;
}

.btn-primary {
  border-radius: var(--border-radius-type);
  border: 1px solid var(--primary-color) !important;
}

.btn-secondary {
  border-radius: var(--border-radius-type);
  border: 1px solid var(--text-color-grey) !important;
}

.btn-primary {
  background-color: var(--primary-color) !important;
}

.btn-primary:hover {
  opacity: 0.8;
}

.btn-outline-primary {
  color: var(--text-color) !important;
  --bs-btn-color: var(--primary-color-light) !important;
  --bs-btn-border-color: #afafaf !important;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--primary-color-light) !important;
  --bs-btn-hover-border-color: var(--primary-color) !important;
  --bs-btn-focus-shadow-rgb: 13, 110, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--primary-color-light) !important;
  --bs-btn-active-border-color: var(--primary-color) !important;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: var(--primary-color) !important;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: var(--primary-color) !important;
  --bs-gradient: none;
  border-radius: 4px !important;
}

/* Remplace le fond Bootstrap / thème parent (ex. rgb(30, 123, 142)) au survol et au focus clavier */
.btn-outline-primary:hover:not(:disabled):not(.disabled),
.btn-outline-primary:focus-visible:not(:disabled):not(.disabled) {
  background-color: var(--primary-color-light) !important;
  color: var(--text-color) !important;
  border-color: var(--primary-color) !important;
}

.btn-check:checked + .btn,
.product_extra_fields + .btn,
.product_extra_fields:checked + .btn {
  font-weight: 600 !important;
  border: 2px solid var(--primary-color);
}

.text-warning-up {
  --bs-text-opacity: 1;
  color: var(--primary-color-hover) !important;
}

.js-show-details-custom {
  cursor: pointer;
  color: var(--text-color);
  font-weight: 600;
  font-size: 1rem;
}

/* Fil d’Ariane : même rendu que sur la fiche produit (toutes les pages, tous viewports) */
#wrapper .breadcrumb li span {
  font-size: 0.9rem;
  color: var(--text-color-grey);
}

#wrapper .breadcrumb li:last-child span {
  color: var(--text-color);
  font-weight: 600;
}

#wrapper .breadcrumb li::after {
  margin-inline: 0;
}

#wrapper {
  background: #f6f6f6;
}

#index #wrapper {
  background: #fff;
}

/* Pages CMS : pas de fond blanc sur le layout (cadre = #content.page-content.card) */
#cms #wrapper > .container {
  background-color: transparent;
  padding-top: 0;
  box-sizing: border-box;
}

/* Pages CMS : gouttière latérale sur les .container du header (.header-nav + .header-top) */
#cms #header .header-nav > .container,
#cms #header .header-top > .container {
  padding-inline: max(
      var(--padding-inline-base, 1rem),
      env(safe-area-inset-left, 0px)
    )
    max(var(--padding-inline-base, 1rem), env(safe-area-inset-right, 0px));
  box-sizing: border-box;
}

.margin-1x {
  margin: 1rem;
}

.margin-2x {
  margin: 2rem;
}

.margin-top-1x {
  margin-top: 1rem;
}

.margin-top-2x {
  margin-top: 2rem;
}

.text-primary {
  color: var(--primary-color) !important;
}

h2 {
  color: var(--dark-mode) !important;
}

h4 {
  font-size: 1.9rem !important;
  font-weight: 800 !important;
  text-align: left !important;
  text-transform: initial !important;
  color: var(--text-color);
  margin-top: 2rem;
}

h6 {
  font-size: 0.85rem !important;
}

select,
select::picker(select) {
  appearance: base-select;
}

select {
  background-color: var(--primary-color);
  border: none;
  padding: 0.5rem;
  color: var(--contrast-white-color);
  border-radius: 8px;
}

select button {
  background-color: var(--primary-color);
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
}

select::picker-icon {
  color: var(--contrast-white-color);
  margin-top: 2px;
}

textarea.form-control {
  border-radius: 8px;
}

select::picker(select) {
  border: 1px solid var(--primary-color);
  padding: 0.5rem;
  background-color: var(--primary-color);
}

.alert-info {
  --bs-alert-color: var(--primary-color-hover) !important;
  --bs-alert-bg: var(--primary-color-lighter) !important;
  --bs-alert-border-color: var(--primary-color-hover) !important;
  --bs-alert-link-color: var(--primary-color-hover) !important;
}

/* ===== GLOBAL ===== */
.primary-color {
  color: var(--primary-color);
}

.box-shadow {
  box-shadow: 8px 9px 5px -7px rgba(0, 0, 0, 0.59);
  -webkit-box-shadow: 8px 9px 5px -7px rgba(0, 0, 0, 0.59);
  -moz-box-shadow: 8px 9px 5px -7px rgba(0, 0, 0, 0.59);
}

.flex-container {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  min-height: 220px;
}

/* ===== HEADER NAV ===== */

#header .header_icon-user {
  width: auto;
  height: 22px;
  margin-right: 0.5rem;
}

#header .user-info {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

#header .user-info a {
  font-size: 1rem;
  font-weight: 700;
}

#header .header_icon-basket {
  width: auto;
  height: 22px;
}

#header .cart-products-count {
  position: absolute;
  left: 64%;
  top: -1px;
  z-index: 1;
  min-width: 1rem;
  min-height: 0.62rem;
  padding: 0.26rem 0.5rem;
  aspect-ratio: 1.85 / 1.3;
  font-size: 0.5625rem;
  line-height: 1;
  font-weight: 700;
  border-radius: 3px;
  background-color: var(--primary-color);
  color: var(--contrast-white-color);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
  transform: translate(-38%, -82%);
  pointer-events: none;
}

#header #_desktop_cart {
  margin-left: 0.3rem;
}

#header #_desktop_cart .header a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

#header .header-nav .cart-preview.active {
  background-color: transparent;
}

#header .search-widgets__form {
  min-height: 0;
}

#header .search-widgets__form .search-widgets__input {
  min-height: 0;
}

#header .header_user-name {
  font-size: 1rem;
  border-radius: 50%;
  padding: 0.25rem;
  width: 2rem;
  height: 2rem;
  background-color: var(--primary-color-light);
  color: var(--text-color);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

#header .row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

#header {
  color: var(--text-color) !important;
  box-shadow: none !important;
}

#header .header-nav a:hover,
#header .header-top a:hover {
  color: var(--primary-color) !important;
}

#header a.link-buy:hover {
  color: var(--contrast-white-color) !important;
}

#header .header-nav {
  max-height: 55px !important;
  height: auto;
  padding-block: 0.5rem;
  display: flex;
  align-items: center;
  overflow: visible;
}

#header .header-nav .header-nav__inner {
  width: 100%;
  display: flex;
  align-items: center;
}

#header .header-nav .header-nav__desktop {
  width: 100%;
}

#header .header-nav .header-nav__mobile.mobile-header {
  display: none;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
}

@media (min-width: 1025px) {
  #header .header-nav .header-nav__mobile.mobile-header {
    display: none !important;
  }

  #mobile_top_menu_wrapper.header-mobile-drawer {
    display: none !important;
  }
}

.header-nav {
  background-color: #1a1a1a;
  color: #fff !important;
  height: 55px;
}

.header-nav .right-nav {
  width: 100%;
  /* border: 1px solid var(--primary-color); */
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding-inline: 0;
  overflow: visible;
}

.header-nav .right-nav #_desktop_language_selector .language-selector {
  margin-top: 0;
}

.header-nav .right-nav .search-widgets {
  min-width: 17rem;
  margin: 0;
  margin-right: auto;
  max-width: 480px;
  width: 100%;
}

#header .header-nav .material-icons {
  line-height: 24px !important;
}

.header-nav a {
  color: #fff !important;
}

.header-nav a.dropdown-item,
.header-nav a.cev-header-account__link,
.header-nav a.cev-header-account__trigger {
  color: var(--text-color) !important;
}

#header .header-nav ._desktop_customer_type_link {
  display: inline-block;
}

#header .header-nav ._desktop_customer_type_link div .customer-service-icon {
  width: 18px;
  height: 18px;
  margin-right: 4px;
}

/*
 * Breakpoints (@media) — alignés Bootstrap 5 / usage courant dans ce fichier
 * (les variables CSS ne sont pas utilisées dans @media pour compat navigateurs.)
 *
 * | Nom | min-width | max-width en dessous |
 * |-----|-----------|----------------------|
 * | sm  | 576px     | 575.98px             |
 * | md  | 768px     | 767.98px             |
 * | lg  | 992px     | 991.98px             |
 * | xl  | 1200px    | 1199.98px            |
 * | xxl | 1400px    | —                    |
 *
 * Autres seuils volontaires (Classic / mise en page) :
 * - 1024px / 1025px : barre nav « desktop » vs drawer
 * - 1200px : colonne filtres catégorie
 * - 1536px : grilles produits très larges
 */

a {
  text-decoration: none !important;
}

ul {
  padding-left: 0 !important;
}

.border-radius-type {
  border-radius: var(--border-radius-type) !important;
}

.reduce_opacity {
  opacity: 0.65;
}

.bolder {
  font-weight: bolder;
}

.circle-bg-primary {
  background: var(--primary-color);
  border-radius: 50%;
  padding: 10px;
  width: 20px;
  height: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: var(--contrast-white-color);
  margin-right: 8px;
}

.color-primary {
  color: var(--primary-color);
}

.btn {
  --bs-btn-border-radius: var(--border-radius-type) !important;
  font-weight: 600 !important;
  cursor: pointer;
}

/* ===== GLOBAL BASE / UTILITIES ===== */

/* Boutons natifs / TouchSpin sans classe .btn complète */
button:not(:disabled):not([disabled]),
input[type="submit"]:not(:disabled):not([disabled]),
input[type="button"]:not(:disabled):not([disabled]),
input[type="reset"]:not(:disabled):not([disabled]),
.btn-touchspin:not(:disabled):not([disabled]) {
  cursor: pointer;
}

.btn:disabled,
.btn.disabled,
button:disabled,
button[disabled],
.btn-touchspin:disabled {
  cursor: not-allowed;
}

.btn-primary {
  border-radius: var(--border-radius-type);
  border: 1px solid var(--primary-color) !important;
}

.btn-secondary {
  border-radius: var(--border-radius-type);
  border: 1px solid var(--text-color-grey) !important;
}

.btn-primary {
  background-color: var(--primary-color) !important;
}

.btn-primary:hover {
  opacity: 0.8;
}

.btn-outline-primary {
  color: var(--text-color) !important;
  --bs-btn-color: var(--primary-color-light) !important;
  --bs-btn-border-color: #afafaf !important;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--primary-color-light) !important;
  --bs-btn-hover-border-color: var(--primary-color) !important;
  --bs-btn-focus-shadow-rgb: 13, 110, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--primary-color-light) !important;
  --bs-btn-active-border-color: var(--primary-color) !important;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: var(--primary-color) !important;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: var(--primary-color) !important;
  --bs-gradient: none;
  border-radius: 4px !important;
}

/* Remplace le fond Bootstrap / thème parent (ex. rgb(30, 123, 142)) au survol et au focus clavier */
.btn-outline-primary:hover:not(:disabled):not(.disabled),
.btn-outline-primary:focus-visible:not(:disabled):not(.disabled) {
  background-color: var(--primary-color-light) !important;
  color: var(--text-color) !important;
  border-color: var(--primary-color) !important;
}

.btn-check:checked + .btn,
.product_extra_fields + .btn,
.product_extra_fields:checked + .btn {
  font-weight: 600 !important;
  border: 2px solid var(--primary-color);
}

.text-warning-up {
  --bs-text-opacity: 1;
  color: var(--primary-color-hover) !important;
}

.js-show-details-custom {
  cursor: pointer;
  color: var(--text-color);
  font-weight: 600;
  font-size: 1rem;
}

/* Fil d’Ariane : même rendu que sur la fiche produit (toutes les pages, tous viewports) */
#wrapper .breadcrumb li span {
  font-size: 0.9rem;
  color: var(--text-color-grey);
}

#wrapper .breadcrumb li:last-child span {
  color: var(--text-color);
  font-weight: 600;
}

#wrapper .breadcrumb li::after {
  margin-inline: 0;
}

#wrapper {
  background: #f6f6f6;
}

#index #wrapper {
  background: #fff;
}

/* Pages CMS : pas de fond blanc sur le layout (cadre = #content.page-content.card) */
#cms #wrapper > .container {
  background-color: transparent;
  padding-top: 0;
  box-sizing: border-box;
}

/* Pages CMS : gouttière latérale sur les .container du header (.header-nav + .header-top) */
#cms #header .header-nav > .container,
#cms #header .header-top > .container {
  padding-inline: max(
      var(--padding-inline-base, 1rem),
      env(safe-area-inset-left, 0px)
    )
    max(var(--padding-inline-base, 1rem), env(safe-area-inset-right, 0px));
  box-sizing: border-box;
}

.margin-1x {
  margin: 1rem;
}

.margin-2x {
  margin: 2rem;
}

.margin-top-1x {
  margin-top: 1rem;
}

.margin-top-2x {
  margin-top: 2rem;
}

.text-primary {
  color: var(--primary-color) !important;
}

h2 {
  color: var(--dark-mode) !important;
}

h4 {
  font-size: 1.9rem !important;
  font-weight: 800 !important;
  text-align: left !important;
  text-transform: initial !important;
  color: var(--text-color);
  margin-top: 2rem;
}

h6 {
  font-size: 0.85rem !important;
}

select,
select::picker(select) {
  appearance: base-select;
}

select {
  background-color: var(--primary-color);
  border: none;
  padding: 0.5rem;
  color: var(--contrast-white-color);
  border-radius: 8px;
}

select button {
  background-color: var(--primary-color);
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
}

select::picker-icon {
  color: var(--contrast-white-color);
  margin-top: 2px;
}

textarea.form-control {
  border-radius: 8px;
}

select::picker(select) {
  border: 1px solid var(--primary-color);
  padding: 0.5rem;
  background-color: var(--primary-color);
}

.alert-info {
  --bs-alert-color: var(--primary-color-hover) !important;
  --bs-alert-bg: var(--primary-color-lighter) !important;
  --bs-alert-border-color: var(--primary-color-hover) !important;
  --bs-alert-link-color: var(--primary-color-hover) !important;
}

/* ===== GLOBAL ===== */
.primary-color {
  color: var(--primary-color);
}

.box-shadow {
  box-shadow: 8px 9px 5px -7px rgba(0, 0, 0, 0.59);
  -webkit-box-shadow: 8px 9px 5px -7px rgba(0, 0, 0, 0.59);
  -moz-box-shadow: 8px 9px 5px -7px rgba(0, 0, 0, 0.59);
}

.flex-container {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  min-height: 220px;
}

/* ===== HEADER NAV ===== */

#header .header_icon-user {
  width: auto;
  height: 22px;
  margin-right: 0.5rem;
}

#header .user-info {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

#header .user-info a {
  font-size: 1rem;
  font-weight: 700;
}

#header .header_icon-basket {
  width: auto;
  height: 22px;
}

#header .cart-products-count {
  position: absolute;
  left: 64%;
  top: -1px;
  z-index: 1;
  min-width: 1rem;
  min-height: 0.62rem;
  padding: 0.26rem 0.5rem;
  aspect-ratio: 1.85 / 1.3;
  font-size: 0.5625rem;
  line-height: 1;
  font-weight: 700;
  border-radius: 3px;
  background-color: var(--primary-color);
  color: var(--contrast-white-color);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
  transform: translate(-38%, -82%);
  pointer-events: none;
}

#header #_desktop_cart {
  margin-left: 0.3rem;
}

#header #_desktop_cart .header a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

#header .header-nav .cart-preview.active {
  background-color: transparent;
}

#header .search-widgets__form {
  min-height: 0;
}

#header .search-widgets__form .search-widgets__input {
  min-height: 0;
}

#header .header_user-name {
  font-size: 1rem;
  border-radius: 50%;
  padding: 0.25rem;
  width: 2rem;
  height: 2rem;
  background-color: var(--primary-color-light);
  color: var(--text-color);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

#header .row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

#header {
  color: var(--text-color) !important;
  box-shadow: none !important;
}

#header.is-open {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1000;
  background-color: #fff;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
}

#header .header-nav a:hover,
#header .header-top a:hover {
  color: var(--primary-color) !important;
}

#header a.link-buy:hover {
  color: var(--contrast-white-color) !important;
}

#header .header-nav {
  max-height: 55px !important;
  height: auto;
  padding-block: 0.5rem;
  display: flex;
  align-items: center;
  overflow: visible;
}

#header .header-nav .header-nav__inner {
  width: 100%;
  display: flex;
  align-items: center;
}

#header .header-nav .header-nav__desktop {
  width: 100%;
}

#header .header-nav .header-nav__mobile.mobile-header {
  display: none;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
}

@media (min-width: 1025px) {
  #header .header-nav .header-nav__mobile.mobile-header {
    display: none !important;
  }

  #mobile_top_menu_wrapper.header-mobile-drawer {
    display: none !important;
  }
}

.header-nav {
  background-color: #1a1a1a;
  color: #fff !important;
  height: 55px;
}

.header-nav .right-nav {
  width: 100%;
  /* border: 1px solid var(--primary-color); */
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding-inline: 0;
  overflow: visible;
}

.header-nav .right-nav #_desktop_language_selector .language-selector {
  margin-top: 0;
}

.header-nav .right-nav .search-widgets {
  min-width: 17rem;
  margin: 0;
  margin-right: auto;
  max-width: 480px;
  width: 100%;
}

#header .header-nav .material-icons {
  line-height: 24px !important;
}

.header-nav a {
  color: #fff !important;
}

.header-nav a.dropdown-item,
.header-nav a.cev-header-account__link,
.header-nav a.cev-header-account__trigger {
  color: var(--text-color) !important;
}

#header .header-nav ._desktop_customer_type_link {
  display: inline-block;
}

#header .header-nav ._desktop_customer_type_link div .customer-service-icon {
  width: 18px;
  height: 18px;
  margin-right: 4px;
}

  #cart .cart-page-title {
    text-transform: none;
    font-size: clamp(1.25rem, 1rem + 1vw, 1.5rem);
    line-height: 1.2;
    font-weight: 700;
    margin-bottom: 0;
  }

  #cart .cart-container > .card-block:first-child {
    padding-bottom: 0.35rem;
  }

  #cart .cart-container .cart-overview .cart-item:first-child {
    padding-top: 0.65rem;
  }

  hr.separator {
    border: 0;
    border-top: 1px solid var(--secondary-color);
    opacity: 1;
  }

  #cart .cart-container > hr.separator {
    margin-top: 0.75rem;
    margin-bottom: 0.75rem;
    border-top: 1px solid var(--neutral-color-border);
  }

  #cart .cart-container,
  #cart .cart-summary {
    border-radius: var(--border-radius-type);
  }

  #cart .product-line-info span.label {
    font-weight: 400;
  }

  #cart .product-line-info span.value {
    font-weight: 600;
  }

  #cart-subtotal-discount {
    display: none !important;
  }

/* ===== CHECKOUT PAGE ===== */
/* #checkout #_desktop_logo {
  margin-top: -16px !important;
  margin-bottom: 24px;
} */

#checkout .search-widgets {
  display: inline-block !important;
}

/* Logo header : hauteur max, proportions conservées (évite étirement My Gift / tenant) */
#header #_desktop_logo img,
#header #_desktop_logo img.cev-tenant-logo,
body#checkout #header .header-nav img.cev-tenant-logo {
  height: auto !important;
  width: auto !important;
  max-height: 65px;
  max-width: 100%;
  object-fit: contain;
}

body#checkout #header .header-nav .logo {
  max-height: 3.4rem !important;
}

body#checkout .cev-checkout-steps-nav {
  margin: 0 0 1.5rem;
  padding: 1rem 1.25rem;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: var(--border-radius-type-md, 12px);
}

body#checkout .cev-checkout-steps-nav__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0;
  list-style: none;
  margin: 0;
  padding: 0;
}

body#checkout .cev-checkout-steps-nav__item {
  display: flex;
  align-items: center;
  flex: 1 1 0;
  min-width: 0;
}

body#checkout .cev-checkout-steps-nav__item:not(:last-child)::after {
  content: '';
  flex: 1 1 auto;
  height: 2px;
  margin: 0 0.75rem;
  background: rgba(0, 0, 0, 0.12);
}

body#checkout .cev-checkout-steps-nav__item.is-complete:not(:last-child)::after {
  background: var(--primary-color, #e30613);
}

body#checkout .cev-checkout-steps-nav__link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
  color: inherit;
  text-decoration: none;
  font-size: 1.125rem;
  line-height: 1.3;
}

body#checkout .cev-checkout-steps-nav__item.is-current .cev-checkout-steps-nav__link {
  font-weight: 700;
  color: var(--primary-color, #e30613);
}

body#checkout .cev-checkout-steps-nav__item.is-complete .cev-checkout-steps-nav__link {
  color: var(--primary-color, #e30613);
}

body#checkout .cev-checkout-steps-nav__item.is-disabled .cev-checkout-steps-nav__link {
  color: rgba(0, 0, 0, 0.45);
}

body#checkout .cev-checkout-steps-nav__number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 50%;
  border: 2px solid currentColor;
  font-size: 0.875rem;
  font-weight: 700;
  flex-shrink: 0;
}

body#checkout .cev-checkout-steps-nav__item.is-current .cev-checkout-steps-nav__number,
body#checkout .cev-checkout-steps-nav__item.is-complete .cev-checkout-steps-nav__number {
  background: var(--primary-color, #e30613);
  border-color: var(--primary-color, #e30613);
  color: #fff;
}

body#checkout .cev-checkout-steps-nav__label {
  font-size: 1.125rem;
  line-height: 1.3;
}

/* Tunnel checkout — pas de numérotation (nav + titres d'étape) */
body#checkout .cev-checkout-steps-nav__number,
body#checkout section.checkout-step .step-number {
  display: none !important;
}

@media (max-width: 767.98px) {
  body#checkout .cev-checkout-steps-nav__item {
    flex: 1 1 100%;
  }

  body#checkout .cev-checkout-steps-nav__item:not(:last-child)::after {
    display: none;
  }
}

/* P2 — tunnel : une seule étape active dans la colonne principale (nav = historique) */
body#checkout .cev-checkout-single-step-mode section.checkout-step:not(.-current) {
  display: none;
}

body#checkout .cev-checkout-single-step-mode section.checkout-step.-current {
  margin-bottom: 0;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

body#checkout .cev-checkout-single-step-mode section.checkout-step.-current .step-title {
  margin-bottom: 0.75rem;
}

body#checkout #checkout-payment-step .step-title {
  margin-bottom: 1.25rem;
  padding-bottom: 0;
  border-bottom: none;
  text-transform: none;
  font-size: clamp(1.25rem, 1rem + 1vw, 1.5rem);
  line-height: 1.2;
  font-weight: 700;
  color: var(--text-color, #1a1a1a);
  letter-spacing: normal;
}

/* P2 — bandeau panier mixte Cadhoc + autres produits */
.cev-cart-mixed-notice {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin-top: 1rem;
  padding: 0.875rem 1rem;
  border-radius: var(--border-radius-type-md, 12px);
}

.cev-cart-mixed-notice__icon {
  flex-shrink: 0;
  font-size: 1.35rem;
  line-height: 1.2;
  opacity: 0.85;
}

.cev-cart-mixed-notice__text {
  font-size: 0.9375rem;
  line-height: 1.45;
}


/* Étapes tunnel : pastille numéro sur l’étape courante uniquement */
body#checkout section.checkout-step.-reachable.-current .step-number {
  background-color: var(--primary-color) !important;
  border-color: var(--primary-color) !important;
  color: var(--contrast-white-color) !important;
}

body#checkout section.checkout-step.-complete .step-title .done {
  color: var(--primary-color) !important;
}

body#checkout section.checkout-step .address-item.selected {
  background: #fff;
  border: 3px solid var(--primary-color);
  border-radius: var(--border-radius-type);
  }

  #checkout .delivery-options .js-delivery-option .carrier-name {
    display: flex;
  }

  #checkout .delivery-options .row  {
  flex-direction: row;
  }

body#checkout section.checkout-step .delivery-options .delivery-option label .carrier {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
}

  #cart .cart-detailed-actions a.btn {
    padding-block: 0.6rem;
    border-radius: var(--border-radius-type-md) !important;
  }

  body#cart.cev-cart--hydrating .js-cart-detailed-actions a.btn {
    opacity: 0.72;
    cursor: wait;
  }

  .btn:not(.btn-touchspin):not(.btn-close) {
    text-transform: none !important;
    /* padding-block: 0.28rem !important; */
    --bs-btn-border-radius: var(--border-radius-type-small) !important;
    border-radius: var(--border-radius-type-small) !important;
  }

  .btn-outline-primary {
    --bs-btn-border-radius: var(--border-radius-type-small) !important;
    border-radius: var(--border-radius-type-small) !important;
  }

  button.form-control-submit,
  input.form-control-submit {
    text-transform: none !important;
    font-weight: 600 !important;
    padding-block: 0.28rem !important;
    border-radius: var(--border-radius-type-small) !important;
  }

  .block_newsletter input[type="submit"][name="submitNewsletter"] {
    text-transform: none;
    font-weight: 600 !important;
    padding-block: 0.28rem !important;
    border-radius: 999px !important;
    --bs-btn-border-radius: 999px !important;
  }

/* Récap panier / checkout (#cart-summary-product-list) : media object en flex + grille pour nom / qté / prix */
#cart-summary-product-list .media-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

#cart-summary-product-list .media {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--text-color-grey-hover, #e2e1e6);
}

#cart-summary-product-list .media:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}

#cart-summary-product-list .cart-summary-product-line-below {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0.75rem;
  width: 100%;
  min-width: 0;
}

#cart-summary-product-list .media-left {
  flex: 0 0 auto;
  float: none !important;
  padding-right: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

#cart-summary-product-list .media-left > a,
#cart-summary-product-list .media-left picture {
  display: block;
  border: 0;
  background: transparent;
  box-shadow: none;
}

#cart-summary-product-list .media-left .media-object,
#cart-summary-product-list .media-left img {
  display: block;
  width: 3.5rem;
  height: auto;
  max-width: 3.5rem;
  border: 0 !important;
  outline: none;
  box-shadow: none;
  border-radius: var(--border-radius-type-small);
  object-fit: cover;
  background: transparent;
}

#cart-summary-product-list .media-body {
  flex: 1 1 auto;
  min-width: 0;
  float: none !important;
  width: auto !important;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto auto auto;
  gap: 0.15rem 0.65rem;
  align-items: start;
}

#cart-summary-product-list .media-body > .product-name.cart-summary-product-name {
  grid-column: 1;
  grid-row: 1;
  min-width: 0;
  line-height: 1.3;
  font-weight: 600;
}

#cart-summary-product-list .media-body > .product-name.cart-summary-product-name a {
  color: var(--text-color);
  text-decoration: none;
}

#cart-summary-product-list .media-body > .product-price {
  grid-column: 2;
  grid-row: 1 / -1;
  justify-self: end;
  align-self: center;
  float: none !important;
  font-weight: 700;
  white-space: nowrap;
}

#cart-summary-product-list .media-body > .product-quantity {
  grid-column: 1;
  grid-row: 2;
  justify-self: start;
  font-size: 0.9375rem;
  line-height: 1.3;
  font-weight: 400;
  color: var(--text-color);
}

#cart-summary-product-list .media-body > .product-quantity strong {
  font-weight: 400;
}

#cart-summary-product-list .media-body > .product-line-info {
  grid-column: 1;
  justify-self: start;
  font-size: 0.9375rem;
  line-height: 1.3;
  color: var(--text-color);
}

#cart-summary-product-list .media-body > .product-line-info .label {
  font-weight: 400;
  color: var(--text-color);
}

#cart-summary-product-list .media-body > .product-line-info .value {
  font-weight: 700;
  color: var(--text-color);
}

#cart-summary-product-list .media-body > br {
  display: none;
}

/* Récap panier / commande : nom enseigne à droite de la visuelle carte */
.cev-order-recap-summary #cart-summary-product-list .media-body > .product-name.cart-summary-product-name,
.cev-order-recap-summary #cart-summary-product-list .media-body > .product-name.cart-summary-product-name a {
  color: var(--text-color) !important;
  font-weight: 600;
}

.cev-order-recap-summary #cart-summary-product-list .media-body > .product-price {
  font-size: 0.9375rem;
  line-height: 1.3;
  font-weight: 700;
  color: var(--text-color);
}

.cev-order-recap-summary #cart-summary-product-list .media-body > .product-quantity {
  font-size: 0.9375rem;
  line-height: 1.3;
  font-weight: 400;
  color: var(--text-color);
}

.cev-order-recap-summary #cart-summary-product-list .media-body .product-line-info .label {
  font-weight: 400;
  color: var(--text-color);
}

.cev-order-recap-summary #cart-summary-product-list .media-body .product-line-info .value {
  font-weight: 700;
  color: var(--text-color);
}

body#checkout .condition-label label.cev-checkout-terms a {
  color: var(--primary-color-hover) !important;
  position: relative;
  /* Pas de z-index : sinon les liens CGU percent le drawer d'activation crédit. */
  cursor: pointer;
  text-decoration: underline;
}

/* Drawer / dialog React (activation crédit, etc.) au-dessus du checkout FO */
body#checkout [data-slot="drawer-overlay"],
body#checkout [data-slot="drawer-content"],
body#checkout [data-slot="dialog-overlay"],
body#checkout [data-slot="dialog-content"],
body [data-slot="drawer-overlay"],
body [data-slot="drawer-content"],
body [data-slot="dialog-overlay"],
body [data-slot="dialog-content"] {
  z-index: 10050 !important;
}

/* Masquer les CGU tant qu'un drawer/dialog est ouvert (filet anti-percée) */
body:has([data-slot="drawer-content"][data-state="open"]) #conditions-to-approve,
body:has([data-slot="dialog-content"][data-state="open"]) #conditions-to-approve {
  visibility: hidden;
}

body#checkout .promo-code-button a:hover {
  color: var(--primary-color-hover) !important;
  text-decoration: underline;
}

.cev-order-recap-summary .product-price,
.cev-order-recap-summary .cart-summary-line .value,
.cev-order-recap-summary .cart-summary-line .float-xs-right,
.cev-order-recap-summary .cart-summary-line .float-xs-right span {
  color: var(--text-color, #2c252d) !important;
}

.cev-order-recap-summary .cart-summary-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.cev-order-recap-summary .cart-summary-line .label {
  flex: 1 1 auto;
  min-width: 0;
  text-align: left;
}

.cev-order-recap-summary .cart-summary-line .value {
  flex: 0 0 auto;
  float: none !important;
  text-align: right;
  white-space: nowrap;
}

.cev-order-recap-summary .cev-summary-vouchers {
  margin: 0;
  padding: 0 0 0.85rem;
  list-style: none;
  border-bottom: 1px solid var(--text-color-grey-hover, #e2e1e6);
}

.cev-order-recap-summary .cev-summary-vouchers__line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  text-align: left;
}

.cev-order-recap-summary .cev-summary-vouchers__line .label {
  flex: 1 1 auto;
  min-width: 0;
  color: var(--text-color, #2c252d);
  text-align: left;
}

.cev-order-recap-summary .cev-summary-vouchers__line .float-xs-right {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  flex: 0 0 auto;
  float: none !important;
  white-space: nowrap;
}

.cev-order-recap-summary .cev-summary-vouchers__line a,
.cev-order-recap-summary .cev-summary-vouchers__line .material-icons {
  color: var(--text-color-grey, #6f6870) !important;
}

.cev-order-recap-summary .cart-summary-totals {
  padding-bottom: 0.25rem;
}

.cev-order-recap-summary .cev-order-recap-voucher.card-block {
  padding-top: 1rem;
  padding-bottom: 1.25rem !important;
}

.cev-order-recap-summary .checkout.cart-block.cart-detailed-actions {
  margin-top: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0;
}

.cev-order-recap-summary .block-promo {
  margin: 0;
  padding: 0;
}

.cev-order-recap-summary .cart-voucher {
  width: 100%;
}

.cev-order-recap-summary #promo-code,
.cev-order-recap-summary .promo-code {
  margin: 0;
  padding: 0;
}

.cev-order-recap-summary .promo-code-button-custom {
  color: var(--text-color, #2c252d);
  text-align: left;
  font-weight: 400;
  font-size: 0.9375rem;
  line-height: 1.4;
  margin: 0 0 0.65rem;
  padding: 0;
}

.cev-order-recap-summary .promo-code form[data-link-action="add-voucher"] {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 0.5rem;
  width: 100%;
}

.cev-order-recap-summary .promo-code .promo-input {
  flex: 1 1 auto;
  min-width: 0;
  width: auto;
  margin-right: 0;
  padding: 0.5rem 0.75rem;
  border: 1px solid var(--text-color-grey-hover, #e2e1e6) !important;
  border-radius: var(--border-radius-type-small, 8px) !important;
  background-color: #fff;
  font-size: 0.9375rem;
  line-height: 1.4;
  color: var(--text-color, #2c252d);
  box-sizing: border-box;
}

.cev-order-recap-summary .promo-code .promo-input::placeholder {
  color: var(--text-color-grey, #6f6870);
  opacity: 1;
}

.cev-order-recap-summary .promo-code .promo-input:focus {
  outline: none;
  border-color: var(--text-color-grey, #6f6870) !important;
  box-shadow: none;
}

.cev-order-recap-summary .promo-code .btn-primary {
  flex: 0 0 auto;
  margin: 0;
  padding: 0.5rem 1rem;
  border-radius: var(--border-radius-type-small, 8px) !important;
  border-color: var(--text-color, #2c252d) !important;
  background-color: var(--text-color, #2c252d) !important;
  color: #fff !important;
  font-weight: 600;
  font-size: 0.9375rem;
  line-height: 1.4;
  white-space: nowrap;
}

.cev-order-recap-summary .promo-code .btn-primary:hover,
.cev-order-recap-summary .promo-code .btn-primary:focus {
  border-color: #000 !important;
  background-color: #000 !important;
  color: #fff !important;
}

.cev-order-recap-summary .promo-code .js-error {
  margin-top: 0.5rem;
  width: 100%;
}

body#checkout .cart-grid-body {
  background: #fff !important;
  border-radius: var(--border-radius-type);
  padding: 24px 16px;
  border: 1px solid rgba(26, 26, 26, 0.12);
}

body#checkout .cart-grid-body:has(#checkout-payment-step.-current) {
  padding-bottom: 1rem;
}

@media (min-width: 992px) {
  body#checkout:has(#checkout-payment-step.-current) .checkout-content-wrapper > .row {
    align-items: flex-start;
  }

  body#checkout:has(#checkout-payment-step.-current) .cart-grid-body {
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
  }

  body#checkout:has(#checkout-payment-step.-current) #checkout-payment-step {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    height: 100%;
    min-height: 0;
    width: 100%;
  }

  body#checkout:has(#checkout-payment-step.-current) #checkout-payment-step .content {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
  }

  body#checkout:has(#checkout-payment-step.-current) #payment-confirmation {
    margin-top: auto;
  }

  /* Wallet déployé : le panneau grandit avec le contenu (pas de calage sur le récap) */
  body#checkout:has(#checkout-payment-step.-current .cev-payment-options__wallet-config:not(.ps-hidden)) .cart-grid-body {
    height: auto !important;
    min-height: 0 !important;
  }

  body#checkout:has(#checkout-payment-step.-current .cev-payment-options__wallet-config:not(.ps-hidden)) #checkout-payment-step {
    height: auto;
  }

  body#checkout:has(#checkout-payment-step.-current .cev-payment-options__wallet-config:not(.ps-hidden)) #checkout-payment-step .content {
    flex: 0 1 auto;
    min-height: 0;
  }

  body#checkout:has(#checkout-payment-step.-current .cev-payment-options__wallet-config:not(.ps-hidden)) #payment-confirmation {
    margin-top: 1.25rem;
  }
}

.cev-order-recap-summary {
  border-radius: var(--border-radius-type);
  padding: 16px;
}

.cev-order-recap-summary .card-block > .js-show-details-custom {
  margin-bottom: 0.35rem;
}

.cev-order-recap-summary .cart-summary-products > .js-show-details-custom {
  display: none;
}

.cev-order-recap-summary .cart-summary-products {
  padding-bottom: 1.35rem;
  margin-bottom: 0;
  border-bottom: 1px solid var(--text-color-grey-hover, #e2e1e6);
}

.cev-order-recap-summary #cart-summary-product-list .media-list {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.cev-order-recap-summary #cart-summary-product-list .media,
.cev-order-recap-summary #cart-summary-product-list .media:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none !important;
}

.cev-order-recap-summary .cart-summary-subtotals-container {
  padding-top: 1rem;
  padding-bottom: 0;
  padding-left: 0;
  padding-right: 0;
}

body#checkout .cev-order-recap-summary .cart-summary-products {
  border-bottom: none;
  padding-bottom: 0;
}

body#checkout .cev-order-recap-summary .cart-summary-subtotals-container {
  border-top: 1px solid var(--text-color-grey-hover, #e2e1e6);
  margin-top: 1rem;
  padding-top: 1rem;
}

.cev-order-recap-summary > .cart-summary-totals.card-block {
  border-top: none !important;
  padding-top: 0.75rem;
}

#cart .cev-order-recap-summary .cart-summary-subtotals-container {
  padding-bottom: 0.75rem;
  margin-bottom: 0;
  border-bottom: 1px solid var(--text-color-grey-hover, #e2e1e6);
}

#cart .cev-order-recap-summary > .cart-summary-totals.card-block {
  padding-top: 0.85rem;
}

.cev-order-recap-summary .cev-checkout-recap-delivery--email {
  margin-bottom: 0.75rem !important;
}

body#checkout #footer {
  padding: 0 !important;
}

body#checkout .footer-container {
  padding-top: 1rem !important;
}

/* Étape paiement — aligner le contenu sur la carte (sans padding latéral du thème) */
body#checkout #checkout-payment-step .content {
  padding: 0;
  padding-bottom: 0;
  border-top: none;
}

/* Modes de paiement — choix compacts à gauche, détail sélectionné à droite */
body#checkout #checkout-payment-step .cev-payment-options {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.5rem;
}

body#checkout #checkout-payment-step .cev-payment-options__wallet-row {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  width: 100%;
  max-width: 100%;
  padding: 1.4rem;
  overflow: visible;
  border: 1px solid rgba(26, 26, 26, 0.12);
  border-radius: var(--border-radius-type-small);
  background: var(--contrast-white-color);
}

body#checkout #checkout-payment-step .cev-payment-options__wallet-row:has(input[name="payment-option"][data-module-name="ps_cev_giftcard_wallet"]:checked) {
  border: 1px solid var(--primary-color);
  box-shadow: 0 0 0 2px var(--primary-color-light);
}

body#checkout #checkout-payment-step .cev-payment-options__block--wallet {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.75rem;
  width: 100%;
  max-width: 100%;
}

body#checkout #checkout-payment-step .cev-payment-options__wallet-row .cev-payment-options__item {
  width: 100%;
  max-width: 100%;
  padding: 0;
  border-bottom: 0;
}

body#checkout #checkout-payment-step .cev-payment-options__wallet-row .cev-payment-option__inner {
  width: 100%;
  max-width: 100%;
  align-items: stretch;
}

body#checkout #checkout-payment-step .cev-payment-options__wallet-row .cev-payment-option__card,
body#checkout #checkout-payment-step .cev-payment-options__wallet-row .cev-payment-option:has(input[name="payment-option"]:checked) .cev-payment-option__card {
  width: 100%;
  max-width: none;
  min-height: auto;
  margin: 0;
  padding: 0;
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

body#checkout #checkout-payment-step .cev-payment-options__wallet-row .cev-payment-option__card:has(.cev-payment-option__icon-wrap) .cev-payment-option__cta {
  flex: 0 0 auto;
}

body#checkout #checkout-payment-step .cev-payment-options__wallet-config {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  border-left: 0;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: normal;
  color: inherit;
  text-align: left;
  box-sizing: border-box;
  background: transparent;
}

body#checkout #checkout-payment-step .cev-payment-options__wallet-config .cev-wallet-payment-info,
body#checkout #checkout-payment-step .cev-payment-options__wallet-config .cev-wallet-checkout-card,
body#checkout #checkout-payment-step .cev-payment-options__wallet-config .cev-wallet-amount-control,
body#checkout #checkout-payment-step .cev-payment-options__wallet-config .cev-wallet-usage-detail,
body#checkout #checkout-payment-step .cev-payment-options__wallet-config .cev-wallet-checkout-summary {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

body#checkout #checkout-payment-step .cev-payment-options__wallet-config .cev-wallet-payment-info,
body#checkout #checkout-payment-step .cev-payment-options__wallet-config .cev-wallet-checkout-card {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body#checkout #checkout-payment-step .cev-payment-options__wallet-config .cev-wallet-amount-control {
  margin-bottom: 1rem;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

body#checkout #checkout-payment-step .cev-payment-options__wallet-config.ps-hidden {
  display: none !important;
}

body#checkout #checkout-payment-step .cev-payment-options__choices {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  width: 100%;
  margin-left: 0;
}

body#checkout #checkout-payment-step .cev-payment-options__details {
  position: sticky;
  top: 1rem;
  min-width: 0;
}

body#checkout #checkout-payment-step .cev-payment-options__block {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 0.75rem 1.25rem;
  width: 100%;
}

body#checkout #checkout-payment-step .cev-payment-options__block--with-aside {
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 0.75rem 1rem;
}

body#checkout #checkout-payment-step .cev-payment-options__block--with-aside .cev-payment-options__item {
  flex: 1 1 52%;
  width: auto;
  min-width: min(100%, 17rem);
  max-width: none;
}

body#checkout #checkout-payment-step .cev-payment-options__block--with-aside .cev-payment-option,
body#checkout #checkout-payment-step .cev-payment-options__block--with-aside .cev-payment-option__inner,
body#checkout #checkout-payment-step .cev-payment-options__block--with-aside .cev-payment-option__card {
  width: 100%;
  max-width: 100%;
  height: 100%;
  box-sizing: border-box;
}

body#checkout #checkout-payment-step .cev-payment-options__aside.cev-payment-aside--always-visible {
  display: block !important;
}

body#checkout #checkout-payment-step .cev-payment-options__aside {
  flex: 1 1 40%;
  width: auto;
  min-width: 0;
  max-width: none;
  margin: 0;
  padding: 0;
  border-left: 0;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: 0.01em;
  color: var(--text-color-grey);
  text-align: left;
  align-self: stretch;
}

body#checkout #checkout-payment-step .cev-payment-options__aside .cev-deposit-payment-info {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.65rem;
  box-sizing: border-box;
  height: 100%;
  min-height: 4rem;
  margin: 0;
  padding: 0.75rem 1rem;
  border: 1px solid var(--secondary-color-light, #d9b6d5);
  border-radius: var(--border-radius-type-small, 8px);
  background: var(--secondary-color-lighter, #f6e9f4);
}

body#checkout #checkout-payment-step .cev-payment-options__aside .cev-deposit-payment-info__rows {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

body#checkout #checkout-payment-step .cev-payment-options__aside .cev-deposit-payment-info__row strong {
  color: var(--secondary-color, #59064d);
  font-weight: 600;
}

body#checkout #checkout-payment-step .cev-payment-options__aside .cev-deposit-payment-info__amount {
  font-weight: 700;
  white-space: nowrap;
}

body#checkout #checkout-payment-step .cev-payment-options__aside .cev-deposit-payment-info__amount--balance,
body#checkout #checkout-payment-step .cev-payment-options__aside .cev-deposit-payment-info__amount--remaining {
  color: var(--secondary-color, #59064d);
}

body#checkout #checkout-payment-step .cev-payment-options__aside .cev-deposit-payment-info__amount--total {
  color: var(--primary-color, #f23648);
}

body#checkout #checkout-payment-step .cev-payment-options__aside .cev-deposit-payment-info__note {
  margin: 0;
  padding-top: 0.15rem;
  border-top: 1px solid var(--secondary-color-light, #d9b6d5);
  color: var(--text-color-grey, #7a7a7a);
  line-height: 1.35;
}

body#checkout #checkout-payment-step .cev-payment-options__aside p {
  margin-bottom: 0.35rem;
}

body#checkout #checkout-payment-step .cev-payment-options__aside p:last-child {
  margin-bottom: 0;
}

body#checkout #checkout-payment-step .cev-payment-options__aside .cev-wirepayment-intro,
body#checkout #checkout-payment-step .cev-payment-options__aside .cev-wirepayment-reservation,
body#checkout #checkout-payment-step .cev-payment-options__aside .cev-wirepayment-more {
  margin: 0 0 0.35rem;
  font-size: 0.75rem;
  line-height: 1.35;
  font-weight: 400;
  color: var(--text-color-grey);
}

body#checkout #checkout-payment-step .cev-payment-options__aside .cev-wirepayment-more {
  margin-bottom: 0;
}

body#checkout #checkout-payment-step .cev-payment-options__aside .cev-wirepayment-more a {
  font-size: 0.75rem;
}

@media (max-width: 767px) {
  body#checkout #checkout-payment-step .cev-payment-options__wallet-row {
    padding: 1.15rem;
  }

  body#checkout #checkout-payment-step .cev-payment-options__block--with-aside {
    flex-wrap: wrap;
  }

  body#checkout #checkout-payment-step .cev-payment-options__block--with-aside .cev-payment-options__item {
    flex: 1 1 100%;
    min-width: 0;
  }

  body#checkout #checkout-payment-step .cev-payment-options__details {
    position: static;
  }

  body#checkout #checkout-payment-step .cev-payment-options__aside {
    flex: 1 1 100%;
    max-width: 100%;
    padding-top: 0;
  }

  /* CB / moyens : layout type bandeau crédit cadeau (icône + texte, badge dessous) */
  body#checkout #checkout-payment-step .cev-payment-options__choices .cev-payment-option__card {
    align-items: flex-start;
    gap: 0.75rem 0.85rem;
    padding: 0.85rem 1rem;
    border-radius: 12px;
  }

  /* Une seule ligne (titre seul) : centrage vertical icône + texte */
  body#checkout #checkout-payment-step .cev-payment-options__choices .cev-payment-option__card:not(:has(.cev-payment-option__meta)):not(:has(.cev-payment-option__secure-note)) {
    align-items: center;
    min-height: 4rem;
  }

  body#checkout #checkout-payment-step .cev-payment-options__choices .cev-payment-option__copy {
    flex-direction: column;
    align-items: stretch;
    gap: 0.65rem;
    width: 100%;
  }

  body#checkout #checkout-payment-step .cev-payment-options__choices .cev-payment-option__text {
    width: 100%;
  }

  body#checkout #checkout-payment-step .cev-payment-options__choices .cev-payment-option__cta {
    white-space: normal;
    overflow-wrap: break-word;
    word-break: normal;
  }

  body#checkout #checkout-payment-step .cev-payment-options__choices .cev-payment-option__secure-note,
  body#checkout #checkout-payment-step .cev-payment-options__choices .cev-payment-option__secure-note--inline {
    margin-left: 0;
    padding-left: 0.65rem;
    width: 100%;
    max-width: 100%;
    justify-content: flex-start;
    box-sizing: border-box;
    white-space: normal;
  }

  /* Sélection = bordure de carte ; radio masqué (reste focusable via label) */
  body#checkout #checkout-payment-step .cev-payment-option__radio {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
    pointer-events: none;
  }

  body#checkout #checkout-payment-step .cev-payment-option__card {
    position: relative;
  }
}

body#checkout #checkout-payment-step .cev-payment-options__item {
  width: 100%;
  max-width: 100%;
}

body#checkout #checkout-payment-step .cev-payment-option__inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.35rem;
}

body#checkout #checkout-payment-step .cev-payment-option__nojs {
  flex: 0 0 auto;
}

/* CB / virement : pleine largeur. Déposit (--with-aside) : tuile ~52% + encart solde,
   bord droit aligné sur virement/CB (régression MGFT-26). */
body#checkout #checkout-payment-step .cev-payment-options__choices .cev-payment-options__block {
  width: 100%;
  max-width: 100%;
}

body#checkout #checkout-payment-step .cev-payment-options__choices .cev-payment-options__block:not(.cev-payment-options__block--with-aside) .cev-payment-options__item,
body#checkout #checkout-payment-step .cev-payment-options__choices .cev-payment-options__block:not(.cev-payment-options__block--with-aside) .cev-payment-option,
body#checkout #checkout-payment-step .cev-payment-options__choices .cev-payment-options__block:not(.cev-payment-options__block--with-aside) .cev-payment-option__inner,
body#checkout #checkout-payment-step .cev-payment-options__choices .cev-payment-options__block:not(.cev-payment-options__block--with-aside) .cev-payment-option__card {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

body#checkout #checkout-payment-step .cev-payment-options__choices .cev-payment-options__block:not(.cev-payment-options__block--with-aside) .cev-payment-option__inner {
  align-items: stretch;
}

body#checkout #checkout-payment-step .cev-payment-option__card {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.65rem 0.75rem;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-height: 4rem;
  margin: 0;
  padding: 0.65rem 0.9rem;
  border: 1px solid rgba(26, 26, 26, 0.12);
  border-radius: var(--border-radius-type-small);
  background: var(--contrast-white-color);
  cursor: pointer;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

body#checkout #checkout-payment-step .cev-payment-option:has(input[data-module-name="ps_cev_giftcard_wallet"]:checked) .cev-payment-option__card {
  height: 100%;
  align-items: center;
}

body#checkout #checkout-payment-step .cev-payment-option__card .cev-payment-option__radio {
  float: none !important;
  flex-shrink: 0;
  margin: 0;
}

body#checkout #checkout-payment-step .cev-payment-option__radio.custom-radio input[type="radio"] + span {
  border-color: rgba(26, 26, 26, 0.25);
}

body#checkout #checkout-payment-step .cev-payment-option__radio.custom-radio input[type="radio"]:checked + span {
  background-color: var(--primary-color) !important;
  border-color: var(--primary-color) !important;
}

body#checkout #checkout-payment-step .cev-payment-option__radio.custom-radio input[type="radio"]:focus-visible + span {
  border-color: var(--primary-color);
  box-shadow: 0 0 0 2px var(--primary-color-light);
}

body#checkout #checkout-payment-step .cev-payment-option__card:hover {
  border-color: rgba(26, 26, 26, 0.22);
}

body#checkout #checkout-payment-step .cev-payment-options__choices .cev-payment-option:has(input[name="payment-option"]:checked) .cev-payment-option__card {
  border: 1px solid var(--primary-color);
  box-shadow: 0 0 0 2px var(--primary-color-light);
  background: var(--contrast-white-color);
}

/* Checkout paiement — barre d'actions (retour panier + valider) */
body#checkout #payment-confirmation {
  margin-top: 1.25rem;
  margin-bottom: 0;
  padding-top: 1rem;
  padding-bottom: 0;
  border-top: 1px solid rgba(26, 26, 26, 0.12);
}

body#checkout #payment-confirmation .ps-shown-by-js {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.75rem;
  width: 100%;
}

body#checkout #payment-confirmation .cev-checkout-payment-actions {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
}

.cev-checkout-back-to-cart {
  display: inline-flex;
  align-items: center;
  gap: 0.15rem;
  color: var(--text-color-grey, #7a7a7a);
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.35;
  text-decoration: none;
}

.cev-checkout-back-to-cart:hover,
.cev-checkout-back-to-cart:focus {
  color: var(--dark-mode, #1a1a1a);
  text-decoration: none;
}

.cev-checkout-back-to-cart__icon {
  font-size: 1.25rem;
  line-height: 1;
}

#cart .cart-container .cev-cart-continue-shopping.card-block {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

body#checkout #payment-confirmation .cev-checkout-pay-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: auto;
  min-width: 12rem;
  margin: 0 0 0 auto;
  padding: 0.75rem 1.5rem;
  flex-shrink: 0;
}

body#checkout #payment-confirmation .cev-checkout-pay-btn__icon {
  font-size: 1.125rem;
  line-height: 1;
}

/* Radio → icône → texte (titre + méta) */
body#checkout #checkout-payment-step .cev-payment-option__cta {
  font-weight: 600;
  font-size: 0.9375rem;
  color: var(--dark-mode);
  line-height: 1.35;
  flex: 0 0 auto;
  min-width: 0;
  text-align: left;
}

body#checkout #checkout-payment-step .cev-payment-option__cta-suffix {
  font-weight: 500;
}

body#checkout #checkout-payment-step .cev-payment-option__copy {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.65rem 0.85rem;
  flex: 1 1 auto;
  min-width: 0;
}

body#checkout #checkout-payment-step .cev-payment-option__text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.15rem;
  flex: 1 1 auto;
  min-width: 0;
}

body#checkout #checkout-payment-step .cev-payment-option__meta {
  font-size: 0.8125rem;
  line-height: 1.35;
  color: var(--text-color-grey);
}

body#checkout #checkout-payment-step .cev-payment-option__meta--balance {
  color: var(--text-color-title);
}

body#checkout #checkout-payment-step .cev-payment-option__meta--balance strong {
  color: #22653c;
  font-weight: 700;
}

body#checkout #checkout-payment-step .cev-payment-option__secure-note {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  width: auto;
  margin: 0;
  padding: 0.35rem 0.65rem;
  border: 1px solid rgba(26, 26, 26, 0.12);
  border-radius: 999px;
  background: rgba(26, 26, 26, 0.03);
  color: var(--text-color, #1a1a1a);
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.01em;
  text-align: left;
  flex-shrink: 0;
  white-space: nowrap;
}

body#checkout #checkout-payment-step .cev-payment-option__secure-note--inline {
  margin-left: auto;
  padding-left: 0.65rem;
  flex-shrink: 0;
}

/* Wallet row : copy reste en colonne (titre + solde) */
body#checkout #checkout-payment-step .cev-payment-options__wallet-row .cev-payment-option__copy {
  flex-direction: column;
  align-items: flex-start;
  gap: 0.15rem;
}

body#checkout #checkout-payment-step .cev-payment-option__secure-note-icon {
  font-size: 0.9375rem;
  line-height: 1;
  color: var(--primary-color, #e30613);
}

body#checkout #checkout-payment-step .cev-payment-option__visual {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-left: 0;
  min-height: auto;
}

body#checkout #checkout-payment-step .cev-payment-option__logo {
  display: block;
  max-height: 2.5rem;
  max-width: 7.5rem;
  width: auto;
  height: auto;
  object-fit: contain;
}

body#checkout #checkout-payment-step .cev-payment-option:has(input[data-module-name="payline"]) .cev-payment-option__logo {
  max-width: 10rem;
  max-height: 2.75rem;
}

/* Icône Material entre le radio et le libellé */
body#checkout #checkout-payment-step .cev-payment-option__card:has(.cev-payment-option__icon-wrap) .cev-payment-option__visual {
  flex: 0 0 auto;
  max-width: none;
  justify-content: center;
  margin-left: 0;
}

body#checkout #checkout-payment-step .cev-payment-option__icon-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  background: #fff6f6;
  border: none;
  border-radius: 50%;
  color: var(--primary-color);
}

body#checkout #checkout-payment-step .cev-payment-option__material {
  font-size: 1.3rem;
  line-height: 1;
}

/******************* resume order page *******************************/
/* Par défaut, le sous-titre est visible sur les étapes non actives */
.checkout-step .step-subtitle {
  margin: 0.25rem 0 0.5rem;
  color: var(--gray-600, #6c757d);
  font-size: 0.875rem;
  line-height: 1.45;
}

/* Quand l’étape est "courante" (ouverte), on masque le sous-titre */
.checkout-step.-current .content-preview {
  display: none;
}

/* Résumé visible sur les étapes validées (tunnel replié) */
body#checkout section.checkout-step.-reachable.-complete:not(.-current) .content-preview {
  display: block;
}

/* Option : si tu veux aussi masquer quand l’étape est en édition via JS */
.checkout-step.js-current-step .content-preview {
  display: none;
}

.order-confirmation-table .qty .row,
.order-confirmation-table .order-line__metrics-inner.row {
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.order-confirmation-table .qty .row .col-xs-4,
.order-confirmation-table .order-line__metrics-inner.row > [class*="col-"] {
  width: auto !important;
}

/* === GRILLE FLEX ADRESSES CHECKOUT (livraison + facturation) === */
.content-preview {
  display: block;
  padding: 0 2.313rem;
  padding-top: 1rem;
  padding-bottom: 1.2rem;
}

#checkout-addresses-step #delivery-address .form-fields,
#checkout-addresses-step #invoice-address .form-fields {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}

/* Colonne 50% */
#checkout-addresses-step #delivery-address .fdol-address-grid-6,
#checkout-addresses-step #invoice-address .fdol-address-grid-6 {
  flex: 0 0 50%;
  max-width: 50%;
  padding: 0;
  box-sizing: border-box;
}

/* Colonne 100% */
#checkout-addresses-step #delivery-address .fdol-address-grid-12,
#checkout-addresses-step #invoice-address .fdol-address-grid-12 {
  flex: 0 0 100%;
  max-width: 100%;
  padding: 0;
  box-sizing: border-box;
}

/* Neutraliser Bootstrap (col-md-6 quand back=order) dans la grille checkout */
#checkout-addresses-step #delivery-address .form-group,
#checkout-addresses-step #invoice-address .form-group {
  width: 100%;
  max-width: 100%;
  float: none;
  display: flex;
  flex-direction: column;
  margin-left: 0;
  margin-right: 0;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

#checkout-addresses-step #delivery-address .form-group[class*="col-"],
#checkout-addresses-step #invoice-address .form-group[class*="col-"] {
  flex: none;
  width: 100%;
  max-width: 100%;
}

#checkout-addresses-step #delivery-address .form-control-comment,
#checkout-addresses-step #invoice-address .form-control-comment {
  width: 100% !important;
  max-width: 100% !important;
  margin-top: 4px;
  padding: 0;
}

/* Pied de formulaire checkout : pleine largeur, pas de colonne étroite */
#checkout-addresses-step #delivery-address .form-footer,
#checkout-addresses-step #invoice-address .form-footer {
  flex: 0 0 100%;
  width: 100%;
  clear: both;
  margin-top: 1rem;
}

/* « Adresse principale » = mon-compte uniquement */
#checkout-addresses-step .cev-address-form__default-row {
  display: none !important;
}

/* Champs obligatoires — tunnel commande */
#checkout-addresses-step .cev-address-form__required-hint {
  flex: 0 0 100%;
  width: 100%;
  margin: 0 0 1rem;
  font-size: 0.875rem;
  color: var(--text-color-grey, #7a7a7a);
}

#checkout-addresses-step .cev-address-form__required-mark {
  color: var(--primary-color, #f23648);
  font-weight: 700;
}

#checkout-addresses-step .form-control-label.required::after,
#checkout-addresses-step #delivery-address .form-control-label.required::after,
#checkout-addresses-step #invoice-address .form-control-label.required::after {
  content: ' *';
  color: var(--primary-color, #f23648);
  font-weight: 700;
}

#checkout-addresses-step button[name="confirm-addresses"]:not(:disabled) {
  pointer-events: auto;
  cursor: pointer;
  opacity: 1;
}

/* Continuer adresse : ne jamais laisser un bouton « mort » (disabled + pointer-events). */
#checkout-addresses-step.-current button[name="confirm-addresses"] {
  pointer-events: auto !important;
  cursor: pointer !important;
  opacity: 1 !important;
}

#checkout-addresses-step.-current .cev-checkout-email-delivery-item ~ .clearfix button[name="confirm-addresses"],
#checkout-addresses-step.-current form:has(.cev-checkout-email-delivery-item) button[name="confirm-addresses"] {
  pointer-events: auto !important;
  cursor: pointer !important;
  opacity: 1 !important;
}

/* === Responsive mobile : 1 colonne pour tous les champs === */
@media (max-width: 767.98px) {
  #checkout-addresses-step #delivery-address .fdol-address-grid-6,
  #checkout-addresses-step #delivery-address .fdol-address-grid-12,
  #checkout-addresses-step #invoice-address .fdol-address-grid-6,
  #checkout-addresses-step #invoice-address .fdol-address-grid-12 {
    flex: 0 0 100%;
    max-width: 100%;
    padding: 0;
  }

  /* Page Listing */
  #category #left-column #search_filters {
    border-top: 1px solid var(--primary-color) !important;
    padding-block: 0.5rem;
  }

  #category #left-column #search_filters section.facet {
    border-bottom: none !important;
  }

  #category #left-column #search_filters section.facet .facet-title {
    /* border-bottom: none !important; */
    margin-left: 1rem;
  }

  .up a {
    background-color: var(--primary-color);
    color: var(--contrast-white-color) !important;
    border: none !important;
  }

  #category h1.category-catalog-title,
#manufacturer h1.category-catalog-title {
    font-size: 1.8rem !important;
    font-weight: 600;
    margin-bottom: 1rem;
    text-align: center;
  }

  /* Media Insert */
  #media-insert-container {
    max-height: none;
    height: 100px !important;
  }
}

/******************* authentication / registration page ****************/

/* Règles mot de passe statiques (sous #field-password, voir form-fields.tpl) */
.password-requirements-expected {
  max-width: 40rem;
}

.password-requirements-expected-list li {
  margin-bottom: 0.25rem;
}

.password-requirements-expected-list li:last-child {
  margin-bottom: 0;
}

body#registration .custom-radio input[type="radio"]:checked + span {
  background-color: var(--primary-color) !important;
}

.page-authentication #content,
body#password #content {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.page-authentication .separate_option,
body#password .separate_option {
  background-color: var(--contrast-white-color);
  border-radius: var(--border-radius-type);
  border: 2px solid var(--primary-color);
}

.page-authentication .separate_option button.btn-primary,
.page-authentication .separate_option a.btn-dark,
body#password .separate_option button.btn-primary {
  border-radius: 50px;
}

.page-authentication .login-form .js-input-column,
.page-authentication #login-form .js-input-column {
  width: 100%;
}

.page-authentication .cev-auth-or-separator {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--text-color);
  letter-spacing: 0.04em;
  white-space: nowrap;
}

.page-authentication .cev-auth-or-separator strong {
  font-weight: 700;
}

/* Inscription — même encadré que service client (.separate_option) */
.page-registration #content,
body#registration #main #content.page-content.card.card-block,
body.page-registration #main #content.page-content {
  background-color: var(--contrast-white-color) !important;
  border-radius: var(--border-radius-type);
  padding: 1.25rem clamp(1.5rem, 4vw, 2.5rem) clamp(1.5rem, 4vw, 2.5rem) !important;
  border: 2px solid var(--primary-color) !important;
  box-shadow: none !important;
  box-sizing: border-box;
}

/* Aide mot de passe (création / compte) — lisibilité */
.password-requirements-panel {
  padding: 0.875rem 1rem;
  border: 1px solid var(--neutral-color-border);
  border-radius: var(--border-radius-type);
  background: var(--neutral-color-secondary);
  color: var(--text-color);
}

.password-requirements-title {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--text-color);
}

.password-requirements-intro {
  margin: 0;
  line-height: 1.45;
}

.password-requirements-expected-list .password-requirement-item {
  gap: 0.5rem;
  margin-bottom: 0.4rem;
  line-height: 1.45;
  font-size: 0.8125rem;
}

.password-requirements-expected-list .password-requirement-item:last-child {
  margin-bottom: 0;
}

.password-requirements-expected-list .password-requirement-marker {
  flex: 0 0 auto;
  font-weight: 700;
  color: var(--primary-color);
  line-height: 1.45;
}

/* Validation à la volée : coches par exigence */
.password-requirement-item--live .password-requirement-status {
  line-height: 1;
  padding-top: 0.1rem;
}

.password-requirement-item--live .password-requirement-status .material-icons {
  font-size: 1.125rem;
  vertical-align: middle;
}

.password-requirement-item--live.is-valid .password-req-icon--pending {
  display: none !important;
}

.password-requirement-item--live.is-valid .password-req-icon--ok {
  display: inline-block !important;
}

.password-requirement-item--live:not(.is-valid) .password-req-icon--ok {
  display: none !important;
}

/* Champ mot de passe : groupe + bouton afficher/masquer (icônes Material + libellé) */
/* Coins droits du champ à 0 : voir aussi _partials/cev-input-group-password-radius.tpl (après Bootstrap) */
.input-group.input-group-password-cev {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  width: 100%;
  max-width: 100%;
}

.input-group-password-cev .form-control-password-cev {
  flex: 1 1 auto;
  width: 1%;
  min-width: 0;
  border-right: 0;
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

.input-group-password-cev .input-group-btn {
  display: flex;
  flex: 0 0 auto;
  align-items: stretch;
}

.input-group-password-cev {
  --cev-pw-toggle-bg: #232323;
  --cev-pw-toggle-hover-bg: #3a3a3a;
  --cev-pw-toggle-fg: #fff;
  --cev-pw-toggle-border: #232323;
}

.input-group-password-cev .btn-password-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: calc(1.5em + 0.75rem + 2px);
  padding: 0.5rem 0.85rem;
  margin: 0;
  border: 1px solid var(--cev-pw-toggle-border);
  border-left: 0;
  /* Côté champ = gauche du bouton : pas d’arrondi ; droite du bouton : 8px (écrase Bootstrap / modules) */
  border-radius: 0 8px 8px 0 !important;
  border-top-left-radius: 0 !important;
  border-top-right-radius: 8px !important;
  border-bottom-right-radius: 8px !important;
  border-bottom-left-radius: 0 !important;
  --bs-btn-bg: var(--cev-pw-toggle-bg);
  --bs-btn-color: var(--cev-pw-toggle-fg);
  --bs-btn-border-color: var(--cev-pw-toggle-border);
  --bs-btn-hover-bg: var(--cev-pw-toggle-hover-bg);
  --bs-btn-hover-color: var(--cev-pw-toggle-fg);
  --bs-btn-border-radius: 0 8px 8px 0;
  background: var(--cev-pw-toggle-bg) !important;
  background-color: var(--cev-pw-toggle-bg) !important;
  color: var(--cev-pw-toggle-fg) !important;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.25;
  cursor: pointer;
  pointer-events: auto;
  position: relative;
  z-index: 2;
  box-shadow: none;
  transition: background-color 0.15s ease, border-color 0.15s ease;
}

.input-group-password-cev .btn-password-toggle:hover {
  background: var(--cev-pw-toggle-hover-bg) !important;
  background-color: var(--cev-pw-toggle-hover-bg) !important;
  color: var(--cev-pw-toggle-fg) !important;
  border-color: var(--cev-pw-toggle-hover-bg);
}

.input-group-password-cev .btn-password-toggle:focus-visible {
  outline: 2px solid var(--primary-color-light);
  outline-offset: 2px;
  z-index: 2;
  background: var(--cev-pw-toggle-hover-bg) !important;
  background-color: var(--cev-pw-toggle-hover-bg) !important;
  color: var(--cev-pw-toggle-fg) !important;
}

.input-group-password-cev .btn-password-toggle__inner {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}

.input-group-password-cev .btn-password-toggle__icons {
  display: inline-flex;
  align-items: center;
  line-height: 0;
}

.input-group-password-cev .btn-password-toggle .material-icons {
  font-size: 1.25rem;
  color: var(--cev-pw-toggle-fg);
}

.input-group-password-cev .btn-password-toggle i.btn-password-toggle__icon-hide,
.input-group-password-cev .btn-password-toggle[aria-pressed="false"] i.btn-password-toggle__icon-hide {
  display: none !important;
}

.input-group-password-cev .btn-password-toggle.is-password-visible i.btn-password-toggle__icon-show,
.input-group-password-cev .btn-password-toggle[aria-pressed="true"] i.btn-password-toggle__icon-show {
  display: none !important;
}

.input-group-password-cev .btn-password-toggle.is-password-visible i.btn-password-toggle__icon-hide,
.input-group-password-cev .btn-password-toggle[aria-pressed="true"] i.btn-password-toggle__icon-hide {
  display: inline-block !important;
}

.input-group-password-cev .btn-password-toggle__caption {
  white-space: nowrap;
  color: var(--cev-pw-toggle-fg);
}

@media (max-width: 575.98px) {
  .input-group-password-cev .btn-password-toggle__caption {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  .input-group-password-cev .btn-password-toggle {
    position: relative;
    padding: 0.5rem 0.65rem;
    min-width: 2.75rem;
    border-radius: 0 8px 8px 0 !important;
    border-top-left-radius: 0 !important;
    border-top-right-radius: 8px !important;
    border-bottom-right-radius: 8px !important;
    border-bottom-left-radius: 0 !important;
  }
}

@media (max-width: 767.98px) {
  /* Inscription : gouttière page + encadré conservé sur #content */
  #registration #main {
    padding-inline: var(--padding-inline-base, 1rem) !important;
  }

  #registration #main #content.page-content,
  #registration #main #content {
    padding: 1rem var(--padding-inline-base, 1rem) 1.25rem !important;
  }
}

@media (min-width: 1200px) {
  #registration #content,
  body#registration #main #content.page-content.card.card-block {
    max-width: 800px !important;
    margin-inline: auto;
  }

  #registration .form-step .form-group {
    width: 100% !important;
  }

  #registration .form-step .form-group button {
    margin-inline: auto;
  }
}

.forgot-password a {
  color: var(--text-color-grey);
}

/* Mot de passe oublié : padding du bloc contenu (#content.page-content) */
body#password #main #content.page-content {
  padding: 1.5rem var(--padding-inline-base) 2rem !important;
}

@media (max-width: 767.98px) {
  body#password #main #content.page-content {
    padding: 1.25rem var(--padding-inline-base) 1.75rem !important;
  }
}

.no-account a,
.register-form a {
  color: var(--primary-color-hover);
}

.no-account a:hover,
.register-form a:hover {
  text-decoration: underline;
}

/* « Vous avez déjà un compte ? » : paragraphe direct après le formulaire */
#registration .register-form > p {
  text-align: center;
  margin-top: 1.25rem;
  margin-bottom: 0;
}

#registration .register-form > p a {
  display: block;
  margin-top: 0.4rem;
}

/* Étapes du formulaire d’inscription (module / partial multi-étapes) */
#registration .form-step {
  padding: 1rem var(--padding-inline-base, 1rem);
  box-sizing: border-box;
}

/* Secours si FMM s'injecte encore : champs entreprise hors wizard ps_registration_extended */
body#registration #fmm_advance_custom_field,
body#registration #customer-form section:has(#fmm_advance_custom_field) {
  display: none !important;
}

/********************* authentification / verifyotp ************************/
#module-psotp-verifyotp #content {
  background: transparent !important;
  border: none !important;
}

#module-psotp-verifyotp .separate_option {
  background-color: var(--contrast-white-color);
  border-radius: var(--border-radius-type);
  border: 2px solid var(--primary-color);
}

/* —— Modal OTP 2FA (login) : look sobre et moderne —— */
#ps2faOtpModal.ps2fa-otp-modal .modal-dialog.ps2fa-otp-modal__dialog {
  max-width: 22rem;
  margin-left: auto;
  margin-right: auto;
}

#ps2faOtpModal.ps2fa-otp-modal .modal-content.ps2fa-otp-modal__surface {
  border: none;
  border-radius: var(--border-radius-type-small);
  box-shadow: 0 16px 48px rgba(26, 26, 26, 0.14);
  overflow: hidden;
}

#ps2faOtpModal.ps2fa-otp-modal .ps2fa-otp-modal__header {
  padding: 1.35rem 1.5rem 0.85rem;
  background: var(--contrast-white-color);
}

#ps2faOtpModal.ps2fa-otp-modal .ps2fa-otp-modal__title {
  font-size: 1.0625rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--dark-mode);
  line-height: 1.3;
}

#ps2faOtpModal.ps2fa-otp-modal .ps2fa-otp-modal__close {
  opacity: 0.4;
  padding: 0.5rem;
  margin: -0.35rem -0.25rem -0.35rem auto;
}

#ps2faOtpModal.ps2fa-otp-modal .ps2fa-otp-modal__close:hover {
  opacity: 0.75;
}

#ps2faOtpModal.ps2fa-otp-modal .ps2fa-otp-modal__body {
  padding: 0.25rem 1.5rem 1.25rem;
}

/* Bloc d’information (e-mail masqué) : sobre, hiérarchie lisible */
#ps2faOtpModal.ps2fa-otp-modal .ps2fa-otp-modal__hint {
  color: var(--text-color-grey);
  line-height: 1.45;
}

#ps2faOtpModal.ps2fa-otp-modal .ps2fa-otp-modal__hint-card {
  padding: 0;
  border: none;
  background: transparent;
  text-align: center;
}

#ps2faOtpModal.ps2fa-otp-modal .ps2fa-otp-modal__hint--email .ps2fa-otp-modal__hint-card {
  padding: 0.75rem 0.9rem 0.85rem;
  border-radius: var(--border-radius-type-small);
  text-align: center;
}

#ps2faOtpModal.ps2fa-otp-modal .ps2fa-otp-modal__hint-lead {
  display: block;
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  color: var(--text-color-grey);
  line-height: 1.4;
}

#ps2faOtpModal.ps2fa-otp-modal .ps2fa-otp-modal__hint:not(.ps2fa-otp-modal__hint--email) .ps2fa-otp-modal__hint-lead {
  font-size: 0.875rem;
}

#ps2faOtpModal.ps2fa-otp-modal .ps2fa-otp-modal__hint--email .ps2fa-otp-modal__hint-lead {
  margin-bottom: 0.35rem;
}

#ps2faOtpModal.ps2fa-otp-modal .ps2fa-otp-modal__hint-email {
  display: block;
  font-family: ui-monospace, "Cascadia Code", "Segoe UI Mono", Menlo, Consolas, monospace;
  font-size: 0.9375rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--dark-mode);
  word-break: break-all;
  line-height: 1.35;
}

#ps2faOtpModal.ps2fa-otp-modal .ps2fa-otp-modal__hint-email:not(.d-none) {
  margin-top: 0.2rem;
}

#ps2faOtpModal.ps2fa-otp-modal .ps2fa-otp-modal__field {
  margin-top: 1.25rem;
}

#ps2faOtpModal.ps2fa-otp-modal .ps2fa-otp-modal__label {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-color-grey);
  margin-bottom: 0.45rem;
}

#ps2faOtpModal.ps2fa-otp-modal .ps2fa-otp-modal__digits {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  gap: 0.45rem;
  margin-top: 0.65rem;
}

#ps2faOtpModal.ps2fa-otp-modal .ps2fa-otp-modal__digit {
  flex: 0 0 auto;
  width: 2.65rem;
  height: 2.65rem;
  padding: 0;
  text-align: center;
  font-size: 1.125rem;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  border-radius: var(--border-radius-type-small);
  border: 1px solid #e8e8e8;
  background-color: #f7f7f8;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

#ps2faOtpModal.ps2fa-otp-modal .ps2fa-otp-modal__digit:focus {
  border-color: var(--primary-color);
  background-color: var(--contrast-white-color);
  box-shadow: 0 0 0 3px rgba(242, 54, 72, 0.12);
  outline: none;
}

/* Erreur code : contour rouge uniquement (pas d’icône Bootstrap is-invalid dans le champ) */
#ps2faOtpModal.ps2fa-otp-modal .ps2fa-otp-modal__digit.ps2fa-otp-modal__digit--error {
  border-color: #dc3545 !important;
  background-color: #f7f7f8;
  background-image: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-shadow: 0 0 0 1px rgba(220, 53, 69, 0.35);
}

#ps2faOtpModal.ps2fa-otp-modal .ps2fa-otp-modal__digit.ps2fa-otp-modal__digit--error:focus {
  border-color: #dc3545 !important;
  background-color: #fff8f8;
  box-shadow: 0 0 0 2px rgba(220, 53, 69, 0.2);
}

#ps2faOtpModal.ps2fa-otp-modal .ps2fa-otp-modal__input {
  text-align: center;
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0.42em;
  padding-left: 1rem;
  padding-right: 1rem;
  font-variant-numeric: tabular-nums;
  border-radius: var(--border-radius-type-small);
  border: 1px solid #e8e8e8;
  background-color: #f7f7f8;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    background-color 0.2s ease;
}

#ps2faOtpModal.ps2fa-otp-modal .ps2fa-otp-modal__input::placeholder {
  letter-spacing: 0.12em;
  font-weight: 400;
  color: #b0b0b0;
}

#ps2faOtpModal.ps2fa-otp-modal .ps2fa-otp-modal__input:focus {
  border-color: var(--primary-color);
  background-color: var(--contrast-white-color);
  box-shadow: 0 0 0 3px rgba(242, 54, 72, 0.12);
  outline: none;
}

#ps2faOtpModal.ps2fa-otp-modal .ps2fa-otp-modal__debug {
  font-size: 0.8125rem;
  margin-top: 0.65rem;
  min-height: 0;
}

#ps2faOtpModal.ps2fa-otp-modal .ps2fa-otp-modal__alert {
  margin-top: 0.85rem;
  margin-bottom: 0;
  border: none;
  border-radius: var(--border-radius-type-small);
  font-size: 0.875rem;
}

#ps2faOtpModal.ps2fa-otp-modal .ps2fa-otp-modal__footer {
  padding: 0 1.5rem 1.35rem;
  gap: 0;
}

#ps2faOtpModal.ps2fa-otp-modal .ps2fa-otp-modal__submit {
  border-radius: var(--border-radius-type-small);
  padding-top: 0.65rem;
  padding-bottom: 0.65rem;
  font-weight: 500;
}

#ps2faOtpModal.ps2fa-otp-modal .ps2fa-otp-modal__resend {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(0, 0, 0, 0.06);
}

#ps2faOtpModal.ps2fa-otp-modal .ps2fa-otp-modal__resend-btn {
  font-size: 0.875rem;
  color: var(--text-color-grey);
  text-decoration: none;
}

#ps2faOtpModal.ps2fa-otp-modal .ps2fa-otp-modal__resend-btn:hover {
  color: var(--primary-color);
  text-decoration: underline;
}

#ps2faOtpModal.ps2fa-otp-modal .ps2fa-otp-modal__resend-info {
  font-size: 0.8125rem;
  display: none;
}

/* ===== CONTACT PAGE ===== */

#contact #content-wrapper {
  max-width: 52rem;
  margin-left: auto;
  margin-right: auto;
  float: none;
}

#contact .cev-contact-form__layout {
  width: 100%;
}

#contact .cev-contact-form__title {
  margin: 0 0 1.5rem;
  font-size: 1.25rem;
  font-weight: 700;
  text-transform: uppercase;
}

#contact .cev-contact-form__row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.35rem;
  margin-bottom: 1rem;
}

#contact .cev-contact-form__label {
  margin-bottom: 0;
  font-weight: 600;
  color: var(--text-color, #232323);
}

#contact .cev-contact-form__required-mark {
  color: inherit;
  font-weight: 700;
}

#contact .cev-contact-form__label.required::after {
  content: none;
}

#contact .cev-contact-form__control {
  min-width: 0;
}

#contact .cev-contact-form__footer {
  margin-top: 0.5rem;
  text-align: right;
}

@media (min-width: 768px) {
  #contact .cev-contact-form__row {
    grid-template-columns: 12rem 1fr;
    column-gap: 1rem;
    row-gap: 0.35rem;
    align-items: start;
  }

  #contact .cev-contact-form__label {
    text-align: right;
    padding-top: 0.55rem;
  }

  #contact .cev-contact-form__row--full {
    grid-template-columns: 1fr;
  }

  #contact .cev-contact-form__footer {
    padding-left: calc(12rem + 1rem);
  }
}

#contact .cev-contact-form {
  width: 100%;
}

#contact .block {
  border-radius: 16px;
}

#contact .block a {
  color: var(--text-color-grey) !important;
}

#contact .group-span-filestyle .btn-default {
  background: var(--text-color-grey) !important;
}

#contact .cev-contact-sidebar__card {
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
  padding: 2rem 1.5rem;
  text-align: center;
}

#contact .cev-contact-sidebar__logo {
  margin-bottom: 1.5rem;
}

#contact .cev-contact-sidebar__logo img {
  display: block;
  max-width: 180px;
  height: auto;
  margin: 0 auto;
}

#contact .cev-contact-sidebar__label {
  margin: 0 0 0.5rem;
  font-size: 0.9375rem;
  color: var(--text-color, #333);
  line-height: 1.4;
}

#contact .cev-contact-sidebar__email {
  display: inline-block;
  font-size: 0.9375rem;
  color: var(--text-color-grey, #6c757d);
  text-decoration: none;
  word-break: break-word;
}

#contact .cev-contact-sidebar__email:hover {
  color: var(--primary-color, #c41e3a);
  text-decoration: underline;
}

#contact .cev-contact-order-field {
  display: none;
}

#contact .cev-contact-order-field.is-visible {
  display: grid;
}

#contact .cev-contact-form__login-invite {
  margin: 0 0 0.75rem;
  font-size: 0.875rem;
  line-height: 1.4;
  color: var(--text-muted-color, #6c6c6c);
}

#contact .cev-contact-form__login-invite a {
  font-weight: 600;
  text-decoration: underline;
}

#contact .cev-contact-order-manual {
  margin-top: 0.75rem;
}

#contact .cev-contact-order-manual.is-hidden {
  display: none;
}

/* Tooltip help: parents must not clip (label col is only ~12rem). */
#contact .block,
#contact .cev-contact-form,
#contact .cev-contact-form__layout,
#contact .cev-contact-form__row,
#contact .cev-contact-form__label,
#contact .cev-contact-order-field {
  overflow: visible;
}

#contact .cev-contact-form__label-with-help {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: nowrap;
  gap: 0.2rem;
  white-space: nowrap;
  width: 100%;
  overflow: visible;
}

#contact .cev-contact-form__field-help {
  position: relative;
  display: inline-flex;
  vertical-align: middle;
  overflow: visible;
  z-index: 2;
}

#contact .cev-contact-form__field-help-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  padding: 0;
  border: none;
  background: transparent;
  color: var(--text-color-grey, #6c757d);
  cursor: help;
  line-height: 1;
}

#contact .cev-contact-form__field-help-trigger .material-icons {
  font-size: 1rem;
}

#contact .cev-contact-form__field-help-trigger:hover,
#contact .cev-contact-form__field-help-trigger:focus-visible {
  color: var(--primary-color, #c41e3a);
  outline: none;
}

#contact .cev-contact-form__field-help-tooltip {
  position: absolute;
  /* Anchor to the icon's right edge so the bubble grows over the input column. */
  left: auto;
  right: 0;
  bottom: calc(100% + 0.5rem);
  transform: none;
  width: max-content;
  max-width: min(22rem, calc(100vw - 2rem));
  padding: 0.5rem 0.75rem;
  border-radius: var(--border-radius-type-small, 8px);
  background: #1a1a1a;
  color: #fff;
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: 1.4;
  white-space: normal;
  text-align: left;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition:
    opacity 0.15s ease,
    visibility 0.15s ease;
  z-index: 40;
}

#contact .cev-contact-form__field-help:hover .cev-contact-form__field-help-tooltip,
#contact .cev-contact-form__field-help:focus-within .cev-contact-form__field-help-tooltip {
  opacity: 1;
  visibility: visible;
}

#contact .cev-contact-form__required-hint {
  margin: 0 0 1rem;
  font-size: 0.875rem;
  color: var(--text-color-grey, #6c757d);
}

#contact .cev-contact-form__select-wrap {
  position: relative;
  width: 100%;
}

#contact .cev-contact-form__select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 100%;
  min-height: 2.75rem;
  padding: 0.5rem 2.25rem 0.5rem 0.75rem;
  line-height: 1.5;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%236c757d' d='M1.41 0 6 4.58 10.59 0 12 1.41l-6 6-6-6z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 12px 8px;
}

#contact .cev-contact-form__field-feedback {
  display: block;
  margin-top: 0.35rem;
  font-size: 0.8125rem;
}

#contact .cev-contact-form__field-feedback--success {
  color: #198754;
}

#contact .cev-contact-form__field-feedback--error {
  color: var(--primary-color, #c41e3a);
}

#contact .cev-contact-form__gdpr {
  align-items: flex-start;
}

#contact .cev-contact-form__gdpr-checkbox {
  display: block;
  width: 100%;
  position: relative;
}

#contact .cev-contact-form__gdpr-checkbox label {
  display: block;
  padding-left: 1.75rem;
  font-size: 0.875rem;
  line-height: 1.45;
  text-align: left;
  word-break: normal;
  overflow-wrap: anywhere;
  color: var(--text-color, #232323);
}

#contact .cev-contact-form__gdpr-checkbox input[type='checkbox'] + span {
  position: absolute;
  top: 0.15rem;
  left: 0;
}

#contact .cev-contact-form__response-hint {
  margin: 0.5rem 0 0;
  padding-left: 1.75rem;
  font-size: 0.875rem;
  line-height: 1.45;
  color: var(--text-color-grey, #6c757d);
}

#contact .cev-contact-form__gdpr .cev-contact-form__field-feedback {
  margin-top: 0.5rem;
  padding-left: 1.75rem;
}

#contact .cev-contact-form__gdpr-checkbox input.is-invalid + span {
  border-color: var(--primary-color, #c41e3a);
}

#contact .cev-contact-form__submit[aria-busy='true'] {
  opacity: 0.75;
  pointer-events: none;
  cursor: wait;
}

#contact .cev-contact-form__confirmation {
  margin: 0;
  padding: 0.5rem 0 1rem;
}

#contact .cev-contact-form__confirmation-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
  max-width: 36rem;
  margin: 0 auto;
  padding: 2.5rem 1.75rem 2.75rem;
  text-align: center;
  background: linear-gradient(180deg, #fff 0%, #faf8fb 100%);
  border: 1px solid rgba(91, 33, 182, 0.12);
  border-radius: 16px;
}

#contact .cev-contact-form__confirmation-icon {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background: var(--primary-color-light, #f9c2c7);
  color: var(--primary-color, #f23648);
}

#contact .cev-contact-form__confirmation-icon-svg {
  display: block;
  width: 1.5rem;
  height: 1.5rem;
}

#contact .cev-contact-form__confirmation-body {
  min-width: 0;
  flex: 1 1 auto;
  width: 100%;
  max-width: 28rem;
}

#contact .cev-contact-form__confirmation-title {
  margin: 0 0 0.65rem;
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.35;
  color: var(--text-color, #363a41);
}

#contact .cev-contact-form__confirmation-lead {
  margin: 0;
  font-size: 1.0625rem;
  line-height: 1.5;
  color: var(--text-muted-color, #6c6c6c);
}

#contact .cev-contact-form__confirmation-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: center;
  margin-top: 1.25rem;
}

#contact .cev-contact-form__confirmation-cta {
  min-width: 12rem;
  border-radius: 100px;
  font-weight: 600;
}

/* ===== MODAL WISHLIST ===== */
.wishlist-add-to-new .material-icons {
  color: var(--primary-color) !important;
}

a.wishlist-add-to-new {
  color: var(--primary-color) !important;
}

a.wishlist-add-to-new:hover {
  color: var(--primary-color-hover) !important;
}

/************** Panier vide (#71) *****************/

#header .header-top #_desktop_cart .header .cev-cart-header-trigger,
#header .header-top #_desktop_cart .header a {
  align-items: center;
}

#header #_desktop_cart .header .cev-cart-header-trigger,
#header #_mobile_cart .header .cev-cart-header-trigger {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.blockcart.inactive .cart-products-count {
  display: none !important;
}

#cart .cev-cart-page--empty .cart-grid-body {
  flex: 0 0 100%;
  max-width: 100%;
}

#cart .cev-cart-page--empty .cart-container {
  border: 0;
  box-shadow: none;
  background: transparent;
}

#cart .cev-cart-page--empty .cart-container > .card-block {
  padding-bottom: 0.5rem;
}

/************** blockcart-modal (compléments) *****************/

#blockcart-modal.cev-blockcart-modal .btn.btn-primary {
  line-height: 1.5 !important;
}

/* Premier bouton (Continuer les achats) : sans bordure — après .btn-secondary pour gagner en cascade */
#blockcart-modal .cart-content-btn > .btn.btn-secondary:first-child {
  border: none !important;
  box-shadow: none !important;
  background-color: transparent !important;
  color: var(--text-color) !important;
  text-decoration: underline !important;
  text-underline-offset: 0.15em;
  margin-bottom: 0.65rem;
}

#blockcart-modal .cart-content-btn > .btn.btn-secondary:first-child:hover,
#blockcart-modal .cart-content-btn > .btn.btn-secondary:first-child:focus {
  border: none !important;
  background-color: var(--primary-color-light) !important;
  color: var(--text-color) !important;
  text-decoration: underline !important;
}

#blockcart-modal .cart-content-btn .btn-primary {
  border: 1px solid var(--primary-color);
  background-color: var(--primary-color);
  color: var(--contrast-white-color) !important;
}

#blockcart-modal .cart-content-btn .btn-primary:hover,
#blockcart-modal .cart-content-btn .btn-primary:focus {
  background-color: var(--primary-color-hover, var(--primary-color));
  border-color: var(--primary-color-hover, var(--primary-color));
  color: var(--contrast-white-color) !important;
  padding-block: 1rem;
}

#blockcart-modal .cart-content-btn a.btn:has(i.material-icons) {
  padding-block: 0.7rem !important;
}

#blockcart-modal .cart-content-btn .btn .material-icons {
  font-size: 1rem;
  line-height: 1;
  margin: 0;
}

#blockcart-modal .modal-body .divide-right {
  border: var(--primary-color) 1px solid;
  border-radius: var(--border-radius-type);
  padding: 0.75rem !important;
}

/* ===== PAGE NOT FOUND ===== */

section.page-not-found {
  border-radius: var(--border-radius-type);
  padding: 40px;
  border: 2px solid var(--primary-color-light);
  margin: 64px auto !important;
}

/* ===== ORDER CONFIRMATION PAGE ===== */

#order-confirmation #ps_cashondelivery-displayOrderConfirmation {
  display: none;
}

/* Confirmation commande : padding contrôlé (évite le cadre générique 60px) */
body#order-confirmation #main > #content.page-content.card,
body#order-confirmation #main > #content.page-order-confirmation.card,
body#order-confirmation #content-hook_order_confirmation.card {
  background-color: var(--contrast-white-color, #fff) !important;
  border: none !important;
  box-shadow: none !important;
  padding: 1.35rem 1.5rem !important;
  margin-bottom: 0.75rem !important;
  border-radius: var(--border-radius-type);
  box-sizing: border-box;
}

#order-confirmation .page-order-confirmation {
  border-radius: var(--border-radius-type);
  padding: 1.35rem 1.5rem !important;
  border: none !important;
  box-shadow: none !important;
  margin-bottom: 0.75rem !important;
  background: var(--contrast-white-color, #fff) !important;
}

#order-confirmation #content-hook_order_confirmation {
  border-radius: var(--border-radius-type);
  padding: 1.35rem 1.5rem !important;
  border: none !important;
  box-shadow: none !important;
  margin-bottom: 0.75rem !important;
  background: var(--contrast-white-color, #fff) !important;
}

#order-confirmation #content-hook_order_confirmation > .card-block,
#order-confirmation #content.page-order-confirmation > .card-block,
#order-confirmation .cev-order-confirmation-payment-return > .card-block {
  padding: 0 !important;
}

#order-confirmation #wrapper > .container {
  max-width: 960px;
}

#order-confirmation #wrapper .container > .card,
#order-confirmation #content.page-order-confirmation,
#order-confirmation .cev-order-confirmation-payment-return,
#order-confirmation .cev-order-confirmation-footer-actions {
  margin-bottom: 1rem;
}

#order-confirmation .cev-order-confirmation-summary__emoji {
  margin-left: 0.35rem;
  text-transform: none;
  display: inline;
}

#order-confirmation .cev-order-confirmation-summary__grid {
  display: grid;
  gap: 1.25rem;
  align-items: start;
}

@media (min-width: 768px) {
  #order-confirmation .cev-order-confirmation-summary__grid {
    grid-template-columns: minmax(0, 1.85fr) minmax(12rem, 0.85fr);
    column-gap: 1.75rem;
  }
}

#order-confirmation .cev-order-confirmation-summary__status {
  display: flex;
  gap: 0.9rem;
  align-items: flex-start;
}

#order-confirmation .cev-order-confirmation-summary__check {
  flex: 0 0 auto;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #e8f5ee;
  color: #1b7a4a;
  margin-top: 0.1rem;
}

#order-confirmation .cev-order-confirmation-summary__status--awaiting-wire .cev-order-confirmation-summary__check {
  background: #fff7ed;
  color: #b45309;
}

#order-confirmation .cev-order-confirmation-summary__status--failed .cev-order-confirmation-summary__check,
body#order-detail .cev-order-confirmation-summary__status--failed .cev-order-confirmation-summary__check {
  background: #fef2f2;
  color: #b91c1c;
}

#order-confirmation .cev-order-confirmation-summary__wire-link-wrap,
body#order-detail .cev-order-confirmation-summary__wire-link-wrap {
  margin: 0.65rem 0 0;
}

#order-confirmation .cev-order-confirmation-summary__wire-link,
body#order-detail .cev-order-confirmation-summary__wire-link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-weight: 600;
  font-size: 0.9375rem;
  color: var(--primary-color);
  text-decoration: none;
}

/* Espace financeur : accents virement en violet (comme Mes campagnes). */
body#order-detail .cev-order-confirmation-summary__wire-link {
  color: var(--cev-dash-nav-active-bg, var(--secondary-color, #59064d));
}

#order-confirmation .cev-order-confirmation-summary__wire-link:hover,
body#order-detail .cev-order-confirmation-summary__wire-link:hover,
#order-confirmation .cev-order-confirmation-summary__wire-link:focus,
body#order-detail .cev-order-confirmation-summary__wire-link:focus {
  color: var(--primary-color-hover);
  text-decoration: underline;
}

body#order-detail .cev-order-confirmation-summary__wire-link:hover,
body#order-detail .cev-order-confirmation-summary__wire-link:focus {
  color: var(--color-loulou-800, var(--secondary-color-hover, #45053e));
}

#order-confirmation .cev-order-confirmation-summary__wire-link .material-icons,
body#order-detail .cev-order-confirmation-summary__wire-link .material-icons {
  font-size: 1.15rem;
  line-height: 1;
}

#order-confirmation .cev-order-confirmation-payment-return--wire,
body#order-detail .cev-order-confirmation-payment-return--wire,
#order-confirmation #cevOrderWireInstructions,
body#order-detail #cevOrderWireInstructions {
  scroll-margin-top: 1.25rem;
}

#order-confirmation .cev-order-wire-instructions,
body#order-detail .cev-order-wire-instructions {
  background: #fff;
  border: none;
  border-radius: 0.75rem;
  box-shadow: 0 1px 3px rgba(26, 26, 26, 0.05);
  overflow: hidden;
  margin: 0 0 1rem;
}

#order-confirmation .cev-order-wire-instructions__header,
body#order-detail .cev-order-wire-instructions__header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.9rem 1.25rem;
  border-bottom: 1px solid rgba(26, 26, 26, 0.07);
  background: rgba(248, 248, 250, 0.65);
}

#order-confirmation .cev-order-wire-instructions__icon,
body#order-detail .cev-order-wire-instructions__icon {
  font-size: 1.15rem;
  color: var(--cev-dash-nav-active-bg, var(--color-loulou-950, #59064d));
}

#order-confirmation .cev-order-wire-instructions__title,
body#order-detail .cev-order-wire-instructions__title {
  margin: 0;
  font-weight: 700;
  color: #1a1a2e;
}

#order-confirmation .cev-order-wire-instructions__body,
body#order-detail .cev-order-wire-instructions__body {
  padding: 1.1rem 1.25rem;
}

#order-confirmation .cev-order-wire-instructions__lead,
body#order-detail .cev-order-wire-instructions__lead {
  margin: 0 0 1rem;
  font-size: 0.875rem;
  line-height: 1.45;
  color: #6d6d6d;
}

#order-confirmation .cev-order-wire-instructions__meta,
body#order-detail .cev-order-wire-instructions__meta {
  margin: 0;
  display: grid;
  gap: 0.75rem;
}

#order-confirmation .cev-order-wire-instructions__row,
body#order-detail .cev-order-wire-instructions__row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  padding-top: 0.75rem;
  border-top: 1px solid rgba(26, 26, 26, 0.08);
}

#order-confirmation .cev-order-wire-instructions__row:first-child,
body#order-detail .cev-order-wire-instructions__row:first-child {
  padding-top: 0;
  border-top: 0;
}

#order-confirmation .cev-order-wire-instructions__row--proforma,
body#order-detail .cev-order-wire-instructions__row--proforma {
  align-items: center;
}

#order-confirmation .cev-order-wire-instructions__proforma-btn,
body#order-detail .cev-order-wire-instructions__proforma-btn {
  background: var(--cev-dash-nav-active-bg, var(--secondary-color, #59064d));
  border-color: var(--cev-dash-nav-active-bg, var(--secondary-color, #59064d));
  color: #fff;
  font-weight: 600;
  text-decoration: none;
}

#order-confirmation .cev-order-wire-instructions__proforma-btn:hover,
body#order-detail .cev-order-wire-instructions__proforma-btn:hover,
#order-confirmation .cev-order-wire-instructions__proforma-btn:focus,
body#order-detail .cev-order-wire-instructions__proforma-btn:focus {
  background: var(--color-loulou-800, var(--secondary-color-hover, #45053e));
  border-color: var(--color-loulou-800, var(--secondary-color-hover, #45053e));
  color: #fff;
}

#order-confirmation .cev-order-wire-instructions__proforma-btn .material-icons,
body#order-detail .cev-order-wire-instructions__proforma-btn .material-icons {
  font-size: 1rem;
  line-height: 1;
}

#order-confirmation .cev-order-wire-instructions__row dt,
body#order-detail .cev-order-wire-instructions__row dt {
  margin: 0;
  color: #6d6d6d;
  font-size: 0.875rem;
  font-weight: 500;
}

#order-confirmation .cev-order-wire-instructions__row dd,
body#order-detail .cev-order-wire-instructions__row dd {
  margin: 0;
  text-align: right;
  color: #1a1a2e;
  font-size: 0.9375rem;
  font-weight: 600;
}

#order-confirmation .cev-order-wire-instructions__value,
body#order-detail .cev-order-wire-instructions__value {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.15rem;
}

#order-confirmation .cev-order-wire-instructions__value code,
body#order-detail .cev-order-wire-instructions__value code {
  font-size: 0.9375rem;
  font-weight: 700;
  color: #1a1a2e;
  background: transparent;
}

#order-confirmation .cev-order-wire-copy,
body#order-detail .cev-order-wire-copy {
  font-size: 0.8125rem;
  font-weight: 600;
  text-decoration: none;
  color: var(--cev-dash-nav-active-bg, var(--secondary-color, #59064d));
}

body#order-detail .cev-order-wire-copy,
body#order-detail .cev-order-wire-copy:hover,
body#order-detail .cev-order-wire-copy:focus {
  color: var(--cev-dash-nav-active-bg, var(--secondary-color, #59064d)) !important;
}

#order-confirmation .cev-order-wire-instructions__hint,
body#order-detail .cev-order-wire-instructions__hint {
  margin: 1rem 0 0;
  font-size: 0.875rem;
  color: #4b5563;
}

#order-confirmation .cev-order-wire-instructions__note,
body#order-detail .cev-order-wire-instructions__note {
  margin: 0.85rem 0 0;
  font-size: 0.9375rem;
  color: #1a1a2e;
}

#order-confirmation .cev-wire-info-callout,
body#order-detail .cev-wire-info-callout,
.cev-wire-info-callout {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin-top: 1.15rem;
  padding: 0.9rem 1.05rem;
  border-radius: 0.65rem;
  border: none;
  background: var(--primary-color-light, #f9c2c7);
  color: #434343;
}

body#order-detail .cev-wire-info-callout {
  background: color-mix(
    in srgb,
    var(--cev-dash-nav-active-bg, var(--secondary-color, #59064d)) 12%,
    #fff
  );
}

#order-confirmation .cev-wire-info-callout__icon,
body#order-detail .cev-wire-info-callout__icon,
.cev-wire-info-callout__icon {
  flex: 0 0 auto;
  width: 1.35rem;
  height: 1.35rem;
  margin-top: 0.1rem;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 0.8125rem;
  font-style: italic;
  font-weight: 700;
  line-height: 1;
  background: var(--primary-color, #f23648);
  color: #fff;
}

body#order-detail .cev-wire-info-callout__icon {
  background: var(--cev-dash-nav-active-bg, var(--secondary-color, #59064d));
}

#order-confirmation .cev-wire-info-callout__body,
body#order-detail .cev-wire-info-callout__body,
.cev-wire-info-callout__body {
  min-width: 0;
  flex: 1 1 auto;
}

#order-confirmation .cev-wire-info-callout__text,
body#order-detail .cev-wire-info-callout__text,
#order-confirmation .cev-wire-info-callout__note,
body#order-detail .cev-wire-info-callout__note,
.cev-wire-info-callout__text,
.cev-wire-info-callout__note {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.45;
  color: #434343;
}

#order-confirmation .cev-wire-info-callout__note,
body#order-detail .cev-wire-info-callout__note,
.cev-wire-info-callout__note {
  margin-top: 0.35rem;
  font-weight: 700;
  color: #2d2d2d;
}

#order-confirmation .cev-wire-info-callout__text + .cev-wire-info-callout__note,
body#order-detail .cev-wire-info-callout__text + .cev-wire-info-callout__note,
.cev-wire-info-callout__text + .cev-wire-info-callout__note {
  margin-top: 0.45rem;
}

#order-confirmation .cev-wire-info-callout__ref,
body#order-detail .cev-wire-info-callout__ref,
.cev-wire-info-callout__ref {
  display: inline;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: #111;
  font-weight: 800;
  letter-spacing: 0.02em;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.9375rem;
}

#order-confirmation .cev-wire-info-callout__ref-wrap,
body#order-detail .cev-wire-info-callout__ref-wrap,
.cev-wire-info-callout__ref-wrap {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  max-width: 100%;
  margin: 0 0.1rem;
  padding: 0.15rem 0.35rem 0.15rem 0.45rem;
  border-radius: 0.4rem;
  background: #fff;
  vertical-align: baseline;
}

#order-confirmation .cev-wire-info-callout__copy,
body#order-detail .cev-wire-info-callout__copy,
.cev-wire-info-callout__copy {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  padding: 0;
  border: 0;
  border-radius: 0.3rem;
  background: transparent;
  color: var(--primary-color, #f23648);
  cursor: pointer;
  line-height: 1;
}

body#order-detail .cev-wire-info-callout__copy {
  color: var(--cev-dash-nav-active-bg, var(--secondary-color, #59064d));
}

#order-confirmation .cev-wire-info-callout__copy:hover,
body#order-detail .cev-wire-info-callout__copy:hover,
#order-confirmation .cev-wire-info-callout__copy:focus,
body#order-detail .cev-wire-info-callout__copy:focus,
.cev-wire-info-callout__copy:hover,
.cev-wire-info-callout__copy:focus {
  background: color-mix(in srgb, var(--primary-color, #f23648) 12%, #fff);
  outline: none;
}

body#order-detail .cev-wire-info-callout__copy:hover,
body#order-detail .cev-wire-info-callout__copy:focus {
  background: color-mix(
    in srgb,
    var(--cev-dash-nav-active-bg, var(--secondary-color, #59064d)) 12%,
    #fff
  );
}

#order-confirmation .cev-wire-info-callout__copy .material-icons,
body#order-detail .cev-wire-info-callout__copy .material-icons,
.cev-wire-info-callout__copy .material-icons {
  font-size: 1rem;
  line-height: 1;
}

#order-confirmation .cev-wire-info-callout__copy.is-copied,
body#order-detail .cev-wire-info-callout__copy.is-copied,
.cev-wire-info-callout__copy.is-copied {
  color: #166534;
}

#order-confirmation .cev-order-confirmation-summary__check .material-icons {
  font-size: 1.65rem;
  line-height: 1;
}

#order-confirmation .cev-order-confirmation-summary__status-body {
  min-width: 0;
  flex: 1 1 auto;
}

#order-confirmation .cev-order-confirmation-summary__title {
  margin: 0 0 0.45rem;
  text-transform: none !important;
  font-size: 1.35rem !important;
  line-height: 1.3 !important;
  font-weight: 700;
}

#order-confirmation .cev-order-confirmation-summary__email-notice {
  font-size: 0.875rem;
  line-height: 1.45;
  color: var(--text-color);
  margin: 0 0 0.85rem;
  max-width: 36rem;
}

#order-confirmation .cev-order-confirmation-summary__email-notice strong {
  font-weight: 700;
  color: var(--text-color);
  font-size: 0.875rem;
}

#order-confirmation .cev-order-confirmation-summary__invoice-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  float: none !important;
  box-sizing: border-box !important;
  width: auto !important;
  max-width: 100%;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0.55rem 1.1rem 0.7rem !important;
  border: 1px solid var(--text-color, #222) !important;
  background: #fff !important;
  color: var(--text-color, #222) !important;
  border-radius: var(--border-radius-type-small, 4px);
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: none !important;
  white-space: nowrap;
  cursor: pointer;
}

#order-confirmation .cev-order-confirmation-summary__invoice-btn:hover,
#order-confirmation .cev-order-confirmation-summary__invoice-btn:focus {
  background: #f7f7f7 !important;
  color: var(--text-color, #222) !important;
}

#order-confirmation .cev-order-confirmation-summary__meta {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  padding: 0.85rem 0 0;
  border-top: 1px solid var(--neutral-color-border, #e5e5e5);
}

@media (min-width: 768px) {
  #order-confirmation .cev-order-confirmation-summary__meta {
    border-top: none;
    border-left: 1px solid var(--neutral-color-border, #e5e5e5);
    padding: 0.1rem 0 0.1rem 1.35rem;
  }
}

#order-confirmation .cev-order-confirmation-summary__meta-label {
  display: block;
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--gray-600, #6c757d);
  margin-bottom: 0.15rem;
}

#order-confirmation .cev-order-confirmation-summary__meta-value {
  display: block;
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--text-color);
  line-height: 1.25;
}

#order-confirmation .cev-order-confirmation-summary__actions {
  display: grid;
  gap: 0.75rem;
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}

@media (min-width: 576px) {
  #order-confirmation .cev-order-confirmation-summary__actions {
    grid-template-columns: 1fr 1fr;
  }
}

#order-confirmation .cev-order-confirmation-summary__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3rem;
  padding: 0.75rem 1rem !important;
  font-size: 0.9375rem !important;
  font-weight: 600;
  border-radius: var(--border-radius-type-small, 4px);
  text-align: center;
  width: 100%;
}

#order-confirmation .cev-order-confirmation-summary__btn--secondary {
  background: #fff !important;
  color: var(--text-color, #222) !important;
  border: 1px solid var(--text-color, #222) !important;
}

#order-confirmation .cev-order-confirmation-summary__btn--secondary:hover,
#order-confirmation .cev-order-confirmation-summary__btn--secondary:focus {
  background: #f7f7f7 !important;
}

/* Totals: inset gray panel (Sous-total / Livraison / TOTAL TTC) */
#order-confirmation .cev-order-totals-box {
  margin: 0.85rem 0 0;
  padding: 0.95rem 1.15rem;
  background: #f6f6f6;
  border: none;
  border-radius: 0.65rem;
  max-width: none;
  width: 100%;
  box-sizing: border-box;
}

#order-confirmation .cev-order-totals-box__table {
  width: 100%;
  margin: 0;
}

#order-confirmation .cev-order-totals-box__table td {
  padding: 0.3rem 0 !important;
  border: none !important;
  font-size: 0.875rem;
  line-height: 1.35;
  text-align: left;
  font-weight: 400;
  color: var(--text-color, #222);
  background: transparent !important;
}

#order-confirmation .cev-order-totals-box__table td:last-child {
  text-align: right;
  font-weight: 400;
  padding-left: 1.5rem !important;
}

#order-confirmation .cev-order-totals-box__table tr.total-value,
#order-confirmation .cev-order-totals-box__table tr.total-value td {
  padding-top: 0.55rem !important;
  font-weight: 700 !important;
  font-size: 0.9375rem;
  background: transparent !important;
}

#order-confirmation .cev-order-totals-box__table tr.total-value td .text-uppercase {
  letter-spacing: 0.02em;
}

#order-confirmation .order-confirmation-table {
  min-height: 0 !important;
}

#order-confirmation .order-confirmation-table > hr {
  display: none !important;
}

#order-confirmation .cev-wallet-split-payment-recap {
  margin-top: 0.85rem;
  padding-top: 0.85rem;
  border-top: 1px solid var(--cev-border-color, #e5e5e5);
}

#order-confirmation .cev-wallet-split-payment-recap__title {
  margin: 0 0 0.85rem;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  text-transform: none !important;
  line-height: 1.3 !important;
  color: var(--text-color, #222);
}

#order-confirmation .cev-wallet-split-payment-recap__list {
  list-style: none;
  margin: 0;
  padding: 0 !important;
}

#order-confirmation .cev-wallet-split-payment-recap__item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 0.75rem;
  align-items: center;
  padding: 0.65rem 0;
  border-bottom: 1px solid var(--neutral-color-border, #e5e5e5);
}

#order-confirmation .cev-wallet-split-payment-recap__item:last-of-type {
  border-bottom: none;
  padding-bottom: 0.35rem;
}

#order-confirmation .cev-wallet-split-payment-recap__icon {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #f0f0f0;
  color: var(--text-color, #222);
}

#order-confirmation .cev-wallet-split-payment-recap__item--wallet .cev-wallet-split-payment-recap__icon {
  background: color-mix(in srgb, var(--primary-color, #c41230) 12%, #fff);
  color: var(--primary-color, #c41230);
}

#order-confirmation .cev-wallet-split-payment-recap__icon .material-icons {
  font-size: 1.15rem;
}

#order-confirmation .cev-wallet-split-payment-recap__copy {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
}

#order-confirmation .cev-wallet-split-payment-recap__label {
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.3;
}

#order-confirmation .cev-wallet-split-payment-recap__subtitle {
  font-size: 0.75rem;
  color: var(--gray-600, #6c757d);
  line-height: 1.3;
}

#order-confirmation .cev-wallet-split-payment-recap__amount {
  font-size: 0.9375rem;
  font-weight: 700;
  white-space: nowrap;
}

#order-confirmation .cev-wallet-split-payment-recap__total {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin: 0.85rem 0 0;
  padding: 0.95rem 1.15rem;
  background: #f6f6f6;
  border: none;
  border-radius: 0.65rem;
  font-size: 0.9375rem;
  font-weight: 700;
  width: 100%;
  max-width: none;
  box-sizing: border-box;
}

#order-confirmation .cev-order-confirmation-payment-return {
  border: none !important;
  box-shadow: none !important;
  border-radius: 0;
  margin-top: 0;
  margin-bottom: 0.75rem !important;
  padding: 0 !important;
  background: transparent !important;
  width: 100%;
  box-sizing: border-box;
}

#order-confirmation .cev-order-confirmation-payment-return > .card-block {
  padding: 0 !important;
  margin: 0 !important;
  width: 100%;
}

#order-confirmation .cev-wallet-payment-return {
  margin: 0;
  padding: 0;
  width: 100%;
  box-sizing: border-box;
}

#order-confirmation .cev-wallet-payment-return__success {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  padding: 0.85rem 1.5rem;
  background: #eaf7ef;
  border-radius: var(--border-radius-type-small, 4px);
  margin-bottom: 1rem;
  width: 100%;
  box-sizing: border-box;
}

#order-confirmation .cev-wallet-payment-return__success-icon {
  flex: 0 0 auto;
  width: 1.85rem;
  height: 1.85rem;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #1b7a4a;
  color: #fff;
}

#order-confirmation .cev-wallet-payment-return__success-icon .material-icons {
  font-size: 1.05rem;
}

#order-confirmation .cev-wallet-payment-return__success-title {
  margin: 0 0 0.2rem;
  font-size: 0.9375rem;
  font-weight: 700;
  color: #1b7a4a;
}

#order-confirmation .cev-wallet-payment-return__success-text {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.4;
  color: var(--text-color);
}

#order-confirmation .cev-wallet-payment-return__credit-title {
  margin: 0 0 0.85rem !important;
  padding: 0 1.5rem !important;
  border: none !important;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  text-transform: none !important;
  line-height: 1.3 !important;
  color: var(--text-color, #222);
}

#order-confirmation .cev-wallet-payment-return__credit-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 0.75rem;
  align-items: center;
  padding: 0.75rem 1.5rem;
  border: 1px solid var(--neutral-color-border, #e5e5e5);
  border-radius: var(--border-radius-type-small, 4px);
  background: #fff;
  width: 100%;
  box-sizing: border-box;
}

#order-confirmation .cev-wallet-payment-return__credit-icon {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #f0f0f0;
}

#order-confirmation .cev-wallet-payment-return__credit-icon .material-icons {
  font-size: 1.15rem;
}

#order-confirmation .cev-wallet-payment-return__credit-label {
  font-size: 0.875rem;
  color: var(--gray-600, #6c757d);
}

#order-confirmation .cev-wallet-payment-return__credit-amount {
  font-size: 1rem;
  font-weight: 700;
}

/* Funder / account order detail — same recap rhythm as confirmation */
body#order-detail .cev-order-detail-addresses {
  display: block;
  width: 100%;
  margin: 0 0 1rem;
}

body#order-detail .cev-order-detail-addresses__item {
  width: 100%;
  max-width: none;
  float: none;
  padding: 0;
}

body#order-detail .cev-order-detail-addresses .box {
  width: 100%;
  margin-bottom: 0.75rem;
}

body#order-detail .cev-order-detail-items,
body#order-detail .box.cev-order-detail-items {
  width: 100%;
  box-sizing: border-box;
}

body#order-detail .cev-order-items__title,
body#order-detail .cev-wallet-split-payment-recap__title {
  margin: 0 0 0.85rem !important;
  padding: 0 !important;
  border: none !important;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  text-transform: none !important;
  line-height: 1.3 !important;
  color: var(--text-color, #222);
}

body#order-detail #order-products {
  margin-bottom: 0;
  border-radius: var(--border-radius-type-small, 4px);
}

body#order-detail #order-products thead th {
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--gray-600, #6c757d);
  border-bottom-width: 1px;
}

body#order-detail .cev-funder-order-payment,
body#order-detail .cev-wallet-split-payment-recap,
body#order-detail .cev-order-detail-payment {
  margin-top: 0.75rem;
  padding-top: 0;
  border-top: none;
  width: 100%;
  box-sizing: border-box;
}

body#order-detail .cev-wallet-split-payment-recap__list {
  list-style: none;
  margin: 0;
  padding: 0 !important;
}

body#order-detail .cev-wallet-split-payment-recap__item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 0.85rem;
  align-items: center;
  padding: 0.85rem 0;
  border-bottom: 1px solid var(--neutral-color-border, #e5e5e5);
}

body#order-detail .cev-wallet-split-payment-recap__item:last-of-type {
  border-bottom: none;
}

body#order-detail .cev-wallet-split-payment-recap__icon {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #f0f0f0;
}

body#order-detail .cev-wallet-split-payment-recap__item--wallet .cev-wallet-split-payment-recap__icon {
  background: color-mix(in srgb, var(--primary-color, #c41230) 12%, #fff);
  color: var(--primary-color, #c41230);
}

body#order-detail .cev-wallet-split-payment-recap__copy {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}

body#order-detail .cev-wallet-split-payment-recap__label {
  font-size: 0.875rem;
  font-weight: 700;
}

body#order-detail .cev-wallet-split-payment-recap__subtitle {
  font-size: 0.75rem;
  color: var(--gray-600, #6c757d);
}

body#order-detail .cev-wallet-split-payment-recap__amount {
  font-size: 0.9375rem;
  font-weight: 700;
}

body#order-detail .cev-wallet-split-payment-recap__total {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin: 0.85rem 0 0;
  padding: 0.95rem 1.15rem;
  background: #f6f6f6;
  border: none;
  border-radius: 0.65rem;
  font-weight: 700;
  width: 100%;
  max-width: none;
  box-sizing: border-box;
}

body#order-detail .order-message-form {
  display: none !important;
}

#order-confirmation #content-hook_order_confirmation_bulk {
  border-radius: var(--border-radius-type);
  padding: 1rem 1.25rem;
  border: none !important;
  box-shadow: none !important;
  margin-top: 1rem;
}

#order-confirmation .cev-order-confirmation-details {
  margin-top: 1.25rem;
  padding-top: 1rem;
  border-top: 1px solid var(--neutral-color-border);
}

#order-confirmation section#content.page-order-confirmation > .card-block > .row > #order-items,
#order-confirmation section#content.page-order-confirmation > .card-block > .row > #order-details {
  padding-left: 0;
  padding-right: 0;
}

#order-confirmation #order-items > .row:first-of-type > [class*="col-"]:first-child {
  padding-left: 0;
}

#order-confirmation #order-details h3.card-title {
  padding-left: 0;
  margin-left: 0;
}

#order-confirmation .cev-bulk-recap__title {
  margin-bottom: 0.75rem;
}

#order-confirmation .cev-bulk-recap__title.card-title {
  border: none;
  padding: 0;
}

#order-confirmation .cev-bulk-recap__grid {
  align-items: start;
  margin-left: 0;
  margin-right: 0;
}

@media (min-width: 768px) {
  #order-confirmation .cev-bulk-recap__grid {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    column-gap: 1.25rem;
    row-gap: 0.75rem;
  }

  #order-confirmation .cev-bulk-recap__grid > .cev-bulk-recap__main,
  #order-confirmation .cev-bulk-recap__grid > .cev-bulk-recap__aside {
    width: 100%;
    max-width: 100%;
    flex: none;
    padding-left: 0;
    padding-right: 0;
  }
}

#order-confirmation .cev-bulk-recap__main,
#order-confirmation .cev-bulk-recap__aside {
  display: flex;
  flex-direction: column;
  min-height: 0;
}

#order-confirmation .cev-bulk-recap-table {
  margin-top: 0;
  flex: 0 0 auto;
  display: block;
}

#order-confirmation .cev-bulk-recap__striped-table {
  width: 100%;
  flex: none;
  border-collapse: collapse;
  border-spacing: 0;
  border-radius: var(--border-radius-type-small, 4px);
  overflow: hidden;
}

#order-confirmation .cev-bulk-recap__striped-table th,
#order-confirmation .cev-bulk-recap__striped-table td {
  padding: 0.55rem 0.85rem;
  vertical-align: middle;
  font-size: 0.8125rem;
  line-height: 1.4;
  border: none;
}

#order-confirmation .cev-bulk-recap__striped-table tr:nth-child(odd) th,
#order-confirmation .cev-bulk-recap__striped-table tr:nth-child(odd) td {
  background: #fff;
}

#order-confirmation .cev-bulk-recap__striped-table tr:nth-child(even) th,
#order-confirmation .cev-bulk-recap__striped-table tr:nth-child(even) td {
  background: #f6f6f6;
}

#order-confirmation .cev-bulk-recap__striped-table th {
  width: 32%;
  font-weight: 600;
  color: var(--text-color);
  padding-right: 1rem;
  white-space: nowrap;
}

#order-confirmation .cev-bulk-recap__message-cell {
  white-space: pre-wrap;
}

#order-confirmation .cev-bulk-recap__custom-image {
  margin-top: 1.25rem;
}

#order-confirmation .cev-bulk-recap__custom-image-thumb {
  display: block;
  max-width: 72px;
  max-height: 72px;
  border-radius: 4px;
  object-fit: contain;
  object-position: center;
  background: #fff;
}

#order-confirmation .cev-bulk-recap__aside {
  background: rgba(89, 6, 77, 0.06);
  background: color-mix(in srgb, var(--secondary-color) 7%, transparent);
  border-radius: var(--border-radius-type-small, 4px);
  padding: 0.75rem 1rem;
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  overflow: hidden;
  align-self: start;
}

#order-confirmation .cev-bulk-recap__delivery-note {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.55;
  color: var(--text-color);
}

#order-confirmation .cev-bulk-recap__info-list {
  margin: 0;
  padding: 0 !important;
  list-style: none;
  font-size: 0.8125rem;
  line-height: 1.4;
  color: var(--text-color);
  flex: 0 0 auto;
}

#order-confirmation .cev-bulk-recap__info-item {
  position: relative;
  display: block;
  padding-left: 1.35rem;
}

#order-confirmation .cev-bulk-recap__info-item strong {
  font-weight: 700;
  color: var(--text-color);
  font-size: 0.875rem;
}

#order-confirmation .cev-bulk-recap__info-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.2rem;
  width: 0.85rem;
  height: 0.85rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2359064d'%3E%3Cpath d='M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  opacity: 0.72;
}

#order-confirmation .cev-bulk-recap__info-item + .cev-bulk-recap__info-item {
  margin-top: 0.45rem;
}

#order-confirmation .cev-bulk-recap__beneficiaries-row {
  margin-top: 0.75rem;
  padding-top: 0.65rem;
  border-top: 1px solid var(--neutral-color-border);
}

#order-confirmation .cev-bulk-recap__beneficiaries {
  margin-top: 0;
}

#order-confirmation .cev-bulk-recap__beneficiaries-toggle {
  cursor: pointer;
  font-weight: 600;
  color: var(--text-color);
  list-style: none;
  font-size: 0.8125rem;
  padding: 0;
}

#order-confirmation .cev-bulk-recap__beneficiaries-toggle::-webkit-details-marker {
  display: none;
}

#order-confirmation .cev-bulk-recap__beneficiaries-toggle::before {
  content: "▸";
  display: inline-block;
  margin-right: 0.35rem;
  transition: transform 0.15s ease;
}

#order-confirmation .cev-bulk-recap__beneficiaries[open] .cev-bulk-recap__beneficiaries-toggle::before {
  transform: rotate(90deg);
}

#order-confirmation .cev-bulk-recap__beneficiaries-table-wrap {
  margin-top: 1rem;
  width: 100%;
  overflow-x: auto;
}

#order-confirmation .cev-bulk-recap__beneficiaries-table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  margin: 0;
}

#order-confirmation .cev-bulk-recap__beneficiaries-table th,
#order-confirmation .cev-bulk-recap__beneficiaries-table td {
  padding: 0.85rem 1.15rem;
  font-size: 0.8125rem;
  line-height: 1.45;
  border: none !important;
  vertical-align: middle;
}

#order-confirmation .cev-bulk-recap__beneficiaries-table thead th {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  background: #fff;
  color: var(--text-color);
}

#order-confirmation .cev-bulk-recap__beneficiaries-table tbody tr:nth-child(odd) td {
  background: #fff;
}

#order-confirmation .cev-bulk-recap__beneficiaries-table tbody tr:nth-child(even) td {
  background: #f6f6f6;
}

#order-confirmation .cev-bulk-recap__beneficiaries-table tfoot td {
  background: #f6f6f6;
  font-weight: 700;
}

@media (max-width: 767.98px) {
  #order-confirmation .cev-bulk-recap__aside {
    margin-top: 0.75rem;
  }

  #order-confirmation .cev-bulk-recap__striped-table th,
  #order-confirmation .cev-bulk-recap__striped-table td {
    padding: 0.5rem 0.75rem;
  }

  #order-confirmation .cev-bulk-recap__beneficiaries-row {
    margin-top: 0.65rem;
    padding-top: 0.55rem;
  }
}

/* Récap crédit cadeau bulk — bénéficiaires (couleur primaire du thème) */
#order-confirmation .cev-bulk-confirmation .cev-bulk-confirmation__beneficiaries-icon,
#order-confirmation .cev-bulk-confirmation .cev-bulk-confirmation__beneficiaries-value {
  color: var(--primary-color) !important;
}

#order-confirmation #main .page-content {
  max-width: 960px !important;
  margin-left: auto;
  margin-right: auto;
}

#order-confirmation #order-details h3.card-title,
#order-confirmation .cev-bulk-recap__title {
  font-size: 1rem;
  line-height: 1.35;
  text-transform: uppercase;
}

#order-confirmation .cev-order-confirmation-summary__title {
  font-size: 1.35rem !important;
  line-height: 1.3 !important;
  text-transform: none !important;
}

#order-confirmation h3.cev-order-confirmation-summary__title.card-title,
#order-confirmation .card > .card-block h3.cev-order-confirmation-summary__title {
  text-transform: none !important;
  font-size: 1.35rem !important;
  margin-bottom: 0.45rem !important;
  padding: 0 !important;
  border: none !important;
}

#order-confirmation .cev-order-confirmation-footer-actions {
  border: none !important;
  box-shadow: none !important;
  border-radius: var(--border-radius-type);
  margin-top: 0;
  margin-bottom: 1.5rem;
  padding: 0 !important;
  background: transparent !important;
}

#order-confirmation .cev-order-confirmation-footer-actions > .card-block {
  padding: 0 !important;
}

#order-confirmation .cev-order-confirmation-footer-actions .cev-order-confirmation-summary__actions {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}

#order-confirmation .order-confirmation-table > table td {
  padding-left: 0;
  padding-right: 0;
}

#order-confirmation #order-details ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

#order-confirmation #order-details ul li {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0.8125rem;
  line-height: 1.45;
}

#order-confirmation #order-details ul li strong {
  font-weight: 700;
  color: var(--text-color);
  font-size: 0.875rem;
}

#order-confirmation #order-details ul li em {
  font-size: 0.75rem;
}

#order-confirmation .card > .card-block {
  font-size: 0.8125rem;
  line-height: 1.45;
}

#order-confirmation .card > .card-block h1,
#order-confirmation .card > .card-block .h1,
#order-confirmation .card > .card-block h2,
#order-confirmation .card > .card-block h3.card-title {
  font-size: 1rem;
  line-height: 1.35;
}

#order-confirmation .card > .card-block strong {
  font-size: 0.875rem;
}

#order-confirmation .card > .card-block em {
  font-size: 0.75rem;
}

#order-confirmation #order-items > .row:first-of-type {
  align-items: flex-end;
  margin-bottom: 0.5rem;
}

#order-confirmation .cev-order-items__title {
  margin: 0 0 0.85rem !important;
  padding: 0 !important;
  border: none !important;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  text-transform: none !important;
  line-height: 1.3 !important;
  color: var(--text-color, #222);
}

#order-confirmation .cev-order-items__cols {
  display: none;
}

@media (min-width: 768px) {
  #order-confirmation .cev-order-items__cols {
    display: grid;
    grid-template-columns: 4.5rem minmax(0, 1fr) repeat(3, minmax(4.5rem, 6.5rem));
    column-gap: 1rem;
    align-items: end;
    margin: 0 0 0.35rem;
    padding: 0 0 0.55rem;
    border-bottom: 1px solid var(--neutral-color-border, #e5e5e5);
  }

  #order-confirmation .cev-order-items__col {
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--gray-600, #6c757d);
    line-height: 1.2;
  }

  #order-confirmation .cev-order-items__col--article {
    grid-column: 1 / 3;
    text-align: left;
  }

  #order-confirmation .cev-order-items__col--unit {
    grid-column: 3;
    text-align: right;
  }

  #order-confirmation .cev-order-items__col--qty {
    grid-column: 4;
    text-align: right;
  }

  #order-confirmation .cev-order-items__col--total {
    grid-column: 5;
    text-align: right;
  }

  #order-confirmation #order-items > .row:first-of-type {
    display: grid;
    grid-template-columns: 4.5rem minmax(0, 1fr) repeat(3, minmax(4.5rem, 6.5rem));
    column-gap: 1rem;
    align-items: end;
    margin-bottom: 0.35rem;
  }

  #order-confirmation #order-items > .row:first-of-type > [class*="col-"] {
    float: none !important;
    width: auto !important;
    max-width: none !important;
    flex: none !important;
    padding-left: 0;
    padding-right: 0;
    margin: 0;
  }

  #order-confirmation #order-items > .row:first-of-type > .col-md-6 {
    grid-column: 1 / 3;
  }

  #order-confirmation #order-items > .row:first-of-type > .col-md-2 {
    grid-column: auto;
    text-align: right;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--gray-600, #6c757d);
  }

  #order-confirmation #order-items > .row:first-of-type > .col-md-2:nth-child(2) {
    grid-column: 3;
  }

  #order-confirmation #order-items > .row:first-of-type > .col-md-2:nth-child(3) {
    grid-column: 4;
  }

  #order-confirmation #order-items > .row:first-of-type > .col-md-2:nth-child(4) {
    grid-column: 5;
  }
}

#order-confirmation #order-items {
  padding: 0 !important;
}

@media (min-width: 768px) {
  #order-confirmation .order-confirmation-table {
    display: block;
  }

  #order-confirmation .order-confirmation-table > table {
    width: 100%;
  }

  #order-confirmation .order-confirmation-table > hr {
    margin: 0.5rem 0 0.35rem;
    height: auto;
    border: 0;
    border-top: 1px solid var(--neutral-color-border);
    background: none;
  }

  #order-confirmation .order-line-card.row {
    display: grid !important;
    grid-template-columns: 4.5rem minmax(0, 1fr) repeat(3, minmax(4.5rem, 6.5rem));
    column-gap: 1rem;
    align-items: center;
    margin-left: 0;
    margin-right: 0;
    padding-block: 0.85rem;
    padding-inline: 0;
    border-radius: 0;
    border: none;
    background: transparent;
    box-shadow: none;
    border-bottom: 1px solid var(--neutral-color-border);
  }

  #order-confirmation .order-line-card.row > [class*="col-"] {
    float: none !important;
    width: auto !important;
    max-width: none !important;
    flex: none !important;
    padding-left: 0;
    padding-right: 0;
  }

  #order-confirmation .order-line-card.row > .order-line__media {
    grid-column: 1;
    padding-left: 0;
    width: 4.5rem !important;
  }

  #order-confirmation .order-line-card.row > .order-line__details {
    grid-column: 2;
  }

  #order-confirmation .order-line-card.row > .order-line__metrics {
    display: contents;
  }

  #order-confirmation .order-line__metrics-inner.row {
    display: contents;
  }

  #order-confirmation .order-line__metrics-inner.row > [class*="col-"] {
    float: none !important;
    width: auto !important;
    max-width: none !important;
    flex: none !important;
    padding-left: 0;
    padding-right: 0;
  }

  #order-confirmation .order-line__metrics-inner.row > .order-line__metric:nth-child(1) {
    grid-column: 3;
  }

  #order-confirmation .order-line__metrics-inner.row > .order-line__metric:nth-child(2) {
    grid-column: 4;
  }

  #order-confirmation .order-line__metrics-inner.row > .order-line__metric:nth-child(3) {
    grid-column: 5;
  }

  #order-confirmation .order-line__metrics-inner .order-line__metric {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    text-align: right;
  }

  #order-confirmation
    .order-confirmation-table
    .order-line-card.row:last-of-type {
    border-bottom: none;
  }

}

#order-confirmation .order-line__media .image {
  display: block;
  border-radius: var(--border-radius-type-small, 4px);
  overflow: hidden;
  width: 4.5rem;
  max-width: 100%;
}

#order-confirmation #order-items .image img {
  margin-top: 0;
}

#order-confirmation #order-items .order-line__media .image img,
#order-confirmation #order-items .order-line__media .image picture,
#order-confirmation #order-items .order-line__media .image picture img {
  display: block;
  width: 4.5rem;
  max-width: 100%;
  height: 4.5rem;
  object-fit: contain;
  margin-top: 0;
  border-radius: var(--border-radius-type-small, 4px);
  background: #f7f7f7;
}

#order-confirmation .order-line__details {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  justify-content: center;
  min-width: 0;
}

#order-confirmation .order-line__details > a span,
#order-confirmation .order-line__details > span:first-of-type {
  font-weight: 700;
  font-size: 0.9375rem;
  line-height: 1.35;
  word-break: break-word;
}

#order-confirmation .order-line__metric-label {
  display: none;
}

#order-confirmation .order-line__metric-value {
  font-size: 0.875rem;
  line-height: 1.3;
  font-weight: 600;
}

@media (max-width: 767.98px) {
  #order-confirmation .order-line__metric-label {
    display: block;
    font-size: 0.625rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--gray-600, #6c757d);
    line-height: 1.2;
    margin-bottom: 0.15rem;
  }
}

#order-confirmation #content-hook_order_confirmation,
#order-confirmation #content.page-order-confirmation,
#order-confirmation .cev-order-confirmation-payment-return,
#order-confirmation .cev-order-confirmation-footer-actions,
#order-confirmation .page-order-confirmation {
  margin-bottom: 0.75rem !important;
}

#order-confirmation .back-home-link a {
  padding: 0.5rem 1.25rem !important;
  font-size: 0.875rem !important;
  background-color: transparent !important;
  color: var(--primary-color) !important;
}

@media (max-width: 991.98px) {
  #order-confirmation #order-items .row {
    height: auto !important;
  }
}

@media (max-width: 767.98px) {
  #order-confirmation .page-order-confirmation {
    padding: 1rem 0.75rem;
  }

  #order-confirmation #order-items {
    padding-top: 1rem !important;
  }

  #order-confirmation #order-items > .row > {
    margin-bottom: 0 !important;
  }

  #order-confirmation #order-items > .row:first-of-type {
    margin-bottom: 0 !important;
  }

  #order-confirmation
    #content-hook_order_confirmation
    > .card-block
    > .row
    > .col-md-12 {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }

  #order-confirmation .page-order-confirmation > .card-block > .row {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    margin-inline: 0 !important;
  }

  #order-confirmation .back-home-link {
    margin-right: auto;
    width: auto;
  }

  #order-confirmation .back-home-link a {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--border-radius-type);
    border: none !important;
    background-color: transparent !important;
    color: var(--primary-color) !important;
    font-size: 0.875rem !important;
  }

  #order-confirmation
    .page-order-confirmation
    > .card-block
    > .row
    > [class*="col-"] {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
  }

  #order-confirmation #order-details ul {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
  }

  #order-confirmation .order-confirmation-table {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.75rem;
  }

  #order-confirmation .order-confirmation-table > hr {
    margin: 0;
    flex-shrink: 0;
    border: 0;
    height: 1px;
    background: var(--neutral-color-border);
  }

  #order-confirmation .order-confirmation-table > table {
    width: 100%;
    flex-shrink: 0;
  }

  #order-confirmation .order-line-card.row {
    display: grid !important;
    grid-template-columns: minmax(3rem, 4.5rem) minmax(0, 1fr);
    grid-template-areas:
      "media details"
      "metrics metrics";
    column-gap: 0.5rem;
    row-gap: 0.45rem;
    align-items: center;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-block: 0.65rem;
    padding-inline: 0.65rem;
    border-radius: var(--border-radius-type-small);
    border: none;
    background: var(--neutral-color);
    box-shadow: none;
  }

  #order-confirmation .order-line-card.row > [class*="col-"] {
    float: none !important;
    width: auto !important;
    max-width: none !important;
    flex: none !important;
  }

  #order-confirmation .order-line__media {
    grid-area: media;
  }

  #order-confirmation .order-line__details {
    grid-area: details;
    gap: 0.2rem;
  }

  #order-confirmation .order-line__metrics {
    grid-area: metrics;
  }

  #order-confirmation .order-line__metrics-inner.row {
    display: flex !important;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: stretch;
    justify-content: space-between;
    width: 100%;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  #order-confirmation .order-line__metrics-inner.row > [class*="col-"] {
    float: none !important;
    flex: 1 1 0;
    min-width: 0;
    max-width: none !important;
    width: auto !important;
    padding-left: 0.2rem;
    padding-right: 0.2rem;
  }

  #order-confirmation
    .order-line__metrics-inner.row
    > [class*="col-"]:first-child {
    padding-left: 0;
  }

  #order-confirmation
    .order-line__metrics-inner.row
    > [class*="col-"]:last-child {
    padding-right: 0;
  }

  #order-confirmation .order-line__metrics-inner.row > .col-xs-4 {
    width: auto !important;
  }

  #order-confirmation .order-line__metric {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.12rem;
    min-width: 0;
    box-sizing: border-box;
  }

  #order-confirmation .order-line__metric-label,
  #order-confirmation .order-line__metric-value {
    max-width: 100%;
  }

  #order-confirmation #content-hook_order_confirmation {
    padding: 1rem 0.875rem;
    margin-bottom: 1.25rem;
  }

  #order-confirmation #content-hook_payment_return {
    margin-top: 1.25rem;
  }

  #order-confirmation .card > .card-block > .row > .col-md-12:only-child {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
  }

  #order-confirmation #order-items .image img {
    margin-top: 0;
  }

  #order-confirmation .order-line__metrics {
    margin-top: 0;
    padding-top: 0.45rem;
    border-top: 1px solid var(--neutral-color-border);
  }

  #order-confirmation .order-line__metric-label {
    display: block;
  }
}

@media (max-width: 575.98px) {
  #order-confirmation
    .order-line__metrics-inner
    .order-line__metric:nth-child(1) {
    align-items: flex-start;
    text-align: left;
  }

  #order-confirmation
    .order-line__metrics-inner
    .order-line__metric:nth-child(2) {
    align-items: center;
    text-align: center;
  }

  #order-confirmation
    .order-line__metrics-inner
    .order-line__metric:nth-child(3) {
    align-items: flex-end;
    text-align: right;
  }
}

@media (min-width: 576px) and (max-width: 767.98px) {
  #order-confirmation .order-line__metrics-inner .order-line__metric {
    align-items: center;
    text-align: center;
  }
}

/* ===== REGISTRATION PAGE ===== */
#registration .page-subheading {
  display: none !important;
}

.form-control:focus,
.form-control:focus-visible {
  border-color: #6d6d6d !important;
  box-shadow: none !important;
  outline: none !important;
}

#registration .form-control-comment {
  display: none;
}

#registration .clearfix::after {
  display: initial !important;
}

#registration form .form-control-label {
  font-weight: 600 !important;
}

#registration [data-id="12"] label {
  clear: both !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  margin-top: 0.25rem !important;
  color: var(--text-color);
  margin-bottom: 0 !important;
}

#registration [data-id="13"] .js-input-column {
  display: flex !important;
}

#registration [data-id="13"] .js-input-column div {
  padding-right: 8px;
}

.radio-inline {
  margin-right: 1rem !important;
}

.pro-box {
  background: var(--lp-fin-beige);
  /* border: var(--primary-color) 2px solid; */
}

.pro-box .text-warning {
  color: var(--primary-color) !important;
}

.pro-box .btn-warning {
  background-color: transparent;
  border-color: var(--primary-color);
  color: var(--primary-color) !important;
}

.pro-box .btn-warning:hover {
  background-color: var(--primary-color-hover);
  border-color: var(--primary-color-hover);
  color: var(--contrast-white-color) !important;
}

@media (max-width: 767.98px) {
  .pro-box .btn,
  .pro-box a.btn {
    display: inline-flex !important;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.35rem 0.5rem;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
    white-space: normal !important;
    text-align: center;
    line-height: 1.25;
    overflow-wrap: anywhere;
    word-break: break-word;
    padding-block: 0.55rem;
    padding-inline: 0.65rem;
    font-size: clamp(0.8rem, 2.8vw + 0.35rem, 0.95rem);
  }

  .pro-box .btn i,
  .pro-box a.btn i {
    flex-shrink: 0;
    margin-inline-end: 0 !important;
  }
}

/*------------------------ custom menu ---------------------*/

#custom-main-menu {
  background: #fff;
  position: static;
  flex: 1 1 auto;
  min-width: 0;
  max-width: 100%;
  display: flex;
  align-items: center;
}

.menu-level-1 {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 0.25rem 1rem;
  padding: 0;
  margin: 0;
  width: 100%;
}

.menu-item {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.primary-border {
  border: 1px solid var(--primary-color);
  border-radius: var(--border-radius-type);
}

#custom-main-menu .menu-level-1 > .menu-item > a.menu-link {
  text-decoration: none;
  color: #333;
  font-weight: bold;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  width: fit-content;
  max-width: 100%;
  padding: 8px 16px;
  box-sizing: border-box;
  border: 2px solid transparent;
  border-radius: var(--border-radius-type);
  transition:
    background-color 0.2s ease,
    color 0.2s ease,
    border-color 0.2s ease;
}

#custom-main-menu .menu-level-1 > .menu-item > a.menu-link:hover,
#custom-main-menu .menu-level-1 > .menu-item > a.menu-link:focus-visible,
#custom-main-menu .menu-level-1 > .menu-item > a.menu-link.is-active {
  border-color: var(--primary-color);
  background-color: var(--primary-color);
  color: #fff !important;
}

#custom-main-menu .menu-level-1 > .menu-item > a.menu-link:hover .menu-text,
#custom-main-menu .menu-level-1 > .menu-item > a.menu-link:focus-visible .menu-text,
#custom-main-menu .menu-level-1 > .menu-item > a.menu-link.is-active .menu-text {
  color: #fff !important;
}

#custom-main-menu .menu-level-1 > .menu-item > a.menu-link:hover .menu-text.highlighted-text,
#custom-main-menu .menu-level-1 > .menu-item > a.menu-link:focus-visible .menu-text.highlighted-text,
#custom-main-menu .menu-level-1 > .menu-item > a.menu-link.is-active .menu-text.highlighted-text {
  color: #fff !important;
}

#custom-main-menu .menu-level-1 > .menu-item > a.menu-link:hover .fa,
#custom-main-menu .menu-level-1 > .menu-item > a.menu-link:focus-visible .fa,
#custom-main-menu .menu-level-1 > .menu-item > a.menu-link.is-active .fa {
  color: #fff !important;
}

#custom-main-menu .menu-level-1 > .menu-item > a.menu-link:hover svg.menu-icon,
#custom-main-menu .menu-level-1 > .menu-item > a.menu-link:focus-visible svg.menu-icon,
#custom-main-menu .menu-level-1 > .menu-item > a.menu-link.is-active svg.menu-icon {
  color: #fff;
  filter: brightness(0) invert(1);
}

@media screen and (max-width: 1200px) {

  #header .row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }

  #header .header-top-right {
    width: 100%;
    display: flex;
    justify-content: center;
  }

  #custom-main-menu {
    background: #fff;
    flex: 1 1 100%;
    justify-content: center;
  }

  .menu-level-1 {
    justify-content: center;
  }

  /* .menu-item a .menu-text {
    padding: 0px;
    font-size: 0.8rem;

  }
  .menu-item a :has(.highlighted-text) {
    padding: 8px 16px;
  } */



  #_desktop_logo {
    width: auto
  }
}


.menu-item i.fa {
  margin: 0;
  flex-shrink: 0;
  line-height: 1;
}

.submenu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 100%;
  white-space: nowrap;
  background: #f9f9f9;
  list-style: none;
  padding: 10px 0;
  margin: 0;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  z-index: 9999999999;
}

.menu-item.has-submenu:hover .submenu {
  display: block;
}

.submenu li {
  padding: 0;
  margin: 0;
}

.submenu li a {
  color: #555;
  text-decoration: none;
  display: block;
  padding: 0.5rem 1.25rem;
  font-weight: 600;
  line-height: 1.35;
}

.submenu li a:hover {
  color: var(--primary-color);
  background: rgba(0, 0, 0, 0.04);
}

/* Panneau Produits : style compte (cev-header-panel) prioritaire sur .submenu générique */
.submenu.submenu--products.cev-header-panel {
  background: var(--contrast-white-color, #fff);
  padding: 0;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: var(--border-radius-type-small, 12px);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.14);
  min-width: 14rem;
  width: max-content;
  white-space: normal;
}

.menu-link {
  line-height: 1.4;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.menu-icon {
  vertical-align: middle;
  margin-right: 4px;
}

svg.menu-icon {
  height: 20px;
  width: auto;
  color: var(--primary-color);
}

/* « J'ai reçu un crédit cadeau » : icône noire au repos (alignée sur le texte) */
#custom-main-menu .menu-link--received-credit svg.menu-icon {
  color: #333;
}

/* Picto bitmap (motif url) : neutre foncé proche du noir */
#custom-main-menu .menu-link--received-credit svg.menu-icon:has(rect[fill^='url']) {
  filter: grayscale(1) brightness(0.42) contrast(1.08);
}

.menu-icon i.material-icons {
  color: black !important;
  border: 2px solid black;
}

.menu-text {
  font-size: 1rem;
  margin-bottom: 0;
  font-weight: 600;
  color: var(--text-color);
  width: auto;
  text-align: left;
  white-space: nowrap;
}

.menu-text.highlighted-text {
  color: var(--primary-color);
}

li.orange-border a.menu-link {
  color: var(--primary-color) !important;
}

li.orange-border:hover {
  background-color: var(--primary-color-light);
}

/* ===== CUSTOM SEARCH WIDGET ===== */
.search-widgets {
  margin-top: 6px;
  margin-right: 16px;
  overflow: visible;
}

/* Autocomplete produits (ps_searchbar) — menu ancré sur body */
.ui-autocomplete.searchbar-autocomplete {
  z-index: 10050 !important;
}

.search-widgets .material-icons.search {
  color: var(--dark-mode);
}

.search-widgets .ui-autocomplete-input,
.search-widgets__input.ui-autocomplete-input {
  padding: 0.5rem 0.25rem !important;
}

/* ===== CUSTOM USER INFO ===== */
.user-info {
  text-align: center;
}

/* .user-info .hidden-sm-down {
  display: none;
} */

/* ===== CUSTOM BLOCK CART ===== */
.blockcart {
  text-align: center;
  position: relative;
  margin: 0 16px;
}

#cms.cms-id-10 .breadcrumb,
#cms.cms-id-10 #main .page-header {
  display: none;
}

#cms.cms-id-10 #wrapper {
  width: 100%;
  padding-block: 0;
  background: var(--contrast-white-color, #fff);
}

#cms.cms-id-10 #wrapper > .container {
  margin-inline: auto;
  width: 100% !important;
  max-width: none;
}

#cms.cms-id-10 #content-wrapper {
  padding-inline: 0;
}

#cms.cms-id-10 #content {
  width: 100% !important;
  max-width: none !important;
  padding: 0;
}

@media (max-width: 767.98px) {
  /* Pages CMS : gouttière sur le .container du layout (#wrapper > .container), pas sur #wrapper (évite double marge) */
  #cms #wrapper {
    padding-inline: 0;
  }

  #cms #wrapper > .container {
    padding-inline: max(
        var(--padding-inline-base, 1rem),
        env(safe-area-inset-left, 0px)
      )
      max(var(--padding-inline-base, 1rem), env(safe-area-inset-right, 0px)) !important;
    box-sizing: border-box;
  }

}

/* ——— CMS 10 : landing financeur (maquette crédit cadeau B2B) ——— */
#cms.cms-id-10 .landing-financeur {
  --lp-fin-red: #ee3135;
  --lp-fin-purple: #500746;
}

/* Hero photo pleine largeur — aligné homepage */
#cms.cms-id-10 #hero.landing-financeur__hero {
  background: transparent;
  position: relative;
  overflow: visible;
  min-height: 0;
  margin: 0 0 clamp(1rem, 2.5vw, 1.5rem);
  padding: 0;
}

#cms.cms-id-10 .landing-financeur__hero-shell {
  width: 100%;
  max-width: 100%;
  margin-inline: auto;
  padding-inline: 0;
  box-sizing: border-box;
  height: auto;
}

#cms.cms-id-10 .landing-financeur__hero-banner {
  display: block;
  height: clamp(280px, 38vw, 480px);
  max-height: none;
  width: 100%;
  position: relative;
  border-radius: var(--border-radius-type, 16px);
  overflow: hidden;
  border: none;
  background: transparent;
  box-shadow: none;
}

#cms.cms-id-10 .landing-financeur__hero-carousel {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  height: 100% !important;
  border-radius: inherit;
  background: transparent !important;
}

#cms.cms-id-10 .landing-financeur__hero-carousel .carousel-inner {
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden;
  border-radius: inherit;
  background: transparent;
}

#cms.cms-id-10 .landing-financeur__hero-carousel .carousel-item {
  min-height: 100% !important;
  height: 100%;
  background: transparent;
}

#cms.cms-id-10 .landing-financeur__hero-carousel .carousel-item figure {
  border-radius: inherit;
  overflow: hidden;
  background: transparent;
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 100%;
  margin: 0;
}

#cms.cms-id-10 .landing-financeur__hero-caption-shell {
  position: relative;
  z-index: 2;
  height: 100%;
  min-height: 100%;
  margin-inline: auto;
  pointer-events: none;
}

#cms.cms-id-10 .landing-financeur__hero-caption-shell .caption {
  pointer-events: auto;
}

#cms.cms-id-10 .landing-financeur__hero-carousel .carousel-slide-media {
  border-radius: inherit;
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
}

#cms.cms-id-10 .landing-financeur__hero-carousel .carousel-slide-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(0, 0, 0, 0.62) 0%,
    rgba(0, 0, 0, 0.35) 42%,
    rgba(0, 0, 0, 0.08) 100%
  );
  pointer-events: none;
  z-index: 1;
}

#cms.cms-id-10 .landing-financeur__hero-carousel .caption {
  position: absolute;
  top: 15%;
  left: auto;
  right: auto;
  max-width: min(700px, 55%);
  z-index: 2;
  color: var(--contrast-white-color, #fff);
  pointer-events: auto;
  text-align: left;
}

@media (min-width: 1025px) {
  #cms.cms-id-10 .landing-financeur__hero-carousel figure > .container.landing-financeur__hero-caption-shell {
    position: absolute;
    inset: 0;
    z-index: 2;
    height: 100%;
    min-height: 100%;
    margin-inline: auto;
    padding-top: clamp(4rem, 26%, 5.5rem);
    box-sizing: border-box;
    pointer-events: none;
  }

  #cms.cms-id-10 .landing-financeur__hero-carousel .caption {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    inset: auto;
    width: auto;
    max-width: min(700px, 52%);
    margin: 0;
    padding: 0 0 0 clamp(0.5rem, 1.5vw, 1rem);
    display: block;
    flex-direction: unset;
    align-items: unset;
    justify-content: unset;
    transform: none;
    text-align: left;
  }
}

#cms.cms-id-10 .landing-financeur__h1 {
  font-size: clamp(1.75rem, 3.5vw, 2.775rem);
  font-weight: 700;
  color: var(--nav-color, #fbfcfc) !important;
  text-wrap: balance;
  line-height: 1.18;
  margin: 0;
  text-transform: initial !important;
}

#cms.cms-id-10 .landing-financeur__subtitle {
  margin: 0;
  font-size: clamp(1rem, 2vw, 1.175rem) !important;
  color: rgba(255, 255, 255, 0.95);
  line-height: 1.55;
  max-width: 36rem;
  font-weight: 300;
}

#cms.cms-id-10 .landing-financeur__subtitle p {
  margin: 16px 0 24px 0 !important;
  margin-top: 1.5rem !important;
  font-size: inherit !important;
  font-weight: inherit;
  color: inherit;
}

#cms.cms-id-10 .landing-financeur__subtitle p:last-child {
  margin-bottom: 0;
}

#cms.cms-id-10 .landing-financeur__subtitle strong {
  font-weight: 700;
  color: var(--contrast-white-color);
}

#cms.cms-id-10 .landing-financeur__btn-hero,
#cms.cms-id-10 a.btn.landing-financeur__btn-hero {
  display: inline-block;
  color: var(--nav-color) !important;
  background-color: var(--primary-color);
  padding: 0.5rem 1.5rem;
  border-radius: var(--border-radius-type) !important;
  border: none !important;
  font-weight: 600 !important;
  text-transform: uppercase;
  text-decoration: none !important;
  box-shadow: none !important;
  margin-top: 0.5rem !important;
  transition:
    background-color 0.2s ease,
    color 0.2s ease;
}

#cms.cms-id-10 .landing-financeur__btn-hero:hover,
#cms.cms-id-10 .landing-financeur__btn-hero:focus-visible,
#cms.cms-id-10 a.btn.landing-financeur__btn-hero:hover,
#cms.cms-id-10 a.btn.landing-financeur__btn-hero:focus-visible {
  background-color: var(--contrast-white-color) !important;
  color: var(--primary-color) !important;
  box-shadow: none !important;
  transform: none;
}

@media (min-width: 1400px) {
  #cms.cms-id-10 .landing-financeur__hero-carousel .carousel-inner {
    height: 100% !important;
    min-height: 0 !important;
  }

  #cms.cms-id-10 .landing-financeur__hero-carousel .carousel-item {
    min-height: 100% !important;
    height: 100% !important;
  }
}

@media (max-width: 1024px) {
  #cms.cms-id-10 .landing-financeur__hero-shell {
    width: 100% !important;
    max-width: 100% !important;
    padding-inline: 0;
    margin-inline: 0;
  }

  #cms.cms-id-10 .landing-financeur__hero-banner {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    min-height: clamp(340px, 92vw, 440px);
    margin-inline: 0;
  }

  #cms.cms-id-10 #landing-financeur-hero-carousel,
  #cms.cms-id-10 .landing-financeur__hero-carousel,
  #cms.cms-id-10 .landing-financeur__hero-carousel .carousel-inner,
  #cms.cms-id-10 .landing-financeur__hero-carousel .carousel-item {
    width: 100% !important;
    max-width: 100% !important;
    left: 0;
    right: 0;
    margin: 0;
    height: auto !important;
    min-height: clamp(340px, 92vw, 440px);
  }

  #cms.cms-id-10 .landing-financeur__hero-carousel .carousel-item figure {
    display: block;
    position: relative;
    width: 100%;
    min-height: clamp(340px, 92vw, 440px);
    height: auto;
    margin: 0;
  }

  #cms.cms-id-10 .landing-financeur__hero-caption-shell {
    position: absolute;
    inset: 0;
    width: 100% !important;
    max-width: 100% !important;
    height: 100%;
    min-height: 100%;
    margin-inline: 0;
    padding-inline: clamp(0.85rem, 4vw, 1.35rem);
    pointer-events: none;
  }

  #cms.cms-id-10 .landing-financeur__hero-carousel .carousel-slide-media::after {
    background: linear-gradient(
      180deg,
      rgba(0, 0, 0, 0.52) 0%,
      rgba(0, 0, 0, 0.4) 42%,
      rgba(0, 0, 0, 0.52) 100%
    );
  }

  #cms.cms-id-10 .landing-financeur__hero-carousel .caption {
    position: absolute;
    inset: 0;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: clamp(0.85rem, 4vw, 1.35rem);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: var(--contrast-white-color, #fff);
    text-shadow: 0 1px 14px rgba(0, 0, 0, 0.42);
    box-sizing: border-box;
    z-index: 2;
    pointer-events: auto;
  }

  #cms.cms-id-10 .landing-financeur__h1 {
    font-size: clamp(1.15rem, 4.2vw + 0.35rem, 1.75rem) !important;
    line-height: 1.2;
    margin: 0 auto 0.5rem;
    max-width: none;
    width: 100%;
    letter-spacing: -0.02em;
    text-wrap: balance;
  }

  #cms.cms-id-10 .landing-financeur__subtitle {
    font-size: clamp(0.84rem, 2.5vw + 0.28rem, 1rem) !important;
    line-height: 1.45;
    font-weight: 400;
    margin: 0 auto;
    max-width: none;
    width: 100%;
    padding-inline: 0.15rem;
  }

  #cms.cms-id-10 .landing-financeur__subtitle p {
    margin: 0 0 0.65rem !important;
    line-height: inherit;
  }

  #cms.cms-id-10 .landing-financeur__btn-hero,
  #cms.cms-id-10 a.btn.landing-financeur__btn-hero {
    max-width: 100%;
    white-space: normal;
    text-align: center;
  }
}

/* Catalogue + encart avantages */
#cms.cms-id-10 .landing-financeur__catalogue {
  background: var(--contrast-white-color);
}

/* Colonnes catalogue / features : même hauteur (≥ lg), blocs alignés verticalement */
@media (min-width: 992px) {
  #cms.cms-id-10 .landing-financeur__catalogue-brands-col {
    display: flex;
    flex-direction: column;
    min-height: 0;
  }

  #cms.cms-id-10 .landing-financeur__catalogue .row > .col-lg-7 {
    display: flex;
    flex-direction: column;
    min-height: 0;
  }

  #cms.cms-id-10 .landing-financeur__catalogue-brands-col .landing-financeur__brands-shell {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 0;
  }

  #cms.cms-id-10 .landing-financeur__catalogue .col-lg-7 .landing-financeur__features {
    flex: 1 1 auto;
    height: auto;
    min-height: 100%;
  }
}

#cms.cms-id-10 .landing-financeur__h2 {
  font-size: clamp(1.1rem, 2vw, 1.35rem);
  font-weight: 600;
  color: #59064d !important;
  line-height: 1.35;
  margin: 0 0 1.25rem;
  text-align: center;
}

#cms.cms-id-10 .landing-financeur__h2 strong {
  font-weight: 700;
  color: #59064d !important;
}

#cms.cms-id-10 .landing-financeur__brands-shell {
  background: var(--contrast-white-color);
  border-radius: var(--border-radius-type, 16px);
  padding: 1.25rem 1.5rem;
  border: none;
}

#cms.cms-id-10 .landing-financeur__brands {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.125rem 1.5rem;
  align-items: center;
}

#cms.cms-id-10 .landing-financeur__brand {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  background: transparent;
  border: none;
}

#cms.cms-id-10 .landing-financeur__brand img {
  height: 40px;
  width: auto;
  max-width: 100%;
  max-height: 40px;
  object-fit: contain;
  object-position: center;
  display: block;
}

#cms.cms-id-10 .landing-financeur__brand--galaf img {
  height: 52px;
  max-height: 52px;
}

#cms.cms-id-10 .landing-financeur__features {
  background: var(--lp-fin-beige);
  border-radius: var(--border-radius-type, 16px);
  padding: 1.75rem 5rem;
  height: 100%;
  box-sizing: border-box;
  text-align: left;
  /* Alignement liste / cases : même retrait que le titre à droite du logo */
  --lf-features-icon-col: 4.25rem;
  --lf-features-head-gap: 1rem;
}

@media (max-width: 1199.98px) {
  #cms.cms-id-10 .landing-financeur__features {
    padding: 1.75rem 3rem;
  }
}

#cms.cms-id-10 .landing-financeur__features-head {
  display: flex;
  align-items: flex-start;
  gap: var(--lf-features-head-gap);
  margin-bottom: 1.25rem;
}

#cms.cms-id-10 .landing-financeur__features-icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--lf-features-icon-col);
  height: var(--lf-features-icon-col);
}

#cms.cms-id-10 .landing-financeur__features-icon .cev-lucide {
  width: 4rem;
  height: 4rem;
  color: var(--secondary-color);
}

#cms.cms-id-10 .landing-financeur__h3 {
  font-size: clamp(1.1rem, 2vw, 1.35rem);
  font-weight: 600;
  color: var(--secondary-color);
  margin: 0;
  line-height: 1.35;
  text-align: left;
  flex: 1;
  min-width: 0;
}

#cms.cms-id-10 .landing-financeur__h3 strong {
  font-weight: 700;
  color: inherit;
}

#cms.cms-id-10 .landing-financeur__features-list {
  list-style: none;
  margin: 0;
  padding: 0;
  /* Aligné sous le bord droit du picto Lucide (visuel maquette) */
  margin-left: 50px;
}

#cms.cms-id-10 .landing-financeur__features-list li {
  position: relative;
  padding-left: 2rem;
  margin-bottom: 0.65rem;
  font-size: 1rem;
  line-height: 1.45;
  color: var(--secondary-color);
  text-align: left;
}

#cms.cms-id-10 .landing-financeur__features-list li:last-child {
  margin-bottom: 0;
}

#cms.cms-id-10 .landing-financeur__features-cta {
  margin-top: 1.5rem;
  margin-left: 50px;
}

#cms.cms-id-10 .landing-financeur__btn-contact,
#cms.cms-id-10 a.btn.landing-financeur__btn-contact {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  background: transparent;
  color: var(--secondary-color) !important;
  border: 2px solid var(--primary-color);
  border-radius: 999px !important;
  --bs-btn-border-radius: 999px !important;
  padding: 0.55rem 1.35rem;
  font-weight: 600;
  font-size: 0.9rem;
  letter-spacing: 0.02em;
  text-decoration: none !important;
  transition:
    background 0.2s ease,
    color 0.2s ease,
    transform 0.2s ease,
    box-shadow 0.2s ease;
}

#cms.cms-id-10 .landing-financeur .landing-financeur__btn-contact:hover,
#cms.cms-id-10 .landing-financeur .landing-financeur__btn-contact:focus-visible,
#cms.cms-id-10 a.btn.landing-financeur__btn-contact:hover,
#cms.cms-id-10 a.btn.landing-financeur__btn-contact:focus-visible {
  background: var(--primary-color);
  color: var(--contrast-white-color) !important;
  border-radius: 999px !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
}

/* Case à cocher outlined + coche en primary-color */
#cms.cms-id-10 .landing-financeur__features-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.2rem;
  width: 1.125rem;
  height: 1.125rem;
  box-sizing: border-box;
  border: 2px solid var(--primary-color);
  border-radius: 4px;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M3.5 8.2 6.4 11.1 12.5 5' stroke='%23f23648' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-size: 0.7rem;
  background-position: center;
  background-repeat: no-repeat;
}

/* Tablette / mobile : picto au-dessus du titre (sous le breakpoint lg) */
@media (max-width: 991.98px) {
  #cms.cms-id-10 .landing-financeur__features {
    padding: 1.75rem clamp(1.25rem, 4vw, 2.5rem);
  }

  #cms.cms-id-10 .landing-financeur__features-head {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
  }

  #cms.cms-id-10 .landing-financeur__h3 {
    width: 100%;
  }

  #cms.cms-id-10 .landing-financeur__features-list {
    margin-left: 0;
  }

  #cms.cms-id-10 .landing-financeur__features-cta {
    margin-left: 0;
  }
}

/* Comment ça marche */
#cms.cms-id-10 .landing-financeur__how {
  background: var(--neutral-color, #f6f6f6);
  /* #160 — supprimer la fine ligne blanche avant le footer */
  position: relative;
  top: 8px;
  margin-bottom: -8px;
}

#cms.cms-id-10 .landing-financeur__how-inner {
  background: var(--secondary-color);
  border-radius: var(--border-radius-type, 16px);
  padding: 2rem 5rem 2.25rem;
  color: var(--contrast-white-color);
}

@media (max-width: 1199.98px) {
  #cms.cms-id-10 .landing-financeur__how-inner {
    padding: 2rem 3rem 2.25rem;
  }
}

@media (max-width: 991.98px) {
  #cms.cms-id-10 .landing-financeur__how-inner {
    padding: 2rem clamp(1.25rem, 4vw, 2.5rem) 2.25rem;
  }
}

#cms.cms-id-10 .landing-financeur__how-title {
  font-size: clamp(1.35rem, 2.5vw, 1.65rem);
  font-weight: 700;
  margin: 0 0 1.25rem;
  text-align: start;
  /* Blanc explicite (priorité sur les styles globaux des titres) */
  color: #fff !important;
  /* Aligné verticalement avec la colonne de texte des étapes (= pastille + gap, comme dans chaque li) */
  padding-inline-start: calc(2.25rem + 1rem);
}

#cms.cms-id-10 .landing-financeur__how-steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1.15rem;
}

#cms.cms-id-10 .landing-financeur__how-steps li {
  display: grid;
  grid-template-columns: 2.25rem minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
  font-size: 1rem;
  line-height: 1.45;
}

#cms.cms-id-10 .landing-financeur__how-text {
  color: var(--contrast-white-color);
  padding-top: calc((2.25rem - 1.45em) / 2);
}

#cms.cms-id-10 .landing-financeur__how-num {
  flex-shrink: 0;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  background: var(--lp-fin-red);
  color: var(--contrast-white-color);
  font-weight: 700;
  font-size: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

#cms.cms-id-10 .landing-financeur__how-text strong {
  font-weight: 700;
  color: var(--contrast-white-color);
}

#cms.cms-id-10 .landing-financeur__how-aside {
  display: flex;
  justify-content: flex-start;
}

@media (min-width: 992px) {
  #cms.cms-id-10 .landing-financeur__how-aside {
    justify-content: flex-start;
    align-self: center;
  }
}

#cms.cms-id-10 .landing-financeur__how-cta {
  margin-top: 0;
  display: flex;
  justify-content: flex-start;
  width: 100%;
}

@media (max-width: 991.98px) {
  #cms.cms-id-10 .landing-financeur__how-cta {
    margin-top: 0.5rem;
    justify-content: flex-start;
  }
}

#cms.cms-id-10 .landing-financeur__btn-cta-red,
#cms.cms-id-10 a.btn.landing-financeur__btn-cta-red {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  background: var(--lp-fin-red);
  color: var(--contrast-white-color) !important;
  border: none;
  border-radius: 999px !important;
  --bs-btn-border-radius: 999px !important;
  padding: 0.55rem 1.25rem;
  font-weight: 600;
  font-size: 0.9rem;
  letter-spacing: 0.02em;
  text-decoration: none !important;
  transition:
    background 0.2s ease,
    color 0.2s ease,
    transform 0.2s ease,
    box-shadow 0.2s ease;
}

#cms.cms-id-10 .landing-financeur .landing-financeur__btn-cta-red:hover,
#cms.cms-id-10 .landing-financeur .landing-financeur__btn-cta-red:focus-visible,
#cms.cms-id-10 a.btn.landing-financeur__btn-cta-red:hover,
#cms.cms-id-10 a.btn.landing-financeur__btn-cta-red:focus-visible {
  background: var(--contrast-white-color);
  color: var(--primary-color) !important;
  border-radius: 999px !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18);
}

@media (max-width: 991.98px) {
  #cms.cms-id-10 .landing-financeur__btn-cta-red {
    width: 100%;
    justify-content: center;
  }
}

#cms.cms-id-10 .landing-financeur .btn:hover {
  box-shadow: var(--bs-box-shadow-sm) !important;
}

/* #cms.cms-id-10 container section {
  padding-inline: 0;
  width: 100%;
} */

/* ——— CMS 11 + FAQ module : alignement fil d'Ariane, pleine largeur utile ——— */
#cms.cms-id-11 #wrapper > .container,
#module-ps_cev_faq-faq #wrapper > .container,
body.cev-faq-page #wrapper > .container {
  background: transparent;
  padding-top: 0;
  padding-inline: max(
      var(--padding-inline-base, 1rem),
      env(safe-area-inset-left, 0px)
    )
    max(var(--padding-inline-base, 1rem), env(safe-area-inset-right, 0px));
  box-sizing: border-box;
}

#cms.cms-id-11 .breadcrumb,
#module-ps_cev_faq-faq .breadcrumb,
body.cev-faq-page .breadcrumb {
  padding-inline: 0;
  margin-bottom: 0.75rem;
}

#cms.cms-id-11 #wrapper > .container > .row,
#module-ps_cev_faq-faq #wrapper > .container > .row,
body.cev-faq-page #wrapper > .container > .row {
  margin-inline: 0;
  --bs-gutter-x: 0;
}

#cms.cms-id-11 #content-wrapper,
#module-ps_cev_faq-faq #content-wrapper,
body.cev-faq-page #content-wrapper {
  padding-inline: 0;
  padding-top: 0;
  flex: 0 0 100%;
  max-width: 100%;
  width: 100%;
}

#cms.cms-id-11 #main,
#module-ps_cev_faq-faq #main,
body.cev-faq-page #main {
  padding-inline: 0;
  padding-top: 0;
  margin-top: 0;
}

#cms.cms-id-11 #main > header.page-header,
#module-ps_cev_faq-faq #main > header.page-header,
body.cev-faq-page #main > header.page-header {
  display: none;
}

#cms.cms-id-11 #main #content.page-content,
#cms.cms-id-11 #content,
#module-ps_cev_faq-faq #main #content.page-content,
body.cev-faq-page #main #content.page-content {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  max-width: 100% !important;
  width: 100%;
  margin-inline: 0;
  padding-inline: 0 !important;
  padding-block: 0;
}

#cms.cms-id-11 .landing-service-client__panel.separate_option {
  background-color: var(--contrast-white-color);
  border-radius: var(--border-radius-type);
  border: 2px solid var(--primary-color);
}

#cms.cms-id-11 .landing-service-client__brand {
  margin: 0 0 1rem;
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--text-color);
}

#cms.cms-id-11 .landing-service-client__intro {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 0;
}

/* Encadré gris + picto header (customer-service.svg), plus grand que la barre nav */
#cms.cms-id-11 .landing-service-client__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 3.75rem;
  height: 3.75rem;
  border-radius: var(--border-radius-type-small, 8px);
  background: var(--neutral-color-secondary);
}

#cms.cms-id-11 .landing-service-client__icon .customer-service-icon {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  background-color: var(--primary-color);
  mask-image: url("../img/customer-service.svg");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  -webkit-mask-image: url("../img/customer-service.svg");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
}

#cms.cms-id-11 .landing-service-client__lead {
  margin: 0;
  flex: 1 1 auto;
  min-width: 0;
  font-size: 1rem;
  line-height: 1.55;
  color: var(--text-color);
}

#cms.cms-id-11 .landing-service-client__divider {
  margin: 1.25rem 0;
  border-color: var(--neutral-color-border);
  opacity: 1;
}

#cms.cms-id-11 .landing-service-client__section-title {
  margin: 0 0 0.5rem;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--text-color);
}

#cms.cms-id-11 .landing-service-client__hours {
  margin: 0;
  font-size: 1rem;
  line-height: 1.55;
  color: var(--text-color);
}

#cms.cms-id-11 .landing-service-client__contact {
  margin-top: 1.25rem;
}

#cms.cms-id-11 .landing-service-client__contact-label {
  display: block;
  margin-bottom: 0.35rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--text-color);
}

#cms.cms-id-11 .landing-service-client__email {
  display: inline-block;
  font-size: 1rem;
  font-weight: 600;
  color: var(--primary-color) !important;
  text-decoration: none;
  word-break: break-word;
  transition: opacity 0.2s ease;
}

#cms.cms-id-11 .landing-service-client__email:hover {
  opacity: 0.85;
  text-decoration: underline;
}

@media (max-width: 767.98px) {
  #cms.cms-id-11 .landing-service-client .container {
    padding-inline: var(--padding-inline-base, 1rem);
  }

  #cms.cms-id-11 .landing-service-client__intro {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
}

/* ——— Service client hub + FAQ (CMS 11, module ps_cev_faq) ——— */
#cms.cms-id-11 .cev-service-hub,
#module-ps_cev_faq-faq .cev-service-hub,
body.cev-faq-page .cev-service-hub {
  margin-top: 0;
  padding-bottom: 2rem;
}

#cms.cms-id-11 .cev-service-aside,
#module-ps_cev_faq-faq .cev-service-aside,
body.cev-faq-page .cev-service-aside {
  background: var(--contrast-white-color, #fff);
  border: 2px solid var(--primary-color);
  border-radius: var(--border-radius-type, 16px);
  padding: 1.25rem 1.5rem;
}

#cms.cms-id-11 .cev-service-aside__title,
#module-ps_cev_faq-faq .cev-service-aside__title,
body.cev-faq-page .cev-service-aside__title {
  margin: 0 0 0.75rem;
  font-size: 1rem;
  font-weight: 600;
  color: var(--text-color, #1a1a1a);
}

#cms.cms-id-11 .cev-service-aside__text,
#module-ps_cev_faq-faq .cev-service-aside__text,
body.cev-faq-page .cev-service-aside__text {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.5;
  color: var(--text-color-grey, #6c757d);
}

#cms.cms-id-11 .cev-service-hub__lead,
#module-ps_cev_faq-faq .cev-service-hub__lead,
body.cev-faq-page .cev-service-hub__lead {
  margin: 0 0 1.25rem;
  font-size: 1rem;
  line-height: 1.55;
  color: var(--text-color-grey, #6c757d);
  text-align: center;
}

#cms.cms-id-11 .cev-service-hub__main--centered {
  width: 100%;
  max-width: 72rem;
  margin-inline: auto;
}

#cms.cms-id-11 .cev-service-hub__cards {
  justify-content: center;
}

#cms.cms-id-11 .cev-service-card,
#module-ps_cev_faq-faq .cev-service-card,
body.cev-faq-page .cev-service-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  height: 100%;
  padding: 1.5rem;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 16px;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.06);
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

#cms.cms-id-11 .cev-service-card:hover,
#module-ps_cev_faq-faq .cev-service-card:hover:not(.cev-service-card--disabled),
body.cev-faq-page .cev-service-card:hover:not(.cev-service-card--disabled) {
  border-color: var(--primary-color);
  box-shadow: 0 8px 24px rgba(196, 30, 58, 0.12);
  transform: translateY(-2px);
}

#cms.cms-id-11 .cev-service-card__icon,
#module-ps_cev_faq-faq .cev-service-card__icon,
body.cev-faq-page .cev-service-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  margin-bottom: 1rem;
  border-radius: 50%;
  background: rgba(196, 30, 58, 0.1);
  color: var(--primary-color);
  font-size: 1.35rem;
}

#cms.cms-id-11 .cev-service-card__title,
#module-ps_cev_faq-faq .cev-service-card__title,
body.cev-faq-page .cev-service-card__title {
  margin: 0 0 0.75rem;
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--text-color, #1a1a1a);
}

#cms.cms-id-11 .cev-service-card__text,
#module-ps_cev_faq-faq .cev-service-card__text,
body.cev-faq-page .cev-service-card__text {
  flex: 1;
  margin: 0 0 1.25rem;
  font-size: 0.9rem;
  line-height: 1.5;
  color: var(--text-color-grey, #6c757d);
}

#cms.cms-id-11 .cev-service-card__btn,
#cms.cms-id-11 a.btn.cev-service-card__btn,
#module-ps_cev_faq-faq .cev-service-card__btn,
#module-ps_cev_faq-faq a.btn.cev-service-card__btn,
body.cev-faq-page .cev-service-card__btn,
body.cev-faq-page a.btn.cev-service-card__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 8.5rem;
  padding: 0.55rem 1.25rem;
  border-radius: 999px !important;
  --bs-btn-border-radius: 999px !important;
  border: 1px solid var(--primary-color) !important;
  background-color: var(--primary-color) !important;
  color: var(--contrast-white-color, #fff) !important;
  font-size: 0.875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  text-decoration: none !important;
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease,
    transform 0.2s ease,
    opacity 0.2s ease;
}

#cms.cms-id-11 .cev-service-card__btn:hover,
#cms.cms-id-11 a.btn.cev-service-card__btn:hover,
#cms.cms-id-11 .cev-service-card__btn:focus-visible,
#cms.cms-id-11 a.btn.cev-service-card__btn:focus-visible,
#module-ps_cev_faq-faq .cev-service-card__btn:hover,
#module-ps_cev_faq-faq a.btn.cev-service-card__btn:hover,
#module-ps_cev_faq-faq .cev-service-card__btn:focus-visible,
#module-ps_cev_faq-faq a.btn.cev-service-card__btn:focus-visible,
body.cev-faq-page .cev-service-card__btn:hover,
body.cev-faq-page a.btn.cev-service-card__btn:hover,
body.cev-faq-page .cev-service-card__btn:focus-visible,
body.cev-faq-page a.btn.cev-service-card__btn:focus-visible {
  color: var(--contrast-white-color, #fff) !important;
  background-color: var(--primary-color-hover, #a81830) !important;
  border-color: var(--primary-color-hover, #a81830) !important;
  transform: translateY(-1px);
}

#cms.cms-id-11 .cev-service-card--disabled,
#module-ps_cev_faq-faq .cev-service-card--disabled,
body.cev-faq-page .cev-service-card--disabled {
  opacity: 0.92;
}

#cms.cms-id-11 .cev-service-card__btn--muted,
#cms.cms-id-11 span.btn.cev-service-card__btn--muted,
#module-ps_cev_faq-faq .cev-service-card__btn--muted,
#module-ps_cev_faq-faq span.btn.cev-service-card__btn--muted,
body.cev-faq-page .cev-service-card__btn--muted,
body.cev-faq-page span.btn.cev-service-card__btn--muted {
  background-color: var(--primary-color) !important;
  border: 1px solid var(--primary-color) !important;
  color: var(--contrast-white-color, #fff) !important;
  opacity: 0.72;
  cursor: default;
  pointer-events: none;
  transform: none;
}

#module-ps_cev_faq-faq .cev-faq-nav,
body.cev-faq-page .cev-faq-nav {
  margin-top: 0;
}

/* FAQ : pas de titre page, contenu remonté, 3 colonnes */
#module-ps_cev_faq-faq .cev-faq-page__layout,
body.cev-faq-page .cev-faq-page__layout {
  align-items: flex-start;
  --bs-gutter-x: 1rem;
  max-width: 72rem;
  margin-inline: auto;
}

#module-ps_cev_faq-faq .cev-faq-page__content .cev-service-hub__lead,
body.cev-faq-page .cev-faq-page__content .cev-service-hub__lead {
  text-align: left;
  margin-top: 0;
}

@media (min-width: 992px) {
  #module-ps_cev_faq-faq .cev-faq-page__nav,
  body.cev-faq-page .cev-faq-page__nav {
    flex: 0 0 25%;
    max-width: 25%;
  }

  #module-ps_cev_faq-faq .cev-faq-page__content,
  body.cev-faq-page .cev-faq-page__content {
    flex: 0 0 75%;
    max-width: 75%;
  }
}

#module-ps_cev_faq-faq .cev-faq-nav__list,
body.cev-faq-page .cev-faq-nav__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

#module-ps_cev_faq-faq .cev-faq-nav__item,
body.cev-faq-page .cev-faq-nav__item {
  margin: 0 0 0.35rem;
}

#module-ps_cev_faq-faq .cev-faq-nav__link,
body.cev-faq-page .cev-faq-nav__link {
  display: block;
  padding: 0.55rem 0.85rem;
  border-radius: 8px;
  color: var(--text-color, #1a1a1a);
  text-decoration: none;
  font-size: 0.9375rem;
}

#module-ps_cev_faq-faq .cev-faq-nav__item.is-active .cev-faq-nav__link,
body.cev-faq-page .cev-faq-nav__item.is-active .cev-faq-nav__link,
#module-ps_cev_faq-faq .cev-faq-nav__link:hover,
body.cev-faq-page .cev-faq-nav__link:hover {
  background: rgba(196, 30, 58, 0.08);
  color: var(--primary-color);
}

#module-ps_cev_faq-faq .cev-faq-accordion__item,
body.cev-faq-page .cev-faq-accordion__item {
  margin-bottom: 0.75rem;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
}

#module-ps_cev_faq-faq .cev-faq-accordion__question,
body.cev-faq-page .cev-faq-accordion__question {
  padding: 1rem 1.15rem;
  font-weight: 600;
  cursor: pointer;
  list-style: none;
}

#module-ps_cev_faq-faq .cev-faq-accordion__question::-webkit-details-marker,
body.cev-faq-page .cev-faq-accordion__question::-webkit-details-marker {
  display: none;
}

#module-ps_cev_faq-faq .cev-faq-accordion__answer,
body.cev-faq-page .cev-faq-accordion__answer {
  padding: 0 1.15rem 1rem;
  font-size: 0.9375rem;
  line-height: 1.55;
  color: var(--text-color-grey, #6c757d);
}

#cart .mobile-prices-block {
  display: none;
}

#blockcart-modal .modal-body .col-md-5 .row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.7rem;
  flex-wrap: wrap;
  flex-direction: column;
}

#blockcart-modal .modal-body .details-container {
  padding: 0;
  width: max-content;
  margin: 0 auto;
}

#blockcart-modal .product-image {
  padding-right: 16px;
  margin-inline: auto !important;
}

#blockcart-modal .modal-body > .row {
  /* flex-wrap: wrap; */
  gap: 0.7rem;
}

/* #blockcart-modal .modal-body > .row :last-child {
  width: fit-content;
} */

/* Tablet — footer : aligné desktop (grille) sans forcer la pile “mobile” */
@media (min-width: 768px) and (max-width: 1024px) {
  #footer .container > .row {
    display: flex;
    flex-direction: row !important;
  }

  #footer .footer-hook-before.container {
    padding-inline: clamp(1rem, 2.5vw, 1.5rem);
  }

  #footer .footer-container .footer-container__wrap {
    padding-inline: clamp(1rem, 2.5vw, 1.5rem);
  }

  #footer .footer-container .footer-container__links-row {
    flex-wrap: wrap;
    justify-content: flex-start;
    row-gap: 1.5rem;
    column-gap: 1.25rem;
  }

  #footer .footer-container .footer-container__links-row > * {
    flex: 1 1 calc(50% - 0.75rem);
    max-width: calc(50% - 0.75rem);
    min-width: min(100%, 220px);
  }

  #footer
    .footer-container
    .footer-container__links-row
    > *:nth-last-child(1):nth-child(odd) {
    flex: 1 1 100%;
    max-width: min(36rem, 100%);
    margin-inline: auto;
  }

  #footer .footer-after-container #footer_sub_menu_3 {
    justify-content: flex-end !important;
    flex-wrap: nowrap;
    margin-top: 0;
    column-gap: clamp(0.85rem, 2.2vw, 1.35rem);
    row-gap: 0.6rem;
  }

  #footer .footer-after-container .dev-version {
    text-align: center !important;
  }

  /* Blocs liens type ps_linklist (titres / listes) alignés avec la bande du bas */
  #footer
    .footer-container
    .footer-container__links-row
    .col-md-6.links
    > .row {
    justify-content: center;
  }

  #footer
    .footer-container
    .footer-container__links-row
    .col-md-6.links
    .wrapper {
    text-align: center;
  }
}

@media (max-width: 767.98px) {
  /* Panier + modale blockcart (≤ md) */

#cart .cart-container .cart-item {
  padding: 1rem !important;
  }

#cart .cart-container .cart-item:first-child {
  padding-top: 0.65rem !important;
  }

#cart .product-line-grid-body {
  background-color: transparent !important;
  padding: 0 !important;
  }

#cart .product-line-line-total {
  background-color: transparent !important;
  padding: 0 !important;
  }


  #cart .mobile-prices-block {
    display: flex !important;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.35rem;
    width: 100%;
    max-width: 100%;
    margin-inline: 0;
    text-align: left;
    box-sizing: border-box;
  }

  #cart .mobile-prices-block-qty {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.35rem;
    width: 100%;
    box-sizing: border-box;
  }

  #cart .mobile-prices-block-qty .product-line-qty-mobile {
    border: none !important;
    padding: 0 !important;
  }

  #cart .mobile-prices-block-qty .product-line-qty-mobile .gift-quantity {
    font-size: var(--product-line-detail-label-size);
  }

  #cart .product-line-grid-title {
    display: none;
  }

  #cart .mobile_product-line-info {
    font-size: 1.175rem;
    font-weight: 600;
  }

  #cart .mobile-prices-block-qty .material-icons {
    float: none !important;
    flex-shrink: 0;
  }

  #blockcart-modal .modal-body .col-md-5 .row {
    display: grid;
    grid-template-columns: 82px minmax(0, 1fr);
    gap: 0.7rem;
    align-items: start;
  }

  #blockcart-modal .modal-body .details-container {
    padding: 0;
    width: 100% !important;
    margin-inline: auto;
  }

  #blockcart-modal .modal-body > .row {
    flex-wrap: wrap;
  }

  #blockcart-modal .modal-body > .row .basket-container {
    width: 100%;
    height: fit-content;
    /* margin-inline: auto; */
  }

  #blockcart-modal .modal-body > .divide-right .row {
    margin-inline: 0;
  }

  #blockcart-modal .modal-body > .row :first-child span.property-label_price {
    display: none;
  }

  #blockcart-modal .modal-body > .row :last-child {
    /* margin-inline: auto; */
    /* width: fit-content; */
    max-width: 100%;
  }

  #blockcart-modal .modal-body > .row :last-child .cart-content-btn {
    width: 100%;
  }

  #blockcart-modal .modal-body > .row :last-child .cart-content-btn a {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.35rem;
  }

  #blockcart-modal
    .modal-body
    > .row
    :last-child
    .cart-content-btn
    a
    i.material-icons {
    margin-inline: 0;
  }

  /* Footer — colonnes liens en pile (≤ md) */
  #footer .footer-container .footer-container__links-row {
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 1rem;
    /* Évite le double écart avec .gy-4 (gouttière verticale Bootstrap) */
    --bs-gutter-y: 0;
    align-items: stretch;
  }

  /* Footer liens : pile mobile, contenu aligné à gauche */
  #footer .footer-container .footer-container__links-row > .col-md-6.links,
  #footer .footer-container .footer-container__links-row > .cev-footer-links {
    width: 100%;
    max-width: 100%;
    margin-inline: 0;
    text-align: left;
  }

  #footer .footer-container .cev-footer-links .links {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }

  #footer .footer-container .cev-footer-links .wrapper {
    width: 100%;
    max-width: 100%;
    margin-inline: 0;
    float: none;
    text-align: left;
    box-sizing: border-box;
  }

  #footer .footer-container .cev-footer-links .title.clearfix {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    width: 100%;
    max-width: 100%;
    min-height: 2.75rem;
    box-sizing: border-box;
    text-align: left;
  }

  #footer .footer-container .cev-footer-links .title.clearfix::after {
    content: none;
    display: none;
  }

  #footer .footer-container .cev-footer-links .title .h3 {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
    text-align: left;
    line-height: 1.3;
    align-self: center;
  }

  #footer .footer-container .cev-footer-links ul.collapse,
  #footer .footer-container .cev-footer-links ul[id^="footer_sub_menu_"] {
    text-align: left;
    padding: 0.35rem 0 0;
    margin-inline: 0;
    width: 100%;
    max-width: 100%;
    background-color: transparent !important;
    list-style: none;
  }

  #footer .footer-container .cev-footer-links ul[id^="footer_sub_menu_"] li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.18);
  }

  #footer .footer-container .cev-footer-links ul[id^="footer_sub_menu_"] li a {
    display: block;
    width: 100%;
    min-height: 44px;
    padding: 0.625rem 1rem;
    color: var(--contrast-white-color) !important;
    text-align: left;
    box-sizing: border-box;
    border-radius: var(--border-radius-type-small);
    background-color: transparent;
  }

  #footer
    .footer-container
    .footer-container__links-row
    .col-md-6.links
    > .row {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    margin-inline: 0;
    width: 100%;
    row-gap: 1.25rem;
  }

  #footer
    .footer-container
    .footer-container__links-row
    .col-md-6.links
    > .row
    > .wrapper {
    width: 100%;
    max-width: 100%;
    margin-inline: 0;
    float: none;
    text-align: left;
    box-sizing: border-box;
  }

  /* Une seule ligne titre + toggle, pleine largeur (éviter le ::after du .clearfix en 3e flex item) */
  #footer
    .footer-container
    .footer-container__links-row
    .col-md-6.links
    .title.clearfix {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    width: 100%;
    max-width: 100%;
    min-height: 2.75rem;
    box-sizing: border-box;
    text-align: left;
  }

  #footer
    .footer-container
    .footer-container__links-row
    .col-md-6.links
    .title.clearfix::after {
    content: none;
    display: none;
  }

  #footer
    .footer-container
    .footer-container__links-row
    .col-md-6.links
    .title
    .h3 {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
    text-align: left;
    line-height: 1.3;
    align-self: center;
  }

  #footer
    .footer-container
    .footer-container__links-row
    .col-md-6.links
    .title
    .float-xs-right {
    float: none !important;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    align-self: center;
  }

  #footer
    .footer-container
    .footer-container__links-row
    .col-md-6.links
    .title
    .navbar-toggler.collapse-icons {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
  }

  #footer
    .footer-container
    .footer-container__links-row
    .col-md-6.links
    .title
    .navbar-toggler.collapse-icons
    .material-icons {
    line-height: 1;
    vertical-align: middle;
  }

  #footer
    .footer-container
    .footer-container__links-row
    .col-md-6.links
    p.h3.hidden-sm-down {
    text-align: left;
  }

  #footer
    .footer-container
    .footer-container__links-row
    .col-md-6.links
    ul.collapse,
  #footer
    .footer-container
    .footer-container__links-row
    .col-md-6.links
    ul[id^="footer_sub_menu_"] {
    text-align: left;
    padding-inline-start: 1.25rem;
    margin-inline: 0;
    width: 100%;
    max-width: 100%;
  }

  #footer .footer-container .footer-container__links-row .col-md-6.links ul li {
    text-align: left;
  }

  #footer
    .footer-container
    .footer-container__links-row
    .col-md-6.links
    ul
    li
    a {
    display: inline-block;
    text-align: left;
  }

  /* Bloc « Liens bas de page » (#footer_sub_menu_3) dans la grille footer — même traitement mobile */
  #footer .footer-container .footer-container__links-row #footer_sub_menu_3 {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    padding-inline-start: 0 !important;
    list-style: none !important;
  }

  #footer .footer-container .footer-container__links-row #footer_sub_menu_3 li {
    display: block !important;
    width: 100%;
  }

  #footer .footer-container .footer-container__links-row #footer_sub_menu_3 li a {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 44px;
    padding: 0.625rem 0.25rem !important;
    box-sizing: border-box;
    white-space: normal !important;
    text-align: left;
  }
}

@media (min-width: 768px) and (max-width: 1024.98px) {
  #footer .footer-container .cev-footer-links .links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 768px) {
  #footer .footer-container .footer-container__links-row {
    justify-content: flex-start;
  }

  #footer .footer-container .footer-container__brand-row {
    margin-top: 0.75rem;
    padding-top: 0;
    padding-bottom: 1rem;
    border-top: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
  }
}

/* Layout global : tablette + mobile (≤ 1024px, nav drawer) */
@media (max-width: 1024px) {
  body {
    width: 100vw;
  }

  .container {
    width: 100%;
    max-width: 100%;
    height: 100%;
  }

  /* Header : les .container Bootstrap ne doivent plus être bridés en largeur (mobile + tablette) */
  #header {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  #header .header-nav,
  #header .header-top {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  #header .header-nav > .container,
  #header .header-top > .container {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box;
  }

  .container .row {
    width: auto;
    height: 100%;
  }

  .container .header-top-right {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
  }

  /* Menu mobile & tablette : barre compacte + drawer fonctionnel (tenant principal et tenants secondaires). */
  .header-nav {
    min-height: 52px;
    height: auto;
    max-height: none;
    padding-block: 0.75rem !important;
    /* padding-left: max(var(--padding-inline-base), env(safe-area-inset-left, 0px));
    padding-right: max(var(--padding-inline-base), env(safe-area-inset-right, 0px)); */
    background-color: #fff;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);
  }

  #header .header-nav {
    max-height: none !important;
  }

  #header .header-nav .header-nav__desktop {
    display: none !important;
  }

  #header .header-nav .header-nav__mobile.mobile-header {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: clamp(0.35rem, 1.5vw, 0.75rem);
    width: 100%;
    padding-inline: 0;
  }

  /* CMS : la barre mobile a son propre padding-inline:0 ci-dessus — on remet une gouttière (icônes panier / compte) */
  #cms #header .header-nav .header-nav__mobile.mobile-header {
    padding-inline: max(
        var(--padding-inline-base, 1rem),
        env(safe-area-inset-left, 0px)
      )
      max(var(--padding-inline-base, 1rem), env(safe-area-inset-right, 0px)) !important;
    box-sizing: border-box;
  }

  #header .header-nav .mobile-header__menu#menu-icon {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    margin: 0;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }

  #header .header-nav .mobile-header__menu#menu-icon .material-icons {
    color: var(--primary-color) !important;
    font-size: 1.75rem;
    line-height: 1;
  }

  #header .header-nav .mobile-header__logo#_mobile_logo {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-inline: 0.25rem;
  }

  #header .header-nav .mobile-header__logo h1 {
    height: auto;
    width: fit-content;
    max-width: 100%;
    margin: 0;
    display: inline-flex !important;
    align-items: center;
    font-size: inherit;
    line-height: 1;
  }

  #header .header-nav .mobile-header__logo h1 a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    max-width: 100%;
    padding-block: 0.15rem;
  }

  #header .header-nav .mobile-header__logo img.logo,
  #header .header-nav .mobile-header__logo .logo.img-fluid,
  #header .header-nav .mobile-header__logo img.cev-tenant-logo {
    max-height: 44px;
    width: auto;
    max-width: min(220px, 46vw);
    height: auto;
    object-fit: contain;
  }

  #header .header-nav .mobile-header__actions {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0;
    color: #000;
  }

  #header .header-nav .mobile-header__actions .icon-container {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0;
    flex: 0 0 auto;
    margin: 0;
    padding: 0;
  }

  #header .header-nav .mobile-header__actions .icon-container > div {
    margin: 0;
    padding: 0;
  }

  #header .header-nav .mobile-header__actions .icon-container i {
    margin: 0;
    padding: 0;
  }

  /*
   * Même rendu « barre mobile » du téléphone jusqu’à 1024px (tablette) :
   * hors XS, Bootstrap ne masque plus .hidden-sm-down → libellés / liens desktop réapparaissent.
   */
  #header .header-nav .mobile-header__actions .hidden-sm-down {
    display: none !important;
  }

  #header .header-nav .mobile-header__actions .header_icon-user,
  #header .header-nav .mobile-header__actions .header_icon-basket {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
  }

  #header .header-nav .mobile-header__actions .header_user-name {
    display: inline-flex !important;
  }

  #header .header-nav #_mobile_user_info,
  #header .header-nav #_mobile_cart {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
  }

  #header .header-nav #_mobile_user_info .user-info {
    margin: 0;
    padding: 0;
    gap: 0.25rem;
    text-align: initial;
  }

  #header .header-nav .header-nav__mobile .header_icon-user {
    margin: 0;
  }

  #header .header-nav #_mobile_user_info > .user-info > .cev-header-account > a.cev-header-account__trigger,
  #header .header-nav #_mobile_user_info a.cev-header-account__trigger,
  #header .header-nav #_mobile_cart .header a,
  #header .header-nav #_mobile_cart a {
    min-width: 44px;
    min-height: 44px;
    margin: 0;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  /* Ne pas appliquer le tap-target 44px / padding 0 aux rubriques du panneau compte. */
  #header .header-nav #_mobile_user_info .cev-header-account__link {
    min-width: 0;
    min-height: 0;
    width: 100%;
    padding: 0.55rem 0.85rem;
    display: flex;
    align-items: center;
    justify-content: flex-start;
  }

  #header .header-nav #_mobile_cart .blockcart {
    margin: 0;
    padding: 0;
    background-color: transparent;
  }

  #header .header-nav #_mobile_cart .blockcart .header {
    min-height: 44px;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  /* Le drawer vit dans .header-top : ne pas masquer tout le bloc */
  .header-top {
    display: block;
    padding: 0 !important;
    border: 0;
    background: transparent;
    padding-top: 0 !important;
  }

  .header-top__desktop-row {
    display: none !important;
  }

  .header-top .container .header-top-right {
    width: 100%;
  }

  .header-top .container .header-top-right span.hidden-lg-down {
    display: none;
  }

  #blockcart-modal .modal-body .divide-right {
    width: 100%;
    height: fit-content;
    /* margin-inline: auto; */
    display: flex;
    align-items: center;
    /* justify-content: center; */
  }

  #header .blockcart img {
    height: 24px;
    width: auto;
    transform: translateY(3px);
  }

  #header .blockcart .cart-products-count {
    left: 64%;
    top: -1px;
    right: auto;
    transform: translate(-38%, -82%);
  }

  #mobile_top_menu_wrapper.header-mobile-drawer {
    width: 98%;
    max-width: 100%;
    margin: 0 auto;
    margin-top: 1rem !important;
    padding: 0 0 0.5rem;
    background: #fff;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
    /* Hauteur = viewport moins la barre mobile, pour un panneau pleine page */
    min-height: calc(100dvh - 5.5rem - env(safe-area-inset-bottom));
    max-height: calc(100dvh - 5.5rem - env(safe-area-inset-bottom));
    /* Évite que les lignes flex (classe .row) s'étirent sur la hauteur min. : blocs = hauteur du contenu */
    align-content: flex-start;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    z-index: 1000;
    position: fixed;
    top: calc(4rem + env(safe-area-inset-bottom));
    left:  env(safe-area-inset-left);
    right:  env(safe-area-inset-right);
    bottom:  env(safe-area-inset-bottom);
  }

  #mobile_top_menu_wrapper.header-mobile-drawer .mobile-drawer-searchbar {
    padding: 0 max(var(--padding-inline-base), env(safe-area-inset-left, 0px))
      max(var(--padding-inline-base), env(safe-area-inset-right, 0px));
    margin: 0 0 0.35rem;
    box-sizing: border-box;
    width: 100%;
  }

  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-drawer-searchbar
    .search-widgets {
    float: none;
    margin: 0;
    width: 100%;
    max-width: none;
    margin-top: 0;
    margin-right: 0;
  }

  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-drawer-searchbar
    .search-widgets__form {
    min-height: 3rem;
    border-radius: var(--border-radius-type-small, 6px);
    border: 1px solid var(--neutral-color-secondary);
  }

  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-drawer-searchbar
    .search-widgets__input {
    font-size: 1rem;
    min-height: 3rem;
  }

  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-drawer-searchbar
    .search-widgets__submit,
  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-drawer-searchbar
    .search-widgets__clear {
    width: 3rem;
    min-width: 3rem;
    height: 100%;
    transform: translateY(50%);
  }

  #mobile_top_menu_wrapper.header-mobile-drawer .js-top-menu.mobile {
    padding: 0.5rem var(--padding-inline-base) 0;
  }

  #mobile_top_menu_wrapper.header-mobile-drawer .mobile-menu-accordion {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    width: 100%;
    background-color: var(--neutral-color-secondary);
    border-radius: var(--border-radius-type-small);
  }

  #mobile_top_menu_wrapper.header-mobile-drawer .mobile-menu-accordion__panel {
    border-radius: var(--border-radius-type-small);
    background: transparent;
    overflow: hidden;
  }

  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-accordion__summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.8rem 1rem;
    font-weight: 600;
    font-size: 1rem;
    color: var(--text-color);
    cursor: pointer;
    list-style: none;
    user-select: none;
    transition:
      background-color 0.2s ease,
      color 0.2s ease;
  }

  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-accordion__summary:hover {
    background-color: var(--text-color-grey-hover, #e2e1e6);
  }

  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-accordion__summary:focus {
    outline: none;
  }

  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-accordion__summary:focus-visible {
    outline: 2px solid var(--primary-color);
    outline-offset: 2px;
  }

  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-accordion__summary::-webkit-details-marker {
    display: none;
  }

  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-accordion__summary
    span {
    display: block;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--text-color);
  }

  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-accordion__chevron {
    font-size: 1.35rem;
    transition:
      transform 0.2s ease,
      color 0.2s ease;
    color: var(--primary-color);
  }

  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-accordion__panel[open]
    .mobile-menu-accordion__chevron {
    transform: rotate(180deg);
  }

  #mobile_top_menu_wrapper.header-mobile-drawer .mobile-menu-accordion__body {
    padding: 0 1rem 0.85rem;
    background: var(--nav-color, #fbfcfc);
  }

  #mobile_top_menu_wrapper.header-mobile-drawer .mobile-menu-accordion__list {
    margin: 0.5rem 0 0;
    padding: 0;
    list-style: none;
  }

  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-accordion__list
    li {
    margin: 0;
    padding: 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  }

  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-accordion__list
    li:last-child {
    border-bottom: 0;
  }

  #mobile_top_menu_wrapper.header-mobile-drawer .mobile-menu-accordion__list a {
    display: block;
    padding: 0.55rem 0;
    color: inherit;
    text-decoration: none;
  }

  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-accordion__list
    a:hover,
  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-accordion__list
    a:focus {
    color: var(--primary-color);
  }

  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-accordion__body--brands,
  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-accordion__body--top-categ,
  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-accordion__body--products {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
  }

  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-accordion__list--brands,
  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-accordion__list--top-categ {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-accordion__list--brands
    li,
  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-accordion__list--top-categ
    li {
    margin: 0;
    padding: 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  }

  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-accordion__list--brands
    li:last-child,
  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-accordion__list--top-categ
    li:last-child {
    border-bottom: 0;
  }

  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-accordion__list--brands
    a,
  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-accordion__list--top-categ
    a {
    display: block;
    padding: 0.55rem 0;
    color: inherit;
    text-decoration: none;
    font-weight: 500;
    font-size: 0.9rem;
  }

  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-accordion__list--brands
    a:hover,
  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-accordion__list--brands
    a:focus,
  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-accordion__list--top-categ
    a:hover,
  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-accordion__list--top-categ
    a:focus {
    color: var(--primary-color);
  }

  /* Liens « toutes les catégories / toutes les enseignes » : même style discret (souligné) */
  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-brands-all-btn.btn-primary,
  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-categories-all-btn.btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: auto;
    padding: 0.4rem 0.75rem;
    margin-top: 0.35rem;
    border-radius: var(--border-radius-type-small);
    font-weight: 500 !important;
    font-size: 0.8125rem;
    line-height: 1.35;
    text-align: center;
    text-transform: none !important;
    letter-spacing: normal;
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
    color: var(--primary-color) !important;
    background-color: transparent !important;
    border: 1px solid var(--primary-color) !important;
    box-sizing: border-box;
    transition:
      background-color 0.2s ease,
      border-color 0.2s ease,
      color 0.2s ease;
    box-shadow: none;
  }

  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-categories-all-btn.btn-primary,
  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-brands-all-btn.btn-primary {
    font-weight: 600 !important;
  }

  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-bottom__account-links
    > a.logout:not(.mobile-menu-logout) {
    font-weight: 600 !important;
  }

  /* CTAs crédit cadeau : taille réduite, pas de capitales automatiques */
  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-bottom__credits-links
    > .mobile-menu-cta.btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 40px;
    padding: 0.7rem 0.85rem;
    border-radius: var(--border-radius-type-small);
    font-weight: 600 !important;
    font-size: 0.8125rem;
    line-height: 1.35;
    text-align: center;
    text-transform: none !important;
    letter-spacing: normal;
    box-sizing: border-box;
    margin-top: 0.15rem;
    transition:
      background-color 0.2s ease,
      border-color 0.2s ease,
      color 0.2s ease,
      box-shadow 0.2s ease;
  }

  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-bottom__credits-links
    > a.btn-primary img {
      color: var(--contrast-white-color) !important;
  }

  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-bottom__credits-links {
    margin-bottom: 1.775rem;
  }

  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-bottom__credits-links a.btn {
      font-size: 1rem !important;
      gap: 0.5rem !important;
  }

  /* CTAs crédit cadeau : état par défaut identique (gris), survol = primaire + texte blanc */
  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-bottom__credits-links
    > .mobile-menu-cta.btn-primary:first-child {
    margin-bottom: 0.5rem;
  }

  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-bottom__credits-links
    > .mobile-menu-cta.btn-primary:first-child,
  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-bottom__credits-links
    > .mobile-menu-cta.btn-primary:nth-child(2) {
    color: var(--text-color) !important;
    background-color: var(--neutral-color-secondary) !important;
    box-shadow: none;
    border: none !important;
    text-decoration: none;
  }

  /* Icônes blanches des SVG : lisibles sur fond gris, puis blanches au survol */
  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-bottom__credits-links
    > .mobile-menu-cta.btn-primary
    img.menu-icon {
    filter: brightness(0);
    opacity: 0.85;
    transition:
      filter 0.2s ease,
      opacity 0.2s ease;
  }

  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-bottom__credits-links
    > .mobile-menu-cta.btn-primary:hover
    img.menu-icon,
  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-bottom__credits-links
    > .mobile-menu-cta.btn-primary:focus-visible
    img.menu-icon {
    filter: brightness(0) invert(1);
    opacity: 1;
  }

  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-brands-all-btn.btn-primary:hover,
  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-brands-all-btn.btn-primary:focus,
  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-categories-all-btn.btn-primary:hover,
  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-categories-all-btn.btn-primary:focus {
    opacity: 1;
    color: var(--contrast-white-color) !important;
    background-color: var(--primary-color-hover) !important;
    border-color: var(--primary-color-hover) !important;
    text-decoration: underline;
    box-shadow: none;
  }

  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-bottom__credits-links
    > .mobile-menu-cta.btn-primary:first-child:hover,
  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-bottom__credits-links
    > .mobile-menu-cta.btn-primary:first-child:focus,
  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-bottom__credits-links
    > .mobile-menu-cta.btn-primary:nth-child(2):hover,
  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-bottom__credits-links
    > .mobile-menu-cta.btn-primary:nth-child(2):focus {
    opacity: 1;
    color: var(--contrast-white-color) !important;
    background-color: var(--primary-color) !important;
    border: 1px solid var(--primary-color) !important;
    text-decoration: none;
    box-shadow: none;
  }

  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-brands-all-btn.btn-primary:active,
  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-categories-all-btn.btn-primary:active {
    background-color: var(--primary-color-active) !important;
    border-color: var(--primary-color-active) !important;
    text-decoration: underline;
    box-shadow: none;
  }

  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-bottom__credits-links
    > .mobile-menu-cta.btn-primary:first-child:active,
  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-bottom__credits-links
    > .mobile-menu-cta.btn-primary:nth-child(2):active {
    color: var(--contrast-white-color) !important;
    background-color: var(--primary-color-active) !important;
    border-color: var(--primary-color-active) !important;
    box-shadow: none;
  }

  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-bottom__credits-links
    > .mobile-menu-cta.btn-primary:first-child:active
    img.menu-icon,
  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-bottom__credits-links
    > .mobile-menu-cta.btn-primary:nth-child(2):active
    img.menu-icon {
    filter: brightness(0) invert(1);
    opacity: 1;
  }

  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-brands-all-btn.btn-primary:focus-visible,
  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-categories-all-btn.btn-primary:focus-visible {
    outline: 2px solid var(--secondary-color, #59064d);
    outline-offset: 2px;
  }

  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-bottom__credits-links
    > .mobile-menu-cta.btn-primary:focus-visible {
    outline: 2px solid var(--secondary-color, #59064d);
    outline-offset: 2px;
  }

  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-bottom__account-links {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    width: 100%;
  }

  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-bottom__account-links
    > a {
      font-size: 0.9rem !important;
      font-weight: 500 !important;
      width: auto;
      padding: 0.45rem 0.85rem !important;
    &:hover {
      color: var(--primary-color) !important;
      background-color: transparent !important;
      border: 1px solid var(--primary-color) !important;
      box-shadow: none;
    }
  }

  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-bottom__account-links
    > a:nth-child(1) {
    color: var(--primary-color) !important;
    border: 1px solid var(--primary-color) !important;
    box-shadow: none;
    border-radius: var(--border-radius-type-md);
    width: 100%;
    text-align: center;
    &:hover {
      color: var(--contrast-white-color) !important;
      background-color: var(--primary-color) !important;
      box-shadow: none;
    }
  }

  #mobile_top_menu_wrapper.header-mobile-drawer
  .mobile-menu-bottom__account-links
  > a.mobile-menu-logout {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    color: var(--text-color) !important;
    box-shadow: none;
    border: none !important;
    padding: 0.775rem 0.5rem !important;
    border-radius: var(--border-radius-type-md);
    width: 100%;
    text-align: center;
    font-weight: 600 !important;
    background-color: var(--neutral-color-secondary) !important;
    transition:
      background-color 0.2s ease,
      color 0.2s ease;
  }

  #mobile_top_menu_wrapper.header-mobile-drawer
  .mobile-menu-bottom__account-links
  > a.mobile-menu-logout
  .cev-lucide {
    width: 1.125rem;
    height: 1.125rem;
    flex-shrink: 0;
  }

  #mobile_top_menu_wrapper.header-mobile-drawer
  .mobile-menu-bottom__account-links
  > a.mobile-menu-logout:hover,
  #mobile_top_menu_wrapper.header-mobile-drawer
  .mobile-menu-bottom__account-links
  > a.mobile-menu-logout:focus-visible {
    color: var(--contrast-white-color) !important;
    background-color: #000 !important;
    border: none !important;
    box-shadow: none;
  }

  /* Menu mobile : arbre ps_mainmenu (widget_block) */
  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-accordion__body--mainmenu {
    padding-top: 0.35rem;
    background: var(--nav-color, #fbfcfc);
  }

  #mobile_top_menu_wrapper.header-mobile-drawer .mobile-menu-empty {
    margin: 0.35rem 0 0;
    padding: 0.35rem 0;
    font-size: 0.9rem;
    color: rgba(0, 0, 0, 0.5);
  }

  #mobile_top_menu_wrapper.header-mobile-drawer .mobile-ps-mainmenu {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  #mobile_top_menu_wrapper.header-mobile-drawer .mobile-ps-mainmenu__item {
    margin: 0;
    padding: 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  }

  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-ps-mainmenu__item:last-child {
    border-bottom: 0;
  }

  #mobile_top_menu_wrapper.header-mobile-drawer .mobile-ps-mainmenu__row {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    min-height: 2.75rem;
  }

  #mobile_top_menu_wrapper.header-mobile-drawer .mobile-ps-mainmenu__link {
    flex: 1;
    min-width: 0;
    padding: 0.5rem 0;
    color: inherit;
    text-decoration: none;
    font-weight: 500;
    font-size: 0.9rem;
  }

  #mobile_top_menu_wrapper.header-mobile-drawer .mobile-ps-mainmenu__link:hover,
  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-ps-mainmenu__link:focus {
    color: var(--primary-color);
  }

  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-ps-mainmenu__item--current
    > .mobile-ps-mainmenu__row
    .mobile-ps-mainmenu__link {
    color: var(--primary-color);
    font-weight: 600;
  }

  #mobile_top_menu_wrapper.header-mobile-drawer .mobile-ps-mainmenu__toggle {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    margin: 0;
    padding: 0;
    border: none;
    background: transparent;
    color: var(--primary-color);
    cursor: pointer;
    border-radius: var(--border-radius-type-small);
    transition:
      background-color 0.2s ease,
      color 0.2s ease;
  }

  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-ps-mainmenu__toggle:hover,
  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-ps-mainmenu__toggle:focus {
    background: var(--primary-color-light);
    color: var(--primary-color-hover);
  }

  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-ps-mainmenu__toggle-icon {
    font-size: 1.35rem;
    transition: transform 0.2s ease;
  }

  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-ps-mainmenu__toggle[aria-expanded="true"]
    .mobile-ps-mainmenu__toggle-icon {
    transform: rotate(180deg);
  }

  #mobile_top_menu_wrapper.header-mobile-drawer .mobile-ps-mainmenu__sub {
    padding-left: 0.65rem;
    border-left: 2px solid var(--primary-color-light);
    margin: 0 0 0.35rem 0.35rem;
  }

  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-ps-mainmenu__sub
    .mobile-ps-mainmenu__link {
    font-weight: 400;
    font-size: 0.95rem;
  }

  /* Même gouttière horizontale que #_mobile_top_menu (.js-top-menu.mobile) pour aligner les CTAs */
  #mobile_top_menu_wrapper.header-mobile-drawer .js-top-menu-bottom {
    margin-top: 0.75rem;
    padding: 0.65rem
      max(var(--padding-inline-base, 1rem), env(safe-area-inset-left, 0px))
      0.65rem
      max(var(--padding-inline-base, 1rem), env(safe-area-inset-right, 0px));
    border-top: 1px solid var(--text-color-grey-hover, #e2e1e6);
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1rem;
    align-items: flex-start;
    align-content: flex-start;
    box-sizing: border-box;
    width: 100%;
  }

  #mobile_top_menu_wrapper.header-mobile-drawer
    .js-top-menu-bottom
    .mobile-menu-bottom__ctas {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    width: 100%;
    flex: 0 0 auto;
  }

  #mobile_top_menu_wrapper.header-mobile-drawer
    .js-top-menu-bottom
    .mobile-menu-cta {
    white-space: normal;
  }

  #mobile_top_menu_wrapper.header-mobile-drawer .mobile-menu-top__container {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-block: 0.775rem;
    padding-inline: max(
        var(--padding-inline-base),
        env(safe-area-inset-left, 0px)
      )
      max(var(--padding-inline-base), env(safe-area-inset-right, 0px));
    box-sizing: border-box;
  }

  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-drawer-language-selector {
    flex: 1;
    min-width: 0;
  }

  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-drawer-language-selector
    .language-selector-wrapper {
    padding: 0;
  }

  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-drawer-language-selector
    .language-selector.dropdown {
    position: relative;
  }

  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-drawer-language-selector
    .dropdown-menu {
    z-index: 1080;
    min-width: 10rem;
    padding: 0.35rem 0;
  }

  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-drawer-language-selector
    .language-selector__btn-flag
    .material-icons {
    color: var(--text-color);
  }

  #mobile_top_menu_wrapper.header-mobile-drawer
    .mobile-menu-top__utility-links {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.65rem 1rem;
    flex: 0 1 auto;
    min-width: 0;
  }

  #mobile_top_menu_wrapper.header-mobile-drawer
    #_mobile_pro_area_link
    .link_pro-area--mobile {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.35rem 0.85rem;
    border: 1px solid var(--primary-color);
    border-radius: 999px !important;
    background-color: transparent;
    color: var(--primary-color) !important;
    text-transform: uppercase;
    font-weight: 500;
    font-size: 0.75rem;
    letter-spacing: 0.02em;
    line-height: 1.2;
    text-decoration: none !important;
    white-space: nowrap;
    transition:
      color 0.2s ease,
      background-color 0.2s ease,
      border-color 0.2s ease;
  }

  #mobile_top_menu_wrapper.header-mobile-drawer
    #_mobile_pro_area_link
    .link_pro-area--active,
  #mobile_top_menu_wrapper.header-mobile-drawer
    #_mobile_pro_area_link
    .link_pro-area--mobile:hover,
  #mobile_top_menu_wrapper.header-mobile-drawer
    #_mobile_pro_area_link
    .link_pro-area--mobile:focus-visible,
  #mobile_top_menu_wrapper.header-mobile-drawer
    #_mobile_pro_area_link
    .link_pro-area--mobile:active {
    color: var(--contrast-white-color, #fff) !important;
    background-color: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
  }

  #mobile_top_menu_wrapper.header-mobile-drawer
    #_mobile_contact_link
    .mobile-drawer-contact__icon {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
  }

  #mobile_top_menu_wrapper.header-mobile-drawer
    #_mobile_contact_link
    .customer_type_link.first_link {
    color: var(--text-color);
    transition: color 0.2s ease;
  }

  #mobile_top_menu_wrapper.header-mobile-drawer
    #_mobile_contact_link
    .customer_type_link.first_link:hover,
  #mobile_top_menu_wrapper.header-mobile-drawer
    #_mobile_contact_link
    .customer_type_link.first_link:focus-within {
    color: var(--primary-color);
  }

  #mobile_top_menu_wrapper.header-mobile-drawer
    #_mobile_contact_link
    .customer_type_link.first_link:hover
    a,
  #mobile_top_menu_wrapper.header-mobile-drawer
    #_mobile_contact_link
    .customer_type_link.first_link:focus-within
    a {
    color: var(--primary-color) !important;
  }

  .row:has(> #content-wrapper) {
    margin-inline: 0;
    width: 100%;
  }

  #content-wrapper {
    padding-inline: 0;
    width: 100% !important;
    margin-inline: auto;
  }

  #homepage-top-image {
    height: auto;
  }

  #homepage-top-image .header-top-image {
    height: auto;
  }

  #homepage-top-image .entry-content:has(> .header-support) {
    width: 100%;
  }

  #homepage-top-image .entry-content:has(> .header-support) .flex-container {
    overflow-x: auto;
    width: 100%;
  }

  #homepage-top-image
    .entry-content:has(> .header-support)
    .flex-container
    .item-support {
    min-width: 100vw;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    align-items: center;
    justify-content: center;
  }

  #homepage-top-image
    .entry-content:has(> .header-support)
    .flex-container
    .item-support
    .item-support-icon-img {
    margin-right: 0;
  }

  #homepage-top-image
    .entry-content:has(> .header-support)
    .flex-container
    .item-support
    .item-support-text {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  #carousel {
    left: 0;
  }

  #carousel .carousel-indicators {
    position: absolute;
    bottom: 0.75rem;
    left: 0;
    right: 0;
    z-index: 3;
    padding-block: 0.4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: auto;
    margin: 0;
  }

  #carousel .carousel-inner {
    width: 100%;
    padding-inline: 0;
    height: 100% !important;
  }

  #carousel .carousel-inner .caption {
    margin-inline: auto;
    padding-inline: 1rem;
  }

  /* Hero home : titres sur photo sombre — pas --text-color (#000). */
  #index #carousel .carousel-inner .caption h1,
  #index #carousel .carousel-inner .caption h1.cev-home-hero-title,
  #index #carousel .carousel-inner .caption h1.display-1,
  #index #carousel .carousel-inner .caption h2,
  #index #carousel .carousel-inner .caption h2.cev-home-hero-title,
  #index #carousel .carousel-inner .caption h2.display-1 {
    color: var(--contrast-white-color, #fff) !important;
  }

  #carousel .carousel-inner .caption .caption-description a {
    background-color: var(--primary-color);
    padding: 8px 16px !important;
    border-radius: var(--border-radius-type) !important;
    font-weight: 600 !important;
  }

  #wrapper #content.page-home {
    padding-inline: 0;
  }

  #wrapper #content.page-home #mypresta_mib {
    width: 100%;
    padding-inline: 0;
  }

  /* Tablette uniquement : grille 3 cols (le mobile ≤767 est géré plus haut en scroll). */
  @media (min-width: 768px) {
    #wrapper #content.page-home #mypresta_mib #MyPrestaBrandsCarousel {
      margin-inline: auto;
      margin-bottom: 0;
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 1rem;
      padding-inline: 0.5rem !important;
      justify-content: stretch;
      overflow-x: visible;
    }

    #wrapper #content.page-home #mypresta_mib #MyPrestaBrandsCarousel li,
    #wrapper #content.page-home #mypresta_mib #MyPrestaBrandsCarousel li.item,
    #wrapper #content.page-home #mypresta_mib #MyPrestaBrandsCarousel li.mypresta-mib__brand,
    #wrapper #content.page-home #mypresta_mib #MyPrestaBrandsCarousel .first_item,
    #wrapper #content.page-home #mypresta_mib #MyPrestaBrandsCarousel .last_item {
      width: 100% !important;
      max-width: none;
      min-width: 0;
      flex: none;
      height: auto;
    }

    #wrapper #content.page-home #mypresta_mib #MyPrestaBrandsCarousel li a,
    #wrapper #content.page-home #mypresta_mib #MyPrestaBrandsCarousel .first_item a,
    #wrapper #content.page-home #mypresta_mib #MyPrestaBrandsCarousel .last_item a,
    #wrapper #content.page-home #mypresta_mib #MyPrestaBrandsCarousel .mypresta-mib__brand-link {
      width: 100% !important;
      height: 100%;
      display: flex !important;
      align-items: center;
      justify-content: center;
    }

    #wrapper #content.page-home #mypresta_mib #MyPrestaBrandsCarousel .mypresta-mib__brand-media {
      width: 100%;
      aspect-ratio: 1 / 1;
      padding: 0.4rem;
    }

    #wrapper #content.page-home #mypresta_mib #MyPrestaBrandsCarousel li a img,
    #wrapper #content.page-home #mypresta_mib #MyPrestaBrandsCarousel .first_item a img,
    #wrapper #content.page-home #mypresta_mib #MyPrestaBrandsCarousel .last_item a img,
    #wrapper #content.page-home #mypresta_mib #MyPrestaBrandsCarousel .mypresta-mib__brand-logo {
      width: auto !important;
      height: auto !important;
      max-width: 100% !important;
      max-height: 100% !important;
      object-fit: contain;
    }
  }

  #wrapper #content.page-home #mypresta_mib>h4 {
    padding-inline: 1rem;
  }

  #wrapper #content.page-home .ets_block_slider.page_home {
    padding: 1rem;
  }

  #wrapper #content.page-home .ets_block_slider.page_home .owl-controls {
    display: flex;
    justify-content: center;
    top: calc(100% + 1rem);
    margin: 0;
    left: 50%;
    transform: translateX(-50%);
    width: fit-content;
    height: fit-content;
  }

  #content>h4 {
    padding-inline: 1rem;
  }

  .hpp_tabs {
    width: 100%;
    margin-inline: 0;
  }

  .hpp_tabs>div {
    padding-inline: 0;
    margin-inline: 0;
  }

  .hpp_tabs .tabs {
    padding-inline: 1rem !important;
  }

  /* develop : .hpp_tabs .tabs .nav-tabs et .nav-link.active avaient des padding commentés (sans effet rendu) */

  /* footer */
  #footer {
    padding-top: 0;
    background-image: none;
    background-color: var(--primary-color-light);
  }

  #footer .container .row {
    width: 100%;
    max-width: 100%;
    padding-inline: 0;
    margin-inline: 1rem;
  }

  #footer #blockEmailSubscription_displayFooterBefore {
    display: flex;
    flex-direction: column;
  }

  #footer #blockEmailSubscription_displayFooterBefore .row {
    display: flex;
    flex-direction: column;
  }

  #footer #blockEmailSubscription_displayFooterBefore .row > * {
    width: 100%;
  }

  #footer #block-newsletter-label {
    width: 100%;
    text-align: left;
    color: black;
  }

  /* Même gouttière pour le titre et le bloc formulaire (col empilées) */
  #footer
    #blockEmailSubscription_displayFooterBefore
    .block_newsletter
    > .row
    > #block-newsletter-label,
  #footer
    #blockEmailSubscription_displayFooterBefore
    .block_newsletter
    > .row
    > div.col-md-7 {
    padding-inline: clamp(0.75rem, 3vw, 1.25rem) !important;
    box-sizing: border-box;
  }

  #footer #blockEmailSubscription_displayFooterBefore form > .row {
    margin-inline: 0;
  }

  #footer
    #blockEmailSubscription_displayFooterBefore
    form
    > .row
    > [class*="col-"] {
    padding-inline: 0;
  }

  #footer #blockEmailSubscription_displayFooterBefore .input-wrapper {
    padding-right: 0 !important;
    max-width: 100%;
  }

  #footer .footer-container {
    padding-block: 1rem;
  }

  /* Liens modules : grille en tablette (769–1024), pile sur téléphone (≤768) */
  #footer .footer-container .footer-container__links-row {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: center;
    gap: 1.25rem 1.5rem;
    padding-inline: clamp(0.75rem, 3vw, 1.25rem);
    width: 100%;
    margin-inline: auto;
    max-width: 100vw;
    margin-block: 0;
  }

  #footer .footer-container .footer-container__brand-row {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding-inline: 0.5rem;
    padding-top: 0;
    padding-bottom: 1rem;
    width: 100%;
    margin-inline: auto;
    max-width: 100vw;
    border-top: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
  }

  #footer .footer-container .row div.links {
    padding-inline: 0;
  }

  #footer .footer-container .row .wrapper :has(> .h3) {
    background-color: transparent;
    padding-inline: 0;
  }

  #footer .footer-container .row .wrapper :has(> .h3) .h3,
  #footer .footer-container .row .wrapper :has(> .h3) i {
    color: var(--contrast-white-color);
  }

  #footer .footer-container .row #footer_sub_menu_1,
  #footer .footer-container .row #footer_sub_menu_2,
  #footer .footer-container .row #footer_account_list {
    background-color: transparent;
  }

  #footer .footer-container .row #footer_sub_menu_1 li,
  #footer .footer-container .row #footer_sub_menu_2 li,
  #footer .footer-container .row #footer_account_list li {
    border-bottom: none;
  }

  /* Produits / Notre société / Votre compte — mobile : espacement liens + survol / appui */
  @media (max-width: 767.98px) {
    #footer #footer_sub_menu_1 li + li,
    #footer #footer_sub_menu_2 li + li,
    #footer #footer_account_list li + li {
      margin-top: 0.35rem;
    }

    #footer #footer_sub_menu_1 li a,
    #footer #footer_sub_menu_2 li a,
    #footer #footer_account_list li a {
      display: block;
      padding: 0.5rem 0.65rem;
      margin-inline-start: -0.65rem;
      margin-inline-end: -0.65rem;
      width: auto;
      box-sizing: border-box;
      border-radius: var(--border-radius-type-small);
      transition:
        background-color 0.15s ease,
        color 0.15s ease;
    }

    #footer #footer_sub_menu_1 li a:hover,
    #footer #footer_sub_menu_1 li a:focus-visible,
    #footer #footer_sub_menu_1 li a:active,
    #footer #footer_sub_menu_2 li a:hover,
    #footer #footer_sub_menu_2 li a:focus-visible,
    #footer #footer_sub_menu_2 li a:active,
    #footer #footer_account_list li a:hover,
    #footer #footer_account_list li a:focus-visible,
    #footer #footer_account_list li a:active {
      background-color: var(--contrast-white-color);
      color: var(--secondary-color) !important;
      text-decoration: none;
    }
  }

  #footer
    .footer-container
    .row
    .float-xs-right
    .navbar-toggler.collapse-icons {
    width: auto;
  }

  #footer .footer-container #block_myaccount_infos {
    padding-inline: 1rem !important;
  }

  #footer .footer-container #block_myaccount_infos #footer_account_list {
    padding: 1rem;
    padding-left: 0.5rem !important;
  }

  /* display:flex ici cassait le collapse sur mobile (spécificité > .collapse:not(.show)). */
  @media (min-width: 768px) {
    #footer .footer-container #block_myaccount_infos #footer_account_list {
      display: flex;
      flex-direction: column;
      gap: 0.5rem;
    }
  }

  @media (max-width: 767.98px) {
    #footer .footer-container #block_myaccount_infos {
      padding-inline: 0 !important;
    }

    #footer .footer-container #block_myaccount_infos #footer_account_list {
      padding-inline: clamp(0.75rem, 3vw, 1.25rem) !important;
      padding-top: 1rem;
      padding-bottom: 1rem;
    }

    #footer
      .footer-container
      #block_myaccount_infos
      #footer_account_list.collapse.show {
      display: flex;
      flex-direction: column;
      gap: 0.5rem;
    }

    #footer
      .footer-container .footer-after-container {
        padding: 0
    }
  }

  #footer .footer-container #contact-infos {
    padding: 0.5rem;
  }

  #footer .footer-container p:has(> a > img.logo.img-fluid) {
    margin-block: 0;
  }

  #footer .footer-container p:has(> a > img.logo.img-fluid) a {
    display: block;
    margin-inline: auto;
    width: fit-content;
  }

  #footer
    .footer-container
    p:has(> a > img.logo.img-fluid)
    a
    img.logo.img-fluid {
    max-width: 100%;
    height: auto;
  }

  #footer .footer-container p.footer-container__brand {
    margin-block-end: 0;
  }

  #footer
    .footer-container
    p.footer-container__brand
    img.footer-container__logo {
    max-width: min(200px, 85vw);
    height: auto;
  }

  #footer .footer-after-container .row > div:first-child.links {
    text-align: left;
  }

  #footer .footer-after-container .row > .col-md-6.links:not(:first-child) {
    text-align: right;
  }

  #footer .footer-after-container .row > .col-md-6.links:not(:first-child) .wrapper {
    text-align: right;
  }

  @media (max-width: 767.98px) {
    /* Padding uniquement sur la bande extérieure — plus de marges / padding empilés sur .container, .row, .col */
    #footer .footer-after-container {
      padding-inline: max(0.75rem, env(safe-area-inset-left, 0px))
        max(0.75rem, env(safe-area-inset-right, 0px)) !important;
      padding-bottom: max(1rem, env(safe-area-inset-bottom, 0px)) !important;
      box-sizing: border-box;
    }

    #footer .footer-after-container > .container {
      text-align: inherit;
      max-width: 100%;
      width: 100%;
      margin-inline: 0 !important;
      padding-inline: 0 !important;
    }

    #footer .footer-after-container > .container > .row {
      display: flex;
      flex-direction: column-reverse;
      align-items: center;
      justify-content: flex-start;
      gap: 0.75rem;
      text-align: center;
      margin-left: 0 !important;
      margin-right: 0 !important;
      margin-inline: 0 !important;
      padding-inline: 0 !important;
      --bs-gutter-x: 0;
      --bs-gutter-y: 0;
      width: 100%;
      max-width: 100%;
    }

    /* Surcharge #footer .row, #footer .row>* { padding: 0 16px } */
    #footer .footer-after-container .row,
    #footer .footer-after-container .row > * {
      padding-left: 0 !important;
      padding-right: 0 !important;
    }

    #footer .footer-after-container > .container > .row > * {
      width: 100%;
      max-width: 100%;
      margin-inline: 0 !important;
      padding-inline: 0 !important;
    }

    #footer .footer-after-container > .container > .row > div:first-child.links {
      text-align: center;
    }

    #footer .footer-after-container > .container > .row > .col-md-6.links:not(:first-child) {
      text-align: center;
    }

    #footer
      .footer-after-container
      > .container
      > .row
      > .col-md-6.links:not(:first-child)
      .wrapper {
      text-align: center;
    }

    #footer
      .footer-after-container
      > .container
      > .row
      > .col-md-6.links:not(:first-child)
      > .row {
      justify-content: center;
    }

    #footer .footer-after-container .col-md-6.links {
      margin-inline: 0 !important;
      padding-inline: 0 !important;
    }

    /* ps_linklist (Liens bas de page) : grille interne sans gouttière ni padding latéral résiduel */
    #footer .footer-after-container .col-md-6.links > .row {
      margin-left: 0 !important;
      margin-right: 0 !important;
      margin-inline: 0 !important;
      padding-left: 0 !important;
      padding-right: 0 !important;
      padding-inline: 0 !important;
      --bs-gutter-x: 0;
      width: 100%;
      max-width: 100%;
    }

    #footer .footer-after-container .col-md-6.links > .row > .col-md-6.wrapper {
      padding-left: 0 !important;
      padding-right: 0 !important;
      padding-inline: 0 !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
      flex: 1 1 100%;
      max-width: 100%;
    }

    /* Liens bas de page (#footer_sub_menu_3) : pile verticale + zones tactiles (uniquement ce bloc) */
    #footer .footer-after-container #footer_sub_menu_3 {
      display: flex !important;
      flex-direction: column !important;
      flex-wrap: nowrap !important;
      justify-content: flex-start !important;
      align-items: center !important;
      column-gap: 0 !important;
      row-gap: 0 !important;
      width: 100%;
      max-width: 100%;
      margin-inline: 0;
      margin-left: 0 !important;
      margin-top: 0.35rem;
      padding-inline: 0;
      padding-left: 0 !important;
      list-style: none;
      box-sizing: border-box;
    }

    #footer .links .title[data-target="#footer_sub_menu_3"] {
      display: none !important;
    }

    #footer .footer-after-container #footer_sub_menu_3 li {
      display: flex !important;
      flex-direction: column !important;
      align-items: center !important;
      width: 100%;
    }

    #footer .footer-after-container #footer_sub_menu_3 li a {
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      width: 100% !important;
      max-width: none !important;
      min-height: 44px;
      padding: 0.625rem 0.25rem !important;
      box-sizing: border-box;
      white-space: normal !important;
      font-size: 0.95rem !important;
      margin-inline: 0 !important;
    }

    #footer .footer-after-container .dev-version {
      text-align: center !important;
      width: 100%;
      margin-inline: 0 !important;
      padding-inline: 0 !important;
    }
  }

  /* Customer AUTH account page */
  #authentication .breadcrumb,
  #registration .breadcrumb {
    padding-inline: var(--padding-inline-base);
  }

  #authentication #main,
  #registration #main {
    padding-inline: var(--padding-inline-base);
  }

  #authentication #main > header {
    text-align: center;
    margin-top: 1rem;
    margin-bottom: 0;
  }

  #authentication #main > header h1 {
    margin: 0;
  }

  #authentication #content .container {
    margin-block: 0 !important;
  }

  #module-psotp-verifyotp #main {
    padding-inline: var(--padding-inline-base);
  }

  #module-psotp-verifyotp #main > header {
    text-align: center;
    margin-top: 1rem;
  }

  #module-psotp-verifyotp #content .container {
    margin-block: 0 !important;
  }

  #module-psotp-verifyotp #content .row.justify-content-center {
    margin-inline: 0;
  }

  /* Page parcours bénéficiaire */

  #my-account .breadcrumb,
  #identity .breadcrumb,
  #history .breadcrumb,
  #addresses .breadcrumb {
    padding-inline: var(--padding-inline-base);
  }

  @media (max-width: 767.98px) {
    #my-account .breadcrumb,
    #identity .breadcrumb,
    #history .breadcrumb,
    #addresses .breadcrumb {
      display: none !important;
    }
  }

  .tab-content .tab-pane>.row {
    margin: 0 !important;
    padding: 1rem;
  }

  /* #v-pills-tab {
    min-width: none !important;
    width: fit-content !important;
  } */

  #v-pills-tab > p {
    display: none;
  }

  #v-pills-tab a.nav-link {
    width: fit-content;
  }

  #v-pills-tab a.nav-link > i ~ span {
    display: none;
  }

  #v-pills-tab i {
    /* width: 200px !important; */
    font-size: 1.2rem !important;
  }

  #v-pills-tab #v-pills-credits-tab i ~ span {
    display: none;
  }

  .tab-content .tab-pane>.row {
    margin: 0 !important;
  }

  .tab-content .tab-pane>.row :has(> img) {
    display: none;
  }

  /* page myAccount */
  #my-account #main {
    padding-inline: var(--padding-inline-base);
  }

  #my-account .my-account {
    display: flex;
    align-items: stretch !important;
  }

  /* #v-pills-tab {
    width: fit-content !important;
    min-width: none !important;
    max-height: none;
    min-height: none !important;
    height: auto;
    flex: 1;
  } */

  #my-account-welcome {
    text-align: center;
  }

  #my-account .tab-content .tab-pane>.row>div:first-of-type {
    width: 100%;
  }

  #my-account .tab-content .tab-pane>.row {
    margin-inline: 0 !important;
  }

  #my-account .tab-content .tab-pane>.row>div:first-of-type {
    width: 100%;
  }

  #my-account .tab-content .tab-pane>.row>div:first-of-type .card-body>div {
    justify-content: start;
    justify-content: start !important;
    flex-wrap: wrap;
  }

  #my-account .tab-content .tab-pane>.row>div:first-of-type .card-body>div>div:first-of-type {
    width: fit-content;
  }

  #my-account .tab-content .tab-pane>.row>div:last-of-type {
    height: 100%;
    min-height: fit-content;
    margin-top: 0 !important;
  }

  #my-account .tab-content .tab-pane>.row>div:last-of-type>div {
    height: 100%;
    margin-bottom: 2rem !important;
  }

  #my-account .tab-content .tab-pane>.row>div:last-of-type form {
    display: flex;
    flex-wrap: wrap;
    height: 100%;
    margin-top: 0.5rem;
  }

  #my-account .tab-content .tab-pane>.row>div:last-of-type form>div {
    width: 100%;
    margin-top: 0.5rem;
  }

  #my-account .tab-content .tab-pane>.row>div:last-of-type form div:has(> button[type='submit']) {
    margin: 0 0 !important;
  }

  #my-account .tab-content .tab-pane>.row>div:last-of-type form div:has(> button[type='submit']) button {
    margin: 0 0 !important;
  }

  #my-account .tab-content {
    min-height: fit-content;
  }

  #my-account .tab-content .tab-pane .my-account-actions {
    z-index: 100;
    width: 100%;
    padding: 0.5rem !important;
    flex-direction: column;
  }

  #my-account .tab-content .tab-pane .my-account-actions a {
    flex: 1;
  }

  @media (max-width: 767.98px) {
    #my-account .my-account {
      border: none;
      border-radius: 0;
      flex-direction: column;
      align-items: stretch !important;
      gap: 1rem;
      overflow: visible;
      background-color: transparent;
    }

    #my-account .my-account .my-account-nav {
      width: 100%;
      max-width: 100%;
      min-width: 0 !important;
      height: auto;
      max-height: none;
      flex-shrink: 0;
    }

    #my-account .my-account .tab-content {
      width: 100%;
      min-width: 0;
      background-color: var(--contrast-white-color);
      border-radius: var(--border-radius-type);
      overflow: hidden;
    }

    /* Panneau module : même logique, uniquement ≤767px */
    #my-account .dashboard-content {
      background-color: var(--contrast-white-color);
      border-radius: var(--border-radius-type);
      overflow: hidden;
      flex: 1;
      min-width: 0;
    }

    #my-account .my-account-nav.nav-link-container,
    #my-account .my-account .nav-link-container {
      border-radius: var(--border-radius-type);
      overflow: hidden;
    }

    /* Actions compte mobile */
    #my-account .tab-content .tab-pane .my-account-actions {
      position: relative !important;
      inset: auto !important;
      z-index: 100;
      width: 100% !important;
      max-width: 100%;
      margin-top: 1.25rem;
      padding: 1rem !important;
      padding-bottom: calc(1rem + env(safe-area-inset-bottom, 0px)) !important;
      flex-direction: column !important;
      flex-wrap: nowrap;
      align-items: stretch !important;
      justify-content: flex-start !important;
      gap: 0.6rem;
      overflow: visible;
      border-top: none !important;
      border-left: none !important;
      border-right: 1px solid var(--primary-color) !important;
      border-bottom: 1px solid var(--primary-color) !important;
      border-radius: var(--border-radius-type) !important;
      background: var(--contrast-white-color);
      box-shadow: 0 12px 36px -16px rgba(0, 0, 0, 0.14);
    }

    #my-account .my-account-actions {
      border: none !important;
      border-radius: var(--border-radius-type) !important;
    }

    #my-account .tab-content .tab-pane .my-account-actions a {
      flex: 1;
      width: 100%;
      justify-content: center;
      border: none !important;
      box-shadow: none !important;
    }
  }

  /* page product */
  #product #main .product-container {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
  }

  /* Mobile / tablette : galerie → bloc achat (personnalisation + CTA) → onglets → CEV / réassurance hook → réassurance colonne */
  #product #main .product-container.row > .col-md-6:first-child,
  #product #main .product-container.row > .col-md-6:first-child #content.page-content {
    display: contents;
  }

  #product #main .product-container.row > .col-md-6:last-child {
    display: contents;
  }

  #product .product-page__stack--gallery {
    order: 10;
    width: 100%;
    min-width: 0;
  }

  #product .product-page__stack--buy {
    order: 20;
    width: 100%;
    min-width: 0;
  }

  #product .product-page__stack--tabs {
    order: 30;
    width: 100%;
    min-width: 0;
  }

  #product .product-page__stack--cev {
    order: 40;
    width: 100%;
    min-width: 0;
  }

  #product .product-page__stack--reassurance {
    order: 50;
    width: 100%;
    min-width: 0;
  }

  /*
   * Cartes cadeaux (bulk Up + marketplace) : ≤1024px, formulaire prioritaire.
   * Galerie, onglets et réassurance masqués — aligné crédit cadeau Up.
   */
  body#product:has(.cev-giftcard-gallery) .product-page__stack--gallery,
  body#product:has(.cev-giftcard-gallery) .product-page__stack--tabs,
  body#product:has(.cev-giftcard-gallery) .product-page__stack--cev,
  body#product:has(.cev-giftcard-gallery) .product-page__stack--reassurance,
  body#product:has(.cev-giftcard-gallery) #block-reassurance {
    display: none !important;
  }

  #product #main #content {
    width: 100%;
  }

  #product #main #content .tabs,
  #product .product-page__stack--tabs .tabs {
    padding-inline: 0.5rem;
    padding-block: 1rem;
  }

  #product .product-container .col-md-6 {
    width: 100% !important;
  }

  /* Quantité : pleine largeur comme develop, rendu sobre (neutre, peu de chrome) */
  #product #product-custom-qty {
    width: 100% !important;
    max-width: 100%;
    margin-inline: 0;
    margin-top: 0.5rem;
  }

  #product #product-custom-qty .qty {
    width: 100% !important;
  }

  #product #product-custom-qty .input-group {
    display: flex;
  }

  #product #product-custom-qty .qty > #quantity_wanted,
  #product #product-custom-qty .qty > input[name="qty"] {
    width: 100%;
    min-height: 2.25rem;
    border: 1px solid var(--text-color-grey) !important;
    border-radius: 6px;
    background: #fff;
    color: var(--text-color);
    font-weight: 500;
    text-align: center;
    padding: 0.35rem 0.5rem;
    box-shadow: none !important;
  }

  /* display:block seulement avant Touchspin ; dans Touchspin le champ reste flex item valide */
  #product #product-custom-qty .qty > #quantity_wanted.input-group {
    display: block;
  }

  #product #product-custom-qty .bootstrap-touchspin #quantity_wanted.input-group {
    flex: 1 1 auto;
    min-width: 0;
    align-self: stretch;
    width: auto;
    max-width: none;
  }

  #product #product-custom-qty .bootstrap-touchspin {
    display: flex;
    align-items: stretch;
    width: 100%;
    max-width: 12.5rem;
    min-height: 3rem;
    border: 1px solid rgba(26, 26, 26, 0.1) !important;
    border-radius: var(--border-radius-type-md);
    overflow: hidden;
    background: var(--contrast-white-color);
    box-shadow:
      0 1px 2px rgba(26, 26, 26, 0.05),
      0 4px 16px rgba(26, 26, 26, 0.07);
    transition:
      border-color 0.2s ease,
      box-shadow 0.2s ease;
  }

  #product #product-custom-qty .bootstrap-touchspin:focus-within {
    border-color: rgba(242, 54, 72, 0.42) !important;
    box-shadow:
      0 1px 2px rgba(26, 26, 26, 0.05),
      0 4px 16px rgba(26, 26, 26, 0.07),
      0 0 0 3px rgba(242, 54, 72, 0.16);
  }

  #product #product-custom-qty .bootstrap-touchspin #quantity_wanted,
  #product #product-custom-qty .bootstrap-touchspin input[name="qty"] {
    border: 0 !important;
    border-radius: 0;
    min-height: 3rem;
    height: auto;
    padding: 0.4rem 0.5rem;
    font-size: 1.0625rem;
    font-weight: 600;
    text-align: center;
    line-height: 1.2;
    background: transparent;
    color: var(--dark-mode);
    font-variant-numeric: tabular-nums;
  }

  #product #product-custom-qty .bootstrap-touchspin .btn-touchspin,
  #product #product-custom-qty .bootstrap-touchspin .bootstrap-touchspin-up,
  #product #product-custom-qty .bootstrap-touchspin .bootstrap-touchspin-down {
    width: 2.75rem;
    min-width: 2.75rem;
    border: 0 !important;
    border-left: 1px solid rgba(26, 26, 26, 0.08) !important;
    background: transparent;
    color: var(--dark-mode);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    font-size: 0.875rem;
    line-height: 1;
    box-shadow: none !important;
    transition:
      background-color 0.15s ease,
      color 0.15s ease;
  }

  #product #product-custom-qty .bootstrap-touchspin .input-group-btn-vertical {
    position: static;
    display: flex;
    flex-direction: column;
    width: 2.75rem;
    min-width: 2.75rem;
    align-self: stretch;
    margin: 0;
    border-left: 1px solid rgba(26, 26, 26, 0.08);
    background: linear-gradient(
      180deg,
      rgba(245, 241, 238, 0.65) 0%,
      rgba(250, 250, 250, 0.95) 100%
    );
  }

  #product
    #product-custom-qty
    .bootstrap-touchspin
    .input-group-btn-vertical
    > .btn,
  #product
    #product-custom-qty
    .bootstrap-touchspin
    .input-group-btn-vertical
    > .btn-touchspin,
  #product
    #product-custom-qty
    .bootstrap-touchspin
    .input-group-btn-vertical
    > .bootstrap-touchspin-up,
  #product
    #product-custom-qty
    .bootstrap-touchspin
    .input-group-btn-vertical
    > .bootstrap-touchspin-down {
    position: static !important;
    inset: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    flex: 1 1 0;
    width: 100%;
    min-width: 100%;
    min-height: 0;
    border: 0 !important;
    border-radius: 0;
    margin: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    padding: 0;
    background: transparent;
    color: var(--dark-mode);
  }

  #product
    #product-custom-qty
    .bootstrap-touchspin
    .input-group-btn-vertical
    > .bootstrap-touchspin-up {
    border-bottom: 1px solid rgba(26, 26, 26, 0.08) !important;
  }

  #product
    #product-custom-qty
    .bootstrap-touchspin
    .btn-touchspin
    .material-icons,
  #product
    #product-custom-qty
    .bootstrap-touchspin
    .bootstrap-touchspin-up
    .material-icons,
  #product
    #product-custom-qty
    .bootstrap-touchspin
    .bootstrap-touchspin-down
    .material-icons,
  #product #product-custom-qty .bootstrap-touchspin .btn-touchspin i,
  #product #product-custom-qty .bootstrap-touchspin .bootstrap-touchspin-up i,
  #product
    #product-custom-qty
    .bootstrap-touchspin
    .bootstrap-touchspin-down
    i {
    position: relative !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    top: 0 !important;
    left: 0 !important;
    transform: none !important;
    font-size: 1rem;
    margin: 0 !important;
    line-height: 1 !important;
    vertical-align: middle;
    pointer-events: none;
  }

  #product #product-custom-qty .bootstrap-touchspin .btn-touchspin:hover,
  #product
    #product-custom-qty
    .bootstrap-touchspin
    .bootstrap-touchspin-up:hover,
  #product
    #product-custom-qty
    .bootstrap-touchspin
    .bootstrap-touchspin-down:hover {
    background: rgba(242, 54, 72, 0.12);
    color: var(--primary-color);
  }

  /* Réassurance : grille fluide (plus de bandeau scroll 100%-par-item) */
  #product #main #block-reassurance {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding-inline: clamp(0.5rem, 2.5vw, 1rem);
    padding-block: clamp(0.75rem, 2.5vw, 1.25rem);
    overflow: hidden;
  }

  #product #main #block-reassurance ul {
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    gap: 0.75rem 1rem;
    overflow-x: visible;
  }

  #product #main #block-reassurance ul li {
    flex: 1 1 200px;
    max-width: min(100%, 22rem);
    min-width: 0;
  }

  #product #main #block-reassurance ul li > div {
    padding: 0.5rem 0.35rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    text-align: center;
    gap: 0.35rem;
    height: 100%;
    box-sizing: border-box;
  }

  #product #main #block-reassurance ul li > div > span {
    white-space: normal;
    margin-bottom: 0;
    font-size: clamp(0.8125rem, 2.4vw, 0.9375rem);
    line-height: 1.45;
    word-break: break-word;
  }

  #product #main #block-reassurance ul li img {
    max-width: 100%;
    height: auto;
  }

  @media (max-width: 479.98px) {
    #product #main #block-reassurance ul li {
      flex: 1 1 100%;
      max-width: 100%;
    }
  }

  #product #recipient_course {
    padding-inline: 1.25rem;
    padding-block: 1.35rem;
    width: 100%;
  }

  @media (max-width: 767.98px) {
    #product #recipient_course {
      margin-left: max(clamp(0.5rem, 2.5vw, 1rem), env(safe-area-inset-left, 0px));
      margin-right: max(clamp(0.5rem, 2.5vw, 1rem), env(safe-area-inset-right, 0px));
      width: auto;
      max-width: 100%;
    }

    /* Même retrait latéral que #recipient_course */
    #product .product-page__stack--tabs {
      margin-left: max(clamp(0.5rem, 2.5vw, 1rem), env(safe-area-inset-left, 0px));
      margin-right: max(clamp(0.5rem, 2.5vw, 1rem), env(safe-area-inset-right, 0px));
      width: auto;
      max-width: 100%;
      box-sizing: border-box;
    }

    /* Réassurance : pas de marge extérieure comme les autres blocs ; padding horizontal réduit (bandeau plus large) */
    #product #main #block-reassurance {
      padding-inline: clamp(0.25rem, 1.5vw, 0.65rem);
    }
  }

  /* Modale panier (mobile) : harmonisation du bloc produit dans modal-body */
  #blockcart-modal .modal-body {
    padding: 0.95rem 1rem;
  }

  #blockcart-modal .modal-header .modal-title {
    font-size: 0.95rem;
    line-height: 1.3;
  }

  #blockcart-modal #myModalLabel {
    font-size: 0.9rem !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;
  }

  #blockcart-modal #myModalLabel .material-icons {
    font-size: 0.9rem !important;
    line-height: 1 !important;
    vertical-align: -0.08em !important;
    margin-right: 0.2rem;
  }

  #blockcart-modal .modal-header .modal-title.h6.text-sm-center#myModalLabel {
    font-size: 0.9rem !important;
    line-height: 1.25 !important;
  }

  #blockcart-modal .modal-body .row {
    margin-left: 0;
    margin-right: 0;
  }

  #product #blockcart-modal .cev-blockcart-modal__actions,
  #product #blockcart-modal .cart-content-btn {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
  }

  #product #blockcart-modal .cev-blockcart-modal__actions .cev-blockcart-modal__btn-continue,
  #product #blockcart-modal .cev-blockcart-modal__actions .cev-blockcart-modal__btn-checkout,
  #product #blockcart-modal .cart-content-btn button {
    flex: 1 1 auto;
    width: 100%;
    margin-right: 0;
  }

  /* Page Identity */

  #identity .tab-content form h3 {
    padding-top: 0.5rem !important;
  }

  /* Page CMS ID 10 — landing financeur */
  #cms.cms-id-10 .landing-financeur__h2,
  #cms.cms-id-10 .landing-financeur__h3 {
    font-size: clamp(1.22rem, 4.25vw, 1.4rem);
    line-height: 1.34;
  }

  #cms.cms-id-10 .landing-financeur__catalogue .container {
    padding-inline: var(--padding-inline-base);
  }

  #cms.cms-id-10 .landing-financeur__brands {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.5rem 0.65rem;
  }

  #cms.cms-id-10 .landing-financeur__brand {
    min-height: 28px;
  }

  #cms.cms-id-10 .landing-financeur__brand img {
    height: 28px;
    max-height: 28px;
  }

  #cms.cms-id-10 .landing-financeur__brand--galaf img {
    height: 36px;
    max-height: 36px;
  }

  #cms.cms-id-10 .landing-financeur__brands-shell {
    padding: 0.85rem 1rem;
  }

  #cms.cms-id-10 .landing-financeur__how .container {
    padding-inline: var(--padding-inline-base);
  }

  #cms.cms-id-10 .landing-financeur__how-inner {
    padding: 1.5rem max(1rem, env(safe-area-inset-left, 0px)) 2rem
      max(1rem, env(safe-area-inset-right, 0px));
  }

  #cms.cms-id-10 .landing-financeur__features {
    padding-block: 1.75rem;
    padding-inline: max(1rem, env(safe-area-inset-left, 0px))
      max(1rem, env(safe-area-inset-right, 0px));
  }

  #cms.cms-id-10 .landing-financeur__btn-contact {
    width: 100%;
    justify-content: center;
  }
}

/* Fiche produit — référence, quantités & date de dispo : label au-dessus de la valeur, colonne alignée à gauche */
#product .product-reference,
#product .product-quantities,
#product .product-availability-date,
#product .product-reference.product-detail-row,
#product .product-quantities.product-detail-row,
#product .product-availability-date.product-detail-row {
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  text-align: left;
  gap: 0.5rem;
}

/* Fiche produit — onglet Détails : espacement entre les blocs et sections */
#product .product-details-layout {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

#product .product-details-section {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

#product #product-details > * + * {
  margin-top: 1rem;
}

#product #product-details .product-features + .product-features {
  margin-top: 0.5rem;
}

#product .product-reference .label,
#product .product-reference label.label,
#product .product-quantities .label,
#product .product-quantities label.label,
#product .product-availability-date label,
#product .product-availability-date .label,
#product .product-condition .label,
#product .product-condition label.label,
#product .product-manufacturer .label,
#product .product-manufacturer label.label {
  margin: 0;
  text-align: left;
  display: inline-block;
  width: fit-content;
  max-width: 100%;
  padding-bottom: 0.15rem;
  border-bottom: 1px solid var(--primary-color);
}

#product .product-reference > span,
#product .product-quantities > span,
#product .product-availability-date > span {
  align-self: flex-start;
  text-align: left;
}

#product .tabs .product-features .data-sheet .name {
  font-weight: 600;
  font-size: 0.875rem;
  min-height: unset !important;
  background: var(--secondary-color) !important;
  color: var(--contrast-white-color, #fff) !important;
  border: none;
  margin: 0;
  display: inline-block;
  width: fit-content;
  max-width: 100%;
  line-height: 1.15;
  padding: 0.1rem 0.55rem;
  border-radius: 9999px;
}

/* Fiche produit — fiche technique : valeurs en texte (desktop) */
#product .tabs .product-features .data-sheet .value {
  display: inline-block;
  width: fit-content;
  max-width: 100%;
  margin: 0 0 0.65rem;
  word-break: break-word;
  color: var(--text-color, #222);
}

#product .tabs .product-features .data-sheet .value:last-of-type {
  margin-bottom: 0;
}

/* Fiche produit — cartes agrégateur : lignes alternées, sans arrondi, valeur en gras */
#product .tabs .product-features--aggregator .data-sheet--aggregator,
#product #product-details .product-features--aggregator .data-sheet--aggregator {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0;
  margin: 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
}

#product .tabs .product-features--aggregator .data-sheet--aggregator .name,
#product .tabs .product-features--aggregator .data-sheet--aggregator .value,
#product #product-details .product-features--aggregator .data-sheet--aggregator .name,
#product #product-details .product-features--aggregator .data-sheet--aggregator .value {
  margin: 0;
  padding: 0.85rem 1rem;
  border: none;
  border-radius: 0 !important;
  display: block;
  width: auto;
  max-width: none;
  min-height: unset;
  line-height: 1.4;
  color: var(--text-color, #222) !important;
  background: #fff !important;
  word-break: break-word;
  text-transform: none;
}

#product .tabs .product-features--aggregator .data-sheet--aggregator .name,
#product #product-details .product-features--aggregator .data-sheet--aggregator .name {
  font-size: 0.9375rem;
  font-weight: 600;
}

#product .tabs .product-features--aggregator .data-sheet--aggregator .value,
#product #product-details .product-features--aggregator .data-sheet--aggregator .value {
  font-size: 0.9375rem;
  font-weight: 700;
}

#product .tabs .product-features--aggregator .data-sheet--aggregator .name:nth-child(4n + 1),
#product .tabs .product-features--aggregator .data-sheet--aggregator .value:nth-child(4n + 2),
#product #product-details .product-features--aggregator .data-sheet--aggregator .name:nth-child(4n + 1),
#product #product-details .product-features--aggregator .data-sheet--aggregator .value:nth-child(4n + 2) {
  background: var(--neutral-color-secondary, #f5f5f5) !important;
}

#product .tabs .product-features--aggregator .data-sheet--aggregator .name:nth-child(4n + 3),
#product .tabs .product-features--aggregator .data-sheet--aggregator .value:nth-child(4n + 4),
#product #product-details .product-features--aggregator .data-sheet--aggregator .name:nth-child(4n + 3),
#product #product-details .product-features--aggregator .data-sheet--aggregator .value:nth-child(4n + 4) {
  background: #fff !important;
}

/* Fiche produit — cartes agrégateur : description alignée sur la typo des détails (ex. Conditions d'annulation) */
#product .tabs .tab-content:has(.product-features--aggregator) #description .product-description,
#product .tabs .tab-content:has(.product-features--aggregator) #term-and-condition .product-description {
  font-size: 0.9375rem;
  line-height: 1.4;
  font-weight: 600;
  color: var(--text-color, #222);
  padding: 0.85rem 1rem;
}

#product .tabs .tab-content:has(.product-features--aggregator) #description .product-description p,
#product .tabs .tab-content:has(.product-features--aggregator) #term-and-condition .product-description p {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  color: inherit;
  margin: 0 0 0.75rem;
}

#product .tabs .tab-content:has(.product-features--aggregator) #description .product-description p:last-child,
#product .tabs .tab-content:has(.product-features--aggregator) #term-and-condition .product-description p:last-child {
  margin-bottom: 0;
}

/* Fiche produit — onglets : libellés compacts sur une seule ligne */
#product .product-page__stack--tabs .tabs .nav-tabs .nav-link {
  font-size: 0.875rem;
  letter-spacing: 0;
  white-space: nowrap;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

/* Fiche produit — badges primary (référence, stock, date, état, marque, fiche technique) : mobile uniquement */
@media (max-width: 767.98px) {
  #product .product-reference > span,
  #product .product-quantities > span,
  #product .product-availability-date > span,
  #product .product-condition > span,
  #product .product-manufacturer:not(.product-manufacturer--logo) > span {
    display: inline-block;
    width: fit-content;
    max-width: 100%;
    padding: 0.3rem 0.65rem;
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1.3;
    color: var(--contrast-white-color, #fff);
    background: var(--primary-color);
    border: none;
    border-radius: 9999px;
    box-sizing: border-box;
    word-break: break-word;
    min-height: unset;
  }

  #product .product-reference > span a,
  #product .product-manufacturer:not(.product-manufacturer--logo) > span a {
    color: inherit;
  }

  #product .tabs .product-features .data-sheet .value {
    padding: 0.3rem 0.65rem;
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1.3;
    color: var(--contrast-white-color, #fff);
    background: var(--secondary-color);
    border-radius: 9999px;
    box-sizing: border-box;
    min-height: unset;
  }

  #product #wrapper .tabs .product-features .data-sheet {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: 0.65rem;
    row-gap: 0.45rem;
    align-items: center;
    padding: 0.65rem 0.75rem;
    background: var(--neutral-color);
    border-radius: 0.85rem;
  }

  #product #wrapper .tabs .product-features .data-sheet .name {
    margin: 0;
    padding: 0;
    background: transparent !important;
    color: var(--text-color, #222) !important;
    border-radius: 0;
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.3;
  }

  #product #wrapper .tabs .product-features .data-sheet .value {
    margin: 0;
    justify-self: end;
    display: inline-flex;
    align-items: center;
  }

  #product #product-details .product-features--aggregator .data-sheet--aggregator,
  #product #wrapper .tabs .product-features--aggregator .data-sheet--aggregator {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: 0;
    row-gap: 0;
    padding: 0;
    background: transparent !important;
    border-radius: 0 !important;
  }

  #product #product-details .product-features--aggregator .data-sheet--aggregator .name,
  #product #product-details .product-features--aggregator .data-sheet--aggregator .value,
  #product #wrapper .tabs .product-features--aggregator .data-sheet--aggregator .name,
  #product #wrapper .tabs .product-features--aggregator .data-sheet--aggregator .value {
    padding: 0.75rem 0.85rem;
    font-size: 0.875rem;
    border-radius: 0 !important;
    color: var(--text-color, #222) !important;
    background: #fff !important;
    justify-self: stretch;
    display: block;
    text-transform: none;
  }

  #product #product-details .product-features--aggregator .data-sheet--aggregator .name,
  #product #wrapper .tabs .product-features--aggregator .data-sheet--aggregator .name {
    font-weight: 600;
  }

  #product #product-details .product-features--aggregator .data-sheet--aggregator .value,
  #product #wrapper .tabs .product-features--aggregator .data-sheet--aggregator .value {
    font-weight: 700;
    text-align: left;
  }

  #product #product-details .product-features--aggregator .data-sheet--aggregator .name:nth-child(4n + 1),
  #product #product-details .product-features--aggregator .data-sheet--aggregator .value:nth-child(4n + 2),
  #product #wrapper .tabs .product-features--aggregator .data-sheet--aggregator .name:nth-child(4n + 1),
  #product #wrapper .tabs .product-features--aggregator .data-sheet--aggregator .value:nth-child(4n + 2) {
    background: var(--neutral-color-secondary, #f5f5f5) !important;
  }

  #product #product-details .product-features--aggregator .data-sheet--aggregator .name:nth-child(4n + 3),
  #product #product-details .product-features--aggregator .data-sheet--aggregator .value:nth-child(4n + 4),
  #product #wrapper .tabs .product-features--aggregator .data-sheet--aggregator .name:nth-child(4n + 3),
  #product #wrapper .tabs .product-features--aggregator .data-sheet--aggregator .value:nth-child(4n + 4) {
    background: #fff !important;
  }

  #product .tabs .tab-content:has(.product-features--aggregator) #description .product-description {
    font-size: 0.875rem;
    padding: 0.75rem 0.85rem;
  }
}

/* ===== PAGE LISTING ===== */
/* Sous-ordre : filtres (base) → listing < xl → layout #wrapper (md / xl) → miniatures / grille → pagination */
#category .block-categories .category-top-menu {
  text-align: center;
  font-weight: 500;
}

#category .block-categories .category-top-menu .category-sub-menu {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
#search_filters {
  border: 1px solid var(--primary-color);
}

#search_filters #js-active-search-filters {
  padding-inline: 1rem !important;
}

/* #search_filters_wrapper + container-fluid : gouttières Bootstrap ; on neutralise les marges négatives du theme Classic */
#search_filters_wrapper.container-fluid {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* Espacement entre les facettes à l’intérieur de #search_filters */
#search_filters_wrapper #search_filters {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

#category #left-column #search_filters_wrapper.container-fluid {
  margin-left: 0;
  margin-right: 0;
}

/* Listing : plancher largeur filtres (≥ xl) */
@media (min-width: 1200px) {
  #category #left-column #search_filters_wrapper.container-fluid {
    min-width: 306px;
  }
}

#search_filters_wrapper #search_filter_controls.search-filter-controls--stack {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.75rem;
}

#search_filters_wrapper
  #search_filter_controls.search-filter-controls--stack
  > *,
#search_filters_wrapper
  #search_filter_controls.search-filter-controls--stack
  #_mobile_search_filters_clear_all
  > .btn,
#search_filters_wrapper
  #search_filter_controls.search-filter-controls--stack
  #_mobile_search_filters_clear_all
  > button {
  width: 100%;
  max-width: 100%;
}

#category
  #left-column
  #search_filters_wrapper
  #search_filter_controls.search-filter-controls--stack
  button,
#search_filters_wrapper
  #search_filter_controls.search-filter-controls--stack
  .btn.ok {
  margin: 0;
  background-color: var(--primary-color);
  color: var(--contrast-white-color);
  border: none !important;
}

/* #category #search_filters #js-active-search-filters button.toggle-filters.show-more {
  background-color: none
}

#category #search_filters #js-active-search-filters button.toggle-filters.show-less {
  background-color: var(--primary-color-light);
  border: 1px solid var(--primary-color);
  border-radius: 9999px;
  padding: 0.25rem 0.75rem;
  text-decoration: none !important;
  text-decoration-color: transparent !important;
} */

#_mobile_search_filters_clear_all .btn.x {
  background-color: transparent !important;
  color: var(--text-color) !important;
  text-decoration: underline;
}

#search_filters > .search-filters-header > p.h6 {
  text-transform: uppercase;
  font-weight: bold;
  font-size: 1.3rem;
  padding-inline: 0rem !important;
}

#category #search_filters section.facet p.facet-title {
  text-transform: uppercase;
  font-weight: bold;
  font-size: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid var(--text-color-grey-hover);
}

#category .facet-label .custom-checkbox > span {
  border: 1px solid #b9b9b9;
  border-radius: 0.25rem;
}

#category .facet-label .custom-checkbox > span i {
  color: var(--primary-color);
}

#category .facet-label a {
  font-weight: 500;
}

#category .faceted-slider > li {
  display: flex;
  flex-direction: column-reverse;
  gap: 1rem;
  padding-top: 1rem;
  margin-right: 2rem;
}

#category .faceted-slider > li > p {
  color: var(--text-color);
  font-size: 0.8rem;
  font-weight: 600;
}

#category .faceted-slider .ui-slider.ui-slider-horizontal {
  background-color: var(--primary-color);
  height: auto;
}

#category .faceted-slider .ui-slider.ui-slider-horizontal .ui-slider-handle {
  background-color: var(--primary-color);
  height: 15px;
  width: 15px;
  border-radius: 50%;
  border: 1px solid var(--primary-color);
}

#category .faceted-slider .ui-slider.ui-slider-horizontal .ui-slider-range {
  background-color: #b9b9b9;
  height: 3px;
  border: none;
  transform: translateY(-60%);
}

#category #search_filters .facet-label .custom-radio {
  border: 1px solid #b9b9b9;
}

#category #search_filters .facet-label.active .custom-radio > span {
  background-color: var(--primary-color);
}

#category #search_filters .facet-label .custom-radio ~ a {
  margin-left: 0.2rem;
}

#category #js-product-list-header .block-category,
#manufacturer #js-product-list-header .block-category {
  display: none;
}

#category h1.category-catalog-title,
#manufacturer h1.category-catalog-title,
#search h1 {
  font-size: 2.1rem !important;
  font-weight: 600;
  margin-bottom: 1.2rem;
}

#manufacturer #products #js-product-list-top.d-none + #js-active-search-filters,
#manufacturer #products #js-product-list-top.d-none ~ #js-product-list {
  margin-top: 0;
}

#manufacturer #products #js-product-list-top.d-none {
  display: none !important;
  margin: 0;
  padding: 0;
  min-height: 0;
}

#category #products .total-products p  , #manufacturer #products .total-products p  , #search #products .total-products p {
  color: var(--text-color);
  font-weight: 600;
}

#category #products #js-product-list-top  , #manufacturer #products #js-product-list-top  , #search #products #js-product-list-top {
  width: 100%;
  display: flex;
  justify-content: space-between;
}

#category #products #js-product-list-top .sort-by-row  , #manufacturer #products #js-product-list-top .sort-by-row  , #search #products #js-product-list-top .sort-by-row {
  display: flex;
  flex-direction: row-reverse;
}

#category #products #js-product-list-top .products-sort-order  , #manufacturer #products #js-product-list-top .products-sort-order  , #search #products #js-product-list-top .products-sort-order {
  padding-right: 0;
}

#category #products #js-product-list-top .sort-by  , #manufacturer #products #js-product-list-top .sort-by  , #search #products #js-product-list-top .sort-by {
  display: none;
}

#category
  #products
  #js-product-list-top
  .products-sort-order
  button.select-title,
#manufacturer
  #products
  #js-product-list-top
  .products-sort-order
  button.select-title,
#search
  #products
  #js-product-list-top
  .products-sort-order
  button.select-title {
  border: 1px solid #818181;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.2rem 1rem !important;
  font-weight: 500;
  font-size: 0.9rem;
  width: 100%;
  background: #fff;
  color: var(--text-color);
}

#category #products #js-product-list-top .filters-row .sort-by-row , #manufacturer #products #js-product-list-top .filters-row .sort-by-row , #search #products #js-product-list-top .filters-row .sort-by-row {
  margin-left: 0;
  margin-right: 0;
  width: 100%;
}

#category #products #js-product-list-top .filters-row .products-sort-order.dropdown , #manufacturer #products #js-product-list-top .filters-row .products-sort-order.dropdown , #search #products #js-product-list-top .filters-row .products-sort-order.dropdown {
  flex: 1 1 auto;
  max-width: none !important;
  width: 100%;
  padding-left: 0;
  padding-right: 0;
}

/* #js-product-list-top : même rendu mobile jusqu’à < xl (1199.98px) */
@media (max-width: 1199.98px) {
  #registration #mobile-header {
    color: var(--text-color) !important;
    font-size: 2rem !important;
  }

  #registration #content,
  body#registration #main #content.page-content.card.card-block {
    padding: 1.125rem var(--padding-inline-base, 1rem) 1.5rem !important;
  }

  #header .row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }

  #header .header-top-right {
    width: 100%;
    display: flex;
    justify-content: center;
  }

  #custom-main-menu {
    background: #fff;
  }

  #_desktop_logo {
    width: auto;
  }

  #category .thumbnail-container, #manufacturer .thumbnail-container {
    width: 100%;
  }

  /*
    #category .pagination-summary, #search .pagination-summary, #manufacturer .pagination-summary {
    width: 100%;
    } */

  #category .filter-button {
    display: flex;
    justify-content: flex-end;
    padding-inline: 0;
  }

  #category .filter-button button {
    margin-top: 1rem;
    background-color: var(--primary-color);
    color: var(--contrast-white-color);
    border: none !important;
    font-size: 0.9rem;
    font-weight: 600 !important;
    padding: 0.5rem 1rem;
    border-radius: 16px;
    text-transform: none !important;
    cursor: pointer;
    transition: all 0.3s ease;
    &:hover {
      background-color: var(--primary-color-light);
    }
  }

  #category .products-top-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    width: 100%;
    max-width: none !important;
    padding-block: 1rem;
  }

  #category .products-top-row div:last-child {
    padding-top: 0;
  }

  #category .products-top-row div:first-child p {
    margin-bottom: 0;
  }

  #category .products-top-row div:first-child {
    padding-top: 0;
  }

  #category #left-column #search_filters_wrapper.hidden-sm-down {
    display: none !important;
  }

  #category #left-column #search_filters_wrapper:not(.hidden-sm-down) {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1030;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    background-color: #fff;
    margin: 0 !important;
    padding-top: env(safe-area-inset-top, 0);
    padding-bottom: env(safe-area-inset-bottom, 0);
  }

  #category .pagination-summary > div:first-child, #search .pagination-summary > div:first-child, #manufacturer .pagination-summary > div:first-child {
    display: none;
  }

  #category #products #js-product-list-top  , #manufacturer #products #js-product-list-top  , #search #products #js-product-list-top {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
  }

  #category #products #js-product-list-top .showing  , #manufacturer #products #js-product-list-top .showing  , #search #products #js-product-list-top .showing {
    font-size: 0.8rem;
    text-align: center;
  }

  #category #products #js-product-list-top .total-products  , #manufacturer #products #js-product-list-top .total-products  , #search #products #js-product-list-top .total-products {
    align-self: center;
    text-align: center;
  }

  #category #products #js-product-list-top .filters-row  , #manufacturer #products #js-product-list-top .filters-row  , #search #products #js-product-list-top .filters-row {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
    max-width: none !important;
    position: relative;
  }

  #category #products #js-product-list-top .filters-row .sort-by-row-container  , #manufacturer #products #js-product-list-top .filters-row .sort-by-row-container  , #search #products #js-product-list-top .filters-row .sort-by-row-container {
    width: 100%;
    max-width: 100%;
    display: flex;
    justify-content: center;
  }

  #category #products #js-product-list-top .filters-row .sort-by-row  , #manufacturer #products #js-product-list-top .filters-row .sort-by-row  , #search #products #js-product-list-top .filters-row .sort-by-row {
    width: 100%;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-inline: 0;
  }

  #category #products #js-product-list-top .filters-row .products-sort-order  , #manufacturer #products #js-product-list-top .filters-row .products-sort-order  , #search #products #js-product-list-top .filters-row .products-sort-order {
    width: 100%;
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
    display: flex;
    justify-content: center;
  }

  #category
    #products
    #js-product-list-top
    .filters-row
    .sort-by-row
    .select-title,
  #manufacturer
    #products
    #js-product-list-top
    .filters-row
    .sort-by-row
    .select-title,
  #search
    #products
    #js-product-list-top
    .filters-row
    .sort-by-row
    .select-title {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: 0 1rem !important;
  }

  #category #products #js-product-list-top .filters-row .custom-search-bar  , #manufacturer #products #js-product-list-top .filters-row .custom-search-bar  , #search #products #js-product-list-top .filters-row .custom-search-bar {
    position: relative;
    display: flex;
    align-items: center;
    background: #fff;
    border-radius: 16px;
    width: 100%;
    max-width: none !important;
    border: 1px solid #818181;
    overflow: hidden;
    padding-left: 1rem;
  }

  #category #products #js-product-list-top .filters-row input  , #manufacturer #products #js-product-list-top .filters-row input  , #search #products #js-product-list-top .filters-row input {
    width: 100%;
    min-width: 0;
    padding-block: 0.5rem;
    border: none;
  }

  #category #products #js-product-list-top .filters-row input:focus  , #manufacturer #products #js-product-list-top .filters-row input:focus  , #search #products #js-product-list-top .filters-row input:focus {
    outline: none;
    box-shadow: none;
  }

  #category
    #products
    #js-product-list-top
    .filters-row
    .custom-search-bar
    input {
    width: 100%;
    min-height: 38px !important;
    padding-left: 0.5rem;
    background-color: transparent;
    padding-block: 0;
  }

  #category
    #products
    #js-product-list-top
    .filters-row
    .custom-search-bar
    input::placeholder {
    color: var(--text-color-grey);
    font-size: 0.9rem;
    font-weight: 500;
  }

  #category
    #products
    #js-product-list-top
    .filters-row
    .custom-search-bar
    button[type="submit"].submit-button {
    display: block !important;
  }

  #category
    #products
    #js-product-list-top
    .filters-row
    .custom-search-bar
    button[type="submit"].submit-button
    > i {
    display: inline-block !important;
    color: var(--primary-color);
    font-size: 1.2rem;
  }

  #category
    #products
    #js-product-list-top
    .filters-row
    .custom-search-bar
    form {
    position: static;
  }

  #category #products #js-product-list-top .filters-row .custom-search-bar i  , #manufacturer #products #js-product-list-top .filters-row .custom-search-bar i  , #search #products #js-product-list-top .filters-row .custom-search-bar i {
    padding: 0;
    margin-right: 0;
    color: var(--text-color-grey);
  }

  #category
    #products
    #js-product-list-top
    .filters-row
    .custom-search-bar
    i:not(:has(button.submit-button)) {
    display: none;
  }

  #category
    #products
    #js-product-list-top
    .filters-row
    .custom-search-bar
    i.clear {
    display: none;
  }

  #category
    #products
    #js-product-list-top
    .filters-row
    .custom-search-bar
    i.search {
    position: static;
    line-height: 1;
    color: var(--text-color-grey);
    padding: 0 !important;
  }

  #category
    #products
    #js-product-list-top
    .filters-row
    .custom-search-bar
    button.submit-button {
    border: none;
    padding: 0;
    position: absolute;
    right: 1rem !important;
    top: 50%;
    transform: translateY(-50%);
    background-color: transparent;
    cursor: pointer;
    height: 100%;
    padding-inline: 0.5rem;
  }
}

#category #products #js-active-search-filters , #manufacturer #products #js-active-search-filters {
  display: none;
}

#category #js-product-list .product-miniature .product-title a , #manufacturer #js-product-list .product-miniature .product-title a {
  color: var(--text-color);
  font-size: 1rem;
  font-weight: 500;
}

#category #js-product-list .product-miniature .product-description .product-price-and-shipping span.price,
#manufacturer #js-product-list .product-miniature .product-description .product-price-and-shipping span.price {
  font-weight: extra-bold;
  font-size: 1.1rem;
}

#category nav.pagination, #search nav.pagination, #manufacturer nav.pagination {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

#category nav.pagination > div:first-of-type, #search nav.pagination > div:first-of-type, #manufacturer nav.pagination > div:first-of-type {
  padding-right: 0 !important;
  flex: 1;
  width: auto;
}

#category nav.pagination > div:last-of-type, #search nav.pagination > div:last-of-type, #manufacturer nav.pagination > div:last-of-type {
  width: auto;
  padding-left: 0;
  margin-left: 0;
}

#category nav.pagination ul.page-list, #search nav.pagination ul.page-list, #manufacturer nav.pagination ul.page-list {
  background-color: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
}

#category nav.pagination ul.page-list i, #search nav.pagination ul.page-list i, #manufacturer nav.pagination ul.page-list i {
  font-size: 1rem;
}

#category nav.pagination ul.page-list li.current, #search nav.pagination ul.page-list li.current, #manufacturer nav.pagination ul.page-list li.current {
  background-color: transparent;
}

#category nav.pagination ul.page-list a, #search nav.pagination ul.page-list a, #manufacturer nav.pagination ul.page-list a {
  padding: 0.5rem 0.75rem;
  height: 32px;
  width: 32px;
  border-radius: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  font-weight: 400;
  font-size: 0.8rem;
}

#category nav.pagination ul.page-list li.current a, #search nav.pagination ul.page-list li.current a, #manufacturer nav.pagination ul.page-list li.current a {
  padding: 0.5rem 0.75rem;
  color: var(--contrast-white-color);
  background-color: var(--primary-color) !important;
  border-radius: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
}

#category #search_filters .search-filters-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.5rem;
}

#category #search_filters .search-filters-header p {
  margin-bottom: 0;
  text-decoration: underline;
}

#category
  #search_filters
  .search-filters-header
  #_desktop_search_filters_clear_all
  button {
  color: var(--primary-color);
  text-decoration: underline;
  font-size: 0.8rem;
}

#category #search_filters #js-active-search-filters {
  background-color: transparent;
  padding-inline: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  align-items: center;
}

#category #search_filters #js-active-search-filters .active-filter-title {
  display: none;
  background-color: transparent;
  padding-inline: 0;
}

#category #search_filters #js-active-search-filters ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  gap: 0.5rem;
}

#category #search_filters #js-active-search-filters button.toggle-filters {
  padding-block: 0;
  height: fit-content;
  text-decoration: underline !important;
  text-decoration-color: var(--primary-color) !important;
}

#category
  #search_filters
  #js-active-search-filters
  button.toggle-filters.invisible {
  display: none !important;
}

#category #search_filters #js-active-search-filters li.filter-block {
  border: 1px solid var(--primary-color);
  border-radius: 9999px;
  padding: 0.25rem 0.5rem;
  background-color: var(--primary-color-light);
  font-weight: 500;
  margin: 0;
}

#category #search_filters #js-active-search-filters li.filter-block i {
  font-weight: 700;
}

#left-column > #js-active-search-filters {
  display: none;
}

#category #search_filters #_desktop_search_filters_clear_all {
  text-transform: capitalize;
}

#category #search_filters #js-active-search-filters ul.active-filters-list {
  margin-bottom: 0;
}

@media (max-width: 767.98px) {
  #category #search_filters #js-active-search-filters ul.active-filters-list {
    padding-left: 1rem;
    padding-right: 1rem;
    box-sizing: border-box;
  }
  #category #left-column #search_filters .facet .h6 {
    display: inline-block;
    padding-inline: 0.25rem;
    margin-bottom: 0;
  }

  #category #left-column #search_filters .facet ul {
    padding-inline: 1.125rem !important;
  }
}

#category #search_filters #js-active-search-filters button.toggle-filters {
  text-decoration: underline;
  font-size: 0.8rem;
  font-weight: 400;
  border: none;
  background-color: transparent;
  color: var(--text-color);
  cursor: pointer;
  text-align: center;
  pointer-events: auto;
  width: fit-content;
}

#category
  #search_filters
  #js-active-search-filters
  ul.active-filters-list
  button.toggle-filters {
  text-decoration: underline;
  color: var(--text-color);
  font-weight: 700;
  text-decoration-color: var(--primary-color);
  text-underline-offset: 2px;
}

#category
  #search_filters
  #js-active-search-filters
  ul.active-filters-list
  .filter-block.hidden-filter {
  display: none;
}

#category
  #search_filters
  #js-active-search-filters.expanded
  ul.active-filters-list
  .filter-block.hidden-filter {
  display: inline-block;
}

/* Catalog /products liste */
.js-product article.product-miniature {
  position: relative;
  height: 100%;
  margin-bottom: 0;
}

.js-product article.product-miniature .badge-container {
  position: absolute;
  top: 1rem;
  right: 1rem;
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
  align-items: center;
  justify-content: center;
  width: fit-content;
  z-index: 1;
}

.js-product article.product-miniature .badge-container .badge-custom {
  background-color: var(--primary-color);
  color: var(--contrast-white-color);
  padding: 0.25rem 0.5rem;
  border-radius: 0.5rem;
  font-size: 0.8rem;
  font-weight: 600;
}

.js-product article.product-miniature .product-flags {
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
  align-items: center;
  justify-content: center;
  width: fit-content;
  z-index: 1;
  right: 0.5rem !important;
  left: auto !important;
}

.js-product article.product-miniature .product-flags .product-flag {
  background-color: var(--primary-color);
  color: var(--contrast-white-color);
  padding: 0.25rem 0.5rem;
  border-radius: 0.5rem;
  font-size: 0.8rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.8rem;
  text-transform: capitalize;
}

.js-product article.product-miniature .product-flags .product-flag.new {
  background-color: var(--primary-color);
  color: var(--contrast-white-color);
  padding: 0.25rem 0.5rem;
  border-radius: 0.5rem;
  font-size: 0.8rem;
  font-weight: 600;
}

.js-product
  article.product-miniature
  .product-flags
  .product-flag.out_of_stock {
  background-color: #dc3545 !important;
  color: var(--contrast-white-color);
}

.js-product article.product-miniature .badge-custom {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.8rem;
}

.js-product article.product-miniature .badge-custom .cev-mode-achat-icon {
  font-size: 16px;
  line-height: 1;
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
}

#category #products .js-product article.product-miniature .thumbnail-top , #manufacturer #products .js-product article.product-miniature .thumbnail-top {
  height: auto;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 0.5rem;
  flex-shrink: 0;
}

.js-product article.product-miniature .thumbnail-container {
  padding-block: 0.5rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 0.5rem;
}

.js-product article.product-miniature .product-thumbnail {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 85.6 / 53.98;
  overflow: hidden;
  flex: 0 0 auto;
  height: auto;
  max-height: none;
}

.js-product article.product-miniature .product-thumbnail picture {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.js-product article.product-miniature .product-thumbnail img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  object-fit: cover;
  object-position: center;
}

.js-product article.product-miniature .thumbnail-container .mode-achat-badge {
  display: flex;
  gap: 1rem;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}

@media (min-width: 768px) {
  .js-product article.product-miniature .thumbnail-container .mode-achat-badge {
    margin-top: 12px;
  }
}

/* Conteneur pour la grille produits (colonnes selon la largeur utile) — retiré : la grille Bootstrap (.col-*) prime. */

/* Page catégorie / marque : ligne flex dès md ; colonne gauche affichée seulement à partir de 1200px */
@media (min-width: 768px) {
  #category #wrapper > .container > .row,
  #manufacturer #wrapper > .container > .row {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
  }
}

@media (min-width: 1200px) {
  #category #wrapper > .container > .row #left-column,
  #manufacturer #wrapper > .container > .row #left-column {
    display: block !important;
    visibility: visible;
    pointer-events: auto;
    flex: 0 0 auto;
    width: clamp(15rem, 28%, 22rem);
    max-width: 100%;
    min-width: 0;
  }

  #category #wrapper > .container > .row #content-wrapper,
  #manufacturer #wrapper > .container > .row #content-wrapper {
    flex: 1 1 0%;
    min-width: 0;
    width: auto !important;
    max-width: none !important;
  }

  /* Barre liste produits : tri + recherche (même breakpoint que colonne filtres) */
  #category #products #js-product-list-top  , #manufacturer #products #js-product-list-top  , #search #products #js-product-list-top {
    display: flex;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    justify-content: space-between;
  }

  #category #products #js-product-list-top .total-products  , #manufacturer #products #js-product-list-top .total-products  , #search #products #js-product-list-top .total-products {
    width: auto;
    padding-top: 0;
  }

  #category #products #js-product-list-top .total-products p  , #manufacturer #products #js-product-list-top .total-products p  , #search #products #js-product-list-top .total-products p {
    margin-bottom: 0;
  }

  #category #products #js-product-list-top .filters-row  , #manufacturer #products #js-product-list-top .filters-row  , #search #products #js-product-list-top .filters-row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    max-width: 75%;
    position: relative;
    align-items: stretch;
  }

  #category #products #js-product-list-top .filters-row .sort-by-row-container  , #manufacturer #products #js-product-list-top .filters-row .sort-by-row-container  , #search #products #js-product-list-top .filters-row .sort-by-row-container {
    flex: 1;
    display: flex;
  }

  #category #products #js-product-list-top .filters-row .products-sort-order  , #manufacturer #products #js-product-list-top .filters-row .products-sort-order  , #search #products #js-product-list-top .filters-row .products-sort-order {
    width: 100%;
    flex: 1;
    padding-left: 0;
  }

  #category #products #js-product-list-top .filters-row .sort-by-row  , #manufacturer #products #js-product-list-top .filters-row .sort-by-row  , #search #products #js-product-list-top .filters-row .sort-by-row {
    width: 100%;
    flex-direction: row;
    margin-inline: 0;
  }

  #category
    #products
    #js-product-list-top
    .filters-row
    .sort-by-row
    .select-title,
  #manufacturer
    #products
    #js-product-list-top
    .filters-row
    .sort-by-row
    .select-title,
  #search
    #products
    #js-product-list-top
    .filters-row
    .sort-by-row
    .select-title {
    width: 100%;
    min-width: 300px;
    padding: 0 1rem !important;
  }

  #category #products #js-product-list-top .filters-row .custom-search-bar  , #manufacturer #products #js-product-list-top .filters-row .custom-search-bar  , #search #products #js-product-list-top .filters-row .custom-search-bar {
    position: relative;
    display: flex;
    align-items: center;
    background: #fff;
    border-radius: 16px;
    width: 100%;
    max-width: 300px;
    border: 1px solid #818181;
    overflow: hidden;
    padding-left: 1rem;
  }

  #category #products #js-product-list-top .filters-row input  , #manufacturer #products #js-product-list-top .filters-row input  , #search #products #js-product-list-top .filters-row input {
    width: 100%;
    min-width: 250px;
    padding-block: 0.5rem;
    border: none;
  }

  #category #products #js-product-list-top .filters-row input:focus  , #manufacturer #products #js-product-list-top .filters-row input:focus  , #search #products #js-product-list-top .filters-row input:focus {
    outline: none;
    box-shadow: none;
  }

  #category
    #products
    #js-product-list-top
    .filters-row
    .custom-search-bar
    input,
  #manufacturer
    #products
    #js-product-list-top
    .filters-row
    .custom-search-bar
    input,
  #search
    #products
    #js-product-list-top
    .filters-row
    .custom-search-bar
    input {
    width: auto;
    padding-left: 0.5rem;
    background-color: transparent;
    padding-block: 0;
    height: 100%;
  }

  #category
    #products
    #js-product-list-top
    .filters-row
    .custom-search-bar
    input::placeholder,
  #manufacturer
    #products
    #js-product-list-top
    .filters-row
    .custom-search-bar
    input::placeholder,
  #search
    #products
    #js-product-list-top
    .filters-row
    .custom-search-bar
    input::placeholder {
    color: var(--text-color-grey);
    font-size: 0.9rem;
    font-weight: 500;
  }

  #category #products #js-product-list-top .filters-row .custom-search-bar i  , #manufacturer #products #js-product-list-top .filters-row .custom-search-bar i  , #search #products #js-product-list-top .filters-row .custom-search-bar i {
    padding: 0;
    margin-right: 0;
    color: var(--text-color-grey);
  }

  #category
    #products
    #js-product-list-top
    .filters-row
    .custom-search-bar
    i:not(:has(button.submit-button)),
  #manufacturer
    #products
    #js-product-list-top
    .filters-row
    .custom-search-bar
    i:not(:has(button.submit-button)),
  #search
    #products
    #js-product-list-top
    .filters-row
    .custom-search-bar
    i:not(:has(button.submit-button)) {
    display: none;
  }

  #category
    #products
    #js-product-list-top
    .filters-row
    .custom-search-bar
    button[type="submit"].submit-button,
  #manufacturer
    #products
    #js-product-list-top
    .filters-row
    .custom-search-bar
    button[type="submit"].submit-button,
  #search
    #products
    #js-product-list-top
    .filters-row
    .custom-search-bar
    button[type="submit"].submit-button {
    display: block !important;
  }

  #category
    #products
    #js-product-list-top
    .filters-row
    .custom-search-bar
    button[type="submit"].submit-button
    > i,
  #manufacturer
    #products
    #js-product-list-top
    .filters-row
    .custom-search-bar
    button[type="submit"].submit-button
    > i,
  #search
    #products
    #js-product-list-top
    .filters-row
    .custom-search-bar
    button[type="submit"].submit-button
    > i {
    display: inline-block !important;
    color: var(--primary-color);
    font-size: 1.2rem;
  }

  #category
    #products
    #js-product-list-top
    .filters-row
    .custom-search-bar
    form,
  #manufacturer
    #products
    #js-product-list-top
    .filters-row
    .custom-search-bar
    form,
  #search
    #products
    #js-product-list-top
    .filters-row
    .custom-search-bar
    form {
    position: static;
  }

  #category
    #products
    #js-product-list-top
    .filters-row
    .custom-search-bar
    button.submit-button,
  #manufacturer
    #products
    #js-product-list-top
    .filters-row
    .custom-search-bar
    button.submit-button,
  #search
    #products
    #js-product-list-top
    .filters-row
    .custom-search-bar
    button.submit-button {
    border: none;
    padding: 0;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    background-color: transparent;
    cursor: pointer;
    height: 100%;
    padding-inline: 0.5rem;
  }

  #category
    #products
    #js-product-list-top
    .filters-row
    .custom-search-bar
    i.clear,
  #manufacturer
    #products
    #js-product-list-top
    .filters-row
    .custom-search-bar
    i.clear,
  #search
    #products
    #js-product-list-top
    .filters-row
    .custom-search-bar
    i.clear {
    display: none;
  }

  #category
    #products
    #js-product-list-top
    .filters-row
    .custom-search-bar
    i.search,
  #manufacturer
    #products
    #js-product-list-top
    .filters-row
    .custom-search-bar
    i.search,
  #search
    #products
    #js-product-list-top
    .filters-row
    .custom-search-bar
    i.search {
    position: static;
    right: 1rem;
    top: 50%;
    line-height: 1;
    color: var(--text-color-grey);
    padding: 0 !important;
  }
}

/* Catégorie / marque (< 1200px) : pas de place pour la sidebar dans la grille, mais le DOM reste affichable pour le tiroir filtres (éviter display:none sur #left-column) */
@media (max-width: 1199.98px) {
  #category #wrapper > .container > .row,
  #manufacturer #wrapper > .container > .row {
    flex-wrap: nowrap;
    align-items: flex-start;
  }

  #category #wrapper > .container > .row #left-column,
  #manufacturer #wrapper > .container > .row #left-column {
    flex: 0 0 0% !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible;
    visibility: hidden;
    pointer-events: none;
    border: 0;
  }

  #category
    #wrapper
    > .container
    > .row
    #left-column
    #search_filters_wrapper:not(.hidden-sm-down),
  #manufacturer
    #wrapper
    > .container
    > .row
    #left-column
    #search_filters_wrapper:not(.hidden-sm-down) {
    visibility: visible;
    pointer-events: auto;
  }

  #category #wrapper > .container > .row #content-wrapper,
  #manufacturer #wrapper > .container > .row #content-wrapper {
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0;
  }
}

@media (max-width: 767.98px) {
  #category #wrapper > .container > .row,
  #manufacturer #wrapper > .container > .row {
    flex-wrap: wrap;
  }

  #category #products .js-product article.product-miniature .thumbnail-container .mode-achat-badge,
  #manufacturer #products .js-product article.product-miniature .thumbnail-container .mode-achat-badge {
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
  }

  #category #products .js-product article.product-miniature .thumbnail-container .mode-achat-badge span,
  #manufacturer #products .js-product article.product-miniature .thumbnail-container .mode-achat-badge span {
    margin: 0;
  }
}

/* Catalog / Category tree */
#category .block-categories {
  display: none;
}

/* #category .block-categories .category-top-menu a.h6 {
  text-decoration: underline;
  text-align: center;
} */

/* Media Insert */
#media-insert-container {
  background-color: #fff;
  border-radius: var(--border-radius-type);
  margin-bottom: 2rem;
  text-align: center;
  /* border: 1px solid var(--primary-color); */
  max-height: 200px;
  height: 200px;
  padding-inline: 0.5rem;
}

#media-insert-container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#category #products .search-widgets , #manufacturer #products .search-widgets {
  margin: 0;
  overflow: hidden;
}

/* Pagination */
#category nav.pagination, #search nav.pagination, #manufacturer nav.pagination {
  display: flex;
  align-items: flex-end;
  flex-direction: row;
  width: 100%;
}

#category nav.pagination .pagination-summary, #search nav.pagination .pagination-summary, #manufacturer nav.pagination .pagination-summary {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-end;
}

#category nav.pagination .pagination-widget, #search nav.pagination .pagination-widget, #manufacturer nav.pagination .pagination-widget {
  margin-left: 0;
}

#category nav.pagination .products-per-page #products-per-page, #search nav.pagination .products-per-page #products-per-page, #manufacturer nav.pagination .products-per-page #products-per-page {
  background-color: white;
  padding: 0.5rem;
  color: var(--text-color-grey);
}

#category nav.pagination .products-per-page select::picker-icon, #search nav.pagination .products-per-page select::picker-icon, #manufacturer nav.pagination .products-per-page select::picker-icon {
  color: var(--text-color-grey);
}

#category nav.pagination .products-per-page #products-per-page option, #search nav.pagination .products-per-page #products-per-page option, #manufacturer nav.pagination .products-per-page #products-per-page option {
  color: var(--text-color-grey);
  background-color: white;
}

#category #js-product-list .search-widgets , #manufacturer #js-product-list .search-widgets {
  display: none;
}

#category #main #subcategories {
  display: none;
}

#category #js-product-list .no-products-found , #manufacturer #js-product-list .no-products-found , #search #js-product-list .no-products-found {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  padding: 2rem;
  border: 1px solid var(--primary-color-light);
  border-radius: var(--border-radius-type);
}

#category #js-product-list .no-products-found button , #manufacturer #js-product-list .no-products-found button , #search #js-product-list .no-products-found button {
  background-color: var(--primary-color);
  color: var(--contrast-white-color);
  padding: 0.5rem 1rem;
  border-radius: var(--border-radius-type);
  border: none;
  cursor: pointer;
}

/* Grille produits catalogue : Bootstrap (.row + .col-*) — pas de CSS Grid par-dessus */
#category #js-product-list .row > .js-product,
#manufacturer #js-product-list .row > .js-product {
  min-width: 0;
  display: flex;
  flex-direction: column;
}

#category #js-product-list .row > .js-product > article.product-miniature,
#manufacturer #js-product-list .row > .js-product > article.product-miniature {
  width: 100%;
  max-width: 100%;
  flex: 1 1 auto;
}

#category #js-product-list .js-product article.product-miniature .thumbnail-container,
#manufacturer #js-product-list .js-product article.product-miniature .thumbnail-container {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.product-images > li.thumb-container .thumb.selected {
  border: 1px solid var(--primary-color);
  border-radius: var(--border-radius-type);
}

.modal-content .product-variants-item .radio-label {
  border: 1px solid var(--text-color-grey-hover);
  padding: 0.5rem 1rem;
}

/* #category #products .search-widgets , #manufacturer #products .search-widgets {
height: 100%;
margin: 0;
background-color: transparent;
} */

#page-loader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.7);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  display: none;
}

.loader-spinner {
  width: 40px;
  height: 40px;
  border: 4px solid #ccc;
  border-top-color: var(--primary-color);
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}

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

@media (max-width: 767.98px) {
  #category #products .js-product article.product-miniature , #manufacturer #products .js-product article.product-miniature {
    height: auto;
  }

  #category #products .js-product article.product-miniature .thumbnail-container , #manufacturer #products .js-product article.product-miniature .thumbnail-container {
    justify-content: flex-start;
    row-gap: 0.35rem;
  }

  #category #products .js-product article.product-miniature .thumbnail-top , #manufacturer #products .js-product article.product-miniature .thumbnail-top {
    height: auto;
    justify-content: flex-start;
    row-gap: 0.35rem;
  }

  #category .product-miniature .thumbnail-container .product-thumbnail, #manufacturer .product-miniature .thumbnail-container .product-thumbnail {
    position: relative;
    display: block;
    width: 100%;
    margin-inline: 0;
    aspect-ratio: 85.6 / 53.98;
    flex: 0 0 auto;
    height: auto;
    overflow: hidden;
  }

  #category .product-miniature .thumbnail-container .product-thumbnail picture, #manufacturer .product-miniature .thumbnail-container .product-thumbnail picture {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
  }

  #category .product-miniature .thumbnail-container .product-thumbnail img, #manufacturer .product-miniature .thumbnail-container .product-thumbnail img {
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    object-fit: cover;
    object-position: center;
    margin-inline: auto;
  }

  #category #products .js-product article.product-miniature .mode-achat-badge , #manufacturer #products .js-product article.product-miniature .mode-achat-badge {
    gap: 0.35rem;
    margin-top: calc(0.25rem + 8px);
  }

  #category #js-product-list .product-miniature .product-description , #manufacturer #js-product-list .product-miniature .product-description {
    padding-top: 0.2rem;
  }

  #category #js-product-list .product-miniature .product-title , #manufacturer #js-product-list .product-miniature .product-title {
    margin-bottom: 0.2rem;
    line-height: 1.2;
  }

  #category #js-product-list .product-miniature .product-title a , #manufacturer #js-product-list .product-miniature .product-title a {
    font-size: 0.92rem;
    line-height: 1.25;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
  }

  #category #js-product-list .product-miniature .product-price-and-shipping , #manufacturer #js-product-list .product-miniature .product-price-and-shipping {
    margin-top: 0.1rem;
  }

  #category #js-product-list .product-miniature .product-price-and-shipping span.price , #manufacturer #js-product-list .product-miniature .product-price-and-shipping span.price {
    font-size: 0.98rem;
  }

  #category #js-product-list .product-miniature .product-list-reviews , #manufacturer #js-product-list .product-miniature .product-list-reviews {
    margin-top: 0.15rem;
  }
}

/* Carrousel homepage : légende type bureau — texte blanc, centré, typo calibrée (≤1000px) */
@media (max-width: 1000px) {
  #carousel .carousel-item figure > .container {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding-inline: clamp(0.75rem, 3vw, 1.25rem);
    display: flex;
    justify-content: center;
    box-sizing: border-box;
  }

  #carousel .carousel-inner .caption {
    margin-inline: auto;
    padding: clamp(0.5rem, 2vw, 0.85rem) 0 clamp(0.65rem, 2.5vw, 1rem);
    max-width: min(100%, 34rem);
    text-align: center;
    color: var(--contrast-white-color, #fff);
    text-shadow: 0 1px 14px rgba(0, 0, 0, 0.42);
  }

  #carousel .carousel-inner .caption h1,
  #carousel .carousel-inner .caption h1.cev-home-hero-title,
  #carousel .carousel-inner .caption h1.display-1,
  #carousel .carousel-inner .caption h2,
  #carousel .carousel-inner .caption h2.cev-home-hero-title,
  #carousel .carousel-inner .caption h2.display-1 {
    color: var(--contrast-white-color, #fff) !important;
    font-size: clamp(1.28rem, 4.8vw + 0.45rem, 1.9rem) !important;
    line-height: 1.18;
    margin: 0 auto 0.55rem;
    max-width: 22ch;
    text-wrap: balance;
    font-weight: 700;
    letter-spacing: -0.02em;
  }

  #carousel .carousel-inner .caption .caption-description {
    color: rgba(255, 255, 255, 0.95);
    font-size: clamp(0.88rem, 2.6vw + 0.32rem, 1.05rem) !important;
    line-height: 1.48;
    font-weight: 400;
    margin: 0 auto;
    max-width: 38ch;
  }

  #carousel .carousel-inner .caption .caption-description p {
    color: inherit;
    font-size: inherit !important;
    line-height: inherit;
    margin: 0 0 0.75rem;
    font-weight: inherit;
  }

  #carousel .carousel-inner .caption .caption-description p:last-child {
    margin-bottom: 0;
  }

  #carousel .carousel-inner .caption .caption-description a {
    margin-top: 0.5rem;
    display: inline-block;
    color: var(--nav-color, #1a1a1a) !important;
    text-shadow: none;
  }
}

/* Homepage hero — mobile uniquement : overlay + typo + CTA visibles */
@media (max-width: 767.98px) {
  #index #homepage-top-image .header-top-image {
    height: clamp(280px, 78vw, 360px);
  }

  #index #homepage-top-image #carousel {
    height: 100% !important;
  }

  #index #homepage-top-image .carousel .carousel-item .carousel-slide-media::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(
      180deg,
      rgba(0, 0, 0, 0.58) 0%,
      rgba(0, 0, 0, 0.48) 42%,
      rgba(0, 0, 0, 0.62) 100%
    );
  }

  #index #homepage-top-image .carousel .carousel-item figure > .container {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding-inline: 1rem;
    box-sizing: border-box;
  }

  #index #homepage-top-image .carousel .carousel-item .caption,
  #index #carousel .carousel-inner .caption {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    transform: none;
    width: 100%;
    max-width: min(100%, 24rem);
    margin: 0 auto;
    padding: 0.35rem 0 0.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
  }

  #index #carousel .carousel-inner .caption h1,
  #index #carousel .carousel-inner .caption h1.cev-home-hero-title,
  #index #carousel .carousel-inner .caption h1.display-1,
  #index #carousel .carousel-inner .caption h2,
  #index #carousel .carousel-inner .caption h2.cev-home-hero-title,
  #index #carousel .carousel-inner .caption h2.display-1 {
    color: var(--contrast-white-color, #fff) !important;
    font-size: clamp(1.2rem, 4.2vw + 0.45rem, 1.55rem) !important;
    line-height: 1.2 !important;
    margin: 0 auto 0.45rem !important;
    max-width: 20ch;
  }

  #index #carousel .carousel-inner .caption .caption-description {
    font-size: clamp(0.88rem, 2.4vw + 0.4rem, 1rem) !important;
    line-height: 1.4 !important;
    margin: 0 auto !important;
    max-width: 36ch;
  }

  #index #carousel .carousel-inner .caption .caption-description p {
    margin: 0 0 0.5rem !important;
    font-size: inherit !important;
  }

  #index #carousel .carousel-inner .caption .caption-description a,
  #index #carousel .carousel-inner .caption .caption-description a.btn.btn-default {
    margin-top: 0.3rem !important;
    padding: 0.45rem 1.1rem !important;
    font-size: 0.875rem !important;
    line-height: 1.2;
  }
}

/* Cadre pages compte — renfort (body#addresses sans .page-customer-account en core PS) */
body#addresses .cev-account-page.my-account {
  background-color: var(--contrast-white-color, #fff) !important;
  border: 2px solid var(--primary-color) !important;
  border-radius: var(--border-radius-type, 24px);
}

/* RGPD (module psgdpr) — même cadre que identité (custom.css toujours chargé) */
body#module-psgdpr-gdpr.page-customer-account #main #content.page-content,
body#module-psgdpr-gdpr.page-customer-account #content {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

body#module-psgdpr-gdpr .cev-account-page.cev-gdpr-page.my-account {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 56rem !important;
  margin-inline: auto !important;
  margin-block: clamp(1.25rem, 4vw, 3.75rem) !important;
  padding: clamp(1.25rem, 4vw, 3.75rem) !important;
  display: block !important;
  background-color: var(--contrast-white-color, #fff) !important;
  border: 2px solid var(--primary-color) !important;
  border-radius: var(--border-radius-type, 24px) !important;
  overflow: visible !important;
}

@media (max-width: 767.98px) {
  body#module-psgdpr-gdpr .cev-account-page.cev-gdpr-page.my-account {
    padding: 1rem 1rem 1.5rem !important;
  }
}

/* RGPD — boutons export .cev-mc-cta (renfort : custom.css + couleur héritée #7a7a7a du Classic) */
body#module-psgdpr-gdpr {
  --cev-mc-orange: var(--primary-color, #f23648);
}

body#module-psgdpr-gdpr .cev-gdpr-page__sections,
body#module-psgdpr-gdpr .cev-gdpr-page__section {
  text-align: left;
}

body#module-psgdpr-gdpr.page-customer-account #content .cev-gdpr-page__actions.cev-mc-ctas {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: flex-start !important;
  align-items: center;
  gap: 0.75rem;
  margin: 0;
  padding: 0;
  text-align: left !important;
}

body#module-psgdpr-gdpr.page-customer-account #content .cev-gdpr-page__actions a.cev-mc-cta,
body#module-psgdpr-gdpr.page-customer-account #content #exportDataToPdf,
body#module-psgdpr-gdpr.page-customer-account #content #exportDataToCsv {
  display: inline-flex !important;
  align-items: center;
  gap: 0.45rem;
  margin: 0 !important;
  padding: 0.5rem 1.1rem !important;
  border: 2px solid var(--primary-color, #f23648) !important;
  border-radius: 999px !important;
  color: var(--primary-color, #f23648) !important;
  background: #fff !important;
  font-weight: 600 !important;
  font-size: 0.875rem !important;
  line-height: 1.3 !important;
  text-decoration: none !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  float: none !important;
  box-shadow: none;
}

body#module-psgdpr-gdpr.page-customer-account #content .cev-gdpr-page__actions a.cev-mc-cta:hover,
body#module-psgdpr-gdpr.page-customer-account #content #exportDataToPdf:hover,
body#module-psgdpr-gdpr.page-customer-account #content #exportDataToCsv:hover {
  background: var(--primary-color, #f23648) !important;
  color: #fff !important;
  border-color: var(--primary-color, #f23648) !important;
  text-decoration: none !important;
  box-shadow: 0 4px 14px rgba(242, 54, 72, 0.35);
}

body#module-psgdpr-gdpr.page-customer-account #content .cev-gdpr-page__actions a.cev-mc-cta .material-icons {
  font-size: 1.25rem !important;
  color: inherit !important;
}

body#module-psgdpr-gdpr.page-customer-account #content .cev-gdpr-page__section-title {
  color: var(--dark-mode, #1a1a1a) !important;
}

/* Checkout simplifie : cartes recapitulatives adresse/livraison */
body#checkout .cev-checkout-summary-card {
  display: flex;
  align-items: center;
  gap: 1rem;
  width: 100%;
  padding: 1.1rem 1.25rem;
  margin: 0.75rem 0 1rem;
  background: #fff;
  border: 1px solid rgba(242, 54, 72, 0.18);
  border-radius: 16px;
  box-shadow: 0 10px 24px rgba(30, 30, 30, 0.06);
}

body#checkout .cev-checkout-summary-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 3rem;
  width: 3rem;
  height: 3rem;
  color: var(--primary-color, #f23648);
  background: rgba(242, 54, 72, 0.08);
  border-radius: 999px;
}

body#checkout .cev-checkout-summary-card__icon .material-icons {
  color: inherit;
  font-size: 1.8rem;
}

body#checkout .cev-checkout-summary-card__body {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  min-width: 0;
}

body#checkout .cev-checkout-summary-card__body strong {
  color: var(--dark-mode, #1a1a1a);
  font-size: 1rem;
  font-weight: 700;
}

body#checkout .cev-checkout-summary-card__body span,
body#checkout .cev-checkout-summary-card__meta span {
  color: #6f6f6f;
  font-size: 0.92rem;
  line-height: 1.45;
}

body#checkout .cev-checkout-summary-card__meta {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  margin-left: auto;
  white-space: nowrap;
}

body#checkout .cev-checkout-summary-card__meta strong {
  color: var(--dark-mode, #1a1a1a);
  font-weight: 700;
}

body#checkout .cev-checkout-summary-card__actions {
  margin-top: 1rem;
}

@media (max-width: 767.98px) {
  body#checkout .cev-checkout-summary-card {
    align-items: flex-start;
    flex-direction: column;
  }

  body#checkout .cev-checkout-summary-card__meta {
    margin-left: 0;
  }
}

/* Découvrir (HPP) : taille originale des visuels — sans impact listing catégorie */
#index #main .hpp_tabs .products .js-product-miniature .thumbnail-container .product-thumbnail {
  position: static;
  aspect-ratio: auto;
  overflow: visible;
  height: auto;
}

#index #main .hpp_tabs .products .js-product-miniature .thumbnail-container .product-thumbnail picture {
  position: static;
  inset: auto;
  width: 100%;
  height: auto;
}

#index #main .hpp_tabs .products .js-product-miniature .thumbnail-container .product-thumbnail img,
#index #main .hpp_tabs .products .js-product-miniature .product-thumbnail img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  max-height: none;
  object-fit: contain;
  object-position: center;
  margin-inline: 0;
}

/* CMS 9 — Politique de gestion des cookies */
#cms.cms-id-9 .page-cms-9 {
  max-width: 52rem;
  margin-inline: auto;
}

#cms.cms-id-9 .cev-cookies-policy {
  color: var(--bs-body-color, #212529);
  font-size: 1rem;
  line-height: 1.65;
}

#cms.cms-id-9 .cev-cookies-policy__intro {
  margin-bottom: 2rem;
  padding: 1.25rem 1.5rem;
  border-left: 4px solid var(--bs-primary, #6f2dbd);
  background: rgba(111, 45, 189, 0.06);
  border-radius: 0 0.5rem 0.5rem 0;
}

#cms.cms-id-9 .cev-cookies-policy__section {
  margin-bottom: 2.25rem;
}

#cms.cms-id-9 .cev-cookies-policy__section--contact {
  margin-bottom: 0;
  padding-top: 0.5rem;
}

#cms.cms-id-9 .cev-cookies-policy__title {
  margin-bottom: 1rem;
  font-size: clamp(1.25rem, 2vw, 1.5rem);
  font-weight: 700;
  color: var(--bs-primary, #6f2dbd);
}

#cms.cms-id-9 .cev-cookies-policy p {
  margin-bottom: 1rem;
}

#cms.cms-id-9 .cev-cookies-policy p:last-child {
  margin-bottom: 0;
}

#cms.cms-id-9 .cev-cookies-policy ul {
  margin: 0 0 1rem;
  padding-left: 1.35rem;
}

#cms.cms-id-9 .cev-cookies-policy li {
  margin-bottom: 0.35rem;
}

#cms.cms-id-9 .cev-cookies-policy__cards {
  display: grid;
  gap: 1rem;
}

@media (min-width: 768px) {
  #cms.cms-id-9 .cev-cookies-policy__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

#cms.cms-id-9 .cev-cookies-policy__card {
  height: 100%;
  padding: 1.25rem 1.35rem;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 0.75rem;
  background: #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

#cms.cms-id-9 .cev-cookies-policy__card-title {
  margin-bottom: 0.75rem;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.35;
}

#cms.cms-id-9 .cev-cookies-policy__note {
  margin-top: 0.75rem;
  margin-bottom: 0;
  font-size: 0.925rem;
  font-weight: 600;
}

#cms.cms-id-9 .cev-cookies-policy__note--required {
  color: #0d6e3f;
}

#cms.cms-id-9 .cev-cookies-policy__data-list {
  columns: 1;
}

@media (min-width: 576px) {
  #cms.cms-id-9 .cev-cookies-policy__data-list {
    columns: 2;
    column-gap: 2rem;
  }
}

#cms.cms-id-9 .cev-cookies-policy a {
  color: var(--bs-primary, #6f2dbd);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

#cms.cms-id-9 .cev-cookies-policy a:hover {
  text-decoration-thickness: 2px;
}

#cms.cms-id-9 .cev-cookies-policy__table {
  margin-top: 1rem;
  font-size: 0.9375rem;
}

#cms.cms-id-9 .cev-cookies-policy__table code {
  font-size: 0.875em;
}

/* CMS 12 — Politique de confidentialité */
#cms.cms-id-12 .page-cms-12,
#cms.cms-id-12 .cev-privacy-page {
  max-width: 56rem;
  margin-inline: auto;
}

#cms.cms-id-12 .cev-legal-doc {
  font-size: 1rem;
  line-height: 1.65;
  color: var(--bs-body-color, #212529);
}

#cms.cms-id-12 .cev-legal-doc__updated {
  margin-bottom: 1.25rem;
  font-size: 0.95rem;
  color: #666;
}

#cms.cms-id-12 .cev-legal-doc__intro {
  margin-bottom: 1rem;
}

#cms.cms-id-12 .cev-legal-doc__section {
  margin-bottom: 2.25rem;
  padding-bottom: 0.25rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

#cms.cms-id-12 .cev-legal-doc__section:last-child {
  border-bottom: 0;
}

#cms.cms-id-12 .cev-legal-doc__title {
  margin-bottom: 1rem;
  font-size: clamp(1.2rem, 2vw, 1.45rem);
  font-weight: 700;
  color: var(--bs-primary, #6f2dbd);
}

#cms.cms-id-12 .cev-legal-doc__subtitle {
  margin: 1.25rem 0 0.75rem;
  font-size: 1.05rem;
  font-weight: 700;
  color: #333;
}

#cms.cms-id-12 .cev-legal-doc p {
  margin-bottom: 1rem;
}

#cms.cms-id-12 .cev-legal-doc__list {
  margin: 0 0 1rem;
  padding-left: 1.35rem;
}

#cms.cms-id-12 .cev-legal-doc__list li {
  margin-bottom: 0.35rem;
}

#cms.cms-id-12 .cev-privacy-policy__table-wrap {
  overflow-x: auto;
  margin: 1rem 0;
}

#cms.cms-id-12 .cev-privacy-policy__table {
  width: 100%;
  min-width: 40rem;
  border-collapse: collapse;
  font-size: 0.925rem;
}

#cms.cms-id-12 .cev-privacy-policy__table th,
#cms.cms-id-12 .cev-privacy-policy__table td {
  padding: 0.75rem 0.85rem;
  border: 1px solid rgba(0, 0, 0, 0.1);
  vertical-align: top;
  text-align: left;
}

#cms.cms-id-12 .cev-privacy-policy__table th {
  background: rgba(111, 45, 189, 0.08);
  font-weight: 700;
  color: var(--bs-primary, #6f2dbd);
}

#cms.cms-id-12 .cev-privacy-policy__table tbody tr:nth-child(even) {
  background: rgba(0, 0, 0, 0.02);
}

#cms.cms-id-12 .cev-legal-doc a {
  color: var(--bs-primary, #6f2dbd);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

#cms.cms-id-12 .cev-legal-doc a:hover {
  text-decoration-thickness: 2px;
}

/* CMS 3 — CGU MYGIFT / CMS 8 — CGV MYGIFT */
#cms.cms-id-3 .page-cms-3,
#cms.cms-id-3 .cev-cgu-page,
#cms.cms-id-8 .page-cms-8,
#cms.cms-id-8 .cev-cgv-page {
  max-width: 56rem;
  margin-inline: auto;
}

#cms.cms-id-3 .cev-legal-doc,
#cms.cms-id-8 .cev-legal-doc {
  font-size: 1rem;
  line-height: 1.65;
  color: var(--bs-body-color, #212529);
}

#cms.cms-id-3 .cev-legal-doc__lead,
#cms.cms-id-8 .cev-legal-doc__lead {
  margin-bottom: 2rem;
  padding: 1.25rem 1.5rem;
  border-left: 4px solid var(--bs-primary, #6f2dbd);
  background: rgba(111, 45, 189, 0.06);
  border-radius: 0 0.5rem 0.5rem 0;
  font-weight: 500;
}

#cms.cms-id-3 .cev-legal-doc__section,
#cms.cms-id-8 .cev-legal-doc__section {
  margin-bottom: 2.5rem;
  padding-bottom: 0.25rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

#cms.cms-id-3 .cev-legal-doc__section:last-child,
#cms.cms-id-8 .cev-legal-doc__section:last-child {
  border-bottom: 0;
}

#cms.cms-id-3 .cev-legal-doc__title,
#cms.cms-id-8 .cev-legal-doc__title {
  margin-bottom: 1rem;
  font-size: clamp(1.2rem, 2vw, 1.45rem);
  font-weight: 700;
  color: var(--bs-primary, #6f2dbd);
}

#cms.cms-id-3 .cev-legal-doc__subtitle,
#cms.cms-id-8 .cev-legal-doc__subtitle {
  margin: 1.25rem 0 0.75rem;
  font-size: 1.05rem;
  font-weight: 700;
  color: #333;
}

#cms.cms-id-3 .cev-legal-doc p,
#cms.cms-id-8 .cev-legal-doc p {
  margin-bottom: 1rem;
}

#cms.cms-id-3 .cev-legal-doc__list,
#cms.cms-id-8 .cev-legal-doc__list,
#cms.cms-id-3 .cev-cgu__form-lines,
#cms.cms-id-8 .cev-cgu__form-lines {
  margin: 0 0 1rem;
  padding-left: 1.35rem;
}

#cms.cms-id-3 .cev-legal-doc__list li,
#cms.cms-id-8 .cev-legal-doc__list li,
#cms.cms-id-3 .cev-cgu__form-lines li,
#cms.cms-id-8 .cev-cgu__form-lines li {
  margin-bottom: 0.4rem;
}

#cms.cms-id-3 .cev-cgu__definitions,
#cms.cms-id-8 .cev-cgu__definitions {
  margin: 0 0 1rem;
}

#cms.cms-id-3 .cev-cgu__definitions dt,
#cms.cms-id-8 .cev-cgu__definitions dt {
  margin-top: 0.85rem;
  font-weight: 700;
  color: #222;
}

#cms.cms-id-3 .cev-cgu__definitions dt:first-child,
#cms.cms-id-8 .cev-cgu__definitions dt:first-child {
  margin-top: 0;
}

#cms.cms-id-3 .cev-cgu__definitions dd,
#cms.cms-id-8 .cev-cgu__definitions dd {
  margin: 0.25rem 0 0;
  padding-left: 0;
}

#cms.cms-id-3 .cev-cgu__form-lines,
#cms.cms-id-8 .cev-cgu__form-lines {
  list-style: none;
  padding-left: 0;
  background: #f8f9fa;
  border-radius: 0.5rem;
  padding: 1rem 1.25rem;
}

#cms.cms-id-3 .cev-legal-doc__placeholder,
#cms.cms-id-8 .cev-legal-doc__placeholder {
  margin-top: 0.5rem;
  font-style: italic;
  color: #555;
}

#cms.cms-id-3 .cev-legal-doc a,
#cms.cms-id-8 .cev-legal-doc a {
  color: var(--bs-primary, #6f2dbd);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

#cms.cms-id-3 .cev-legal-doc a:hover,
#cms.cms-id-8 .cev-legal-doc a:hover {
  text-decoration-thickness: 2px;
}

/* CMS 2 — Mentions légales */
#cms.cms-id-2 .page-cms-2,
#cms.cms-id-2 .cev-legal-notice-page {
  max-width: 56rem;
  margin-inline: auto;
}

#cms.cms-id-2 .cev-legal-doc {
  font-size: 1rem;
  line-height: 1.65;
  color: var(--bs-body-color, #212529);
}

#cms.cms-id-2 .cev-legal-doc__section {
  margin-bottom: 2.25rem;
  padding-bottom: 0.25rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

#cms.cms-id-2 .cev-legal-doc__section:last-child {
  border-bottom: 0;
}

#cms.cms-id-2 .cev-legal-doc__title {
  margin-bottom: 1rem;
  font-size: clamp(1.2rem, 2vw, 1.45rem);
  font-weight: 700;
  color: var(--bs-primary, #6f2dbd);
}

#cms.cms-id-2 .cev-legal-doc p {
  margin-bottom: 1rem;
}

#cms.cms-id-2 .cev-legal-doc__address {
  margin: 0 0 1rem;
  font-style: normal;
  line-height: 1.6;
}

#cms.cms-id-2 .cev-legal-doc__meta-list,
#cms.cms-id-2 .cev-legal-doc__list {
  margin: 0 0 1rem;
  padding-left: 1.35rem;
}

#cms.cms-id-2 .cev-legal-doc a {
  color: var(--bs-primary, #6f2dbd);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

#cms.cms-id-2 .cev-legal-doc a:hover {
  text-decoration-thickness: 2px;
}


/* ==========================================================================
   Plan du site FO (MGFT-11 / ps_cev_sitemap) — layout hybride 3 colonnes
   ========================================================================== */
body#sitemap .cev-sitemap {
  max-width: 72rem;
  margin: 0 auto;
}

body#sitemap .cev-sitemap__intro {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem 1.5rem;
  margin: 0 0 1.5rem;
  padding: 1.15rem 1.35rem;
  border: 1px solid rgba(196, 30, 58, 0.18);
  border-radius: var(--border-radius-type-small, 8px);
  background: rgba(196, 30, 58, 0.1);
}

body#sitemap .cev-sitemap__intro-main {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex: 1 1 16rem;
  min-width: 0;
}

body#sitemap .cev-sitemap__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background: #fff;
  color: var(--primary-color);
  font-size: 1.35rem;
}

body#sitemap .cev-sitemap__lead {
  flex: 1 1 auto;
  margin: 0;
  min-width: 0;
  max-width: 36rem;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.45;
  color: var(--text-color, #363a41);
}

body#sitemap .cev-sitemap__banner {
  flex: 0 1 18rem;
  margin: 0;
  max-width: 18rem;
  min-width: 12rem;
}

body#sitemap .cev-sitemap__banner-link {
  display: block;
  text-decoration: none;
}

body#sitemap .cev-sitemap__banner-img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--border-radius-type-small, 8px);
  object-fit: cover;
  aspect-ratio: 1870 / 698;
}

body#sitemap .cev-sitemap__columns {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2rem 2.5rem;
  align-items: start;
}

body#sitemap .cev-sitemap__column {
  min-width: 0;
}

body#sitemap .cev-sitemap__title {
  margin: 0 0 1rem;
  padding-bottom: 0.65rem;
  border-bottom: 2px solid var(--primary-color);
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text-color, #363a41);
  line-height: 1.3;
}

body#sitemap .cev-sitemap__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

body#sitemap .cev-sitemap__list--nested {
  display: block;
  margin: 0.45rem 0 0.9rem;
  padding: 0.15rem 0 0.15rem 1.35rem !important;
  margin-left: 0.15rem;
  border-left: 2px solid var(--primary-color);
}

body#sitemap .cev-sitemap__list--nested > .cev-sitemap__item {
  margin: 0 0 0.35rem;
}

body#sitemap .cev-sitemap__list--nested .cev-sitemap__link {
  font-size: 0.9rem;
  font-weight: 400;
  padding-left: 0.1rem;
}

body#sitemap .cev-sitemap__item {
  margin: 0 0 0.45rem;
}

body#sitemap .cev-sitemap__item--parent > .cev-sitemap__link {
  font-weight: 600;
}

body#sitemap .cev-sitemap__link {
  display: inline-block;
  font-size: 0.95rem;
  line-height: 1.4;
  font-weight: 500;
  color: var(--text-color, #363a41);
  text-decoration: none;
  border-radius: var(--border-radius-type-small, 8px);
  transition: color 0.15s ease, text-decoration-color 0.15s ease;
}

body#sitemap .cev-sitemap__link:hover,
body#sitemap .cev-sitemap__link:focus-visible {
  color: var(--primary-color);
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

@media (max-width: 991.98px) {
  body#sitemap .cev-sitemap__columns {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.75rem 1.5rem;
  }
}

@media (max-width: 575.98px) {
  body#sitemap .cev-sitemap__columns {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  body#sitemap .cev-sitemap__intro {
    margin-bottom: 1rem;
    gap: 0.75rem;
  }

  body#sitemap .cev-sitemap__intro-main {
    gap: 0.75rem;
  }

  body#sitemap .cev-sitemap__lead {
    font-size: 1rem;
  }

  body#sitemap .cev-sitemap__banner {
    max-width: 100%;
    flex-basis: 100%;
  }
}

/* ===== ORDER CONFIRMATION — spacing override (must stay last) ===== */
body#order-confirmation #main > #content.page-content.card,
body#order-confirmation #main > #content.page-order-confirmation,
body#order-confirmation #content-hook_order_confirmation.card {
  padding: 1.35rem 1.5rem !important;
  border: none !important;
  box-shadow: none !important;
  background-color: #fff !important;
}

body#order-confirmation #content-hook_payment_return.card,
body#order-confirmation .cev-order-confirmation-payment-return {
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* Same section-title scale: Articles / Répartition / Votre crédit cadeau */
body#order-confirmation .cev-order-items__title,
body#order-confirmation .cev-wallet-split-payment-recap__title,
body#order-confirmation .cev-wallet-payment-return__credit-title {
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  text-transform: none !important;
  color: var(--text-color, #222);
}

body#order-confirmation #content-hook_payment_return .cev-wallet-payment-return {
  padding-left: 0;
  padding-right: 0;
  box-sizing: border-box;
}

body#order-confirmation #content-hook_payment_return .cev-wallet-payment-return__success,
body#order-confirmation #content-hook_payment_return .cev-wallet-payment-return__credit-row {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
  margin-left: 0;
  margin-right: 0;
}

/* ===== ORDER DETAIL — mirror confirmation recap (gift cards) ===== */
body#order-detail #content.page-content,
body#order-detail #main .page-content {
  max-width: 960px;
}

body#order-detail .cev-order-detail-recap > .card,
body#order-detail .cev-order-detail-recap .cev-order-confirmation-summary,
body#order-detail .cev-order-detail-recap .cev-order-detail-items-card {
  background-color: #fff !important;
  border: none !important;
  box-shadow: none !important;
  padding: 1.35rem 1.5rem !important;
  margin-bottom: 0.75rem !important;
  border-radius: var(--border-radius-type);
  box-sizing: border-box;
}

body#order-detail .cev-order-detail-recap .cev-order-confirmation-footer-actions {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0.35rem 0 0 !important;
  margin: 0.25rem 0 0.5rem !important;
  border-radius: 0;
}

body#order-detail .cev-order-detail-recap .card-block {
  padding: 0 !important;
}

body#order-detail .cev-order-confirmation-summary__grid {
  display: grid;
  gap: 1.25rem;
  align-items: start;
}

@media (min-width: 768px) {
  body#order-detail .cev-order-confirmation-summary__grid {
    grid-template-columns: minmax(0, 1.85fr) minmax(12rem, 0.85fr);
    column-gap: 1.75rem;
  }
}

body#order-detail .cev-order-confirmation-summary__status {
  display: flex;
  gap: 0.9rem;
  align-items: flex-start;
}

body#order-detail .cev-order-confirmation-summary__check {
  flex: 0 0 auto;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #e8f5ee;
  color: #1b7a4a;
  margin-top: 0.1rem;
}

body#order-detail .cev-order-confirmation-summary__status--awaiting-wire .cev-order-confirmation-summary__check {
  background: #fff7ed;
  color: #b45309;
}

body#order-detail .cev-order-confirmation-summary__check .material-icons {
  font-size: 1.65rem;
  line-height: 1;
}

body#order-detail .cev-order-confirmation-summary__title,
body#order-detail .cev-order-items__title,
body#order-detail .cev-wallet-split-payment-recap__title,
body#order-detail .cev-wallet-payment-return__credit-title {
  margin: 0 0 0.85rem !important;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  text-transform: none !important;
  color: var(--text-color, #222);
}

body#order-detail .cev-order-confirmation-summary__title {
  margin-bottom: 0.45rem !important;
  font-size: 1.35rem !important;
}

body#order-detail .cev-order-confirmation-summary__email-notice {
  font-size: 0.875rem;
  line-height: 1.45;
  margin: 0 0 0.85rem;
  max-width: 36rem;
}

body#order-detail .cev-order-confirmation-summary__invoice-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  float: none !important;
  box-sizing: border-box !important;
  width: auto !important;
  max-width: 100%;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0.55rem 1.1rem 0.7rem !important;
  border: 1px solid var(--text-color, #222) !important;
  background: #fff !important;
  color: var(--text-color, #222) !important;
  border-radius: var(--border-radius-type-small, 4px);
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: none !important;
  white-space: nowrap;
  cursor: pointer;
}

body#order-detail .cev-order-confirmation-summary__invoice-btn:hover,
body#order-detail .cev-order-confirmation-summary__invoice-btn:focus {
  background: #f7f7f7 !important;
  color: var(--text-color, #222) !important;
}

body#order-detail .cev-order-confirmation-summary__meta {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  padding: 0.85rem 0 0;
  border-top: 1px solid var(--neutral-color-border, #e5e5e5);
}

@media (min-width: 768px) {
  body#order-detail .cev-order-confirmation-summary__meta {
    border-top: none;
    border-left: 1px solid var(--neutral-color-border, #e5e5e5);
    padding: 0.1rem 0 0.1rem 1.35rem;
  }
}

body#order-detail .cev-order-confirmation-summary__meta-label {
  display: block;
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--gray-600, #6c757d);
  margin-bottom: 0.15rem;
}

body#order-detail .cev-order-confirmation-summary__meta-value {
  display: block;
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--text-color);
  line-height: 1.25;
}

body#order-detail .cev-order-confirmation-summary__meta-link {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}

body#order-detail .cev-order-confirmation-summary__meta-link:hover,
body#order-detail .cev-order-confirmation-summary__meta-link:focus {
  color: var(--color-tolopea-500, #c41e3a);
}

/* SRC commercial — full-width recap (entreprise / financeur + facts grid) */
body#order-detail .cev-order-detail-recap--src .cev-order-detail-src-layout {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

body#order-detail .cev-order-detail-src-layout__status {
  align-items: center;
}

body#order-detail .cev-order-detail-src-layout__status .cev-order-confirmation-summary__check {
  margin-top: 0;
}

body#order-detail .cev-order-detail-src-layout__status .cev-order-confirmation-summary__status-body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 3rem;
}

body#order-detail .cev-order-detail-src-layout__status .cev-order-confirmation-summary__title {
  margin-bottom: 0 !important;
  line-height: 1.25 !important;
}

body#order-detail .cev-order-detail-src-context {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 0.75rem 1.25rem;
  padding: 1rem 1.15rem;
  border-radius: var(--border-radius-type-small, 6px);
  background: var(--gray-50, #f8f9fa);
  border: 1px solid var(--neutral-color-border, #e5e5e5);
}

body#order-detail .cev-order-detail-src-context__company {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex: 1 1 14rem;
  min-width: 0;
}

body#order-detail .cev-order-detail-src-context__avatar {
  flex: 0 0 auto;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 1.05rem;
  background: #fff;
  border: 1px solid var(--neutral-color-border, #e5e5e5);
  color: var(--text-color, #222);
}

body#order-detail .cev-order-detail-src-context__kicker {
  display: block;
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--gray-600, #6c757d);
  margin-bottom: 0.1rem;
}

body#order-detail .cev-order-detail-src-context__company-name,
body#order-detail .cev-order-detail-src-context__funder-name {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.25;
  color: var(--text-color, #222);
}

body#order-detail a.cev-order-detail-src-context__company-name {
  text-decoration: underline;
  text-underline-offset: 0.12em;
}

body#order-detail a.cev-order-detail-src-context__company-name:hover,
body#order-detail a.cev-order-detail-src-context__company-name:focus {
  color: var(--color-tolopea-500, #c41e3a);
}

body#order-detail .cev-order-detail-src-context__funder {
  flex: 0 1 auto;
  min-width: 10rem;
  padding-left: 0;
}

@media (min-width: 768px) {
  body#order-detail .cev-order-detail-src-context__funder {
    padding-left: 1.25rem;
    border-left: 1px solid var(--neutral-color-border, #e5e5e5);
  }
}

body#order-detail .cev-order-detail-src-context__product {
  flex: 0 0 auto;
  align-self: center;
  margin-left: auto;
}

body#order-detail .cev-order-detail-src-context__product-badge {
  display: inline-block;
  padding: 0.35rem 0.65rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
  background: #fff;
  border: 1px solid var(--neutral-color-border, #e5e5e5);
  color: var(--text-color, #222);
}

body#order-detail .cev-order-detail-src-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem 1.25rem;
  margin: 0;
  padding: 1rem 1.15rem 0.15rem;
  border-top: 1px solid var(--neutral-color-border, #e5e5e5);
}

@media (min-width: 768px) {
  body#order-detail .cev-order-detail-src-facts {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

body#order-detail .cev-order-detail-src-facts__item {
  margin: 0;
  min-width: 0;
}

body#order-detail .cev-order-detail-src-facts__label {
  margin: 0 0 0.15rem;
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--gray-600, #6c757d);
}

body#order-detail .cev-order-detail-src-facts__value {
  margin: 0;
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.25;
  color: var(--text-color, #222);
}

body#order-detail .cev-order-detail-src-facts__value--mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 0.875rem;
}

body#order-detail .cev-order-detail-src-facts__value--muted {
  font-weight: 600;
  color: var(--gray-600, #6c757d);
}

body#order-detail .cev-order-detail-src-facts__value--amount {
  font-size: 1.05rem;
}

body#order-detail .cev-order-detail-src-invoice {
  margin-top: 1.1rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.75rem;
  align-items: center;
}

body#order-detail .cev-order-detail-src-invoice .cev-order-confirmation-summary__invoice-btn {
  display: inline-flex;
}

body#order-detail .cev-order-items__cols { display: none; }

@media (min-width: 768px) {
  body#order-detail .cev-order-items__cols {
    display: grid;
    grid-template-columns: 4.5rem minmax(0, 1fr) repeat(3, minmax(4.5rem, 6.5rem));
    column-gap: 1rem;
    align-items: end;
    margin: 0 0 0.35rem;
    padding: 0 0 0.55rem;
    border-bottom: 1px solid var(--neutral-color-border, #e5e5e5);
  }
  body#order-detail .cev-order-items__col {
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--gray-600, #6c757d);
    line-height: 1.2;
  }
  body#order-detail .cev-order-items__col--article { grid-column: 1 / 3; text-align: left; }
  body#order-detail .cev-order-items__col--unit { grid-column: 3; text-align: right; }
  body#order-detail .cev-order-items__col--qty { grid-column: 4; text-align: right; }
  body#order-detail .cev-order-items__col--total { grid-column: 5; text-align: right; }
}

body#order-detail .cev-order-totals-box {
  margin: 0.85rem 0 0;
  padding: 0.95rem 1.15rem;
  background: #f6f6f6;
  border: none;
  border-radius: 0.65rem;
  width: 100%;
  max-width: none;
  box-sizing: border-box;
}

body#order-detail .cev-order-totals-box__table { width: 100%; margin: 0; }
body#order-detail .cev-order-totals-box__table td {
  padding: 0.25rem 0 !important;
  border: none !important;
  font-size: 0.875rem;
  text-align: left;
  background: transparent !important;
}
body#order-detail .cev-order-totals-box__table td:last-child {
  text-align: right;
  font-weight: 600;
}
body#order-detail .cev-order-totals-box__table tr.total-value td {
  font-weight: 700;
  font-size: 0.9375rem;
  padding-top: 0.45rem !important;
}

body#order-detail .cev-wallet-split-payment-recap {
  margin-top: 0.85rem;
  padding-top: 0.85rem;
  border-top: 1px solid var(--cev-border-color, #e5e5e5);
}
body#order-detail .cev-wallet-split-payment-recap__list {
  list-style: none; margin: 0; padding: 0 !important;
}
body#order-detail .cev-wallet-split-payment-recap__item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 0.75rem;
  align-items: center;
  padding: 0.65rem 0;
  border-bottom: 1px solid var(--neutral-color-border, #e5e5e5);
}
body#order-detail .cev-wallet-split-payment-recap__item:last-of-type { border-bottom: none; }
body#order-detail .cev-wallet-split-payment-recap__icon {
  width: 2.25rem; height: 2.25rem; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center; background: #f0f0f0;
}
body#order-detail .cev-wallet-split-payment-recap__item--wallet .cev-wallet-split-payment-recap__icon {
  background: color-mix(in srgb, var(--primary-color, #c41230) 12%, #fff);
  color: var(--primary-color, #c41230);
}
body#order-detail .cev-wallet-split-payment-recap__copy { display: flex; flex-direction: column; gap: 0.15rem; }
body#order-detail .cev-wallet-split-payment-recap__label { font-size: 0.875rem; font-weight: 700; }
body#order-detail .cev-wallet-split-payment-recap__subtitle { font-size: 0.75rem; color: var(--gray-600, #6c757d); }
body#order-detail .cev-wallet-split-payment-recap__amount { font-size: 0.9375rem; font-weight: 700; }
body#order-detail .cev-wallet-split-payment-recap__total {
  display: flex; justify-content: space-between; align-items: center; gap: 1rem;
  margin: 0.85rem 0 0; padding: 0.95rem 1.15rem;
  background: #f6f6f6; border: none; border-radius: 0.65rem; font-weight: 700;
  width: 100%; max-width: none; box-sizing: border-box;
}

body#order-detail .cev-order-confirmation-payment-return {
  padding: 0 !important; background: transparent !important;
  border: none !important; box-shadow: none !important; margin-bottom: 0.75rem;
}
body#order-detail .cev-wallet-payment-return { padding: 0; width: 100%; }
body#order-detail .cev-wallet-payment-return__success {
  display: flex; gap: 0.75rem; align-items: flex-start;
  padding: 0.85rem 1.5rem; background: #eaf7ef;
  border-radius: var(--border-radius-type-small, 4px);
  margin-bottom: 1rem; width: 100%; box-sizing: border-box;
}
body#order-detail .cev-wallet-payment-return__success-icon {
  flex: 0 0 auto; width: 1.85rem; height: 1.85rem; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  background: #1b7a4a; color: #fff;
}
body#order-detail .cev-wallet-payment-return__success-title {
  margin: 0 0 0.2rem; font-size: 0.9375rem; font-weight: 700; color: #1b7a4a;
}
body#order-detail .cev-wallet-payment-return__success-text {
  margin: 0; font-size: 0.8125rem; line-height: 1.4;
}
body#order-detail .cev-wallet-payment-return__credit-title { padding: 0 1.5rem !important; }
body#order-detail .cev-wallet-payment-return__credit-row {
  display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 0.75rem;
  align-items: center; padding: 0.75rem 1.5rem;
  border: 1px solid var(--neutral-color-border, #e5e5e5);
  border-radius: var(--border-radius-type-small, 4px);
  background: #fff; width: 100%; box-sizing: border-box;
}

body#order-detail .cev-order-confirmation-summary__actions { display: grid; gap: 0.75rem; }
@media (min-width: 576px) {
  body#order-detail .cev-order-confirmation-summary__actions { grid-template-columns: 1fr 1fr; }
}
body#order-detail .cev-order-confirmation-summary__btn {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 3rem; padding: 0.75rem 1rem !important;
  font-size: 0.9375rem !important; font-weight: 600; width: 100%;
}
body#order-detail .cev-order-confirmation-summary__btn--secondary {
  background: #fff !important; color: var(--text-color, #222) !important;
  border: 1px solid var(--text-color, #222) !important;
}

/* Liens « Retour à votre compte » / « Accueil » */
body#order-detail #main > .page-footer,
body#order-detail .page-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem 1.5rem;
  margin-top: 1.1rem;
  margin-bottom: 0.25rem;
  max-width: 960px;
  padding: 0;
}

body#order-detail .page-footer .account-link {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  margin: 0;
  padding: 0;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.3;
  color: var(--text-color, #232323) !important;
  text-decoration: none !important;
}

body#order-detail .page-footer .account-link:hover,
body#order-detail .page-footer .account-link:focus {
  color: var(--primary-color, #f23648) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px;
}

body#order-detail .page-footer .account-link .material-icons {
  font-size: 1.125rem;
  line-height: 1;
  color: inherit;
}

body#order-detail .order-message-form { display: none !important; }

@media (min-width: 768px) {
  body#order-detail .order-line-card.row {
    display: grid;
    grid-template-columns: 4.5rem minmax(0, 1fr) repeat(3, minmax(4.5rem, 6.5rem));
    column-gap: 1rem; align-items: center; margin-left: 0; margin-right: 0;
  }
  body#order-detail .order-line-card.row > [class*="col-"] {
    float: none !important; width: auto !important; max-width: none !important;
    flex: none !important; padding-left: 0; padding-right: 0;
  }
  body#order-detail .order-line-card .order-line__media { grid-column: 1; }
  body#order-detail .order-line-card .order-line__details { grid-column: 2; }
  body#order-detail .order-line-card .order-line__metrics { grid-column: 3 / 6; }
  body#order-detail .order-line__metrics-inner.row {
    display: grid; grid-template-columns: repeat(3, minmax(4.5rem, 6.5rem));
    column-gap: 1rem; margin: 0;
  }
  body#order-detail .order-line__metrics-inner.row > [class*="col-"] {
    float: none !important; width: auto !important; max-width: none !important; padding: 0;
  }
  body#order-detail .order-line__metric-label { display: none; }
  body#order-detail .order-line__metric-value { font-size: 0.875rem; font-weight: 600; }
  body#order-detail .order-line__metrics-inner .order-line__metric:nth-child(1),
  body#order-detail .order-line__metrics-inner .order-line__metric:nth-child(2),
  body#order-detail .order-line__metrics-inner .order-line__metric:nth-child(3) { text-align: right; }
}

body#order-detail .order-line__media .image img {
  width: 4.5rem; height: auto; max-width: 100%; object-fit: contain;
}

/* ===== ORDER RECAP — gray bands full-bleed + no right vertical bar ===== */
#order-confirmation .page-order-confirmation,
#order-confirmation #content.page-order-confirmation,
#order-confirmation #order-items,
#order-confirmation .order-confirmation-table,
body#order-detail .cev-order-detail-items-card,
body#order-detail #order-items,
body#order-detail .order-confirmation-table {
  overflow: visible !important;
  border: none !important;
  border-right: none !important;
  box-shadow: none !important;
}

#order-confirmation .order-confirmation-table table,
#order-confirmation .order-confirmation-table th,
#order-confirmation .order-confirmation-table td,
#order-confirmation .order-line-card,
#order-confirmation .order-line-card > [class*="col-"],
body#order-detail .order-confirmation-table table,
body#order-detail .order-confirmation-table th,
body#order-detail .order-confirmation-table td,
body#order-detail .order-line-card,
body#order-detail .order-line-card > [class*="col-"],
body#order-detail #order-products,
body#order-detail #order-products th,
body#order-detail #order-products td {
  border-left: none !important;
  border-right: none !important;
  box-shadow: none !important;
}

#order-confirmation .cev-order-totals-box,
#order-confirmation .cev-wallet-split-payment-recap__total,
body#order-detail .cev-order-totals-box,
body#order-detail .cev-wallet-split-payment-recap__total {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
  border: none !important;
  border-radius: 0.65rem !important;
  background: #f6f6f6 !important;
}

/* Column header row: no table chrome on the right */
#order-confirmation .cev-order-items__cols,
body#order-detail .cev-order-items__cols {
  border-left: none !important;
  border-right: none !important;
  box-shadow: none !important;
}

/* ===== ORDER ITEMS — shared column alignment (beneficiary + funder) ===== */
@media (min-width: 768px) {
  #order-confirmation .cev-order-items__cols,
  #order-confirmation .order-line-card.row,
  body#order-detail .cev-order-items__cols,
  body#order-detail .order-line-card.row {
    display: grid !important;
    grid-template-columns: 4.5rem minmax(0, 1.4fr) minmax(6.5rem, 7.5rem) minmax(4.5rem, 5.5rem) minmax(5.5rem, 6.5rem) !important;
    column-gap: 1rem !important;
    align-items: center !important;
  }

  #order-confirmation .cev-order-items__col--article,
  body#order-detail .cev-order-items__col--article {
    grid-column: 1 / 3 !important;
    text-align: left !important;
  }

  #order-confirmation .cev-order-items__col--unit,
  body#order-detail .cev-order-items__col--unit {
    grid-column: 3 !important;
    text-align: right !important;
  }

  #order-confirmation .cev-order-items__col--qty,
  body#order-detail .cev-order-items__col--qty {
    grid-column: 4 !important;
    text-align: center !important;
  }

  #order-confirmation .cev-order-items__col--total,
  body#order-detail .cev-order-items__col--total {
    grid-column: 5 !important;
    text-align: right !important;
  }

  /* Same parent grid for headers + values (funder was nested before) */
  #order-confirmation .order-line-card.row > .order-line__metrics,
  #order-confirmation .order-line__metrics-inner.row,
  body#order-detail .order-line-card.row > .order-line__metrics,
  body#order-detail .order-line__metrics-inner.row {
    display: contents !important;
  }

  #order-confirmation .order-line-card.row > .order-line__media,
  body#order-detail .order-line-card.row > .order-line__media {
    grid-column: 1 !important;
  }

  #order-confirmation .order-line-card.row > .order-line__details,
  body#order-detail .order-line-card.row > .order-line__details {
    grid-column: 2 !important;
  }

  #order-confirmation .order-line__metrics-inner.row > .order-line__metric:nth-child(1),
  body#order-detail .order-line__metrics-inner.row > .order-line__metric:nth-child(1) {
    grid-column: 3 !important;
    justify-self: stretch !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    justify-content: center !important;
    text-align: right !important;
  }

  #order-confirmation .order-line__metrics-inner.row > .order-line__metric:nth-child(2),
  body#order-detail .order-line__metrics-inner.row > .order-line__metric:nth-child(2) {
    grid-column: 4 !important;
    justify-self: stretch !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }

  #order-confirmation .order-line__metrics-inner.row > .order-line__metric:nth-child(3),
  body#order-detail .order-line__metrics-inner.row > .order-line__metric:nth-child(3) {
    grid-column: 5 !important;
    justify-self: stretch !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    justify-content: center !important;
    text-align: right !important;
  }

  #order-confirmation .order-line__metric-label,
  body#order-detail .order-line__metric-label {
    display: none !important;
  }

  #order-confirmation .order-line__metric-value,
  body#order-detail .order-line__metric-value {
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    font-variant-numeric: tabular-nums !important;
    width: 100%;
  }
}
