/**
 * Design tokens Mezurilo — palette extraite du theme Empire (Shopify).
 * Source : migration/06_PHASE3A_DESIGN_SYSTEM.md section 3.6
 */

:root {
  /* ===== COULEURS ===== */
  --mz-color-primary: #E51965;
  --mz-color-primary-hover: #e64a7c;
  --mz-color-primary-dark: #b7184a;
  --mz-color-secondary: #481c4b;
  --mz-color-accent: #108474;
  --mz-color-blue: #2bb1eb;
  --mz-color-green: #2dcf42;
  --mz-color-yellow: #efd109;
  --mz-color-stars: #EFD20B;
  --mz-color-success: #2dcf42;
  --mz-color-error: #f05d5d;

  --mz-color-text: #1d1d1d;
  --mz-color-text-secondary: #4d4d4d;
  --mz-color-text-muted: #6e6e6e; /* WCAG AA on white: 5.5:1 */
  --mz-color-text-inverse: #ffffff;

  --mz-color-bg: #ffffff;
  --mz-color-bg-alt: #ededed;
  --mz-color-bg-subtle: #fafafa;
  --mz-color-bg-dark: #481c4b;

  --mz-color-border: #dddddd;
  --mz-color-border-medium: #bebebe;
  --mz-color-border-strong: #818181;

  /* ===== TYPOGRAPHIE ===== */
  --mz-font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --mz-font-family-mono: 'SF Mono', 'Fira Code', monospace;

  --mz-font-size-xs: 0.75rem;
  --mz-font-size-sm: 0.875rem;
  --mz-font-size-base: 15px;
  --mz-font-size-md: 1.125rem;
  --mz-font-size-lg: 1.25rem;
  --mz-font-size-xl: 1.375rem;
  --mz-font-size-2xl: 1.875rem;
  --mz-font-size-3xl: 2.125rem;

  --mz-font-weight-normal: 400;
  --mz-font-weight-medium: 500;
  --mz-font-weight-semibold: 600;
  --mz-font-weight-bold: 700;
  --mz-font-weight-extrabold: 800;

  --mz-line-height-tight: 1.2;
  --mz-line-height-base: 1.6;
  --mz-line-height-relaxed: 1.8;

  /* ===== ESPACEMENTS ===== */
  --mz-space-2xs: 0.25rem;
  --mz-space-xs: 0.5rem;
  --mz-space-sm: 0.75rem;
  --mz-space-md: 1rem;
  --mz-space-lg: 1.5rem;
  --mz-space-xl: 2rem;
  --mz-space-2xl: 3rem;
  --mz-space-3xl: 4rem;

  /* ===== BORDURES ===== */
  --mz-radius-sm: 3px;
  --mz-radius-md: 6px;
  --mz-radius-lg: 12px;
  --mz-radius-full: 50%;

  /* ===== OMBRES ===== */
  --mz-shadow-sm: 0 1px 4px rgba(128, 128, 128, 0.11);
  --mz-shadow-md: 0 3px 8px rgba(0, 0, 0, 0.1);
  --mz-shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.12);
  --mz-shadow-xl: 0 12px 48px rgba(0, 0, 0, 0.15);
  --mz-shadow-focus: 0 0 0 2px #fff, 0 0 0 5px rgba(17, 153, 255, 0.4);

  /* ===== LAYOUT ===== */
  --mz-container-max: 1200px;
  --mz-container-gutter: 10px;

  /* ===== BREAKPOINTS (reference) ===== */
  --mz-bp-mobile: 719px;
  --mz-bp-tablet: 720px;
  --mz-bp-tablet-lg: 860px;
  --mz-bp-desktop: 1024px;
  --mz-bp-desktop-lg: 1280px;
  --mz-bp-wide: 1500px;

  /* ===== TRANSITIONS ===== */
  --mz-transition-fast: 150ms ease;
  --mz-transition-base: 250ms ease;
  --mz-transition-slow: 400ms ease;

  /* ===== Z-INDEX ===== */
  --mz-z-dropdown: 100;
  --mz-z-sticky: 200;
  --mz-z-megamenu: 300;
  --mz-z-modal-backdrop: 400;
  --mz-z-modal: 500;
  --mz-z-toast: 600;
}

@media (min-width: 720px) {
  :root { --mz-container-gutter: 15px; }
}

@media (min-width: 1024px) {
  :root { --mz-container-gutter: 25px; }
}
/**
 * Typographie globale Mezurilo.
 * Police Inter — Google Fonts, comme mezurilo.com.
 */

body {
  font-family: var(--mz-font-family);
  font-size: var(--mz-font-size-base);
  font-weight: var(--mz-font-weight-normal);
  line-height: var(--mz-line-height-base);
  color: var(--mz-color-text);
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--mz-font-family);
  font-weight: var(--mz-font-weight-bold);
  line-height: var(--mz-line-height-tight);
  color: var(--mz-color-text);
  margin-block: 0 var(--mz-space-md);
}

h1 { font-size: var(--mz-font-size-3xl); }
h2 { font-size: var(--mz-font-size-2xl); }
h3 { font-size: var(--mz-font-size-xl); }
h4 { font-size: var(--mz-font-size-lg); }
h5 { font-size: var(--mz-font-size-md); }
h6 { font-size: var(--mz-font-size-base); }

p {
  margin-block: 0 var(--mz-space-md);
}

a {
  color: var(--mz-color-primary);
  text-decoration: none;
  transition: color var(--mz-transition-fast);
}

a:hover,
a:focus-visible {
  color: var(--mz-color-primary-hover);
  text-decoration: underline;
}

small {
  font-size: var(--mz-font-size-sm);
  color: var(--mz-color-text-secondary);
}

code, kbd, samp, pre {
  font-family: var(--mz-font-family-mono);
  font-size: 0.9em;
}
/**
 * Surcharges GeneratePress — Mezurilo.
 */

/* ========================================================================
   GLOBAL RESETS
   ======================================================================== */

body { background-color: #fff !important; }

/* Pages statiques : pleine largeur, pas de sidebar */
.page .site-content .content-area {
  width: 100% !important;
  max-width: 100% !important;
}
.page .inside-article {
  max-width: var(--mz-container-max);
  margin-inline: auto;
  padding-inline: var(--mz-container-gutter);
}
.page #right-sidebar,
.page #left-sidebar {
  display: none !important;
}
a { text-decoration: none; }
a:hover, a:focus { text-decoration: none; }
.mz-article__content a:not(.mz-btn):not(.mz-marchand__cta) { text-decoration: underline; }
.mz-article__content a:not(.mz-btn):not(.mz-marchand__cta):hover { text-decoration: underline; color: var(--mz-color-primary); }

/* ---- Images flottantes dans le contenu WP ---- */
.entry-content img.alignleft,
.entry-content .wp-block-image.alignleft,
.entry-content .wp-block-image .alignleft,
.mz-article__content img.alignleft {
  float: left;
  margin: 0 var(--mz-space-md) var(--mz-space-md) 0;
  max-width: 40%;
  height: auto;
}
.entry-content img.alignright,
.entry-content .wp-block-image.alignright,
.entry-content .wp-block-image .alignright,
.mz-article__content img.alignright {
  float: right;
  margin: 0 0 var(--mz-space-md) var(--mz-space-md);
  max-width: 40%;
  height: auto;
}
/* Pages info : images flottent à gauche dans un bloc adapté */
.mz-page-info__content img.alignleft,
.mz-page-info__content img.alignright,
  .entry-content img[style*="float"],
  .mz-page-info__content img[style*="float"],
  .mz-article__content img[style*="float"] {
  float: left;
  display: block;
  margin: 0 var(--mz-space-lg) var(--mz-space-md) 0;
  max-width: 35%;
  height: auto;
}
.entry-content img.aligncenter,
.entry-content .wp-block-image.aligncenter {
  display: block;
  margin-inline: auto;
  max-width: 100%;
  height: auto;
}
/* Typographie contenu */
.entry-content,
.entry-content p,
.entry-content li,
.entry-content td,
.mz-article__content,
.mz-article__content p,
.mz-article__content li,
.mz-article__content td,
.mz-page-info__content,
.mz-page-info__content p,
.mz-page-info__content li,
.mz-page-info__content td {
  font-size: 15px !important;
  line-height: 1.7;
}
/* Tables modernes dans le contenu */
.entry-content,
.mz-article__content,
.mz-page-info__content {
  overflow-x: hidden;
}

.entry-content table,
.mz-article__content table,
.mz-page-info__content table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid #e5e5e5;
  border-radius: 10px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: var(--mz-space-lg) 0;
  font-size: 14px;
}
.entry-content th,
.mz-article__content th,
.mz-page-info__content th {
  background: #f8f7fa;
  font-weight: 600;
  text-align: left;
  padding: 12px 16px;
  border-bottom: 2px solid var(--mz-color-primary, #6b1f6b);
  color: var(--mz-color-text);
}
.entry-content td,
.mz-article__content td,
.mz-page-info__content td {
  padding: 10px 16px;
  border-bottom: 1px solid #f0f0f0;
  vertical-align: top;
}
.entry-content tr:last-child td,
.mz-article__content tr:last-child td,
.mz-page-info__content tr:last-child td {
  border-bottom: none;
}
.entry-content tr:hover td,
.mz-article__content tr:hover td,
.mz-page-info__content tr:hover td {
  background: #faf9fc;
}

/* Images dans le contenu : max-width + pas de débordement */
.entry-content img,
.mz-article__content img,
.mz-page-info__content img {
  max-width: 100%;
  height: auto;
}

.entry-content h2,
.entry-content h3,
.entry-content hr,
.entry-content blockquote,
.mz-article__content h2,
.mz-article__content h3,
.mz-page-info__content h2,
.mz-page-info__content h3 {
  clear: both;
}
/* BFC sur les listes : bullets propres à côté des images flottantes */
.entry-content ul,
.entry-content ol,
.mz-article__content ul,
.mz-article__content ol,
.mz-page-info__content ul,
.mz-page-info__content ol {
  overflow: hidden;
}
@media (max-width: 719px) {
  .entry-content img.alignleft,
  .entry-content img.alignright,
  .entry-content .wp-block-image.alignleft,
  .entry-content .wp-block-image.alignright,
  .mz-article__content img.alignleft,
  .mz-article__content img.alignright,
  .mz-page-info__content img.alignleft,
  .mz-page-info__content img.alignright,
  .entry-content img[style*="float"],
  .mz-page-info__content img[style*="float"],
  .mz-article__content img[style*="float"] {
    float: none !important;
    display: block;
    margin: var(--mz-space-md) auto;
    max-width: 100%;
  }
}

/* ========================================================================
   HEADER — Layout 3 bandes
   Bande 1 : annonce (geree dans _layout.css)
   Bande 2 : Logo | Recherche | (hamburger mobile)
   Bande 3 : Nav sur fond colore (desktop) / slide panel (mobile)
   ======================================================================== */

.site-branding { display: none; }

.mz-logo-h1 {
  margin: 0;
  padding: 0;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  display: inline;
}

/* --- Bande 2 : header principal --- */
.inside-header {
  display: flex !important;
  align-items: center;
  padding-top: 14px !important;
  padding-bottom: 14px !important;
  width: 100%;
}

.site-branding-container {
  flex-shrink: 0;
}

/* Forcer le header content a prendre toute la largeur */
.inside-header > *:last-child {
  margin-left: auto;
}

.site-logo .header-image,
.site-logo img.is-logo-image {
  max-height: 48px;
  width: auto;
  height: auto;
  display: block;
}

/* --- Bande 3 : Navigation desktop --- */
@media (min-width: 1024px) {
  /* Masquer le toggle mobile */
  #mobile-menu-control-wrapper { display: none !important; }

  /* La nav sort du flux header et occupe toute la largeur */
  .site-header {
    position: relative;
    z-index: var(--mz-z-sticky);
    background: var(--mz-color-bg) !important;
  }

  #site-navigation {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    transform: translateY(100%);
    background: var(--mz-color-secondary);
    z-index: var(--mz-z-sticky);
  }

  #site-navigation .inside-navigation {
    max-width: var(--mz-container-max);
    margin: 0 auto;
    padding: 0 var(--mz-container-gutter) !important;
    display: flex;
    align-items: center;
    justify-content: flex-start;
  }

  .inside-header.grid-container {
    max-width: var(--mz-container-max) !important;
    padding-left: var(--mz-container-gutter) !important;
    padding-right: var(--mz-container-gutter) !important;
  }

  #site-navigation .main-nav > ul {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
  }

  /* Séparateurs entre items */
  #site-navigation .main-nav > ul > li + li {
    border-left: 1px solid rgba(255,255,255,0.2);
  }

  /* Liens premier niveau — texte blanc sur fond violet */
  #site-navigation .main-nav > ul > li > a,
  .main-navigation .main-nav > ul > li > a {
    display: flex;
    align-items: center;
    padding: 10px 20px !important;
    font-family: var(--mz-font-family) !important;
    font-size: 0.85rem !important;
    font-weight: var(--mz-font-weight-normal) !important;
    color: #fff !important;
    white-space: nowrap;
    line-height: 1 !important;
    transition: background-color var(--mz-transition-fast);
    text-transform: none;
  }

  #site-navigation .main-nav > ul > li > a:hover,
  .main-navigation .main-nav > ul > li > a:hover,
  #site-navigation .main-nav > ul > li.current-menu-item > a {
    background-color: rgba(255,255,255,0.15) !important;
    color: #fff !important;
  }

  /* Dropdown arrow — blanc, aligne verticalement */
  #site-navigation .main-nav > ul > li > a .dropdown-menu-toggle {
    margin-left: 6px;
    color: rgba(255,255,255,0.7);
    display: inline-flex;
    align-items: center;
    vertical-align: middle;
  }
  #site-navigation .main-nav > ul > li > a .dropdown-menu-toggle .gp-icon {
    display: inline-flex;
    align-items: center;
  }
  #site-navigation .main-nav > ul > li > a .dropdown-menu-toggle .gp-icon svg {
    width: 0.5em;
    height: 0.5em;
  }

  /* Sous-menus desktop */
  #site-navigation .main-nav > ul > li > ul.sub-menu,
  .main-navigation .main-nav > ul > li > ul.sub-menu {
    background: var(--mz-color-bg) !important;
    border-top: 3px solid var(--mz-color-primary) !important;
    border-radius: 0 0 var(--mz-radius-md) var(--mz-radius-md) !important;
    box-shadow: var(--mz-shadow-lg) !important;
    padding: var(--mz-space-xs) 0 !important;
    min-width: 240px;
  }
  #site-navigation .main-nav ul ul li a,
  .main-navigation .main-nav ul ul li a {
    padding: 10px 20px !important;
    font-size: var(--mz-font-size-sm) !important;
    font-weight: var(--mz-font-weight-normal) !important;
    color: var(--mz-color-text) !important;
    white-space: nowrap;
  }
  #site-navigation .main-nav ul ul li a:hover,
  .main-navigation .main-nav ul ul li a:hover {
    color: var(--mz-color-primary) !important;
    background: var(--mz-color-bg-subtle) !important;
  }

  /* Niveau 3 */
  #site-navigation .main-nav ul ul ul {
    border-top: none !important;
  }
}

/* Large desktops */
@media (min-width: 1400px) {
  .site-logo .header-image,
  .site-logo img.is-logo-image { max-height: 54px; }
  #site-navigation .main-nav > ul > li > a,
  .main-navigation .main-nav > ul > li > a {
    padding: 14px 24px !important;
    font-size: var(--mz-font-size-base) !important;
  }
}

/* ---- MOBILE / TABLETTE (< 1024px) ---- */
@media (max-width: 1023px) {
  /* Forcer le nav en mode mobile */
  #site-navigation {
    position: static !important;
    transform: none !important;
    background: transparent !important;
  }
  #site-navigation .main-nav > ul {
    display: none !important;
  }
  #site-navigation.toggled .main-nav > ul {
    display: block !important;
  }

  .site-header {
    position: relative;
    z-index: var(--mz-z-sticky);
    background: var(--mz-color-bg) !important;
    box-shadow: 0 1px 4px rgba(0,0,0,0.08);
  }
  .admin-bar .site-header { top: 46px; }

  .site-logo .header-image,
  .site-logo img.is-logo-image { max-height: 40px; }

  /* Hamburger */
  .menu-toggle,
  #mobile-menu-control-wrapper .menu-toggle {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    color: var(--mz-color-text) !important;
    font-size: 1.2rem;
    cursor: pointer;
    flex-shrink: 0;
    order: 10;
  }
  .menu-toggle:hover {
    color: var(--mz-color-primary) !important;
  }

  /* Masquer le second toggle dans site-navigation */
  #site-navigation > .inside-navigation > .menu-toggle { display: none !important; }

  /* Menu items mobile */
  .main-navigation .main-nav ul {
    background: var(--mz-color-bg);
    margin: 0;
    padding: 0;
  }
  .main-navigation .main-nav > ul > li {
    border-bottom: 1px solid var(--mz-color-border);
  }
  .main-navigation .main-nav ul li a {
    padding: 14px 20px;
    font-family: var(--mz-font-family);
    font-size: var(--mz-font-size-base);
    font-weight: var(--mz-font-weight-semibold);
    color: var(--mz-color-text);
    display: block;
  }
  .main-navigation .main-nav ul li a:hover,
  .main-navigation .main-nav ul li.current-menu-item > a {
    color: var(--mz-color-primary);
    background: var(--mz-color-bg-subtle);
  }

  /* Sous-menus mobile */
  .main-navigation .main-nav ul ul {
    background: var(--mz-color-bg-subtle);
  }
  .main-navigation .main-nav ul ul li {
    border-bottom: 1px solid rgba(0,0,0,0.04);
  }
  .main-navigation .main-nav ul ul li:last-child { border-bottom: none; }
  .main-navigation .main-nav ul ul li a {
    padding-left: 36px;
    font-size: var(--mz-font-size-sm);
    font-weight: var(--mz-font-weight-normal);
    color: var(--mz-color-text-secondary);
  }
  .main-navigation .main-nav ul ul ul li a { padding-left: 52px; }

  /* Chevron dropdown */
  .main-navigation .dropdown-menu-toggle {
    padding: 14px 16px;
    color: var(--mz-color-text-muted);
    border-left: 1px solid var(--mz-color-border);
  }
}

/* ========================================================================
   BUTTONS
   ======================================================================== */

.button, button, input[type="submit"], input[type="button"], input[type="reset"] {
  background-color: var(--mz-color-primary);
  color: var(--mz-color-text-inverse);
  border-radius: var(--mz-radius-sm);
  font-family: var(--mz-font-family);
  font-weight: var(--mz-font-weight-semibold);
  transition: background-color var(--mz-transition-fast);
}
.button:hover, button:hover, input[type="submit"]:hover {
  background-color: var(--mz-color-primary-hover);
}

/* ========================================================================
   ENTRIES & FOOTER
   ======================================================================== */

.entry-title a { color: var(--mz-color-text); }
.entry-title a:hover { color: var(--mz-color-primary); }

.site-footer { background-color: var(--mz-color-bg-dark); color: var(--mz-color-text-inverse); }
.site-footer a { color: var(--mz-color-text-inverse); }
.site-footer a:hover { color: var(--mz-color-primary); }

/* ========================================================================
   ACCESSIBILITE
   ======================================================================== */

/* Masquer le back-to-top GP natif */
a.generate-back-to-top { display: none !important; }

:focus-visible { outline: 2px solid var(--mz-color-primary); outline-offset: 2px; }
button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, a:focus-visible {
  outline: 2px solid var(--mz-color-primary); outline-offset: 2px; border-radius: 2px;
}

.mz-skip-link {
  position: absolute; top: -100px; left: var(--mz-space-sm); z-index: 9999;
  padding: var(--mz-space-sm) var(--mz-space-md);
  background: var(--mz-color-primary); color: var(--mz-color-text-inverse);
  text-decoration: none; font-weight: var(--mz-font-weight-semibold);
  border-radius: var(--mz-radius-sm); transition: top var(--mz-transition-fast);
}
.mz-skip-link:focus, .mz-skip-link:focus-visible {
  top: var(--mz-space-sm); outline: 3px solid var(--mz-color-text-inverse); outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
/**
 * Classes utilitaires Mezurilo.
 * Prefixe `mz-u-` pour identifier les utilitaires.
 */

html {
  scroll-behavior: smooth;
}

/* Visibilite */
.mz-u-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.mz-u-hidden { display: none !important; }

@media (max-width: 719px) {
  .mz-u-hidden-mobile { display: none !important; }
}

@media (min-width: 720px) {
  .mz-u-hidden-desktop { display: none !important; }
}

/* Espacements rapides */
.mz-u-mt-0  { margin-top: 0 !important; }
.mz-u-mt-sm { margin-top: var(--mz-space-sm) !important; }
.mz-u-mt-md { margin-top: var(--mz-space-md) !important; }
.mz-u-mt-lg { margin-top: var(--mz-space-lg) !important; }

.mz-u-mb-0  { margin-bottom: 0 !important; }
.mz-u-mb-sm { margin-bottom: var(--mz-space-sm) !important; }
.mz-u-mb-md { margin-bottom: var(--mz-space-md) !important; }
.mz-u-mb-lg { margin-bottom: var(--mz-space-lg) !important; }

/* Texte */
.mz-u-text-center  { text-align: center; }
.mz-u-text-muted   { color: var(--mz-color-text-muted); }
.mz-u-text-primary { color: var(--mz-color-primary); }

/* Flex helpers */
.mz-u-flex { display: flex; }
.mz-u-flex-center { display: flex; align-items: center; justify-content: center; }
.mz-u-gap-sm { gap: var(--mz-space-sm); }
.mz-u-gap-md { gap: var(--mz-space-md); }
/**
 * Boutons Mezurilo.
 * Variantes : primary, secondary, ghost, affiliation.
 */

.mz-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--mz-space-xs);
  padding: var(--mz-space-sm) var(--mz-space-lg);
  font-family: var(--mz-font-family);
  font-size: var(--mz-font-size-base);
  font-weight: var(--mz-font-weight-semibold);
  line-height: 1;
  text-decoration: none;
  border: 2px solid transparent;
  border-radius: var(--mz-radius-sm);
  cursor: pointer;
  transition: all var(--mz-transition-fast);
}

.mz-btn--primary {
  background-color: var(--mz-color-primary);
  color: var(--mz-color-text-inverse);
}

.mz-btn--primary:hover,
.mz-btn--primary:focus-visible {
  background-color: var(--mz-color-primary-hover);
  color: var(--mz-color-text-inverse);
  text-decoration: none;
}

.mz-btn--secondary {
  background-color: transparent;
  border-color: var(--mz-color-primary);
  color: var(--mz-color-primary);
}

.mz-btn--secondary:hover {
  background-color: var(--mz-color-primary);
  color: var(--mz-color-text-inverse);
}

.mz-btn--ghost {
  background-color: transparent;
  color: var(--mz-color-text);
}

.mz-btn--ghost:hover {
  background-color: var(--mz-color-bg-alt);
}

.mz-btn--affiliation {
  background-color: var(--mz-color-accent);
  color: var(--mz-color-text-inverse);
}

.mz-btn--affiliation:hover {
  background-color: #0a6e60;
  color: var(--mz-color-text-inverse);
}

.mz-btn--block {
  display: flex;
  width: 100%;
}
/**
 * UI primitives : badge, etoiles, breadcrumbs, alert, accordion.
 */

/* ---- Badge ---- */
.mz-badge {
  display: inline-flex;
  align-items: center;
  padding: var(--mz-space-2xs) var(--mz-space-sm);
  font-size: var(--mz-font-size-xs);
  font-weight: var(--mz-font-weight-semibold);
  border-radius: var(--mz-radius-sm);
  line-height: 1;
}

.mz-badge--note {
  background-color: var(--mz-color-primary);
  color: var(--mz-color-text-inverse);
}

.mz-badge--stock {
  background-color: var(--mz-color-success);
  color: #fff;
}

.mz-badge--stock-out {
  background-color: var(--mz-color-text-muted);
  color: #fff;
}

.mz-badge--promo {
  background-color: var(--mz-color-accent);
  color: var(--mz-color-text-inverse);
}

/* ---- Note Mezurilo (cercle ou pillule) ---- */
.mz-note {
  display: inline-flex;
  align-items: baseline;
  gap: 2px;
  padding: var(--mz-space-2xs) var(--mz-space-sm);
  background-color: var(--mz-color-primary);
  color: var(--mz-color-text-inverse);
  border-radius: var(--mz-radius-sm);
  font-weight: var(--mz-font-weight-bold);
}

.mz-note__value { font-size: var(--mz-font-size-lg); }
.mz-note__max   { font-size: var(--mz-font-size-xs); opacity: 0.85; }

/* ---- Etoiles avis ---- */
.mz-stars {
  display: inline-flex;
  gap: 2px;
  color: var(--mz-color-stars);
  font-size: var(--mz-font-size-base);
  line-height: 1;
}

.mz-stars__count {
  margin-left: var(--mz-space-xs);
  font-size: var(--mz-font-size-sm);
  color: var(--mz-color-text-secondary);
}

/* ---- Breadcrumbs ---- */
.mz-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: var(--mz-space-xs);
  margin-block: var(--mz-space-sm) var(--mz-space-xs);
  font-size: var(--mz-font-size-xs);
  color: var(--mz-color-text-secondary);
  max-width: var(--mz-container-max);
  margin-inline: auto;
  padding-inline: var(--mz-container-gutter);
}

/* Pas de double padding dans les templates qui ont déjà un container */
.mz-template-produit .mz-breadcrumbs,
.mz-template-home .mz-breadcrumbs,
.mz-template-page-info .mz-breadcrumbs,
.mz-template-article .mz-breadcrumbs,
.mz-template-marques .mz-breadcrumbs {
  padding-inline: 0;
  max-width: none;
}

.mz-breadcrumbs a {
  color: inherit;
  text-decoration: none;
}

.mz-breadcrumbs a:hover {
  color: var(--mz-color-primary);
}

.mz-breadcrumbs__sep {
  color: var(--mz-color-text-muted);
}

/* ---- Alert ---- */
.mz-alert {
  padding: var(--mz-space-md) var(--mz-space-lg);
  border-left: 4px solid var(--mz-color-primary);
  background-color: var(--mz-color-bg-subtle);
  border-radius: var(--mz-radius-sm);
  margin-block: var(--mz-space-md);
}

.mz-alert--warning { border-color: #f59e0b; }
.mz-alert--error   { border-color: var(--mz-color-error); }
.mz-alert--info    { border-color: var(--mz-color-primary); }
.mz-alert--success { border-color: var(--mz-color-success); }

/* ---- Accordion ---- */
.mz-accordion {
  border: 1px solid var(--mz-color-border);
  border-radius: var(--mz-radius-md);
  overflow: hidden;
}

.mz-accordion + .mz-accordion {
  margin-top: var(--mz-space-sm);
}

.mz-accordion__summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--mz-space-md);
  cursor: pointer;
  font-weight: var(--mz-font-weight-semibold);
  list-style: none;
  background-color: var(--mz-color-bg);
  transition: background-color var(--mz-transition-fast);
}
.mz-accordion__heading {
  font-size: 0.95rem;
  font-weight: inherit;
  line-height: 1.4;
  margin: 0;
  padding: 0;
}

.mz-accordion__summary::-webkit-details-marker { display: none; }
.mz-accordion__summary::after {
  content: "+";
  font-size: var(--mz-font-size-lg);
  color: var(--mz-color-primary);
  transition: transform var(--mz-transition-fast);
}

.mz-accordion[open] .mz-accordion__summary::after {
  content: "−";
}

.mz-accordion__summary:hover {
  background-color: var(--mz-color-bg-subtle);
}

.mz-accordion__body {
  padding: var(--mz-space-md);
  background-color: var(--mz-color-bg);
  font-size: var(--mz-font-size-sm);
  line-height: 1.7 !important;
  color: var(--mz-color-text);
}
.mz-accordion__body p,
.mz-accordion__body li,
.mz-accordion__body span {
  font-size: var(--mz-font-size-sm);
  line-height: 1.7 !important;
}
/**
 * Cartes produits + grille — style e-commerce moderne.
 */

/* ---- Grille ---- */
.mz-product-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--mz-space-md);
  margin-block: var(--mz-space-md);
}

@media (min-width: 720px) {
  .mz-product-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 1024px) {
  .mz-product-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (min-width: 1280px) {
  .mz-product-grid { grid-template-columns: repeat(4, 1fr); }
}

/* ---- Carte produit ---- */
.mz-product-card {
  background: var(--mz-color-bg);
  border: 1px solid var(--mz-color-border);
  border-radius: var(--mz-radius-lg);
  overflow: hidden;
  transition: transform var(--mz-transition-fast), box-shadow var(--mz-transition-fast);
  display: flex;
  flex-direction: column;
}

.mz-product-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
}

.mz-product-card__link {
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none;
  color: inherit;
}

/* Image wrapper avec badge note */
.mz-product-card__image-wrap {
  position: relative;
  background: #fff;
  padding: var(--mz-space-md);
}

.mz-product-card__badge {
  position: absolute;
  top: 10px;
  left: 10px;
  padding: 4px 10px;
  background: var(--mz-color-secondary);
  color: #fff;
  border-radius: 20px;
  font-size: 0.7rem;
  font-weight: var(--mz-font-weight-bold);
  z-index: 1;
  line-height: 1.3;
  letter-spacing: 0.02em;
}

.mz-product-card__image {
  width: 100%;
  aspect-ratio: 1;
  object-fit: contain;
  display: block;
  transition: transform var(--mz-transition-base);
}

.mz-product-card:hover .mz-product-card__image {
  transform: scale(1.05);
}

/* Body */
.mz-product-card__body {
  padding: 14px 16px 16px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1;
}

.mz-product-card__brand {
  font-size: 0.65rem;
  font-weight: var(--mz-font-weight-bold);
  color: var(--mz-color-primary);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.mz-product-card__title {
  font-size: var(--mz-font-size-sm) !important;
  font-weight: var(--mz-font-weight-semibold) !important;
  line-height: 1.35;
  color: var(--mz-color-text);
  margin: 0;
  flex: 1;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.mz-product-card__link:hover .mz-product-card__title {
  color: var(--mz-color-primary);
}

/* Meta row (etoiles + prix sur une ligne) */
.mz-product-card__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--mz-space-xs);
  margin-top: auto;
  padding-top: 6px;
}

.mz-product-card__stars {
  display: flex;
  align-items: center;
  gap: 1px;
  color: var(--mz-color-stars);
}

.mz-product-card__note-text {
  font-size: 0.65rem;
  color: var(--mz-color-text-muted);
  margin-left: 4px;
}
.mz-product-card__ratings {
  display: flex;
  align-items: stretch;
  gap: 0;
  margin-top: auto;
  padding-top: 6px;
}
.mz-product-card__rating-col {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  flex: 1 1 50%;
  padding: 4px 0;
}
.mz-product-card__rating-col + .mz-product-card__rating-col {
  border-left: 1px solid var(--mz-color-border, #e5e5e5);
}
.mz-product-card__rating-icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  color: var(--mz-color-text-muted);
}
.mz-product-card__stars--clients {
  color: var(--mz-color-accent, #e8a500);
}

.mz-product-card__price-inline {
  font-size: var(--mz-font-size-xs);
  color: var(--mz-color-text-muted);
  white-space: nowrap;
}

.mz-product-card__price-inline strong {
  color: var(--mz-color-primary);
  font-size: var(--mz-font-size-sm);
}

/* CTA */
.mz-product-card__cta {
  display: block;
  margin-top: 8px;
  padding-top: 8px;
  font-size: var(--mz-font-size-xs);
  font-weight: var(--mz-font-weight-semibold);
  color: var(--mz-color-primary);
  border-top: 1px solid var(--mz-color-border);
  transition: color var(--mz-transition-fast);
  text-align: center;
}

.mz-product-card__cta--price {
  padding: 10px 0 6px;
}

.mz-product-card__price-label {
  display: block;
  font-size: var(--mz-font-size-xs);
  font-weight: var(--mz-font-weight-normal);
  color: var(--mz-color-text-muted);
}

.mz-product-card__price-value {
  display: block;
  font-size: 1.25rem;
  font-weight: var(--mz-font-weight-bold);
  color: var(--mz-color-primary);
}

.mz-product-card__link:hover .mz-product-card__cta {
  color: var(--mz-color-primary-dark);
}

/* ---- Top 3 (inline dans la colonne principale) ---- */
.mz-top3 {
  margin-bottom: var(--mz-space-md);
}

.mz-top3__inner {
  border: 1px solid var(--mz-color-border);
  border-radius: var(--mz-radius-md);
  padding: var(--mz-space-xs) var(--mz-space-sm);
  background: var(--mz-color-bg-subtle);
}

.mz-top3__title {
  text-align: left;
  font-size: var(--mz-font-size-xs);
  color: var(--mz-color-primary);
  margin: 0 0 var(--mz-space-xs);
  font-weight: var(--mz-font-weight-bold);
}

.mz-product-grid--top3 {
  grid-template-columns: repeat(3, 1fr);
  gap: var(--mz-space-xs);
  margin: 0;
}

/* Cartes plus compactes dans le top 3 */
.mz-product-grid--top3 .mz-product-card__image-wrap {
  padding: var(--mz-space-xs);
}
.mz-product-grid--top3 .mz-product-card__image {
  aspect-ratio: 4/3;
}
.mz-product-grid--top3 .mz-product-card__body {
  padding: 8px 10px 10px;
}
.mz-product-grid--top3 .mz-product-card__title {
  font-size: var(--mz-font-size-xs);
}

@media (max-width: 719px) {
  .mz-product-grid--top3 { grid-template-columns: 1fr; }
}

.mz-top3__item { position: relative; }

/* Pastille rank : en haut à droite, dorée, au-dessus du badge note */
.mz-top3__rank {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 26px;
  height: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #f5c518, #e8a900);
  color: #fff;
  border-radius: 50%;
  font-size: 0.7rem;
  font-weight: var(--mz-font-weight-bold);
  z-index: 4;
  box-shadow: 0 2px 6px rgba(0,0,0,0.15);
  text-shadow: 0 1px 1px rgba(0,0,0,0.2);
}

/* ---- Outil CTA (inline dans la colonne principale) ---- */
.mz-outil-cta {
  margin-bottom: var(--mz-space-sm);
}

.mz-outil-cta__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--mz-space-md);
  padding: 10px 16px;
  background: var(--mz-color-bg);
  border: 1px solid var(--mz-color-border);
  border-left: 3px solid var(--mz-color-primary);
  border-radius: var(--mz-radius-sm);
}

.mz-outil-cta__title {
  font-size: var(--mz-font-size-sm);
  font-weight: var(--mz-font-weight-bold);
  color: var(--mz-color-primary);
  margin: 0;
}

.mz-outil-cta__desc {
  font-size: var(--mz-font-size-xs);
  color: var(--mz-color-text-secondary);
  margin: 0;
}

.mz-outil-cta .mz-btn {
  font-size: var(--mz-font-size-xs);
  padding: 6px 14px;
  white-space: nowrap;
}

@media (max-width: 719px) {
  .mz-outil-cta__inner {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--mz-space-xs);
  }
}
/**
 * Bloc affiliation multi-marchands.
 * Styles centralisés dans _single-produit.css
 */
/**
 * Tableaux : specs techniques et comparatifs.
 */

.mz-table-wrapper {
  overflow-x: auto;
  margin-block: var(--mz-space-md);
  -webkit-overflow-scrolling: touch;
}

.mz-table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--mz-font-size-sm);
  background-color: var(--mz-color-bg);
}

.mz-table th,
.mz-table td {
  padding: var(--mz-space-sm) var(--mz-space-md);
  text-align: left;
  border-bottom: 1px solid var(--mz-color-border);
  vertical-align: top;
}

.mz-table th {
  background-color: var(--mz-color-bg-subtle);
  font-weight: var(--mz-font-weight-semibold);
  color: var(--mz-color-text);
  position: sticky;
  top: 0;
}

.mz-table tr:hover td {
  background-color: var(--mz-color-bg-subtle);
}

/* Tableau comparatif : premiere colonne sticky */
.mz-table--comparatif th:first-child,
.mz-table--comparatif td:first-child {
  position: sticky;
  left: 0;
  background-color: var(--mz-color-bg);
  font-weight: var(--mz-font-weight-semibold);
  z-index: 1;
}

.mz-table--comparatif th:first-child {
  background-color: var(--mz-color-bg-subtle);
  z-index: 2;
}

/* Specs : key/value */
.mz-table--specs td:first-child {
  width: 40%;
  color: var(--mz-color-text-secondary);
}
/**
 * Galerie produit + lightbox.
 */

.mz-gallery {
  display: flex;
  flex-direction: column;
  gap: var(--mz-space-md);
}

.mz-gallery__main {
  background-color: var(--mz-color-bg-subtle);
  border-radius: var(--mz-radius-md);
  padding: var(--mz-space-lg);
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 320px;
}

.mz-gallery__main img {
  max-width: 100%;
  max-height: 480px;
  width: auto;
  height: auto;
  object-fit: contain;
  transition: opacity var(--mz-transition-fast);
}

.mz-gallery__thumbs {
  display: flex;
  gap: var(--mz-space-xs);
  overflow-x: auto;
  padding-block: var(--mz-space-xs);
  -webkit-overflow-scrolling: touch;
}

.mz-gallery__thumb {
  flex: 0 0 80px;
  height: 80px;
  background-color: var(--mz-color-bg-subtle);
  border: 2px solid var(--mz-color-border);
  border-radius: var(--mz-radius-sm);
  padding: var(--mz-space-2xs);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: border-color var(--mz-transition-fast);
}

.mz-gallery__thumb img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.mz-gallery__thumb.is-active,
.mz-gallery__thumb:hover,
.mz-gallery__thumb:focus-visible {
  border-color: var(--mz-color-primary);
}

.mz-gallery__thumb:focus-visible {
  outline: 2px solid var(--mz-color-primary);
  outline-offset: 2px;
}

/* ---- Lightbox ---- */
.mz-lightbox {
  position: fixed;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.9);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: var(--mz-z-modal);
  padding: var(--mz-space-lg);
}

.mz-lightbox__img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
}

.mz-lightbox__close {
  position: absolute;
  top: var(--mz-space-md);
  right: var(--mz-space-md);
  background: transparent;
  border: 2px solid #fff;
  color: #fff;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  font-size: 24px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color var(--mz-transition-fast);
}

.mz-lightbox__close:hover {
  background-color: rgba(255, 255, 255, 0.2);
}
/**
 * Surcharges Max Mega Menu — Mezurilo.
 * S'aligne sur le layout 3 bandes (nav sur fond violet).
 */

/* Desktop : fond transparent (le fond violet vient du #site-navigation) */
@media (min-width: 1024px) {
  #mega-menu-wrap-primary,
  #mega-menu-wrap-primary-menu {
    background: transparent !important;
    border: none !important;
  }

  /* Séparateurs entre items */
  #mega-menu-wrap-primary li.mega-menu-item + li.mega-menu-item,
  #mega-menu-wrap-primary-menu li.mega-menu-item + li.mega-menu-item {
    border-left: 1px solid rgba(255,255,255,0.2) !important;
  }

  #mega-menu-wrap-primary .mega-menu-item > a.mega-menu-link,
  #mega-menu-wrap-primary-menu .mega-menu-item > a.mega-menu-link {
    font-family: var(--mz-font-family) !important;
    font-size: 0.8rem !important;
    font-weight: var(--mz-font-weight-semibold) !important;
    color: #fff !important;
    padding: 10px 20px !important;
    line-height: 1 !important;
    white-space: nowrap;
    transition: background-color var(--mz-transition-fast);
  }

  #mega-menu-wrap-primary .mega-menu-item > a.mega-menu-link:hover,
  #mega-menu-wrap-primary-menu .mega-menu-item > a.mega-menu-link:hover,
  #mega-menu-wrap-primary .mega-menu-item.mega-current-menu-item > a.mega-menu-link {
    background-color: rgba(255,255,255,0.15) !important;
    color: #fff !important;
  }

  /* Sous-menus */
  #mega-menu-wrap-primary .mega-sub-menu,
  #mega-menu-wrap-primary-menu .mega-sub-menu {
    background-color: var(--mz-color-bg) !important;
    border-top: 3px solid var(--mz-color-primary) !important;
    border-radius: 0 0 var(--mz-radius-md) var(--mz-radius-md) !important;
    box-shadow: var(--mz-shadow-lg) !important;
    padding: var(--mz-space-sm) 0 !important;
    z-index: var(--mz-z-megamenu);
  }

  #mega-menu-wrap-primary .widget-area h4,
  #mega-menu-wrap-primary-menu .widget-area h4 {
    font-size: var(--mz-font-size-sm) !important;
    font-weight: var(--mz-font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--mz-color-secondary);
    margin-bottom: var(--mz-space-sm);
    padding-bottom: var(--mz-space-xs);
    border-bottom: 2px solid var(--mz-color-primary);
  }

  #mega-menu-wrap-primary .mega-sub-menu .mega-menu-link,
  #mega-menu-wrap-primary-menu .mega-sub-menu .mega-menu-link {
    color: var(--mz-color-text) !important;
    font-weight: var(--mz-font-weight-normal) !important;
    padding: 8px 20px !important;
    font-size: var(--mz-font-size-sm) !important;
  }

  #mega-menu-wrap-primary .mega-sub-menu .mega-menu-link:hover,
  #mega-menu-wrap-primary-menu .mega-sub-menu .mega-menu-link:hover {
    color: var(--mz-color-primary) !important;
    background: var(--mz-color-bg-subtle) !important;
  }
}

/* Large desktops */
@media (min-width: 1400px) {
  #mega-menu-wrap-primary .mega-menu-item > a.mega-menu-link,
  #mega-menu-wrap-primary-menu .mega-menu-item > a.mega-menu-link {
    font-size: var(--mz-font-size-base) !important;
    padding: 14px 24px !important;
  }
}

/* Mobile */
@media (max-width: 1023px) {
  #mega-menu-wrap-primary .mega-menu-toggle,
  #mega-menu-wrap-primary-menu .mega-menu-toggle {
    background: transparent !important;
    border: none !important;
  }

  #mega-menu-wrap-primary .mega-menu-item > a.mega-menu-link,
  #mega-menu-wrap-primary-menu .mega-menu-item > a.mega-menu-link {
    font-family: var(--mz-font-family) !important;
    font-size: var(--mz-font-size-base) !important;
    font-weight: var(--mz-font-weight-semibold) !important;
    padding: 14px 20px !important;
    border-bottom: 1px solid var(--mz-color-border) !important;
    color: var(--mz-color-text) !important;
  }

  #mega-menu-wrap-primary .mega-menu-item > a.mega-menu-link:hover,
  #mega-menu-wrap-primary-menu .mega-menu-item > a.mega-menu-link:hover {
    background-color: var(--mz-color-bg-subtle) !important;
    color: var(--mz-color-primary) !important;
  }

  #mega-menu-wrap-primary .mega-sub-menu,
  #mega-menu-wrap-primary-menu .mega-sub-menu {
    background-color: var(--mz-color-bg-subtle) !important;
    border-top: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
  }

  #mega-menu-wrap-primary .mega-sub-menu .mega-menu-link,
  #mega-menu-wrap-primary-menu .mega-sub-menu .mega-menu-link {
    padding: 12px 20px 12px 36px !important;
    border-bottom: 1px solid rgba(0,0,0,0.04) !important;
    font-size: var(--mz-font-size-sm) !important;
    color: var(--mz-color-text-secondary) !important;
  }

  #mega-menu-wrap-primary .mega-sub-menu .mega-menu-link:hover,
  #mega-menu-wrap-primary-menu .mega-sub-menu .mega-menu-link:hover {
    color: var(--mz-color-primary) !important;
    background-color: var(--mz-color-bg) !important;
  }
}
/**
 * Mezurilo — recherche header + overlay live search.
 */

/* ---- Barre de recherche dans le header ---- */
.mz-header-search {
  flex: 1;
  min-width: 0;
  margin: 0 var(--mz-space-md);
}

.mz-header-search__btn {
  display: flex;
  align-items: center;
  gap: var(--mz-space-sm);
  width: 100%;
  padding: 8px 14px;
  background: var(--mz-color-bg-subtle) !important;
  border: 1px solid var(--mz-color-border) !important;
  border-radius: 20px;
  cursor: pointer;
  color: var(--mz-color-text-muted) !important;
  font-family: var(--mz-font-family);
  font-size: var(--mz-font-size-sm);
  transition: all var(--mz-transition-fast);
  text-align: left;
}

.mz-header-search__btn:hover {
  border-color: var(--mz-color-primary) !important;
  background: var(--mz-color-bg) !important;
}

.mz-header-search__btn svg { flex-shrink: 0; opacity: 0.5; }

.mz-header-search__text {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* ---- CTA "Besoin d'aide" dans le header ---- */
.mz-header-cta {
  display: none;
  align-items: center;
  gap: 14px;
  padding: 8px 8px 8px 18px;
  background: var(--mz-color-bg) !important;
  border: 1px solid var(--mz-color-border) !important;
  color: var(--mz-color-text) !important;
  border-radius: 10px;
  text-decoration: none;
  white-space: nowrap;
  flex-shrink: 0;
  transition: all var(--mz-transition-fast);
  min-width: 280px;
}

.mz-header-cta:hover {
  border-color: var(--mz-color-primary-hover) !important;
  box-shadow: 0 2px 12px rgba(229, 25, 101, 0.15);
  text-decoration: none;
  color: var(--mz-color-text) !important;
}

.mz-header-cta__body {
  display: flex;
  flex-direction: column;
  line-height: 1.25;
}

.mz-header-cta__body strong {
  font-size: var(--mz-font-size-base);
  font-weight: var(--mz-font-weight-bold);
  color: var(--mz-color-secondary);
}

.mz-header-cta__body span {
  font-size: var(--mz-font-size-xs);
  color: var(--mz-color-text-muted);
}

.mz-header-cta__btn {
  display: inline-flex;
  align-items: center;
  padding: 8px 18px;
  background: var(--mz-color-primary);
  color: #fff;
  border-radius: 6px;
  font-size: var(--mz-font-size-sm);
  font-weight: var(--mz-font-weight-bold);
  transition: background var(--mz-transition-fast);
}

.mz-header-cta:hover .mz-header-cta__btn {
  background: var(--mz-color-primary-hover);
}

@media (min-width: 1024px) {
  .mz-header-cta { display: flex; }
}

/* Mobile */
@media (max-width: 1023px) {
  .mz-header-search {
    flex: 1;
    max-width: none;
    margin: 0 var(--mz-space-sm);
  }
  .mz-header-search__text { display: none; }
  .mz-header-search__btn {
    width: 38px;
    height: 38px;
    padding: 0;
    justify-content: center;
    border-radius: 50%;
    margin-left: auto;
  }
}

/* Mobile search overlay */
@media (max-width: 719px) {
  .mz-search-overlay__inner {
    max-width: 100%;
    margin: 0 var(--mz-space-sm);
    max-height: 85vh;
  }
  .mz-search-form {
    flex-wrap: wrap;
    padding: 12px 12px;
    gap: 8px;
  }
  .mz-search-form input[type="search"] {
    font-size: var(--mz-font-size-sm);
    flex: 1 1 0;
    min-width: 0;
  }
  .mz-search-form button[type="submit"] {
    font-size: var(--mz-font-size-xs);
    padding: 8px 12px;
    white-space: nowrap;
  }
  .mz-search-overlay__close {
    top: -40px;
    right: 4px;
    background: #fff !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
  }
}

/* ========================================================================
   OVERLAY RECHERCHE — design moderne
   ======================================================================== */

.mz-search-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  z-index: var(--mz-z-modal);
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 8vh;
  animation: mz-fade-in 0.15s ease;
}

@keyframes mz-fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

.mz-search-overlay[hidden] { display: none; }

.mz-search-overlay__inner {
  background: var(--mz-color-bg);
  border-radius: 16px;
  width: 100%;
  max-width: 560px;
  margin: 0 var(--mz-space-md);
  padding: 0;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
  position: relative;
  max-height: 75vh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

/* Bouton fermer */
.mz-search-overlay__close {
  position: absolute;
  top: 12px;
  right: 12px;
  background: var(--mz-color-bg-subtle) !important;
  border: none !important;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  line-height: 1;
  color: var(--mz-color-text-secondary) !important;
  transition: all var(--mz-transition-fast);
  z-index: 1;
}

.mz-search-overlay__close:hover {
  background: var(--mz-color-bg-alt) !important;
  color: var(--mz-color-text) !important;
}

/* Formulaire */
.mz-search-form {
  display: flex;
  align-items: center;
  padding: 16px 50px 16px 20px;
  gap: 10px;
  border-bottom: 1px solid var(--mz-color-border);
}

.mz-search-form input[type="search"] {
  flex: 1;
  padding: 10px 0;
  font-family: var(--mz-font-family);
  font-size: var(--mz-font-size-md);
  border: none;
  outline: none;
  background: transparent;
  color: var(--mz-color-text);
}

.mz-search-form input[type="search"]::placeholder {
  color: var(--mz-color-text-muted);
  font-size: var(--mz-font-size-sm);
}

.mz-search-form input[type="search"]:focus {
  outline: none;
  border: none;
}

.mz-search-form button[type="submit"] {
  padding: 8px 16px;
  border-radius: 8px;
  font-size: var(--mz-font-size-sm);
  border: none;
  cursor: pointer;
}

/* Résultats */
.mz-search-results {
  overflow-y: auto;
  padding: 8px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.mz-search-result {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 10px;
  text-decoration: none;
  color: inherit;
  transition: background var(--mz-transition-fast);
}

.mz-search-result:hover {
  background: var(--mz-color-bg-subtle);
  text-decoration: none;
  color: inherit;
}

.mz-search-result__img {
  width: 44px;
  height: 44px;
  object-fit: contain;
  background: var(--mz-color-bg-subtle);
  border-radius: 8px;
  flex-shrink: 0;
  border: 1px solid var(--mz-color-border);
}

.mz-search-result__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 2px;
}

.mz-search-result__type {
  font-size: 0.65rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--mz-color-text-muted);
  font-weight: var(--mz-font-weight-semibold);
}

.mz-search-result__title {
  font-size: var(--mz-font-size-sm);
  font-weight: var(--mz-font-weight-semibold);
  color: var(--mz-color-text);
  line-height: 1.3;
}

.mz-search-result:hover .mz-search-result__title {
  color: var(--mz-color-primary);
}

.mz-search-results__empty {
  text-align: center;
  color: var(--mz-color-text-muted);
  font-size: var(--mz-font-size-sm);
  padding: var(--mz-space-lg);
}
/**
 * Filtres sidebar collection + bouton retour en haut + bandeau newsletter.
 */

/* ---- GP no-sidebar : empeche que .site-content (display:flex) repartisse */
/* nos sections (outil-cta + top3 + grid layout) en items cote-a-cote ---- */
body.no-sidebar > #page > .site-content,
body.no-sidebar .site-content {
  display: block;
}

/* ---- Layout archive avec sidebar filtres ---- */
.mz-archive-layout {
  max-width: var(--mz-container-max);
  margin-inline: auto;
  padding-inline: var(--mz-container-gutter);
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--mz-space-md);
  margin-top: var(--mz-space-sm);
}

@media (min-width: 1024px) {
  .mz-archive-layout {
    grid-template-columns: 200px 1fr;
    align-items: start;
    gap: var(--mz-space-lg);
  }
}

.mz-archive-sidebar {
  min-width: 0;
}

.mz-archive-main {
  min-width: 0;
}

/* ---- Sidebar filtres ---- */
.mz-filters {
  background: var(--mz-color-bg);
  border: 1px solid var(--mz-color-border);
  border-radius: var(--mz-radius-md);
  padding: var(--mz-space-sm);
  font-size: var(--mz-font-size-xs);
}

/* Mobile : accordéon fermé par défaut */
.mz-filters__toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  list-style: none;
}

.mz-filters__toggle::-webkit-details-marker { display: none; }

.mz-filters__toggle::after {
  content: "+";
  font-size: var(--mz-font-size-lg);
  color: var(--mz-color-primary);
  font-weight: var(--mz-font-weight-bold);
}

.mz-filters[open] .mz-filters__toggle::after {
  content: "−";
}

.mz-filters__body {
  margin-top: var(--mz-space-sm);
}

/* Desktop : toujours ouvert, pas d'accordéon */
@media (min-width: 1024px) {
  .mz-filters {
    position: sticky;
    top: 120px;
  }

  .mz-filters__toggle {
    pointer-events: none;
    cursor: default;
  }

  .mz-filters__toggle::after {
    display: none;
  }

  .mz-filters__body {
    display: block !important;
  }
}

.mz-filters__title {
  font-size: var(--mz-font-size-xs);
  margin: 0;
  color: var(--mz-color-primary);
}

.mz-filters__group + .mz-filters__group {
  margin-top: var(--mz-space-lg);
  padding-top: var(--mz-space-md);
  border-top: 1px solid var(--mz-color-border);
}

.mz-filters__heading {
  font-size: 0.65rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--mz-color-text-secondary);
  margin: 0 0 var(--mz-space-xs);
  font-weight: var(--mz-font-weight-bold);
}

.mz-filters__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.mz-filters__link {
  display: block;
  padding: var(--mz-space-2xs) var(--mz-space-xs);
  color: var(--mz-color-text);
  text-decoration: none;
  border-radius: var(--mz-radius-sm);
  font-size: var(--mz-font-size-xs);
  transition: all var(--mz-transition-fast);
}

.mz-filters__link:hover {
  background-color: var(--mz-color-bg);
  color: var(--mz-color-primary);
}

.mz-filters__link.is-active {
  background-color: var(--mz-color-primary);
  color: var(--mz-color-text-inverse);
  font-weight: var(--mz-font-weight-semibold);
}

/* ---- Bouton retour en haut ---- */
.mz-back-to-top {
  position: fixed;
  bottom: var(--mz-space-lg);
  right: var(--mz-space-lg);
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background-color: var(--mz-color-primary);
  color: #fff;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 10px rgba(0,0,0,0.2);
  z-index: var(--mz-z-sticky);
  transition: all var(--mz-transition-fast);
}

.mz-back-to-top {
  font-size: 18px;
  line-height: 1;
  color: #fff;
}

.mz-back-to-top[hidden] {
  display: none;
}

.mz-back-to-top:hover {
  background-color: var(--mz-color-primary-hover);
  transform: translateY(-2px);
  box-shadow: 0 4px 16px rgba(229,25,101,0.4);
}

/* ---- Newsletter bandeau ---- */
.mz-newsletter {
  background: linear-gradient(135deg, var(--mz-color-primary), var(--mz-color-secondary));
  color: var(--mz-color-text-inverse);
  padding: var(--mz-space-xl) var(--mz-container-gutter);
  margin-top: var(--mz-space-2xl);
  margin-bottom: 0;
}

.mz-newsletter__inner {
  max-width: var(--mz-container-max);
  margin-inline: auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--mz-space-lg);
  align-items: center;
}

@media (min-width: 720px) {
  .mz-newsletter__inner {
    grid-template-columns: 1fr 1fr;
  }
}

.mz-newsletter__text h2 {
  color: var(--mz-color-text-inverse);
  margin: 0 0 var(--mz-space-xs);
}

.mz-newsletter__text p {
  margin: 0;
  opacity: 0.95;
}

.mz-newsletter__form {
  display: flex;
  flex-wrap: wrap;
  gap: var(--mz-space-sm);
}

@media (max-width: 719px) {
  .mz-newsletter {
    overflow: hidden;
  }
  .mz-newsletter__form {
    flex-direction: column;
  }
}

.mz-newsletter__form input {
  flex: 1;
  padding: var(--mz-space-sm) var(--mz-space-md);
  border: 2px solid transparent;
  border-radius: var(--mz-radius-sm);
  font-family: var(--mz-font-family);
  font-size: var(--mz-font-size-base);
}

.mz-newsletter__form input:focus {
  outline: none;
  border-color: var(--mz-color-text-inverse);
}

.mz-newsletter__form .mz-btn--primary {
  background-color: var(--mz-color-secondary);
  white-space: nowrap;
}

.mz-newsletter__form .mz-btn--primary:hover {
  background-color: var(--mz-color-bg);
  color: var(--mz-color-primary);
}

/* ---- Mega menu dropdown amelioration ---- */
.main-navigation .main-nav ul li ul {
  background-color: var(--mz-color-bg) !important;
  border-top: 3px solid var(--mz-color-primary);
  box-shadow: var(--mz-shadow-lg);
  min-width: 240px;
}

.main-navigation .main-nav ul li ul li a {
  color: var(--mz-color-text) !important;
  padding: var(--mz-space-sm) var(--mz-space-md) !important;
  font-weight: var(--mz-font-weight-normal) !important;
}

.main-navigation .main-nav ul li ul li a:hover {
  color: var(--mz-color-primary) !important;
  background-color: var(--mz-color-bg-subtle) !important;
}
/**
 * Mezurilo — barre d'outils archive + vue tableau comparatif.
 */

.mz-archive-toolbar {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-block: var(--mz-space-xs);
  font-size: var(--mz-font-size-xs);
}

.mz-archive-toolbar__sort {
  display: flex;
  align-items: center;
  gap: var(--mz-space-xs);
}

.mz-archive-toolbar__label {
  font-size: var(--mz-font-size-xs);
  color: var(--mz-color-text-muted);
  white-space: nowrap;
}

.mz-archive-toolbar__select {
  padding: 4px 8px;
  border: 1px solid var(--mz-color-border);
  border-radius: var(--mz-radius-sm);
  background: var(--mz-color-bg);
  font-size: var(--mz-font-size-xs);
  color: var(--mz-color-text);
}
.mz-archive-toolbar__select:focus-visible {
  outline: 2px solid var(--mz-color-primary);
  outline-offset: 2px;
}

/* ---- Chips de filtres rapides ---- */
.mz-chip {
  padding: var(--mz-space-xs) var(--mz-space-sm);
  border: 1px solid var(--mz-color-border);
  background: var(--mz-color-bg);
  border-radius: var(--mz-radius-pill, 999px);
  font-size: var(--mz-font-size-sm);
  cursor: pointer;
  color: var(--mz-color-text);
  transition: all var(--mz-transition-fast);
}
.mz-chip:hover { border-color: var(--mz-color-primary); }
.mz-chip[aria-pressed="true"] {
  background: var(--mz-color-primary);
  color: var(--mz-color-text-inverse);
  border-color: var(--mz-color-primary);
}
.mz-chip:focus-visible {
  outline: 2px solid var(--mz-color-primary);
  outline-offset: 2px;
}
.mz-chip--reset { color: var(--mz-color-text-secondary); }

/* ---- Toggle vue grille/tableau ---- */
.mz-view-toggle {
  display: inline-flex;
  border: 1px solid var(--mz-color-border);
  border-radius: var(--mz-radius-sm);
  overflow: hidden;
}
.mz-view-toggle__btn {
  padding: var(--mz-space-xs) var(--mz-space-sm);
  border: 0;
  background: var(--mz-color-bg);
  font-size: var(--mz-font-size-sm);
  cursor: pointer;
  color: var(--mz-color-text);
  transition: all var(--mz-transition-fast);
}
.mz-view-toggle__btn + .mz-view-toggle__btn { border-left: 1px solid var(--mz-color-border); }
.mz-view-toggle__btn.is-active {
  background: var(--mz-color-primary);
  color: var(--mz-color-text-inverse);
}
.mz-view-toggle__btn:focus-visible {
  outline: 2px solid var(--mz-color-primary);
  outline-offset: -2px;
}

/* ---- Statut filtres (live region) ---- */
.mz-archive-status {
  font-size: var(--mz-font-size-sm);
  color: var(--mz-color-text-secondary);
  margin-block: var(--mz-space-sm);
}

/* ---- Tableau comparatif ---- */
.mz-product-table { margin-block: var(--mz-space-md); }
.mz-product-table[hidden] { display: none; }
.mz-product-grid[hidden]  { display: none; }

.mz-ptable {
  width: 100%;
  border-collapse: collapse;
  background: var(--mz-color-bg);
  border: 1px solid var(--mz-color-border);
  border-radius: var(--mz-radius-md);
  overflow: hidden;
  font-size: var(--mz-font-size-sm);
}

.mz-ptable thead { background: var(--mz-color-bg-subtle); }
.mz-ptable th    {
  text-align: left;
  padding: var(--mz-space-sm) var(--mz-space-md);
  font-weight: var(--mz-font-weight-semibold);
  font-size: var(--mz-font-size-sm);
  color: var(--mz-color-text-secondary);
  border-bottom: 1px solid var(--mz-color-border);
}
.mz-ptable td {
  padding: var(--mz-space-sm) var(--mz-space-md);
  border-bottom: 1px solid var(--mz-color-border);
  vertical-align: middle;
}
.mz-ptable tbody tr:hover { background: var(--mz-color-bg-subtle); }
.mz-ptable tbody tr:last-child td { border-bottom: 0; }

.mz-ptable__th-image { width: 70px; }
.mz-ptable__th-num   { text-align: right; }
.mz-ptable__image    {
  width: 60px;
  height: 60px;
  object-fit: contain;
  display: block;
}
.mz-ptable__title-cell a {
  color: var(--mz-color-text);
  font-weight: var(--mz-font-weight-semibold);
  text-decoration: none;
}
.mz-ptable__title-cell a:hover { color: var(--mz-color-primary); }
.mz-ptable__brand {
  font-size: var(--mz-font-size-xs);
  color: var(--mz-color-text-muted);
  margin-top: 2px;
}
.mz-ptable__note-cell,
.mz-ptable__prix-cell {
  text-align: right;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.mz-ptable__note-cell { font-weight: var(--mz-font-weight-semibold); color: var(--mz-color-primary); }
.mz-ptable__cta-cell  { text-align: right; }
.mz-ptable__empty     { text-align: center; padding: var(--mz-space-lg); color: var(--mz-color-text-muted); }

/* Responsive : sur mobile, masquer image et empiler */
@media (max-width: 640px) {
  .mz-ptable th, .mz-ptable td { padding: var(--mz-space-xs) var(--mz-space-sm); }
  .mz-ptable__th-image, .mz-ptable__image-cell { display: none; }
  .mz-ptable__image { width: 40px; height: 40px; }
}

/* Screen reader only */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}
/**
 * Layout global : header + announcement + reassurance + footer Mezurilo.
 */

/* ---- Announcement bar ---- */
.mz-announcement-bar {
  background: linear-gradient(135deg, var(--mz-color-secondary), var(--mz-color-primary));
  color: var(--mz-color-text-inverse);
  text-align: center;
  font-size: var(--mz-font-size-xs);
  padding: 6px var(--mz-space-md);
  letter-spacing: 0.03em;
}

.mz-announcement-bar__inner {
  max-width: var(--mz-container-max);
  margin-inline: auto;
}

.mz-announcement-bar p {
  margin: 0;
  font-weight: var(--mz-font-weight-medium);
}

/* ---- Reassurance bar ---- */
.mz-reassurance-bar {
  background-color: var(--mz-color-bg-subtle);
  border-bottom: 1px solid var(--mz-color-border);
}

/* Compenser la nav absolute en desktop (toutes les pages) */
@media (min-width: 1024px) {
  .site-content {
    margin-top: 56px;
  }
}

/* Masquer en mobile pour gagner de la place */
@media (max-width: 719px) {
  .mz-reassurance-bar { display: none; }
}

/* Masquer la barre globale sur la homepage, les collections et les 404 */
.home .mz-reassurance-bar,
.single .mz-reassurance-bar,
.error404 .mz-reassurance-bar,
.tax-type-produit .mz-reassurance-bar,
.tax-marque .mz-reassurance-bar,
.tax-profil .mz-reassurance-bar {
  display: none;
}

/* Masquer aussi via la classe body collection */
body[class*="collection"] .mz-reassurance-bar { display: none; }


.mz-reassurance-bar__inner {
  max-width: var(--mz-container-max);
  margin-inline: auto;
  padding: 6px var(--mz-container-gutter);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--mz-space-xs);
}

.mz-reassurance-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  font-size: var(--mz-font-size-xs);
  gap: 1px;
  padding: 4px 0;
  position: relative;
}

/* Separateur entre items */
.mz-reassurance-item + .mz-reassurance-item::before {
  content: '';
  position: absolute;
  left: 0;
  top: 20%;
  height: 60%;
  width: 1px;
  background-color: var(--mz-color-border);
}

.mz-reassurance-item strong {
  color: var(--mz-color-primary);
  font-weight: var(--mz-font-weight-bold);
  font-size: var(--mz-font-size-xs);
}

.mz-reassurance-item span {
  color: var(--mz-color-text-muted);
  font-size: 0.7rem;
}

/* ---- Header sticky ---- */
/* Les styles sticky sont dans _overrides-gp.css pour éviter les conflits */

.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) {
  .admin-bar .site-header { top: 46px; }
}

/* ---- Masquer le footer GP par defaut ---- */
.site-info {
  display: none !important;
}

/* ---- Footer ---- */
.mz-footer {
  background-color: var(--mz-color-secondary);
  color: var(--mz-color-text-inverse);
  padding: var(--mz-space-xl) var(--mz-container-gutter) var(--mz-space-md);
  margin-top: 0;
}

.mz-footer__columns {
  max-width: var(--mz-container-max);
  margin-inline: auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--mz-space-xl);
}

@media (min-width: 720px) {
  .mz-footer__columns {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .mz-footer__columns {
    grid-template-columns: 2fr 1fr 1fr 1fr;
  }
}

.mz-footer__brand {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.mz-footer__logo {
  max-width: 260px;
  height: auto;
  filter: brightness(0) invert(1);
}

.mz-footer__sitename {
  font-size: var(--mz-font-size-xl);
  font-weight: var(--mz-font-weight-bold);
}

.mz-footer__tagline {
  font-size: var(--mz-font-size-md);
  opacity: 0.9;
  margin: 0;
}

.mz-footer__disclaimer {
  font-size: var(--mz-font-size-xs);
  opacity: 0.75;
  line-height: 1.5;
  margin: 0;
}

.mz-footer__heading {
  font-size: var(--mz-font-size-base);
  font-weight: var(--mz-font-weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin: 0 0 var(--mz-space-sm);
  color: var(--mz-color-text-inverse);
  padding-bottom: var(--mz-space-xs);
  border-bottom: 2px solid var(--mz-color-primary);
}

.mz-footer__col ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mz-space-xs);
}

.mz-footer__col a {
  color: var(--mz-color-text-inverse);
  opacity: 0.85;
  text-decoration: none;
  font-size: var(--mz-font-size-sm);
}

.mz-footer__col a:hover {
  opacity: 1;
  color: var(--mz-color-text-inverse);
  text-decoration: underline;
}

.mz-footer__copyright {
  max-width: var(--mz-container-max);
  margin: var(--mz-space-2xl) auto 0;
  padding-top: var(--mz-space-md);
  border-top: 1px solid rgba(255, 255, 255, 0.15);
  text-align: center;
  font-size: var(--mz-font-size-xs);
  opacity: 0.75;
}

.mz-footer__copyright p { margin: 0; }

/* ---- Marques (homepage) ---- */
.mz-home__brands {
  margin-block: var(--mz-space-2xl);
}

.mz-brands-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--mz-space-md);
  margin-top: var(--mz-space-lg);
}

@media (min-width: 720px) { .mz-brands-grid { grid-template-columns: repeat(4, 1fr); } }
@media (min-width: 1024px) { .mz-brands-grid { grid-template-columns: repeat(7, 1fr); } }

.mz-brand-card {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--mz-color-bg);
  border: 1px solid var(--mz-color-border);
  border-radius: var(--mz-radius-md);
  padding: var(--mz-space-md);
  aspect-ratio: 1;
  transition: border-color var(--mz-transition-fast);
}

.mz-brand-card:hover {
  border-color: var(--mz-color-primary);
}

.mz-brand-card img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  filter: grayscale(0.2);
  transition: filter var(--mz-transition-fast);
}

.mz-brand-card:hover img {
  filter: grayscale(0);
}
/**
 * Template homepage (front-page.php).
 */

.mz-template-home {
  max-width: 100%;
  margin-inline: auto;
}

/* Sections internes dans le container */
.mz-home__section,
.mz-home__reassurance {
  max-width: var(--mz-container-max);
  margin-inline: auto;
  padding-inline: var(--mz-container-gutter);
}

/* ---- Section generique ---- */
.mz-home__section {
  margin-block: var(--mz-space-2xl);
}

.mz-home__section-title {
  text-align: center;
  font-size: var(--mz-font-size-xl);
  margin-bottom: var(--mz-space-lg);
  position: relative;
}

/* ---- HERO avec visuel en fond ---- */
.mz-home__hero {
  background-size: contain;
  background-position: right center;
  background-repeat: no-repeat;
  background-color: var(--mz-color-bg);
  margin-top: 0;
  border-radius: 0;
  overflow: hidden;
  position: relative;
  min-height: 320px;
  image-rendering: -webkit-optimize-contrast;
}

.mz-home__hero-overlay {
  padding: var(--mz-space-xl) var(--mz-container-gutter);
  display: flex;
  align-items: center;
  justify-content: flex-start;
  min-height: 320px;
  max-width: var(--mz-container-max);
  margin: 0 auto;
}

.mz-home__hero-inner {
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  border-radius: var(--mz-radius-lg);
  padding: var(--mz-space-2xl) var(--mz-space-2xl);
  max-width: 50%;
  display: flex;
  flex-direction: column;
  gap: var(--mz-space-sm);
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  transition: background var(--mz-transition-fast);
}

.mz-home__hero-inner:hover {
  background: rgba(255, 255, 255, 0.95);
  text-decoration: none;
  color: inherit;
}

.mz-home__hero h1 {
  color: var(--mz-color-secondary);
  font-size: var(--mz-font-size-xl);
  margin: 0;
  line-height: var(--mz-line-height-tight);
  font-weight: var(--mz-font-weight-extrabold);
}

@media (min-width: 720px) {
  .mz-home__hero h1 { font-size: var(--mz-font-size-2xl); }
}

.mz-home__hero p {
  color: var(--mz-color-text-secondary);
  font-size: var(--mz-font-size-sm);
  margin: 0;
  line-height: var(--mz-line-height-base);
}

/* CTA in hero */
.mz-home__hero .mz-btn--white {
  background: var(--mz-color-primary);
  color: #fff;
  padding: 10px 24px;
  font-size: var(--mz-font-size-sm);
  align-self: flex-start;
}

.mz-home__hero .mz-btn--white:hover {
  background: var(--mz-color-primary-hover);
  color: #fff;
}

@media (max-width: 719px) {
  .mz-home__hero {
    background-size: cover;
    background-position: center top;
    min-height: auto;
  }
  .mz-home__hero-overlay {
    min-height: auto;
    padding-top: 200px;
  }
  .mz-home__hero-inner {
    max-width: 100%;
    flex-direction: column;
    text-align: center;
  }
  .mz-home__hero .mz-btn--white {
    align-self: center;
  }
  .mz-home__guides-grid {
    grid-template-columns: 1fr;
  }
  .mz-home__reassurance-inner {
    grid-template-columns: 1fr 1fr;
  }
}

/* White CTA button */
.mz-btn--white {
  display: inline-block;
  padding: 14px 32px;
  background: #fff;
  color: var(--mz-color-primary);
  border-radius: var(--mz-radius-md);
  font-weight: var(--mz-font-weight-bold);
  font-size: var(--mz-font-size-base);
  text-decoration: none;
  transition: all var(--mz-transition-fast);
}

.mz-btn--white:hover {
  background: rgba(255,255,255,0.9);
  transform: translateY(-1px);
  box-shadow: 0 4px 16px rgba(0,0,0,0.25);
  text-decoration: none;
  color: var(--mz-color-primary);
}

/* ---- REASSURANCE (homepage version) ---- */
.mz-home__reassurance {
  margin-top: var(--mz-space-lg);
}

.mz-home__reassurance-inner {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--mz-space-md);
}

@media (min-width: 720px) {
  .mz-home__reassurance-inner {
    grid-template-columns: repeat(4, 1fr);
  }
}

.mz-home__reassurance-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 4px;
  padding: var(--mz-space-md);
  background: var(--mz-color-bg-subtle);
  border-radius: var(--mz-radius-md);
  border: 1px solid var(--mz-color-border);
}

.mz-home__reassurance-item svg {
  color: var(--mz-color-primary);
  margin-bottom: 4px;
}

.mz-home__reassurance-item strong {
  font-size: var(--mz-font-size-sm);
  color: var(--mz-color-text);
}

.mz-home__reassurance-item span {
  font-size: var(--mz-font-size-xs);
  color: var(--mz-color-text-muted);
}

/* ---- PROFILS ---- */
.mz-home__profils-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--mz-space-md);
}

@media (min-width: 720px)  { .mz-home__profils-grid { grid-template-columns: repeat(4, 1fr); } }

.mz-profil-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--mz-space-xs);
  padding: var(--mz-space-md);
  background: var(--mz-color-bg-subtle);
  border: 1px solid var(--mz-color-border);
  border-radius: var(--mz-radius-md);
  text-decoration: none;
  color: var(--mz-color-text);
  transition: all var(--mz-transition-fast);
  text-align: center;
}

.mz-profil-card:hover {
  border-color: var(--mz-color-primary);
  color: var(--mz-color-primary);
  transform: translateY(-2px);
  box-shadow: var(--mz-shadow-md);
  text-decoration: none;
}

.mz-profil-card__img {
  width: 100%;
  aspect-ratio: 16/10;
  object-fit: cover;
  border-radius: var(--mz-radius-sm);
}

.mz-profil-card__placeholder {
  width: 100%;
  aspect-ratio: 16/10;
  background: var(--mz-color-bg-alt);
  border-radius: var(--mz-radius-sm);
}

.mz-profil-card__label {
  font-size: var(--mz-font-size-sm);
  font-weight: var(--mz-font-weight-semibold);
  line-height: 1.3;
}

/* ---- MARQUES CIRCLES (homepage) ---- */
.mz-brands-circle-grid--home {
  justify-content: center;
}

.mz-brand-circle--more {
  background: var(--mz-color-bg-alt);
  border-color: var(--mz-color-border);
}

.mz-brand-circle__plus {
  font-size: 1.5rem;
  font-weight: var(--mz-font-weight-bold);
  color: var(--mz-color-text-muted);
}

.mz-brand-circle--more:hover {
  background: var(--mz-color-primary);
  border-color: var(--mz-color-primary);
}

.mz-brand-circle--more:hover .mz-brand-circle__plus {
  color: #fff;
}

/* ---- MOSAIC (visuels en fond) ---- */
.mz-home__mosaic-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--mz-space-md);
}

@media (min-width: 720px) {
  .mz-home__mosaic-grid {
    grid-template-columns: 1fr 1fr;
  }
  .mz-mosaic-card--large {
    grid-column: 1 / 2;
    grid-row: 1 / 3;
  }
}

.mz-mosaic-card {
  position: relative;
  display: flex;
  align-items: flex-end;
  min-height: 200px;
  border-radius: var(--mz-radius-lg);
  overflow: hidden;
  color: #fff;
  text-decoration: none;
  transition: transform var(--mz-transition-fast);
}

.mz-mosaic-card--large { min-height: 100%; }

.mz-mosaic-card:hover { transform: translateY(-3px); color: #fff; text-decoration: none; }

.mz-mosaic-card__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--mz-transition-base);
}

.mz-mosaic-card:hover .mz-mosaic-card__img { transform: scale(1.03); }

.mz-mosaic-card__overlay {
  position: relative;
  z-index: 1;
  padding: var(--mz-space-lg);
  background: linear-gradient(to top, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0.2) 60%, transparent 100%);
  width: 100%;
  min-height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.mz-mosaic-card__overlay h2,
.mz-mosaic-card__overlay h3 {
  color: #fff;
  font-size: var(--mz-font-size-xl);
  margin: 0 0 var(--mz-space-2xs);
}

.mz-mosaic-card__overlay p {
  margin: 0 0 var(--mz-space-sm);
  font-size: var(--mz-font-size-xs);
  opacity: 0.9;
  max-width: 280px;
}

.mz-mosaic-card__cta-btn {
  display: inline-block;
  padding: 8px 18px;
  background: var(--mz-color-primary);
  color: #fff;
  border-radius: var(--mz-radius-sm);
  font-size: var(--mz-font-size-xs);
  font-weight: var(--mz-font-weight-bold);
  width: fit-content;
  transition: background var(--mz-transition-fast);
}

.mz-mosaic-card:hover .mz-mosaic-card__cta-btn { background: var(--mz-color-primary-hover); }

/* ---- GUIDES ---- */
.mz-home__guides-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--mz-space-md);
}

@media (min-width: 720px) {
  .mz-home__guides-grid { grid-template-columns: repeat(4, 1fr); }
}

.mz-guide-card {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: var(--mz-space-md);
  background: var(--guide-color, var(--mz-color-primary));
  color: #fff;
  border-radius: var(--mz-radius-md);
  text-decoration: none;
  transition: all var(--mz-transition-fast);
}

.mz-guide-card:hover {
  opacity: 0.9;
  transform: translateY(-2px);
  box-shadow: var(--mz-shadow-md);
  text-decoration: none;
  color: #fff;
}

.mz-guide-card strong {
  font-size: var(--mz-font-size-base);
}

.mz-guide-card span {
  font-size: var(--mz-font-size-xs);
  opacity: 0.9;
}

.mz-guide-card__cta {
  margin-top: auto;
  padding-top: var(--mz-space-sm);
  font-weight: var(--mz-font-weight-semibold);
  font-size: var(--mz-font-size-xs);
  opacity: 1 !important;
  border-top: 1px solid rgba(255,255,255,0.3);
}

/* ---- PRODUCT GRID 5 cols ---- */
.mz-product-grid--5 {
  grid-template-columns: repeat(2, 1fr);
}

@media (min-width: 720px)  { .mz-product-grid--5 { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) { .mz-product-grid--5 { grid-template-columns: repeat(5, 1fr); } }

/* ---- BLOG ---- */
.mz-home__blog-header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  border-bottom: 2px solid var(--mz-color-primary);
  padding-bottom: var(--mz-space-sm);
  margin-bottom: var(--mz-space-lg);
  gap: var(--mz-space-md);
  flex-wrap: wrap;
}

.mz-home__blog-link {
  font-weight: var(--mz-font-weight-semibold);
  color: var(--mz-color-primary);
  text-decoration: none;
  white-space: nowrap;
  font-size: var(--mz-font-size-sm);
}
.mz-home__blog-link:hover {
  color: var(--mz-color-primary-hover);
}

.mz-home__blog-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--mz-space-md);
}

@media (min-width: 720px) { .mz-home__blog-grid { grid-template-columns: repeat(3, 1fr); } }

.mz-article-card {
  background: var(--mz-color-bg);
  border: 1px solid var(--mz-color-border);
  border-radius: var(--mz-radius-md);
  overflow: hidden;
  transition: transform var(--mz-transition-fast), box-shadow var(--mz-transition-fast);
}

.mz-article-card:hover { transform: translateY(-2px); box-shadow: var(--mz-shadow-md); }

.mz-article-card__link { display: block; text-decoration: none; color: inherit; }

.mz-article-card__image {
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
  display: block;
}

.mz-article-card__body { padding: var(--mz-space-md); }

.mz-article-card__title {
  font-size: var(--mz-font-size-md);
  font-weight: var(--mz-font-weight-semibold);
  margin: 0 0 var(--mz-space-xs);
  line-height: var(--mz-line-height-tight);
  color: var(--mz-color-text);
}

.mz-article-card__date {
  font-size: var(--mz-font-size-xs);
  color: var(--mz-color-text-muted);
}

.mz-article-card__excerpt {
  margin: var(--mz-space-xs) 0 0;
  font-size: var(--mz-font-size-sm);
  color: var(--mz-color-text-secondary);
  line-height: var(--mz-line-height-base);
}

.mz-article-card__read-more {
  display: inline-block;
  margin-top: var(--mz-space-sm);
  font-size: var(--mz-font-size-sm);
  font-weight: var(--mz-font-weight-semibold);
  color: var(--mz-color-primary);
}

.mz-article-card:hover .mz-article-card__read-more {
  color: var(--mz-color-primary-hover);
}

.mz-home__blog-more {
  text-align: center;
  margin-top: var(--mz-space-md);
}

/* Archive blog (home.php) */
.mz-template-blog-archive {
  max-width: var(--mz-container-max);
  margin-inline: auto;
  padding-inline: var(--mz-container-gutter);
  padding-block: var(--mz-space-xl);
}
.mz-blog-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--mz-space-lg);
  margin-block: var(--mz-space-xl);
}
@media (min-width: 720px)  { .mz-blog-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .mz-blog-grid { grid-template-columns: repeat(3, 1fr); } }
.mz-blog-grid .mz-article-card-title,
.mz-blog-grid .mz-article-card__title {
  font-size: var(--mz-font-size-md);
}
/**
 * Template page produit (single-produit.php) — style Mezurilo.
 */

.mz-template-produit {
  max-width: var(--mz-container-max);
  margin-inline: auto;
  padding-inline: var(--mz-container-gutter);
}

/* ---- Layout : galerie gauche + infos droite (style Shopify) ---- */
.mz-produit__layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--mz-space-xl);
  margin-block: var(--mz-space-md);
}

@media (min-width: 1100px) {
  .mz-produit__layout {
    grid-template-columns: 1fr 1fr;
  }
}

.mz-produit__info {
  overflow: hidden;
}

.mz-produit__info {
  display: flex;
  flex-direction: column;
  gap: var(--mz-space-md);
}

/* ---- Header produit (dans la colonne droite) ---- */
.mz-produit__header {
  margin: 0;
}

.mz-produit__brand {
  font-size: var(--mz-font-size-xs);
  font-weight: var(--mz-font-weight-bold);
  color: var(--mz-color-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin: 0;
}

.mz-produit__title {
  font-size: var(--mz-font-size-xl);
  margin: 0;
  line-height: var(--mz-line-height-tight);
}

@media (min-width: 720px) {
  .mz-produit__title { font-size: var(--mz-font-size-2xl); }
}

.mz-produit__ratings {
  display: flex;
  gap: 0;
  margin-top: var(--mz-space-sm);
  border: 1px solid var(--mz-color-border);
  border-radius: var(--mz-radius-md);
  overflow: hidden;
}

.mz-produit__ratings > .mz-produit__rating-block {
  flex: 1;
  padding: var(--mz-space-sm) var(--mz-space-md);
}

.mz-produit__ratings > .mz-produit__rating-block + .mz-produit__rating-block {
  border-left: 1px solid var(--mz-color-border);
}

a.mz-produit__rating-block {
  text-decoration: none;
  color: inherit;
  font-size: var(--mz-font-size-sm);
}

a.mz-produit__rating-block:hover {
  text-decoration: none;
  opacity: 0.8;
}

.mz-produit__rating-block {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.mz-produit__rating-label {
  font-size: var(--mz-font-size-xs);
  color: var(--mz-color-text-muted);
  font-weight: var(--mz-font-weight-semibold);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.mz-produit__rating-row {
  display: flex;
  align-items: center;
  gap: var(--mz-space-xs);
}

.mz-produit__stars {
  display: flex;
  align-items: center;
  gap: 2px;
  color: var(--mz-color-stars);
}

.mz-produit__rating-value {
  font-size: var(--mz-font-size-sm);
  font-weight: var(--mz-font-weight-bold);
  color: var(--mz-color-text);
}

.mz-produit__reviews-link {
  font-size: var(--mz-font-size-xs);
  color: var(--mz-color-text-muted);
  text-decoration: none;
}

.mz-produit__reviews-link:hover {
  color: var(--mz-color-primary);
}

.mz-produit__description {
  color: var(--mz-color-text-secondary);
  font-size: var(--mz-font-size-sm);
  line-height: var(--mz-line-height-relaxed);
  margin: 0;
}

/* ---- Galerie ---- */
.mz-gallery__main {
  background: var(--mz-color-bg);
  border: 1px solid var(--mz-color-border);
  border-radius: var(--mz-radius-lg);
  padding: var(--mz-space-xl);
  margin-bottom: var(--mz-space-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 550px;
}

.mz-gallery__main img {
  max-width: 100%;
  max-height: 420px;
  height: auto;
  object-fit: contain;
  display: block;
  cursor: zoom-in;
}

.mz-gallery__thumbs {
  display: flex;
  flex-wrap: wrap;
  gap: var(--mz-space-xs);
  padding-bottom: var(--mz-space-xs);
}

.mz-gallery__thumb {
  width: 72px;
  height: 72px;
  flex-shrink: 0;
  border: 2px solid var(--mz-color-border);
  border-radius: var(--mz-radius-sm);
  overflow: hidden;
  cursor: pointer;
  padding: 6px;
  background: var(--mz-color-bg);
  transition: border-color var(--mz-transition-fast);
}

.mz-gallery__thumb:hover,
.mz-gallery__thumb.is-active {
  border-color: var(--mz-color-primary);
}

.mz-gallery__thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* Bandeau marque sous les thumbnails */
.mz-gallery__brand {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--mz-space-sm);
  padding: var(--mz-space-sm) var(--mz-space-md);
  border: 1px solid var(--mz-color-border);
  border-radius: var(--mz-radius-md);
  text-decoration: none;
  color: var(--mz-color-text);
  transition: border-color var(--mz-transition-fast);
  margin-top: var(--mz-space-sm);
}

.mz-gallery__brand:hover {
  border-color: var(--mz-color-primary);
  text-decoration: none;
}

.mz-gallery__brand img {
  max-height: 60px;
  width: auto;
  object-fit: contain;
}

.mz-gallery__brand-name {
  font-weight: var(--mz-font-weight-bold);
  font-size: var(--mz-font-size-sm);
}

.mz-gallery__brand-link {
  font-size: var(--mz-font-size-xs);
  color: var(--mz-color-primary);
  font-weight: var(--mz-font-weight-semibold);
}

/* Bandeau marque : desktop dans galerie, mobile dans colonne info (après specs) */
.mz-gallery__brand.mz-gallery__brand--mobile {
  display: none;
}
@media (max-width: 1099px) {
  .mz-produit__gallery > .mz-gallery__brand {
    display: none;
  }
  .mz-gallery__brand.mz-gallery__brand--mobile {
    display: flex;
  }
}

/* ---- Bloc "Où l'acheter" — CTA incentive ---- */
.mz-produit__affiliation {
  background: var(--mz-color-bg);
  padding: var(--mz-space-md);
  border-radius: var(--mz-radius-lg);
  border: 2px solid var(--mz-color-primary);
  display: flex;
  flex-direction: column;
  gap: var(--mz-space-sm);
}

.mz-affil__header {
  text-align: center;
}

.mz-affil__badge {
  display: inline-block;
  background: var(--mz-color-secondary);
  color: #fff;
  font-size: 0.6rem;
  font-weight: var(--mz-font-weight-bold);
  padding: 2px 8px;
  border-radius: 20px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: var(--mz-space-2xs);
}

.mz-affil__title {
  font-size: var(--mz-font-size-sm);
  font-weight: var(--mz-font-weight-bold);
  margin: 0;
  color: var(--mz-color-text);
}

/* Liste marchands compacte */
.mz-marchands {
  display: flex;
  flex-direction: column;
  gap: var(--mz-space-xs);
}

.mz-marchand {
  display: flex;
  align-items: center;
  gap: var(--mz-space-sm);
  padding: 8px 12px;
  background: var(--mz-color-bg-subtle);
  border: 1px solid var(--mz-color-border);
  border-radius: var(--mz-radius-md);
  text-decoration: none;
  color: var(--mz-color-text);
  transition: all var(--mz-transition-fast);
}

.mz-marchand:hover {
  border-color: var(--mz-color-primary);
  box-shadow: 0 2px 8px rgba(229,25,101,0.1);
  text-decoration: none;
  color: var(--mz-color-text);
}

.mz-marchand--best {
  border-color: var(--mz-color-primary);
  border-width: 2px;
  background: linear-gradient(135deg, rgba(229,25,101,0.04), rgba(72,28,75,0.04));
  position: relative;
  padding-top: 14px;
  padding-bottom: 14px;
}

.mz-marchand--best .mz-affil__badge {
  position: absolute;
  top: -10px;
  left: 12px;
}

.mz-marchand__who {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 110px;
  height: 36px;
  flex-shrink: 0;
}

.mz-marchand__logo {
  max-width: 100px;
  max-height: 30px;
  width: auto;
  height: auto;
  object-fit: contain;
}

.mz-marchand__logo[alt="Amazon"] {
  transform: translateY(2px);
}

.mz-marchand__nom {
  font-weight: var(--mz-font-weight-semibold);
  font-size: var(--mz-font-size-sm);
  white-space: nowrap;
}

.mz-marchand__livraison {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1;
  min-width: 0;
  font-size: 0.65rem;
  color: var(--mz-color-text-muted);
  line-height: 1.3;
  text-align: center;
}

.mz-marchand__liv-gratuit {
  color: var(--mz-color-success, #1b6e20);
  font-weight: var(--mz-font-weight-semibold);
}

.mz-marchand__prix {
  display: flex;
  align-items: center;
  gap: var(--mz-space-xs);
  margin-left: auto;
  white-space: nowrap;
}

.mz-marchand__prix-barre {
  text-decoration: line-through;
  color: var(--mz-color-text-muted);
  font-size: var(--mz-font-size-xs);
}

.mz-marchand__prix-actuel {
  font-size: var(--mz-font-size-md);
  font-weight: var(--mz-font-weight-extrabold);
  color: var(--mz-color-primary);
}

.mz-marchand__remise {
  background: var(--mz-color-success);
  color: #fff;
  font-size: 0.6rem;
  font-weight: var(--mz-font-weight-bold);
  padding: 2px 6px;
  border-radius: 20px;
}

.mz-marchand__cta-btn {
  flex-shrink: 0;
  padding: 6px 14px;
  background: var(--mz-color-primary);
  color: #fff;
  border-radius: var(--mz-radius-sm);
  font-size: var(--mz-font-size-xs);
  font-weight: var(--mz-font-weight-bold);
  transition: background var(--mz-transition-fast);
}

.mz-marchand:hover .mz-marchand__cta-btn {
  background: var(--mz-color-primary-hover);
}

.mz-affil__trust {
  font-size: 0.6rem;
  color: var(--mz-color-text-muted);
  text-align: center;
  margin: 0;
  font-style: italic;
}

.mz-affil__no-merchant {
  text-align: center;
  color: var(--mz-color-text-muted);
  font-size: var(--mz-font-size-sm);
  font-style: italic;
  padding: var(--mz-space-md) var(--mz-space-sm);
  margin: 0;
}

/* ---- Loading animation ---- */
.mz-marchands--hidden {
  display: none !important;
}

.mz-affil__loading {
  padding: var(--mz-space-md) var(--mz-space-sm);
  text-align: center;
}

.mz-affil__logos-scroll {
  overflow: hidden;
  height: 36px;
  margin-bottom: var(--mz-space-sm);
  mask-image: linear-gradient(to right, transparent, black 15%, black 85%, transparent);
  -webkit-mask-image: linear-gradient(to right, transparent, black 15%, black 85%, transparent);
}

.mz-affil__logos-track {
  display: flex;
  align-items: center;
  gap: 40px;
  width: max-content;
  animation: mz-scroll-logos 4s linear infinite;
}

.mz-affil__logos-track img {
  height: 28px;
  width: auto;
  object-fit: contain;
  opacity: 0.5;
  filter: grayscale(100%);
  transition: opacity 0.3s, filter 0.3s;
}

@keyframes mz-scroll-logos {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.mz-affil__loading-text {
  font-size: var(--mz-font-size-sm);
  color: var(--mz-color-text-muted);
  margin: 0 0 var(--mz-space-sm) 0;
  font-style: italic;
}

.mz-affil__progress {
  height: 4px;
  background: var(--mz-color-border);
  border-radius: 2px;
  overflow: hidden;
  max-width: 280px;
  margin: 0 auto;
}

.mz-affil__progress-bar {
  height: 100%;
  width: 0%;
  background: linear-gradient(90deg, var(--mz-color-primary), var(--mz-color-primary-dark, #481c4b));
  border-radius: 2px;
  transition: width 0.1s linear;
}

/* Results reveal animation */
.mz-marchands--reveal {
  display: flex !important;
  animation: mz-fade-in 0.4s ease-out;
}

.mz-affil__trust--reveal {
  display: block !important;
  animation: mz-fade-in 0.4s ease-out;
}

@keyframes mz-fade-in {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ---- Lien notes/avis ---- */
.mz-produit__reviews-link {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  font-size: var(--mz-font-size-xs);
  color: var(--mz-color-text-secondary);
  text-decoration: underline;
  text-decoration-color: transparent;
  transition: text-decoration-color var(--mz-transition-fast);
  margin-left: var(--mz-space-xs);
}

.mz-produit__reviews-link:hover {
  text-decoration-color: var(--mz-color-primary);
  color: var(--mz-color-primary);
}

.mz-produit__reviews-sep {
  margin-right: 2px;
}

/* ---- Mobile product page ---- */
@media (max-width: 719px) {
  .mz-produit__ratings {
    flex-direction: column;
  }
  .mz-produit__ratings > .mz-produit__rating-block + .mz-produit__rating-block {
    border-left: none;
    border-top: 1px solid var(--mz-color-border);
  }
  .mz-produit__affiliation {
    padding: var(--mz-space-sm);
  }
  .mz-marchand {
    padding: 10px 12px;
    gap: var(--mz-space-xs);
    flex-wrap: wrap;
    min-height: 64px;
  }
  .mz-marchand__who {
    width: 60px;
    height: auto;
  }
  .mz-marchand__logo {
    max-width: 52px;
  }
  .mz-marchand__prix-actuel {
    font-size: var(--mz-font-size-sm);
  }
  .mz-marchand__prix-barre {
    display: none;
  }
  .mz-marchand__livraison {
    font-size: 0.6rem;
    flex: 1;
    min-width: 0;
  }
  .mz-marchand__cta-btn {
    padding: 6px 12px;
  }
  .mz-gallery__main {
    padding: var(--mz-space-md);
    min-height: 200px;
  }
  .mz-gallery__main img {
    max-height: 250px;
  }
  .mz-gallery__thumb {
    width: 56px;
    height: 56px;
  }
  .mz-editorial-block__text h2 {
    font-size: var(--mz-font-size-lg);
  }
}

/* ---- Onglets specs ---- */
.mz-specs-tabs {
  border: 1px solid var(--mz-color-border);
  border-radius: var(--mz-radius-md);
  overflow: hidden;
}

.mz-specs-tabs__nav {
  display: flex;
  border-bottom: 1px solid var(--mz-color-border);
}

.mz-specs-tabs__btn {
  flex: 1;
  padding: 10px 8px;
  background: var(--mz-color-bg-subtle) !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  font-size: var(--mz-font-size-xs);
  font-weight: var(--mz-font-weight-normal);
  color: var(--mz-color-text-muted) !important;
  cursor: pointer;
  transition: all var(--mz-transition-fast);
  text-align: center;
  white-space: nowrap;
}

.mz-specs-tabs__btn:hover {
  color: var(--mz-color-text) !important;
  background: var(--mz-color-bg) !important;
}

.mz-specs-tabs__btn.is-active {
  background: var(--mz-color-bg) !important;
  color: var(--mz-color-text) !important;
  font-weight: var(--mz-font-weight-bold);
  border-bottom-color: var(--mz-color-primary) !important;
}

.mz-specs-tabs__panel {
  padding: var(--mz-space-md);
}

.mz-specs-tabs__panel[hidden] { display: none; }

.mz-specs-tabs__panel ul {
  list-style: disc;
  padding-left: var(--mz-space-lg);
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mz-space-xs);
}

.mz-specs-tabs__panel li {
  font-size: var(--mz-font-size-sm);
  color: var(--mz-color-text-secondary);
  line-height: 1.5;
}

.mz-specs-tabs__panel li strong {
  color: var(--mz-color-text);
}

/* Mode d'emploi */
.mz-mode-emploi {
  display: block;
  text-align: center;
  padding: 10px;
  border: 1px solid var(--mz-color-border);
  border-radius: var(--mz-radius-md);
  font-size: var(--mz-font-size-sm);
  font-weight: var(--mz-font-weight-semibold);
  color: var(--mz-color-primary);
  text-decoration: none;
  transition: all var(--mz-transition-fast);
}

.mz-mode-emploi:hover {
  background: var(--mz-color-bg-subtle);
  text-decoration: none;
}

/* ---- Fiche technique ---- */
.mz-produit__specs {
  margin-block: var(--mz-space-xl);
}

.mz-specs-table {
  width: 100%;
  border-collapse: collapse;
  background: var(--mz-color-bg);
  border: 1px solid var(--mz-color-border);
  border-radius: var(--mz-radius-md);
  overflow: hidden;
  font-size: var(--mz-font-size-sm);
}

.mz-specs-table th,
.mz-specs-table td {
  padding: var(--mz-space-sm) var(--mz-space-md);
  text-align: left;
  border-bottom: 1px solid var(--mz-color-border);
  vertical-align: top;
}

.mz-specs-table tr:last-child th,
.mz-specs-table tr:last-child td { border-bottom: none; }

.mz-specs-table th {
  background-color: var(--mz-color-bg-subtle);
  font-weight: var(--mz-font-weight-semibold);
  color: var(--mz-color-text);
  width: 40%;
}

.mz-specs-table td { color: var(--mz-color-text-secondary); }

@media (max-width: 720px) {
  .mz-specs-table th { width: 50%; white-space: normal; }
}

/* ---- Contenu éditorial ---- */
.mz-produit__content {
  margin-block: var(--mz-space-xl);
}

.mz-produit__content img {
  max-width: 100%;
  height: auto;
  border-radius: var(--mz-radius-md);
}

/* ---- Sections editoriales (alternées) ---- */
.mz-produit__editorial {
  display: flex;
  flex-direction: column;
  gap: var(--mz-space-3xl);
  margin-block: 0 var(--mz-space-2xl);
}

.mz-editorial-block {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--mz-space-xl);
  align-items: center;
}

@media (min-width: 720px) {
  .mz-editorial-block:has(.mz-editorial-block__image) { grid-template-columns: 1fr 1fr; }
  .mz-editorial--reverse .mz-editorial-block__image { order: 2; }
}

.mz-editorial-block__image img {
  width: 100%;
  height: auto;
  border-radius: var(--mz-radius-lg);
}

.mz-editorial-block__text h2 {
  margin-top: 0;
  font-size: var(--mz-font-size-xl);
  font-weight: var(--mz-font-weight-extrabold);
  color: var(--mz-color-text);
}

.mz-editorial-block__text p,
.mz-editorial-block__text li {
  color: var(--mz-color-text-secondary);
  line-height: 1.7;
  font-size: 15px;
}

/* ---- Section marque (banner) ---- */
.mz-produit__brand-section {
  margin-block: var(--mz-space-2xl);
  text-align: center;
}

.mz-produit__brand-section h2 {
  font-size: var(--mz-font-size-xl);
  font-weight: var(--mz-font-weight-extrabold);
  margin: 0 0 var(--mz-space-lg);
}

.mz-produit__brand-section-inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--mz-space-lg);
  align-items: center;
  margin-bottom: var(--mz-space-lg);
}

@media (min-width: 720px) {
  .mz-produit__brand-section-inner { grid-template-columns: 1fr 1fr; }
}

.mz-produit__brand-logo {
  max-width: 100%;
  height: auto;
  border-radius: var(--mz-radius-lg);
}

.mz-produit__brand-desc {
  text-align: left;
  color: var(--mz-color-text-secondary);
  font-size: var(--mz-font-size-sm);
  line-height: var(--mz-line-height-relaxed);
}

.mz-btn--secondary {
  display: inline-block;
  padding: 12px 28px;
  background: var(--mz-color-primary);
  color: #fff !important;
  border-radius: var(--mz-radius-md);
  font-weight: var(--mz-font-weight-bold);
  font-size: var(--mz-font-size-sm);
  text-decoration: none;
  transition: background var(--mz-transition-fast);
}

.mz-btn--secondary:hover {
  background: var(--mz-color-primary-hover);
  text-decoration: none;
}

/* ---- Verdict / Avis Mezurilo ---- */
.mz-produit__verdict {
  margin-block: var(--mz-space-2xl);
  padding: var(--mz-space-xl) 0;
  border-top: 1px solid var(--mz-color-border);
  border-bottom: 1px solid var(--mz-color-border);
  scroll-margin-top: 120px;
}

.mz-verdict__section-title {
  text-align: center;
  font-size: var(--mz-font-size-xl);
  font-weight: var(--mz-font-weight-extrabold);
  margin: 0 0 var(--mz-space-lg);
}

.mz-verdict__header {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--mz-space-lg);
  margin-bottom: var(--mz-space-xl);
}

@media (min-width: 720px) {
  .mz-verdict__header {
    grid-template-columns: auto 1fr;
    align-items: center;
  }
}

.mz-verdict__score-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--mz-space-xs);
}

.mz-verdict__stars-row {
  display: flex;
  align-items: center;
  gap: 2px;
  color: var(--mz-color-stars);
}

.mz-verdict__score {
  display: flex;
  align-items: baseline;
  gap: 2px;
}

.mz-verdict__score-value {
  font-size: 2rem;
  font-weight: var(--mz-font-weight-extrabold);
  color: var(--mz-color-primary);
  line-height: 1;
}

@media (min-width: 720px) {
  .mz-verdict__score-value { font-size: 3rem; }
}

.mz-verdict__score-max {
  font-size: var(--mz-font-size-lg);
  color: var(--mz-color-text-muted);
}

.mz-verdict__text-block {
  min-width: 0;
}

.mz-verdict__text {
  color: var(--mz-color-text-secondary);
  font-size: var(--mz-font-size-sm);
  line-height: var(--mz-line-height-relaxed);
  margin: 0;
}

/* Pros / Cons */
.mz-verdict__pros-cons {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--mz-space-lg);
}

@media (min-width: 720px) { .mz-verdict__pros-cons { grid-template-columns: 1fr 1fr; } }

.mz-verdict__pros,
.mz-verdict__cons {
  padding: 0;
}

.mz-verdict__heading {
  margin: 0 0 var(--mz-space-sm);
  font-size: var(--mz-font-size-md);
  font-weight: var(--mz-font-weight-bold);
  display: flex;
  align-items: center;
  gap: var(--mz-space-sm);
}

.mz-verdict__pros .mz-verdict__heading { color: var(--mz-color-secondary); }
.mz-verdict__cons .mz-verdict__heading { color: var(--mz-color-secondary); }

.mz-verdict__pros ul,
.mz-verdict__cons ul {
  margin: 0;
  padding-left: var(--mz-space-lg);
  display: flex;
  flex-direction: column;
  gap: var(--mz-space-xs);
}

.mz-verdict__pros li,
.mz-verdict__cons li {
  font-size: var(--mz-font-size-sm);
  color: var(--mz-color-text-secondary);
  line-height: 1.5;
}

.mz-verdict__pros li::marker { color: var(--mz-color-success); }
.mz-verdict__cons li::marker { color: var(--mz-color-error); }

.mz-verdict__audience {
  margin-top: var(--mz-space-lg);
  padding-top: var(--mz-space-md);
  border-top: 1px solid var(--mz-color-border);
  display: flex;
  flex-direction: column;
  gap: var(--mz-space-xs);
}

.mz-verdict__audience-line { margin: 0; font-size: var(--mz-font-size-sm); }
.mz-verdict__audience-line--ideal strong { color: var(--mz-color-success); }
.mz-verdict__audience-line--deconseille strong { color: var(--mz-color-error); }

/* ---- Trust badges ---- */
.mz-produit__trust { margin-block: var(--mz-space-md); }

.mz-produit__trust h3 {
  font-size: var(--mz-font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--mz-color-text-secondary);
  margin: 0 0 var(--mz-space-xs);
}

.mz-trust-badges {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: var(--mz-space-xs);
}

.mz-trust-badge {
  background: var(--mz-color-accent);
  color: #fff;
  padding: var(--mz-space-2xs) var(--mz-space-sm);
  border-radius: var(--mz-radius-sm);
  font-size: var(--mz-font-size-xs);
  font-weight: var(--mz-font-weight-semibold);
}

/* ---- FAQ ---- */
.mz-produit__faq {
  font-size: var(--mz-font-size-sm);
  margin-block: var(--mz-space-2xl);
}

.mz-produit__faq h2 {
  text-align: center;
  margin-bottom: var(--mz-space-lg);
  font-weight: var(--mz-font-weight-extrabold);
}

/* ---- Produits similaires ---- */
.mz-produit__similar {
  margin-block: var(--mz-space-2xl);
}

.mz-produit__similar h2 {
  text-align: center;
  margin-bottom: var(--mz-space-lg);
}

/* ---- Nos guides (articles liés) ---- */
.mz-produit__guides {
  margin-block: var(--mz-space-2xl);
}

.mz-produit__guides h2 {
  text-align: center;
  margin-bottom: var(--mz-space-lg);
  font-weight: var(--mz-font-weight-extrabold);
}

/* ---- Scroll offset for anchors (fixed header) ---- */
#avis,
#avis-mezurilo {
  scroll-margin-top: 100px;
}

/* ---- Avis clients ---- */
.mz-produit__avis {
  margin-block: var(--mz-space-2xl);
  scroll-margin-top: 120px;
}

.mz-produit__avis h2 {
  font-weight: var(--mz-font-weight-extrabold);
  margin-bottom: var(--mz-space-lg);
}

.mz-avis__summary {
  margin-bottom: var(--mz-space-lg);
  padding: var(--mz-space-lg);
  background: var(--mz-color-bg-subtle);
  border-radius: var(--mz-radius-lg);
  display: flex;
  align-items: center;
  gap: var(--mz-space-lg);
}

.mz-avis__score-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--mz-space-2xs);
  flex-shrink: 0;
}

.mz-avis__stars-row {
  display: flex;
  align-items: center;
  gap: 2px;
  color: var(--mz-color-stars);
}

.mz-avis__score {
  display: flex;
  align-items: baseline;
  gap: 2px;
}

.mz-avis__score-value {
  font-size: 2rem;
  font-weight: var(--mz-font-weight-extrabold);
  color: var(--mz-color-primary);
  line-height: 1;
}

.mz-avis__score-max {
  font-size: var(--mz-font-size-lg);
  color: var(--mz-color-text-muted);
}

.mz-avis__summary-info {
  display: flex;
  flex-direction: column;
  gap: var(--mz-space-2xs);
}

.mz-avis__count {
  font-size: var(--mz-font-size-md);
  font-weight: var(--mz-font-weight-bold);
  color: var(--mz-color-text);
}

.mz-avis__disclaimer {
  color: var(--mz-color-text-muted);
  font-style: italic;
  font-size: var(--mz-font-size-xs);
}

@media (max-width: 719px) {
  .mz-avis__summary {
    flex-direction: column;
    text-align: center;
    padding: var(--mz-space-md);
  }
}

.mz-avis__list {
  display: flex;
  flex-direction: column;
  gap: var(--mz-space-md);
}

.mz-avis__item {
  padding: var(--mz-space-md);
  border: 1px solid var(--mz-color-border);
  border-radius: var(--mz-radius-md);
}

.mz-avis__header {
  display: flex;
  align-items: center;
  gap: var(--mz-space-sm);
  margin-bottom: var(--mz-space-xs);
}

.mz-avis__stars {
  display: flex;
  gap: 1px;
  color: var(--mz-color-stars);
}

.mz-avis__author {
  font-weight: var(--mz-font-weight-semibold);
  font-size: var(--mz-font-size-sm);
}

.mz-avis__date {
  font-size: var(--mz-font-size-xs);
  color: var(--mz-color-text-muted);
}

.mz-avis__content {
  font-size: var(--mz-font-size-sm);
  line-height: var(--mz-line-height-relaxed);
  color: var(--mz-color-text);
}

.mz-avis__content strong {
  display: block;
  margin-bottom: var(--mz-space-2xs);
}
/**
 * Templates archives : taxonomy + collection — compact e-commerce style.
 */

.mz-template-archive-produits {
  max-width: var(--mz-container-max);
  margin-inline: auto;
}

/* ---- Top 3 — overrides dans _product.css ---- */

/* ---- Header archive (titre + intro) ---- */
.mz-archive__header {
  margin-block: var(--mz-space-xs) var(--mz-space-sm);
}

.mz-archive__title {
  font-size: var(--mz-font-size-lg);
  margin-bottom: 4px;
  line-height: var(--mz-line-height-tight);
}

.mz-archive__grid-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--mz-space-md);
  margin: var(--mz-space-md) 0 4px;
  flex-wrap: wrap;
}
.mz-archive__grid-title {
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--mz-color-text-secondary, #555);
  margin: 0;
}
.mz-archive__grid-header .mz-archive-toolbar {
  margin: 0;
}

.mz-archive__intro {
  color: var(--mz-color-text-secondary);
  font-size: var(--mz-font-size-sm);
  line-height: var(--mz-line-height-relaxed);
  max-width: 100%;
}

.mz-archive__empty {
  text-align: center;
  padding: var(--mz-space-2xl);
  background: var(--mz-color-bg-subtle);
  border-radius: var(--mz-radius-md);
  color: var(--mz-color-text-muted);
}

/* ---- Pagination ---- */
.mz-pagination {
  display: flex;
  justify-content: center;
  gap: var(--mz-space-xs);
  margin-block: var(--mz-space-lg);
}

.mz-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  padding: 0 var(--mz-space-sm);
  border: 1px solid var(--mz-color-border);
  border-radius: var(--mz-radius-sm);
  text-decoration: none;
  color: var(--mz-color-text);
  font-size: var(--mz-font-size-sm);
  font-weight: var(--mz-font-weight-semibold);
  transition: all var(--mz-transition-fast);
}

.mz-pagination .page-numbers:hover {
  border-color: var(--mz-color-primary);
  color: var(--mz-color-primary);
}

.mz-pagination .page-numbers.current {
  background: var(--mz-color-primary);
  color: #fff;
  border-color: var(--mz-color-primary);
}

/* ---- Sections editoriales EEAT sur collections ---- */
.mz-collection__editorial {
  display: flex;
  flex-direction: column;
  gap: var(--mz-space-2xl);
  margin-top: var(--mz-space-2xl);
  padding-top: var(--mz-space-xl);
  border-top: 1px solid var(--mz-color-border);
}

.mz-collection__editorial .mz-editorial-block {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--mz-space-lg);
  align-items: start;
}

/* Avec image : 2 colonnes côte à côte */
@media (min-width: 720px) {
  .mz-collection__editorial .mz-editorial-block:has(.mz-editorial-block__image) {
    grid-template-columns: 1fr 1fr;
  }
  .mz-collection__editorial .mz-editorial--reverse .mz-editorial-block__image {
    order: 2;
  }
}

/* Sans image : texte pleine largeur, max-width pour lisibilité */
.mz-collection__editorial .mz-editorial-block__text {
  max-width: 100%;
}

.mz-collection__editorial .mz-editorial-block__image img {
  width: 100%;
  height: auto;
  border-radius: var(--mz-radius-lg);
  object-fit: cover;
  max-height: 360px;
}

.mz-collection__editorial .mz-editorial-block__text h2 {
  margin-top: 0;
  font-size: var(--mz-font-size-xl);
  color: var(--mz-color-text);
  line-height: var(--mz-line-height-tight);
}

.mz-collection__editorial .mz-editorial-block__text p {
  color: var(--mz-color-text-secondary);
  font-size: var(--mz-font-size-sm);
  line-height: var(--mz-line-height-relaxed);
}

.mz-collection__editorial .mz-editorial-block__text ul,
.mz-collection__editorial .mz-editorial-block__text ol {
  color: var(--mz-color-text-secondary);
  font-size: var(--mz-font-size-sm);
  line-height: var(--mz-line-height-relaxed);
  padding-left: var(--mz-space-lg);
}

.mz-collection__editorial .mz-editorial-block__text li {
  margin-bottom: var(--mz-space-xs);
}

/* ---- FAQ sur collections ---- */
.mz-collection__faq {
  margin-top: var(--mz-space-2xl);
  padding-top: var(--mz-space-xl);
  border-top: 1px solid var(--mz-color-border);
}

.mz-collection__faq-title {
  text-align: center;
  font-size: var(--mz-font-size-xl);
  margin-bottom: var(--mz-space-lg);
}

/* ---- Section titre generique ---- */
.mz-collection__section-title {
  text-align: center;
  font-size: var(--mz-font-size-xl);
  margin-bottom: var(--mz-space-lg);
}

/* ---- Marques circulaires ---- */
.mz-collection__brands {
  margin-top: var(--mz-space-2xl);
  padding-top: var(--mz-space-xl);
  border-top: 1px solid var(--mz-color-border);
}

.mz-brands-circle-grid {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: var(--mz-space-lg);
}

.mz-brand-circle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 130px;
  height: 130px;
  border-radius: 50%;
  border: 2px solid var(--mz-color-border);
  background: var(--mz-color-bg);
  overflow: hidden;
  transition: border-color var(--mz-transition-fast), box-shadow var(--mz-transition-fast);
  text-decoration: none;
  padding: 18px;
}

.mz-brand-circle:hover {
  border-color: var(--mz-color-primary);
  box-shadow: var(--mz-shadow-md);
  text-decoration: none;
}

.mz-brand-circle img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.mz-brand-circle__name {
  font-size: 0.6rem;
  font-weight: var(--mz-font-weight-bold);
  color: var(--mz-color-text);
  text-align: center;
  line-height: 1.2;
}

@media (min-width: 720px) {
  .mz-brand-circle {
    width: 140px;
    height: 140px;
  }
}
/**
 * Template page-marques.php : vitrine des marques (grid cartes).
 */

.mz-template-marques {
  max-width: var(--mz-container-max);
  margin-inline: auto;
  padding-inline: var(--mz-container-gutter);
  padding-block: var(--mz-space-xl);
}

.mz-marques__header {
  text-align: center;
  margin-bottom: var(--mz-space-2xl);
}

.mz-marques__title {
  font-size: var(--mz-font-size-3xl);
  margin-bottom: var(--mz-space-md);
  color: var(--mz-color-primary);
}

.mz-marques__intro {
  text-align: left;
  font-size: 15px;
  line-height: 1.7;
}
.mz-marques__intro p {
  font-size: 15px;
  line-height: 1.7;
}

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

/* ---- Grid marques ---- */
.mz-marques__grid {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--mz-space-lg);
}

@media (min-width: 720px) {
  .mz-marques__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (min-width: 1024px) {
  .mz-marques__grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

.mz-marques__item {
  margin: 0;
}

.mz-marques__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--mz-space-md);
  padding: var(--mz-space-lg);
  background-color: var(--mz-color-bg);
  border: 1px solid var(--mz-color-border);
  border-radius: var(--mz-radius-md);
  text-decoration: none;
  color: inherit;
  transition: transform var(--mz-transition-fast), box-shadow var(--mz-transition-fast), border-color var(--mz-transition-fast);
  height: 100%;
}

.mz-marques__card:hover {
  transform: translateY(-3px);
  box-shadow: var(--mz-shadow-md);
  border-color: var(--mz-color-primary);
  color: inherit;
}

.mz-marques__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 120px;
  background-color: transparent;
  border-radius: var(--mz-radius-sm);
  padding: var(--mz-space-md);
}

.mz-marques__logo img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
}

.mz-marques__name-fallback {
  font-size: var(--mz-font-size-xl);
  font-weight: var(--mz-font-weight-bold);
  color: var(--mz-color-primary);
}

.mz-marques__meta {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 4px;
}

.mz-marques__name {
  font-size: var(--mz-font-size-base);
  font-weight: var(--mz-font-weight-semibold);
  color: var(--mz-color-text);
}

.mz-marques__count {
  font-size: var(--mz-font-size-sm);
  color: var(--mz-color-text-secondary);
}
/**
 * Templates contenus editoriaux : single.php (article) + page-info.php.
 */

/* Articles : largeur container max (identique produit/page-info).
   Le contenu textuel (.mz-article__content) garde une largeur de lecture
   confortable, le header/cover/TOC peuvent etre plus larges. */
.mz-template-article {
  max-width: var(--mz-container-max);
  margin-inline: auto;
  padding-inline: var(--mz-container-gutter);
}
.mz-article__content {
  max-width: 100%;
}
/* Pages info (policies, FAQ, hypertension, contact) : largeur container max
   identique aux pages produit (--mz-container-max = 1400px) */
.mz-template-page-info {
  max-width: var(--mz-container-max);
  margin-inline: auto;
  padding-inline: var(--mz-container-gutter);
}

.mz-article__header,
.mz-page-info__header {
  margin-block: var(--mz-space-xl);
}

.mz-article__title,
.mz-page-info__title {
  font-size: var(--mz-font-size-lg);
  line-height: var(--mz-line-height-tight);
  margin-bottom: var(--mz-space-md);
}

.mz-article__meta {
  font-size: var(--mz-font-size-sm);
  color: var(--mz-color-text-secondary);
  margin: 0;
}

.mz-article__cover {
  margin-block: var(--mz-space-lg);
  max-height: 400px;
  overflow: hidden;
  border-radius: var(--mz-radius-md);
}

.mz-article__cover img {
  width: 100%;
  height: auto;
  border-radius: var(--mz-radius-md);
  object-fit: cover;
}

.mz-article__content,
.mz-page-info__content {
  font-size: var(--mz-font-size-sm);
  line-height: var(--mz-line-height-relaxed);
}

.mz-article__content h2,
.mz-article__content h3,
.mz-page-info__content h2,
.mz-page-info__content h3 {
  font-size: var(--mz-font-size-xl);
  margin-top: var(--mz-space-2xl);
  margin-bottom: var(--mz-space-md);
}

.mz-article__content p,
.mz-page-info__content p {
  margin-block: var(--mz-space-md);
}

.mz-article__content img,
.mz-page-info__content img {
  max-width: 100%;
  height: auto;
  border-radius: var(--mz-radius-sm);
  margin-block: var(--mz-space-md);
}

.mz-article__content blockquote,
.mz-page-info__content blockquote {
  border-left: 4px solid var(--mz-color-primary);
  padding-left: var(--mz-space-lg);
  margin-block: var(--mz-space-lg);
  color: var(--mz-color-text-secondary);
  font-style: italic;
}

.mz-article__content ul,
.mz-article__content ol,
.mz-page-info__content ul,
.mz-page-info__content ol {
  padding-left: var(--mz-space-xl);
  margin-block: var(--mz-space-md);
}

.mz-article__content li,
.mz-page-info__content li {
  margin-block: var(--mz-space-xs);
}
/**
 * Outil d'aide au choix (P7).
 */

/* Masquer le bandeau réassurance sur la page outil */
.page-template-page-outil-choix .mz-reassurance-bar {
  display: none;
}

/* Forcer le site-main à prendre toute la largeur */
.page-template-page-outil-choix .site-content {
  display: block !important;
}
.page-template-page-outil-choix .site-content .content-area,
.page-template-page-outil-choix #primary {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
}
.page-template-page-outil-choix .inside-article {
  max-width: 100% !important;
  padding: 0 !important;
}

.mz-template-outil-choix {
  max-width: 800px;
  width: 100%;
  margin-inline: auto;
  padding-inline: var(--mz-container-gutter);
  padding-block: var(--mz-space-2xl);
  text-align: center;
  transition: max-width 0.3s ease;
}

.mz-template-outil-choix.has-results {
  max-width: var(--mz-container-max);
}

.mz-template-outil-choix.has-results [data-mz-outil] {
  box-shadow: none;
  padding: var(--mz-space-md) 0;
}

.mz-outil-choix__header h1 {
  font-size: var(--mz-font-size-2xl);
  margin: 0 0 var(--mz-space-xs);
}

.mz-outil-choix__intro {
  color: var(--mz-color-text-secondary);
  font-size: var(--mz-font-size-sm);
  margin-bottom: var(--mz-space-md);
}

.mz-outil-choix__tabs {
  display: inline-flex;
  gap: 0;
  margin-block: var(--mz-space-lg);
  background: var(--mz-color-bg-alt);
  border-radius: var(--mz-radius-lg);
  padding: 4px;
}

.mz-outil-choix__tab {
  padding: var(--mz-space-xs) var(--mz-space-lg);
  font-family: var(--mz-font-family);
  font-weight: var(--mz-font-weight-semibold);
  font-size: var(--mz-font-size-sm);
  color: var(--mz-color-text-secondary);
  text-decoration: none;
  border-radius: var(--mz-radius-md);
  transition: all var(--mz-transition-fast);
}

.mz-outil-choix__tab:hover {
  color: var(--mz-color-primary);
  text-decoration: none;
}

.mz-outil-choix__tab.is-active {
  color: #fff;
  background: var(--mz-color-primary);
}

[data-mz-outil] {
  background: var(--mz-color-bg);
  border: none;
  border-radius: var(--mz-radius-lg);
  padding: var(--mz-space-xl);
  min-height: 320px;
  box-shadow: 0 4px 24px rgba(0,0,0,0.06);
}

.mz-outil__progress {
  margin-bottom: var(--mz-space-lg);
  font-size: var(--mz-font-size-xs);
  color: var(--mz-color-text-muted);
}

.mz-outil__bar {
  margin-top: var(--mz-space-xs);
  height: 4px;
  background-color: var(--mz-color-bg-alt);
  border-radius: var(--mz-radius-sm);
  overflow: hidden;
}

.mz-outil__bar > div {
  height: 100%;
  background: linear-gradient(90deg, var(--mz-color-primary), var(--mz-color-secondary));
  border-radius: var(--mz-radius-sm);
  transition: width var(--mz-transition-base);
}

.mz-outil__step h2 {
  font-size: var(--mz-font-size-lg);
  margin-block: 0 var(--mz-space-lg);
  text-align: center;
}

.mz-outil__options {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--mz-space-sm);
  margin-bottom: var(--mz-space-md);
  text-align: left;
}

@media (min-width: 480px) {
  .mz-outil__options {
    grid-template-columns: repeat(2, 1fr);
  }
}

.mz-outil__option {
  padding: var(--mz-space-md) var(--mz-space-lg);
  background-color: var(--mz-color-bg);
  color: var(--mz-color-text);
  border: 2px solid var(--mz-color-border);
  border-radius: var(--mz-radius-lg);
  font-family: var(--mz-font-family);
  font-size: var(--mz-font-size-sm);
  font-weight: var(--mz-font-weight-semibold);
  text-align: center;
  cursor: pointer;
  transition: all var(--mz-transition-fast);
}

.mz-outil__option:hover,
.mz-outil__option:focus-visible {
  border-color: var(--mz-color-primary);
  background: linear-gradient(135deg, rgba(229,25,101,0.04), rgba(72,28,75,0.04));
  color: var(--mz-color-primary);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(229,25,101,0.1);
}

.mz-outil__back {
  margin-top: var(--mz-space-md);
  display: inline-flex;
  align-items: center;
  gap: var(--mz-space-xs);
  color: var(--mz-color-text-secondary);
  font-size: var(--mz-font-size-sm);
  cursor: pointer;
  background: none;
  border: none;
  font-family: var(--mz-font-family);
}

.mz-outil__back:hover {
  color: var(--mz-color-primary);
}

.mz-outil__loading {
  text-align: center;
  padding: var(--mz-space-2xl);
  color: var(--mz-color-text-secondary);
  font-style: italic;
}

/* Résultats : sortir du conteneur étroit */
.mz-outil__results {
  max-width: var(--mz-container-max);
  margin-inline: auto;
}

.mz-outil__results h2 {
  text-align: center;
  margin-bottom: var(--mz-space-sm);
}

.mz-outil__count {
  text-align: center;
  color: var(--mz-color-text-secondary);
  font-size: var(--mz-font-size-sm);
  margin-bottom: var(--mz-space-lg);
}

.mz-outil__results .mz-product-grid {
  grid-template-columns: repeat(2, 1fr);
}

@media (min-width: 720px) {
  .mz-outil__results .mz-product-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.mz-outil__results .mz-product-card {
  text-align: center;
}

.mz-outil__results .mz-product-card__image {
  max-height: 160px;
  object-fit: contain;
  margin: 0 auto;
}

.mz-outil__results .mz-product-card__note {
  display: inline-block;
  background: var(--mz-color-primary);
  color: #fff;
  padding: 2px 10px;
  border-radius: 20px;
  font-size: var(--mz-font-size-sm);
  font-weight: var(--mz-font-weight-bold);
}

.mz-outil__results .mz-product-card__price {
  color: var(--mz-color-primary);
  font-weight: var(--mz-font-weight-bold);
  font-size: var(--mz-font-size-sm);
  margin-top: var(--mz-space-xs);
}

.mz-outil__actions {
  margin-top: var(--mz-space-lg);
  text-align: center;
}

/* ---- CTA reutilisable (home, archives) ---- */
.mz-outil-cta {
  background: linear-gradient(135deg, var(--mz-color-bg-subtle), var(--mz-color-bg-alt));
  border-radius: var(--mz-radius-lg);
  padding: var(--mz-space-lg) var(--mz-space-xl);
  margin-block: var(--mz-space-xl);
  border: 1px solid var(--mz-color-border);
}

.mz-outil-cta__inner {
  display: flex;
  flex-direction: column;
  gap: var(--mz-space-md);
  align-items: stretch;
}

@media (min-width: 720px) {
  .mz-outil-cta__inner {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: var(--mz-space-xl);
  }
}

.mz-outil-cta__title {
  margin: 0 0 var(--mz-space-2xs);
  color: var(--mz-color-primary);
  font-size: var(--mz-font-size-lg);
}

.mz-outil-cta__desc {
  margin: 0;
  color: var(--mz-color-text-secondary);
}
/**
 * Templates search.php + 404.php + enrichissements article (TOC, share, reading time).
 */

/* ---- Search results page ---- */
.mz-template-search {
  max-width: 900px;
  margin-inline: auto;
  padding-inline: var(--mz-container-gutter);
  padding-block: var(--mz-space-xl);
}

.mz-search-page__header {
  margin-bottom: var(--mz-space-xl);
}

.mz-search-page__header h1 {
  font-size: var(--mz-font-size-2xl);
  margin-bottom: var(--mz-space-xs);
}

.mz-search-page__header em {
  color: var(--mz-color-primary);
  font-style: normal;
}

.mz-search-page__count {
  color: var(--mz-color-text-secondary);
  font-size: var(--mz-font-size-sm);
}

.mz-search-page__results {
  display: flex;
  flex-direction: column;
  gap: var(--mz-space-md);
}

.mz-search-result-item {
  background: var(--mz-color-bg);
  border: 1px solid var(--mz-color-border);
  border-radius: var(--mz-radius-md);
  overflow: hidden;
  transition: border-color var(--mz-transition-fast);
}

.mz-search-result-item:hover {
  border-color: var(--mz-color-primary);
}

.mz-search-result-item__link {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: var(--mz-space-md);
  text-decoration: none;
  color: inherit;
  padding: var(--mz-space-md);
  align-items: start;
}

@media (max-width: 719px) {
  .mz-search-result-item__link {
    grid-template-columns: 1fr;
  }
}

.mz-search-result-item__image {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  background: var(--mz-color-bg-subtle);
  border-radius: var(--mz-radius-sm);
}

.mz-search-result-item__type {
  font-size: var(--mz-font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--mz-color-primary);
  font-weight: var(--mz-font-weight-bold);
}

.mz-search-result-item__title {
  font-size: var(--mz-font-size-lg);
  margin: var(--mz-space-2xs) 0 var(--mz-space-xs);
}

.mz-search-result-item__excerpt {
  color: var(--mz-color-text-secondary);
  margin: 0;
  font-size: var(--mz-font-size-sm);
}

.mz-search-page__empty {
  text-align: center;
  padding: var(--mz-space-3xl);
  background: var(--mz-color-bg-subtle);
  border-radius: var(--mz-radius-lg);
}

/* ---- 404 page ---- */
.error404 #page,
.error404 .site-content,
.error404 .content-area,
.error404 .site-main {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}

.mz-template-404 {
  max-width: 560px;
  margin: 0 auto;
  padding: var(--mz-space-xl) var(--mz-container-gutter) var(--mz-space-3xl);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: calc(100vh - 200px);
}

.mz-404__icon {
  color: var(--mz-color-primary);
  opacity: 0.3;
  margin-bottom: var(--mz-space-sm);
}

.mz-404__title {
  font-size: clamp(72px, 12vw, 120px);
  line-height: 1;
  color: var(--mz-color-primary);
  margin: 0;
  font-weight: var(--mz-font-weight-extrabold);
  letter-spacing: -0.03em;
}

.mz-404__subtitle {
  font-size: var(--mz-font-size-lg);
  color: var(--mz-color-text-secondary);
  margin-block: var(--mz-space-sm) var(--mz-space-xl);
}

.mz-404__suggestions {
  background: var(--mz-color-bg-subtle);
  padding: var(--mz-space-lg) var(--mz-space-xl);
  border-radius: var(--mz-radius-lg);
  margin-bottom: var(--mz-space-md);
}

.mz-404__suggestions-title {
  font-size: var(--mz-font-size-base);
  font-weight: var(--mz-font-weight-semibold);
  color: var(--mz-color-text);
  margin: 0 0 var(--mz-space-md);
}

.mz-404__links {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--mz-space-xs);
}

@media (min-width: 480px) {
  .mz-404__links {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 640px) {
  .mz-404__links {
    grid-template-columns: repeat(3, 1fr);
  }
}

.mz-404__link {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--mz-space-sm) var(--mz-space-md);
  background: var(--mz-color-bg);
  border: 2px solid var(--mz-color-border);
  border-radius: var(--mz-radius-md);
  color: var(--mz-color-text);
  text-decoration: none;
  font-size: var(--mz-font-size-sm);
  font-weight: var(--mz-font-weight-semibold);
  transition: all var(--mz-transition-fast);
}

.mz-404__link:hover,
.mz-404__link:focus {
  border-color: var(--mz-color-primary);
  background: var(--mz-color-primary);
  color: #fff;
}

.mz-404__or {
  color: var(--mz-color-text-muted);
  font-size: var(--mz-font-size-sm);
  margin-block: var(--mz-space-sm);
}

.mz-404__search {
  display: flex;
  gap: var(--mz-space-sm);
  max-width: 420px;
  margin-inline: auto;
}

.mz-404__search input {
  flex: 1;
  padding: var(--mz-space-sm) var(--mz-space-md);
  border: 2px solid var(--mz-color-border);
  border-radius: var(--mz-radius-sm);
  font-family: var(--mz-font-family);
  font-size: var(--mz-font-size-sm);
}

.mz-404__search input:focus {
  outline: none;
  border-color: var(--mz-color-primary);
}

/* ---- TOC dans articles ---- */
.mz-toc {
  background: var(--mz-color-bg-subtle);
  border-left: 4px solid var(--mz-color-primary);
  padding: var(--mz-space-lg);
  margin: var(--mz-space-md) 0 var(--mz-space-lg);
  border-radius: var(--mz-radius-md);
}

.mz-toc__title {
  font-size: var(--mz-font-size-md);
  margin: 0 0 var(--mz-space-sm);
  color: var(--mz-color-primary);
}

.mz-toc ol {
  margin: 0;
  padding-left: var(--mz-space-xl);
}

.mz-toc a {
  color: var(--mz-color-text);
  text-decoration: none;
}

.mz-toc a:hover {
  color: var(--mz-color-primary);
  text-decoration: underline;
}

/* ---- Reading time ---- */
.mz-article__reading-time {
  font-size: var(--mz-font-size-sm);
  color: var(--mz-color-text-muted);
  margin-bottom: var(--mz-space-md);
}

/* ---- Share buttons ---- */
.mz-share {
  display: flex;
  align-items: center;
  gap: var(--mz-space-xs);
  margin-block: var(--mz-space-xl);
  padding-block: var(--mz-space-md);
  border-block: 1px solid var(--mz-color-border);
}

.mz-share__label {
  font-weight: var(--mz-font-weight-semibold);
  color: var(--mz-color-text-secondary);
  margin-right: var(--mz-space-sm);
}

.mz-share__btn {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--mz-color-bg-subtle);
  color: var(--mz-color-text);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-weight: var(--mz-font-weight-bold);
  font-size: var(--mz-font-size-sm);
  transition: all var(--mz-transition-fast);
}

.mz-share__btn:hover {
  background: var(--mz-color-primary);
  color: var(--mz-color-text-inverse);
  text-decoration: none;
}

/* ---- Floating price widget ---- */

/* Mobile first: barre en bas */
.mz-float-prix {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 999;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 12px;
  background: #fff;
  border-top: 2px solid var(--mz-color-primary, #6b1f6b);
  padding: 10px 16px;
  box-shadow: 0 -4px 20px rgba(0,0,0,.12);
  cursor: pointer;
  opacity: 0;
  transform: translateY(100%);
  transition: opacity .3s, transform .3s;
  pointer-events: none;
}
.mz-float-prix--visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.mz-float-prix__logos {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
}
.mz-float-prix__logos img {
  width: 30px;
  height: auto;
  object-fit: contain;
}
.mz-float-prix__price {
  font-size: 1.15rem;
  font-weight: 800;
  color: var(--mz-color-primary, #6b1f6b);
  line-height: 1.1;
}
.mz-float-prix__label {
  font-size: .6rem;
  color: var(--mz-color-text-muted, #888);
  text-transform: uppercase;
  letter-spacing: .04em;
}
.mz-float-prix:hover {
  border-color: var(--mz-color-accent, #e8a500);
}

/* ---- Modal prix ---- */
.mz-modal-prix {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  pointer-events: none;
  opacity: 0;
  transition: opacity .25s;
}
.mz-modal-prix[aria-hidden="false"] {
  pointer-events: auto;
  opacity: 1;
}
.mz-modal-prix__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.45);
}
.mz-modal-prix__content {
  position: relative;
  background: #fff;
  border-radius: 16px 16px 0 0;
  padding: 24px 20px 32px;
  width: 100%;
  max-width: 520px;
  max-height: 80vh;
  overflow-y: auto;
  transform: translateY(100%);
  transition: transform .3s cubic-bezier(.22,1,.36,1);
}
.mz-modal-prix[aria-hidden="false"] .mz-modal-prix__content {
  transform: translateY(0);
}
.mz-modal-prix__close {
  position: absolute;
  top: 12px;
  right: 16px;
  background: none;
  border: none;
  font-size: 1.6rem;
  cursor: pointer;
  color: var(--mz-color-text-muted);
  line-height: 1;
  padding: 4px;
}
.mz-modal-prix__close:hover {
  color: var(--mz-color-text);
}
.mz-modal-prix__title {
  font-size: 1.1rem;
  font-weight: 700;
  margin: 0 0 16px;
}
.mz-modal-prix .mz-marchands {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* Desktop: modal centree */
@media (min-width: 768px) {
  .mz-modal-prix {
    align-items: center;
  }
  .mz-modal-prix__content {
    border-radius: 16px;
    transform: translateY(40px) scale(.96);
  }
  .mz-modal-prix[aria-hidden="false"] .mz-modal-prix__content {
    transform: translateY(0) scale(1);
  }
  .mz-float-prix {
    bottom: auto;
    left: auto;
    top: 50%;
    right: 0;
    flex-direction: column;
    border-top: none;
    border: 2px solid var(--mz-color-primary, #6b1f6b);
    border-right: none;
    border-radius: 12px 0 0 12px;
    padding: 20px 14px;
    gap: 12px;
    box-shadow: -4px 0 20px rgba(0,0,0,.12);
    transform: translate(100%, -50%);
  }
  .mz-float-prix--visible {
    transform: translate(0, -50%);
  }
  .mz-float-prix__logos {
    flex-direction: column;
    gap: 12px;
  }
  .mz-float-prix__logos img {
    width: 36px;
    height: auto;
    object-fit: contain;
  }
  .mz-float-prix:hover {
    box-shadow: -6px 0 24px rgba(0,0,0,.18);
  }
}

/* ==========================================================================
   MEGA MENU — "Nos produits" (#menu-item-942) & "Guides sante" (#menu-item-943)
   Override Superfish (sf-menu) dropdowns into full-width mega menu columns.
   ========================================================================== */

/* ---------- DESKTOP (min-width: 1024px) ---------- */
@media (min-width: 1024px) {

  /* --- Container: full-width panel under navbar --- */
  #menu-item-942 {
    position: static !important; /* positioning context = nav bar */
  }

  #menu-item-942 > ul.sub-menu {
    /* Reset Superfish */
    display: none !important;
    visibility: visible !important;
    opacity: 1 !important;
    clip: auto !important;
    overflow: visible !important;
    height: auto !important;
    transition: none !important;

    /* Full-width panel flush under the nav bar */
    position: absolute !important;
    top: 100% !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin: 0 !important;
    padding: 0 !important;

    /* Layout: 3-column grid */
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
    gap: 0 !important;

    /* Visual */
    background: #fff !important;
    border-top: 2px solid var(--mz-color-primary) !important;
    border-radius: 0 !important;
    box-shadow: 0 8px 30px rgba(0,0,0,.12) !important;
    z-index: 9999 !important;
  }

  /* Show on hover */
  #menu-item-942:hover > ul.sub-menu,
  #menu-item-942.sfHover > ul.sub-menu {
    display: flex !important;
  }


  /* Inner wrapper: constrain columns to container width */
  #menu-item-942 > ul.sub-menu::before,
  #menu-item-942 > ul.sub-menu::after {
    display: none !important; /* kill clearfix pseudo-elements */
  }

  /* --- Level 2 items = columns (Tensiometres, Oxymetres, Thermometres) --- */
  #menu-item-942 > ul.sub-menu > li {
    flex: 1 1 0 !important;
    max-width: 400px !important;
    padding: var(--mz-space-lg) var(--mz-space-xl) var(--mz-space-xl) !important;
    border-left: none !important;
    border-bottom: none !important;
    list-style: none !important;
    position: relative !important;
  }

  /* Vertical separator between columns */
  #menu-item-942 > ul.sub-menu > li + li {
    border-left: 1px solid var(--mz-color-border) !important;
  }

  /* Column heading (link to collection) */
  #menu-item-942 > ul.sub-menu > li > a {
    display: block !important;
    padding: 0 0 var(--mz-space-sm) 0 !important;
    margin-bottom: var(--mz-space-sm) !important;
    font-family: var(--mz-font-family) !important;
    font-size: var(--mz-font-size-base) !important;
    font-weight: var(--mz-font-weight-bold) !important;
    color: var(--mz-color-secondary) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    border-bottom: 2px solid var(--mz-color-primary) !important;
    background: transparent !important;
    white-space: normal !important;
    line-height: var(--mz-line-height-tight) !important;
  }

  #menu-item-942 > ul.sub-menu > li > a:hover {
    color: var(--mz-color-primary) !important;
    background: transparent !important;
  }

  /* --- Level 3: sub-links displayed as flat list (NOT fly-out) --- */
  #menu-item-942 .sub-menu .sub-menu {
    position: static !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    border-top: none !important;
    box-shadow: none !important;
    background: transparent !important;
    float: none !important;
    clip: auto !important;
    overflow: visible !important;
    height: auto !important;
    transform: none !important;
    transition: none !important;
  }

  #menu-item-942 .sub-menu .sub-menu li {
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #menu-item-942 .sub-menu .sub-menu li a {
    display: block !important;
    padding: 6px 0 6px 0 !important;
    font-size: var(--mz-font-size-sm) !important;
    font-weight: var(--mz-font-weight-normal) !important;
    color: var(--mz-color-text-secondary) !important;
    background: transparent !important;
    white-space: normal !important;
    transition: color var(--mz-transition-fast), padding-left var(--mz-transition-fast) !important;
  }

  #menu-item-942 .sub-menu .sub-menu li a:hover {
    color: var(--mz-color-primary) !important;
    padding-left: 6px !important;
    background: transparent !important;
  }

  /* --- Separator "Par type" / "Par marque" inside Tensiometres column --- */
  /* Items 905-907 = "Par type", Items 908-911 = "Par marque" */
  /* Label before first "Par type" item */
  #menu-item-898 > ul.sub-menu > li#menu-item-905::before {
    content: "Par type" !important;
    display: block !important;
    font-family: var(--mz-font-family) !important;
    font-size: var(--mz-font-size-xs) !important;
    font-weight: var(--mz-font-weight-semibold) !important;
    color: var(--mz-color-text-muted) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    padding: var(--mz-space-xs) 0 var(--mz-space-2xs) 0 !important;
    margin: 0 !important;
  }

  /* Separator + label before first "Par marque" item */
  #menu-item-898 > ul.sub-menu > li#menu-item-908::before {
    content: "Par marque" !important;
    display: block !important;
    font-family: var(--mz-font-family) !important;
    font-size: var(--mz-font-size-xs) !important;
    font-weight: var(--mz-font-weight-semibold) !important;
    color: var(--mz-color-text-muted) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    padding: var(--mz-space-sm) 0 var(--mz-space-2xs) 0 !important;
    margin-top: var(--mz-space-xs) !important;
    border-top: 1px solid var(--mz-color-border) !important;
  }

  /* --- Same approach for Oxymetres (all are brands, add "Par marque" label) --- */
  #menu-item-899 > ul.sub-menu > li#menu-item-912::before {
    content: "Par marque" !important;
    display: block !important;
    font-family: var(--mz-font-family) !important;
    font-size: var(--mz-font-size-xs) !important;
    font-weight: var(--mz-font-weight-semibold) !important;
    color: var(--mz-color-text-muted) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    padding: var(--mz-space-xs) 0 var(--mz-space-2xs) 0 !important;
    margin: 0 !important;
  }

  /* --- Same approach for Thermometres (all are brands) --- */
  #menu-item-900 > ul.sub-menu > li#menu-item-915::before {
    content: "Par marque" !important;
    display: block !important;
    font-family: var(--mz-font-family) !important;
    font-size: var(--mz-font-size-xs) !important;
    font-weight: var(--mz-font-weight-semibold) !important;
    color: var(--mz-color-text-muted) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    padding: var(--mz-space-xs) 0 var(--mz-space-2xs) 0 !important;
    margin: 0 !important;
  }

  /* Hide Superfish arrows on mega menu level-2 items */
  #menu-item-942 > ul.sub-menu > li > a .dropdown-menu-toggle {
    display: none !important;
  }


  /* ==========================================================================
     MEGA MENU — "Guides sante" (#menu-item-943) — same treatment
     ========================================================================== */

  #menu-item-943 {
    position: static !important;
  }

  #menu-item-943 > ul.sub-menu {
    display: none !important;
    visibility: visible !important;
    opacity: 1 !important;
    clip: auto !important;
    overflow: visible !important;
    height: auto !important;
    transition: none !important;

    position: absolute !important;
    top: 100% !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin: 0 !important;
    padding: 0 !important;

    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 0 !important;

    background: #fff !important;
    border-top: 2px solid var(--mz-color-primary) !important;
    border-radius: 0 !important;
    box-shadow: 0 8px 30px rgba(0,0,0,.12) !important;
    z-index: 9999 !important;
  }

  #menu-item-943:hover > ul.sub-menu,
  #menu-item-943.sfHover > ul.sub-menu {
    display: flex !important;
  }

  #menu-item-943 > ul.sub-menu::before,
  #menu-item-943 > ul.sub-menu::after {
    display: none !important;
  }

  #menu-item-943 > ul.sub-menu > li {
    flex: 1 1 0 !important;
    max-width: 400px !important;
    padding: var(--mz-space-lg) var(--mz-space-xl) var(--mz-space-xl) !important;
    border-left: none !important;
    border-bottom: none !important;
    list-style: none !important;
    position: relative !important;
  }

  #menu-item-943 > ul.sub-menu > li + li {
    border-left: 1px solid var(--mz-color-border) !important;
  }

  #menu-item-943 > ul.sub-menu > li > a {
    display: block !important;
    padding: 0 0 var(--mz-space-sm) 0 !important;
    margin-bottom: var(--mz-space-sm) !important;
    font-family: var(--mz-font-family) !important;
    font-size: var(--mz-font-size-base) !important;
    font-weight: var(--mz-font-weight-bold) !important;
    color: var(--mz-color-secondary) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    border-bottom: 2px solid var(--mz-color-primary) !important;
    background: transparent !important;
    white-space: normal !important;
    line-height: var(--mz-line-height-tight) !important;
  }

  #menu-item-943 > ul.sub-menu > li > a:hover {
    color: var(--mz-color-primary) !important;
    background: transparent !important;
  }

  #menu-item-943 .sub-menu .sub-menu {
    position: static !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    border-top: none !important;
    box-shadow: none !important;
    background: transparent !important;
    float: none !important;
    clip: auto !important;
    overflow: visible !important;
    height: auto !important;
    transform: none !important;
    transition: none !important;
  }

  #menu-item-943 .sub-menu .sub-menu li {
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #menu-item-943 .sub-menu .sub-menu li a {
    display: block !important;
    padding: 6px 0 6px 0 !important;
    font-size: var(--mz-font-size-sm) !important;
    font-weight: var(--mz-font-weight-normal) !important;
    color: var(--mz-color-text-secondary) !important;
    background: transparent !important;
    white-space: normal !important;
    transition: color var(--mz-transition-fast), padding-left var(--mz-transition-fast) !important;
  }

  #menu-item-943 .sub-menu .sub-menu li a:hover {
    color: var(--mz-color-primary) !important;
    padding-left: 6px !important;
    background: transparent !important;
  }

  #menu-item-943 > ul.sub-menu > li > a .dropdown-menu-toggle {
    display: none !important;
  }

} /* end @media (min-width: 1024px) */


/* ---------- MOBILE MEGA MENU (max-width: 1023px) ---------- */
@media (max-width: 1023px) {

  /* Disable mega menu overrides on mobile — let GeneratePress handle the accordion */
  #menu-item-942 > ul.sub-menu,
  #menu-item-943 > ul.sub-menu {
    position: static !important;
    width: auto !important;
    max-width: none !important;
    transform: none !important;
    box-shadow: none !important;
    border-top: none !important;
    background: transparent !important;
  }

  /* Reset columns to vertical stack */
  #menu-item-942 > ul.sub-menu > li,
  #menu-item-943 > ul.sub-menu > li {
    max-width: none !important;
    padding: 0 !important;
    border-left: none !important;
  }

} /* end @media (max-width: 1023px) */
