/** Shopify CDN: Minification failed

Line 3704:0 Unexpected "}"

**/
/* =============================================================================
   AQUAMERRA - FEUILLE DE STYLES UNIQUE
   =============================================================================
   Regroupe polices, socle, roles, tiroir panier et styles de sections.
   L'ordre ci-dessous est celui de la cascade et ne doit pas changer : les
   selecteurs de section sont a specificite egale avec les primitives du socle,
   c'est leur position qui tranche.

     1. polices     @font-face, servies par le CDN Shopify
     2. socle       tokens de design et primitives partagees
     3. roles       conteneur, grille de blocs
     4. panier      tiroir lateral
     5. sections    styles propres a chaque section
   ============================================================================= */


/* ===================== aquamerra-fonts.css ===================== */

/* =============================================================================
   AQUAMERRA - POLICES HEBERGEES PAR LE THEME
   =============================================================================
   Les polices etaient chargees depuis fonts.googleapis.com : une feuille de
   style externe bloquante, precedee de deux resolutions DNS et deux
   negociations TLS vers des domaines tiers. Le texte ne pouvait pas s'afficher
   avant la fin de cette chaine.

   Elles sont desormais servies par le CDN Shopify, depuis le meme domaine que
   la page. Plus de domaine tiers, plus de feuille bloquante, et les deux
   polices du premier ecran sont prechargees.

   Cormorant Garamond et Plus Jakarta Sans sont sous licence SIL Open Font
   License 1.1, qui autorise l'hebergement sur son propre domaine.
   Sous-ensemble latin (U+0000-00FF), suffisant pour le francais.
   ============================================================================= */

@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('aq-cormorant-garamond-400italic.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('aq-cormorant-garamond-400.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('aq-cormorant-garamond-600.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('aq-cormorant-garamond-700.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('aq-plus-jakarta-sans-400.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('aq-plus-jakarta-sans-500.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('aq-plus-jakarta-sans-600.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('aq-plus-jakarta-sans-700.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}



/* ===================== aquamerra-base.css ===================== */

/* =============================================================================
   AQUAMERRA - SOCLE PARTAGE (design tokens + primitives)
   Charge une seule fois par page via snippets/aquamerra-head.liquid.
   Les sections ne redefinissent plus ces tokens : un seul endroit a editer.
   ============================================================================= */

:root {
  /* Fonds */
  --bg-primary: #FAF7F2;
  --bg-surface: #FFFFFF;
  --bg-sand: #F3EFE9;
  --bg-sand-light: #F8F5F0;

  /* Textes */
  --text-main: #023f58;
  --text-body: #4A5B66;
  --text-muted: #64747E;   /* 4,53:1 sur le fond clair — AA */

  /* Accents */
  --accent-navy: #023f58;
  --accent-navy-hover: #0a5273;
  --accent-blue-deep: #01334a;
  --accent-ocean: #0a4a66;
  --accent-gold: #C29B38;      /* fonds de pastille, sur texte sombre */
  --accent-gold-text: #8A6E28; /* 4,53:1 — quand l or sert de texte */
  --accent-tan-text: #866E4F;  /* 4,51:1 — surtitres en texte courant */
  --accent-teal: #538283;      /* fonds et bordures */
  --accent-teal-text: #4E797A; /* 4,53:1 — quand la teinte sert de texte */
  --accent-teal-dark: #3F6768;
  --border-subtle: #E8E2D8;

  /* Etats */
  --state-success: #1B8A5A;
  --state-error: #B3261E;

  /* Typographie */
  --font-serif: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --font-sans: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  /* Rayons */
  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 20px;
  --radius-xl: 28px;
  --radius-pill: 9999px;

  /* Ombres (etaient utilisees sans jamais etre definies) */
  --shadow-sm: 0 1px 3px rgba(16, 36, 62, 0.06), 0 1px 2px rgba(16, 36, 62, 0.04);
  --shadow-md: 0 4px 16px rgba(16, 36, 62, 0.08), 0 2px 6px rgba(16, 36, 62, 0.04);
  --shadow-lg: 0 12px 40px rgba(16, 36, 62, 0.12), 0 4px 12px rgba(16, 36, 62, 0.06);

  /* Mouvement */
  --transition: transform 0.22s ease, opacity 0.22s ease, background-color 0.22s ease;
}

/* Une section Aquamerra ne doit jamais heriter des marges du theme hote. */
.aq-sec-wrapper {
  width: 100%;
  box-sizing: border-box;
  font-family: var(--font-sans);
}

.aq-sec-wrapper *,
.aq-sec-wrapper *::before,
.aq-sec-wrapper *::after {
  box-sizing: border-box;
}

/* Lecteurs d'ecran uniquement. */
.aq-visually-hidden {
  position: absolute !important;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

/* Encart affiche uniquement dans l'editeur de theme, jamais en boutique. */
.aq-onboarding {
  margin: 0 auto;
  max-width: 720px;
  padding: 28px 32px;
  border: 1px dashed var(--accent-gold);
  border-radius: var(--radius-md);
  background: var(--bg-sand-light);
  color: var(--text-body);
  font-family: var(--font-sans);
  font-size: 14.7px;
  line-height: 1.6;
  text-align: center;
}

.aq-onboarding strong { color: var(--text-main); }

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

/* =============================================================================
   PRIMITIVES PARTAGEES
   =============================================================================
   Ces classes sont utilisees par la plupart des sections mais n'etaient
   definies que dans style.css, le fichier de la maquette statique — que
   Shopify ne charge jamais. Resultat : sur la boutique, les surtitres
   (« NOS ENGAGEMENTS », « AVIS CLIENTS »...), les titres de section, les
   boutons et les conteneurs s'affichaient sans aucun style.

   Tout est porte par `.aq-sec-wrapper` : specificite 0,2,0, donc
   - rien ne fuit vers le theme hote,
   - une regle de section (#aqSec-<id> .classe, 1,1,0) reste prioritaire.

   Chaque propriete lit sa variable de role, avec la valeur d'origine en repli :
   l'apparence est inchangee, et tout devient reglable depuis l'editeur.
   ============================================================================= */

.aq-sec-wrapper .container,
.aq-sec-wrapper .aq-container {
  width: 100%;
  max-width: var(--aq-maxw, 1240px);
  margin: 0 auto;
  padding: 0 var(--aq-gutter, 28px);
}

@media screen and (max-width: 749px) {
  .aq-sec-wrapper .container,
  .aq-sec-wrapper .aq-container {
    padding: 0 var(--aq-gutter-mobile, 20px);
  }
}

/* --------------------------------- Surtitres ------------------------------- */

.aq-sec-wrapper .overline,
.aq-sec-wrapper .overline-light {
  display: inline-block;
  margin-bottom: 10px;
  font-family: var(--aq-ff-overline, var(--font-sans));
  font-size: var(--aq-fs-overline, 11.5px);
  font-weight: var(--aq-fw-overline, 700);
  letter-spacing: var(--aq-ls-overline, 0.16em);
  text-transform: var(--aq-tt-overline, uppercase);
}

.aq-sec-wrapper .overline { color: var(--aq-c-overline, var(--text-muted)); }
.aq-sec-wrapper .overline-light { color: var(--aq-c-overline, rgba(255, 255, 255, 0.82)); }

/* ---------------------------------- Titres --------------------------------- */

.aq-sec-wrapper .section-title {
  font-family: var(--aq-ff-title, var(--font-serif));
  font-size: var(--aq-fs-title, 40px);
  font-weight: var(--aq-fw-title, 600);
  line-height: var(--aq-lh-title, 1.18);
  letter-spacing: var(--aq-ls-title, -0.01em);
  color: var(--aq-c-title, var(--text-main));
}

@media screen and (max-width: 749px) {
  .aq-sec-wrapper .section-title {
    font-size: var(--aq-fs-title-m, var(--aq-fs-title, 28px));
  }
}

.aq-sec-wrapper .section-subtitle {
  margin-top: 6px;
  font-family: var(--aq-ff-text, var(--font-sans));
  font-size: var(--aq-fs-text, 15.4px);
  line-height: var(--aq-lh-text, 1.6);
  color: var(--aq-c-text, var(--text-body));
}

.aq-sec-wrapper .section-header-center {
  max-width: 640px;
  margin: 0 auto 40px;
  text-align: center;
}

.aq-sec-wrapper .header-right-action {
  display: flex;
  align-items: center;
  gap: 12px;
}

.aq-sec-wrapper .view-all-link {
  font-family: var(--aq-ff-text, var(--font-sans));
  font-size: 13.8px;
  font-weight: 600;
  color: var(--aq-c-title, var(--text-main));
  text-decoration: none;
  transition: var(--transition);
}

.aq-sec-wrapper .view-all-link:hover { text-decoration: underline; }

/* --------------------------------- Boutons --------------------------------- */

.aq-sec-wrapper .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 12px 24px;
  border: 1px solid transparent;
  border-radius: var(--aq-br-btn, var(--radius-pill));
  font-family: var(--aq-ff-btn, var(--font-sans));
  font-size: var(--aq-fs-btn, 13.8px);
  font-weight: var(--aq-fw-btn, 600);
  letter-spacing: var(--aq-ls-btn, normal);
  text-transform: var(--aq-tt-btn, none);
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: var(--transition);
}

.aq-sec-wrapper .btn-primary {
  background-color: var(--aq-c-btn-bg, var(--accent-navy));
  color: var(--aq-c-btn-text, #FFFFFF);
}

.aq-sec-wrapper .btn-primary:hover {
  background-color: var(--accent-navy-hover);
  box-shadow: 0 6px 20px rgba(18, 40, 54, 0.25);
  transform: translateY(-1px);
}

.aq-sec-wrapper .btn-white {
  background: var(--aq-c-btn-bg, #FFFFFF);
  color: var(--aq-c-btn-text, var(--accent-navy));
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
}

.aq-sec-wrapper .btn-white:hover {
  background: #F4F8FB;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.18);
  transform: translateY(-1px);
}

.aq-sec-wrapper .btn-secondary-subtle {
  background: var(--aq-c-btn-bg, rgba(255, 255, 255, 0.85));
  color: var(--aq-c-btn-text, var(--text-main));
  border-color: var(--border-subtle);
  backdrop-filter: blur(8px);
}

.aq-sec-wrapper .btn-secondary-subtle:hover {
  background: #FFFFFF;
  border-color: var(--text-main);
}

.aq-sec-wrapper .btn-block { width: 100%; }

.aq-sec-wrapper .btn:focus-visible {
  outline: 2px solid var(--accent-teal);
  outline-offset: 3px;
}

.aq-sec-wrapper .arrow-icon {
  flex-shrink: 0;
  transition: transform 0.2s ease;
}

.aq-sec-wrapper .btn:hover .arrow-icon { transform: translateX(3px); }

.aq-sec-wrapper .aq-icon,
.aq-sec-wrapper .aq-icon-img {
  display: block;
  flex-shrink: 0;
}

.aq-sec-wrapper .aq-icon-img {
  width: auto;
  height: auto;
  max-width: 100%;
  object-fit: contain;
}


/* ===================== aquamerra-roles.css ===================== */

/* =============================================================================
   AQUAMERRA - COUCHE DE ROLES TYPOGRAPHIQUES
   =============================================================================
   Conteneur et grille de blocs, pilotes par les variables que le snippet
   aquamerra-style-vars pose sur la racine de section.

   La TYPOGRAPHIE n'est pas ici : le CSS d'une section cible
   `#aqSec-<id> .classe` (specificite 1,1,0) et ecraserait une regle
   `.aq-role-title` (0,1,0). Les proprietes typographiques sont donc reecrites
   directement dans le CSS de chaque section, sous la forme
   `var(--aq-fs-title, <valeur d'origine>)` : meme specificite qu'avant, rendu
   identique tant que le marchand ne touche a rien, et pilotable des qu'il y
   touche. Les classes de role restent posees sur le markup, elles servent de
   point d'ancrage a cette reecriture.
   ============================================================================= */

/* --------------------------------- Conteneur ------------------------------- */

.aq-sec-wrapper[data-aq-styled] {
  padding-top: var(--aq-pt, 60px);
  padding-bottom: var(--aq-pb, 60px);
  background-color: var(--aq-bg, transparent);
  border-radius: var(--aq-radius, 0);
  box-shadow: var(--aq-shadow, none);
}

/* Image de fond et voile de lisibilite. */
.aq-sec-wrapper[data-aq-bg-image] {
  position: relative;
  background-image: var(--aq-bg-img);
  background-size: cover;
  background-position: var(--aq-bg-pos, center);
  isolation: isolate;
}

.aq-sec-wrapper[data-aq-bg-image]::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background-color: var(--aq-bg, #000);
  opacity: var(--aq-bg-overlay, 0);
  border-radius: inherit;
}

/* Largeur et alignement du contenu. */
.aq-sec-wrapper[data-aq-styled] .container,
.aq-sec-wrapper[data-aq-styled] .aq-container {
  max-width: var(--aq-maxw, 1200px);
}

.aq-sec-wrapper[data-aq-align='center'] { text-align: center; }
.aq-sec-wrapper[data-aq-align='right'] { text-align: right; }

.aq-sec-wrapper[data-aq-align='center'] .aq-role-text,
.aq-sec-wrapper[data-aq-align='center'] .aq-role-title { margin-inline: auto; }

/* ------------------------------- Grilles a blocs -------------------------- */

.aq-blocks-grid {
  display: grid;
  grid-template-columns: repeat(var(--aq-cols, 3), minmax(0, 1fr));
  gap: var(--aq-gap, 24px);
}

@media screen and (max-width: 989px) {
  .aq-blocks-grid {
    grid-template-columns: repeat(var(--aq-cols-tablet, 2), minmax(0, 1fr));
  }
}

@media screen and (max-width: 749px) {
  .aq-blocks-grid {
    grid-template-columns: repeat(var(--aq-cols-mobile, 1), minmax(0, 1fr));
  }
}

/* -------------------------- Adaptations mobiles ---------------------------- */

@media screen and (max-width: 749px) {
  .aq-sec-wrapper[data-aq-styled] {
    padding-top: var(--aq-pt-m, var(--aq-pt, 40px));
    padding-bottom: var(--aq-pb-m, var(--aq-pb, 40px));
  }
}


/* ===================== aquamerra-cart.css ===================== */

/* =============================================================================
   AQUAMERRA - TIROIR PANIER
   Toutes les classes sont prefixees `aq-cart-` : aucun risque de collision
   avec les classes du theme hote (Dawn utilise .cart-drawer, .cart-item...).
   ============================================================================= */

.aq-cart-backdrop {
  position: fixed;
  inset: 0;
  z-index: 998;
  background: rgba(16, 36, 62, 0.5);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

html.aq-cart-open { overflow: hidden; }

html.aq-cart-open .aq-cart-backdrop {
  opacity: 1;
  visibility: visible;
}

.aq-cart-drawer {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 999;
  display: flex;
  flex-direction: column;
  width: 420px;
  max-width: 100vw;
  height: 100%;
  background: var(--bg-surface, #fff);
  box-shadow: -8px 0 32px rgba(0, 0, 0, 0.18);
  font-family: var(--font-sans, sans-serif);
  color: var(--text-main, #023f58);
  transform: translateX(100%);
  visibility: hidden;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.35s;
}

.aq-cart-drawer.is-open {
  transform: translateX(0);
  visibility: visible;
}

.aq-cart-drawer.is-busy { pointer-events: none; }
.aq-cart-drawer.is-busy .aq-cart-drawer__body { opacity: 0.55; }

.aq-cart-drawer__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 24px;
  border-bottom: 1px solid var(--border-subtle, #E8E2D8);
}

.aq-cart-drawer__title {
  margin: 0;
  font-family: var(--font-serif, serif);
  font-size: 21.6px;
  font-weight: 600;
  letter-spacing: 0.01em;
}

.aq-cart-drawer__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: transparent;
  color: var(--text-muted, #7A8B95);
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.aq-cart-drawer__close:hover {
  background: var(--bg-sand, #F3EFE9);
  color: var(--text-main, #023f58);
}

.aq-cart-drawer__body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding: 8px 24px;
  transition: opacity 0.2s ease;
}

.aq-cart-error {
  margin: 0;
  padding: 12px 24px;
  background: #FDECEA;
  border-bottom: 1px solid #F5C6C2;
  color: var(--state-error, #B3261E);
  font-size: 14.1px;
  font-weight: 500;
}

/* ------------------------------- Panier vide ------------------------------ */

.aq-cart-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  height: 100%;
  padding: 40px 0;
  color: var(--text-muted, #7A8B95);
  text-align: center;
}

.aq-cart-empty p { margin: 0; font-size: 15.2px; }

/* « display: flex » l'emportait sur l'attribut hidden : le message « panier
   vide » restait affiche au-dessus des articles. Meme garde pour tout le
   tiroir, dont les blocs sont masques par hidden. */
#aq-cart-drawer [hidden],
.aq-s-buybox [hidden] { display: none !important; }

/* --------------------------------- Lignes -------------------------------- */

.aq-cart-items {
  margin: 0;
  padding: 0;
  list-style: none;
}

.aq-cart-item {
  display: flex;
  gap: 14px;
  padding: 18px 0;
  border-bottom: 1px solid var(--border-subtle, #E8E2D8);
}

.aq-cart-item:last-child { border-bottom: none; }

.aq-cart-item__media {
  flex: 0 0 72px;
  width: 72px;
  height: 72px;
  overflow: hidden;
  border-radius: var(--radius-sm, 8px);
  background: var(--bg-sand, #F3EFE9);
}

.aq-cart-item__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.aq-cart-item__media-empty { display: block; width: 100%; height: 100%; }

.aq-cart-item__body {
  flex: 1 1 auto;
  min-width: 0;
}

.aq-cart-item__title {
  display: block;
  color: var(--text-main, #023f58);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.35;
  text-decoration: none;
}

.aq-cart-item__title:hover { text-decoration: underline; }

.aq-cart-item__variant,
.aq-cart-item__plan,
.aq-cart-item__discount {
  margin: 4px 0 0;
  font-size: 12.6px;
  line-height: 1.4;
  color: var(--text-muted, #7A8B95);
}

.aq-cart-item__plan {
  color: var(--accent-teal, #538283);
  font-weight: 600;
}

.aq-cart-item__discount { color: var(--state-success, #1B8A5A); }

.aq-cart-item__controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 10px;
}

.aq-cart-qty {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--border-subtle, #E8E2D8);
  border-radius: var(--radius-pill, 9999px);
}

.aq-cart-qty__btn {
  width: 30px;
  height: 30px;
  border: none;
  background: transparent;
  color: var(--text-main, #023f58);
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
  border-radius: 50%;
}

.aq-cart-qty__btn:hover { background: var(--bg-sand, #F3EFE9); }

.aq-cart-qty__value {
  min-width: 26px;
  text-align: center;
  font-size: 14.1px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

.aq-cart-item__price {
  font-size: 15px;
  font-weight: 600;
  white-space: nowrap;
}

.aq-cart-item__was {
  margin-right: 5px;
  color: var(--text-muted, #7A8B95);
  font-weight: 400;
  text-decoration: line-through;
}

.aq-cart-item__remove {
  margin-top: 8px;
  padding: 0;
  border: none;
  background: none;
  color: var(--text-muted, #7A8B95);
  font-size: 12.5px;
  text-decoration: underline;
  cursor: pointer;
}

.aq-cart-item__remove:hover { color: var(--state-error, #B3261E); }

/* ---------------------------------- Pied --------------------------------- */

.aq-cart-drawer__foot {
  flex: 0 0 auto;
  padding: 18px 24px 22px;
  border-top: 1px solid var(--border-subtle, #E8E2D8);
  background: var(--bg-primary, #FAF7F2);
}

.aq-cart-shipping { margin-bottom: 14px; }

.aq-cart-shipping__text,
.aq-cart-shipping__ok {
  margin: 0 0 8px;
  font-size: 13.3px;
  font-weight: 500;
  color: var(--text-body, #4A5B66);
}

.aq-cart-shipping__ok { color: var(--state-success, #1B8A5A); }

.aq-cart-shipping__bar {
  height: 4px;
  border-radius: 4px;
  background: var(--border-subtle, #E8E2D8);
  overflow: hidden;
}

.aq-cart-shipping__bar span {
  display: block;
  height: 100%;
  border-radius: 4px;
  background: var(--accent-teal, #538283);
  transition: width 0.3s ease;
}

.aq-cart-discounts { margin-bottom: 10px; }

.aq-cart-discount-row {
  display: flex;
  justify-content: space-between;
  font-size: 13.4px;
  color: var(--state-success, #1B8A5A);
}

.aq-cart-subtotal {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 4px;
}

.aq-cart-subtotal span {
  color: var(--text-muted, #7A8B95);
  font-size: 14.7px;
  font-weight: 500;
}

.aq-cart-subtotal strong {
  font-size: 19.2px;
  font-weight: 700;
}

.aq-cart-taxnote {
  margin: 0 0 14px;
  color: var(--text-muted, #7A8B95);
  font-size: 12.2px;
}

.aq-cart-btn {
  display: block;
  width: 100%;
  padding: 14px 20px;
  border: 1px solid transparent;
  border-radius: var(--radius-pill, 9999px);
  font-family: inherit;
  font-size: 13.8px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-align: center;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  transition: var(--transition);
}

.aq-cart-btn--primary {
  background: var(--accent-navy, #023f58);
  color: #fff;
}

.aq-cart-btn--primary:hover { background: var(--accent-navy-hover, #0a5273); }

.aq-cart-btn--ghost {
  width: auto;
  padding: 10px 22px;
  border-color: var(--border-subtle, #E8E2D8);
  background: transparent;
  color: var(--text-main, #023f58);
}

.aq-cart-viewcart {
  display: block;
  margin-top: 12px;
  color: var(--text-muted, #7A8B95);
  font-size: 13.1px;
  text-align: center;
}

@media screen and (max-width: 480px) {
  .aq-cart-drawer { width: 100vw; }
  .aq-cart-drawer__head,
  .aq-cart-drawer__foot { padding-left: 18px; padding-right: 18px; }
  .aq-cart-drawer__body { padding-left: 18px; padding-right: 18px; }
}

@media (prefers-reduced-motion: reduce) {
  .aq-cart-drawer,
  .aq-cart-backdrop { transition: none; }
}


/* ===================== aquamerra-sections.css ===================== */

/* =============================================================================
   AQUAMERRA - STYLES DES SECTIONS
   =============================================================================
   Regroupe le CSS qui etait inline dans chaque section (~78 Ko renvoyes a
   chaque chargement de page, jamais mis en cache). Charge une fois, mis en
   cache par le navigateur et le CDN Shopify.

   Doit etre charge APRES aquamerra-base.css et aquamerra-roles.css : les
   selecteurs de section sont a specificite egale avec les primitives, c est
   l ordre qui tranche.
   ============================================================================= */

/* ===== article ===== */
.aq-s-article .aq-s-article {
  --bg: #FDFBF7;
  --white: #FFFFFF;
  --navy: #023f58;
  --text: #023f58;
  --muted: #7A8B95;
  --border: #EAE5DC;
  font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif !important;
  background-color: var(--bg) !important;
  color: #4A5B66 !important;
  padding: 48px 0 80px 0 !important;
  line-height: 1.75 !important;
}

.aq-s-article .aq-s-article * {
  box-sizing: border-box !important;
}

.aq-s-article .aq-s-article .aq-article-container {
  max-width: 820px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
}

/* Fil d'Ariane */
.aq-s-article .aq-s-article .aq-breadcrumb {
  font-size: 13.1px !important;
  color: var(--muted) !important;
  margin-bottom: 28px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.aq-s-article .aq-s-article .aq-breadcrumb a {
  text-decoration: none !important;
  color: var(--muted) !important;
}
.aq-s-article .aq-s-article .aq-current {
  color: var(--navy) !important;
  font-weight: 600 !important;
}

/* En-tête */
.aq-s-article .aq-s-article .aq-art-tag {
  display: inline-block !important;
  background: var(--navy) !important;
  color: #FFF !important;
  font-size: 10.9px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  padding: 4px 12px !important;
  border-radius: 999px !important;
  margin-bottom: 16px !important;
}
.aq-s-article .aq-s-article .aq-art-h1 {
  font-family: var(--aq-ff-title, 'Cormorant Garamond', Georgia, serif) !important;
  font-size: var(--aq-fs-title, 48px) !important;
  line-height: var(--aq-lh-title, 1.15) !important;
  color: var(--aq-c-title, var(--text)) !important;
  margin: 0 0 24px 0 !important;
}
.aq-s-article .aq-s-article .aq-art-meta {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 18px 0 !important;
  border-top: 1px solid var(--border) !important;
  border-bottom: 1px solid var(--border) !important;
  margin-bottom: 36px !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
}
.aq-s-article .aq-s-article .aq-author-box {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}
.aq-s-article .aq-s-article .aq-avatar {
  width: 42px !important;
  height: 42px !important;
  border-radius: 50% !important;
  background: var(--navy) !important;
  color: #FFF !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-weight: 700 !important;
  font-size: 13.6px !important;
}
.aq-s-article .aq-s-article .aq-author-name {
  display: block !important;
  color: var(--text) !important;
  font-size: 14.7px !important;
}
.aq-s-article .aq-s-article .aq-author-role {
  display: block !important;
  color: var(--muted) !important;
  font-size: 12.5px !important;
}
.aq-s-article .aq-s-article .aq-art-stats {
  display: flex !important;
  gap: 16px !important;
  font-size: 13.1px !important;
  color: var(--muted) !important;
}

/* Image Principale */
.aq-s-article .aq-s-article .aq-art-lead-img {
  border-radius: 20px !important;
  overflow: hidden !important;
  margin-bottom: 40px !important;
}
.aq-s-article .aq-s-article .aq-art-lead-img img {
  width: 100% !important;
  display: block !important;
}

/* Corps de texte */
.aq-s-article .aq-s-article .aq-art-body {
  font-size: 16.8px !important;
  color: #33444F !important;
}
.aq-s-article .aq-s-article .aq-art-body h2 {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 33.6px !important;
  color: var(--text) !important;
  margin: 40px 0 16px 0 !important;
}
.aq-s-article .aq-s-article .aq-art-body h3 {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 25.6px !important;
  color: var(--text) !important;
  margin: 32px 0 14px 0 !important;
}
.aq-s-article .aq-s-article .aq-art-body p {
  margin-bottom: 20px !important;
}
.aq-s-article .aq-s-article .aq-art-body blockquote {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 23.2px !important;
  font-style: italic !important;
  color: var(--navy) !important;
  border-left: 3px solid var(--navy) !important;
  padding: 14px 24px !important;
  margin: 32px 0 !important;
  background: rgba(16, 36, 62, 0.03) !important;
  border-radius: 0 12px 12px 0 !important;
}

/* Encart Produit Recommandé */
.aq-s-article .aq-s-article .aq-rec-product-banner {
  display: flex !important;
  gap: 24px !important;
  align-items: center !important;
  background: var(--white) !important;
  border: 1px solid var(--border) !important;
  border-radius: 18px !important;
  padding: 24px !important;
  margin: 44px 0 !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.03) !important;
}
.aq-s-article .aq-s-article .aq-rec-img {
  width: 120px !important;
  height: 120px !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  flex-shrink: 0 !important;
}
.aq-s-article .aq-s-article .aq-rec-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
.aq-s-article .aq-s-article .aq-rec-tag {
  font-size: 10.9px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  color: var(--muted) !important;
  display: block !important;
  margin-bottom: 4px !important;
}
.aq-s-article .aq-s-article .aq-rec-txt h3 {
  margin: 0 0 6px 0 !important;
  font-size: 21.6px !important;
}
.aq-s-article .aq-s-article .aq-rec-txt p {
  font-size: 14.1px !important;
  color: var(--muted) !important;
  margin-bottom: 14px !important;
}
.aq-s-article .aq-s-article .aq-rec-actions {
  display: flex !important;
  gap: 12px !important;
  align-items: center !important;
}
.aq-s-article .aq-s-article .aq-art-btn {
  background: var(--navy) !important;
  color: #FFF !important;
  padding: 10px 20px !important;
  border-radius: 999px !important;
  border: none !important;
  font-weight: 600 !important;
  font-size: 13.4px !important;
  cursor: pointer !important;
}
.aq-s-article .aq-s-article .aq-art-link {
  font-size: 13.4px !important;
  color: var(--navy) !important;
  text-decoration: underline !important;
}

/* Bio auteur */
.aq-s-article .aq-s-article .aq-author-footer {
  display: flex !important;
  gap: 18px !important;
  align-items: center !important;
  padding: 28px !important;
  background: var(--white) !important;
  border: 1px solid var(--border) !important;
  border-radius: 16px !important;
  margin: 48px 0 !important;
}
.aq-s-article .aq-s-article .aq-avatar-lg {
  width: 56px !important;
  height: 56px !important;
  border-radius: 50% !important;
  background: var(--navy) !important;
  color: #FFF !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 17.6px !important;
  font-weight: 700 !important;
  flex-shrink: 0 !important;
}
.aq-s-article .aq-s-article .aq-author-footer h4 {
  font-size: 17.6px !important;
  margin: 0 0 6px 0 !important;
}
.aq-s-article .aq-s-article .aq-author-footer p {
  font-size: 13.8px !important;
  color: var(--muted) !important;
  margin: 0 !important;
}

/* Retour */
.aq-s-article .aq-s-article .aq-back-row {
  text-align: center !important;
  padding-top: 20px !important;
}
.aq-s-article .aq-s-article .aq-back-link {
  color: var(--navy) !important;
  font-weight: 600 !important;
  font-size: 14.4px !important;
  text-decoration: none !important;
}
.aq-s-article .aq-s-article .aq-back-link:hover {
  text-decoration: underline !important;
}@media (max-width: 768px) {
  .aq-s-article .aq-s-article .aq-art-h1 { font-size: var(--aq-fs-title-m, var(--aq-fs-title, 35.2px)) !important; }
  .aq-s-article .aq-s-article .aq-rec-product-banner { flex-direction: column !important; text-align: center !important; }
  .aq-s-article .aq-s-article .aq-rec-actions { justify-content: center !important; }
  .aq-s-article .aq-s-article .aq-author-footer { flex-direction: column !important; text-align: center !important; }
}

/* ===== avis ===== */
.aq-section--avis {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  content-visibility: auto;
  contain-intrinsic-size: 450px;
}

.aq-s-avis {
  width: 100% !important;
  box-sizing: border-box !important;
}

.aq-s-avis .trust-section {
  padding: 64px 0;
  background: var(--bg-primary);
  border-top: 1px solid var(--border-subtle);
}

.aq-s-avis .trust-grid {
  display: grid;
  grid-template-columns: 1fr 1.6fr;
  gap: 44px;
  align-items: center;
}

.aq-s-avis .testimonial-card {
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  padding: 32px 36px;
  box-shadow: var(--shadow-sm);
}

.aq-s-avis .testi-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}

.aq-s-avis .stars-gold {
  color: var(--accent-gold-text);
  font-size: 15.2px;
  letter-spacing: 2px;
}

.aq-s-avis .testi-arrows {
  display: flex;
  gap: 6px;
}

.aq-s-avis .tiny-arrow-btn {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 1px solid var(--border-subtle);
  background: var(--bg-sand-light);
  color: var(--text-main);
  font-size: 17.6px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.aq-s-avis .tiny-arrow-btn:hover {
  background: var(--accent-navy);
  color: #FFFFFF;
  border-color: var(--accent-navy);
}

.aq-s-avis .testi-text {
  font-family: var(--aq-ff-text, var(--font-serif));
  font-size: var(--aq-fs-text, 20px);
  font-style: italic;
  line-height: var(--aq-lh-text, 1.5);
  color: var(--aq-c-text, var(--text-main));
  margin-bottom: 16px;
}

.aq-s-avis .testi-author {
  font-size: 13.4px;
  color: var(--text-body);
  display: flex;
  align-items: center;
  gap: 8px;
}

.aq-s-avis .verified-badge {
  font-size: 11.2px;
  color: #2D8B55;
  background: #E8F5EC;
  padding: 2px 8px;
  border-radius: var(--radius-pill);
  font-weight: 600;
}

/* ===== Complements refonte : piste d'avis defilante et note globale ===== */

.aq-s-avis .trust-testimonial-col { position: relative; }

.aq-s-avis .testi-track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 100%;
  gap: 20px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding-bottom: 4px;
}

.aq-s-avis .testi-track::-webkit-scrollbar { display: none; }

.aq-s-avis .testi-track > * { scroll-snap-align: start; }

.aq-s-avis .testi-track:focus-visible {
  outline: 2px solid var(--aq-star-color);
  outline-offset: 4px;
}

.aq-s-avis .testimonial-card {
  margin: 0;
  background-color: var(--aq-card-bg);
  border: var(--aq-card-border-width) solid var(--aq-card-border-color);
  border-radius: var(--aq-card-radius);
}

.aq-s-avis .testi-text {
  margin: 0 0 16px;
  padding: 0;
  border: 0;
  color:var(--aq-c-text, var(--aq-text-color));
  font-size:var(--aq-fs-text, var(--aq-text-size));
}

.aq-s-avis .stars-gold { color: var(--aq-star-color); }
.aq-s-avis .star-empty { opacity: 0.28; }

.aq-s-avis .testi-arrows {
  position: absolute;
  top: -46px;
  right: 0;
  display: flex;
  gap: 8px;
}

.aq-s-avis .tiny-arrow-btn[disabled] {
  opacity: 0.3;
  cursor: default;
}

.aq-s-avis .trust-global {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px;
  margin: 14px 0 0;
  color: var(--aq-text-color);
  font-size: 14.7px;
}

.aq-s-avis .trust-global strong {
  color: var(--aq-title-color);
  font-size: 22.4px;
}

.aq-s-avis .trust-global-source,
.aq-s-avis .testi-date {
  display: block;
  width: 100%;
  color: var(--text-muted);
  font-size: 11.8px;
}

.aq-s-avis .section-title {
  color:var(--aq-c-title, var(--aq-title-color));
  font-size:var(--aq-fs-title, var(--aq-title-size));
}

@media (max-width: 820px) {
  .aq-s-avis .testi-arrows {
    position: static;
    margin-bottom: 14px;
    justify-content: flex-end;
  }
}

/* ===== blog-preview ===== */
.aq-section--blog-preview {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  content-visibility: auto;
  contain-intrinsic-size: 450px;
}

.aq-s-blog-preview {
  width: 100% !important;
  box-sizing: border-box !important;
}

.aq-s-blog-preview .blog-preview-section {
  padding: 68px 0;
  background: var(--bg-surface);
  border-top: 1px solid var(--border-subtle);
}

.aq-s-blog-preview .blog-preview-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 36px;
}

.aq-s-blog-preview .blog-cards-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.aq-s-blog-preview .blog-card {
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition: var(--transition);
  display: flex;
  flex-direction: column;
}

.aq-s-blog-preview .blog-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-md);
}

.aq-s-blog-preview .blog-card-img-wrap {
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: var(--bg-sand-light);
}

.aq-s-blog-preview .blog-card-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.aq-s-blog-preview .blog-card:hover .blog-card-img-wrap img {
  transform: scale(1.04);
}

.aq-s-blog-preview .blog-tag {
  position: absolute;
  top: 14px;
  left: 14px;
  background: rgba(18, 40, 54, 0.88);
  backdrop-filter: blur(4px);
  color: #FFFFFF;
  font-size: 10.9px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: var(--radius-pill);
}

.aq-s-blog-preview .blog-card-body {
  padding: 20px 22px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.aq-s-blog-preview .blog-card-meta {
  font-size: 12.2px;
  color: var(--text-muted);
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 8px;
}

.aq-s-blog-preview .blog-card-title {
  font-family: var(--aq-ff-title, var(--font-serif));
  font-size: var(--aq-fs-subtitle, 21.6px);
  font-weight: var(--aq-fw-subtitle, 600);
  line-height: var(--aq-lh-title, 1.25);
  color: var(--aq-c-title, var(--text-main));
  margin-bottom: 10px;
}

.aq-s-blog-preview .blog-card-title a:hover {
  color: var(--aq-c-title, var(--accent-ocean));
}

.aq-s-blog-preview .blog-card-excerpt {
  font-size: var(--aq-fs-text, 13.8px);
  color: var(--aq-c-text, var(--text-body));
  line-height: var(--aq-lh-text, 1.55);
  margin-bottom: 18px;
  flex: 1;
}

.aq-s-blog-preview .read-more-link {
  font-size: 13.1px;
  font-weight: 700;
  color: var(--text-main);
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.aq-s-blog-preview .read-more-link:hover {
  color: var(--accent-ocean);
}@media (max-width: 1024px) {
  .aq-s-blog-preview .blog-cards-grid { grid-template-columns: repeat(2, 1fr); }
}@media (max-width: 768px) {
  .aq-s-blog-preview .blog-cards-grid { grid-template-columns: 1fr; }
}

/* ===== buybox ===== */
.aq-section--buybox {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  content-visibility: auto;
  contain-intrinsic-size: auto 600px;
}

.aq-s-buybox {
  width: 100% !important;
  box-sizing: border-box !important;
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  color: #334155;
}

.aq-s-buybox .buybox-container {
  max-width: var(--aq-maxw, 1240px);
  margin: 0 auto;
  padding: 0 24px;
}

.aq-s-buybox .buybox-grid {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: 52px;
  align-items: flex-start;
}

/* ==================== GALLERY ==================== */
.aq-s-buybox .gallery-layout {
  display: flex;
  gap: 16px;
  position: sticky;
  top: 90px;
}

.aq-s-buybox .gallery-thumbs {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 76px;
  flex-shrink: 0;
}

.aq-s-buybox .thumb-btn {
  width: 76px;
  height: 76px;
  border-radius: 12px;
  border: 2px solid transparent;
  padding: 2px;
  background: #FFFFFF;
  cursor: pointer;
  overflow: hidden;
  transition: border-color 0.2s ease, transform 0.2s ease;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
}

.aq-s-buybox .thumb-btn.active,.aq-s-buybox .thumb-btn:hover {
  border-color: var(--aq-accent-teal);
  transform: scale(1.03);
}

.aq-s-buybox .thumb-btn img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 8px;
}

.aq-s-buybox .gallery-main-stage {
  flex: 1;
  position: relative;
  background: #FFFFFF;
  border: 1px solid var(--aq-card-border);
  border-radius: 24px;
  padding: 28px;
  box-shadow: 0 12px 32px rgba(16, 36, 62, 0.05);
  display: flex;
  align-items: center;
  justify-content: center;
}

.aq-s-buybox .main-img-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.aq-s-buybox .main-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  mix-blend-mode: multiply;
  transition: opacity 0.25s ease, transform 0.25s ease;
}

/* ==================== RIGHT COLUMN: BUYBOX ==================== */
.aq-s-buybox .buybox-info-col {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.aq-s-buybox .buybox-rating-row {
  display: flex;
  align-items: center;
  gap: 12px;
}

.aq-s-buybox .stars-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #EBF5F3;
  padding: 4px 12px;
  border-radius: 9999px;
  color: #166534;
}

.aq-s-buybox .stars-icons {
  color: #16A34A;
  font-size: 14.4px;
  letter-spacing: 2px;
}

.aq-s-buybox .stars-score strong {
  font-size: 13.6px;
  color: #14532D;
}

.aq-s-buybox .rating-subtext {
  font-size: var(--aq-fs-text, 13.6px);
  color: var(--aq-c-text, #64748b);
  font-weight: var(--aq-fw-text, 500);
}

.aq-s-buybox .buybox-title {
  font-family: var(--aq-ff-title, 'Cormorant Garamond', Georgia, serif);
  font-size: var(--aq-fs-title, 40px);
  font-weight: var(--aq-fw-title, 600);
  color:var(--aq-c-title, var(--aq-navy));
  line-height: var(--aq-lh-title, 1.15);
  margin: 0;
}

/* Trust Pills */
.aq-s-buybox .buybox-trust-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.aq-s-buybox .trust-pill {
  font-size: 12.2px;
  font-weight: 500;
  background: rgba(255, 255, 255, 0.85);
  border: 1px solid var(--aq-card-border);
  padding: 4px 12px;
  border-radius: 9999px;
  color: #334155;
}

.aq-s-buybox .finish-title {
  display: block;
  font-size: 14.1px;
  color: #64748b;
  margin-bottom: 10px;
}

.aq-s-buybox .finish-title strong {
  color: var(--aq-navy);
}

.aq-s-buybox .finish-swatches-row {
  display: flex;
  gap: 14px;
}

.aq-s-buybox .buybox-swatch {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  background: none;
  border: none;
  cursor: pointer;
}

.aq-s-buybox .swatch-circle {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 2px solid transparent;
  padding: 2px;
  transition: transform 0.2s ease, border-color 0.2s ease;
}

.aq-s-buybox .buybox-swatch.active .swatch-circle {
  border-color: var(--aq-accent-teal);
  transform: scale(1.12);
}

.aq-s-buybox .swatch-label {
  font-size: 12px;
  color: #475569;
  font-weight: 500;
}

/* ==================== SUBSCRIPTION VS ONETIME CARDS ==================== */
.aq-s-buybox .purchase-options-container {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 6px;
}

.aq-s-buybox .purchase-card {
  position: relative;
  background: #FFFFFF;
  border: 1.5px solid var(--aq-card-border);
  border-radius: 16px;
  padding: 16px 20px;
  cursor: pointer;
  transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}

.aq-s-buybox .purchase-card.selected {
  border-color: var(--aq-accent-teal);
  background: #F4F8F7;
  box-shadow: 0 4px 16px rgba(83, 130, 131, 0.12);
}

.aq-s-buybox .popular-ribbon {
  position: absolute;
  top: -11px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--aq-accent-teal);
  color: #FFFFFF;
  font-size: 11.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 2px 14px;
  border-radius: 9999px;
  box-shadow: 0 2px 8px rgba(83, 130, 131, 0.25);
}

.aq-s-buybox .card-header-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.aq-s-buybox .card-radio-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
}

.aq-s-buybox .card-radio-wrap input[type="radio"] {
  appearance: none;
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  border: 2px solid #94a3b8;
  border-radius: 50%;
  outline: none;
  cursor: pointer;
  display: grid;
  place-content: center;
  transition: border-color 0.2s ease;
}

.aq-s-buybox .purchase-card.selected .card-radio-wrap input[type="radio"] {
  border-color: var(--aq-accent-teal);
}

.aq-s-buybox .card-radio-wrap input[type="radio"]::before {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--aq-accent-teal);
  transform: scale(0);
  transition: transform 0.15s ease;
}

.aq-s-buybox .purchase-card.selected .card-radio-wrap input[type="radio"]::before {
  transform: scale(1);
}

.aq-s-buybox .card-plan-title {
  font-size: 15.2px;
  color: var(--aq-navy);
  cursor: pointer;
}

.aq-s-buybox .card-price-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
}

.aq-s-buybox .card-price-main {
  font-size: 18.4px;
  font-weight: 700;
  color: var(--aq-navy);
}

.aq-s-buybox .card-price-strike {
  font-size: 14.1px;
  color: #94a3b8;
  text-decoration: line-through;
}

.aq-s-buybox .card-discount-badge {
  background: #538283;
  color: #FFFFFF;
  font-size: 11.5px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 6px;
}

.aq-s-buybox .card-details-body {
  margin-top: 10px;
  padding-left: 30px;
}

.aq-s-buybox .plan-detail-line {
  font-size: 13.1px;
  color: #475569;
  margin: 3px 0;
  line-height: 1.4;
}

.aq-s-buybox .plan-guarantee-line {
  font-size: 12.2px;
  color: #64748b;
  margin: 6px 0;
}

/* CTA Button */
.aq-s-buybox .btn-buybox-primary {
  width: 100%;
  background-color: var(--aq-accent-teal) !important;
  color: #FFFFFF !important;
  font-family: var(--aq-ff-btn, inherit);
  font-size: var(--aq-fs-btn, 16.8px) !important;
  font-weight: var(--aq-fw-btn, 700) !important;
  letter-spacing: var(--aq-ls-btn, 0.04em);
  padding: 18px 28px !important;
  border-radius: var(--aq-br-btn, 9999px) !important;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  box-shadow: 0 6px 20px rgba(83, 130, 131, 0.28);
  transition: transform 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}

.aq-s-buybox .btn-buybox-primary:hover {
  background-color: var(--aq-accent-teal-dark) !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 26px rgba(83, 130, 131, 0.35);
}

.aq-s-buybox .cart-arrow-icon {
  transition: transform 0.2s ease;
}

.aq-s-buybox .btn-buybox-primary:hover .cart-arrow-icon {
  transform: translateX(4px);
}

/* Micro trust below CTA */
.aq-s-buybox .buybox-micro-trust {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 10px;
}

.aq-s-buybox .trust-point {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12.5px;
  color: #475569;
}

/* Moyens de paiement sous le bouton */
.aq-s-buybox .buybox-payment {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 6px 10px;
  margin-top: 12px;
}

.aq-s-buybox .buybox-payment-label {
  font-size: 12.5px;
  font-weight: 600;
  color: var(--text-main);
}

.aq-s-buybox .buybox-payment-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.aq-s-buybox .buybox-payment-icon {
  display: block;
  width: 38px;
  height: 24px;
}

.aq-s-buybox .buybox-guarantee-box {
  margin-top: 10px;
  background: #F1F6F5;
  border: 1px solid #D5E5E4;
  border-radius: 12px;
  padding: 10px 16px;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13.1px;
  color: #2F5758;
}

/* Accordions */
.aq-s-buybox .buybox-accordions {
  margin-top: 16px;
  border-top: 1px solid var(--aq-card-border);
}

.aq-s-buybox .b-accordion-item {
  border-bottom: 1px solid var(--aq-card-border);
}

.aq-s-buybox .b-accordion-head {
  width: 100%;
  padding: 14px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: none;
  border: none;
  font-size: 14.4px;
  font-weight: 600;
  color: var(--aq-navy);
  cursor: pointer;
  text-align: left;
}

.aq-s-buybox .b-acc-chevron {
  font-size: 19.2px;
  color: #64748b;
  font-weight: 400;
}

.aq-s-buybox .b-accordion-body {
  display: none;
  padding-bottom: 14px;
  font-size: 13.4px;
  line-height: 1.55;
  color: #475569;
}

.aq-s-buybox .b-accordion-item.active .b-accordion-body,
.aq-s-buybox details[open] > .b-accordion-body {
  display: block;
}

.aq-s-buybox .b-accordion-body p { margin: 0 0 8px; }
.aq-s-buybox .b-accordion-body > :last-child { margin-bottom: 0; }
.aq-s-buybox .b-accordion-body a {
  color: var(--aq-accent-teal-dark);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Description du produit : ses arguments, titre en gras puis une phrase. */
.aq-s-buybox .buybox-description {
  margin-top: 28px;
  font-size: 14.4px;
  line-height: 1.6;
  color: #475569;
}

.aq-s-buybox .buybox-description p { margin: 0 0 14px; }
.aq-s-buybox .buybox-description > :last-child { margin-bottom: 0; }

.aq-s-buybox .buybox-description strong {
  color: var(--aq-navy);
  font-weight: 600;
}

/* Responsive Mobile */
@media (max-width: 968px) {
  .aq-s-buybox .buybox-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }
  .aq-s-buybox .gallery-layout {
    flex-direction: column-reverse;
    position: static;
  }
  .aq-s-buybox .gallery-thumbs {
    flex-direction: row;
    width: 100%;
    justify-content: center;
  }
  .aq-s-buybox .thumb-btn {
    width: 68px;
    height: 68px;
  }

  .aq-s-buybox .buybox-title {
    font-size: var(--aq-fs-title-m, var(--aq-fs-title, 33.6px));
  }
}
/* ===== Complements refonte : labels cliquables, details natifs, radios ===== */

.aq-s-buybox .purchase-card,
.aq-s-buybox .card-header-row,
.aq-s-buybox .card-details-body,
.aq-s-buybox .card-price-wrap,
.aq-s-buybox .card-radio-wrap,
.aq-s-buybox .plan-detail-line,
.aq-s-buybox .plan-guarantee-line {
  display: block;
}

.aq-s-buybox .purchase-card { cursor: pointer; }

.aq-s-buybox .card-header-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.aq-s-buybox .card-radio-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
}

.aq-s-buybox .card-price-wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
}

/* La carte non selectionnee masque son detail : plus de style="display:none"
   pose par JavaScript. */
.aq-s-buybox .purchase-card:not(.selected) .card-details-body {
  display: none;
}

.aq-s-buybox .purchase-card:focus-within {
  outline: 2px solid var(--aq-accent-teal);
  outline-offset: 2px;
}

/* Options : le radio est masque, le label porte l'etat visuel. */
.aq-s-buybox .buybox-option {
  margin: 0 0 18px;
  padding: 0;
  border: 0;
}

.aq-s-buybox .buybox-option legend {
  padding: 0;
  margin-bottom: 10px;
}

.aq-s-buybox .buybox-swatch { cursor: pointer; }

.aq-s-buybox [data-aq-option-input]:checked + .buybox-swatch .swatch-circle,
.aq-s-buybox .buybox-swatch.is-selected .swatch-circle {
  transform: scale(1.12);
  box-shadow: 0 0 0 2px #FFFFFF, 0 0 0 4px var(--aq-accent-teal);
}

.aq-s-buybox [data-aq-option-input]:focus-visible + .buybox-swatch .swatch-circle {
  outline: 2px solid var(--aq-navy);
  outline-offset: 3px;
}

/* Accordeons natifs. */
.aq-s-buybox details.b-accordion-item > summary {
  list-style: none;
  cursor: pointer;
}

.aq-s-buybox details.b-accordion-item > summary::-webkit-details-marker {
  display: none;
}

.aq-s-buybox .b-acc-chevron::after { content: '+'; }
.aq-s-buybox details[open] .b-acc-chevron::after { content: '\2212'; }

/* Prix principal (nouveau bloc, absent de la maquette statique). */
.aq-s-buybox .buybox-price-row {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 10px;
  margin: 4px 0 18px;
}

.aq-s-buybox .buybox-price {
  font-family: var(--font-sans);
  font-size: 28px;
  font-weight: 700;
  color: var(--aq-navy);
  letter-spacing: -0.01em;
}

.aq-s-buybox .buybox-price-compare {
  font-size: 16.8px;
  color: var(--text-muted);
  text-decoration: line-through;
}

.aq-s-buybox .buybox-price-from {
  font-size: 13.1px;
  color: var(--text-muted);
}

.aq-s-buybox .trust-pill--link {
  display: inline-block;
  margin-bottom: 14px;
  text-decoration: none;
}

.aq-s-buybox .btn-buybox-primary[disabled] {
  opacity: 0.5;
  cursor: not-allowed;
}

/* ===== categories ===== */
.aq-section--categories {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  content-visibility: auto;
  contain-intrinsic-size: 450px;
}

.aq-s-categories {
  width: 100% !important;
  box-sizing: border-box !important;
}

.aq-s-categories .categories-section {
  padding: 64px 0 72px 0;
  background: var(--bg-primary);
  border-top: 1px solid var(--border-subtle);
}

.aq-s-categories .categories-grid {
  display: grid;
  grid-template-columns: repeat(var(--aq-cols, 4), minmax(0, 1fr));
  gap: var(--aq-gap, 18px);
}

.aq-s-categories .category-card {
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: var(--transition);
  box-shadow: var(--shadow-sm);
}

.aq-s-categories .category-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-md);
  border-color: #D6CEC2;
}

.aq-s-categories .cat-img-box {
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: var(--bg-sand);
}

.aq-s-categories .cat-img-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.aq-s-categories .category-card:hover .cat-img-box img {
  transform: scale(1.04);
}

.aq-s-categories .cat-body {
  padding: 16px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.aq-s-categories .cat-name {
  font-family: var(--aq-ff-title, var(--font-serif));
  font-size: var(--aq-fs-subtitle, 19.2px);
  font-weight: var(--aq-fw-subtitle, 600);
  color: var(--aq-c-title, var(--text-main));
  line-height: var(--aq-lh-title, 1.2);
}

.aq-s-categories .cat-benefit {
  font-size: 12.5px;
  color: var(--text-muted);
  margin-top: 2px;
}

.aq-s-categories .cat-arrow {
  font-size: 16.8px;
  color: var(--text-muted);
  transition: transform 0.25s ease, color 0.25s ease;
}

.aq-s-categories .category-card:hover .cat-arrow {
  transform: translateX(3px);
  color: var(--text-main);
}@media (max-width: 1024px) {
  .aq-s-categories .categories-grid { grid-template-columns: repeat(var(--aq-cols-tablet, 2), minmax(0, 1fr)); }
}@media (max-width: 480px) {
  .aq-s-categories .categories-grid { grid-template-columns: repeat(var(--aq-cols-mobile, 1), minmax(0, 1fr)); }
}

/* ===== communaute ===== */
.aq-section--communaute {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  content-visibility: auto;
  contain-intrinsic-size: 450px;
}

.aq-s-communaute {
  width: 100% !important;
  box-sizing: border-box !important;
}

.aq-s-communaute .community-section {
  padding: 64px 0;
  background: var(--bg-surface);
  border-top: 1px solid var(--border-subtle);
}

.aq-s-communaute .community-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 28px;
}

.aq-s-communaute .community-carousel {
  display: grid;
  grid-template-columns: repeat(var(--aq-cols, 5), minmax(0, 1fr));
  gap: var(--aq-gap, 16px);
}

.aq-s-communaute .community-card {
  background: var(--bg-sand-light);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  overflow: hidden;
  cursor: pointer;
  transition: var(--transition);
  display: flex;
  flex-direction: column;
}

.aq-s-communaute .community-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-md);
}

.aq-s-communaute .story-thumb-wrap {
  position: relative;
  aspect-ratio: 9 / 11;
  overflow: hidden;
  background: #000;
}

.aq-s-communaute .story-thumb-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
  opacity: 0.95;
}

.aq-s-communaute .community-card:hover .story-thumb-wrap img {
  transform: scale(1.04);
}

.aq-s-communaute .story-body {
  padding: 12px 14px;
  background: var(--bg-surface);
  display: flex;
  flex-direction: column;
  gap: var(--aq-gap, 3px);
}

.aq-s-communaute .story-quote {
  font-size: var(--aq-fs-text, 12.5px);
  font-weight: var(--aq-fw-text, 600);
  color: var(--aq-c-text, var(--text-main));
  line-height: var(--aq-lh-text, 1.3);
}

.aq-s-communaute .story-handle {
  font-size: 11.5px;
  color: var(--text-muted);
}@media (max-width: 1024px) {
  .aq-s-communaute .community-carousel { grid-template-columns: repeat(var(--aq-cols-tablet, 3), minmax(0, 1fr)); }
}@media (max-width: 768px) {
  .aq-s-communaute .community-carousel { grid-template-columns: repeat(var(--aq-cols-tablet, 2), minmax(0, 1fr)); }
}@media (max-width: 480px) {
  .aq-s-communaute .community-carousel { grid-template-columns: repeat(var(--aq-cols-mobile, 1), minmax(0, 1fr)); }
}

/* ===== comparatif-avant-apres ===== */
.aq-section--comparatif-avant-apres {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  content-visibility: auto;
  contain-intrinsic-size: auto 600px;
}

.aq-s-comparatif-avant-apres {
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  color: #334155;
}

.aq-s-comparatif-avant-apres .before-after-grid {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 56px;
  align-items: center;
}

.aq-s-comparatif-avant-apres .ba-title {
  font-family: var(--aq-ff-title, 'Cormorant Garamond', Georgia, serif);
  font-size: var(--aq-fs-title, 38.4px);
  font-weight: var(--aq-fw-title, 600);
  color:var(--aq-c-title, var(--aq-navy));
  line-height: var(--aq-lh-title, 1.15);
  margin: 8px 0 16px 0;
}

.aq-s-comparatif-avant-apres .ba-desc {
  font-size: var(--aq-fs-text, 15.2px);
  line-height: var(--aq-lh-text, 1.65);
  color: var(--aq-c-text, #64748b);
  margin-bottom: 24px;
}

.aq-s-comparatif-avant-apres .ba-points-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 28px;
}

.aq-s-comparatif-avant-apres .ba-point-item {
  display: flex;
  gap: 14px;
  align-items: flex-start;
}

.aq-s-comparatif-avant-apres .ba-icon-bad {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #FEE2E2;
  color: #DC2626;
  font-size: 13.6px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 2px;
}

.aq-s-comparatif-avant-apres .ba-icon-good {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #DCFCE7;
  color: #16A34A;
  font-size: 13.6px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 2px;
}

.aq-s-comparatif-avant-apres .ba-point-item strong {
  display: block;
  font-size: 14.7px;
  color: var(--aq-navy);
  margin-bottom: 2px;
}

.aq-s-comparatif-avant-apres .ba-point-item p {
  font-size: 13.6px;
  color: #64748b;
  line-height: 1.45;
  margin: 0;
}

.aq-s-comparatif-avant-apres .ba-btn {
  display: inline-flex;
  padding: 14px 28px;
  font-weight: var(--aq-fw-btn, 600);
  font-size: var(--aq-fs-btn, 14.7px);
  text-decoration: none;
  transition: transform 0.2s ease;
}

.aq-s-comparatif-avant-apres .ba-btn:hover {
  transform: translateY(-2px);
}

/* Right Duo Cards */
.aq-s-comparatif-avant-apres .ba-cards-duo {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.aq-s-comparatif-avant-apres .ba-card-item {
  background: #FAF7F2;
  border: 1px solid #EAE5DC;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 6px 20px rgba(16, 36, 62, 0.05);
  position: relative;
  display: flex;
  flex-direction: column;
}

.aq-s-comparatif-avant-apres .ba-card-item.highlight {
  border-color: #538283;
  box-shadow: 0 10px 28px rgba(83, 130, 131, 0.12);
}

.aq-s-comparatif-avant-apres .ba-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 2;
  font-size: 11.5px;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 9999px;
}

.aq-s-comparatif-avant-apres .bad-badge {
  background: rgba(220, 38, 38, 0.88);
  color: #FFFFFF;
}

.aq-s-comparatif-avant-apres .good-badge {
  background: #538283;
  color: #FFFFFF;
}

.aq-s-comparatif-avant-apres .ba-img-wrap {
  width: 100%;
  aspect-ratio: 1 / 1.1;
  background: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  overflow: hidden;
}

.aq-s-comparatif-avant-apres .ba-img-wrap img {
  max-width: 90%;
  max-height: 90%;
  object-fit: contain;
  transition: transform 0.3s ease;
}

.aq-s-comparatif-avant-apres .ba-card-item:hover .ba-img-wrap img {
  transform: scale(1.04);
}

.aq-s-comparatif-avant-apres .ba-card-caption {
  padding: 14px 16px;
  background: #FFFFFF;
  border-top: 1px solid #EAE5DC;
}

.aq-s-comparatif-avant-apres .ba-card-caption strong {
  display: block;
  font-size: 14.1px;
  color: var(--aq-navy);
  margin-bottom: 2px;
}

.aq-s-comparatif-avant-apres .ba-card-caption span {
  font-size: 12.2px;
  color: #64748b;
  line-height: 1.35;
  display: block;
}@media (max-width: 968px) {
  .aq-s-comparatif-avant-apres .before-after-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}@media (max-width: 520px) {
  .aq-s-comparatif-avant-apres .ba-cards-duo {
    grid-template-columns: 1fr;
  }
}

/* ===== entretien ===== */
.aq-section--entretien {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  content-visibility: auto;
  contain-intrinsic-size: 450px;
}

.aq-s-entretien {
  width: 100% !important;
  box-sizing: border-box !important;
}

.aq-s-entretien .maintenance-section {
  padding: 36px 0 72px 0;
  background: var(--bg-primary);
}

.aq-s-entretien .maintenance-card {
  background: var(--bg-sand-light);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-xl);
  overflow: hidden;
  display: grid;
  grid-template-columns: 1.1fr 1.3fr 1fr;
  align-items: center;
  gap: 36px;
  padding: 28px 36px;
  box-shadow: var(--shadow-sm);
}

.aq-s-entretien .maintenance-img-col {
  border-radius: var(--radius-lg);
  overflow: hidden;
  aspect-ratio: 4 / 3;
}

.aq-s-entretien .maint-video-placeholder {
  position: relative;
  width: 100%;
  height: 100%;
  cursor: pointer;
  overflow: hidden;
}

.aq-s-entretien .maint-video-placeholder img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.aq-s-entretien .maint-video-placeholder:hover img {
  transform: scale(1.04);
}

.aq-s-entretien .maint-video-placeholder--video {
  cursor: default;
}

.aq-s-entretien .maint-video-placeholder .maint-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.aq-s-entretien .video-tag {
  position: absolute;
  bottom: 14px;
  left: 14px;
  background: rgba(14, 25, 33, 0.8);
  backdrop-filter: blur(4px);
  color: #FFFFFF;
  font-size: 11.2px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: var(--radius-pill);
}

.aq-s-entretien .maintenance-content-col {
  display: flex;
  flex-direction: column;
}

.aq-s-entretien .maintenance-title {
  font-family: var(--aq-ff-title, var(--font-serif));
  font-size: var(--aq-fs-title, 32px);
  font-weight: var(--aq-fw-title, 600);
  line-height: var(--aq-lh-title, 1.2);
  color: var(--aq-c-title, var(--text-main));
  margin-bottom: 10px;
}

.aq-s-entretien .maintenance-description {
  font-size: var(--aq-fs-text, 14.4px);
  color: var(--aq-c-text, var(--text-body));
  margin-bottom: 20px;
}

.aq-s-entretien .maintenance-benefits-col {
  display: flex;
  flex-direction: column;
  gap: 18px;
  border-left: 1px solid var(--border-subtle);
  padding-left: 32px;
}

.aq-s-entretien .m-benefit-item {
  display: flex;
  align-items: center;
  gap: 12px;
}

.aq-s-entretien .m-benefit-icon {
  width: 40px;
  height: 40px;
  border-radius: var(--radius-md);
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--accent-ocean);
  box-shadow: var(--shadow-sm);
  flex-shrink: 0;
}

.aq-s-entretien .m-benefit-txt strong {
  display: block;
  font-size: 13.8px;
  color: var(--text-main);
  font-weight: 700;
}

.aq-s-entretien .m-benefit-txt span {
  font-size: 12.2px;
  color: var(--text-muted);
}@media (max-width: 1024px) {
  .aq-s-entretien .maintenance-card { grid-template-columns: 1fr 1.2fr; }
  .aq-s-entretien .maintenance-benefits-col { grid-column: 1 / -1; border-left: none; border-top: 1px solid var(--border-subtle); padding-left: 0; padding-top: 20px; flex-direction: row; justify-content: space-between; }
}@media (max-width: 768px) {
  .aq-s-entretien .maintenance-card { grid-template-columns: 1fr; padding: 22px; }
  .aq-s-entretien .maintenance-benefits-col { flex-direction: column; gap: 14px; }
}

/* ===== etude-clinique ===== */
.aq-section--etude-clinique {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  content-visibility: auto;
  contain-intrinsic-size: auto 600px;
}

.aq-s-etude-clinique {
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  color: #334155;
}

.aq-s-etude-clinique .clinical-header {
  text-align: center;
  max-width: 700px;
  margin: 0 auto 40px auto;
}

.aq-s-etude-clinique .clinical-title {
  font-family: var(--aq-ff-title, 'Cormorant Garamond', Georgia, serif);
  font-size: var(--aq-fs-title, 36.8px);
  font-weight: var(--aq-fw-title, 600);
  color:var(--aq-c-title, var(--aq-navy));
  line-height: var(--aq-lh-title, 1.2);
  margin: 6px 0 10px 0;
}

.aq-s-etude-clinique .clinical-desc {
  font-size: var(--aq-fs-text, 15.2px);
  color: var(--aq-c-text, #64748b);
  line-height: var(--aq-lh-text, 1.5);
}

.aq-s-etude-clinique .clinical-stats-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.aq-s-etude-clinique .stat-card {
  background: #FFFFFF;
  border: 1px solid #EAE5DC;
  border-radius: 20px;
  padding: 32px 26px;
  text-align: center;
  box-shadow: 0 6px 20px rgba(16, 36, 62, 0.04);
  transition: transform 0.25s ease;
}

.aq-s-etude-clinique .stat-card:hover {
  transform: translateY(-4px);
}

.aq-s-etude-clinique .stat-card.featured-stat {
  border-color: #538283;
  background: #FCFDFD;
}

.aq-s-etude-clinique .stat-number {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 56px;
  font-weight: 700;
  color: #538283;
  line-height: 1;
  margin-bottom: 12px;
}

.aq-s-etude-clinique .stat-bar {
  width: 80px;
  height: 4px;
  background: #EAE5DC;
  border-radius: 9999px;
  margin: 0 auto 16px auto;
  overflow: hidden;
}

.aq-s-etude-clinique .stat-fill {
  height: 100%;
  background: #538283;
  border-radius: 9999px;
}

.aq-s-etude-clinique .stat-title {
  font-size: var(--aq-fs-subtitle, 18.4px);
  font-weight: var(--aq-fw-subtitle, 700);
  color:var(--aq-c-title, var(--aq-navy));
  margin-bottom: 8px;
}

.aq-s-etude-clinique .stat-text {
  font-size: var(--aq-fs-text, 14.1px);
  color: var(--aq-c-text, #64748b);
  line-height: var(--aq-lh-text, 1.5);
}

.aq-s-etude-clinique .clinical-seal-banner {
  margin-top: 36px;
  background: #FFFFFF;
  border: 1px solid #EAE5DC;
  border-radius: 14px;
  padding: 14px 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  font-size: 14.1px;
  color: #334155;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.02);
}

.aq-s-etude-clinique .seal-icon {
  font-size: 20.8px;
}@media (max-width: 868px) {
  .aq-s-etude-clinique .clinical-stats-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .aq-s-etude-clinique .clinical-title {
    font-size: var(--aq-fs-title-m, var(--aq-fs-title, 30.4px));
  }
  .aq-s-etude-clinique .clinical-seal-banner {
    flex-direction: column;
    text-align: center;
  }
}

.aq-s-etude-clinique .stat-source {
  margin: 12px 0 0;
  font-size: 11.5px;
  line-height: 1.45;
  color: var(--text-muted);
}

.aq-s-etude-clinique .stat-source a { color: inherit; }

.aq-s-etude-clinique .clinical-reference {
  margin: 26px auto 0;
  max-width: 780px;
  font-size: 12.2px;
  line-height: 1.55;
  color: var(--text-muted);
  text-align: center;
}

/* ===== experts ===== */
.aq-section--experts {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  content-visibility: auto;
  contain-intrinsic-size: auto 600px;
}

.aq-s-experts {
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  color: #334155;
}

.aq-s-experts .experts-header {
  text-align: center;
  max-width: 700px;
  margin: 0 auto 48px auto;
}

.aq-s-experts .experts-title {
  font-family: var(--aq-ff-title, 'Cormorant Garamond', Georgia, serif);
  font-size: var(--aq-fs-title, 36.8px);
  font-weight: var(--aq-fw-title, 600);
  color:var(--aq-c-title, var(--aq-navy));
  line-height: var(--aq-lh-title, 1.2);
  margin: 6px 0 10px 0;
}

.aq-s-experts .experts-desc {
  font-size: var(--aq-fs-text, 15.2px);
  color: var(--aq-c-text, #64748b);
  line-height: var(--aq-lh-text, 1.5);
}

.aq-s-experts .experts-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}

.aq-s-experts .expert-card {
  background: #FFFFFF;
  border: 1px solid #EAE5DC;
  border-radius: 18px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 4px 16px rgba(16, 36, 62, 0.03);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.aq-s-experts .expert-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 24px rgba(16, 36, 62, 0.08);
}

.aq-s-experts .expert-img-box {
  width: 100%;
  aspect-ratio: 4 / 4.5;
  overflow: hidden;
  background: #EAE5DC;
}

.aq-s-experts .expert-img-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.aq-s-experts .expert-card:hover .expert-img-box img {
  transform: scale(1.04);
}

.aq-s-experts .expert-content {
  padding: 20px 18px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.aq-s-experts .expert-name {
  font-family: var(--aq-ff-title, 'Cormorant Garamond', Georgia, serif);
  font-size: var(--aq-fs-subtitle, 20.8px);
  font-weight: var(--aq-fw-subtitle, 700);
  color:var(--aq-c-title, var(--aq-navy));
  margin: 0 0 2px 0;
}

.aq-s-experts .expert-role {
  font-size: 11.8px;
  font-weight: 600;
  color: #538283;
  margin-bottom: 12px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.aq-s-experts .expert-quote {
  font-size: var(--aq-fs-text, 13.1px);
  line-height: var(--aq-lh-text, 1.55);
  color: var(--aq-c-text, #475569);
  font-style: italic;
  margin: 0;
}@media (max-width: 968px) {
  .aq-s-experts .experts-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
  }
}@media (max-width: 580px) {
  .aq-s-experts .experts-grid {
    grid-template-columns: 1fr;
  }
}

.aq-s-experts .expert-card {
  margin: 0;
}

.aq-s-experts .expert-quote {
  margin: 10px 0 0;
  padding: 0;
  border: 0;
}

.aq-s-experts .experts-disclaimer {
  margin: 28px auto 0;
  max-width: 780px;
  font-size: 12.2px;
  line-height: 1.55;
  color: var(--text-muted);
  text-align: center;
}

/* ===== faq-contact ===== */
.aq-section--faq-contact {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  content-visibility: auto;
  contain-intrinsic-size: auto 600px;
}

.aq-s-faq-contact {
  background-color: var(--aq-sec-bg);
  padding-top: var(--aq-padding-top);
  padding-bottom: var(--aq-padding-bottom);
  font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  -webkit-font-smoothing: antialiased;
  border-top: 1px solid var(--aq-border-color);
}

.aq-s-faq-contact .faq-contact-container {
  max-width: var(--aq-maxw, 1200px);
  margin: 0 auto;
  padding-left: 24px;
  padding-right: 24px;
  box-sizing: border-box;
}

.aq-s-faq-contact .faq-contact-grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 48px;
  align-items: flex-start;
}

.aq-s-faq-contact .overline {
  display: inline-block;
  font-size: var(--aq-fs-overline, 12px);
  font-weight: var(--aq-fw-overline, 700);
  letter-spacing: var(--aq-ls-overline, 0.12em);
  text-transform: var(--aq-tt-overline, uppercase);
  color:var(--aq-c-overline, var(--aq-overline-color));
  margin-bottom: 8px;
}

.aq-s-faq-contact .section-title {
  font-family: var(--aq-ff-title, 'Cormorant Garamond', Georgia, serif);
  font-size: var(--aq-fs-title, 40px);
  font-weight: var(--aq-fw-title, 600);
  color:var(--aq-c-title, var(--aq-title-color));
  margin: 0 0 8px 0;
  line-height: var(--aq-lh-title, 1.2);
}

.aq-s-faq-contact .faq-sub-text {
  font-size: var(--aq-fs-text, 15.2px);
  color:var(--aq-c-text, var(--aq-text-muted));
  margin: 0 0 24px 0;
  line-height: var(--aq-lh-text, 1.5);
}

.aq-s-faq-contact .accordion {
  display: flex;
  flex-direction: column;
}

/* Raccourcis de la page Aide & contact. */
.aq-s-faq-contact .faq-shortcuts {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 0 0 28px;
}

.aq-s-faq-contact #faq,
.aq-s-faq-contact #nous-ecrire {
  scroll-margin-top: 110px;
}

.aq-s-faq-contact .faq-item {
  border-bottom: 1px solid var(--aq-border-color);
}

.aq-s-faq-contact .faq-question {
  width: 100%;
  text-align: left;
  padding: 18px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-family: inherit;
  font-size: 16.3px;
  font-weight: 600;
  color: var(--aq-title-color);
  background: transparent;
  border: none;
  cursor: pointer;
  transition: color 0.2s ease;
}

.aq-s-faq-contact .faq-question:hover {
  color: #538283;
}

.aq-s-faq-contact .faq-toggle-icon {
  font-size: 20.8px;
  font-weight: 400;
  color: var(--aq-text-muted);
  width: 24px;
  text-align: right;
  line-height: 1;
}

.aq-s-faq-contact .faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease, padding 0.3s ease;
  font-size: 14.7px;
  line-height: 1.6;
  color: var(--aq-text-color);
}

.aq-s-faq-contact .faq-answer p {
  margin: 0;
}

/* Contact Card */
.aq-s-faq-contact .contact-card {
  background: var(--aq-card-bg);
  border: 1px solid var(--aq-border-color);
  border-radius: 16px;
  padding: 32px;
  box-shadow: 0 4px 20px rgba(16, 36, 62, 0.04);
}

.aq-s-faq-contact .contact-card-title {
  font-family: var(--aq-ff-title, 'Cormorant Garamond', Georgia, serif);
  font-size: var(--aq-fs-subtitle, 29.6px);
  font-weight: var(--aq-fw-subtitle, 600);
  color:var(--aq-c-title, var(--aq-title-color));
  margin: 0 0 4px 0;
}

.aq-s-faq-contact .contact-card-sub {
  font-size: 14.1px;
  color: var(--aq-text-muted);
  margin: 0 0 20px 0;
  line-height: 1.4;
}

.aq-s-faq-contact .quick-contact-form {
  display: flex;
  flex-direction: column;
  gap: 13px;
}

.aq-s-faq-contact .form-group {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.aq-s-faq-contact .form-group label {
  font-size: 12.5px;
  font-weight: 600;
  color: var(--aq-title-color);
}

.aq-s-faq-contact .form-group input,
.aq-s-faq-contact .form-group select,
.aq-s-faq-contact .form-group textarea {
  padding: 11px 14px;
  background: #FAF7F2;
  border: 1px solid var(--aq-border-color);
  border-radius: 8px;
  font-family: inherit;
  font-size: 14.1px;
  color: var(--aq-title-color);
  outline: none;
  transition: all 0.2s ease;
  box-sizing: border-box;
  width: 100%;
}

.aq-s-faq-contact .form-group input:focus,
.aq-s-faq-contact .form-group select:focus,
.aq-s-faq-contact .form-group textarea:focus {
  border-color: #538283;
  background: #FFFFFF;
  box-shadow: 0 0 0 3px rgba(83, 130, 131, 0.12);
}

.aq-s-faq-contact .contact-submit-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background-color: var(--aq-btn-bg);
  color: var(--aq-btn-text);
  padding: 13px 24px;
  border-radius: var(--aq-br-btn, 9999px);
  font-size: var(--aq-fs-btn, 15.2px);
  font-weight: var(--aq-fw-btn, 600);
  border: none;
  cursor: pointer;
  width: 100%;
  margin-top: 4px;
  transition: all 0.25s ease;
  box-shadow: 0 4px 14px rgba(16, 36, 62, 0.12);
}

.aq-s-faq-contact .contact-submit-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(16, 36, 62, 0.2);
}@media (max-width: 900px) {
  .aq-s-faq-contact .faq-contact-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}

/* ===== Accordeons natifs : plus de hauteur calculee en JavaScript ===== */

.aq-s-faq-contact details.faq-item > summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
}

.aq-s-faq-contact details.faq-item > summary::-webkit-details-marker { display: none; }

.aq-s-faq-contact details.faq-item > summary:focus-visible {
  outline: 2px solid var(--accent-teal);
  outline-offset: 3px;
}

.aq-s-faq-contact .faq-toggle-icon::after { content: '+'; }
.aq-s-faq-contact details[open] .faq-toggle-icon::after { content: '\2212'; }

/* La reponse n'est plus bornee : une reponse longue s'affiche en entier. */
.aq-s-faq-contact details.faq-item .faq-answer {
  max-height: none;
  overflow: visible;
  padding-bottom: 20px;
}

.aq-s-faq-contact details.faq-item .faq-answer > :last-child { margin-bottom: 0; }

/* ===== filtration ===== */
.aq-section--filtration {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  content-visibility: auto;
  contain-intrinsic-size: 450px;
}

.aq-s-filtration {
  width: 100% !important;
  box-sizing: border-box !important;
}

.aq-s-filtration .how-it-works-section {
  padding: 68px 0;
  background: var(--bg-surface);
  border-top: 1px solid var(--border-subtle);
  border-bottom: 1px solid var(--border-subtle);
}

.aq-s-filtration .how-it-works-grid {
  display: grid;
  grid-template-columns: 1fr 1.25fr;
  gap: 52px;
  align-items: center;
}

.aq-s-filtration .how-description {
  font-size: var(--aq-fs-text, 15.4px);
  color: var(--aq-c-text, var(--text-body));
  line-height: var(--aq-lh-text, 1.65);
  margin: 18px 0 28px 0;
  max-width: 440px;
}

.aq-s-filtration .diagram-wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--bg-sand-light);
  padding: 36px 40px;
  border-radius: var(--radius-xl);
  border: 1px solid var(--border-subtle);
}

.aq-s-filtration .arrow-flow-icon {
  font-size: 25.6px;
  color: var(--text-muted);
}

.aq-s-filtration .diagram-cylinder {
  display: flex;
  justify-content: center;
  align-items: center;
}

.aq-s-filtration .cartridge-img {
  width: auto;
  height: 270px;
  mix-blend-mode: multiply;
  filter: drop-shadow(0 8px 16px rgba(0, 0, 0, 0.06));
}

.aq-s-filtration .diagram-layers {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.aq-s-filtration .layer-item {
  display: flex;
  align-items: center;
  gap: 12px;
}

.aq-s-filtration .layer-dash {
  color: var(--text-muted);
  letter-spacing: 2px;
}

.aq-s-filtration .layer-badge {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: 1.5px solid var(--text-main);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12.2px;
  font-weight: 700;
  color: var(--text-main);
  background: var(--bg-surface);
  box-shadow: var(--shadow-sm);
  flex-shrink: 0;
}

.aq-s-filtration .layer-text strong {
  display: block;
  font-size: var(--aq-fs-text, 14.4px);
  color: var(--aq-c-text, var(--text-main));
  font-weight: var(--aq-fw-text, 700);
}

.aq-s-filtration .layer-text span {
  font-size: var(--aq-fs-text, 12.2px);
  color: var(--aq-c-text, var(--text-muted));
}@media (max-width: 768px) {
  .aq-s-filtration .diagram-wrapper { flex-direction: column; gap: 24px; text-align: center; }
  .aq-s-filtration .how-it-works-grid { grid-template-columns: 1fr; gap: 32px; }
}

/* ===== footer ===== */
.aq-section--footer {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  content-visibility: auto;
  contain-intrinsic-size: 450px;
}

.aq-s-footer {
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Le conteneur generique ajoute 60 px de marge interne sans fond : une bande
   vide apparaissait sous le pied de page. Le bandeau gere ses propres marges. */
.aq-s-footer.aq-sec-wrapper[data-aq-styled] {
  padding-top: 0;
  padding-bottom: 0;
}

.aq-s-footer .site-footer {
  position: relative;
  background: var(--accent-blue-deep);
  color: #FFFFFF;
}

.aq-s-footer .footer-cta-banner {
  position: relative;
  overflow: hidden;
  padding-top: 68px;
  padding-bottom: 36px;
}

.aq-s-footer .footer-bg-wrap {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.aq-s-footer .footer-bg-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  /* L'image etait a 25 % d'opacite SOUS un voile a 92-98 % : elle n'etait
     visible qu'a environ 2 %, d'ou un pied de page uniformement marine. */
  opacity: var(--aq-footer-img-opacity, 1);
}

.aq-s-footer .footer-blue-overlay {
  position: absolute;
  inset: 0;
  /* Le voile s'assombrit vers le bas : la texture marine reste lisible en
     haut, et le texte du pied de page garde son contraste en bas. */
  background: linear-gradient(
    180deg,
    rgba(13, 33, 46, var(--aq-footer-veil-top, 0.72)) 0%,
    rgba(8, 20, 29, var(--aq-footer-veil-bottom, 0.94)) 100%
  );
}

.aq-s-footer .footer-cta-container {
  position: relative;
  z-index: 2;
}

.aq-s-footer .footer-cta-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--aq-gap, 32px);
  padding-bottom: 52px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.aq-s-footer .footer-cta-title {
  font-family: var(--aq-ff-title, var(--font-serif));
  font-size: var(--aq-fs-title, 36.8px);
  font-weight: var(--aq-fw-title, 600);
  line-height: var(--aq-lh-title, 1.15);
  color: var(--aq-c-title, #FFFFFF);
  margin: 6px 0;
}

.aq-s-footer .footer-cta-subtitle {
  font-size: 14.7px;
  color: rgba(255, 255, 255, 0.75);
}

.aq-s-footer .trust-badges-bar {
  display: grid;
  grid-template-columns: repeat(var(--aq-cols, 3), minmax(0, 1fr));
  gap: var(--aq-gap, 32px);
  padding: 36px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.aq-s-footer .t-badge-item {
  display: flex;
  align-items: flex-start;
  gap: var(--aq-gap, 14px);
}

.aq-s-footer .t-badge-icon {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.16);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #FFFFFF;
  flex-shrink: 0;
}

.aq-s-footer .t-badge-txt {
  display: flex;
  flex-direction: column;
}

.aq-s-footer .badge-bold {
  font-size: 14.1px;
  font-weight: 700;
  color: #FFFFFF;
}

.aq-s-footer .badge-sub {
  font-size: 12.2px;
  color: rgba(255, 255, 255, 0.65);
}

.aq-s-footer .footer-bottom-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 28px;
  font-size: 12.5px;
  color: rgba(255, 255, 255, 0.6);
}

.aq-s-footer .footer-legal-links {
  display: flex;
  gap: var(--aq-gap, 22px);
  list-style: none;
}

.aq-s-footer .footer-legal-links a:hover {
  color: #FFFFFF;
}@media (max-width: 768px) {
  .aq-s-footer .trust-badges-bar { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--aq-gap, 18px); }
  .aq-s-footer .footer-bottom-row { flex-direction: column; gap: var(--aq-gap, 16px); text-align: center; }
  .aq-s-footer .footer-cta-content {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--aq-gap, 24px);
    padding-bottom: 36px;
  }
  .aq-s-footer .footer-cta-content .btn,
  .aq-s-footer .footer-cta-content a[class*="btn"] { align-self: stretch; text-align: center; }
  /* Sans retour a la ligne, les quatre liens legaux depassaient a droite. */
  .aq-s-footer .footer-legal-links { flex-wrap: wrap; justify-content: center; row-gap: 10px; }
}

/* ===== header ===== */
.aq-section--header {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}

.aq-s-header {
  width: 100% !important;
  box-sizing: border-box !important;
}

.aq-s-header .announcement-bar {
  position: relative;
  background-color: var(--accent-blue-deep);
  color: #FFFFFF;
  font-size: 12.8px;
  padding: 8px 0;
  z-index: 101;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.aq-s-header .announcement-container {
  display: flex;
  align-items: center;
  justify-content: center;
}

.aq-s-header .announcement-text {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: var(--aq-fw-text, 500);
  letter-spacing: 0.02em;
}

.aq-s-header .promo-badge {
  background: var(--accent-gold);
  color: #1A1A1A;
  font-weight: 700;
  font-size: 10.9px;
  padding: 2px 7px;
  border-radius: var(--radius-pill);
  letter-spacing: 0.06em;
}

.aq-s-header .promo-code-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255, 255, 255, 0.14);
  border: 1px dashed rgba(255, 255, 255, 0.4);
  color: #FFFFFF;
  padding: 2px 10px;
  border-radius: var(--radius-pill);
  font-size: 12.2px;
  font-weight: 700;
  letter-spacing: 0.08em;
  cursor: pointer;
  transition: var(--transition);
}

.aq-s-header .promo-code-pill:hover {
  background: rgba(255, 255, 255, 0.25);
  border-color: #FFFFFF;
}

.aq-s-header .site-header {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
  background: rgba(250, 247, 242, 0.94);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(232, 226, 216, 0.6);
  transition: var(--transition);
}

.aq-s-header .header-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 68px;
}

.aq-s-header .brand-logo {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1;
}

.aq-s-header .logo-text {
  font-family: var(--aq-ff-text, var(--font-serif));
  font-size: var(--aq-fs-text, 28.8px);
  font-weight: var(--aq-fw-text, 700);
  color: var(--aq-c-text, var(--text-main));
  letter-spacing: -0.02em;
}

.aq-s-header .logo-wave {
  width: 36px;
  height: 6px;
  margin-top: 1px;
  color: var(--accent-ocean);
}

.aq-s-header .nav-list {
  display: flex;
  align-items: center;
  gap: 28px;
  list-style: none;
}

.aq-s-header .nav-link {
  font-size: 13.8px;
  font-weight: 500;
  color: var(--text-main);
  position: relative;
  padding: 6px 0;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.aq-s-header .nav-chevron {
  font-size: 11.2px;
  color: var(--text-muted);
}

.aq-s-header .nav-link:hover,.aq-s-header .nav-link.active {
  color: var(--accent-navy);
}

.aq-s-header .nav-link.active::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1.5px;
  background: var(--text-main);
  border-radius: 2px;
}

.aq-s-header .header-actions {
  display: flex;
  align-items: center;
  gap: 14px;
}

.aq-s-header .icon-btn {
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: var(--text-main);
  position: relative;
  transition: var(--transition);
}

.aq-s-header .icon-btn:hover {
  background-color: var(--bg-sand);
  color: var(--accent-navy);
}

.aq-s-header .cart-badge {
  position: absolute;
  top: 4px;
  right: 4px;
  background: var(--accent-navy);
  color: #FFFFFF;
  font-size: 10.4px;
  font-weight: 700;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1.5px solid var(--bg-primary);
}

.aq-s-header .mobile-toggle-btn {
  display: none;
  flex-direction: column;
  gap: 5px;
  width: 28px;
  height: 28px;
  justify-content: center;
}

.aq-s-header .mobile-toggle-btn span {
  display: block;
  width: 100%;
  height: 2px;
  background: var(--text-main);
  border-radius: 2px;
}@media (max-width: 768px) {
  .aq-s-header .main-nav { display: none; }
  .aq-s-header .mobile-toggle-btn { display: flex; }
}
}@media (max-width: 480px) {
  .aq-s-header .announcement-text { font-size: var(--aq-fs-text-m, var(--aq-fs-text, 11.8px)); flex-direction: column; gap: 4px; }
}

/* ===== Complements refonte : menus <details>, logo image, panneau mobile ===== */

.aq-s-header .announcement-bar {
  background-color: var(--aq-announce-bg);
  color: var(--aq-announce-text);
}

.aq-s-header .site-header {
  background: var(--aq-nav-bg);
  border-bottom-color: var(--aq-header-border);
}

.aq-s-header .site-header.scrolled {
  box-shadow: var(--shadow-sm);
}

.aq-s-header .logo-text { color:var(--aq-c-text, var(--aq-logo-color)); }
.aq-s-header .nav-link,
.aq-s-header .nav-sublink { color: var(--aq-nav-link); }

.aq-s-header .brand-logo-img {
  display: block;
  width: auto;
  max-width: 220px;
  height: auto;
}

.aq-s-header .promo-code-pill { text-decoration: none; }

/* Menus deroulants natifs. */
.aq-s-header .nav-details { position: relative; }

.aq-s-header .nav-details > summary {
  list-style: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.aq-s-header .nav-details > summary::-webkit-details-marker { display: none; }

.aq-s-header .nav-submenu {
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  z-index: 120;
  min-width: 210px;
  margin: 0;
  padding: 8px;
  list-style: none;
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-md);
}

.aq-s-header .nav-submenu a {
  display: block;
  padding: 9px 12px;
  border-radius: var(--radius-sm);
  font-size: 13.8px;
  text-decoration: none;
}

.aq-s-header .nav-submenu a:hover { background: var(--bg-sand-light); }

/* Menu mobile. */
.aq-s-header .mobile-menu { display: none; }

.aq-s-header .mobile-menu > summary {
  list-style: none;
  cursor: pointer;
}

.aq-s-header .mobile-menu > summary::-webkit-details-marker { display: none; }

.aq-s-header .mobile-menu-panel {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 120;
  padding: 16px 20px 22px;
  background: var(--bg-surface);
  border-top: 1px solid var(--border-subtle);
  box-shadow: var(--shadow-md);
}

.aq-s-header .mobile-menu-list,
.aq-s-header .mobile-menu-list ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.aq-s-header .mobile-menu-list a {
  display: block;
  padding: 11px 0;
  color: var(--aq-nav-link);
  font-size: 15.2px;
  font-weight: 500;
  text-decoration: none;
  border-bottom: 1px solid var(--border-subtle);
}

.aq-s-header .mobile-menu-list ul a {
  padding-left: 16px;
  font-size: 14.1px;
  font-weight: 400;
  color: var(--text-body);
}

@media (max-width: 900px) {
  .aq-s-header .main-nav { display: none; }
  .aq-s-header .mobile-menu { display: block; }
}

/* ===== hero ===== */
.aq-section--hero {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}

.aq-s-hero {
  background-color: var(--aq-sec-bg);
  position: relative;
  width: 100%;
  font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  -webkit-font-smoothing: antialiased;
}

.aq-s-hero .hero-section {
  position: relative;
  min-height: 560px;
  display: flex;
  align-items: center;
  overflow: hidden;
  border-bottom: 1px solid rgba(234, 229, 220, 0.8);
  background: var(--aq-sec-bg);
}

.aq-s-hero .hero-video-wrapper {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 1;
}

.aq-s-hero .hero-bg-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center right;
  pointer-events: none;
}

.aq-s-hero .hero-bg-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg, 
    rgba(250, 247, 242, 0.96) 0%, 
    rgba(250, 247, 242, 0.92) 42%, 
    rgba(250, 247, 242, 0.45) 68%, 
    rgba(250, 247, 242, 0.1) 100%
  );
  z-index: 2;
}

.aq-s-hero .hero-container {
  position: relative;
  z-index: 3;
  padding-top: 48px;
  padding-bottom: 64px;
  max-width: var(--aq-maxw, 1200px);
  margin: 0 auto;
  padding-left: 24px;
  padding-right: 24px;
  width: 100%;
  box-sizing: border-box;
}

.aq-s-hero .hero-content {
  max-width: 520px;
}

.aq-s-hero .overline {
  display: inline-block;
  font-size: var(--aq-fs-overline, 12px);
  font-weight: var(--aq-fw-overline, 700);
  letter-spacing: var(--aq-ls-overline, 0.12em);
  text-transform: var(--aq-tt-overline, uppercase);
  color:var(--aq-c-overline, var(--aq-overline-color));
  margin-bottom: 14px;
}

.aq-s-hero .hero-title {
  font-family: var(--aq-ff-title, 'Cormorant Garamond', Georgia, serif);
  font-size: var(--aq-fs-title, 54.4px);
  font-weight: var(--aq-fw-title, 600);
  line-height: var(--aq-lh-title, 1.1);
  color:var(--aq-c-title, var(--aq-title-color));
  margin: 0 0 18px 0;
  letter-spacing: var(--aq-ls-title, -0.02em);
}

.aq-s-hero .hero-description {
  font-size: var(--aq-fs-text, 16.8px);
  color:var(--aq-c-text, var(--aq-text-color));
  line-height: var(--aq-lh-text, 1.6);
  margin: 0 0 28px 0;
  max-width: 460px;
}

.aq-s-hero .hero-btn-row {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}

.aq-s-hero .hero-btn-main {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background-color: var(--aq-btn-bg);
  color: var(--aq-btn-text);
  padding: 13px 28px;
  border-radius: var(--aq-br-btn, 9999px);
  font-size: var(--aq-fs-btn, 15.2px);
  font-weight: var(--aq-fw-btn, 600);
  text-decoration: none;
  transition: all 0.25s ease;
  box-shadow: 0 4px 14px rgba(16, 36, 62, 0.15);
  border: 1px solid transparent;
}

.aq-s-hero .hero-btn-main:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(16, 36, 62, 0.22);
}

.aq-s-hero .hero-btn-sub {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 13px 26px;
  border-radius: var(--aq-br-btn, 9999px);
  font-size: var(--aq-fs-btn, 15.2px);
  font-weight: var(--aq-fw-btn, 500);
  text-decoration: none;
  color: var(--aq-title-color);
  background: rgba(255, 255, 255, 0.7);
  border: 1px solid rgba(16, 36, 62, 0.15);
  backdrop-filter: blur(4px);
  transition: all 0.25s ease;
}

.aq-s-hero .hero-btn-sub:hover {
  background: #FFFFFF;
  border-color: rgba(16, 36, 62, 0.3);
  transform: translateY(-2px);
}@media (max-width: 768px) {
  .aq-s-hero .hero-section {
    min-height: 480px;
  }
  .aq-s-hero .hero-bg-overlay {
    background: linear-gradient(
      180deg, 
      rgba(250, 247, 242, 0.94) 0%, 
      rgba(250, 247, 242, 0.88) 55%, 
      rgba(250, 247, 242, 0.6) 100%
    );
  }
  .aq-s-hero .hero-title {
    font-size: var(--aq-fs-title-m, var(--aq-fs-title, 36.8px));
  }
  .aq-s-hero .hero-btn-row {
    flex-direction: column;
    align-items: stretch;
  }
  .aq-s-hero .hero-btn-main,
  .aq-s-hero .hero-btn-sub {
    width: 100%;
    text-align: center;
  }
}

/* ===== histoire ===== */
.aq-section--histoire {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  content-visibility: auto;
  contain-intrinsic-size: 450px;
}

.aq-s-histoire {
  width: 100% !important;
  box-sizing: border-box !important;
}

.aq-s-histoire .brand-story-split-section {
  padding: 60px 0;
  background: var(--bg-primary);
}

.aq-s-histoire .brand-story-split-card {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  border-radius: var(--radius-xl);
  overflow: hidden;
  background: #0E222F;
  box-shadow: var(--shadow-md);
}

.aq-s-histoire .story-dark-col {
  padding: 56px 48px;
  color: #FFFFFF;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.aq-s-histoire .story-title {
  font-family: var(--aq-ff-title, var(--font-serif));
  font-size: var(--aq-fs-title, 41.6px);
  font-weight: var(--aq-fw-title, 600);
  line-height: var(--aq-lh-title, 1.15);
  color: var(--aq-c-title, #FFFFFF);
  margin-bottom: 16px;
}

.aq-s-histoire .story-text {
  font-size: var(--aq-fs-text, 14.7px);
  line-height: var(--aq-lh-text, 1.6);
  color: var(--aq-c-text, rgba(255, 255, 255, 0.85));
  margin-bottom: 24px;
}

.aq-s-histoire .story-img-col {
  position: relative;
  overflow: hidden;
}

.aq-s-histoire .story-img-col img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}@media (max-width: 1024px) {
  .aq-s-histoire .brand-story-split-card { grid-template-columns: 1fr; }
}

/* ===== legal ===== */
.aq-s-legal {
  padding: 56px 0 80px;
  background: var(--bg-primary);
}

.aq-s-legal .aq-legal-container {
  max-width: var(--aq-maxw, 820px);
  margin: 0 auto;
  padding: 0 24px;
  color: var(--text-body);
  font-family: var(--font-sans);
  font-size: 15.4px;
  line-height: 1.72;
}

.aq-s-legal .aq-legal-h1 {
  margin: 0 0 8px;
  padding-bottom: 14px;
  border-bottom: 2px solid var(--border-subtle);
  color: var(--aq-c-title, var(--text-main));
  font-family: var(--aq-ff-title, var(--font-serif));
  font-size: var(--aq-fs-title, 38.4px);
  font-weight: var(--aq-fw-title, 600);
  line-height: var(--aq-lh-title, 1.15);
}

.aq-s-legal .aq-legal-h2 {
  margin: 38px 0 14px;
  color: var(--aq-c-title, var(--text-main));
  font-family: var(--aq-ff-title, var(--font-serif));
  font-size: var(--aq-fs-title, 25.6px);
  font-weight: var(--aq-fw-title, 600);
}

.aq-s-legal .aq-legal-date {
  margin: 0 0 28px;
  color: var(--text-muted);
  font-size: 13.1px;
}

.aq-s-legal .aq-legal-container p { margin: 0 0 14px; }

.aq-s-legal .aq-legal-container ul {
  margin: 0 0 16px;
  padding-left: 22px;
}

.aq-s-legal .aq-legal-container li { margin-bottom: 8px; }

.aq-s-legal .aq-legal-identity {
  padding: 20px 24px;
  margin-bottom: 16px;
  list-style: none;
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
}

.aq-s-legal .aq-legal-identity li { margin-bottom: 6px; }
.aq-s-legal .aq-legal-identity strong { color: var(--text-main); }

.aq-s-legal .aq-legal-container a { color: var(--accent-ocean); }

.aq-s-legal .aq-legal-table-wrap {
  overflow-x: auto;
  margin-bottom: 18px;
}

.aq-s-legal .aq-legal-table {
  width: 100%;
  min-width: 460px;
  border-collapse: collapse;
  background: var(--bg-surface);
  font-size: 14.4px;
}

.aq-s-legal .aq-legal-table th,
.aq-s-legal .aq-legal-table td {
  padding: 11px 14px;
  border: 1px solid var(--border-subtle);
  text-align: left;
  vertical-align: top;
}

.aq-s-legal .aq-legal-table th {
  background: var(--bg-sand-light);
  color: var(--text-main);
  font-weight: 600;
}

.aq-s-legal .aq-legal-notice {
  padding: 18px 22px;
  border-left: 3px solid var(--accent-gold);
  background: var(--bg-sand-light);
}

.aq-s-legal .aq-legal-hint {
  color: var(--text-muted);
  font-size: 13.1px;
  font-style: italic;
}

@media (max-width: 600px) {
  .aq-s-legal .aq-legal-h1 { font-size: var(--aq-fs-title-m, var(--aq-fs-title, 30.4px)); }
  .aq-s-legal .aq-legal-h2 { font-size: var(--aq-fs-title-m, var(--aq-fs-title, 21.6px)); }
}

/* ===== piliers ===== */
.aq-section--piliers {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  content-visibility: auto;
  contain-intrinsic-size: 450px;
}

.aq-s-piliers {
  width: 100% !important;
  box-sizing: border-box !important;
}

.aq-s-piliers .value-props-section {
  background: var(--bg-surface);
  border-bottom: 1px solid var(--border-subtle);
  padding: 36px 0;
}

.aq-s-piliers .value-props-grid {
  display: grid;
  grid-template-columns: repeat(var(--aq-cols, 4), minmax(0, 1fr));
  gap: var(--aq-gap, 28px);
  text-align: center;
}

.aq-s-piliers .value-prop-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 8px;
}

.aq-s-piliers .prop-icon {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--accent-ocean);
  margin-bottom: 12px;
  background: var(--bg-sand-light);
  border: 1px solid var(--border-subtle);
  transition: var(--transition);
}

.aq-s-piliers .value-prop-item:hover .prop-icon {
  transform: translateY(-2px);
  background: var(--bg-sand);
}

.aq-s-piliers .prop-title {
  font-family: var(--aq-ff-title, var(--font-serif));
  font-size: var(--aq-fs-subtitle, 19.2px);
  font-weight: var(--aq-fw-subtitle, 600);
  color: var(--aq-c-title, var(--text-main));
  margin-bottom: 4px;
}

.aq-s-piliers .prop-text {
  font-size: var(--aq-fs-text, 13.1px);
  color: var(--aq-c-text, var(--text-muted));
  line-height: var(--aq-lh-text, 1.4);
  max-width: 210px;
}@media (max-width: 1024px) {
  .aq-s-piliers .value-props-grid { grid-template-columns: repeat(var(--aq-cols-tablet, 2), minmax(0, 1fr)); gap: var(--aq-gap, 24px); }
}@media (max-width: 480px) {
  .aq-s-piliers .value-props-grid { grid-template-columns: repeat(var(--aq-cols-mobile, 1), minmax(0, 1fr)); }
}

/* ===== produit-phare ===== */
.aq-section--produit-phare {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  content-visibility: auto;
  contain-intrinsic-size: 450px;
}

.aq-s-produit-phare {
  width: 100% !important;
  box-sizing: border-box !important;
}

.aq-s-produit-phare .featured-product-section {
  padding: 68px 0;
  background: var(--bg-primary);
}

.aq-s-produit-phare .featured-product-grid {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 52px;
  align-items: center;
}

.aq-s-produit-phare .featured-media-col .image-wrapper {
  position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-md);
  aspect-ratio: 1 / 1;
  background: var(--bg-surface);
}

.aq-s-produit-phare .featured-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform 0.6s ease;
}

.aq-s-produit-phare .image-wrapper:hover .featured-img {
  transform: scale(1.02);
}

.aq-s-produit-phare .badge-tag {
  position: absolute;
  top: 18px;
  left: 18px;
  z-index: 5;
  background: rgba(220, 207, 192, 0.9);
  backdrop-filter: blur(8px);
  color: var(--aq-c-overline, var(--accent-tan-text));
  font-size: var(--aq-fs-overline, 10.6px);
  font-weight: var(--aq-fw-overline, 700);
  letter-spacing: var(--aq-ls-overline, 0.14em);
  padding: 5px 12px;
  border-radius: var(--radius-pill);
  border: 1px solid rgba(255, 255, 255, 0.4);
}

.aq-s-produit-phare .featured-info-col {
  display: flex;
  flex-direction: column;
}

.aq-s-produit-phare .featured-description {
  font-size: var(--aq-fs-text, 15.4px);
  color: var(--aq-c-text, var(--text-body));
  line-height: var(--aq-lh-text, 1.6);
  margin: 16px 0 24px 0;
}

.aq-s-produit-phare .feature-checklist {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 28px;
}

.aq-s-produit-phare .check-item {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.aq-s-produit-phare .check-icon {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--accent-ocean);
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11.5px;
  font-weight: 700;
  flex-shrink: 0;
}

.aq-s-produit-phare .check-text {
  font-size: var(--aq-fs-text, 14.4px);
  font-weight: var(--aq-fw-text, 500);
  color: var(--aq-c-text, var(--text-main));
}@media (max-width: 768px) {
  .aq-s-produit-phare .featured-product-grid { grid-template-columns: 1fr; gap: 32px; }
}

.aq-s-produit-phare .featured-price-row {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 20px;
}

.aq-s-produit-phare .featured-price {
  font-size: 22.4px;
  font-weight: 700;
  color: var(--aq-title-color);
}

.aq-s-produit-phare .featured-price-compare {
  color: var(--text-muted);
  font-size: 16px;
}

.aq-s-produit-phare .featured-soldout {
  padding: 3px 10px;
  border-radius: var(--radius-pill);
  background: var(--bg-sand);
  color: var(--text-muted);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
}

/* ===== produits ===== */
.aq-section--produits {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  content-visibility: auto;
  contain-intrinsic-size: 450px;
}

.aq-s-produits {
  width: 100% !important;
  box-sizing: border-box !important;
}

.aq-s-produits .bestsellers-section {
  padding: 68px 0;
  background: var(--bg-primary);
}

.aq-s-produits .bestsellers-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 28px;
}

.aq-s-produits .bestsellers-carousel-container {
  position: relative;
  display: flex;
  align-items: center;
}

.aq-s-produits .side-arrow-btn {
  position: absolute;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid var(--border-subtle);
  background: var(--bg-surface);
  color: var(--text-main);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20.8px;
  line-height: 1;
  box-shadow: var(--shadow-sm);
  z-index: 10;
  transition: var(--transition);
}

.aq-s-produits .side-arrow-btn.left-arrow { left: -18px; }
.aq-s-produits .side-arrow-btn.right-arrow { right: -18px; }

.aq-s-produits .side-arrow-btn:hover {
  background: var(--text-main);
  color: #FFFFFF;
  border-color: var(--text-main);
}

.aq-s-produits .bestsellers-carousel {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  width: 100%;
}

.aq-s-produits .product-card {
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition: var(--transition);
  display: flex;
  flex-direction: column;
}

.aq-s-produits .product-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-md);
}

.aq-s-produits .prod-img-box {
  aspect-ratio: 1 / 1;
  width: 100%;
  overflow: hidden;
  background: var(--bg-sand-light);
}

.aq-s-produits .prod-img-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.aq-s-produits .product-card:hover .prod-img-box img {
  transform: scale(1.04);
}

.aq-s-produits .prod-details {
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.aq-s-produits .prod-title {
  font-size: var(--aq-fs-subtitle, 14.7px);
  font-weight: var(--aq-fw-subtitle, 700);
  color: var(--aq-c-title, var(--text-main));
}

.aq-s-produits .prod-rating-row {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 2px;
}

.aq-s-produits .rating-count {
  font-size: 11.8px;
  color: var(--text-muted);
}

.aq-s-produits .prod-price-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 6px;
}

.aq-s-produits .prod-price {
  font-size: 15px;
  font-weight: 700;
  color: var(--text-main);
}

.aq-s-produits .prod-arrow-btn {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--bg-sand);
  color: var(--text-main);
  font-size: 14.4px;
  border: 1px solid var(--border-subtle);
  transition: var(--transition);
}

.aq-s-produits .product-card:hover .prod-arrow-btn {
  background: var(--accent-navy);
  color: #FFFFFF;
  border-color: var(--accent-navy);
}@media (max-width: 1024px) {
  .aq-s-produits .bestsellers-carousel { grid-template-columns: repeat(2, 1fr); }
}@media (max-width: 480px) {
  .aq-s-produits .bestsellers-carousel { grid-template-columns: 1fr; }
}

/* ===== Complements refonte : badges, prix barre, fleches desactivables ===== */

.aq-s-produits .prod-img-box { position: relative; }

.aq-s-produits .prod-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  padding: 4px 10px;
  border-radius: var(--radius-pill);
  font-size: 11.2px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.aq-s-produits .prod-badge--sale {
  background: var(--accent-gold);
  color: #1A1A1A;
}

.aq-s-produits .prod-badge--soldout {
  background: var(--text-muted);
  color: #FFFFFF;
}

.aq-s-produits .prod-price-compare {
  margin-left: 6px;
  color: var(--text-muted);
  font-size: 0.85em;
  font-weight: 400;
}

.aq-s-produits .prod-img-box .placeholder-svg {
  width: 100%;
  height: 100%;
  background: var(--bg-sand);
  fill: var(--text-muted);
}

.aq-s-produits .bestsellers-carousel {
  scroll-snap-type: x mandatory;
}

.aq-s-produits .bestsellers-carousel > * { scroll-snap-align: start; }

.aq-s-produits .bestsellers-carousel:focus-visible {
  outline: 2px solid var(--accent-teal);
  outline-offset: 4px;
}

.aq-s-produits .side-arrow-btn[disabled] {
  opacity: 0.35;
  cursor: default;
}

/* Le bouton d'ajout peut aussi etre un lien vers la fiche produit
   (cas d'un produit a plusieurs variantes). */
.aq-s-produits a.prod-arrow-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

/* Titres de l'encart produit et de la biographie : niveau h2 pour respecter
   la hierarchie, mais taille visuelle d'origine. */
.aq-s-article .aq-rec-title {
  margin: 0 0 6px;
  font-family: var(--aq-ff-title, var(--font-serif));
  font-size: 18.4px;
  font-weight: 600;
  line-height: 1.25;
  color: var(--aq-c-title, var(--text-main));
}

.aq-s-article .aq-author-heading {
  margin: 0 0 8px;
  font-family: var(--aq-ff-title, var(--font-serif));
  font-size: 16.8px;
  font-weight: 600;
  color: var(--aq-c-title, var(--text-main));
}

/* =============================================================================
   COMPATIBILITE DAWN : elements decoratifs vides
   =============================================================================
   base.css de Dawn contient :
       a:empty, ul:empty, dl:empty, div:empty, section:empty, article:empty,
       p:empty, h1:empty … { display: none }

   Nos elements purement decoratifs n'ont aucun contenu textuel : le voile du
   hero, celui du pied de page, les pastilles de finition, les jauges. Ils
   etaient donc masques, et le texte du hero se retrouvait sur la photo brute.

   Les selecteurs ci-dessous reprennent `:empty` pour depasser la specificite
   de la regle de Dawn (0,1,1) sans recourir a !important, et retablissent le
   type de boite attendu par le design.
   ============================================================================= */

.aq-sec-wrapper .hero-bg-overlay:empty,
.aq-sec-wrapper .footer-blue-overlay:empty,
.aq-sec-wrapper .stat-fill:empty {
  display: block;
}

.aq-sec-wrapper .swatch-circle:empty,
.aq-sec-wrapper .faq-toggle-icon:empty,
.aq-sec-wrapper .card-price-strike:empty {
  display: inline-block;
}

/* Le chevron des accordeons de la buy box porte son signe en ::after :
   `:empty` le considere vide, alors qu'il doit rester visible. */
.aq-sec-wrapper details.b-accordion-item .b-acc-chevron:empty {
  display: inline-block;
}

/* Tiroir panier : la liste et les remises sont remplies par JavaScript, mais
   le fond reste vide en permanence. */
.aq-cart-backdrop:empty {
  display: block;
}

.aq-cart-items:empty,
.aq-cart-discounts:empty {
  display: flex;
}

/* =============================================================================
   CORRECTIFS DE MISE EN PAGE
   ============================================================================= */

/* Un element de grille a `min-width: auto` par defaut : sa largeur minimale
   vaut la largeur intrinseque de son contenu. Une image de 1376 px forcait
   donc sa colonne a 900 px et ecrasait la colonne de texte a 204 px. */
.aq-sec-wrapper [class$="-grid"] > *,
.aq-sec-wrapper [class*="-grid "] > *,
.aq-sec-wrapper .featured-product-grid > *,
.aq-sec-wrapper .buybox-grid > *,
.aq-sec-wrapper .before-after-grid > *,
.aq-sec-wrapper .trust-grid > *,
.aq-sec-wrapper .faq-contact-grid > * {
  min-width: 0;
}

/* Dawn souligne tous les liens (a { text-decoration: underline }). Le logo,
   la navigation, les cartes et les icones n'ont pas a l'etre : le soulignement
   est reserve au survol et aux liens de texte courant. */
.aq-sec-wrapper a,
.aq-cart-drawer a {
  text-decoration: none;
}

.aq-sec-wrapper .aq-legal-container a,
.aq-sec-wrapper .stat-source a,
.aq-sec-wrapper .experts-disclaimer a {
  text-decoration: underline;
}

.aq-sec-wrapper .nav-link:hover,
.aq-sec-wrapper .view-all-link:hover,
.aq-sec-wrapper .read-more-link:hover,
.aq-sec-wrapper .aq-cart-item__title:hover {
  text-decoration: underline;
}

/* =============================================================================
   QUALITE : tablette et cibles tactiles
   ============================================================================= */

/* Le schema de filtration ne passait en colonne qu'en dessous de 768 px : a
   820 px il debordait de 57 px hors de l'ecran. Il suit desormais le palier
   tablette de Dawn. */
@media screen and (max-width: 989px) {
  .aq-s-filtration .diagram-wrapper {
    flex-direction: column;
    gap: 24px;
    text-align: center;
  }

  .aq-s-filtration .diagram-layers,
  .aq-s-filtration .layer-item,
  .aq-s-filtration .layer-text {
    min-width: 0;
    max-width: 100%;
  }
}

/* Les elements flex heritent du meme defaut que la grille : leur largeur
   minimale vaut celle de leur contenu, d'ou les debordements. */
.aq-sec-wrapper [class$="-wrapper"] > *,
.aq-sec-wrapper [class$="-row"] > *,
.aq-sec-wrapper [class$="-col"] > * {
  min-width: 0;
}

/* Cibles tactiles : 44 px minimum sur ecran tactile, recommandation WCAG et
   critere Lighthouse. Applique uniquement au pointeur grossier, pour ne pas
   alourdir la souris. */
@media (pointer: coarse) {
  .aq-sec-wrapper a,
  .aq-sec-wrapper button,
  .aq-cart-drawer a,
  .aq-cart-drawer button {
    min-height: 44px;
  }

  .aq-sec-wrapper .icon-btn,
  .aq-sec-wrapper .side-arrow-btn,
  .aq-sec-wrapper .tiny-arrow-btn,
  .aq-sec-wrapper .prod-arrow-btn,
  .aq-cart-drawer .aq-cart-qty__btn {
    min-width: 44px;
  }

  /* Les liens en ligne dans un paragraphe ne doivent pas casser l'interligne.
     La pastille du code promo est une exception : c'est un vrai bouton. */
  .aq-sec-wrapper p a:not(.promo-code-pill):not(.btn),
  .aq-sec-wrapper li a:not(.btn),
  .aq-sec-wrapper .aq-legal-container a {
    min-height: 0;
  }

  .aq-sec-wrapper .promo-code-pill {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }
}


/* ===================== aquamerra-404 ===================== */

.aq-s-404 .aq-404-inner {
  max-width: 720px;
  text-align: center;
}

.aq-s-404 .aq-404-text {
  margin: 14px auto 0;
  max-width: 520px;
}

.aq-s-404 .aq-404-search {
  display: flex;
  gap: 10px;
  margin: 30px auto 0;
  max-width: 460px;
}

.aq-s-404 .aq-404-search input {
  flex: 1;
  min-width: 0;
  padding: 13px 18px;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-pill);
  background: var(--bg-surface);
  font-family: var(--font-sans);
  font-size: 15px;
  color: var(--text-main);
}

.aq-s-404 .aq-404-search input:focus-visible {
  outline: 2px solid var(--accent-teal);
  outline-offset: 2px;
}

.aq-s-404 .aq-404-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 40px auto 0;
  max-width: 620px;
  text-align: left;
}

.aq-s-404 .aq-404-link {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 20px;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  background: var(--bg-surface);
  color: var(--text-main);
  transition: var(--transition);
}

.aq-s-404 .aq-404-link:hover {
  border-color: var(--accent-teal);
  transform: translateY(-2px);
}

.aq-s-404 .aq-404-link .aq-icon { color: var(--accent-teal-text); }

.aq-s-404 .aq-404-link strong {
  display: block;
  font-size: 15px;
  font-weight: 600;
}

.aq-s-404 .aq-404-link em {
  display: block;
  margin-top: 2px;
  font-size: 13px;
  font-style: normal;
  color: var(--text-muted);
}

@media screen and (max-width: 749px) {
  .aq-s-404 .aq-404-links { grid-template-columns: 1fr; }
  .aq-s-404 .aq-404-search { flex-direction: column; }
}


/* Le pied de page est sombre : sans regle de couleur, les liens legaux
   heritaient du bleu par defaut du navigateur, illisible sur ce fond. */
.aq-s-footer .footer-legal-links a,
.aq-s-footer .footer-bottom-row a {
  color: rgba(255, 255, 255, 0.72);
  transition: color 0.2s ease;
}

.aq-s-footer .footer-legal-links a:hover,
.aq-s-footer .footer-bottom-row a:hover {
  color: #FFFFFF;
  text-decoration: underline;
}

@media (max-width: 540px) {
  .aq-s-footer .trust-badges-bar { grid-template-columns: 1fr; }
}

/* ===== inscription a la lettre d'information ===== */

.aq-s-footer .footer-newsletter {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--aq-gap, 40px);
  align-items: center;
  padding: 34px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.aq-s-footer .footer-newsletter-title {
  font-family: var(--aq-ff-title, var(--font-serif));
  font-size: 21px;
  line-height: 1.25;
  margin: 0 0 6px;
  color: #FFFFFF;
}

.aq-s-footer .footer-newsletter-sub {
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.66);
  max-width: 46ch;
}

.aq-s-footer .footer-newsletter-row {
  display: flex;
  gap: 10px;
}

.aq-s-footer .footer-newsletter-row input[type="email"] {
  flex: 1 1 auto;
  min-width: 0;
  padding: 13px 16px;
  font: inherit;
  font-size: 15px;
  color: #FFFFFF;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 999px;
}

.aq-s-footer .footer-newsletter-row input[type="email"]::placeholder {
  color: rgba(255, 255, 255, 0.45);
}

.aq-s-footer .footer-newsletter-row input[type="email"]:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.7);
  outline-offset: 1px;
}

.aq-s-footer .footer-newsletter-row button {
  flex: none;
  white-space: nowrap;
}

.aq-s-footer .footer-newsletter-consent {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin-top: 12px;
  font-size: 12.5px;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.6);
  cursor: pointer;
}

.aq-s-footer .footer-newsletter-consent input {
  flex: none;
  margin: 2px 0 0;
  width: 15px;
  height: 15px;
  accent-color: #FFFFFF;
}

.aq-s-footer .footer-newsletter-ok,
.aq-s-footer .footer-newsletter-err {
  margin: 0;
  font-size: 14px;
  padding: 12px 16px;
  border-radius: 8px;
}

.aq-s-footer .footer-newsletter-ok {
  color: #FFFFFF;
  background: rgba(255, 255, 255, 0.12);
}

.aq-s-footer .footer-newsletter-err {
  margin-top: 10px;
  color: #FFD9CE;
  background: rgba(190, 75, 45, 0.24);
}

@media (max-width: 880px) {
  .aq-s-footer .footer-newsletter { grid-template-columns: 1fr; gap: var(--aq-gap, 20px); }
}

@media (max-width: 540px) {
  .aq-s-footer .footer-newsletter-row { flex-direction: column; }
  .aq-s-footer .footer-newsletter-row button { width: 100%; }
}

/* ===== vente croisee ===== */

.aq-s-croise .croise-container { max-width: var(--aq-max-width, 1200px); margin: 0 auto; }

.aq-s-croise .croise-head { margin-bottom: 24px; }

.aq-s-croise .croise-overline {
  display: block;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--aq-overline-color, #A68A68);
  margin-bottom: 8px;
}

.aq-s-croise .croise-title {
  font-family: var(--aq-ff-title, var(--font-serif));
  font-size: var(--aq-title-size, 30px);
  line-height: 1.15;
  color: var(--aq-title-color, #023f58);
  margin: 0;
}

.aq-s-croise .croise-subtitle {
  margin: 8px 0 0;
  font-size: var(--aq-text-size, 15px);
  color: var(--aq-text-color, #5A6B75);
  max-width: 58ch;
}

.aq-s-croise .croise-grid {
  display: grid;
  grid-template-columns: repeat(var(--aq-cols, 3), minmax(0, 1fr));
  gap: var(--aq-gap, 22px);
}

.aq-s-croise .croise-card {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  grid-template-areas: "visuel corps" "visuel action";
  align-content: center;
  gap: 4px 16px;
  padding: 16px;
  background: var(--aq-card-bg, #FFFFFF);
  border: var(--aq-card-border-width, 1px) solid var(--aq-card-border-color, #EAE5DC);
  border-radius: var(--aq-card-radius, 16px);
}

.aq-s-croise .croise-visuel {
  grid-area: visuel;
  display: block;
  align-self: center;
  aspect-ratio: 1;
  max-width: 100%;
  overflow: hidden;
  border-radius: calc(var(--aq-card-radius, 16px) - 6px);
  background: #F3EFE8;
}

.aq-s-croise .croise-visuel img,
.aq-s-croise .croise-visuel svg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.aq-s-croise .croise-corps { grid-area: corps; min-width: 0; }

.aq-s-croise .croise-nom {
  display: block;
  font-weight: 600;
  font-size: 15px;
  line-height: 1.3;
  color: var(--aq-title-color, #023f58);
  text-decoration: none;
}

.aq-s-croise .croise-nom:hover { text-decoration: underline; }

.aq-s-croise .croise-note {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  margin-top: 4px;
  font-size: 12px;
  color: var(--aq-text-color, #5A6B75);
}

.aq-s-croise .croise-etoile { color: #D6CFC2; line-height: 1; }
.aq-s-croise .croise-etoile.est-pleine { color: #C8962F; }
.aq-s-croise .croise-note-nb { margin-left: 3px; }

.aq-s-croise .croise-prix {
  display: block;
  margin-top: 4px;
  font-size: 15px;
  font-weight: 600;
  color: var(--aq-title-color, #023f58);
  font-variant-numeric: tabular-nums;
}

.aq-s-croise .croise-action { grid-area: action; margin-top: 10px; }
.aq-s-croise .croise-form { margin: 0; }

.aq-s-croise .croise-btn {
  display: inline-block;
  padding: 9px 20px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  color: #FFFFFF;
  background: var(--aq-btn-bg, #023f58);
  border: 0;
  border-radius: 999px;
  cursor: pointer;
  text-decoration: none;
  transition: opacity 0.2s ease;
}

.aq-s-croise .croise-btn:hover { opacity: 0.86; }

.aq-s-croise .croise-epuise {
  display: inline-block;
  font-size: 13px;
  color: var(--aq-text-color, #5A6B75);
}

@media (max-width: 989px) {
  .aq-s-croise .croise-grid { grid-template-columns: repeat(var(--aq-cols-tablet, 2), minmax(0, 1fr)); }
}

@media (max-width: 749px) {
  .aq-s-croise .croise-grid { grid-template-columns: repeat(var(--aq-cols-mobile, 1), minmax(0, 1fr)); }
}

/* ==================== FILTRES DE RECHANGE (option de la buy box) ==================== */
/* Une seule ligne, sous les offres : miniature, nom, prix, selecteur. Rien ne
   s'ajoute tant que le client ne touche pas au « + ». */
.aq-s-buybox .buybox-addon {
  margin-top: 18px;
  background: #FFFFFF;
  border: 1.5px solid var(--aq-card-border);
  border-radius: 16px;
  padding: 14px 16px;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}

.aq-s-buybox .buybox-addon.is-active {
  border-color: var(--aq-accent-teal);
  background: #F4F8F7;
}

.aq-s-buybox .addon-included {
  margin: 0 0 10px;
  font-size: 13px;
  font-weight: 600;
  color: var(--aq-accent-teal);
}

.aq-s-buybox .addon-pack {
  display: flex;
  flex-direction: column;
  gap: 2px;
  width: 100%;
  margin: 0 0 12px;
  padding: 10px 14px;
  text-align: left;
  font: inherit;
  color: var(--aq-navy);
  background: #FFFFFF;
  border: 1.5px dashed var(--aq-card-border);
  border-radius: 12px;
  cursor: pointer;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}

.aq-s-buybox .addon-pack:hover,
.aq-s-buybox .addon-pack:focus-visible {
  border-color: var(--aq-accent-teal);
}

.aq-s-buybox .addon-pack.is-on {
  border-style: solid;
  border-color: var(--aq-accent-teal);
  background: #F4F8F7;
}

.aq-s-buybox .addon-pack-title {
  font-size: 13.4px;
  font-weight: 600;
}

.aq-s-buybox .addon-pack-meta {
  font-size: 12.4px;
  color: var(--text-muted, #64747E);
}

.aq-s-buybox .addon-heading {
  margin: 0 0 10px;
  font-size: 13.4px;
  font-weight: 600;
  color: var(--aq-navy);
}

.aq-s-buybox .addon-row {
  display: flex;
  align-items: center;
  gap: 12px;
}

.aq-s-buybox .addon-thumb {
  flex: 0 0 56px;
  width: 56px;
  height: 56px;
  border-radius: 10px;
  overflow: hidden;
  background: #F4F1EB;
}

.aq-s-buybox .addon-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.aq-s-buybox .addon-info {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.aq-s-buybox .addon-name {
  font-size: 14px;
  font-weight: 600;
  color: var(--aq-navy);
  text-decoration: none;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.aq-s-buybox .addon-name:hover { text-decoration: underline; }

.aq-s-buybox .addon-meta {
  font-size: 12.5px;
  color: #64748b;
}

.aq-s-buybox .addon-stepper {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  border: 1px solid var(--aq-card-border);
  border-radius: 9999px;
  background: #FFFFFF;
}

.aq-s-buybox .addon-step {
  width: 44px;
  height: 44px;
  border: 0;
  background: none;
  font-size: 18px;
  line-height: 1;
  color: var(--aq-navy);
  cursor: pointer;
  border-radius: 9999px;
}

.aq-s-buybox .addon-step:disabled {
  color: #CBD5E1;
  cursor: default;
}

.aq-s-buybox .addon-step:focus-visible {
  outline: 2px solid var(--aq-accent-teal);
  outline-offset: -2px;
}

.aq-s-buybox .addon-qty {
  min-width: 20px;
  text-align: center;
  font-size: 15px;
  font-weight: 600;
  color: var(--aq-navy);
}

.aq-s-buybox .addon-offer {
  margin: 10px 0 0;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--aq-accent-teal-dark);
}

.aq-s-buybox .addon-total {
  margin: 8px 0 0;
  font-size: 13px;
  color: #2F5758;
}

@media (max-width: 420px) {
  .aq-s-buybox .addon-step { width: 40px; height: 40px; }
}

/* ===== hero : video cadree ===== */
/* Une video plein cadre sous le voile clair du texte ne montrait qu'une bande
   centrale, sujet masque. Sur ordinateur, elle occupe les deux tiers droits
   et se fond dans le fond de section ; sur mobile, elle passe sous le texte,
   en entier, plutot que d'etre voilee a 90 %. */
@media (min-width: 769px) {
  .aq-s-hero .hero-video-wrapper--cadre {
    left: 34%;
    width: auto;
  }
  .aq-s-hero .hero-video-wrapper--cadre .hero-bg-video {
    object-position: center 30%;
  }
  .aq-s-hero .hero-video-wrapper--cadre .hero-bg-overlay {
    background: linear-gradient(
      90deg,
      var(--aq-sec-bg) 0%,
      rgba(250, 247, 242, 0.55) 18%,
      rgba(250, 247, 242, 0) 42%
    );
  }
}

@media (max-width: 768px) {
  .aq-s-hero .hero-section:has(.hero-video-wrapper--cadre) {
    flex-direction: column-reverse;
    align-items: stretch;
    min-height: 0;
  }
  .aq-s-hero .hero-video-wrapper--cadre {
    position: relative;
    inset: auto;
    height: auto;
    aspect-ratio: 16 / 10;
  }
  .aq-s-hero .hero-video-wrapper--cadre .hero-bg-overlay {
    display: none;
  }
  .aq-s-hero .hero-section:has(.hero-video-wrapper--cadre) .hero-container {
    padding-bottom: 28px;
  }
}

/* ===== hero : video plein fond ===== */
/* Video horizontale sur toute la largeur, sujet cale a droite. Le voile clair
   ne couvre que la zone du texte, pour laisser le sujet net et lumineux. Sur
   mobile, la video verticale (si fournie) remplit l'ecran et le texte passe
   en bas, sur le voile. */
.aq-s-hero .hero-bg-video--mobile,
.aq-s-hero .hero-bg-flou {
  display: none;
}

@media (min-width: 769px) {
  .aq-s-hero .hero-section:has(.hero-video-wrapper--plein) {
    min-height: clamp(560px, 47vw, 720px);
  }
  /* Reglages « Position de la video » : decalage en pixels et taille, depuis
     le centre. Decalee, la video libere une bande sur le bord oppose : une
     image floue de la meme video la remplit (.hero-bg-flou), et le bord de la
     video s'y fond sur 180 px. */
  .aq-s-hero .hero-video-wrapper--plein {
    background: var(--aq-sec-bg);
  }
  .aq-s-hero .hero-video-wrapper--plein .hero-bg-video {
    position: relative;
    z-index: 1;
    object-position: right center;
    transform: translate(var(--aq-hero-x, 0px), var(--aq-hero-y, 0px)) scale(var(--aq-hero-zoom, 1));
    transform-origin: center center;
    --aq-fondu-d: linear-gradient(#000, #000);
    --aq-fondu-g: linear-gradient(#000, #000);
    --aq-fondu-h: linear-gradient(#000, #000);
    --aq-fondu-b: linear-gradient(#000, #000);
  }
  .aq-s-hero .hero-video-wrapper--fondu-droit .hero-bg-video { --aq-fondu-d: linear-gradient(to left, transparent 0, #000 180px); }
  .aq-s-hero .hero-video-wrapper--fondu-gauche .hero-bg-video { --aq-fondu-g: linear-gradient(to right, transparent 0, #000 180px); }
  .aq-s-hero .hero-video-wrapper--fondu-haut .hero-bg-video { --aq-fondu-h: linear-gradient(to bottom, transparent 0, #000 120px); }
  .aq-s-hero .hero-video-wrapper--fondu-bas .hero-bg-video { --aq-fondu-b: linear-gradient(to top, transparent 0, #000 120px); }
  .aq-s-hero .hero-video-wrapper--fondu-droit .hero-bg-video,
  .aq-s-hero .hero-video-wrapper--fondu-gauche .hero-bg-video,
  .aq-s-hero .hero-video-wrapper--fondu-haut .hero-bg-video,
  .aq-s-hero .hero-video-wrapper--fondu-bas .hero-bg-video {
    -webkit-mask-image: var(--aq-fondu-d), var(--aq-fondu-g), var(--aq-fondu-h), var(--aq-fondu-b);
    -webkit-mask-composite: source-in;
            mask-image: var(--aq-fondu-d), var(--aq-fondu-g), var(--aq-fondu-h), var(--aq-fondu-b);
            mask-composite: intersect;
  }
  .aq-s-hero .hero-video-wrapper--plein .hero-bg-flou {
    display: block;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: right top;
    filter: blur(30px) saturate(0.95);
    /* Agrandi depuis le coin haut droit : seul le carrelage de ce coin
       (jamais la personne) remplit la bande liberee. */
    transform: scale(6);
    transform-origin: right top;
    pointer-events: none;
  }
  .aq-s-hero .hero-video-wrapper--plein .hero-bg-overlay {
    background: linear-gradient(
      90deg,
      rgba(250, 247, 242, 0.97) 0%,
      rgba(250, 247, 242, 0.93) 40%,
      rgba(250, 247, 242, 0.55) 53%,
      rgba(250, 247, 242, 0) 65%
    );
  }
}

@media (max-width: 768px) {
  .aq-s-hero .hero-bg-video--bureau {
    display: none;
  }
  .aq-s-hero .hero-bg-video.hero-bg-video--mobile {
    display: block;
    object-position: center 22%;
  }
  .aq-s-hero .hero-section:has(.hero-video-wrapper--plein) {
    min-height: min(177vw, 760px);
    align-items: flex-end;
  }
  /* Sans video mobile : la video principale, recentree sur le sujet. */
  .aq-s-hero .hero-video-wrapper--plein .hero-bg-video {
    object-position: 84% center;
  }
  .aq-s-hero .hero-video-wrapper--plein .hero-bg-overlay {
    background: linear-gradient(
      0deg,
      rgba(250, 247, 242, 0.97) 0%,
      rgba(250, 247, 242, 0.93) 40%,
      rgba(250, 247, 242, 0.4) 58%,
      rgba(250, 247, 242, 0) 72%
    );
  }
  .aq-s-hero .hero-section:has(.hero-video-wrapper--plein) .hero-container {
    padding-top: 0;
    padding-bottom: 28px;
  }
}

/* Bouton pause de la video */
.aq-s-hero .hero-video-pause {
  position: absolute;
  z-index: 4;
  right: 24px;
  bottom: 22px;
  width: 40px;
  height: 40px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 1px solid rgba(16, 36, 62, 0.15);
  background: rgba(255, 255, 255, 0.75);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  color: var(--aq-title-color);
  cursor: pointer;
  transition: background 0.2s ease;
}
.aq-s-hero .hero-video-pause:hover {
  background: #FFFFFF;
}
.aq-s-hero .hero-video-pause:focus-visible {
  outline: 2px solid var(--aq-title-color);
  outline-offset: 2px;
}
.aq-s-hero .hero-video-pause svg {
  fill: currentColor;
}
.aq-s-hero .hero-video-pause .hero-video-pause__play,
.aq-s-hero .hero-video-pause[aria-pressed="true"] .hero-video-pause__pause {
  display: none;
}
.aq-s-hero .hero-video-pause[aria-pressed="true"] .hero-video-pause__play {
  display: block;
}
@media (max-width: 768px) {
  .aq-s-hero .hero-video-pause {
    top: 14px;
    right: 14px;
    bottom: auto;
  }
  /* Disposition « a droite » : sur mobile la video passe sous le texte. */
  .aq-s-hero .hero-section:has(.hero-video-wrapper--cadre) .hero-video-pause {
    top: auto;
    bottom: 14px;
  }
}

/* ===== page client : retractation, SAV, politique ===== */
.aq-s-page-client .aq-page-client__texte h2 {
  margin: 36px 0 12px;
  color: var(--aq-c-title, var(--text-main));
  font-family: var(--aq-ff-title, var(--font-serif));
  font-size: 25.6px;
  font-weight: 600;
  line-height: 1.2;
}

.aq-s-page-client .aq-page-client__texte h3 {
  margin: 22px 0 8px;
  color: var(--text-main);
  font-size: 16px;
  font-weight: 600;
}

.aq-s-page-client .aq-page-client__texte .aq-encadre {
  padding: 18px 22px;
  margin: 0 0 16px;
  background: var(--bg-sand-light);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md, 12px);
}

.aq-s-page-client .aq-demande { margin-top: 8px; }

.aq-s-page-client .aq-demande__champ { margin: 0 0 20px; }

.aq-s-page-client .aq-demande__champ label {
  display: block;
  margin-bottom: 6px;
  color: var(--text-main);
  font-weight: 600;
  font-size: 15px;
}

.aq-s-page-client .aq-demande__aide {
  margin: -2px 0 8px;
  color: var(--text-muted);
  font-size: 13.4px;
}

.aq-s-page-client .aq-demande input[type="text"],
.aq-s-page-client .aq-demande input[type="email"],
.aq-s-page-client .aq-demande select,
.aq-s-page-client .aq-demande textarea {
  display: block;
  width: 100%;
  box-sizing: border-box;
  min-height: 48px;
  padding: 12px 14px;
  background: #FFFFFF;
  border: 1px solid #D8D1C4;
  border-radius: 10px;
  color: var(--text-main);
  font: inherit;
  font-size: 16px; /* 16 px minimum : iOS ne zoome pas au focus */
}

.aq-s-page-client .aq-demande textarea { resize: vertical; }

.aq-s-page-client .aq-demande input:focus-visible,
.aq-s-page-client .aq-demande select:focus-visible,
.aq-s-page-client .aq-demande textarea:focus-visible {
  outline: 2px solid var(--accent-ocean, #4E797A);
  outline-offset: 1px;
  border-color: transparent;
}

.aq-s-page-client .aq-demande__mention {
  margin: 4px 0 14px;
  font-size: 14.4px;
}

.aq-s-page-client .aq-demande__bouton {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 0 30px;
  border: 0;
  border-radius: 50px;
  background: #023f58;
  color: #FFFFFF;
  font: inherit;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
}

.aq-s-page-client .aq-demande__bouton:hover { background: #1B3556; }

.aq-s-page-client .aq-demande__bouton:focus-visible {
  outline: 2px solid #023f58;
  outline-offset: 3px;
}

.aq-s-page-client .aq-demande__secondaire {
  min-height: 44px;
  padding: 0 20px;
  border: 1px solid #023f58;
  border-radius: 50px;
  background: transparent;
  color: #023f58;
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}

.aq-s-page-client .aq-demande__ok,
.aq-s-page-client .aq-demande__erreur {
  padding: 20px 22px;
  margin: 8px 0 24px;
  border-radius: 12px;
}

.aq-s-page-client .aq-demande__ok {
  background: #F1F6F5;
  border: 1px solid #D5E5E4;
  color: #2F5758;
  outline: none;
}

.aq-s-page-client .aq-demande__erreur {
  background: #FBF1EF;
  border: 1px solid #EBCFC9;
  color: #7A2E22;
}

.aq-s-page-client .aq-demande__erreur ul { margin: 6px 0 0; }

.aq-s-page-client .aq-demande__recap {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #D5E5E4;
  color: var(--text-body);
}

.aq-s-page-client .aq-demande__recap-titre {
  font-weight: 700;
  color: var(--text-main);
}

.aq-s-page-client .aq-demande__recap dl {
  display: grid;
  grid-template-columns: minmax(0, 13em) 1fr;
  gap: 6px 16px;
  margin: 0 0 14px;
}

.aq-s-page-client .aq-demande__recap dt { font-weight: 600; }
.aq-s-page-client .aq-demande__recap dd { margin: 0; white-space: pre-line; overflow-wrap: anywhere; }

.aq-s-page-client .aq-demande__recap-note { font-size: 13.4px; }

@media (max-width: 600px) {
  .aq-s-page-client .aq-demande__recap dl { grid-template-columns: 1fr; gap: 2px; }
  .aq-s-page-client .aq-demande__recap dd { margin-bottom: 8px; }
  .aq-s-page-client .aq-demande__bouton { width: 100%; }
}

/* Impression du recapitulatif : seule la confirmation sort sur la page. */
@media print {
  body:has(.aq-demande__ok) * { visibility: hidden; }
  body:has(.aq-demande__ok) .aq-demande__ok,
  body:has(.aq-demande__ok) .aq-demande__ok * { visibility: visible; }
  body:has(.aq-demande__ok) .aq-demande__ok { position: absolute; inset: 0 auto auto 0; width: 100%; }
  .aq-demande__secondaire { display: none; }
}


/* ===== cartouche neuve / usee (curseur avant / apres) ===== */
.aq-s-cartouche-effet .ce-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  align-items: center;
  max-width: 1100px;
  margin: 0 auto;
}

.aq-s-cartouche-effet .ce-title {
  margin: 10px 0 14px;
  color: var(--text-main);
  font-family: var(--font-serif);
  font-weight: 600;
  font-size: clamp(30px, 3.4vw, 42px);
  line-height: 1.15;
}

.aq-s-cartouche-effet .ce-text {
  margin: 0 0 20px;
  color: var(--text-body);
  line-height: 1.65;
}

.aq-s-cartouche-effet .ce-points {
  list-style: none;
  margin: 0 0 26px;
  padding: 0;
  display: grid;
  gap: 10px;
  color: var(--text-main);
  font-weight: 600;
  font-size: 15px;
}

.aq-s-cartouche-effet .ce-points li {
  display: flex;
  align-items: center;
  gap: 10px;
}

.aq-s-cartouche-effet .ce-dot {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 1px solid var(--border-subtle);
  flex-shrink: 0;
}

.aq-s-cartouche-effet .ce-dot--neuve { background: #FFFFFF; }
.aq-s-cartouche-effet .ce-dot--usee { background: #9E6B3C; border-color: #9E6B3C; }

.aq-s-cartouche-effet .ce-caption {
  margin: 16px 0 0;
  font-size: 12.5px;
  color: var(--text-muted);
}

.aq-s-cartouche-effet .ce-compare {
  position: relative;
  width: 100%;
  max-width: 520px;
  margin: 0 auto;
  aspect-ratio: 1 / 1;
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
  overflow: hidden;
  touch-action: pan-y;
}

.aq-s-cartouche-effet .ce-img,
.aq-s-cartouche-effet .ce-img img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.aq-s-cartouche-effet .ce-img--usee {
  clip-path: inset(0 0 0 var(--ce-pos, 50%));
}

.aq-s-cartouche-effet .ce-handle {
  position: absolute;
  top: 0;
  bottom: 0;
  left: var(--ce-pos, 50%);
  width: 2px;
  margin-left: -1px;
  background: var(--accent-navy);
  pointer-events: none;
}

.aq-s-cartouche-effet .ce-handle::after {
  content: "\2194";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 40px;
  height: 40px;
  margin: -20px 0 0 -20px;
  border-radius: 50%;
  background: var(--accent-navy);
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  box-shadow: var(--shadow-sm);
}

.aq-s-cartouche-effet .ce-tag {
  position: absolute;
  top: 14px;
  padding: 5px 12px;
  border-radius: 9999px;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: rgba(255, 255, 255, 0.92);
  color: var(--text-main);
  border: 1px solid var(--border-subtle);
  pointer-events: none;
}

.aq-s-cartouche-effet .ce-tag--neuve { left: 14px; }
.aq-s-cartouche-effet .ce-tag--usee { right: 14px; }

.aq-s-cartouche-effet .ce-range {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: ew-resize;
}

.aq-s-cartouche-effet .ce-compare:focus-within {
  outline: 2px solid var(--accent-navy);
  outline-offset: 3px;
}

@media (max-width: 900px) {
  .aq-s-cartouche-effet .ce-grid { grid-template-columns: 1fr; gap: 32px; }
}

/* ===== hero mobile : la video en haut, entiere, et le texte dessous ===== */
@media (max-width: 768px) {
  .aq-s-hero .hero-section:has(.hero-video-wrapper--plein) {
    min-height: 0;
    flex-direction: column;
    align-items: stretch;
  }
  .aq-s-hero .hero-video-wrapper--plein {
    position: relative;
    inset: auto;
    height: auto;
    aspect-ratio: 4 / 5;
    flex-shrink: 0;
  }
  .aq-s-hero .hero-video-wrapper--plein .hero-bg-overlay {
    display: none;
  }
  .aq-s-hero .hero-video-wrapper--plein .hero-bg-video,
  .aq-s-hero .hero-video-wrapper--plein .hero-bg-video.hero-bg-video--mobile {
    object-position: center 20%;
  }
  .aq-s-hero .hero-section:has(.hero-video-wrapper--plein) .hero-container {
    padding-top: 24px;
    padding-bottom: 32px;
  }
}

/* ===== en-tete mobile ===== */
/* Logo + 4 boutons depassaient la largeur de l'ecran (424 px pour 390 px) :
   la page entiere s'elargissait et le logo recouvrait la loupe. Le logo se
   reduit, les boutons gardent une taille tactile correcte. */
@media (max-width: 768px) {
  .aq-s-header .header-container { gap: 8px; }
  .aq-s-header .header-container .brand-logo { min-width: 0; flex: 0 1 220px; }
  .aq-s-header .header-container .brand-logo .brand-logo-img { width: 100%; max-width: 220px; height: auto; }
  .aq-s-header .header-container .header-actions { flex-shrink: 0; gap: 0; }
  .aq-s-header .header-container .header-actions .icon-btn { width: 40px; height: 40px; }
}

/* Choix « appareil seul / pack avec 2 recharges » : deux cartes, pas de stepper */
.aq-s-buybox .addon-choice { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0 0 12px; }
.aq-s-buybox .addon-choice .addon-pack { margin: 0; border-style: solid; }
.aq-s-buybox .addon-choice .addon-pack:not(.is-on) { border-color: var(--aq-card-border); }
.aq-s-buybox .addon-choice .addon-pack.is-on { border-color: var(--aq-navy); background: #F4F8F7; box-shadow: 0 0 0 1px var(--aq-navy); }
.aq-s-buybox .has-pack-choice .addon-heading,
.aq-s-buybox .has-pack-choice .addon-row,
.aq-s-buybox .has-pack-choice .addon-offer { display: none; }
@media (max-width: 480px) { .aq-s-buybox .addon-choice { grid-template-columns: 1fr; } }
.aq-s-buybox .buybox-packs-compat { margin: 16px 0; padding: 14px; border: 1px solid var(--aq-card-border); border-radius: 14px; background: #FFFFFF; }
.aq-s-buybox .buybox-packs-compat .addon-row + .addon-row { margin-top: 10px; }
.aq-s-buybox .packs-compat-add { padding: 8px 16px; font-size: 13px; }

/* ===== fil d'Ariane ===== */
.aq-breadcrumb { max-width: 1240px; margin: 0 auto; padding: 14px 28px 0; }
.aq-breadcrumb__list { display: flex; flex-wrap: wrap; gap: 4px 0; margin: 0; padding: 0; list-style: none; font-size: 13px; line-height: 1.4; color: var(--text-muted); }
.aq-breadcrumb__list li + li::before { content: '›'; margin: 0 8px; color: var(--text-muted); }
.aq-breadcrumb__list a { color: var(--text-muted); text-decoration: none; }
.aq-breadcrumb__list a:hover, .aq-breadcrumb__list a:focus-visible { color: var(--text-main); text-decoration: underline; }
.aq-breadcrumb__list [aria-current="page"] span { color: var(--text-main); font-weight: 600; }
@media (max-width: 749px) { .aq-breadcrumb { padding: 12px 20px 0; } }

/* ===== texte SEO et FAQ ===== */
.aq-s-texte-seo { padding: 56px 0; background: var(--bg-primary); }
.aq-s-texte-seo .seo-wrap { max-width: 860px; margin: 0 auto; }
.aq-s-texte-seo .seo-text h2, .aq-s-texte-seo .seo-faq-title { font-family: 'Cormorant Garamond', Georgia, serif; font-size: clamp(26px, 3.4vw, 34px); line-height: 1.15; color: var(--text-main); margin: 32px 0 12px; }
.aq-s-texte-seo .seo-text > :first-child { margin-top: 0; }
.aq-s-texte-seo .seo-text h3 { font-size: 18px; color: var(--text-main); margin: 22px 0 8px; }
.aq-s-texte-seo .seo-text p, .aq-s-texte-seo .seo-faq-item p { color: var(--text-body); line-height: 1.7; margin: 0 0 14px; }
.aq-s-texte-seo .seo-faq-item { border-bottom: 1px solid var(--border-subtle); }
.aq-s-texte-seo .seo-faq-item summary { cursor: pointer; list-style: none; padding: 16px 28px 16px 0; font-weight: 600; color: var(--text-main); position: relative; }
.aq-s-texte-seo .seo-faq-item summary::-webkit-details-marker { display: none; }
.aq-s-texte-seo .seo-faq-item summary::after { content: '+'; position: absolute; right: 4px; top: 14px; font-size: 20px; }
.aq-s-texte-seo .seo-faq-item[open] summary::after { content: '\2212'; }
.aq-s-texte-seo .seo-faq-item summary:focus-visible { outline: 2px solid var(--accent-teal); outline-offset: 3px; }
@media (max-width: 749px) { .aq-s-texte-seo { padding: 40px 0; } }

/* ===== menu : libelles sur une ligne, fil d'Ariane aligne a gauche ===== */
.aq-s-header .nav-link { white-space: nowrap; }
@media (min-width: 990px) and (max-width: 1320px) { .aq-s-header .nav-list { gap: 18px; } .aq-s-header .nav-link { font-size: 13px; } }
.aq-breadcrumb { width: 100%; box-sizing: border-box; align-self: stretch; }

/* ===== blog : visuel entier, titre complet ===== */
.article-card .card__media .media img,
.article-card__image img { object-fit: contain; background: var(--bg-surface); }

/* ===== fiche produit : atouts, caracteristiques, comparatif (audit SEO, 20/10) ===== */
.aq-s-produit-atouts,
.aq-s-produit-carac,
.aq-s-produit-comp { padding: 64px 0; background: var(--bg-primary); color: var(--text-body); }
.aq-s-produit-carac { background: var(--bg-sand-light); }
.aq-s-produit-atouts .overline,
.aq-s-produit-comp .overline { color: var(--accent-tan-text); }
.aq-s-produit-atouts .pa-title,
.aq-s-produit-carac .pc-title,
.aq-s-produit-comp .pcomp-title {
  margin: 0 0 24px;
  font-family: var(--font-serif);
  font-weight: 600;
  font-size: clamp(28px, 3.4vw, 40px);
  line-height: 1.15;
  color: var(--text-main);
}

.aq-s-produit-atouts .pa-grid { display: grid; grid-template-columns: 1.05fr 1fr; gap: 48px; align-items: center; max-width: 1200px; margin: 0 auto; }
.aq-s-produit-atouts .pa-cases { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.aq-s-produit-atouts .pa-case { padding: 20px; background: var(--bg-surface); border: 1px solid var(--border-subtle); border-radius: var(--radius-md); box-shadow: var(--shadow-sm); }
.aq-s-produit-atouts .pa-icon { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; margin-bottom: 12px; border-radius: var(--radius-pill); background: var(--bg-sand); color: var(--accent-teal-text); }
.aq-s-produit-atouts .pa-case-title { margin: 0 0 6px; font-family: var(--font-sans); font-size: 15.5px; font-weight: 700; line-height: 1.3; color: var(--text-main); }
.aq-s-produit-atouts .pa-case-text { margin: 0; font-size: 14px; line-height: 1.6; color: var(--text-body); }
.aq-s-produit-atouts .pa-visual img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: var(--radius-xl); box-shadow: var(--shadow-md); }

.aq-s-produit-carac .pc-wrap { max-width: 860px; margin: 0 auto; }
.aq-s-produit-carac .pc-list { margin: 0; background: var(--bg-surface); border: 1px solid var(--border-subtle); border-radius: var(--radius-lg); overflow: hidden; }
.aq-s-produit-carac .pc-row { display: grid; grid-template-columns: minmax(140px, 0.4fr) 1fr; gap: 16px; padding: 15px 22px; }
.aq-s-produit-carac .pc-row + .pc-row { border-top: 1px solid var(--border-subtle); }
.aq-s-produit-carac dt { font-weight: 700; font-size: 14px; color: var(--text-main); }
.aq-s-produit-carac dd { margin: 0; font-size: 14.5px; line-height: 1.55; }

.aq-s-produit-comp .pcomp-head { max-width: 1000px; margin: 0 auto 28px; }
.aq-s-produit-comp .pcomp-title { margin-bottom: 10px; max-width: 640px; }
.aq-s-produit-comp .pcomp-intro { margin: 0; line-height: 1.6; }
.aq-s-produit-comp .pcomp-scroll { position: relative; max-width: 1000px; margin: 0 auto; overflow-x: auto; border: 1px solid var(--border-subtle); border-radius: var(--radius-lg); background: var(--bg-surface); box-shadow: var(--shadow-sm); }
.aq-s-produit-comp .pcomp-table { width: 100%; border-collapse: collapse; font-size: 14.5px; }
.aq-s-produit-comp .pcomp-table th,
.aq-s-produit-comp .pcomp-table td { padding: 15px 18px; text-align: center; vertical-align: middle; border-bottom: 1px solid var(--border-subtle); }
.aq-s-produit-comp .pcomp-table tbody tr:last-child > * { border-bottom: 0; }
.aq-s-produit-comp .pcomp-table thead th { font-weight: 700; font-size: 14px; color: var(--text-main); }
.aq-s-produit-comp .pcomp-table thead th:first-child,
.aq-s-produit-comp .pcomp-table tbody th { text-align: left; font-weight: 500; color: var(--text-body); }
.aq-s-produit-comp .pcomp-table .is-nous { background: var(--bg-sand-light); color: var(--text-main); font-weight: 700; }
.aq-s-produit-comp .pcomp-table thead .is-nous { background: var(--accent-navy); color: var(--bg-surface); }
.aq-s-produit-comp .pcomp-mark { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: var(--radius-pill); }
.aq-s-produit-comp .pcomp-mark--oui { background: var(--accent-teal-text); color: var(--bg-surface); }
.aq-s-produit-comp .pcomp-mark--non { background: var(--bg-sand); }
.aq-s-produit-comp .pcomp-mark--non::before { content: ''; width: 10px; height: 2px; border-radius: 2px; background: var(--text-muted); }
.aq-s-produit-comp .pcomp-note { max-width: 1000px; margin: 12px auto 0; font-size: 12.5px; color: var(--text-muted); }
.aq-s-produit-comp .pcomp-modele { display: block; margin-top: 3px; font-size: 11.5px; font-weight: 500; color: var(--text-muted); }

@media (max-width: 989px) {
  .aq-s-produit-atouts .pa-grid { grid-template-columns: 1fr; gap: 32px; }
  .aq-s-produit-atouts .pa-visual { max-width: 520px; }
}
@media (max-width: 749px) {
  .aq-s-produit-atouts,
  .aq-s-produit-carac,
  .aq-s-produit-comp { padding: 44px 0; }
  .aq-s-produit-atouts .pa-cases { grid-template-columns: 1fr; }
  .aq-s-produit-carac .pc-row { grid-template-columns: 1fr; gap: 2px; padding: 13px 16px; }
  .aq-s-produit-comp .pcomp-table { font-size: 13.5px; }
  .aq-s-produit-comp .pcomp-table th,
  .aq-s-produit-comp .pcomp-table td { padding: 12px 10px; }
}

/* ===== plan de site ===== */
.aq-s-plan-site { padding: 48px 0 72px; background: var(--bg-primary); color: var(--text-body); }
.aq-s-plan-site .ps-title { margin: 0 0 12px; font-family: var(--font-serif); font-weight: 600; font-size: clamp(32px, 4vw, 46px); line-height: 1.1; color: var(--text-main); }
.aq-s-plan-site .ps-intro { max-width: 720px; margin: 0 0 36px; line-height: 1.65; }
.aq-s-plan-site .ps-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 20px; align-items: start; }
.aq-s-plan-site .ps-group { padding: 24px; background: var(--bg-surface); border: 1px solid var(--border-subtle); border-radius: var(--radius-lg); }
.aq-s-plan-site .ps-group-title { margin: 0 0 14px; font-family: var(--font-serif); font-weight: 600; font-size: 24px; line-height: 1.2; color: var(--text-main); }
.aq-s-plan-site .ps-list,
.aq-s-plan-site .ps-sublist { list-style: none; margin: 0; padding: 0; }
.aq-s-plan-site .ps-list > li + li { margin-top: 10px; }
.aq-s-plan-site .ps-sublist { margin: 6px 0 0; padding-left: 14px; border-left: 2px solid var(--border-subtle); }
.aq-s-plan-site .ps-sublist li + li { margin-top: 5px; }
.aq-s-plan-site .ps-link { color: var(--text-body); font-size: 14.5px; line-height: 1.45; text-decoration: none; }
.aq-s-plan-site .ps-link--collection { color: var(--text-main); font-weight: 700; }
.aq-s-plan-site .ps-link:hover,
.aq-s-plan-site .ps-link:focus-visible { color: var(--text-main); text-decoration: underline; }
@media (max-width: 749px) { .aq-s-plan-site { padding: 32px 0 48px; } .aq-s-plan-site .ps-group { padding: 20px; } }

/* Pied de page, ligne du bas : avec 10 liens (Plan de site ajoute le 20/10),
   les libelles se cassaient sur 2 ou 3 lignes. Chaque lien reste sur une
   ligne, la liste passe a la ligne et s'aligne a droite. */
@media (min-width: 769px) {
  .aq-s-footer .footer-bottom-row { gap: 32px; }
  .aq-s-footer .footer-bottom-row .copyright { flex-shrink: 0; margin: 0; }
  .aq-s-footer .footer-legal-links { flex-wrap: wrap; justify-content: flex-end; column-gap: 22px; row-gap: 8px; margin: 0; padding: 0; }
  .aq-s-footer .footer-legal-links li { white-space: nowrap; }
}

/* En-tete, largeurs intermediaires : le menu complet demande environ 1 100 px.
   Entre 900 et 1 150 px il poussait le panier hors de l'ecran (defilement
   horizontal) ; entre 769 et 900 px aucun menu n'etait visible (menu masque,
   bouton du menu mobile pas encore affiche). Le menu mobile prend le relais
   jusqu'a 1 160 px. */
@media (max-width: 1160px) {
  .aq-s-header .main-nav { display: none; }
  .aq-s-header .mobile-menu { display: block; }
  .aq-s-header .mobile-toggle-btn { display: flex; }
}
/* Au-dela de 1 320 px, le conteneur reste a 1 200 px : avec 28 px entre les
   liens, le menu touchait le logo et la loupe (7 px d'ecart). */
@media (min-width: 1321px) { .aq-s-header .nav-list { gap: 20px; } }

/* Texte SEO des collections : sous-titres H3 dans la police du site (ils
   prenaient celle de Dawn) et liens aux couleurs de la marque (ils restaient
   dans le bleu par defaut du navigateur). */
.aq-s-texte-seo .seo-text h3 { font-family: var(--font-sans); font-weight: 700; line-height: 1.35; }
.aq-s-texte-seo .seo-text a { color: var(--text-main); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.aq-s-texte-seo .seo-text a:hover,
.aq-s-texte-seo .seo-text a:focus-visible { color: var(--accent-navy-hover); }

.aq-s-produit-comp .pcomp-glisser { display: none; margin: 0 0 8px; font-size: 12.5px; color: var(--text-muted); text-align: right; }
/* Comparatif a 4 concurrents (20/10) : sur mobile, largeur minimale du tableau
   (les mots se coupaient un par un) et colonne « Critere » figee pendant le
   defilement horizontal. Fiche technique : lien de la recharge aux couleurs
   de la marque (il restait dans le bleu du navigateur). */
@media (max-width: 749px) {
  .aq-s-produit-comp .pcomp-table { min-width: 620px; }
  .aq-s-produit-comp .pcomp-glisser { display: block; }
  .aq-s-produit-comp .pcomp-table thead th:first-child,
  .aq-s-produit-comp .pcomp-table tbody th { position: sticky; left: 0; z-index: 1; width: 118px; min-width: 118px; background: var(--bg-surface); box-shadow: 1px 0 0 var(--border-subtle); }
}
.aq-s-produit-carac dd a { color: var(--text-main); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.aq-s-produit-carac dd a:hover,
.aq-s-produit-carac dd a:focus-visible { color: var(--accent-navy-hover); }

/* Schema de filtration (21/10) : traits retires a gauche des pastilles ; les
   pastilles 1, 2 et 3 restent sur une meme colonne, calees sur la premiere
   ligne du titre (la 3e se decalait quand son titre passait sur deux lignes). */
.aq-s-filtration .layer-item { align-items: flex-start; }
.aq-s-filtration .layer-text { flex: 1; min-width: 0; }
.aq-s-filtration .layer-badge { margin-top: -2px; }
@media screen and (max-width: 989px) { .aq-s-filtration .layer-text { text-align: left; } }

/* Emplacements d'appli (widget Trustpilot, 21/10) : dans la barre d'annonce a
   cote de la livraison et du code promo, au-dessus du titre de la fiche
   produit et sous la reassurance du pied de page. Vides, ils n'affichent rien. */
.aq-s-header .announcement-container { gap: 16px; flex-wrap: wrap; }
.aq-s-header .announcement-app { display: flex; align-items: center; min-height: 20px; }
.aq-s-header .announcement-app iframe { display: block; }
.aq-s-buybox .buybox-app { margin: 0 0 10px; }
.aq-s-footer .footer-app-row { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; padding: 18px 0; border-top: 1px solid rgba(255, 255, 255, 0.12); }
@media (max-width: 480px) {
  .aq-s-header .announcement-container { flex-direction: column; gap: 4px; }
}

/* Lien Trustpilot (21/10) : a cote du code promo dans la barre bleue, au-dessus
   du titre de la fiche produit et sous la reassurance du pied de page. */
.aq-tp { display: inline-flex; align-items: center; gap: 6px; text-decoration: none; font-weight: 600; line-height: 1.2; transition: var(--transition); }
.aq-tp-star { flex-shrink: 0; }
.aq-tp--sombre { color: #FFFFFF; }
.aq-tp--sombre:hover,
.aq-tp--sombre:focus-visible { text-decoration: underline; text-underline-offset: 3px; }
.aq-tp--clair { color: var(--text-main); font-size: 13.6px; }
.aq-tp--clair:hover,
.aq-tp--clair:focus-visible { color: var(--accent-navy-hover); text-decoration: underline; text-underline-offset: 3px; }
.aq-s-header .announcement-app .aq-tp { font-size: 12.2px; letter-spacing: 0.02em; }
.aq-s-footer .footer-app-row .aq-tp { font-size: 13.6px; }
.aq-tp-widget { min-width: 160px; }

/* Logo Trustpilot (21/10) : fichiers officiels, a hauteur de la pastille du
   code promo dans la barre bleue. */
.aq-tp-logo { display: inline-flex; align-items: center; line-height: 0; transition: var(--transition); }
.aq-tp-logo img { display: block; width: auto; height: 22px; }
.aq-tp-logo:hover,
.aq-tp-logo:focus-visible { opacity: 0.8; }
.aq-s-header .announcement-app .aq-tp-logo img { height: 18px; }

/* Accueil (22/10) : sous-titre H2 de la banniere, sous le H1. */
.aq-s-hero .hero-title:has(+ .hero-subtitle) { margin-bottom: 10px; }
.aq-s-hero .hero-subtitle {
  font-family: var(--aq-ff-title, 'Cormorant Garamond', Georgia, serif);
  font-size: calc(var(--aq-fs-title, 54.4px) * 0.55);
  font-weight: 500;
  line-height: 1.25;
  color: var(--aq-c-title, var(--aq-title-color));
  margin: 0 0 18px 0;
}
@media (max-width: 768px) {
  .aq-s-hero .hero-subtitle { font-size: calc(var(--aq-fs-title-m, var(--aq-fs-title, 36.8px)) * 0.62); }
}
