/* =======================================================================
   MAXDEAL — CATALOGUE PREMIUM (2026-09, branche feat/catalog-premium)
   Cartes produit, listing/filtres, aperçu rapide, fiche produit.
   Chargée après le bundle du thème (custom.css inclus) sur toutes les pages.
   Aucune règle de custom.css n'est modifiée : les sections .md-miniature et
   #js-product-list .elementor-product-miniature de custom.css restent
   actives mais ne ciblent plus le nouveau markup (.mx-card, .mx-listing).
   Jetons : --md-* (custom.css), Inter, rayons 6/10/12, ombres marine.
   ======================================================================= */

/* ===== 0. JETONS ===== */
.mx-card,
.mx-listing,
.mx-listing-head,
.mx-qv,
.mx-product {
  --mx-bleu-clair: #EEF2FB;
  --mx-fond-doux: #F7F9FD;
  --mx-texte: #4A5578;
  --mx-texte-2: #69738D;
  --mx-muted: #8A92A8;
  --mx-bord-2: #E6EAF3;
  --mx-ombre-repos: 0 6px 18px rgba(23, 43, 102, .04);
  --mx-ombre-survol: 0 10px 26px rgba(23, 43, 102, .13);
  font-family: "Inter", sans-serif;
  color: var(--md-marine);
}

.mx-ico {
  width: 1em;
  height: 1em;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex: 0 0 auto;
}

/* ===== 1. CARTE PRODUIT (.mx-card) ===== */

/* Le layout CE « Miniature produit » enveloppe la carte : neutralise ses gouttières */
.elementor-16170101 .mx-card-wrap > .elementor-container,
.elementor-16170101 .mx-card-wrap .elementor-column-wrap,
.elementor-16170101 .mx-card-wrap .elementor-widget-wrap {
  padding: 0 !important;
  max-width: none !important;
}

.elementor-16170101,
.elementor-16170101 .elementor-section-wrap,
.elementor-16170101 .mx-card-wrap,
.elementor-16170101 .elementor-widget-mx-product-card,
.elementor-16170101 .elementor-widget-container {
  height: 100%;
}

.mx-card {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--mx-bord-2);
  border-radius: 12px;
  box-shadow: var(--mx-ombre-repos);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.mx-card:hover,
.mx-card:focus-within {
  border-color: #CFD8EB;
  box-shadow: var(--mx-ombre-survol);
  transform: translateY(-3px);
}

.mx-card__media {
  position: relative;
  display: block;
  aspect-ratio: var(--mx-card-ratio, 1);
  overflow: hidden;
  background: var(--mx-fond-doux);
  border-bottom: 1px solid #EEF1F7;
}

.mx-card__img {
  position: absolute;
  inset: 10px;
  width: calc(100% - 20px);
  height: calc(100% - 20px);
  object-fit: contain;
  mix-blend-mode: multiply;
  transition: opacity .25s ease, transform .25s ease;
}

.mx-card__img--hover {
  opacity: 0;
}

.mx-card:hover .mx-card__img--hover {
  opacity: 1;
}

.mx-card:hover .mx-card__img:not(.mx-card__img--hover) {
  transform: scale(1.03);
}

.mx-card:hover .mx-card__img--hover + .mx-card__img,
.mx-card__media:has(.mx-card__img--hover):hover .mx-card__img:first-child {
  opacity: 0;
}

.mx-card__noimg {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #C9D2E6;
}

.mx-card__noimg .mx-ico {
  width: 44px;
  height: 44px;
  stroke-width: 1.5;
}

.mx-card__badges {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}

.mx-card__badge {
  display: inline-block;
  padding: 4px 8px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .04em;
  line-height: 1.2;
  text-transform: uppercase;
  box-shadow: 0 2px 6px rgba(23, 43, 102, .12);
}

.mx-card__badge--promo { background: var(--md-rouge); color: #fff; }
.mx-card__badge--refurb { background: var(--md-vert); color: var(--md-marine); }
.mx-card__badge--used { background: #EEF2FB; color: var(--md-marine); }
.mx-card__badge--new { background: var(--md-bleu); color: #fff; }

.mx-card__qv {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 34px;
  padding: 6px 11px;
  background: #fff;
  border: 1px solid var(--md-bord);
  border-radius: 20px;
  color: var(--md-marine) !important;
  font-size: 12px;
  font-weight: 600;
  text-decoration: none !important;
  box-shadow: 0 4px 12px rgba(23, 43, 102, .12);
  opacity: 0;
  transform: translateY(-4px);
  transition: opacity .2s ease, transform .2s ease;
}

.mx-card:hover .mx-card__qv,
.mx-card:focus-within .mx-card__qv,
.mx-card__qv:focus-visible {
  opacity: 1;
  transform: none;
}

/* tablette et écrans tactiles : pas de survol, bouton toujours visible */
@media (hover: none), (max-width: 1024px) {
  .mx-card__qv {
    opacity: 1;
    transform: none;
  }
}

.mx-card__qv .mx-ico {
  width: 16px;
  height: 16px;
}

.mx-card__body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 5px;
  padding: 12px 14px 14px;
}

.mx-card__brand {
  color: var(--mx-texte-2);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.mx-card__title {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.3;
}

.mx-card__title a {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: calc(1.3em * 2);
  color: var(--md-marine) !important;
  text-decoration: none !important;
}

.mx-card__title a:hover {
  color: var(--md-bleu) !important;
}

.mx-card__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 10px;
  font-size: 12px;
  font-weight: 600;
}

.mx-card__grade {
  color: var(--md-bleu);
}

.mx-card__stock {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.mx-card__stock::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
}

.mx-card__stock--in { color: var(--md-vert-d); }
.mx-card__stock--out { color: var(--mx-muted); }

.mx-card__last {
  color: var(--mx-texte-2);
  font-weight: 500;
}

.mx-card__prices {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px;
  margin-top: auto;
  padding-top: 4px;
}

.mx-card__price {
  color: var(--md-rouge);
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -.01em;
}

.mx-card__regular {
  color: var(--mx-muted);
  font-size: 13px;
}

.mx-card__actions {
  margin-top: 8px;
}

.mx-card__atc {
  margin: 0;
}

.mx-card__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  min-height: 42px;
  padding: 10px 14px;
  border: 0;
  border-radius: 8px;
  font-family: inherit;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  text-decoration: none !important;
  transition: background .16s ease, color .16s ease;
}

.mx-card__btn .mx-ico {
  width: 17px;
  height: 17px;
}

.mx-card__btn--atc {
  background: var(--md-vert);
  color: #fff !important;
}

.mx-card__btn--atc:hover {
  background: var(--md-vert-d);
}

.mx-card__btn--view {
  background: #fff;
  color: var(--md-bleu) !important;
  border: 2px solid var(--md-bleu);
  min-height: 42px;
}

.mx-card__btn--view:hover {
  background: var(--md-bleu);
  color: #fff !important;
}

/* ===== 2. LISTING (.mx-listing-head, .mx-listing) ===== */

.mx-listing-head.elementor-section > .elementor-container,
.mx-listing.elementor-section > .elementor-container {
  max-width: 1180px !important;
  margin: 0 auto;
  padding: 0 20px;
}

.mx-listing-head {
  padding: 8px 0 6px !important;
}

.mx-listing-head .elementor-widget:not(:last-child) {
  margin-bottom: 6px;
}

.mx-listing__title .elementor-heading-title,
.mx-listing__title h1 {
  margin: 6px 0 4px;
  color: var(--md-marine) !important;
  font-size: clamp(26px, 3.4vw, 36px) !important;
  font-weight: 850 !important;
  letter-spacing: -.03em;
  line-height: 1.1 !important;
}

.mx-listing__desc {
  max-width: 760px;
  color: var(--mx-texte);
  font-size: 15px;
  line-height: 1.55;
}

.mx-listing {
  padding: 10px 0 48px !important;
}

.mx-listing > .elementor-container > .elementor-row {
  display: flex;
  align-items: flex-start;
  gap: 28px;
}

.mx-listing__filters {
  position: sticky;
  top: 80px;
  flex: 0 0 250px !important;
  width: 250px !important;
  max-height: calc(100vh - 96px);
  overflow-y: auto;
}

.mx-listing__main {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0;
}

.mx-listing .elementor-column-wrap {
  padding: 0 !important;
}

/* Barre info + tri */
.mx-listing__info,
.mx-listing__sort {
  display: inline-block;
  width: auto !important;
  vertical-align: middle;
}

.mx-listing__main .elementor-widget-wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 16px;
}

.mx-listing__info {
  margin: 0 auto 0 0 !important;
}

.mx-listing__info .ce-listing-info {
  color: var(--mx-texte-2);
  font-size: 14px;
  font-weight: 500;
}

.mx-listing__sort .ce-sort-order {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
}

.mx-listing__sort .elementor-field-label {
  margin: 0;
  color: var(--mx-texte-2);
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
}

.mx-listing__sort select.elementor-field {
  min-height: 42px;
  padding: 8px 34px 8px 12px;
  background: #fff;
  border: 1px solid var(--md-bord);
  border-radius: 8px;
  color: var(--md-marine);
  font-size: 14px;
  font-weight: 600;
}

.mx-listing__active,
.mx-listing__products,
.mx-listing__pagination {
  flex: 0 0 100%;
  width: 100% !important;
}

.mx-listing__active .ce-active-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0;
}

.mx-listing__active .ce-active-filters .elementor-button,
.mx-listing__active .ce-active-filters a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 34px;
  padding: 6px 12px !important;
  background: var(--mx-bleu-clair) !important;
  border: 1px solid #D8DFED !important;
  border-radius: 30px !important;
  color: var(--md-marine) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

.mx-listing__active .ce-active-filters .ce-active-filters__clear {
  background: transparent !important;
  border-color: transparent !important;
  color: var(--md-bleu) !important;
  text-decoration: underline;
}

/* Grille : le widget CE pose elementor-grid-N ; on assure 4 / 3 / 2 */
.mx-listing__products .ce-product-grid,
.mx-listing__products .products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
  gap: 24px 18px;
}

.mx-listing__products .products > div,
.mx-listing__products .products > .elementor {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Pagination */
.mx-listing__pagination .ce-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-top: 8px;
}

.mx-listing__pagination .elementor-button {
  min-width: 40px;
  min-height: 40px;
  padding: 0 12px !important;
  background: #fff !important;
  border: 1px solid var(--md-bord) !important;
  border-radius: 8px !important;
  color: var(--md-marine) !important;
  font-weight: 700 !important;
  box-shadow: none !important;
}

.mx-listing__pagination .elementor-button[aria-current="page"] {
  background: var(--md-bleu) !important;
  border-color: var(--md-bleu) !important;
  color: #fff !important;
}

.mx-listing__pagination .elementor-button:hover:not([aria-current]) {
  background: var(--mx-bleu-clair) !important;
}

/* Filtres (widget CE listing-filters) */
.mx-filters .ce-filters__container {
  position: static;
  display: block;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.mx-filters .ce-filters {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.mx-filters .elementor-field-group {
  margin: 0;
  padding: 0;
  background: #fff;
  border: 1px solid var(--mx-bord-2);
  border-radius: 12px;
  overflow: hidden;
}

.mx-filters .ce-filters__tab {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0;
  padding: 13px 14px;
  color: var(--md-marine);
  font-size: 14px;
  font-weight: 750;
  cursor: pointer;
}

.mx-filters .ce-filters__title[data-count]:not([data-count="0"])::after {
  content: attr(data-count);
  margin-left: 8px;
  padding: 1px 7px;
  border-radius: 20px;
  background: var(--md-bleu);
  color: #fff;
  font-size: 11px;
}

.mx-filters .ce-filters__tab-icon::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-right: 2px solid var(--mx-muted);
  border-bottom: 2px solid var(--mx-muted);
  transform: rotate(45deg);
  transition: transform .2s ease;
}

.mx-filters .ce-filters__tab[aria-expanded="true"] .ce-filters__tab-icon::before {
  transform: rotate(-135deg);
}

.mx-filters .elementor-field-subgroup {
  max-height: 260px;
  padding: 4px 8px 10px;
  border-top: 1px solid #F1F4FA;
}

.mx-filters .elementor-field-option {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 40px;
  padding: 6px 8px;
  border-radius: 8px;
  color: var(--mx-texte) !important;
  font-size: 14px;
  text-decoration: none !important;
}

.mx-filters .elementor-field-option:hover {
  background: var(--mx-bleu-clair);
}

/* CE dessine sa propre case : masquée au profit de la nôtre */
.mx-filters .elementor-field-option input,
.mx-filters .elementor-field-option .ce-checkbox,
.mx-filters .elementor-field-option .elementor-field-label::before {
  display: none !important;
}

.mx-filters .elementor-field-option {
  align-items: flex-start;
  line-height: 1.35;
}

.mx-filters .elementor-field-option::before {
  margin-top: 1px;
}

.mx-filters .elementor-field-option .elementor-field-label {
  flex: 1 1 auto;
  min-width: 0;
  white-space: normal;
  overflow: visible;
  height: auto !important;
  line-height: 1.35 !important;
}

.mx-filters .elementor-field-option .elementor-field-label {
  padding: 0 !important;
  margin: 0 !important;
}

.mx-filters .elementor-field-option::before {
  content: "";
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  border: 2px solid #C9D2E6;
  border-radius: 5px;
  background: #fff;
}

.mx-filters .elementor-field-option[aria-checked="true"]::before {
  border-color: var(--md-bleu);
  background: var(--md-bleu) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/12px no-repeat;
}

.mx-filters .elementor-field-option[aria-checked="true"] .elementor-field-label {
  color: var(--md-marine);
  font-weight: 700;
}

.mx-filters .elementor-field-label[data-magnitude]::after {
  content: attr(data-magnitude);
  margin-left: 6px;
  color: var(--mx-muted);
  font-size: 12px;
  font-weight: 500;
}

.mx-filters .ce-filters__toggle,
.mx-filters .ce-filters__clear {
  display: none;
}

/* ===== 3. TABLETTE / MOBILE ===== */

@media (max-width: 1199px) {
  .mx-listing > .elementor-container > .elementor-row {
    gap: 18px;
  }

  .mx-listing__filters {
    flex-basis: 220px !important;
    width: 220px !important;
  }

  .mx-listing__products .ce-product-grid,
  .mx-listing__products .products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px 14px;
  }
}

@media (max-width: 767px) {
  .mx-listing-head.elementor-section > .elementor-container,
  .mx-listing.elementor-section > .elementor-container {
    padding: 0 12px;
  }

  .mx-listing > .elementor-container > .elementor-row {
    flex-direction: column;
    gap: 8px;
  }

  .mx-listing__filters {
    position: static;
    flex-basis: auto !important;
    width: 100% !important;
    max-height: none;
    overflow: visible;
  }

  .mx-listing__products .ce-product-grid,
  .mx-listing__products .products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 10px;
  }

  .mx-card__body {
    padding: 10px 10px 12px;
  }

  .mx-card__title {
    font-size: 13px;
  }

  .mx-card__price {
    font-size: 16px;
  }

  .mx-card__btn {
    min-height: 40px;
    font-size: 13px;
  }

  /* aperçu rapide toujours visible sur mobile (pas de survol) : pastille icône seule */
  .mx-card__qv {
    display: inline-flex;
    opacity: 1;
    transform: none;
    width: 36px;
    min-height: 36px;
    padding: 0;
    justify-content: center;
    border-radius: 999px;
    top: 8px;
    right: 8px;
  }

  .mx-card__qv span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }

  .mx-listing__sort select.elementor-field {
    min-height: 40px;
  }

  /* Filtres : bouton « Filtrer (n) » + tiroir plein écran */
  .mx-filters .ce-filters__toggle {
    display: block;
  }

  .mx-filters .ce-filters__toggle .elementor-button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 42px;
    padding: 8px 16px !important;
    background: #fff !important;
    border: 2px solid var(--md-bleu) !important;
    border-radius: 8px !important;
    color: var(--md-bleu) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
  }

  .mx-filters .ce-filters__container {
    position: fixed !important;
    inset: 0 !important;
    z-index: 100150;
    display: none;
    box-sizing: border-box;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 12px 84px !important;
    overflow-y: auto !important;
    background: #fff !important;
    border-radius: 0 !important;
  }

  .mx-filters .ce-filters__container[open],
  .mx-filters .ce-filters__container.is-open {
    display: block;
    visibility: visible;
    opacity: 1 !important;
    transform: none !important; /* CE anime sa lightbox en scale(0) */
    border: 0;
    color: var(--md-marine);
  }

  .mx-filters .ce-filters__container.is-open .ce-filters {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    height: auto !important;
    max-height: none !important;
  }

  .mx-filters .ce-filters__container::backdrop {
    background: rgba(16, 30, 74, .35);
  }

  .mx-filters__head {
    position: sticky;
    top: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 56px;
    margin: 0 -12px 8px;
    padding: 8px 8px 8px 16px;
    background: #fff;
    border-bottom: 1px solid #EEF1F7;
  }

  .mx-filters__head strong {
    font-size: 17px;
    font-weight: 800;
  }

  .mx-filters__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    background: transparent;
    border: 0;
    border-radius: 10px;
    color: var(--md-marine);
  }

  .mx-filters__close .mx-ico {
    width: 20px;
    height: 20px;
  }

  .mx-filters__apply {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 100160;
    display: flex;
    gap: 10px;
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
    background: #fff;
    border-top: 1px solid #EEF1F7;
    box-shadow: 0 -8px 24px rgba(23, 43, 102, .10);
  }

  .mx-filters__apply button,
  .mx-filters__apply a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 1 1 auto;
    min-height: 46px;
    padding: 10px 16px;
    border: 0;
    border-radius: 8px;
    font-family: inherit;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none !important;
  }

  .mx-filters__apply .mx-filters__see {
    background: var(--md-vert);
    color: #fff !important;
  }

  .mx-filters__apply .mx-filters__reset {
    flex: 0 0 auto;
    background: #fff;
    border: 2px solid var(--md-bord);
    color: var(--md-marine) !important;
  }

  .mx-filters .ce-filters {
    padding-top: 4px;
  }

  .mx-filters .elementor-field-subgroup {
    max-height: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mx-card,
  .mx-card *,
  .mx-filters * {
    transition: none !important;
  }
}

/* =======================================================================
   BLOC 3 — APERÇU RAPIDE (layout CE 21, section .mx-qv dans la lightbox CE
   #ce-product-quick-view) — 2026-09-10
   ======================================================================= */

#ce-product-quick-view {
  padding: 0;
  border: 0;
  background: rgba(23, 43, 102, 0.55);
}

#ce-product-quick-view .dialog-widget-content {
  /* la largeur (1080 px) vient des réglages du layout CE « Aperçu rapide » ; ici seulement le cadre */
  position: relative !important; /* le bouton fermer se place dans le cadre, pas dans le coin de l'écran */
  max-width: calc(100vw - 32px);
  max-height: calc(100vh - 48px);
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 24px 64px rgba(23, 43, 102, 0.28);
}

#ce-product-quick-view .dialog-lightbox-message {
  padding: 0;
  max-height: calc(100vh - 48px);
}

#ce-product-quick-view .dialog-close-button {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  width: 36px;
  height: 36px;
  padding: 0;
  border-radius: 999px;
  background: #fff;
  color: var(--md-marine) !important;
  border: 1px solid #C9D2E6;
  box-shadow: 0 2px 8px rgba(23, 43, 102, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px !important;
  line-height: 1;
  z-index: 5;
  transition: background 0.15s, color 0.15s;
}


.mx-qv > .elementor-container {
  max-width: none !important;
}

.mx-qv .mx-qv__media > .elementor-column-wrap {
  padding: 24px;
  background: #F5F7FB;
}

.mx-qv .mx-qv__info > .elementor-column-wrap {
  padding: 40px 64px 32px 32px; /* la croix (36 px à 14 px du bord) reste hors du contenu */
}

.mx-qv .mx-qv__info .elementor-widget:not(:last-child) {
  margin-bottom: 14px;
}

/* galerie */
.mx-qv__gallery .elementor-carousel-image {
  object-fit: contain;
  background: #fff;
  border-radius: 10px;
}

.mx-qv__gallery .elementor-main-swiper .swiper-slide-inner {
  background: #fff;
  border-radius: 10px;
}

.mx-qv__gallery .elementor-thumbnails-swiper {
  margin-top: 10px;
}

.mx-qv__gallery .elementor-thumbnails-swiper .swiper-slide {
  border: 2px solid transparent;
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
  cursor: pointer;
}

.mx-qv__gallery .elementor-thumbnails-swiper .swiper-slide-thumb-active {
  border-color: var(--md-bleu);
}

/* lightbox.css (chargé à l'ouverture, donc après ce fichier) impose des flèches 15 % × 100 % : d'où les !important */
.mx-qv__gallery .elementor-swiper-button {
  width: 36px !important;
  height: 36px !important;
  border-radius: 999px;
  background: #fff;
  color: var(--md-marine) !important;
  box-shadow: 0 2px 8px rgba(23, 43, 102, 0.18);
  font-size: 14px !important;
  display: flex;
  align-items: center;
  justify-content: center;
  top: 50%;
  transform: translateY(-50%);
}

.mx-qv__gallery .elementor-swiper-button-prev { left: 8px !important; }
.mx-qv__gallery .elementor-swiper-button-next { right: 8px !important; }

.mx-qv__gallery .elementor-swiper-button:hover {
  background: var(--md-bleu);
  color: #fff !important;
}

/* identité : marque, état, stock, référence */
.mx-pstate {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 10px;
  font-size: 13px;
}

.mx-pstate__brand {
  color: var(--md-bleu);
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none;
}

.mx-pstate__brand:hover {
  text-decoration: underline;
}

.mx-pstate__state,
.mx-pstate__stock {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 3px 10px;
  border-radius: 999px;
  font-weight: 700;
  line-height: 1.4;
}

.mx-pstate__state--new { background: #E8EEFF; color: var(--md-bleu); }
.mx-pstate__state--refurb { background: #EAF7DD; color: var(--md-vert-d); }
.mx-pstate__state--used { background: #FFF3E0; color: #B25E00; }

.mx-pstate__grade {
  font-weight: 600;
  opacity: 0.9;
}

.mx-pstate__grade::before {
  content: "·";
  margin-right: 6px;
}

.mx-pstate__stock::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: currentColor;
}

.mx-pstate__stock--in { background: #EAF7DD; color: var(--md-vert-d); }
.mx-pstate__stock--last { background: #FFF3E0; color: #B25E00; }
.mx-pstate__stock--out { background: #FDE8E6; color: var(--md-rouge-d); }

.mx-pstate__delay,
.mx-pstate__ref {
  color: #6B769A;
  font-weight: 500;
}

/* nom, prix, description */
.mx-qv__name .ce-product-name {
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 22px !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
  color: var(--md-marine) !important;
  margin: 0;
}

.mx-qv__price .ce-product-prices {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 10px;
}

.mx-qv__price .ce-product-price {
  font-size: 28px;
  font-weight: 800;
  color: var(--md-rouge);
  line-height: 1.1;
}

.mx-qv__price .ce-product-price-regular {
  font-size: 16px;
  color: #8A93B2;
  font-weight: 500;
}

.mx-qv__price .ce-product-badge-sale {
  display: inline-block;
  margin-left: 8px;
  padding: 2px 8px;
  border-radius: 6px;
  background: var(--md-rouge);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  vertical-align: middle;
}

.mx-qv__price .ce-tax-shipping-delivery-label,
.mx-qv__price .ce-product-price-without-taxes {
  font-size: 12px;
  color: #6B769A;
}

.mx-qv__desc .ce-product-description-short {
  font-size: 14px;
  line-height: 1.55;
  color: #4A5578;
  border: 0 !important;
}

.mx-qv__desc .ce-product-description-short p:empty {
  display: none;
}

.mx-qv__desc .ce-product-description-short p:last-child {
  margin-bottom: 0;
}

/* déclinaisons */
.mx-qv__variants .ce-product-variants__label,
.mx-qv__variants label {
  font-size: 13px;
  font-weight: 700;
  color: var(--md-marine);
}

.mx-qv__variants select,
.mx-qv__variants .form-control {
  border: 1px solid var(--md-bord);
  border-radius: 8px;
  min-height: 42px;
  font-size: 14px;
}

/* pastilles de déclinaison (couleur / taille) : boîte visible, libellé affiché quand l'attribut n'a pas de couleur */
.mx-qv__variants .ce-product-variants__label {
  display: block;
  margin-bottom: 6px;
}

.mx-qv__variants .ce-product-variants__patterns {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.mx-qv__variants .ce-product-variants__radio {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 36px;
  padding: 0 12px;
  border: 1.5px solid var(--md-bord);
  border-radius: 8px;
  background: #fff;
  color: var(--md-marine);
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  transition: border-color 0.15s, box-shadow 0.15s;
}

.mx-qv__variants .ce-product-variants__radio:not([style])::after {
  content: attr(title);
}

.mx-qv__variants .ce-product-variants__radio[style] {
  width: 36px;
  padding: 0;
  border-radius: 999px;
}

.mx-qv__variants .ce-product-variants__radio:hover,
.mx-qv__variants .ce-product-variants__radio:focus-visible {
  border-color: var(--md-bleu);
  outline: none;
}

.mx-qv__variants .ce-product-variants__radio[aria-checked="true"] {
  border-color: var(--md-bleu);
  box-shadow: 0 0 0 2px rgba(33, 64, 154, 0.2);
}

/* quantité + ajout au panier sur une ligne */
.mx-qv .mx-qv__qty.elementor-widget,
.mx-qv .mx-qv__atc.elementor-widget {
  display: inline-block;
  vertical-align: middle;
  margin-bottom: 14px !important;
  margin-right: 10px;
}

.mx-qv__qty .ce-product-quantity {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--md-bord);
  border-radius: 8px;
  overflow: hidden;
  height: 46px;
}

.mx-qv__qty .ce-product-quantity__btn {
  width: 40px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--md-marine);
  cursor: pointer;
  font-size: 14px;
}

.mx-qv__qty .ce-product-quantity__btn:hover {
  background: #F0F3FA;
}

.mx-qv__qty input.elementor-field {
  width: 48px;
  border: 0;
  text-align: center;
  font-weight: 700;
  font-size: 15px;
  height: 44px;
  -moz-appearance: textfield;
}

.mx-qv__qty input.elementor-field::-webkit-outer-spin-button,
.mx-qv__qty input.elementor-field::-webkit-inner-spin-button {
  -webkit-appearance: none;
}

.mx-qv__atc .elementor-button {
  background: var(--md-vert) !important;
  color: #fff !important;
  border-radius: 8px !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  padding: 0 22px !important;
  height: 46px;
  display: inline-flex;
  align-items: center;
  border: 0;
  transition: background 0.15s;
}

.mx-qv__atc .elementor-button:hover,
.mx-qv__atc .elementor-button:focus-visible {
  background: var(--md-vert-d) !important;
}

.mx-qv__atc .elementor-button.disabled,
.mx-qv__atc .elementor-button[aria-disabled="true"] {
  background: #C9D2E6 !important;
  pointer-events: none;
}

.mx-qv__link .elementor-button {
  background: transparent !important;
  color: var(--md-bleu) !important;
  border: 1.5px solid var(--md-bleu) !important;
  border-radius: 8px !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  padding: 0 18px !important;
  height: 42px;
  display: inline-flex;
  align-items: center;
  transition: background 0.15s, color 0.15s;
}

.mx-qv__link .elementor-button:hover,
.mx-qv__link .elementor-button:focus-visible {
  background: var(--md-bleu) !important;
  color: #fff !important;
}

/* tablette / mobile : feuille bas d'écran */
@media (max-width: 1024px) {
  .mx-qv .mx-qv__info > .elementor-column-wrap {
    padding: 24px 20px 28px;
  }
}

@media (max-width: 767px) {
  #ce-product-quick-view {
    align-items: flex-end;
  }

  #ce-product-quick-view .dialog-widget-content {
    position: fixed !important;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100% !important;
    max-width: none;
    max-height: 92vh;
    max-height: 92dvh;
    border-radius: 16px 16px 0 0;
    animation: mxQvSheet 0.28s cubic-bezier(0.2, 0.8, 0.2, 1);
  }

  /* bandeau fixe de 48 px (poignée + croix) : le contenu défile dessous sans passer sous la croix */
  #ce-product-quick-view .dialog-widget-content {
    padding-top: 48px;
    background: #fff;
  }

  #ce-product-quick-view .dialog-lightbox-message {
    max-height: calc(92vh - 48px);
    max-height: calc(92dvh - 48px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  #ce-product-quick-view .dialog-close-button {
    top: 8px !important;
    right: 12px !important;
    width: 32px;
    height: 32px;
    font-size: 13px !important;
  }

  #ce-product-quick-view .dialog-lightbox-message.animated {
    animation: none;
  }

  #ce-product-quick-view .dialog-widget-content::before {
    content: "";
    position: absolute;
    top: 8px;
    left: 50%;
    width: 44px;
    height: 4px;
    margin-left: -22px;
    border-radius: 999px;
    background: #C9D2E6;
    z-index: 6;
  }

  .mx-qv .mx-qv__media > .elementor-column-wrap {
    padding: 8px 16px 12px;
  }

  .mx-qv .mx-qv__info > .elementor-column-wrap {
    padding: 16px 16px 24px;
  }

  .mx-qv__name .ce-product-name {
    font-size: 19px !important;
  }

  .mx-qv__price .ce-product-price {
    font-size: 24px;
  }

  .mx-qv .mx-qv__atc.elementor-widget {
    margin-right: 0;
  }

  .mx-qv__atc .elementor-button {
    padding: 0 18px !important;
  }
}

@keyframes mxQvSheet {
  from { transform: translateY(24px); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}

/* =======================================================================
   BLOC 4 — FICHE PRODUIT (layout CE 20 : sections .mx-prod, .mx-prod-details,
   .mx-prod-related) — 2026-09-10
   ======================================================================= */

.mx-prod > .elementor-container,
.mx-prod-details > .elementor-container,
.mx-prod-related > .elementor-container {
  max-width: 1280px !important;
  margin: 0 auto;
  padding: 0 16px;
}

.mx-prod.elementor-section {
  padding: 24px 0 8px;
}

.mx-prod .mx-prod__media > .elementor-column-wrap {
  padding: 0 32px 0 0;
}

.mx-prod .mx-prod__info > .elementor-column-wrap {
  padding: 8px 0 0 8px;
}

.mx-prod .mx-prod__info .elementor-widget:not(:last-child) {
  margin-bottom: 16px;
}

.mx-prod__gallery .elementor-main-swiper {
  border: 1px solid var(--md-bord);
  border-radius: 12px;
  background: #fff;
}

.mx-prod__gallery .elementor-main-swiper .swiper-slide-inner,
.mx-prod__gallery .elementor-carousel-image {
  border-radius: 12px;
  background: #fff;
}

.mx-prod__gallery .elementor-carousel-image {
  object-fit: contain;
}

.mx-prod__gallery .elementor-thumbnails-swiper {
  margin-top: 10px;
}

.mx-prod__gallery .elementor-thumbnails-swiper .swiper-slide {
  border: 2px solid var(--md-bord);
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
  cursor: pointer;
}

.mx-prod__gallery .elementor-thumbnails-swiper .swiper-slide-thumb-active {
  border-color: var(--md-bleu);
}

.mx-prod__gallery .elementor-swiper-button {
  width: 40px !important;
  height: 40px !important;
  border-radius: 999px;
  background: #fff;
  color: var(--md-marine) !important;
  box-shadow: 0 2px 8px rgba(23, 43, 102, 0.18);
  font-size: 14px !important;
  display: flex;
  align-items: center;
  justify-content: center;
}

.mx-prod__gallery .elementor-swiper-button:hover {
  background: var(--md-bleu);
  color: #fff !important;
}

.mx-prod .mx-prod__wishlist {
  z-index: 3;
}

.mx-prod__name .ce-product-name {
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 28px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
  color: var(--md-marine) !important;
  margin: 0;
  text-transform: none !important;
}

.mx-prod__price .ce-product-prices {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 12px;
}

.mx-prod__price .ce-product-price {
  font-size: 34px;
  font-weight: 800;
  color: var(--md-rouge);
  line-height: 1.1;
}

.mx-prod__price .ce-product-price-regular {
  font-size: 18px;
  color: #8A93B2;
  font-weight: 500;
}

.mx-prod__price .ce-product-badge-sale {
  display: inline-block;
  margin-left: 10px;
  padding: 3px 10px;
  border-radius: 6px;
  background: var(--md-rouge);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  vertical-align: middle;
}

.mx-prod__price .ce-tax-shipping-delivery-label,
.mx-prod__price .ce-product-price-without-taxes {
  font-size: 13px;
  color: #6B769A;
}

.mx-prod__short .ce-product-description-short {
  font-size: 15px;
  line-height: 1.6;
  color: #4A5578;
  border: 0 !important;
}

.mx-prod__short .ce-product-description-short p:empty { display: none; }
.mx-prod__short .ce-product-description-short p:last-child { margin-bottom: 0; }

.mx-prod__variants .ce-product-variants__label { display: block; margin-bottom: 6px; font-size: 13px; font-weight: 700; color: var(--md-marine); }
.mx-prod__variants .ce-product-variants__patterns { display: flex; flex-wrap: wrap; gap: 8px; }
.mx-prod__variants .ce-product-variants__radio {
  display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 38px; padding: 0 12px;
  border: 1.5px solid var(--md-bord); border-radius: 8px; background: #fff; color: var(--md-marine); font-size: 13px; font-weight: 600; text-decoration: none;
}
.mx-prod__variants .ce-product-variants__radio:not([style])::after { content: attr(title); }
.mx-prod__variants .ce-product-variants__radio[style] { width: 38px; padding: 0; border-radius: 999px; }
.mx-prod__variants .ce-product-variants__radio:hover,
.mx-prod__variants .ce-product-variants__radio:focus-visible { border-color: var(--md-bleu); outline: none; }
.mx-prod__variants .ce-product-variants__radio[aria-checked="true"] { border-color: var(--md-bleu); box-shadow: 0 0 0 2px rgba(33, 64, 154, 0.2); }
.mx-prod__variants select, .mx-prod__variants .form-control { border: 1px solid var(--md-bord); border-radius: 8px; min-height: 44px; font-size: 14px; }

.mx-prod .mx-prod__qty.elementor-widget,
.mx-prod .mx-prod__atc.elementor-widget {
  display: inline-block;
  vertical-align: middle;
  margin-bottom: 16px !important;
  margin-right: 12px;
}

.mx-prod__qty .ce-product-quantity {
  display: inline-flex; align-items: center; border: 1px solid var(--md-bord); border-radius: 8px; overflow: hidden; height: 52px;
}
.mx-prod__qty .ce-product-quantity__btn { width: 44px; height: 50px; display: flex; align-items: center; justify-content: center; color: var(--md-marine); cursor: pointer; font-size: 14px; }
.mx-prod__qty .ce-product-quantity__btn:hover { background: #F0F3FA; }
.mx-prod__qty input.elementor-field { width: 52px; border: 0; text-align: center; font-weight: 700; font-size: 16px; height: 50px; -moz-appearance: textfield; }
.mx-prod__qty input.elementor-field::-webkit-outer-spin-button,
.mx-prod__qty input.elementor-field::-webkit-inner-spin-button { -webkit-appearance: none; }

.mx-prod__atc .elementor-button {
  background: var(--md-vert) !important; color: #fff !important; border-radius: 8px !important; font-weight: 700 !important; font-size: 16px !important;
  padding: 0 28px !important; height: 52px; display: inline-flex; align-items: center; border: 0; transition: background 0.15s;
}
.mx-prod__atc .elementor-button:hover,
.mx-prod__atc .elementor-button:focus-visible { background: var(--md-vert-d) !important; }
.mx-prod__atc .elementor-button.disabled,
.mx-prod__atc .elementor-button[aria-disabled="true"] { background: #C9D2E6 !important; pointer-events: none; }

/* réassurance (liste d'icônes CE, éditable dans l'éditeur) */
.mx-prod__reassurance .elementor-icon-list-items {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 16px;
  padding: 14px 16px;
  border: 1px solid var(--md-bord);
  border-radius: 10px;
  background: #F7F9FD;
  margin: 0;
}

.mx-prod__reassurance .elementor-icon-list-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 13.5px;
  line-height: 1.4;
  color: var(--md-marine);
  font-weight: 600;
}

.mx-prod__reassurance .elementor-icon-list-icon {
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: #EAF7DD;
  color: var(--md-vert-d);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
}

.mx-prod__reassurance .elementor-icon-list-icon i,
.mx-prod__reassurance .elementor-icon-list-icon svg { color: var(--md-vert-d); fill: var(--md-vert-d); font-size: 13px; width: 13px; height: 13px; }

.mx-prod__share .elementor-social-icon { background: #F0F3FA !important; }
.mx-prod__share .elementor-social-icon i { color: var(--md-marine) !important; }
.mx-prod__share .elementor-social-icon:hover { background: var(--md-bleu) !important; }
.mx-prod__share .elementor-social-icon:hover i { color: #fff !important; }

/* détails */
.mx-prod-details.elementor-section {
  padding: 24px 0 8px;
}

.mx-prod-details .mx-prod-details__main > .elementor-column-wrap { padding: 0 40px 0 0; }
.mx-prod-details .mx-prod-details__aside > .elementor-column-wrap { padding: 0; }
.mx-prod-details .elementor-widget:not(:last-child) { margin-bottom: 20px; }

.mx-prod__h2 .elementor-heading-title,
.mx-prod__features .elementor-heading-title {
  font-family: Inter, system-ui, sans-serif;
  font-size: 20px;
  font-weight: 800;
  color: var(--md-marine);
  margin: 0 0 12px;
  padding-bottom: 8px;
  border-bottom: 2px solid var(--md-bord);
}

.mx-prod__desc {
  font-size: 15px;
  line-height: 1.65;
  color: #3A4467;
}

.mx-prod__desc p:last-child { margin-bottom: 0; }
.mx-prod__desc img { max-width: 100%; height: auto; }

.mx-prod__features .ce-product-features {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  border: 1px solid var(--md-bord);
  border-radius: 10px;
  overflow: hidden;
}

.mx-prod__features .ce-product-features__row:nth-child(odd) { background: #F7F9FD; }
.mx-prod__features .ce-product-features__label,
.mx-prod__features .ce-product-features__value { padding: 10px 14px; text-align: left; vertical-align: top; border: 0 !important; }
.mx-prod__features .ce-product-features__label { width: 40%; font-weight: 700; color: var(--md-marine); }
.mx-prod__features .ce-product-features__value { color: #3A4467; }

.mx-checklist {
  padding: 18px 20px;
  border: 1px solid #CFE8B8;
  border-radius: 12px;
  background: #F4FAEC;
}

.mx-checklist__title {
  margin: 0 0 6px;
  font-size: 17px;
  font-weight: 800;
  color: var(--md-marine);
}

.mx-checklist__intro { margin: 0 0 10px; font-size: 14px; color: #4A5578; }
.mx-checklist__list { list-style: none; margin: 0; padding: 0; }
.mx-checklist__item { position: relative; padding: 5px 0 5px 28px; font-size: 14px; color: var(--md-marine); font-weight: 600; }
.mx-checklist__item::before {
  content: ""; position: absolute; left: 0; top: 7px; width: 18px; height: 18px; border-radius: 999px; background: var(--md-vert)
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/11px no-repeat;
}
.mx-checklist__footer { margin: 10px 0 0; font-size: 12.5px; color: #6B769A; }

.mx-prod__faq .elementor-toggle-item { border-top: 1px solid var(--md-bord); }
.mx-prod__faq .elementor-toggle-item:last-child { border-bottom: 1px solid var(--md-bord); }
.mx-prod__faq .elementor-tab-title { font-family: Inter, system-ui, sans-serif; font-size: 15px; font-weight: 700; color: var(--md-marine) !important; padding: 14px 8px 14px 0 !important; }
.mx-prod__faq .elementor-tab-title .elementor-toggle-icon { color: var(--md-bleu); }
.mx-prod__faq .elementor-tab-content { font-size: 14px; line-height: 1.6; color: #3A4467; padding: 0 0 14px !important; border: 0 !important; }
.mx-prod__faq .elementor-tab-content p:last-child { margin-bottom: 0; }

/* similaires + vus récemment (carte unique .mx-card via le layout miniature) */
.mx-prod-related.elementor-section { padding: 16px 0 24px; }
.mx-prod-related .elementor-widget:not(:last-child) { margin-bottom: 28px; }
.mx-prod-related .ce-heading, .mx-prod-related .elementor-heading-title, .mx-prod-related h2 {
  font-family: Inter, system-ui, sans-serif; font-size: 22px; font-weight: 800; color: var(--md-marine);
}

/* barre d'achat fixe (mobile) créée par custom.js */
.mx-sticky-atc {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1030;
  display: none;
  align-items: center;
  gap: 12px;
  padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
  background: #fff;
  border-top: 1px solid var(--md-bord);
  box-shadow: 0 -6px 20px rgba(23, 43, 102, 0.12);
  transform: translateY(100%);
  transition: transform 0.2s;
}

.mx-sticky-atc.is-visible { transform: translateY(0); }
.mx-sticky-atc__price { flex: 1 1 auto; min-width: 0; }
.mx-sticky-atc__amount { display: block; font-size: 20px; font-weight: 800; color: var(--md-rouge); line-height: 1.1; }
.mx-sticky-atc__name { display: block; font-size: 12px; color: #6B769A; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mx-sticky-atc__btn {
  flex: 0 0 auto; height: 46px; padding: 0 20px; border: 0; border-radius: 8px; background: var(--md-vert); color: #fff; font-weight: 700; font-size: 15px; cursor: pointer;
}
.mx-sticky-atc__btn:hover { background: var(--md-vert-d); }
.mx-sticky-atc__btn[disabled] { background: #C9D2E6; }

@media (max-width: 1024px) {
  .mx-prod .mx-prod__media > .elementor-column-wrap { padding: 0 0 20px; }
  .mx-prod .mx-prod__info > .elementor-column-wrap { padding: 0; }
  .mx-prod-details .mx-prod-details__main > .elementor-column-wrap { padding: 0 0 24px; }
}

@media (max-width: 767px) {
  .mx-prod.elementor-section { padding: 12px 0 4px; }
  .mx-prod__name .ce-product-name { font-size: 22px !important; }
  .mx-prod__price .ce-product-price { font-size: 28px; }
  .mx-prod__reassurance .elementor-icon-list-items { grid-template-columns: 1fr; }
  .mx-prod .mx-prod__atc.elementor-widget { margin-right: 0; }
  .mx-prod__atc .elementor-button { padding: 0 20px !important; }
  .mx-sticky-atc { display: flex; }
  body.mx-has-sticky-atc { padding-bottom: 78px; }
}

/* description : paragraphes vides des fiches importées compactés ; bouton « haut de page » décalé au-dessus de la barre d'achat mobile */
.mx-prod__desc p:empty,
.mx-prod__desc p:has(> br:only-child),
.mx-prod__desc p:has(> strong:empty:only-child) {
  display: none;
}

.mx-prod__desc p,
.mx-prod__desc ul {
  margin: 0 0 10px;
}

.mx-prod__desc hr {
  margin: 14px 0;
  border: 0;
  border-top: 1px solid var(--md-bord);
}

@media (max-width: 767px) {
  body.mx-has-sticky-atc #mh-scrolltop {
    bottom: 92px !important;
  }
}

/* =======================================================================
   CORRECTIONS 2026-09-11 : réassurance SVG, blocs repliables, fil d'Ariane,
   pagination, cartes de sous-catégories
   ======================================================================= */

/* --- réassurance (widget mx-reassurance, icônes SVG inline) --- */
.mx-reassure {
  list-style: none;
  margin: 0;
  padding: 14px 16px;
  border: 1px solid var(--md-bord);
  border-radius: 10px;
  background: #F7F9FD;
  display: grid;
  gap: 10px 16px;
}

.mx-reassure--grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mx-reassure--list { grid-template-columns: 1fr; }
.mx-reassure--inline { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); padding: 10px 12px; gap: 8px 12px; }

.mx-reassure__item { margin: 0; min-width: 0; }

.mx-reassure__item > *,
.mx-reassure__link {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: var(--md-marine);
  text-decoration: none;
  font-size: 13.5px;
  line-height: 1.4;
  font-weight: 600;
}

.mx-reassure__link:hover .mx-reassure__text { text-decoration: underline; }

.mx-reassure__icon {
  flex: 0 0 auto;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background: #EAF7DD;
  color: var(--md-vert-d);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.mx-reassure__icon svg { width: 17px; height: 17px; }
.mx-reassure--inline .mx-reassure__icon { width: 26px; height: 26px; }
.mx-reassure--inline .mx-reassure__icon svg { width: 14px; height: 14px; }
.mx-reassure--inline .mx-reassure__item > *, .mx-reassure--inline .mx-reassure__link { font-size: 12.5px; align-items: center; }
.mx-reassure__body { display: flex; flex-direction: column; min-width: 0; }
.mx-reassure__sub { font-weight: 400; color: #5B6690; font-size: 12.5px; }

/* --- blocs repliables (widget mx-product-section) --- */
.mx-psection {
  border-top: 1px solid var(--md-bord);
  padding: 4px 0;
}

.mx-psection:last-child { border-bottom: 1px solid var(--md-bord); }

.mx-psection__title {
  margin: 0;
  font-family: Inter, system-ui, sans-serif;
  font-size: 18px;
  font-weight: 800;
  color: var(--md-marine);
  padding: 12px 0;
}

.mx-psection__toggle {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0;
  border: 0;
  background: none;
  font: inherit;
  color: inherit;
  text-align: left;
  cursor: pointer;
}

.mx-psection__toggle:focus-visible { outline: 2px solid var(--md-bleu); outline-offset: 4px; border-radius: 4px; }
.mx-psection__chevron { flex: 0 0 auto; width: 22px; height: 22px; color: var(--md-bleu); transition: transform 0.25s ease; }
.mx-psection.is-open .mx-psection__chevron { transform: rotate(180deg); }

.mx-psection__panel {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.28s ease;
}

.mx-psection__panel[hidden] { display: none; }
.mx-psection.is-open .mx-psection__panel,
.mx-psection:not(.mx-psection--collapsible) .mx-psection__panel { grid-template-rows: 1fr; }
.mx-psection__inner { overflow: hidden; min-height: 0; }
.mx-psection.is-open .mx-psection__inner { padding-bottom: 16px; }

.mx-psection__prose { font-size: 15px; line-height: 1.65; color: #3A4467; }
.mx-psection__prose p:empty, .mx-psection__prose p:has(> br:only-child) { display: none; }
.mx-psection__prose p, .mx-psection__prose ul { margin: 0 0 10px; }
.mx-psection__prose img { max-width: 100%; height: auto; }
.mx-psection__prose hr { margin: 14px 0; border: 0; border-top: 1px solid var(--md-bord); }

.mx-psection__table { width: 100%; border-collapse: collapse; font-size: 14px; border: 1px solid var(--md-bord); border-radius: 10px; overflow: hidden; }
.mx-psection__table tr:nth-child(odd) { background: #F7F9FD; }
.mx-psection__table th, .mx-psection__table td { padding: 10px 14px; text-align: left; vertical-align: top; border: 0; }
.mx-psection__table th { width: 40%; font-weight: 700; color: var(--md-marine); }
.mx-psection__table td { color: #3A4467; }

/* --- fil d'Ariane (catégorie et fiche) : une ligne, défilement horizontal sur mobile --- */
.mx-breadcrumb .breadcrumb__wrapper,
.mx-listing__breadcrumb .breadcrumb__wrapper { background: transparent; border: 0; padding: 0; }
.mx-breadcrumb .container,
.mx-listing__breadcrumb .container { padding: 0; max-width: none; }
.mx-breadcrumb .breadcrumb,
.mx-listing__breadcrumb .breadcrumb {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0;
  margin: 0;
  padding: 10px 0;
  overflow-x: auto;
  white-space: nowrap;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  font-size: 13px;
  background: transparent;
}
.mx-breadcrumb .breadcrumb::-webkit-scrollbar,
.mx-listing__breadcrumb .breadcrumb::-webkit-scrollbar { display: none; }
.mx-breadcrumb .breadcrumb-item,
.mx-listing__breadcrumb .breadcrumb-item { flex: 0 0 auto; display: inline-flex; align-items: center; padding: 0; }
.mx-breadcrumb .breadcrumb-item + .breadcrumb-item::before,
.mx-listing__breadcrumb .breadcrumb-item + .breadcrumb-item::before {
  content: ""; width: 6px; height: 6px; margin: 0 10px; border-right: 1.5px solid #9AA5C4; border-top: 1.5px solid #9AA5C4; transform: rotate(45deg); padding: 0; float: none;
}
.mx-breadcrumb .breadcrumb-link,
.mx-listing__breadcrumb .breadcrumb-link { color: var(--md-bleu); text-decoration: none; font-weight: 600; }
.mx-breadcrumb .breadcrumb-link:hover,
.mx-listing__breadcrumb .breadcrumb-link:hover { text-decoration: underline; }
.mx-breadcrumb .breadcrumb-item:last-child > span,
.mx-listing__breadcrumb .breadcrumb-item:last-child > span { color: #5B6690; font-weight: 500; }

/* --- pagination CE (skin bouton) --- */
.mx-listing__pagination .ce-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin: 8px 0 0;
  min-height: 44px;
}
.mx-listing__pagination .ce-pagination .elementor-row { display: flex; align-items: center; gap: 6px; flex-wrap: nowrap; width: auto; }
.mx-listing__pagination .ce-pagination .elementor-button-wrapper { display: block; }
.mx-listing__pagination .ce-pagination .elementor-button,
.mx-listing__pagination .ce-pagination .ce-pagination__arrow {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 10px !important;
  border: 1px solid var(--md-bord) !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: var(--md-marine) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: background 0.15s, border-color 0.15s;
}
.mx-listing__pagination .ce-pagination .elementor-button-content-wrapper { display: inline-flex; align-items: center; justify-content: center; }
.mx-listing__pagination .ce-pagination .elementor-button:hover,
.mx-listing__pagination .ce-pagination .ce-pagination__arrow:hover { border-color: var(--md-bleu) !important; color: var(--md-bleu) !important; }
.mx-listing__pagination .ce-pagination .elementor-button[aria-current="page"] { background: var(--md-bleu) !important; border-color: var(--md-bleu) !important; color: #fff !important; }
.mx-listing__pagination .ce-pagination .elementor-button.ce-pagination__ellipsis,
.mx-listing__pagination .ce-pagination .elementor-button-wrapper > span,
.mx-listing__pagination .ce-pagination .elementor-button[aria-hidden="true"] { border-color: transparent !important; background: transparent !important; color: #9AA5C4 !important; }
.mx-listing__pagination .ce-pagination .ce-pagination__arrow[aria-disabled="true"] { opacity: 0.35; pointer-events: none; }
.mx-listing__pagination .ce-pagination .ce-pagination__arrow i { font-size: 13px; }

/* --- cartes de sous-catégories (widget mx-subcategories) --- */
.mx-subcats { margin: 4px 0 20px; }
.mx-subcats__title { font-family: Inter, system-ui, sans-serif; font-size: 18px; font-weight: 800; color: var(--md-marine); margin: 0 0 12px; }
.mx-subcats__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 14px; }
.mx-subcats--cols-4 .mx-subcats__list { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.mx-subcats--cols-5 .mx-subcats__list { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.mx-subcats__item { min-width: 0; }
.mx-subcats__card {
  display: flex; flex-direction: column; height: 100%; border: 1px solid var(--md-bord); border-radius: 12px; background: #fff; overflow: hidden; text-decoration: none !important; color: var(--md-marine);
  transition: box-shadow 0.18s, transform 0.18s, border-color 0.18s;
}
.mx-subcats__card:hover, .mx-subcats__card:focus-visible { border-color: var(--md-bleu); box-shadow: 0 10px 24px rgba(23, 43, 102, 0.12); transform: translateY(-2px); outline: none; }
.mx-subcats__media { display: block; aspect-ratio: 4 / 3; background: #F5F7FB; overflow: hidden; }
.mx-subcats__media img { width: 100%; height: 100%; object-fit: contain; display: block; padding: 8px; box-sizing: border-box; }
.mx-subcats__noimg { display: flex; align-items: center; justify-content: center; height: 100%; color: #C9D2E6; }
.mx-subcats__noimg svg { width: 34px; height: 34px; }
.mx-subcats__name { display: block; padding: 10px 12px 2px; font-size: 14px; font-weight: 700; line-height: 1.3; }
.mx-subcats__count { display: block; padding: 0 12px 12px; font-size: 12px; color: #6B769A; }

@media (max-width: 1024px) {
  .mx-subcats__list { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
  .mx-subcats__list, .mx-subcats--cols-4 .mx-subcats__list, .mx-subcats--cols-5 .mx-subcats__list {
    display: flex; overflow-x: auto; gap: 10px; padding: 2px 2px 8px; margin: 0 -16px; padding-left: 16px; padding-right: 16px; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none;
  }
  .mx-subcats__list::-webkit-scrollbar { display: none; }
  .mx-subcats__item { flex: 0 0 44%; scroll-snap-align: start; }
  .mx-reassure--grid { grid-template-columns: 1fr; }
  .mx-psection__title { font-size: 16px; }
  .mx-listing__pagination .ce-pagination .elementor-button, .mx-listing__pagination .ce-pagination .ce-pagination__arrow { min-width: 36px; height: 36px; font-size: 13px !important; }
}

/* --- page contact (layout CE 7) --- */
.mx-contact-head > .elementor-container,
.mx-contact > .elementor-container,
.mx-contact-foot > .elementor-container { max-width: 1180px !important; margin: 0 auto; padding: 0 16px; }
.mx-contact-head.elementor-section { padding: 28px 0 8px; }
.mx-contact.elementor-section { padding: 16px 0 8px; }
.mx-contact-foot.elementor-section { padding: 8px 0 32px; }
.mx-contact-head .elementor-widget:not(:last-child) { margin-bottom: 12px; }
.mx-contact__title .elementor-heading-title { font-family: Inter, system-ui, sans-serif; font-size: 34px; font-weight: 800; color: var(--md-marine); margin: 0; }
.mx-contact__intro { font-size: 16px; line-height: 1.6; color: #3A4467; max-width: 760px; }
.mx-contact__alert { border: 1px solid #F3D9A4; background: #FFF7E6; border-radius: 10px; padding: 12px 16px !important; font-size: 14px; line-height: 1.5; color: #7A4B00; max-width: 900px; }
.mx-contact__alert p:last-child { margin: 0; }
.mx-contact .mx-contact__aside > .elementor-column-wrap { padding: 0 32px 0 0; }
.mx-contact .mx-contact__main > .elementor-column-wrap { padding: 0; }
.mx-contact .elementor-widget:not(:last-child) { margin-bottom: 18px; }
.mx-contact__infos .mx-reassure { background: #fff; padding: 18px; gap: 14px; }
.mx-contact__infos .mx-reassure__text { font-size: 15px; }
.mx-contact__infos .mx-reassure__link:hover .mx-reassure__text { color: var(--md-bleu); }
.mx-contact__map iframe { width: 100%; height: 260px; border: 0; border-radius: 12px; display: block; }
.mx-contact__form-title .elementor-heading-title { font-family: Inter, system-ui, sans-serif; font-size: 22px; font-weight: 800; color: var(--md-marine); margin: 0; }
.mx-contact__form .elementor-form-fields-wrapper { display: grid; gap: 14px; }
.mx-contact__form .elementor-field-group { margin: 0; }
.mx-contact__form label, .mx-contact__form .elementor-field-label { display: block; font-size: 13px; font-weight: 700; color: var(--md-marine); margin-bottom: 6px; }
.mx-contact__form .elementor-field,
.mx-contact__form input:not([type=file]):not([type=checkbox]):not([type=radio]),
.mx-contact__form select,
.mx-contact__form textarea { width: 100%; border: 1px solid #C9D2E6 !important; border-radius: 8px !important; min-height: 46px; padding: 10px 14px !important; font-size: 15px; background: #fff; color: #1D2542; box-shadow: none !important; }
.mx-contact__form textarea { min-height: 150px; }
.mx-contact__form input[type=file] { padding: 8px 10px !important; }
.mx-contact__form .elementor-field:focus, .mx-contact__form input:focus, .mx-contact__form select:focus, .mx-contact__form textarea:focus { border-color: var(--md-bleu) !important; outline: 2px solid rgba(33, 64, 154, 0.18); outline-offset: 0; }
.mx-contact__form input:invalid:not(:placeholder-shown), .mx-contact__form textarea:invalid:not(:placeholder-shown) { border-color: var(--md-rouge) !important; }
.mx-contact__form .elementor-button,
.mx-contact__form button[type=submit] { background: var(--md-vert) !important; color: #fff !important; border: 0 !important; border-radius: 8px !important; font-weight: 700 !important; font-size: 16px !important; min-height: 50px; padding: 0 28px !important; width: 100%; cursor: pointer; transition: background 0.15s; }
.mx-contact__form .elementor-button:hover, .mx-contact__form button[type=submit]:hover { background: var(--md-vert-d) !important; }
.mx-contact__form .elementor-message, .mx-contact__form .alert { border-radius: 8px; font-size: 14px; }
.mx-contact__reassure .mx-reassure { grid-template-columns: repeat(3, minmax(0, 1fr)); background: #fff; padding: 18px 20px; }
.mx-contact__reassure .mx-reassure__text { font-size: 15px; }
@media (max-width: 1024px) {
  .mx-contact .mx-contact__aside > .elementor-column-wrap { padding: 0 0 24px; }
}
@media (max-width: 767px) {
  .mx-contact__title .elementor-heading-title { font-size: 26px; }
  .mx-contact__reassure .mx-reassure { grid-template-columns: 1fr; }
  .mx-contact__map iframe { height: 220px; }
}

/* custom.css masque tout widget CE « fil d'Ariane » (.elementor-widget-breadcrumb { display:none !important }) :
   on ré-affiche uniquement celui de la fiche produit (.mx-breadcrumb), sans toucher à la règle d'origine. */
.mx-breadcrumb.elementor-widget-breadcrumb { display: block !important; }
.mx-prod-head.elementor-section { padding: 8px 0 0; }
.mx-prod-head > .elementor-container { max-width: 1280px !important; margin: 0 auto; padding: 0 16px; }

/* fil d'Ariane : une seule ligne (custom.css impose flex-wrap et un séparateur ›) */
.mx-breadcrumb .breadcrumb,
.mx-listing__breadcrumb .breadcrumb { flex-wrap: nowrap !important; padding: 8px 0 !important; }
.mx-breadcrumb .breadcrumb-item,
.mx-listing__breadcrumb .breadcrumb-item { white-space: nowrap !important; flex: 0 0 auto !important; }
.mx-breadcrumb .breadcrumb-item + .breadcrumb-item::before,
.mx-listing__breadcrumb .breadcrumb-item + .breadcrumb-item::before { content: "" !important; }
.mx-breadcrumb .breadcrumb-item:last-child,
.mx-listing__breadcrumb .breadcrumb-item:last-child { max-width: 60vw; overflow: hidden; text-overflow: ellipsis; }

/* fiche produit mobile : ligne d'identité compacte, prix visible sans défilement */
@media (max-width: 767px) {
  .mx-prod .mx-prod__info .elementor-widget:not(:last-child) { margin-bottom: 10px; }
  .mx-prod__state .mx-pstate { gap: 6px 8px; font-size: 12px; }
  .mx-prod__state .mx-pstate__state, .mx-prod__state .mx-pstate__stock { padding: 2px 8px; }
  .mx-prod__name .ce-product-name { font-size: 20px !important; }
  .mx-prod__gallery .elementor-thumbnails-swiper { margin-top: 6px; }
  .mx-prod-head.elementor-section { padding: 4px 0 0; }
}

/* galerie fiche : hauteurs fixées avant l'init du carrousel (pas de saut de mise en page, CLS) */
.mx-prod__gallery .elementor-main-swiper { height: 520px; }
.mx-prod__gallery .elementor-thumbnails-swiper { height: 78px; overflow: hidden; }
@media (max-width: 1024px) { .mx-prod__gallery .elementor-main-swiper { height: 460px; } }
@media (max-width: 767px) { .mx-prod__gallery .elementor-main-swiper { height: 250px; } .mx-prod__gallery .elementor-thumbnails-swiper { height: 56px; } }

/* fil d'Ariane du thème (pages catégorie, contact…) : une ligne, défilement horizontal sur mobile.
   Les règles de custom.css (l. 7682-7749) restent en place ; celles-ci les surchargent avec une spécificité supérieure. */
body .breadcrumb__wrapper .breadcrumb { display: flex !important; flex-wrap: nowrap !important; align-items: center; overflow-x: auto; white-space: nowrap; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
body .breadcrumb__wrapper .breadcrumb::-webkit-scrollbar { display: none; }
body .breadcrumb__wrapper .breadcrumb-item { flex: 0 0 auto !important; white-space: nowrap !important; display: inline-flex !important; align-items: center; }
body .breadcrumb__wrapper .breadcrumb-item:last-child { max-width: 70vw; overflow: hidden; text-overflow: ellipsis; }
body .breadcrumb__wrapper .breadcrumb-item:last-child > span { overflow: hidden; text-overflow: ellipsis; }

/* croix de l'aperçu rapide : lightbox.css (chargé après) remet display:block, le glyphe 13 px se retrouvait en haut à
   gauche du cercle. On dessine la croix en SVG centré, comme le bouton de fermeture du modal « Ajouté à votre panier ». */
#ce-product-quick-view .dialog-close-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  line-height: 0 !important;
  background: #F0F3FA url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23172B66' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E") center / 15px 15px no-repeat !important;
  border: 0 !important;
  box-shadow: none !important;
}

#ce-product-quick-view .dialog-close-button i {
  display: none !important;
}

#ce-product-quick-view .dialog-close-button:hover,
#ce-product-quick-view .dialog-close-button:focus,
#ce-product-quick-view .dialog-close-button:focus-visible {
  background-color: #E3E8F4 !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(33, 64, 154, 0.12) !important; /* même anneau discret que le modal panier */
}

/* cœur « favoris » sur la carte (module Liste d'envies), à gauche de l'aperçu rapide */
.mx-card__wish {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 3;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid var(--md-bord);
  box-shadow: 0 4px 12px rgba(23, 43, 102, 0.12);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--md-marine);
  text-decoration: none !important;
  transition: color 0.15s, border-color 0.15s, transform 0.15s;
}
.mx-card__wish .mx-ico { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.9; }
.mx-card__wish:hover, .mx-card__wish:focus-visible { color: var(--md-rouge); border-color: var(--md-rouge); transform: scale(1.06); outline: none; }
.mx-card__wish.elementor-active, .mx-card__wish.is-active { color: var(--md-rouge); border-color: var(--md-rouge); }
.mx-card__wish.elementor-active .mx-ico, .mx-card__wish.is-active .mx-ico { fill: var(--md-rouge); stroke: var(--md-rouge); }
.mx-card:has(.mx-card__badges) .mx-card__wish { top: auto; bottom: 10px; }
@media (max-width: 767px) { .mx-card__wish { width: 32px; height: 32px; top: 8px; left: 8px; } }

/* =======================================================================
   CARTE : cœur toujours en haut à droite de la photo, aperçu rapide en pastille centrée en bas de la photo
   (les deux boutons sont positionnés par rapport au bloc .mx-card__visual = photo)
   ======================================================================= */
.mx-card__visual { position: relative; }
.mx-card__wish { top: 10px !important; right: 10px !important; left: auto !important; bottom: auto !important; }
.mx-card__qv {
  top: auto !important;
  right: auto !important;
  bottom: 10px !important;
  left: 50% !important;
  transform: translate(-50%, 4px);
  white-space: nowrap;
}
.mx-card:hover .mx-card__qv, .mx-card:focus-within .mx-card__qv, .mx-card__qv:focus-visible { transform: translate(-50%, 0); }
@media (hover: none), (max-width: 1024px) {
  .mx-card__qv { transform: translate(-50%, 0); }
}
@media (max-width: 767px) {
  /* mobile : cœur puis pastille aperçu (icône seule) l'un sous l'autre, à droite de la photo */
  .mx-card__wish { top: 8px !important; right: 8px !important; }
  .mx-card__qv { top: 46px !important; right: 8px !important; left: auto !important; bottom: auto !important; transform: none !important; }
}

/* =======================================================================
   POPUPS DU MODULE LISTE D'ENVIES (ajout à une liste, création, partage, connexion) + toast
   ======================================================================= */
.wishlist-modal .modal-dialog { max-width: 480px; }
.wishlist-modal .modal-content { border: 0; border-radius: 14px; box-shadow: 0 24px 64px rgba(23, 43, 102, 0.28); overflow: hidden; }
.wishlist-modal .modal-header { padding: 18px 22px; border-bottom: 1px solid var(--md-bord); align-items: center; }
.wishlist-modal .modal-title { font-family: Inter, system-ui, sans-serif !important; font-size: 18px !important; font-weight: 800 !important; color: var(--md-marine); margin: 0; }
.wishlist-modal .btn-close { width: 36px; height: 36px; padding: 0; margin: 0; border-radius: 999px; background-color: #F0F3FA; background-size: 13px; opacity: 1; border: 0; box-shadow: none; }
.wishlist-modal .btn-close:hover, .wishlist-modal .btn-close:focus { background-color: #E3E8F4; box-shadow: 0 0 0 3px rgba(33, 64, 154, 0.12); }
.wishlist-modal .modal-body { padding: 18px 22px; font-size: 15px; color: #3A4467; }
.wishlist-modal .modal-text { margin: 0; line-height: 1.55; }
.wishlist-modal .form-label { font-size: 13px; font-weight: 700; color: var(--md-marine); margin-bottom: 6px; }
.wishlist-modal .form-control { min-height: 46px; border: 1px solid #C9D2E6; border-radius: 8px; padding: 10px 14px; font-size: 15px; box-shadow: none; }
.wishlist-modal .form-control:focus { border-color: var(--md-bleu); box-shadow: 0 0 0 3px rgba(33, 64, 154, 0.15); }
.wishlist-modal .wishlist-chooselist .wishlist-list { display: grid; gap: 8px; }
.wishlist-modal .wishlist-chooselist .wishlist-list-item { border: 1px solid var(--md-bord); border-radius: 10px; padding: 12px 14px; cursor: pointer; font-weight: 700; color: var(--md-marine); display: flex; align-items: center; gap: 10px; transition: border-color 0.15s, background 0.15s; }
.wishlist-modal .wishlist-chooselist .wishlist-list-item::before { content: ""; width: 18px; height: 18px; border-radius: 999px; border: 2px solid #C9D2E6; flex: 0 0 auto; }
.wishlist-modal .wishlist-chooselist .wishlist-list-item:hover { border-color: var(--md-bleu); background: #F7F9FD; }
.wishlist-modal .wishlist-chooselist .wishlist-list-item:hover::before { border-color: var(--md-bleu); }
.wishlist-modal .modal-footer { padding: 14px 22px 18px; border-top: 1px solid var(--md-bord); gap: 10px; justify-content: flex-end; }
.wishlist-modal .modal-footer .wishlist-add-to-new { margin-right: auto; display: inline-flex; align-items: center; gap: 6px; font-weight: 700; color: var(--md-bleu) !important; cursor: pointer; }
.wishlist-modal .modal-footer .wishlist-add-to-new .material-icons { color: var(--md-bleu) !important; }
.wishlist-modal .btn { border-radius: 8px !important; font-weight: 700; min-height: 44px; padding: 0 18px; display: inline-flex; align-items: center; box-shadow: none !important; }
.wishlist-modal .btn-primary { background: var(--md-vert) !important; border: 0 !important; color: #fff !important; }
.wishlist-modal .btn-primary:hover { background: var(--md-vert-d) !important; }
.wishlist-modal .btn-secondary, .wishlist-modal .modal-cancel { background: #fff !important; border: 1.5px solid var(--md-bord) !important; color: var(--md-marine) !important; }
.wishlist-modal .btn-secondary:hover, .wishlist-modal .modal-cancel:hover { border-color: var(--md-bleu) !important; color: var(--md-bleu) !important; }
.wishlist-modal a.btn-primary { background: var(--md-marine) !important; } /* « Connexion » : même bouton marine que la page connexion */
.wishlist-modal a.btn-primary:hover { background: var(--md-bleu) !important; }
.wishlist-toast { border-radius: 10px !important; background: var(--md-marine) !important; color: #fff !important; box-shadow: 0 10px 30px rgba(23, 43, 102, 0.25) !important; padding: 12px 18px !important; }
.wishlist-toast.success { background: var(--md-vert-d) !important; }
.wishlist-toast-text { margin: 0; font-weight: 700; color: #fff !important; }
/* page « Mes listes » : bouton partager en pastille */
.wishlist-list-item-right button { width: 36px; height: 36px; border-radius: 999px; border: 1px solid var(--md-bord); background: #fff; display: inline-flex; align-items: center; justify-content: center; padding: 0; color: var(--md-marine); }
.wishlist-list-item-right button:hover { border-color: var(--md-bleu); color: var(--md-bleu); }
.wishlist-list-item-right .material-icons { font-size: 18px; }
@media (max-width: 767px) { .wishlist-modal .modal-dialog { margin: 12px; max-width: none; } .wishlist-modal .modal-footer { flex-wrap: wrap; } }
/* popup « Ajouter à ma liste d'envies » : le CSS du module remet padding 0 et ses propres lignes */
.wishlist-modal .modal-body { padding: 18px 22px !important; }
.wishlist-modal .wishlist-chooselist { padding: 0 !important; }
.wishlist-modal .wishlist-chooselist .wishlist-list { margin: 0 !important; padding: 0 !important; list-style: none; }
.wishlist-modal .wishlist-chooselist .wishlist-list-item { padding: 12px 14px !important; margin: 0 !important; border: 1px solid var(--md-bord) !important; border-radius: 10px !important; background: #fff !important; font-size: 15px; }
.wishlist-modal .wishlist-chooselist .wishlist-list-item:hover { border-color: var(--md-bleu) !important; background: #F7F9FD !important; }
.wishlist-modal .wishlist-chooselist .wishlist-list-item p, .wishlist-modal .wishlist-chooselist .wishlist-list-item span { margin: 0 !important; padding: 0 !important; }
.wishlist-modal .modal-footer .wishlist-add-to-new { padding: 0 !important; margin-left: 0 !important; }

/* =======================================================================
   LISTE D'ENVIES (module blockwishlist) — pages « Mes listes » et « Ma liste d'envies » au style de la page
   panier : lignes en cartes blanches, boutons pleine largeur sur mobile, retour en bouton
   ======================================================================= */
.wishlist-container, .wishlist-products-container { max-width: 1280px; margin: 0 auto; padding: 8px 16px 32px; }
.wishlist-container-header, .wishlist-products-container-header { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px 16px; margin: 14px 0 18px; }
.wishlist-container-header h1, .wishlist-products-container-header h1 { font-family: Inter, system-ui, sans-serif; font-size: 26px; font-weight: 800; color: var(--md-marine); margin: 0; }
.wishlist-products-count { font-size: 16px; font-weight: 600; color: #6B769A; margin-left: 6px; }
.wishlist-container .page-content.card, .wishlist-products-container .page-content.card { border: 0 !important; box-shadow: none !important; background: transparent !important; padding: 0 !important; margin: 0 !important; }

/* bouton « Créer une nouvelle liste » */
.wishlist-add-to-new { display: inline-flex !important; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; border: 1.5px solid var(--md-bleu); border-radius: 8px; background: #fff; color: var(--md-bleu) !important; font-weight: 700; text-decoration: none !important; cursor: pointer; transition: background 0.15s, color 0.15s; }
.wishlist-add-to-new:hover { background: var(--md-bleu); color: #fff !important; }
.wishlist-add-to-new .material-icons { font-size: 20px; color: inherit !important; }

/* « Mes listes » : une ligne = une carte cliquable */
.wishlist-list-container { padding: 0 !important; }
.wishlist-list { list-style: none; margin: 0 !important; padding: 0 !important; display: grid; gap: 12px; }
.wishlist-list-item { border: 1px solid var(--md-bord) !important; border-radius: 12px !important; background: #fff !important; padding: 0 !important; margin: 0 !important; box-shadow: 0 6px 20px rgba(23, 43, 102, 0.05); transition: box-shadow 0.15s, border-color 0.15s; }
.wishlist-list-item:hover { border-color: var(--md-bleu) !important; box-shadow: 0 10px 24px rgba(23, 43, 102, 0.12); }
.wishlist-list-item-link { display: flex !important; align-items: center; gap: 14px; padding: 16px 18px !important; text-decoration: none !important; min-height: 72px; }
.wishlist-list-item-link::before { content: ""; flex: 0 0 auto; width: 40px; height: 40px; border-radius: 999px; background: #EAF7DD url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235FA32E' stroke-width='2'%3E%3Cpath d='M12 20.5s-7-4.6-9-9.2C1.6 8 3.6 4.5 7.2 4.5c2 0 3.5 1.2 4.8 2.7 1.3-1.5 2.8-2.7 4.8-2.7 3.6 0 5.6 3.5 4.2 6.8-2 4.6-9 9.2-9 9.2z'/%3E%3C/svg%3E") center / 20px no-repeat; }
.wishlist-list-item-title { margin: 0 !important; flex: 1 1 auto; min-width: 0; font-size: 16px; font-weight: 700; color: var(--md-marine); }
.wishlist-list-item-title span { font-weight: 500; color: #6B769A; margin-left: 6px; }
.wishlist-list-item-right { display: flex; align-items: center; gap: 10px; color: #6B769A; font-size: 13px; }
.wishlist-list-item-right::after { content: ""; width: 9px; height: 9px; border-right: 2px solid #9AA5C4; border-top: 2px solid #9AA5C4; transform: rotate(45deg); margin-left: 4px; }
.wishlist-list-item-right button { width: 36px; height: 36px; border-radius: 999px; border: 1px solid var(--md-bord); background: #fff; display: inline-flex; align-items: center; justify-content: center; padding: 0; color: var(--md-marine); }
.wishlist-list-item-right button:hover { border-color: var(--md-bleu); color: var(--md-bleu); }
.wishlist-list-item-right .material-icons { font-size: 18px; }

/* tri */
.wishlist-products-container .sort-by-row { display: flex; align-items: center; gap: 8px; width: auto; }
.wishlist-products-container .sort-by { width: auto !important; color: #6B769A; font-size: 14px; padding: 0; text-align: left; }
.wishlist-products-container .products-sort-order { width: auto !important; padding: 0; }
.wishlist-products-container .select-title { border: 1px solid var(--md-bord) !important; border-radius: 8px !important; padding: 9px 12px !important; font-size: 14px; font-weight: 600; color: var(--md-marine); background: #fff; box-shadow: none !important; display: inline-flex; align-items: center; gap: 6px; }
.wishlist-products-container .dropdown-menu { border: 1px solid var(--md-bord); border-radius: 10px; box-shadow: 0 10px 24px rgba(23, 43, 102, 0.12); padding: 6px; }
.wishlist-products-container .select-list { display: block; padding: 8px 10px; border-radius: 6px; color: var(--md-marine); font-size: 14px; text-decoration: none; }
.wishlist-products-container .select-list:hover { background: #F0F3FA; }

/* « Ma liste d'envies » : une ligne par produit, comme le panier */
.wishlist-products-list { list-style: none; margin: 0 !important; padding: 0 !important; display: grid !important; gap: 12px; }
.wishlist-products-item { margin: 0 !important; width: 100% !important; max-width: none !important; }
.wishlist-product { position: relative; display: grid !important; grid-template-columns: 120px minmax(0, 1fr) auto; grid-template-areas: "img info actions"; gap: 12px 18px; align-items: center; width: 100% !important; max-width: none !important; height: auto !important; padding: 14px 16px; border: 1px solid var(--md-bord); border-radius: 12px; background: #fff; box-shadow: 0 6px 20px rgba(23, 43, 102, 0.05); }
.wishlist-product-link { display: contents !important; }
.wishlist-product-image { grid-area: img; position: relative !important; width: 120px !important; height: 120px !important; flex: none !important; margin: 0 !important; border: 1px solid var(--md-bord); border-radius: 10px; background: #fff; display: flex; align-items: center; justify-content: center; padding: 6px; overflow: hidden; }
.wishlist-product-image img { position: static !important; transform: none !important; max-width: 100% !important; max-height: 100% !important; width: auto !important; height: auto !important; object-fit: contain; }
.wishlist-product-image .wishlist-product-availability { display: none !important; }
.wishlist-product-right { grid-area: info; padding: 0 !important; width: auto !important; min-width: 0; }
.wishlist-product-title { margin: 0 0 4px !important; font-size: 15px; font-weight: 700; line-height: 1.3; color: var(--md-marine); text-decoration: none; }
.wishlist-product-price { margin: 0 !important; font-size: 18px; font-weight: 800; color: var(--md-rouge); }
.wishlist-product-combinations { display: flex !important; align-items: center; gap: 8px; margin-top: 4px; font-size: 13px; color: #6B769A; }
.wishlist-product-combinations-text { margin: 0 !important; }
.wishlist-product-combinations a { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 999px; border: 1px solid var(--md-bord); color: var(--md-marine); }
.wishlist-product-combinations a .material-icons { font-size: 16px; }
.wishlist-product-availability-responsive { display: inline-flex !important; position: static !important; transform: none !important; margin: 6px 0 0 !important; padding: 3px 9px; border-radius: 999px; background: #FFF3E0; color: #B25E00 !important; font-size: 12px; font-weight: 700; align-items: center; gap: 4px; width: auto !important; min-width: 0 !important; }
.wishlist-product-availability-responsive:empty { display: none !important; }
.wishlist-product-availability-responsive .material-icons { font-size: 14px; color: #B25E00; }
.wishlist-product-bottom { grid-area: actions; display: flex !important; flex-direction: column; gap: 8px; padding: 0 !important; position: static !important; width: 190px; }
.wishlist-product-addtocart { width: 100%; min-height: 44px; border-radius: 8px !important; background: var(--md-vert) !important; color: #fff !important; font-weight: 700; font-size: 14px; border: 0 !important; box-shadow: none !important; padding: 0 14px; }
.wishlist-product-addtocart:hover { background: var(--md-vert-d) !important; }
.wishlist-product-bottom .wishlist-button-add { width: 100% !important; height: 40px !important; min-height: 40px; border-radius: 8px !important; border: 1.5px solid #F3B8B3 !important; background: #fff !important; color: var(--md-rouge) !important; display: inline-flex !important; align-items: center; justify-content: center; gap: 6px; padding: 0 12px !important; margin: 0 !important; position: static !important; transform: none !important; font-size: 13px; font-weight: 700; }
.wishlist-product-bottom .wishlist-button-add::after { content: "Retirer"; }
.wishlist-product-bottom .wishlist-button-add:hover { background: #FDE8E6 !important; }
.wishlist-product-bottom .wishlist-button-add .material-icons { font-size: 17px; }

/* liens de bas de page → boutons */
.wishlist-footer-links, .wishlist-products-container > .wishlist-footer-links { display: flex !important; flex-wrap: wrap; gap: 10px; margin: 20px 0 0 !important; padding: 0 !important; }
.wishlist-footer-links a { display: inline-flex !important; align-items: center; gap: 6px; min-height: 44px; padding: 0 16px; border-radius: 8px; border: 1.5px solid var(--md-bleu); color: var(--md-bleu) !important; font-weight: 700; text-decoration: none !important; }
.wishlist-footer-links a:hover { background: var(--md-bleu); color: #fff !important; }
.wishlist-footer-links a .material-icons { font-size: 18px; }

@media (max-width: 767px) {
  .wishlist-container, .wishlist-products-container { padding: 4px 16px 24px; }
  .wishlist-container-header h1, .wishlist-products-container-header h1 { font-size: 22px; }
  .wishlist-add-to-new { width: 100%; justify-content: center; }
  .wishlist-products-container .sort-by-row { width: 100%; }
  .wishlist-products-container .select-title { flex: 1 1 auto; justify-content: space-between; }
  .wishlist-product { grid-template-columns: 88px minmax(0, 1fr); grid-template-areas: "img info" "actions actions"; gap: 10px 12px; padding: 12px; }
  .wishlist-product-image { width: 88px !important; height: 88px !important; }
  .wishlist-product-title { font-size: 14px; }
  .wishlist-product-bottom { width: 100%; flex-direction: row; }
  .wishlist-product-bottom .wishlist-product-addtocart { flex: 1 1 auto; }
  .wishlist-product-bottom .wishlist-button-add { width: auto !important; flex: 0 0 auto; padding: 0 14px !important; }
  .wishlist-footer-links a { flex: 1 1 auto; justify-content: center; }
}

/* liste d'envies : sélecteurs renforcés (le CSS du module est plus spécifique sur ces éléments) */
.wishlist-products-container .wishlist-products-list .wishlist-product { grid-template-areas: "img info actions" "img avail actions" !important; grid-template-columns: 120px minmax(0, 1fr) 190px !important; }
.wishlist-products-container .wishlist-products-list .wishlist-product-availability-responsive { grid-area: avail !important; justify-self: start; align-self: start; }
.wishlist-products-container .wishlist-products-list .wishlist-product-bottom { grid-area: actions !important; width: 100% !important; display: flex !important; flex-direction: column !important; gap: 8px !important; position: static !important; margin: 0 !important; }
.wishlist-products-container .wishlist-products-list .wishlist-product-bottom .wishlist-product-addtocart { width: 100% !important; margin: 0 !important; }
.wishlist-products-container .wishlist-products-list .wishlist-product-bottom .wishlist-button-add { width: 100% !important; height: 40px !important; min-height: 40px !important; border: 1.5px solid #F3B8B3 !important; border-radius: 8px !important; background: #fff !important; color: var(--md-rouge) !important; position: static !important; top: auto !important; right: auto !important; margin: 0 !important; padding: 0 12px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 6px; font-size: 13px !important; font-weight: 700 !important; box-shadow: none !important; }
.wishlist-products-container .wishlist-products-list .wishlist-product-bottom .wishlist-button-add .material-icons { color: var(--md-rouge) !important; font-size: 17px !important; }
.wishlist-products-container .wishlist-products-list .wishlist-product-bottom .wishlist-button-add:hover { background: #FDE8E6 !important; }
@media (max-width: 767px) {
  .wishlist-products-container .wishlist-products-list .wishlist-product { grid-template-areas: "img info" "img avail" "actions actions" !important; grid-template-columns: 88px minmax(0, 1fr) !important; }
  .wishlist-products-container .wishlist-products-list .wishlist-product-bottom { flex-direction: row !important; align-items: stretch !important; }
  .wishlist-products-container .wishlist-products-list .wishlist-product-bottom .wishlist-product-addtocart { flex: 1 1 auto !important; width: auto !important; min-width: 0; min-height: 44px; }
  .wishlist-products-container .wishlist-products-list .wishlist-product-bottom .wishlist-button-add { flex: 0 0 auto !important; width: auto !important; height: 44px !important; min-height: 44px !important; padding: 0 14px !important; }
}

/* Le thème hummingbird style le module Liste d'envies dans la couche @layer ps-modules avec des !important :
   dans une couche, un !important passe devant les !important hors couche (et même devant le style inline).
   On ajoute donc nos règles dans la même couche, avec une spécificité supérieure. */
@layer ps-modules {
  .wishlist-products-container .wishlist-products-list .wishlist-product-bottom .wishlist-button-add { width: 100% !important; min-width: 0 !important; height: 40px !important; min-height: 40px !important; margin: 0 !important; padding: 0 12px !important; border: 1.5px solid #F3B8B3 !important; border-radius: 8px !important; background: #fff !important; background-color: #fff !important; color: var(--md-rouge) !important; box-shadow: none !important; position: static !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 6px; font-size: 13px !important; font-weight: 700 !important; }
  .wishlist-products-container .wishlist-products-list .wishlist-product-bottom .wishlist-button-add:hover { background-color: #FDE8E6 !important; border-color: var(--md-rouge) !important; opacity: 1 !important; }
  .wishlist-products-container .wishlist-products-list .wishlist-product-bottom .wishlist-button-add .material-icons { color: var(--md-rouge) !important; font-size: 17px !important; margin: 0 !important; }
  .wishlist-products-container .wishlist-products-list .wishlist-product-bottom .wishlist-product-addtocart { width: 100% !important; min-height: 44px !important; margin: 0 !important; padding: 0 14px !important; border-radius: 8px !important; background: var(--md-vert) !important; background-color: var(--md-vert) !important; color: #fff !important; border: 0 !important; box-shadow: none !important; font-weight: 700 !important; font-size: 14px !important; text-transform: none !important; }
  .wishlist-products-container .wishlist-products-list .wishlist-product-bottom .wishlist-product-addtocart:hover { background-color: var(--md-vert-d) !important; opacity: 1 !important; }
  .wishlist-products-container .wishlist-products-list .wishlist-product-image { width: 120px !important; height: 120px !important; margin: 0 !important; position: relative !important; }
  @media (max-width: 767px) {
    .wishlist-products-container .wishlist-products-list .wishlist-product-image { width: 88px !important; height: 88px !important; }
    .wishlist-products-container .wishlist-products-list .wishlist-product-bottom .wishlist-product-addtocart { width: auto !important; flex: 1 1 auto !important; }
    .wishlist-products-container .wishlist-products-list .wishlist-product-bottom .wishlist-button-add { width: auto !important; flex: 0 0 auto !important; height: 44px !important; min-height: 44px !important; padding: 0 14px !important; }
  }
}

/* popups de la liste d'envies fermées : le module les laisse en display:block (opacité 0) et Bootstrap remet
   pointer-events:auto sur .modal-content → un cadre invisible bloquait les taps au centre de l'écran mobile */
.wishlist-modal:not(.show) { display: none !important; pointer-events: none !important; }
.wishlist-modal:not(.show) .modal-dialog, .wishlist-modal:not(.show) .modal-content { pointer-events: none !important; }

/* « Ma liste d'envies » : le crayon (lien vers la fiche) devient un bouton « Voir le produit » avec icône œil ;
   « Mes listes » : plus de chevron (confusion avec le menu ⋮ de renommage des listes) */
.wishlist-products-container .wishlist-product-combinations { flex-wrap: wrap; gap: 6px 10px !important; }
.wishlist-products-container .wishlist-product-combinations a { width: auto !important; height: 34px !important; padding: 0 12px !important; border-radius: 8px !important; border: 1.5px solid var(--md-bleu) !important; color: var(--md-bleu) !important; background: #fff; font-size: 13px; font-weight: 700; text-decoration: none !important; display: inline-flex !important; align-items: center; gap: 7px; transition: background 0.15s, color 0.15s; }
.wishlist-products-container .wishlist-product-combinations a .material-icons { display: none !important; }
.wishlist-products-container .wishlist-product-combinations a::before { content: ""; width: 16px; height: 16px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2321409A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.5-6 10-6 10 6 10 6-3.5 6-10 6S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center / 16px no-repeat; }
.wishlist-products-container .wishlist-product-combinations a::after { content: "Voir le produit"; }
.wishlist-products-container .wishlist-product-combinations a:hover { background: var(--md-bleu); color: #fff !important; }
.wishlist-products-container .wishlist-product-combinations a:hover::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.5-6 10-6 10 6 10 6-3.5 6-10 6S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E"); }
.wishlist-list-item-right::after { display: none !important; content: none !important; }
.wishlist-list-item-right { gap: 8px; }

/* « Mes listes » : boutons ⋮ / partager / corbeille en pastilles, menu ⋮ (Renommer / Partager) positionné et lisible */
.wishlist-list-item { position: relative !important; overflow: visible !important; }
.wishlist-list-item-right button, .wishlist-list-item .wishlist-list-item-actions { width: 36px !important; height: 36px !important; min-width: 36px; border-radius: 999px !important; border: 1px solid var(--md-bord) !important; background: #fff !important; display: inline-flex !important; align-items: center; justify-content: center; padding: 0 !important; margin: 0 !important; color: var(--md-marine) !important; box-shadow: none !important; }
.wishlist-list-item-right button:hover, .wishlist-list-item .wishlist-list-item-actions:hover { border-color: var(--md-bleu) !important; color: var(--md-bleu) !important; }
.wishlist-list-item-right button .material-icons { font-size: 18px !important; color: inherit !important; }
.wishlist-list-item .dropdown-menu { position: absolute !important; top: calc(100% - 10px) !important; right: 16px !important; left: auto !important; transform: none !important; min-width: 190px; margin: 0; padding: 6px !important; border: 1px solid var(--md-bord) !important; border-radius: 10px !important; background: #fff !important; box-shadow: 0 12px 28px rgba(23, 43, 102, 0.16) !important; z-index: 20; display: block; }
.wishlist-list-item .dropdown-menu button, .wishlist-list-item .dropdown-menu a { display: block !important; width: 100% !important; text-align: left; padding: 10px 12px !important; border: 0 !important; border-radius: 6px !important; background: transparent !important; color: var(--md-marine) !important; font-size: 14px; font-weight: 600; white-space: nowrap; box-shadow: none !important; }
.wishlist-list-item .dropdown-menu button:hover, .wishlist-list-item .dropdown-menu a:hover { background: #F0F3FA !important; color: var(--md-bleu) !important; }

/* liste d'envies : menu « Trier par » positionné sous le bouton */
.wishlist-products-container .products-sort-order { position: relative; }
.wishlist-products-container .products-sort-order .dropdown-menu { position: absolute; top: calc(100% + 6px); right: 0; left: auto; min-width: 200px; z-index: 20; }
.wishlist-products-container .products-sort-order .dropdown-menu.show { display: block; }
@media (max-width: 767px) { .wishlist-products-container .products-sort-order .dropdown-menu { left: 0; right: 0; } }

/* =======================================================================
   PAGES HORS CATALOGUE — 2026-09-11 : marques, listings (promotions / nouveautés / meilleures ventes / marque),
   état vide, 404, pages CMS brutes
   ======================================================================= */

/* --- page « Nos marques » --- */
.mx-brands-head > .elementor-container, .mx-brands-body > .elementor-container { max-width: 1280px !important; margin: 0 auto; padding: 0 16px; }
.mx-brands-head.elementor-section { padding: 28px 0 8px; }
.mx-brands-body.elementor-section { padding: 8px 0 32px; }
.mx-brands-body .elementor-widget:not(:last-child) { margin-bottom: 32px; }
.mx-brands__title .elementor-heading-title { font-family: Inter, system-ui, sans-serif; font-size: 34px; font-weight: 800; color: var(--md-marine); margin: 0 0 6px; }
.mx-brands__intro { font-size: 16px; color: #3A4467; max-width: 760px; }
.mx-brandpage__title { font-family: Inter, system-ui, sans-serif; font-size: 22px; font-weight: 800; color: var(--md-marine); margin: 0 0 16px; padding-bottom: 8px; border-bottom: 2px solid var(--md-bord); }
.mx-brandgrid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 14px; }
.mx-brandgrid__item { min-width: 0; }
.mx-brandgrid__card { display: flex; flex-direction: column; align-items: center; text-align: center; height: 100%; padding: 16px 12px 14px; border: 1px solid var(--md-bord); border-radius: 12px; background: #fff; text-decoration: none !important; color: var(--md-marine); transition: box-shadow 0.18s, transform 0.18s, border-color 0.18s; }
.mx-brandgrid__card:hover, .mx-brandgrid__card:focus-visible { border-color: var(--md-bleu); box-shadow: 0 10px 24px rgba(23, 43, 102, 0.12); transform: translateY(-2px); outline: none; }
.mx-brandgrid__visual { display: flex; align-items: center; justify-content: center; height: 64px; width: 100%; margin-bottom: 10px; }
.mx-brandgrid__visual img { max-width: 100%; max-height: 64px; width: auto; height: auto; object-fit: contain; }
.mx-brandgrid__name { font-size: 15px; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; color: var(--md-bleu); line-height: 1.2; }
.mx-brandgrid__label { font-size: 13px; font-weight: 700; line-height: 1.25; }
.mx-brandgrid__count { font-size: 12px; color: #6B769A; margin-top: 3px; }
.mx-brandlist { columns: 4; column-gap: 32px; }
.mx-brandlist__group { break-inside: avoid; margin-bottom: 18px; }
.mx-brandlist__letter { font-family: Inter, system-ui, sans-serif; font-size: 18px; font-weight: 800; color: var(--md-vert-d); margin: 0 0 6px; }
.mx-brandlist__items { list-style: none; margin: 0; padding: 0; }
.mx-brandlist__items li a { display: flex; justify-content: space-between; gap: 8px; padding: 6px 0; font-size: 14px; font-weight: 600; color: var(--md-marine); text-decoration: none; border-bottom: 1px dashed var(--md-bord); }
.mx-brandlist__items li a:hover { color: var(--md-bleu); }
.mx-brandlist__count { color: #6B769A; font-weight: 500; font-size: 12px; }
@media (max-width: 1024px) { .mx-brandgrid { grid-template-columns: repeat(4, minmax(0, 1fr)); } .mx-brandlist { columns: 3; } }
@media (max-width: 767px) { .mx-brands__title .elementor-heading-title { font-size: 26px; } .mx-brandgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } .mx-brandlist { columns: 2; column-gap: 20px; } }

/* --- listings hors catégorie (layouts 17 et 18) : mêmes en-tête et grille que la catégorie, sans colonne filtres --- */
.mx-plisting-head > .elementor-container, .mx-plisting > .elementor-container { max-width: 1280px !important; margin: 0 auto; padding: 0 16px; }
.mx-plisting-head.elementor-section { padding: 8px 0 0; }
.mx-plisting.elementor-section { padding: 8px 0 32px; }
.mx-plisting .mx-listing__info, .mx-plisting .mx-listing__sort { display: inline-block; vertical-align: middle; }
.mx-plisting .mx-listing__sort { float: right; }
.mx-plisting .mx-listing__products { clear: both; }

/* --- état vide (widget mx-listing-empty) --- */
.mx-empty { padding: 32px 0 8px; }
.mx-empty__title { font-family: Inter, system-ui, sans-serif; font-size: 24px; font-weight: 800; color: var(--md-marine); margin: 0 0 8px; }
.mx-empty__text { font-size: 16px; color: #3A4467; max-width: 720px; margin: 0 0 18px; line-height: 1.6; }
.mx-empty__cta { display: inline-flex; align-items: center; min-height: 48px; padding: 0 24px; border-radius: 8px; background: var(--md-vert); color: #fff !important; font-weight: 700; text-decoration: none !important; }
.mx-empty__cta:hover { background: var(--md-vert-d); }
.mx-empty__products { margin-top: 36px; }
.mx-empty__subtitle { font-family: Inter, system-ui, sans-serif; font-size: 20px; font-weight: 800; color: var(--md-marine); margin: 0 0 14px; }
.mx-empty__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
@media (max-width: 1024px) { .mx-empty__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 767px) { .mx-empty__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } .mx-empty__title { font-size: 20px; } }

/* --- page 404 : champ et bouton de recherche à la charte --- */
body#pagenotfound .elementor-widget-ajax-search input.elementor-search__input, body#pagenotfound .elementor-search__input { min-height: 48px; border: 1px solid #C9D2E6 !important; border-radius: 8px 0 0 8px !important; padding: 10px 16px; font-size: 15px; box-shadow: none !important; }
body#pagenotfound .elementor-widget-ajax-search input.elementor-search__input:focus { border-color: var(--md-bleu) !important; }
body#pagenotfound .elementor-search__submit { background: var(--md-vert) !important; color: #fff !important; border: 0 !important; border-radius: 0 8px 8px 0 !important; font-weight: 700; min-height: 48px; }
body#pagenotfound .elementor-search__submit:hover { background: var(--md-vert-d) !important; }
body#pagenotfound .elementor-widget-button .elementor-button { border-radius: 8px !important; font-weight: 700; }

/* --- pages CMS saisies en HTML brut (sans Creative Elements) : mise en forme de lecture --- */
.page-content--cms { max-width: 1080px; margin: 0 auto; }
.page-content--cms > :not(.elementor) img { max-width: 100%; height: auto; border-radius: 12px; }
.page-content--cms > :not(.elementor) h1, .page-content--cms > :not(.elementor) h2, .page-content--cms > :not(.elementor) h3 { font-family: Inter, system-ui, sans-serif; color: var(--md-marine); font-weight: 800; margin: 28px 0 12px; }
.page-content--cms > :not(.elementor) h1 { font-size: 30px; } .page-content--cms > :not(.elementor) h2 { font-size: 22px; } .page-content--cms > :not(.elementor) h3 { font-size: 18px; }
.page-content--cms > :not(.elementor) p { font-size: 16px; line-height: 1.65; color: #3A4467; }
.page-content--cms > :not(.elementor) a { color: var(--md-bleu); font-weight: 600; }
/* marques sans logo : le nom stylé sert de visuel */
.mx-brandgrid__item--text .mx-brandgrid__visual { height: auto; min-height: 44px; margin-bottom: 4px; }
/* listing vide : le bloc « Aucun produit disponible » du thème fait doublon avec le widget Listing vide */
.mx-plisting .mx-listing__main:has(.mx-empty) .mx-listing__products .page-not-found,
.mx-plisting .mx-listing__main:has(.mx-empty) .mx-listing__products #content-wrapper,
.mx-plisting .mx-listing__main:has(.mx-empty) .mx-listing__products > .elementor-widget-container > section,
.mx-plisting .mx-listing__main:has(.mx-empty) .mx-listing__info { display: none; }
/* listing vide : le bloc du thème (p.h3 + p + a.btn dans #js-product-list) fait doublon → masqué avec l'info et le tri */
.mx-plisting .mx-listing__main:has(.mx-empty) .mx-listing__products,
.mx-plisting .mx-listing__main:has(.mx-empty) .mx-listing__sort,
.mx-plisting .mx-listing__main:has(.mx-empty) .mx-listing__pagination { display: none !important; }

/* --- page 404 (layout CE 8) --- */
body#pagenotfound #wrapper { background: #F7F9FD; }
.mx-404.elementor-section { padding: 40px 0 24px; }
.mx-404 > .elementor-container, .mx-404-products > .elementor-container { max-width: 1280px !important; margin: 0 auto; padding: 0 16px; }
.mx-404 .mx-404__card > .elementor-column-wrap { max-width: 720px; margin: 0 auto; padding: 44px 40px 36px; background: #fff; border: 1px solid var(--md-bord); border-radius: 16px; box-shadow: 0 10px 30px rgba(23, 43, 102, 0.08); text-align: center; }
.mx-404 .elementor-widget:not(:last-child) { margin-bottom: 14px; }
.mx-404__code .elementor-heading-title { font-family: Inter, system-ui, sans-serif !important; font-size: 88px !important; line-height: 1 !important; font-weight: 900 !important; color: var(--md-bleu) !important; letter-spacing: -0.03em; margin: 0; }
.mx-404__code .elementor-heading-title::after { content: ""; display: block; width: 56px; height: 5px; border-radius: 5px; background: var(--md-vert); margin: 14px auto 0; }
.mx-404__title .elementor-heading-title { font-family: Inter, system-ui, sans-serif !important; font-size: 26px !important; font-weight: 800 !important; color: var(--md-marine) !important; margin: 0; }
.mx-404__text { font-size: 16px; line-height: 1.6; color: #3A4467; max-width: 520px; margin-left: auto !important; margin-right: auto !important; }
.mx-404__search { max-width: 560px; margin-left: auto !important; margin-right: auto !important; }
.mx-404__search .elementor-search { width: 100% !important; display: flex; border: 1px solid #C9D2E6; border-radius: 10px; overflow: hidden; background: #fff; box-shadow: none; transition: border-color 0.15s, box-shadow 0.15s; }
.mx-404__search .elementor-search:focus-within { border-color: var(--md-bleu); box-shadow: 0 0 0 3px rgba(33, 64, 154, 0.15); }
.mx-404__search .elementor-search__container { display: flex !important; flex: 1 1 auto; min-width: 0; width: 100%; }
.mx-404__search .elementor-search__input { flex: 1 1 auto !important; min-width: 0 !important; width: auto !important; min-height: 50px !important; border: 0 !important; border-radius: 0 !important; padding: 10px 16px !important; font-size: 15px !important; box-shadow: none !important; background: transparent !important; color: #1D2542 !important; }
.mx-404__search .elementor-search__input::placeholder { color: #8A93B2; }
.mx-404__search .elementor-search__clear { display: none !important; }
.mx-404__search .elementor-search__input:not(:placeholder-shown) ~ .elementor-search__clear { display: flex !important; width: 36px; align-items: center; justify-content: center; color: #6B769A; }
.mx-404__search .elementor-search__submit { flex: 0 0 auto; min-height: 50px; padding: 0 22px !important; border: 0 !important; border-radius: 0 !important; background: var(--md-vert) !important; color: #fff !important; font-weight: 700 !important; font-size: 15px !important; cursor: pointer; }
.mx-404__search .elementor-search__submit:hover { background: var(--md-vert-d) !important; }
.mx-404 .mx-404__home.elementor-widget, .mx-404 .mx-404__arrivals.elementor-widget { display: inline-block; vertical-align: middle; margin: 6px 6px 0 !important; }
.mx-404__home .elementor-button { background: var(--md-marine) !important; color: #fff !important; border-radius: 8px !important; font-weight: 700 !important; padding: 0 22px !important; min-height: 48px; display: inline-flex; align-items: center; border: 0 !important; }
.mx-404__home .elementor-button:hover { background: var(--md-bleu) !important; }
.mx-404__arrivals .elementor-button { background: #fff !important; color: var(--md-bleu) !important; border: 1.5px solid var(--md-bleu) !important; border-radius: 8px !important; font-weight: 700 !important; padding: 0 22px !important; min-height: 48px; display: inline-flex; align-items: center; }
.mx-404__arrivals .elementor-button:hover { background: var(--md-bleu) !important; color: #fff !important; }
.mx-404-products.elementor-section { padding: 8px 0 36px; }
.mx-404-products .elementor-heading-title, .mx-404-products h2 { font-family: Inter, system-ui, sans-serif; font-size: 22px; font-weight: 800; color: var(--md-marine); }
@media (max-width: 767px) {
  .mx-404.elementor-section { padding: 16px 0 12px; }
  .mx-404 .mx-404__card > .elementor-column-wrap { padding: 30px 18px 24px; border-radius: 12px; }
  .mx-404__code .elementor-heading-title { font-size: 64px !important; }
  .mx-404__title .elementor-heading-title { font-size: 21px !important; }
  .mx-404__text { font-size: 15px; }
  .mx-404__search .elementor-search__submit { padding: 0 14px !important; font-size: 14px !important; }
  .mx-404 .mx-404__home.elementor-widget, .mx-404 .mx-404__arrivals.elementor-widget { display: block; margin: 8px 0 0 !important; }
  .mx-404__home .elementor-button, .mx-404__arrivals .elementor-button { width: 100%; justify-content: center; }
}
/* 404 : recherche sur sa propre ligne, pleine largeur ; bouton d'effacement discret */
.mx-404 .mx-404__search.elementor-widget { display: block !important; width: 100% !important; margin-bottom: 18px !important; }
.mx-404__search .elementor-widget-container { width: 100%; }
.mx-404__search .elementor-search__icon, .mx-404__search .elementor-search__clear { background: transparent !important; border: 0 !important; color: #8A93B2 !important; }
.mx-404__search .elementor-search__clear i { font-size: 14px; }
/* 404 : fond blanc du champ, croix d'effacement en SVG (police d'icônes CE absente sur cette page) */
.mx-404__search .elementor-search__container { background: #fff !important; }
.mx-404__search .elementor-search__clear { background: #fff !important; cursor: pointer; }
.mx-404__search .elementor-search__clear i { display: none !important; }
.mx-404__search .elementor-search__clear::before { content: ""; display: block; width: 14px; height: 14px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B769A' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E") center/contain no-repeat; }
.mx-404__search .elementor-search__clear:hover::before { filter: brightness(0.6); }
/* 404 : le focus n'est porté que par le cadre du formulaire, pas par le champ */
body#pagenotfound .mx-404__search .elementor-search__input, body#pagenotfound .mx-404__search .elementor-search__input:focus, body#pagenotfound .mx-404__search .elementor-search__input:focus-visible { border: 0 !important; outline: 0 !important; box-shadow: none !important; background: #fff !important; }

/* ===== 2026-09-11 — règle « garantie » : garantie 12 mois seulement sur l'électroménager reconditionné ===== */
.mx-pstate__warranty { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 999px; font-size: 13px; font-weight: 600; line-height: 1.3; }
.mx-pstate__warranty::before { content: ""; width: 14px; height: 14px; flex: 0 0 auto; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 5 6v5c0 4.4 3 8.2 7 9.5 4-1.3 7-5.1 7-9.5V6z'/%3E%3Cpath d='m9.5 12 1.8 1.8L15 10'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 5 6v5c0 4.4 3 8.2 7 9.5 4-1.3 7-5.1 7-9.5V6z'/%3E%3Cpath d='m9.5 12 1.8 1.8L15 10'/%3E%3C/svg%3E") center/contain no-repeat; }
.mx-pstate__warranty--no::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10h11a4 4 0 0 1 0 8H9'/%3E%3Cpath d='m8 6-4 4 4 4'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10h11a4 4 0 0 1 0 8H9'/%3E%3Cpath d='m8 6-4 4 4 4'/%3E%3C/svg%3E"); }
.mx-pstate__warranty--yes { background: #EAF7DD; color: var(--md-vert-d); }
.mx-pstate__warranty--no { background: #EEF1F7; color: #3A4467; }
.mx-sticky-atc__note { display: block; font-size: 11px; font-weight: 600; line-height: 1.2; margin-top: 2px; }
.mx-sticky-atc__note--warranty { color: var(--md-vert-d); }
.mx-sticky-atc__note--return { color: #6B769A; }

/* ===== 2026-09-14 — listing : état de chargement pendant le filtrage AJAX ===== */
.mx-listing--loading { position: relative; }
.mx-listing--loading > * { opacity: .45; transition: opacity .15s; pointer-events: none; }
.mx-listing--loading::after { content: ""; position: absolute; left: 50%; top: 140px; width: 42px; height: 42px; margin-left: -21px; border-radius: 50%; border: 4px solid #E3E8F4; border-top-color: var(--md-vert, #7AC143); animation: mx-spin .8s linear infinite; z-index: 5; }
@keyframes mx-spin { to { transform: rotate(360deg); } }

/* ===== 17/09/2026 — Référence interne et emplacement en entrepôt (Meme HOUEIBIB) =====
   Sur les cartes produit, au-dessus du titre ; sur la fiche, à côté de la référence.
   Deux pastilles de la même famille que « 33 points contrôlés » et « Marque accessible »,
   pour que la ligne reste discrète et cohérente avec le reste de la carte.          */

.mx-card__staff {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px;
  margin: 2px 0 6px;
  font-size: 11px;
  line-height: 1.2;
}

.mx-card__staff-ref,
.mx-card__staff-loc,
.mx-pstate__loc {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 8px;
  border-radius: 999px;
  font-weight: 600;
  letter-spacing: .02em;
  white-space: nowrap;
}

.mx-card__staff-ref {
  color: var(--mx-texte);
  background: var(--mx-fond-doux);
  border: 1px solid var(--mx-bord-2);
  font-variant-numeric: tabular-nums;
}

.mx-card__staff-loc,
.mx-pstate__loc {
  color: #B25E00;
  background: #FFF3E0;
  border: 1px solid #FBE3C2;
}

.mx-card__staff-loc svg,
.mx-pstate__loc svg {
  flex: none;
  opacity: .85;
}

/* sur la fiche produit, la pastille suit la référence sur la même ligne */
.mx-pstate__loc {
  font-size: 12px;
  padding: 3px 10px;
  gap: 5px;
}

.mx-pstate__loc-label {
  font-weight: 500;
  opacity: .8;
}

.mx-pstate__loc-label::after {
  content: " ";
}

/* référence copiable au clic : bouton discret, retour « Copié » */
button.mx-pstate__ref {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 2px 8px 2px 2px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  font: inherit;
  color: #6B769A;
  font-weight: 500;
  cursor: pointer;
  transition: background .15s ease, color .15s ease;
}

button.mx-pstate__ref:hover,
button.mx-pstate__ref:focus-visible {
  background: var(--mx-fond-doux);
  color: var(--mx-texte);
}

.mx-pstate__copy {
  opacity: .45;
}

button.mx-pstate__ref:hover .mx-pstate__copy {
  opacity: .9;
}

.mx-pstate__copied {
  position: absolute;
  left: 50%;
  top: calc(100% + 6px);
  transform: translateX(-50%) translateY(-4px);
  z-index: 3;
  padding: 3px 9px;
  border-radius: 6px;
  background: var(--md-vert-d, #4B8C1F);
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity .15s ease, transform .15s ease;
}

button.mx-pstate__ref.is-copied .mx-pstate__copied {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

.mx-pstate__ref:focus-visible {
  outline: 2px solid var(--md-bleu, #1B3C87);
  outline-offset: 2px;
}

/* ===== 17/09/2026 — Capacité sur la photo des cartes (Meme HOUEIBIB) =====
   Posée en bas à gauche du visuel, face au badge de classe énergétique qui occupe
   le coin bas droit. Même discrétion : fond translucide, texte compact.        */
.mx-card__capacity {
  position: absolute;
  left: 10px;
  bottom: 10px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 9px;
  border-radius: 999px;
  background: rgba(23, 43, 102, .88);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .01em;
  line-height: 1.1;
  white-space: nowrap;
  pointer-events: none;
}

.mx-card__capacity svg {
  flex: none;
  opacity: .85;
}

@media (max-width: 575px) {
  .mx-card__capacity {
    left: 6px;
    bottom: 6px;
    padding: 3px 7px;
    font-size: 10px;
  }
}
