/* logo-cache-bust:17-cart-commander-retirer */
/* Charte graphique CDC Honda Moto Lyon V1.2 — Barlow Condensed Light + palette racing */
@import url("https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@300;400;500;600&family=Barlow:wght@400;500;600;700&family=Inter:wght@400;500;600;700&display=swap");

/* =============================================================
   ApexRide Premium — design layer
   Loaded after theme.css (priority 1000). Retheming is driven by
   Bootstrap custom properties so it reaches core components too.
   Charte: Rouge racing #D62828 · Anthracite #1A1A1A · Blanc cassé #F5F5F5 · Gris #4A4A4A
   Typo: titles = Barlow Condensed Light · body = Barlow / Inter
   ============================================================= */

:root {
  /* CDC palette */
  --ax-racing: #d62828;
  --ax-anthracite: #1a1a1a;
  --ax-offwhite: #f5f5f5;
  --ax-gray: #4a4a4a;

  --ax-red: var(--ax-racing);
  --ax-red-rgb: 214, 40, 40;
  --ax-red-600: #b91f1f;
  --ax-red-700: #9a1919;
  --ax-ink-900: var(--ax-anthracite);
  --ax-ink-800: #222222;
  --ax-ink-700: #2c2c2c;
  --ax-ink-600: #3a3a3a;
  --ax-slate-500: var(--ax-gray);
  --ax-slate-300: #c8c8c8;
  --ax-slate-200: #e0e0e0;
  --ax-slate-100: #eeeeee;
  --ax-canvas: var(--ax-offwhite);
  --ax-white: #fff;

  /* Semantic surfaces — remapped by [data-ax-theme] */
  --ax-page-bg: var(--ax-offwhite);
  --ax-page-fg: var(--ax-anthracite);
  --ax-heading: var(--ax-anthracite);
  --ax-muted: var(--ax-gray);
  --ax-surface: #ffffff;
  --ax-surface-2: var(--ax-offwhite);
  --ax-border: var(--ax-slate-200);
  --ax-card-shadow: var(--ax-shadow);

  /* Typographie CDC */
  --ax-display: "Barlow Condensed", "Oswald", "Arial Narrow", system-ui, sans-serif;
  --ax-body: "Barlow", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --ax-display-weight: 300; /* Light — titres & accroches */
  --ax-ui-weight: 500;      /* UI / nav / boutons (lisibilité) */

  --ax-r-sm: 8px;
  --ax-r: 14px;
  --ax-r-lg: 20px;

  --ax-shadow-sm: 0 1px 2px rgba(26, 26, 26, .06), 0 2px 8px rgba(26, 26, 26, .05);
  --ax-shadow: 0 4px 12px rgba(26, 26, 26, .08), 0 14px 36px rgba(26, 26, 26, .09);
  --ax-shadow-lg: 0 18px 60px rgba(26, 26, 26, .18);
  --ax-glow: 0 8px 30px rgba(var(--ax-red-rgb), .32);

  --ax-ease: cubic-bezier(.22, .61, .36, 1);
  --ax-header-h: 76px;

  /* Bootstrap retheme */
  --bs-primary: #d62828;
  --bs-primary-rgb: 214, 40, 40;
  --bs-link-color: #b91f1f;
  --bs-link-color-rgb: 185, 31, 31;
  --bs-link-hover-color: #9a1919;
  --bs-border-radius: 12px;
  --bs-border-radius-sm: 8px;
  --bs-border-radius-lg: 18px;
  --bs-border-color: #e0e0e0;
  --bs-body-color: #1a1a1a;
  --bs-body-bg: #f5f5f5;
  --bs-body-font-family: var(--ax-body);
  --bs-emphasis-color: #1a1a1a;
  --bs-tertiary-bg: #f5f5f5;
  color-scheme: light;
}

/* Explicit light theme — blanc cassé surfaces (CDC) */
html[data-ax-theme="light"],
html:not([data-ax-theme]) {
  color-scheme: light;
  background: var(--ax-offwhite);
  --ax-page-bg: var(--ax-offwhite);
  --ax-page-fg: var(--ax-anthracite);
  --ax-heading: var(--ax-anthracite);
  --ax-muted: var(--ax-gray);
  --ax-surface: #ffffff;
  --ax-surface-2: var(--ax-offwhite);
  --ax-border: #e0e0e0;
  --ax-slate-100: #eeeeee;
  --ax-slate-200: #e0e0e0;
  --ax-slate-300: #c8c8c8;
  --ax-slate-500: var(--ax-gray);
  --ax-canvas: var(--ax-offwhite);
  --bs-body-color: #1a1a1a;
  --bs-body-bg: #f5f5f5;
  --bs-emphasis-color: #1a1a1a;
  --bs-border-color: #e0e0e0;
  --bs-tertiary-bg: #f5f5f5;
  --bs-link-color: #b91f1f;
  --bs-link-hover-color: #9a1919;
}

html[data-ax-theme="light"] body,
html:not([data-ax-theme]) body {
  background: var(--ax-offwhite) !important;
  color: var(--ax-anthracite) !important;
}

html[data-ax-theme="light"] #wrapper,
html:not([data-ax-theme]) #wrapper {
  background: var(--ax-offwhite) !important;
}

html[data-ax-theme="dark"] {
  color-scheme: dark;
  --ax-page-bg: var(--ax-anthracite);
  --ax-page-fg: rgba(255, 255, 255, .82);
  --ax-heading: #fff;
  --ax-muted: rgba(255, 255, 255, .55);
  --ax-surface: var(--ax-ink-800);
  --ax-surface-2: var(--ax-ink-700);
  --ax-border: rgba(255, 255, 255, .12);
  --ax-card-shadow: 0 8px 28px rgba(0, 0, 0, .35);
  --ax-slate-100: #2c2c2c;
  --ax-slate-200: rgba(255, 255, 255, .12);
  --ax-slate-300: rgba(255, 255, 255, .28);
  --ax-slate-500: rgba(255, 255, 255, .55);
  --ax-canvas: var(--ax-anthracite);
  --bs-body-color: rgba(255, 255, 255, .82);
  --bs-body-bg: #1a1a1a;
  --bs-emphasis-color: #fff;
  --bs-border-color: rgba(255, 255, 255, .12);
  --bs-tertiary-bg: #2c2c2c;
  /* Bootstrap utilities use RGB vars (cascade-layer !important); keep them in sync */+
  --bs-tertiary-bg-rgb: 44, 44, 44;
  --bs-secondary-color: rgba(255, 255, 255, .55);
  --bs-secondary-color-rgb: 255, 255, 255;
  --bs-link-color: #ff6b6b;
  --bs-link-hover-color: #ff8f8f;
}

/* ---------- 1. base & typography ---------- */

body {
  background: var(--ax-page-bg);
  font-family: var(--ax-body);
  font-weight: 400;
  color: var(--ax-page-fg);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  transition: background-color .25s var(--ax-ease), color .25s var(--ax-ease);
}

h1, h2, h3, h4, h5,
.h1, .h2, .h3, .h4, .h5 {
  font-family: var(--ax-display);
  font-weight: var(--ax-display-weight);
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--ax-heading);
  line-height: 1.08;
}

h1, .h1 { font-size: clamp(2.15rem, 4.2vw, 3.35rem); }
h2, .h2 { font-size: clamp(1.7rem, 3.1vw, 2.45rem); }
h3, .h3 { font-size: clamp(1.35rem, 2.3vw, 1.8rem); }

p, .product-description, .product-desc, .ax-section__sub,
.card-text, .form-text, article, .rte, .page-content {
  font-family: var(--ax-body);
  font-weight: 400;
  line-height: 1.65;
  color: var(--ax-page-fg);
}

a { text-decoration: none; transition: color .18s var(--ax-ease); }

::selection { background: var(--ax-red); color: #fff; }

*:focus-visible {
  outline: 2px solid var(--ax-red);
  outline-offset: 2px;
  border-radius: 4px;
}

/* <picture> wrappers must not create a layout box of their own */
.ax-hero__media picture,
.ax-fam__card picture,
.ax-atelier__media picture,
.ax-megapromo__media picture { display: contents; }

.ax-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  font-family: var(--ax-display);
  font-size: .82rem;
  font-weight: var(--ax-display-weight);
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--ax-red);
}
.ax-eyebrow::before {
  content: "";
  width: 26px;
  height: 2px;
  background: var(--ax-red);
}

/* section shell used by homepage blocks */
.ax-section { padding: clamp(2.6rem, 5vw, 4.5rem) 0; }
.ax-section__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1.5rem;
  margin-bottom: 2rem;
}
.ax-section__title {
  margin: .35rem 0 0;
  font-weight: var(--ax-display-weight);
}
.ax-section__sub {
  margin: .6rem 0 0;
  color: var(--ax-muted);
  max-width: 56ch;
  font-size: .98rem;
  line-height: 1.65;
}

/* ---------- 2. buttons ---------- */

.btn {
  font-family: var(--ax-display);
  font-weight: var(--ax-ui-weight);
  letter-spacing: .08em;
  text-transform: uppercase;
  border-radius: 10px;
  transition: transform .18s var(--ax-ease), box-shadow .18s var(--ax-ease),
              background-color .18s var(--ax-ease), color .18s var(--ax-ease);
}

.btn-primary {
  --bs-btn-bg: var(--ax-red);
  --bs-btn-border-color: var(--ax-red);
  --bs-btn-hover-bg: var(--ax-red-600);
  --bs-btn-hover-border-color: var(--ax-red-600);
  --bs-btn-active-bg: var(--ax-red-700);
  --bs-btn-active-border-color: var(--ax-red-700);
  --bs-btn-disabled-bg: var(--ax-red);
  --bs-btn-disabled-border-color: var(--ax-red);
  --bs-btn-disabled-color: #fff;
  --bs-btn-color: #fff;
  --bs-btn-hover-color: #fff;
  box-shadow: 0 2px 10px rgba(var(--ax-red-rgb), .28);
}
.btn-primary:hover { transform: translateY(-2px); box-shadow: var(--ax-glow); }
.btn-primary:disabled,
.btn-primary.disabled,
fieldset:disabled .btn-primary {
  opacity: .72;
}

/* Panier — COMMANDER (rose CDC #B91F1F, empty + filled cart) */
.cart-summary__actions .btn-primary {
  --bs-btn-bg: var(--ax-red-600);
  --bs-btn-border-color: var(--ax-red-600);
  --bs-btn-hover-bg: var(--ax-red-700);
  --bs-btn-hover-border-color: var(--ax-red-700);
  --bs-btn-active-bg: #851515;
  --bs-btn-active-border-color: #851515;
  --bs-btn-disabled-bg: var(--ax-red-600);
  --bs-btn-disabled-border-color: var(--ax-red-600);
  box-shadow: 0 2px 10px rgba(185, 31, 31, .28);
}
.cart-summary__actions .btn-primary:hover {
  box-shadow: 0 8px 30px rgba(185, 31, 31, .32);
}

.btn-outline-primary {
  --bs-btn-color: var(--ax-ink-900);
  --bs-btn-border-color: var(--ax-slate-300);
  --bs-btn-hover-bg: var(--ax-ink-900);
  --bs-btn-hover-border-color: var(--ax-ink-900);
  --bs-btn-hover-color: #fff;
}

.ax-btn-ghost {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  padding: .8rem 1.5rem;
  border: 1.5px solid rgba(255, 255, 255, .32);
  border-radius: 10px;
  color: #fff;
  font-family: var(--ax-display);
  font-weight: var(--ax-ui-weight);
  letter-spacing: .08em;
  text-transform: uppercase;
  backdrop-filter: blur(6px);
  transition: all .2s var(--ax-ease);
}
.ax-btn-ghost:hover {
  background: #fff;
  border-color: #fff;
  color: var(--ax-ink-900);
  transform: translateY(-2px);
}

.ax-link-more {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  font-family: var(--ax-display);
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--ax-heading);
  white-space: nowrap;
}
.ax-link-more::after {
  content: "";
  width: 22px;
  height: 8px;
  border-right: 2px solid var(--ax-red);
  border-bottom: 2px solid var(--ax-red);
  transform: rotate(-45deg) translateY(-3px);
  transition: transform .2s var(--ax-ease);
}
.ax-link-more:hover { color: var(--ax-red); }
.ax-link-more:hover::after { transform: rotate(-45deg) translate(3px, -3px); }

.ax-link-more--light { color: #fff; font-size: .82rem; letter-spacing: .14em; }
.ax-link-more--light:hover { color: var(--ax-red); }

/* ---------- 3. header ---------- */

.header {
  position: sticky;
  top: 0;
  z-index: 1055;
  background: var(--ax-ink-900);
  box-shadow: 0 1px 0 rgba(255, 255, 255, .06), 0 10px 30px rgba(10, 12, 16, .22);
}
.header::after {
  content: "";
  display: block;
  height: 3px;
  background: linear-gradient(90deg, var(--ax-red) 0%, var(--ax-red-700) 42%, transparent 100%);
}

.header-top {
  background: #121212;
  border-bottom: 1px solid rgba(255, 255, 255, .07);
  font-size: .62rem;
  letter-spacing: .03em;
  line-height: 1.1;
}
.header-top,
.header-top a,
.header-top .header-block__action-btn {
  color: rgba(255, 255, 255, .68);
}
.header-top a:hover { color: #fff; }
.header-top .container-md {
  padding-top: 0;
  padding-bottom: 0;
}
.header-top .row {
  align-items: center;
  min-height: 0;
}
.header-top__left,
.header-top__right {
  padding-block: .06rem;
  min-height: 0;
}
.header-top__right {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: .25rem;
}
.header-top #_desktop_ps_languageselector,
.header-top #_desktop_ps_currencyselector {
  display: flex;
  align-items: center;
}
.header-top .ps-languageselector,
.header-top .ps-currencyselector {
  line-height: 1;
}

/* Language tabs — FR | EN */
.ps-languageselector--tabs {
  display: inline-flex;
  align-items: center;
}
.ps-languageselector__tabs {
  display: inline-flex;
  align-items: stretch;
  gap: 0;
  padding: 1px;
  border-radius: 5px;
  border: 1px solid rgba(255, 255, 255, .16);
  background: rgba(255, 255, 255, .05);
  overflow: hidden;
}
.ps-languageselector__tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.85rem;
  height: 1.35rem;
  padding: 0 .45rem;
  font-family: var(--ax-display);
  font-size: .62rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  text-decoration: none;
  color: rgba(255, 255, 255, .62);
  border-right: 1px solid rgba(255, 255, 255, .12);
  transition: background-color .18s var(--ax-ease), color .18s var(--ax-ease);
}
.ps-languageselector__tab:last-child {
  border-right: 0;
}
.ps-languageselector__tab:hover {
  color: #fff;
  background: rgba(255, 255, 255, .08);
}
.ps-languageselector__tab.is-active,
.ps-languageselector__tab[aria-selected="true"] {
  color: #fff;
  background: var(--ax-red);
}
.ps-languageselector__tab.is-active:hover,
.ps-languageselector__tab[aria-selected="true"]:hover {
  color: #fff;
  background: var(--ax-red-600);
}

.header-top .form-select,
.header-top .ps-currencyselector .form-select {
  min-height: 1.35rem;
  height: 1.35rem;
  padding: 0 1.1rem 0 .35rem;
  font-size: .62rem;
  line-height: 1.1;
  border-radius: 4px;
  border: 1px solid rgba(255, 255, 255, .14);
  background-color: rgba(255, 255, 255, .04);
  background-size: 9px 7px;
  background-position: right .28rem center;
  color: rgba(255, 255, 255, .78);
}
.header-top .form-select:focus {
  border-color: rgba(var(--ax-red-rgb), .45);
  box-shadow: none;
}

.ps-contactinfo--header {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .65rem 1rem;
}
.ps-contactinfo--header .ps-contactinfo__link {
  display: inline-flex;
  align-items: center;
  gap: .28rem;
  color: inherit;
  text-decoration: none;
  white-space: nowrap;
}
.ps-contactinfo--header .ps-contactinfo__icon {
  font-size: .82rem;
  line-height: 1;
  opacity: .75;
}
.ps-contactinfo--header .ps-contactinfo__label {
  font-family: var(--ax-body);
  font-size: .62rem;
  font-weight: 500;
  letter-spacing: .02em;
}

.header-bottom { padding-block: .85rem; }
.header-bottom__row {
  align-items: center;
  flex-wrap: nowrap;
}
.header-bottom__logo {
  flex-shrink: 0;
  margin-right: .5rem;
}
.header-bottom__logo img,
.header-bottom__logo .logo,
.header .navbar-brand img.logo,
img.logo.img-fluid,
.ax-logo__img {
  max-height: 48px;
  width: auto;
  filter: none !important;
  -webkit-filter: none !important;
}

/* Dual HML logos: NOIR on light header, BLANC on dark header */
.ax-logo {
  position: relative;
  display: block;
  line-height: 0;
}
.ax-logo__img {
  display: block;
  height: auto;
}
.ax-logo__img--dark {
  display: none;
}
html[data-ax-theme="light"] .ax-logo__img--light,
html:not([data-ax-theme]) .ax-logo__img--light {
  display: block;
}
html[data-ax-theme="light"] .ax-logo__img--dark,
html:not([data-ax-theme]) .ax-logo__img--dark {
  display: none;
}
html[data-ax-theme="dark"] .ax-logo__img--light {
  display: none;
}
html[data-ax-theme="dark"] .ax-logo__img--dark {
  display: block;
}
.header-bottom__menu-toggle .menu-toggle {
  color: #fff;
  text-decoration: none;
}

/* header action icons */
.header-block {
  position: relative;
}
.header-block__action-btn,
.header .header-block__action-btn {
  color: rgba(255, 255, 255, .92);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  min-width: 42px;
  height: 42px;
  width: auto;
  padding: 0 .9rem;
  border-radius: 10px;
  border: 1px solid transparent;
  position: relative;
  transition:
    background-color .18s var(--ax-ease),
    color .18s var(--ax-ease),
    border-color .18s var(--ax-ease);
}
.header-block__action-btn:hover {
  background: rgba(255, 255, 255, .1);
  color: #fff;
}
.header-block__action-btn--account,
.header-block__action-btn--cart {
  background: rgba(255, 255, 255, .07);
  border-color: rgba(255, 255, 255, .12);
}
.header-block__action-btn--cart:hover,
.header-block__action-btn--account:hover {
  background: rgba(var(--ax-red-rgb), .16);
  border-color: rgba(var(--ax-red-rgb), .45);
  color: #fff;
}
.header-block__title {
  font-family: var(--ax-display);
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  line-height: 1;
  white-space: nowrap;
}
.header-block__icon {
  font-size: 1.35rem;
  line-height: 1;
}
.header-block__badge {
  background: var(--ax-red);
  color: #fff;
  font-family: var(--ax-body);
  font-size: .68rem;
  font-weight: 700;
  min-width: 18px;
  height: 18px;
  padding: 0 .35rem;
  border-radius: 9px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 4px;
  right: 4px;
  transform: none;
  box-shadow: 0 0 0 2px var(--ax-ink-900);
}
.header-block__badge--empty {
  background: rgba(255, 255, 255, .22);
  color: rgba(255, 255, 255, .9);
}
@media (min-width: 768px) {
  .header-block__badge {
    position: static;
    margin-left: .15rem;
    box-shadow: none;
  }
}

/* keep cart/account in the sticky logo row */
#_desktop_ps_customersignin,
#_desktop_ps_shoppingcart {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}
.header-bottom__row #_desktop_ps_customersignin,
.header-bottom__row #_desktop_ps_shoppingcart {
  margin-left: .45rem;
}
.header-bottom__row #_desktop_ps_customersignin {
  order: 5;
  margin-left: .45rem;
  margin-right: 0;
}
.header-bottom__row #_desktop_ps_shoppingcart {
  order: 3;
}
.header-bottom__row #_desktop_ps_searchbar {
  order: 2;
}
.ax-theme-toggle-wrap {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  margin-left: .45rem;
  margin-right: 0;
  order: 4;
}
.header-bottom__row .ax-theme-toggle-wrap {
  margin-left: .55rem;
}
.ax-theme-toggle {
  background: rgba(255, 255, 255, .07);
  border-color: rgba(255, 255, 255, .12) !important;
}
.ax-theme-toggle:hover {
  background: rgba(var(--ax-red-rgb), .16);
  border-color: rgba(var(--ax-red-rgb), .45) !important;
  color: #fff;
}
.ax-theme-toggle__icon {
  display: none;
  line-height: 0;
}
html[data-ax-theme="light"] .ax-theme-toggle__icon--moon,
html[data-ax-theme="dark"] .ax-theme-toggle__icon--sun {
  display: inline-flex;
}
.ax-theme-toggle__label {
  margin-left: .1rem;
}

.header-bottom #_desktop_ps_searchbar {
  flex: 1 1 auto;
  min-width: 180px;
  max-width: 420px;
  margin-left: auto;
  margin-right: .35rem;
}

/* search — roomy again on the logo row */
.header .ps-searchbar,
.header .search-widget { flex: 1 1 auto; }
.header-bottom .ps-searchbar,
.header-bottom .ps-searchbar__form {
  width: 100%;
}
.header-bottom .ps-searchbar__input {
  width: 100%;
  min-width: 0;
}
.header input[type="text"],
.header input[type="search"],
.header .form-control {
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(255, 255, 255, .14);
  color: #fff;
  border-radius: 10px;
  height: 44px;
}
.header .form-control::placeholder { color: rgba(255, 255, 255, .45); }
.header .form-control:focus {
  background: rgba(255, 255, 255, .13);
  border-color: var(--ax-red);
  box-shadow: 0 0 0 3px rgba(var(--ax-red-rgb), .18);
  color: #fff;
}

.header select,
.header .form-select {
  background-color: rgba(255, 255, 255, .06);
  border-color: rgba(255, 255, 255, .14);
  color: rgba(255, 255, 255, .82);
  border-radius: 8px;
}

/* the search overlay panels keep a light surface, so undo the dark input skin */
.header .ps-searchbar__offcanvas,
.header .ps-searchbar__dropdown { color: var(--ax-ink-900); }
.header .ps-searchbar__offcanvas .form-control,
.header .ps-searchbar__dropdown .form-control {
  background: #fff;
  border-color: var(--ax-slate-200);
  color: var(--ax-ink-900);
}
.header .ps-searchbar__offcanvas .form-control::placeholder,
.header .ps-searchbar__dropdown .form-control::placeholder { color: var(--ax-slate-500); }
.header .ps-searchbar__offcanvas .btn-close { filter: none; }

/* full-width family nav under the logo row */
.header-nav-full-width {
  background: rgba(255, 255, 255, .04);
  border-top: 1px solid rgba(255, 255, 255, .06);
}
.header-nav-full-width .container-md {
  display: flex;
  justify-content: center;
}
@media (max-width: 1199.98px) {
  .header-nav-full-width {
    border: 0;
    background: transparent;
    /* keep offcanvas in DOM; collapse visual strip */
    min-height: 0;
  }
  .header-nav-full-width .container-md {
    display: block;
    height: 0;
    overflow: visible;
    padding: 0;
  }
}

/* ---------- 4. mega menu (desktop) — full-width strip ---------- */

.header-nav-full-width .ps-mainmenu--desktop {
  display: flex;
  width: 100%;
  justify-content: center;
}
.ps-mainmenu--desktop .ps-mainmenu__desktop {
  width: 100%;
}
.ps-mainmenu--desktop .ps-mainmenu__tree {
  display: flex;
  flex-wrap: nowrap !important;
  align-items: stretch;
  justify-content: center;
  gap: .15rem;
  margin: 0;
  padding: 0;
  list-style: none;
  width: 100%;
}

.ps-mainmenu--desktop .ps-mainmenu__tree-item {
  align-items: stretch;
  flex: 0 0 auto;
  white-space: nowrap;
}
.ps-mainmenu--desktop .ps-mainmenu__tree-item-wrapper {
  display: flex;
  align-items: center;
  position: relative;
}

.ps-mainmenu--desktop .ps-mainmenu__tree-link {
  font-family: var(--ax-display);
  font-size: .98rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .82);
  padding: .95rem 1.05rem;
  position: relative;
  white-space: nowrap;
}
.ps-mainmenu--desktop .ps-mainmenu__tree-link::after {
  content: "";
  position: absolute;
  left: 1.05rem;
  right: 1.05rem;
  bottom: .45rem;
  height: 2px;
  background: var(--ax-red);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .25s var(--ax-ease);
}
.ps-mainmenu--desktop .ps-mainmenu__tree-item:hover .ps-mainmenu__tree-link,
.ps-mainmenu--desktop .ps-mainmenu__tree-item.current .ps-mainmenu__tree-link {
  color: #fff;
}
.ps-mainmenu--desktop .ps-mainmenu__tree-item:hover .ps-mainmenu__tree-link::after,
.ps-mainmenu--desktop .ps-mainmenu__tree-item.current .ps-mainmenu__tree-link::after {
  transform: scaleX(1);
}

.ps-mainmenu--desktop .ps-mainmenu__tree-dropdown-toggle {
  color: rgba(255, 255, 255, .5);
  padding: 0 .35rem 0 0;
  flex: 0 0 auto;
}
.ps-mainmenu--desktop .ps-mainmenu__tree-dropdown-toggle::after { border-top-color: currentColor; }
.ps-mainmenu--desktop .ps-mainmenu__tree-item:hover .ps-mainmenu__tree-dropdown-toggle { color: #fff; }

/* dropdown clears the full sticky header */
.ps-mainmenu--desktop .ps-mainmenu__tree > li .submenu {
  background: linear-gradient(180deg, var(--ax-ink-800) 0%, var(--ax-ink-900) 100%);
  border-top: 3px solid var(--ax-red);
  box-shadow: 0 30px 60px rgba(6, 8, 11, .45);
  padding-block: .5rem 1.25rem;
  top: 100% !important;
  z-index: 1060;
}
.ps-mainmenu--desktop .submenu__row { --bs-gutter-x: 2.5rem; }

/* left rail = models */
.ps-mainmenu--desktop .submenu__left {
  border-right: 1px solid rgba(255, 255, 255, .09);
  gap: .1rem;
  padding-block: 1.25rem;
  max-height: 62vh;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, .2) transparent;
}
.ps-mainmenu--desktop .submenu__left-item {
  color: rgba(255, 255, 255, .72);
  font-family: var(--ax-display);
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: .62rem .9rem;
  border-radius: 9px;
  border-left: 2px solid transparent;
  justify-content: space-between;
  transition: all .16s var(--ax-ease);
}
.ps-mainmenu--desktop .submenu__left-item::after {
  content: "";
  width: 6px;
  height: 6px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(-45deg);
  opacity: 0;
  transition: opacity .16s var(--ax-ease), transform .16s var(--ax-ease);
}
.ps-mainmenu--desktop .submenu__left-item:hover {
  background: rgba(255, 255, 255, .07);
  color: #fff;
}
.ps-mainmenu--desktop .submenu__left-item:hover::after { opacity: .7; }
.ps-mainmenu--desktop .submenu__left-item.active,
.ps-mainmenu--desktop .submenu__left-item.active:focus,
.ps-mainmenu--desktop .submenu__left-item.active:active {
  background: rgba(var(--ax-red-rgb), .14);
  border-left-color: var(--ax-red);
  color: #fff;
}
.ps-mainmenu--desktop .submenu__left-item.active::after { opacity: 1; transform: rotate(-45deg) translateX(2px); }

/* right grid = sub-categories */
.ps-mainmenu--desktop .submenu__right { padding-block: 1.25rem; }
.ps-mainmenu--desktop .submenu__right-items {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 2rem;
  row-gap: 1.4rem;
}
.ps-mainmenu--desktop .submenu__right-items ul { list-style: none; margin: 0; padding: 0; }
.ps-mainmenu--desktop .submenu__right-items .menu-item {
  color: rgba(255, 255, 255, .66);
  font-size: .92rem;
  padding: .3rem 0;
  border-radius: 6px;
  transition: color .16s var(--ax-ease), padding-left .16s var(--ax-ease);
}
.ps-mainmenu--desktop .submenu__right-items .menu-item:hover {
  color: #fff;
  padding-left: .35rem;
}
.ps-mainmenu--desktop .submenu__right-items .menu-item__group-main-item {
  font-family: var(--ax-display);
  font-size: .84rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #fff;
  padding-bottom: .55rem;
  margin-bottom: .35rem;
  border-bottom: 1px solid rgba(255, 255, 255, .12);
  position: relative;
}
.ps-mainmenu--desktop .submenu__right-items .menu-item__group-main-item::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 28px;
  height: 1px;
  background: var(--ax-red);
}
.ps-mainmenu--desktop .submenu__right-items .menu-item__group-main-item:hover { padding-left: 0; }

/* promo card injected in the mega menu */
.ax-megapromo {
  display: grid;
  grid-template-columns: 190px 1fr;
  gap: 1.1rem;
  align-items: center;
  margin-top: .5rem;
  padding: 1rem;
  border-radius: var(--ax-r);
  background: linear-gradient(120deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, .02));
  border: 1px solid rgba(255, 255, 255, .09);
}
.ax-megapromo__media {
  aspect-ratio: 4 / 3;
  border-radius: var(--ax-r-sm);
  overflow: hidden;
  background: #000;
}
.ax-megapromo__media img { width: 100%; height: 100%; object-fit: cover; }
.ax-megapromo__title {
  font-family: var(--ax-display);
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #fff;
  margin: 0 0 .3rem;
}
.ax-megapromo__text {
  color: rgba(255, 255, 255, .6);
  font-size: .88rem;
  line-height: 1.55;
  margin: 0 0 .75rem;
}

/* mobile off-canvas menu */
.ps-mainmenu--mobile.offcanvas {
  background: var(--ax-ink-900);
  color: #fff;
  width: min(92vw, 400px);
}
.ps-mainmenu--mobile .offcanvas-header {
  border-bottom: 1px solid rgba(255, 255, 255, .09);
  padding: 1rem 1.25rem;
}
.ps-mainmenu--mobile .btn-close { filter: invert(1) grayscale(1); opacity: .8; }
.ps-mainmenu--mobile .js-back-button { color: rgba(255, 255, 255, .8); }
.ps-mainmenu--mobile .menu__list { list-style: none; margin: 0; padding: .5rem 0; }
.ps-mainmenu--mobile .menu__list > li {
  position: relative;
  border-bottom: 1px solid rgba(255, 255, 255, .06);
}
.ps-mainmenu--mobile .menu__link {
  display: block;
  padding: 1rem 3.2rem 1rem 1.25rem;
  color: rgba(255, 255, 255, .84);
  font-family: var(--ax-display);
  font-size: 1.06rem;
  font-weight: 600;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.ps-mainmenu--mobile .menu__link:active,
.ps-mainmenu--mobile .menu__link:hover { color: #fff; background: rgba(255, 255, 255, .05); }
.ps-mainmenu--mobile .menu__title {
  padding: 1rem 1.25rem .5rem;
  font-family: var(--ax-display);
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--ax-red);
  border: 0;
}
.ps-mainmenu--mobile .menu__toggle-child {
  position: absolute;
  right: .5rem;
  top: 50%;
  transform: translateY(-50%);
  color: rgba(255, 255, 255, .55);
}
.ps-mainmenu--mobile .ps-mainmenu__additionnals {
  border-top: 1px solid rgba(255, 255, 255, .09);
  padding: 1rem 1.25rem;
}

.ps-mainmenu__mobile-toggle .menu-toggle { color: #fff; }

/* ---------- 5. breadcrumb ---------- */

.breadcrumb__wrapper {
  border-bottom: 1px solid var(--ax-border);
  background: var(--ax-surface);
}
.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .15rem .35rem;
  list-style: none;
  background: transparent;
  padding: 1rem 0;
  margin: 0;
  font-size: .84rem;
}
.breadcrumb-item {
  display: inline-flex;
  align-items: center;
  color: var(--ax-slate-500);
}
.breadcrumb-item + .breadcrumb-item::before {
  content: "/";
  margin-right: .45rem;
  color: var(--ax-slate-300);
  font-weight: 500;
}
.breadcrumb a,
.breadcrumb-link {
  color: var(--ax-slate-500);
  text-decoration: none;
}
.breadcrumb a:hover,
.breadcrumb-link:hover { color: var(--ax-red); }
.breadcrumb-item--current,
.breadcrumb li:last-child {
  color: var(--ax-ink-900);
  font-weight: 600;
}

/* ---------- 6. homepage: hero ---------- */

.ax-hero {
  position: relative;
  min-height: clamp(430px, 62vh, 660px);
  display: flex;
  align-items: center;
  overflow: hidden;
  background: #eef1f4;
  isolation: isolate;
}
.ax-hero__media {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 112%;
  left: 6%;
}
.ax-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 88% center;
  transform: scale(1.04);
  animation: ax-slow-zoom 22s ease-in-out infinite alternate;
}
@keyframes ax-slow-zoom {
  from { transform: scale(1.02); }
  to { transform: scale(1.1); }
}
.ax-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(245, 245, 245, .99) 0%, rgba(245, 245, 245, .96) 38%, rgba(245, 245, 245, .82) 48%, rgba(245, 245, 245, .35) 62%, transparent 100%);
}
.ax-hero__inner { padding-block: clamp(3rem, 7vw, 5.5rem); max-width: 640px; }
.ax-hero .ax-eyebrow { color: var(--ax-gray); }
.ax-hero .ax-eyebrow::before { background: var(--ax-red); }
.ax-hero__title,
.ax-hero h1.ax-hero__title {
  color: var(--ax-anthracite) !important;
  font-size: clamp(2.3rem, 5.4vw, 4.15rem);
  line-height: .98;
  margin: 1rem 0 0;
  text-shadow: none;
}
.ax-hero__title em {
  font-style: normal;
  color: var(--ax-red) !important;
  display: block;
}
.ax-hero__text {
  color: var(--ax-gray);
  font-size: 1.04rem;
  line-height: 1.65;
  margin: 1.25rem 0 2rem;
  max-width: 46ch;
}
.ax-hero__actions { display: flex; flex-wrap: wrap; gap: .85rem; }
.ax-hero__actions .btn { padding: .85rem 1.8rem; font-size: 1rem; }
.ax-hero .ax-btn-ghost {
  border-color: rgba(26, 26, 26, .22);
  color: var(--ax-anthracite);
  backdrop-filter: none;
  background: rgba(255, 255, 255, .55);
}
.ax-hero .ax-btn-ghost:hover {
  background: var(--ax-anthracite);
  border-color: var(--ax-anthracite);
  color: #fff;
}

.ax-hero__stats {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(1.5rem, 4vw, 3.2rem);
  margin-top: 2.75rem;
  padding-top: 1.75rem;
  border-top: 1px solid rgba(26, 26, 26, .12);
}
.ax-hero__stat-value {
  display: block;
  font-family: var(--ax-display);
  font-size: 2rem;
  font-weight: 700;
  color: var(--ax-anthracite);
  line-height: 1;
}
.ax-hero__stat-label {
  display: block;
  margin-top: .35rem;
  font-size: .74rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--ax-gray);
}

/* ---------- 7. homepage: USP strip ---------- */

.ax-usp {
  background: var(--ax-ink-800);
  border-top: 1px solid rgba(255, 255, 255, .06);
}
.ax-usp__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: rgba(255, 255, 255, .07);
}
.ax-usp__item {
  background: var(--ax-ink-800);
  display: flex;
  align-items: center;
  gap: .9rem;
  padding: 1.25rem 1.35rem;
}
.ax-usp__icon {
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  background: rgba(var(--ax-red-rgb), .14);
  color: var(--ax-red);
}
.ax-usp__icon .material-icons { font-size: 22px; }
.ax-usp__title {
  font-family: var(--ax-display);
  font-size: .95rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #fff;
  margin: 0;
}
.ax-usp__text { margin: .15rem 0 0; font-size: .8rem; color: rgba(255, 255, 255, .52); }

/* ---------- 8. homepage: family cards ---------- */

.ax-fam {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 1.15rem;
}
.ax-fam__card {
  position: relative;
  display: flex;
  align-items: flex-end;
  min-height: 260px;
  padding: 1.35rem;
  border-radius: var(--ax-r);
  overflow: hidden;
  background: var(--ax-ink-900);
  box-shadow: var(--ax-shadow-sm);
  isolation: isolate;
  transition: transform .3s var(--ax-ease), box-shadow .3s var(--ax-ease);
}
/* first two cards span 3 cols, remaining three span 2 -> 2 tidy rows */
.ax-fam__card:nth-child(1),
.ax-fam__card:nth-child(2) { grid-column: span 3; min-height: 320px; }
.ax-fam__card:nth-child(n + 3) { grid-column: span 2; }

.ax-fam__card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(0deg, rgba(6, 8, 11, .93) 8%, rgba(6, 8, 11, .45) 52%, rgba(6, 8, 11, .12) 100%);
}
.ax-fam__img {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .55s var(--ax-ease);
}
.ax-fam__card:hover { transform: translateY(-5px); box-shadow: var(--ax-shadow-lg); }
.ax-fam__card:hover .ax-fam__img { transform: scale(1.07); }

.ax-fam__body { position: relative; width: 100%; }
.ax-fam__count {
  display: inline-block;
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--ax-red);
  margin-bottom: .3rem;
}
.ax-fam__name {
  font-family: var(--ax-display);
  font-size: clamp(1.35rem, 2vw, 1.85rem);
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #fff;
  margin: 0;
}
.ax-fam__models {
  margin: .45rem 0 0;
  font-size: .84rem;
  color: rgba(255, 255, 255, .6);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.ax-fam__cta {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  margin-top: .9rem;
  font-family: var(--ax-display);
  font-size: .82rem;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #fff;
  opacity: 0;
  transform: translateY(6px);
  transition: all .28s var(--ax-ease);
}
.ax-fam__card:hover .ax-fam__cta { opacity: 1; transform: translateY(0); }
.ax-fam__cta::after {
  content: "";
  width: 7px;
  height: 7px;
  border-right: 2px solid var(--ax-red);
  border-bottom: 2px solid var(--ax-red);
  transform: rotate(-45deg);
}

/* ---------- 8b. homepage: favorite bikes carousel ---------- */

.ax-fav {
  --ax-fav-per-view: 1.95;
  --ax-fav-gap: 22px;
  --ax-fav-slide-scale: 1.12;
  --ax-fav-neighbor-opacity: .84;
  padding: clamp(2.2rem, 4vw, 3.6rem) 0 clamp(2.8rem, 4.5vw, 4rem);
  overflow: visible;
}
.ax-fav__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.15rem;
}
.ax-fav__title {
  display: flex;
  align-items: center;
  gap: .7rem;
  margin: 0;
  font-family: var(--ax-display);
  font-weight: var(--ax-ui-weight);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ax-heading);
}
.ax-fav__title::before {
  content: "";
  width: 0;
  height: 0;
  border-top: .42em solid transparent;
  border-bottom: .42em solid transparent;
  border-left: .62em solid var(--ax-red);
  flex-shrink: 0;
}
.ax-fav__nav { display: flex; gap: 0; }
.ax-fav__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: #111;
  color: #fff;
  cursor: pointer;
  transition: background .18s var(--ax-ease), color .18s var(--ax-ease);
}
.ax-fav__btn .material-icons { font-size: 22px; }
.ax-fav__btn:hover,
.ax-fav__btn:focus-visible {
  background: var(--ax-red);
  color: #fff;
}
.ax-fav:focus { outline: none; }
.ax-fav:focus-visible { outline: 2px solid var(--ax-red); outline-offset: 6px; }
.ax-fav__slide:focus { outline: none; }
.ax-fav__slide:focus-visible { outline: 2px solid #fff; outline-offset: -2px; }

.ax-fav__container {
  position: relative;
  isolation: isolate;
  min-height: clamp(430px, 52vw, 560px);
}
.ax-fav__content-wrapper {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}
.ax-fav__content {
  position: relative;
  width: 100%;
  height: 100%;
  background-color: #141414;
  background-image: var(--ax-fav-bg);
  background-size: cover;
  background-position: 50% 62%;
}
.ax-fav__content::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(10, 10, 10, .42) 0%, rgba(10, 10, 10, .1) 28%, transparent 46%, transparent 54%, rgba(10, 10, 10, .1) 72%, rgba(10, 10, 10, .34) 100%),
    linear-gradient(0deg, rgba(10, 10, 10, .12) 0%, transparent 42%);
  pointer-events: none;
}
.ax-fav__wrapper {
  position: relative;
  z-index: 2;
  box-sizing: content-box;
  overflow: visible;
  padding-top: clamp(110px, 19vw, 170px);
  height: clamp(250px, 35vw, 335px);
  padding-bottom: clamp(1.5rem, 3vw, 2.5rem);
  pointer-events: none;
}
.ax-fav__infos-layer {
  position: absolute;
  inset: 0;
  z-index: 4;
  display: flex;
  justify-content: center;
  pointer-events: none;
}
.ax-fav__infos-inner {
  width: min(1120px, 100%);
}
.ax-fav__infos {
  position: relative;
  max-width: min(420px, 58%);
  padding: clamp(1rem, 2.4vw, 1.6rem) clamp(1.1rem, 3vw, 2.2rem);
  color: #fff;
  pointer-events: auto;
  transition: opacity .2s var(--ax-ease), transform .2s var(--ax-ease);
}
.ax-fav__infos.is-swap {
  opacity: 0;
  transform: translateY(8px);
}
.ax-fav__name {
  margin: 0 0 .55rem;
  font-family: var(--ax-display);
  font-weight: var(--ax-ui-weight);
  font-size: clamp(1.7rem, 3.4vw, 2.7rem);
  letter-spacing: .04em;
  line-height: .95;
  text-transform: uppercase;
  color: #fff;
  text-shadow: 0 2px 18px rgba(0, 0, 0, .35);
}
.ax-fav__specs {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem 1rem;
  margin-bottom: 1rem;
  font-size: .92rem;
  font-weight: 500;
  letter-spacing: .02em;
  color: rgba(255, 255, 255, .92);
}
.ax-fav__specs span {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
}
.ax-fav__specs .material-icons {
  font-size: 16px;
  opacity: .9;
}
.ax-fav__cta {
  border-radius: 0;
  padding: .85rem 1.35rem;
  letter-spacing: .1em;
}
.ax-fav__viewport {
  position: relative;
  z-index: 3;
  width: 100%;
  height: 100%;
  overflow: visible;
  touch-action: pan-y;
  cursor: grab;
  user-select: none;
  pointer-events: auto;
}
.ax-fav__viewport.is-dragging { cursor: grabbing; }
.ax-fav__track {
  position: relative;
  height: 100%;
}
.ax-fav__slide {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  transform-origin: center bottom;
  will-change: transform;
  cursor: pointer;
  opacity: var(--ax-fav-neighbor-opacity, .84);
  transition: opacity .22s var(--ax-ease);
}
.ax-fav__slide.is-active { opacity: 1; }
.ax-fav__slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center bottom;
  /* Softer shadow — hard drop-shadow exaggerated cutout fringe on dark road */
  filter: drop-shadow(0 10px 14px rgba(0, 0, 0, .28));
  pointer-events: none;
  user-select: none;
}

/* ---------- 9. homepage: workshop banner ---------- */

.ax-atelier {
  position: relative;
  border-radius: var(--ax-r-lg);
  overflow: hidden;
  background: var(--ax-ink-900);
  isolation: isolate;
}
.ax-atelier__grid {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  align-items: stretch;
  min-height: 380px;
}
.ax-atelier__media { position: relative; }
.ax-atelier__media img { width: 100%; height: 100%; object-fit: cover; }
.ax-atelier__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 55%, var(--ax-ink-900) 100%);
}
.ax-atelier__body {
  padding: clamp(1.8rem, 4vw, 3.2rem);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.ax-atelier__title { color: #fff; margin: .8rem 0 0; }
.ax-atelier__text {
  color: rgba(255, 255, 255, .68);
  line-height: 1.7;
  margin: 1rem 0 1.6rem;
  font-size: .98rem;
}
.ax-atelier__list { list-style: none; margin: 0 0 1.8rem; padding: 0; display: grid; gap: .65rem; }
.ax-atelier__list li {
  display: flex;
  align-items: flex-start;
  gap: .6rem;
  color: rgba(255, 255, 255, .82);
  font-size: .92rem;
}
.ax-atelier__list li::before {
  content: "";
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  margin-top: .18rem;
  border-radius: 50%;
  background: rgba(var(--ax-red-rgb), .18);
  box-shadow: inset 0 0 0 2px var(--ax-red);
}

/* ---------- 10. product cards ---------- */

.product-miniature { height: 100%; }
.product-miniature__inner {
  height: 100%;
  display: flex;
  flex-direction: column;
  background: var(--ax-surface);
  border: 1px solid var(--ax-border);
  border-radius: var(--ax-r);
  overflow: hidden;
  transition: transform .26s var(--ax-ease), box-shadow .26s var(--ax-ease), border-color .26s var(--ax-ease), background-color .25s var(--ax-ease);
}
.product-miniature:hover .product-miniature__inner {
  transform: translateY(-5px);
  border-color: transparent;
  box-shadow: var(--ax-card-shadow);
}
.product-miniature__top {
  position: relative;
  aspect-ratio: 16 / 9;
  background: #f4f4f4;
  overflow: hidden;
}
.product-miniature__image-container,
.product-miniature__image-link,
.product-miniature__top picture {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
}
.product-miniature__top img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
  transform: none;
}

.product-miniature__bottom {
  display: flex;
  flex-direction: column;
  gap: .85rem;
  padding: 1rem 1.05rem 1.1rem;
  flex: 1;
}
.product-miniature__infos { flex: 1; display: flex; flex-direction: column; gap: .4rem; }
.product-miniature__title {
  font-family: var(--ax-display);
  font-size: 1.02rem;
  font-weight: 600;
  letter-spacing: .03em;
  text-transform: uppercase;
  color: var(--ax-heading);
  line-height: 1.2;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.product-miniature__title:hover { color: var(--ax-red); }
.product-miniature__prices { display: flex; align-items: baseline; gap: .5rem; margin-top: auto; }
.product-miniature__price {
  font-family: var(--ax-display);
  font-size: 1.45rem;
  font-weight: 700;
  color: var(--ax-heading);
  letter-spacing: .01em;
}
.product-miniature__regular-price {
  font-size: .9rem;
  color: var(--ax-muted);
  text-decoration: line-through;
}
.product-miniature__actions { display: flex; gap: .5rem; align-items: center; }
.product-miniature__actions .quantity-button { flex: 0 0 auto; }
.product-miniature__add { flex: 1; }
.product-miniature__details { width: 100%; }

.product-flags {
  position: absolute;
  top: .7rem;
  left: .7rem;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: .35rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.product-flags li,
.product-flag {
  background: var(--ax-ink-900);
  color: #fff;
  font-family: var(--ax-display);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: .3rem .6rem;
  border-radius: 5px;
}
.product-flags li.on-sale,
.product-flags li.discount,
.product-flag.discount { background: var(--ax-red); }

/* quick view button */
.product-miniature__quickview,
.quick-view {
  position: absolute;
  inset-inline: .7rem;
  bottom: .7rem;
  z-index: 2;
  opacity: 0;
  transform: translateY(8px);
  transition: all .26s var(--ax-ease);
}
.product-miniature:hover .product-miniature__quickview,
.product-miniature:hover .quick-view { opacity: 1; transform: translateY(0); }

/* ---------- 10b. homepage product rails (native PS modules) ---------- */

.page-content--home {
  display: block;
  width: 100%;
}
.page-content--home .ps-featuredproducts,
.page-content--home .ps-newproducts,
.page-content--home .ps-bestsellers,
.page-content--home .ps-specials {
  display: block;
  padding: clamp(2.2rem, 4vw, 3.6rem) 0;
  border-top: 1px solid var(--ax-slate-200);
}
.page-content--home .ps-featuredproducts {
  background: linear-gradient(180deg, #f7f8fa 0%, #fff 48%);
  border-top: 0;
}
.page-content--home .ps-newproducts {
  background: var(--ax-surface);
}
.page-content--home .ps-bestsellers {
  background: linear-gradient(180deg, #fff 0%, #f7f8fa 100%);
}
.page-content--home .section-title {
  font-family: var(--ax-display);
  font-size: clamp(1.55rem, 2.4vw, 2.1rem);
  font-weight: 700;
  letter-spacing: .02em;
  text-transform: uppercase;
  margin: 0 0 1.35rem;
  color: var(--ax-ink-900);
}
/* 4 products per row × 3 rows (12 items) on desktop */
.page-content--home .module-products__list .products {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.15rem;
}
@media (max-width: 991.98px) {
  .page-content--home .module-products__list .products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .9rem;
  }
}
@media (max-width: 575.98px) {
  .page-content--home .module-products__list .products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .7rem;
  }
}
.page-content--home .module-products__buttons {
  display: flex;
  justify-content: center;
  margin-top: 1.5rem;
}
.page-content--home .module-products__buttons .btn {
  border-radius: 999px;
  padding: .7rem 1.35rem;
  font-family: var(--ax-display);
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}

/* ---------- 11. listing / facets ---------- */

.page-content, .page-header, .page-footer { background: transparent; }

#products .products,
.products {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
  gap: 1.15rem;
}

#left-column .block-categories,
#left-column .facets-wrapper,
#left-column > div > section:not(.ps-facetedsearch),
.block-categories,
.facet:not(.ax-facet) {
  background: var(--ax-surface);
  border: 1px solid var(--ax-border);
  border-radius: var(--ax-r);
  padding: 1.15rem;
  margin-bottom: 1.15rem;
}
.facet__title,
.block-categories .h6,
#left-column .h6 {
  font-family: var(--ax-display);
  font-size: .88rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--ax-heading);
}

/* Honda accessory filters */
.page-category #left-column .ps-categorytree,
.page-category #left-column .block-categories,
body.category-depth-level-4 #left-column .block-categories,
body.category-depth-level-5 #left-column .block-categories,
.page-category #left-column > *:not(.ps-facetedsearch):not(.ax-filters-wrap) {
  display: none;
}
body.category-depth-level-4 [data-ax-facet="famille moto"],
body.category-depth-level-4 [data-ax-facet="bike family"],
body.category-depth-level-4 [data-ax-facet="modele compatible"],
body.category-depth-level-4 [data-ax-facet="compatible model"],
body.category-depth-level-5 [data-ax-facet="famille moto"],
body.category-depth-level-5 [data-ax-facet="bike family"],
body.category-depth-level-5 [data-ax-facet="modele compatible"],
body.category-depth-level-5 [data-ax-facet="compatible model"],
body.category-depth-level-5 [data-ax-facet="univers"],
body.category-depth-level-5 [data-ax-facet="universe"],
.ax-filters [data-type="category"],
.ax-filters [data-ax-facet="categories"] {
  display: none;
}

#left-column .ps-facetedsearch {
  background: transparent;
  border: 0;
  padding: 0;
  margin-bottom: 1.15rem;
}
.ax-filters {
  background: var(--ax-surface);
  border: 1px solid var(--ax-border);
  border-radius: var(--ax-r);
  overflow: hidden;
  box-shadow: var(--ax-shadow-sm);
}
.ax-filters__head {
  padding: 1.15rem 1.15rem 1rem;
  background:
    linear-gradient(180deg, rgba(var(--ax-red-rgb), .08), transparent 72%),
    var(--ax-surface);
  border-bottom: 1px solid var(--ax-border);
}
.ax-filters__title {
  margin: 0;
  font-family: var(--ax-display);
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ax-heading);
}
.ax-filters__hint {
  margin: .35rem 0 0;
  font-size: .82rem;
  line-height: 1.4;
  color: var(--ax-muted);
}
.ax-filters__clear {
  padding: .85rem 1.15rem 0;
}
.ax-filters__clear .btn {
  width: 100%;
  font-size: .82rem;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.ax-filters .accordion-item,
.ax-facet {
  background: transparent;
  border: 0;
  border-top: 1px solid var(--ax-border);
  border-radius: 0;
  padding: 0;
  margin: 0;
}
.ax-facet__toggle {
  font-family: var(--ax-display);
  font-size: .86rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--ax-heading);
  background: transparent;
  box-shadow: none;
  padding: .9rem 1.15rem;
}
.ax-facet__toggle:not(.collapsed) {
  color: var(--ax-red);
}
.ax-facet__values {
  list-style: none;
  margin: 0;
  padding: .15rem 1.05rem 1rem;
  max-height: 280px;
  overflow: auto;
}
.ax-facet__row + .ax-facet__row { margin-top: .15rem; }
.ax-filters .form-check {
  min-height: 0;
  padding-left: 1.65rem;
  margin: 0;
}
.ax-filters .form-check-input {
  margin-top: .28rem;
  border-color: var(--ax-slate-300);
}
.ax-filters .form-check-input:checked {
  background-color: var(--ax-red);
  border-color: var(--ax-red);
}
.ax-filters .search-filters__link,
.ax-filters .form-check-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  width: 100%;
  color: var(--ax-page-fg);
  font-size: .9rem;
  line-height: 1.35;
}
.ax-filters .facet-label.active .search-filters__link {
  color: var(--ax-red);
  font-weight: 600;
}
.ax-facet__count {
  flex: 0 0 auto;
  min-width: 1.4rem;
  padding: .05rem .4rem;
  border-radius: 999px;
  background: var(--ax-surface-2);
  color: var(--ax-muted);
  font-size: .72rem;
  font-weight: 600;
  text-align: center;
}
.ax-facet__search {
  padding: 0 1.05rem .55rem;
}
.ax-facet__search-input {
  width: 100%;
  height: 36px;
  border: 1px solid var(--ax-border);
  border-radius: 8px;
  background: var(--ax-surface-2);
  color: var(--ax-page-fg);
  padding: 0 .7rem;
  font-size: .86rem;
}
.ax-facet__search-input:focus {
  outline: 2px solid rgba(var(--ax-red-rgb), .35);
  border-color: var(--ax-red);
}
.ax-facet__row.is-hidden { display: none; }
.ax-swatch {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 1px solid rgba(26, 26, 26, .18);
  flex: 0 0 14px;
  background: #ccc;
}
.ax-swatch[data-ax-swatch="noir"] { background: #1a1a1a; }
.ax-swatch[data-ax-swatch="blanc"] { background: #f5f5f5; }
.ax-swatch[data-ax-swatch="rouge"] { background: #d62828; }
.ax-swatch[data-ax-swatch="bleu"] { background: #2b5aa8; }
.ax-swatch[data-ax-swatch="gris"] { background: #6b7280; }
.ax-swatch[data-ax-swatch="argent"] { background: #c0c4cc; }
.ax-swatch[data-ax-swatch="orange"] { background: #e85d04; }
.ax-swatch[data-ax-swatch="tricolore"] {
  background: linear-gradient(90deg, #d62828 0 33%, #fff 33% 66%, #2b5aa8 66% 100%);
}
.ax-filters .search-filters__slider-container { padding: .35rem 1.15rem 1.1rem; }
.ax-listing-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .75rem 1rem;
  margin-bottom: 1.1rem;
  padding: .85rem 1rem;
  background: var(--ax-surface);
  border: 1px solid var(--ax-border);
  border-radius: var(--ax-r);
}
.ax-listing-toolbar__count {
  font-family: var(--ax-display);
  font-size: .92rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ax-heading);
}
.ax-listing-toolbar__sort {
  display: flex;
  align-items: center;
  gap: .6rem;
}
.active-filters {
  margin-bottom: 1rem;
}
.active-filters__list {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.active-filters__link {
  border-color: var(--ax-border);
}

@media (min-width: 768px) {
  #left-column .ps-facetedsearch {
    position: sticky;
    top: calc(var(--ax-header-h) + 12px);
  }
}

.category__header,
#js-product-list-header,
.block-category {
  margin-bottom: 1.5rem;
}

/* Pro category hero */
.ax-cat-hero {
  position: relative;
  overflow: hidden;
  border-radius: var(--ax-r-lg);
  background: linear-gradient(120deg, var(--ax-ink-900) 0%, #161c26 55%, var(--ax-ink-700) 100%);
  color: rgba(255, 255, 255, .78);
  isolation: isolate;
}
.ax-cat-hero__media {
  position: absolute;
  inset: 0;
  z-index: -2;
}
.ax-cat-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .38;
  transform: scale(1.04);
}
.ax-cat-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(105deg, rgba(8, 10, 14, .94) 18%, rgba(8, 10, 14, .72) 52%, rgba(8, 10, 14, .45) 100%),
    radial-gradient(circle at 88% 18%, rgba(var(--ax-red-rgb), .28), transparent 42%);
}
.ax-cat-hero__inner {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(220px, .7fr);
  gap: 1.5rem;
  padding: clamp(1.6rem, 4vw, 2.8rem);
}
.ax-cat-hero--model .ax-cat-hero__inner,
.ax-cat-hero--universe .ax-cat-hero__inner {
  grid-template-columns: 1fr;
}
.ax-eyebrow--on-dark { color: var(--ax-red); }
.ax-cat-hero__title {
  font-family: var(--ax-display);
  font-size: clamp(2rem, 4.2vw, 3.1rem);
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #fff;
  margin: .35rem 0 .4rem;
  line-height: 1.05;
}
.ax-cat-hero__tag {
  margin: 0 0 .55rem;
  font-family: var(--ax-display);
  font-size: .95rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .55);
}
.ax-cat-hero__lead {
  margin: 0;
  max-width: 40rem;
  font-size: 1rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, .72);
}
.ax-cat-hero__meta {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  margin-top: 1.15rem;
}
.ax-chip {
  display: inline-flex;
  align-items: center;
  padding: .35rem .75rem;
  border-radius: 999px;
  background: var(--ax-red);
  color: #fff;
  font-family: var(--ax-display);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.ax-chip--ghost {
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(255, 255, 255, .18);
  color: rgba(255, 255, 255, .88);
}
.ax-cat-hero__aside {
  align-self: end;
  padding: 1.1rem 1.2rem;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: var(--ax-r);
  background: rgba(255, 255, 255, .04);
  backdrop-filter: blur(6px);
}
.ax-cat-hero__aside-label {
  margin: 0;
  font-size: .72rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--ax-red);
  font-weight: 700;
}
.ax-cat-hero__aside-title {
  margin: .35rem 0 .4rem;
  font-family: var(--ax-display);
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #fff;
}
.ax-cat-hero__aside-text {
  margin: 0;
  font-size: .88rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, .62);
}

/* Universe cards on model pages */
.ax-universe {
  position: relative;
  margin: 0;
  padding: 0 clamp(1.6rem, 4vw, 2.8rem) clamp(1.4rem, 3vw, 2rem);
  border-top: 1px solid rgba(255, 255, 255, .1);
}
.ax-universe__head { padding-top: 1.15rem; margin-bottom: .85rem; }
.ax-universe__label {
  margin: 0;
  font-family: var(--ax-display);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .55);
}
.ax-universe__hint {
  margin: .25rem 0 0;
  font-size: .86rem;
  color: rgba(255, 255, 255, .5);
}
.ax-universe__grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: .65rem;
}
.ax-universe__card {
  display: flex;
  flex-direction: column;
  gap: .25rem;
  min-height: 78px;
  padding: .85rem .9rem;
  border-radius: var(--ax-r-sm);
  border: 1px solid rgba(255, 255, 255, .16);
  background: rgba(255, 255, 255, .05);
  color: #fff;
  transition: background .2s var(--ax-ease), border-color .2s var(--ax-ease), transform .2s var(--ax-ease);
}
.ax-universe__card:hover {
  background: var(--ax-red);
  border-color: var(--ax-red);
  transform: translateY(-2px);
  color: #fff;
}
.ax-universe__name {
  font-family: var(--ax-display);
  font-size: .92rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.ax-universe__desc {
  font-size: .75rem;
  line-height: 1.35;
  color: rgba(255, 255, 255, .62);
}
.ax-universe__card:hover .ax-universe__desc { color: rgba(255, 255, 255, .88); }

/* Legacy chips (kept for edge cases) */
.subcategory__list {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: 1.1rem;
  position: relative;
}
.subcategory__link {
  display: inline-flex;
  align-items: center;
  padding: .48rem .95rem;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 999px;
  background: rgba(255, 255, 255, .05);
  color: rgba(255, 255, 255, .88);
  font-family: var(--ax-display);
  font-size: .9rem;
  font-weight: 600;
  letter-spacing: .05em;
  text-transform: uppercase;
  transition: all .18s var(--ax-ease);
}
.subcategory__link:hover {
  background: var(--ax-red);
  border-color: var(--ax-red);
  color: #fff;
  transform: translateY(-1px);
}
.subcategory__name { color: inherit; }

/* Family / catalogue landing: models grid (no products) */
.ax-models {
  margin: 1.75rem 0 2.75rem;
}
.ax-models__intro {
  margin-bottom: 1.35rem;
  max-width: 44rem;
}
.ax-models__title {
  font-family: var(--ax-display);
  font-size: clamp(1.55rem, 2.4vw, 2.05rem);
  font-weight: 700;
  letter-spacing: .03em;
  text-transform: uppercase;
  color: var(--ax-ink-900);
  margin: .2rem 0 .45rem;
}
.ax-models__sub {
  margin: 0;
  color: var(--ax-slate-500);
  font-size: .95rem;
  line-height: 1.55;
}
.ax-models__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
  gap: 1rem;
}
.ax-models__grid--families {
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
}
.ax-models__card {
  position: relative;
  display: flex;
  align-items: flex-end;
  min-height: 240px;
  padding: 1.15rem;
  border-radius: var(--ax-r);
  overflow: hidden;
  background: var(--ax-ink-900);
  box-shadow: var(--ax-shadow-sm);
  isolation: isolate;
  transition: transform .28s var(--ax-ease), box-shadow .28s var(--ax-ease);
}
.ax-models__grid--families .ax-models__card { min-height: 280px; }
.ax-models__card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(0deg, rgba(6, 8, 11, .94) 8%, rgba(6, 8, 11, .42) 52%, rgba(6, 8, 11, .18) 100%);
}
.ax-models__img {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s var(--ax-ease);
}
.ax-models__fallback {
  position: absolute;
  inset: 0;
  z-index: -2;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--ax-display);
  font-size: 3.2rem;
  font-weight: 700;
  letter-spacing: .08em;
  color: rgba(255, 255, 255, .12);
  background:
    radial-gradient(circle at 20% 20%, rgba(var(--ax-red-rgb), .28), transparent 45%),
    linear-gradient(145deg, #222222, #1a1a1a 70%);
}
.ax-models__card:hover {
  transform: translateY(-4px);
  box-shadow: var(--ax-shadow-lg);
}
.ax-models__card:hover .ax-models__img { transform: scale(1.06); }
.ax-models__body { position: relative; width: 100%; }
.ax-models__badge {
  display: inline-block;
  margin-bottom: .45rem;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--ax-red);
}
.ax-models__name {
  font-family: var(--ax-display);
  font-size: clamp(1.15rem, 1.6vw, 1.45rem);
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #fff;
  margin: 0;
  line-height: 1.15;
}
.ax-models__tag {
  margin: .4rem 0 0;
  font-size: .82rem;
  line-height: 1.4;
  color: rgba(255, 255, 255, .62);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.ax-models__cta {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  margin-top: .75rem;
  font-family: var(--ax-display);
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #fff;
  opacity: .78;
  transition: opacity .22s var(--ax-ease), color .22s var(--ax-ease);
}
.ax-models__cta::after {
  content: "";
  width: 6px;
  height: 6px;
  border-right: 2px solid var(--ax-red);
  border-bottom: 2px solid var(--ax-red);
  transform: rotate(-45deg);
}
.ax-models__card:hover .ax-models__cta { opacity: 1; }
.ax-models__trust {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem 1.4rem;
  margin-top: 1.5rem;
  padding-top: 1.15rem;
  border-top: 1px solid var(--ax-slate-200);
  font-family: var(--ax-display);
  font-size: .8rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--ax-slate-500);
}
.ax-models__trust span { position: relative; }
.ax-models__trust span:not(:last-child)::after {
  content: "";
  position: absolute;
  right: -.85rem;
  top: 50%;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--ax-red);
  transform: translateY(-50%);
}

.pagination .page-link {
  border-radius: 8px;
  border-color: var(--ax-border);
  color: var(--ax-heading);
  background: var(--ax-surface);
  font-weight: 600;
}
.pagination .active .page-link,
.pagination .page-item.active .page-link {
  background: var(--ax-red);
  border-color: var(--ax-red);
  color: #fff;
}

/* ---------- 12. product page ---------- */

#product .product-container,
.product-container {
  background: var(--ax-surface);
  border-radius: var(--ax-r-lg);
  padding: clamp(1.1rem, 3vw, 2rem);
  box-shadow: var(--ax-shadow-sm);
  border: 1px solid var(--ax-border);
}
.product-cover img,
.js-qv-product-cover { border-radius: var(--ax-r); background: #f4f4f4; }

.product-prices .current-price,
.product-prices .current-price span:first-child {
  font-family: var(--ax-display);
  font-size: clamp(1.9rem, 3.4vw, 2.6rem);
  font-weight: 700;
  color: var(--ax-heading);
}
.product-prices .product-discount .regular-price { color: var(--ax-muted); }

.product-add-to-cart .add-to-cart,
#add-to-cart-or-refresh .btn-primary {
  width: 100%;
  padding: 1rem;
  font-size: 1.05rem;
  border-radius: 12px;
}
.product-information .product-description { line-height: 1.75; color: var(--ax-page-fg); }

.nav-tabs {
  border-bottom: 1px solid var(--ax-border);
  gap: .35rem;
}
.nav-tabs .nav-link {
  border: 0;
  border-bottom: 3px solid transparent;
  border-radius: 0;
  font-family: var(--ax-display);
  font-size: .95rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--ax-muted);
  padding: .8rem 1.1rem;
}
.nav-tabs .nav-link:hover { color: var(--ax-heading); border-bottom-color: var(--ax-slate-300); }
.nav-tabs .nav-link.active {
  color: var(--ax-heading);
  background: transparent;
  border-bottom-color: var(--ax-red);
}

/* Product info accordion — white card, same surface as the reassurance box */
#product .product__accordion,
.page-product .product__accordion {
  --bs-accordion-bg: var(--ax-surface);
  --bs-accordion-btn-bg: var(--ax-surface);
  --bs-accordion-active-bg: var(--ax-surface);
  background: var(--ax-surface);
  border: 1px solid var(--ax-border);
  border-radius: var(--ax-r);
  padding: 0 .35rem .15rem;
}

#product .product__accordion .accordion-item,
#product .product__accordion .accordion-header,
#product .product__accordion .accordion-button,
#product .product__accordion .accordion-button:not(.collapsed),
#product .product__accordion .accordion-collapse,
#product .product__accordion .accordion-body {
  background-color: var(--ax-surface);
}

#product .product__accordion .details__list {
  background-color: var(--ax-surface);
}

#product .product__accordion .accordion-button:focus {
  box-shadow: none;
}

#product .product__accordion .accordion-body {
  padding-bottom: .85rem;
}

#product .product__accordion .accordion-item:last-child,
.page-product .product__accordion .accordion-item:last-child {
  border-bottom: 0;
}

/* ---------- 13. reassurance block (Honda icons, inlined — no extra files) ---------- */

.blockreassurance,
#block-reassurance {
  --ax-re-security: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M12 3.4 19.1 5.85v6.15c0 4.55-3.05 7.6-7.1 9.2-4.05-1.6-7.1-4.65-7.1-9.2V5.85L12 3.4Z' stroke='%23D62828' stroke-width='1.85' stroke-linejoin='round'/%3E%3Cpath d='M8.7 12.15 11 14.4l4.4-4.5' stroke='%23D62828' stroke-width='1.85' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --ax-re-delivery: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M2.6 8.15h11.7a1.1 1.1 0 0 1 1.1 1.1V16.5H3.7a1.1 1.1 0 0 1-1.1-1.1V8.15Z' stroke='%23D62828' stroke-width='1.85' stroke-linejoin='round'/%3E%3Cpath d='M15.4 10.9h3.05a1.1 1.1 0 0 1 .94.52l1.95 3.2c.1.16.16.35.16.54v1.34H15.4V10.9Z' stroke='%23D62828' stroke-width='1.85' stroke-linejoin='round'/%3E%3Ccircle cx='7' cy='16.5' r='1.75' stroke='%23D62828' stroke-width='1.85'/%3E%3Ccircle cx='17' cy='16.5' r='1.75' stroke='%23D62828' stroke-width='1.85'/%3E%3Cpath d='M2.6 11.2h5.6' stroke='%23D62828' stroke-width='1.85' stroke-linecap='round'/%3E%3C/svg%3E");
  --ax-re-returns: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6.6 8.2h8.7a3.5 3.5 0 0 1 3.5 3.5' stroke='%23D62828' stroke-width='1.85' stroke-linecap='round'/%3E%3Cpath d='M9.15 5.4 6.1 8.2l3.05 2.8' stroke='%23D62828' stroke-width='1.85' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M17.4 15.8H8.7a3.5 3.5 0 0 1-3.5-3.5' stroke='%23D62828' stroke-width='1.85' stroke-linecap='round'/%3E%3Cpath d='M14.85 18.6 17.9 15.8l-3.05-2.8' stroke='%23D62828' stroke-width='1.85' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background: var(--ax-surface);
  border: 1px solid var(--ax-border);
  border-radius: var(--ax-r);
  padding: .85rem 1rem;
}
.blockreassurance-item,
#block-reassurance li { border: 0; }

.blockreassurance .reassurance,
#block-reassurance .block-reassurance-item,
#block-reassurance li {
  display: flex;
  align-items: flex-start;
  gap: .85rem;
  padding: .7rem 0;
  text-decoration: none;
  color: inherit;
}
.blockreassurance .reassurance + .reassurance,
#block-reassurance li + li {
  border-top: 1px solid var(--ax-border);
}
.blockreassurance--horizontal .reassurance {
  border-top: 0;
}

/* Kill PrestaShop pack <img class="svg"> / inlined SVG */
.blockreassurance .reassurance__image img,
.blockreassurance .reassurance__image svg,
.blockreassurance img.svg,
.blockreassurance img.invisible,
#block-reassurance img,
#block-reassurance svg {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  max-width: 0 !important;
  max-height: 0 !important;
  opacity: 0 !important;
  position: absolute !important;
  overflow: hidden !important;
}

.blockreassurance .reassurance__image,
#block-reassurance .block-reassurance-item::before,
#block-reassurance li:not(:has(.block-reassurance-item))::before {
  content: "";
  box-sizing: border-box;
  flex: 0 0 44px !important;
  width: 44px !important;
  height: 44px !important;
  margin: 0;
  border-radius: 12px;
  background-color: rgba(214, 40, 40, .09);
  background-image: var(--ax-re-security);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 26px 26px;
}

.blockreassurance .reassurance__image {
  position: relative !important;
  display: block !important;
  overflow: hidden !important;
}

/* Pack SVG is inlined with inline !important — cover it, don't fight it */
.blockreassurance .reassurance__image::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 20 !important;
  border-radius: 12px !important;
  pointer-events: none !important;
  background-color: rgba(214, 40, 40, .09) !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 26px 26px !important;
  background-image: var(--ax-re-security) !important;
}

.blockreassurance .reassurance:nth-child(2) .reassurance__image,
.blockreassurance .reassurance:nth-child(2) .reassurance__image::after,
#block-reassurance li:nth-child(2)::before,
#block-reassurance li:nth-child(2) .block-reassurance-item::before {
  background-image: var(--ax-re-delivery) !important;
}
.blockreassurance .reassurance:nth-child(3) .reassurance__image,
.blockreassurance .reassurance:nth-child(3) .reassurance__image::after,
#block-reassurance li:nth-child(3)::before,
#block-reassurance li:nth-child(3) .block-reassurance-item::before {
  background-image: var(--ax-re-returns) !important;
}

[data-ax-icon="security"] .reassurance__image,
[data-ax-icon="security"] .reassurance__image::after,
li[data-ax-icon="security"]::before,
li[data-ax-icon="security"] .block-reassurance-item::before {
  background-image: var(--ax-re-security) !important;
}
[data-ax-icon="delivery"] .reassurance__image,
[data-ax-icon="delivery"] .reassurance__image::after,
li[data-ax-icon="delivery"]::before,
li[data-ax-icon="delivery"] .block-reassurance-item::before {
  background-image: var(--ax-re-delivery) !important;
}
[data-ax-icon="returns"] .reassurance__image,
[data-ax-icon="returns"] .reassurance__image::after,
li[data-ax-icon="returns"]::before,
li[data-ax-icon="returns"] .block-reassurance-item::before {
  background-image: var(--ax-re-returns) !important;
}

#block-reassurance ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.blockreassurance .reassurance__title,
#block-reassurance .h6,
#block-reassurance .block-reassurance-item > span:first-of-type {
  display: block;
  font-family: var(--ax-display);
  font-size: .95rem;
  font-weight: 600;
  letter-spacing: .02em;
  color: var(--ax-heading);
  line-height: 1.25;
}
.blockreassurance .reassurance__desc,
#block-reassurance p,
#block-reassurance small {
  display: block;
  margin: .15rem 0 0;
  font-size: .78rem;
  line-height: 1.4;
  color: var(--ax-muted);
  font-weight: 400;
}

html[data-ax-theme="dark"] .blockreassurance .reassurance__image,
html[data-ax-theme="dark"] .blockreassurance .reassurance__image::after,
html[data-ax-theme="dark"] #block-reassurance .block-reassurance-item::before,
html[data-ax-theme="dark"] #block-reassurance li::before,
.blockreassurance--dark .reassurance__image,
.footer .blockreassurance .reassurance__image {
  background-color: rgba(214, 40, 40, .18) !important;
}

.ax-reassurance {
  background: var(--ax-surface);
  border: 1px solid var(--ax-border);
  border-radius: var(--ax-r);
  padding: .85rem 1rem;
}
.ax-reassurance__item {
  display: flex;
  align-items: flex-start;
  gap: .85rem;
  padding: .7rem 0;
}
.ax-reassurance__item + .ax-reassurance__item {
  border-top: 1px solid var(--ax-border);
}
.ax-reassurance__icon {
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: rgba(214, 40, 40, .09);
  color: #d62828;
}
.ax-reassurance__icon svg {
  display: block !important;
  width: 26px !important;
  height: 26px !important;
  opacity: 1 !important;
  visibility: visible !important;
  position: static !important;
  max-width: none !important;
  max-height: none !important;
}
.ax-reassurance__title {
  display: block;
  font-family: var(--ax-display);
  font-size: .95rem;
  font-weight: 600;
  color: var(--ax-heading);
  line-height: 1.25;
}
.ax-reassurance__desc {
  display: block;
  margin: .15rem 0 0;
  font-size: .78rem;
  line-height: 1.4;
  color: var(--ax-muted);
}

html[data-ax-theme="dark"] .ax-reassurance {
  background: var(--ax-ink-800, #222) !important;
  border-color: rgba(255, 255, 255, .12) !important;
  color: #fff;
}
html[data-ax-theme="dark"] .ax-reassurance__item + .ax-reassurance__item {
  border-top-color: rgba(255, 255, 255, .12);
}
html[data-ax-theme="dark"] .ax-reassurance__title {
  color: #fff !important;
}
html[data-ax-theme="dark"] .ax-reassurance__desc {
  color: rgba(255, 255, 255, .58) !important;
}
html[data-ax-theme="dark"] .ax-reassurance__icon {
  background: rgba(214, 40, 40, .2);
}

/* ---------- 14. footer ---------- */

.footer {
  background: var(--ax-ink-900);
  color: rgba(255, 255, 255, .66);
  margin-top: clamp(2.5rem, 6vw, 4.5rem);
}
.footer__before {
  background: var(--ax-ink-800);
  border-bottom: 1px solid rgba(255, 255, 255, .07);
  padding-block: 2rem;
}

/* modules in the footer ship Bootstrap light-surface utilities */
.footer .bg-body-tertiary,
.footer .bg-light,
.footer .bg-white,
.footer .ps-emailsubscription {
  background-color: transparent !important;
  color: rgba(255, 255, 255, .7);
}
.footer .ps-emailsubscription { padding-block: 0 !important; }

/*
  Newsletter title contrast fix (dark mode):
  Bootstrap `bg-body-tertiary` can leave a light strip while `.h3` stays white.
  Force dark surface + white title when theme is dark.
*/
html[data-ax-theme="dark"] .footer__before,
html[data-ax-theme="dark"] .footer .ps-emailsubscription,
html[data-ax-theme="dark"] .footer .ps-emailsubscription.bg-body-tertiary,
html[data-ax-theme="dark"] .ps-emailsubscription {
  background-color: var(--ax-ink-800, #15181f) !important;
  color: rgba(255, 255, 255, .72) !important;
}
html[data-ax-theme="dark"] .footer .ps-emailsubscription .h3,
html[data-ax-theme="dark"] .ps-emailsubscription .h3,
html[data-ax-theme="dark"] .footer .ps-emailsubscription p.h3 {
  color: #ffffff !important;
  opacity: 1 !important;
  visibility: visible !important;
  display: block !important;
}
html[data-ax-theme="dark"] .footer .ps-emailsubscription .text-body-secondary,
html[data-ax-theme="dark"] .ps-emailsubscription .text-body-secondary {
  color: rgba(255, 255, 255, .55) !important;
}
.footer__main { padding-block: clamp(2.2rem, 5vw, 3.4rem) 0; }
.footer__main-top { row-gap: 2rem; }

.ax-footer-brand {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) auto;
  gap: 1.5rem 2rem;
  align-items: end;
  margin-bottom: 2.2rem;
  padding-bottom: 1.75rem;
  border-bottom: 1px solid rgba(255, 255, 255, .1);
}
.ax-footer-brand__eyebrow {
  display: inline-block;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--ax-red);
  margin-bottom: .35rem;
}
.ax-footer-brand__title {
  margin: 0 0 .45rem;
  font-family: var(--ax-display);
  font-size: clamp(1.35rem, 2vw, 1.75rem);
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #fff;
}
.ax-footer-brand__text {
  margin: 0;
  max-width: 36rem;
  font-size: .92rem;
  line-height: 1.55;
  color: rgba(255, 255, 255, .58);
}
.ax-footer-brand__cta {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  justify-content: flex-end;
}
.ax-btn-ghost--footer {
  color: #fff;
  border-color: rgba(255, 255, 255, .28);
  background: transparent;
}
.ax-btn-ghost--footer:hover {
  background: rgba(255, 255, 255, .08);
  color: #fff;
  border-color: rgba(255, 255, 255, .5);
}
.ax-copyright {
  display: grid;
  gap: .25rem;
}
.ax-copyright__text {
  margin: 0;
  color: rgba(255, 255, 255, .7);
  font-family: var(--ax-display);
  font-size: .88rem;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.ax-copyright__powered {
  margin: 0;
  color: rgba(255, 255, 255, .4);
  font-size: .75rem;
}

.footer h3, .footer .h3,
.footer .block-title,
.footer [class*="__title"] {
  font-family: var(--ax-display);
  font-size: .88rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #fff;
  padding-bottom: .6rem;
  margin-bottom: 1rem;
  position: relative;
}
.footer h3::after, .footer .h3::after,
.footer .block-title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 32px;
  height: 2px;
  background: var(--ax-red);
}
.footer a { color: rgba(255, 255, 255, .62); font-size: .92rem; }
.footer a:hover { color: #fff; }
.footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .55rem; }
.footer .form-control {
  background: rgba(255, 255, 255, .07);
  border-color: rgba(255, 255, 255, .14);
  color: #fff;
  border-radius: 10px;
  height: 46px;
}
.footer .form-control::placeholder { color: rgba(255, 255, 255, .42); }

.copyright {
  margin-top: 2.4rem;
  padding-block: 1.25rem;
  border-top: 1px solid rgba(255, 255, 255, .08);
  text-align: center;
  font-size: .8rem;
}
.copyright a { color: rgba(255, 255, 255, .45); }

/* ---------- 15b. dark / light theme surfaces ---------- */

html[data-ax-theme="dark"] #wrapper,
html[data-ax-theme="dark"] .columns-container,
html[data-ax-theme="dark"] .center-column.page,
html[data-ax-theme="dark"] .page-content--cms,
html[data-ax-theme="dark"] .card,
html[data-ax-theme="dark"] .cart-grid,
html[data-ax-theme="dark"] .cart-overview,
html[data-ax-theme="dark"] .checkout-step,
html[data-ax-theme="dark"] .js-address-form,
html[data-ax-theme="dark"] .customer-link,
html[data-ax-theme="dark"] .table {
  background-color: transparent;
  color: var(--ax-page-fg);
}

html[data-ax-theme="dark"] .card,
html[data-ax-theme="dark"] .cart-grid-body,
html[data-ax-theme="dark"] .cart-grid-right,
html[data-ax-theme="dark"] .checkout-step,
html[data-ax-theme="dark"] #content-wrapper .page,
html[data-ax-theme="dark"] .page-customer-account,
html[data-ax-theme="dark"] .contact-rich,
html[data-ax-theme="dark"] .contact-form {
  background: var(--ax-surface) !important;
  border-color: var(--ax-border) !important;
  color: var(--ax-page-fg);
}

html[data-ax-theme="dark"] .form-control,
html[data-ax-theme="dark"] .form-select,
html[data-ax-theme="dark"] input[type="text"],
html[data-ax-theme="dark"] input[type="email"],
html[data-ax-theme="dark"] input[type="password"],
html[data-ax-theme="dark"] input[type="search"],
html[data-ax-theme="dark"] input[type="tel"],
html[data-ax-theme="dark"] input[type="number"],
html[data-ax-theme="dark"] textarea,
html[data-ax-theme="dark"] select {
  background-color: var(--ax-surface-2);
  border-color: var(--ax-border);
  color: var(--ax-page-fg);
}
html[data-ax-theme="dark"] .form-control::placeholder,
html[data-ax-theme="dark"] input::placeholder,
html[data-ax-theme="dark"] textarea::placeholder {
  color: var(--ax-muted);
}

html[data-ax-theme="dark"] .table,
html[data-ax-theme="dark"] .table > :not(caption) > * > * {
  --bs-table-bg: transparent;
  --bs-table-color: var(--ax-page-fg);
  --bs-table-border-color: var(--ax-border);
  color: var(--ax-page-fg);
  border-color: var(--ax-border);
}

html[data-ax-theme="dark"] .modal-content {
  background: var(--ax-ink-800);
  color: var(--ax-page-fg);
  border-color: var(--ax-border);
}
html[data-ax-theme="dark"] .modal-header,
html[data-ax-theme="dark"] .modal-footer {
  border-color: var(--ax-border);
}
html[data-ax-theme="dark"] .btn-close {
  filter: invert(1) grayscale(1);
}

html[data-ax-theme="dark"] .dropdown-menu {
  background: var(--ax-ink-800);
  border-color: var(--ax-border);
  color: var(--ax-page-fg);
}
html[data-ax-theme="dark"] .dropdown-item {
  color: var(--ax-page-fg);
}
html[data-ax-theme="dark"] .dropdown-item:hover,
html[data-ax-theme="dark"] .dropdown-item:focus {
  background: rgba(255, 255, 255, .08);
  color: #fff;
}

html[data-ax-theme="dark"] .offcanvas {
  background: var(--ax-ink-900);
  color: var(--ax-page-fg);
}
html[data-ax-theme="dark"] .list-group-item {
  background: var(--ax-surface);
  border-color: var(--ax-border);
  color: var(--ax-page-fg);
}

html[data-ax-theme="dark"] .alert {
  border-color: var(--ax-border);
}
html[data-ax-theme="dark"] .breadcrumb-item,
html[data-ax-theme="dark"] .breadcrumb a,
html[data-ax-theme="dark"] .breadcrumb-link {
  color: var(--ax-muted);
}
html[data-ax-theme="dark"] .breadcrumb-item--current,
html[data-ax-theme="dark"] .breadcrumb li:last-child,
html[data-ax-theme="dark"] .breadcrumb [aria-current] {
  color: var(--ax-heading);
}

html[data-ax-theme="dark"] .btn-outline-primary {
  --bs-btn-color: #fff;
  --bs-btn-border-color: rgba(255, 255, 255, .35);
  --bs-btn-hover-bg: #fff;
  --bs-btn-hover-border-color: #fff;
  --bs-btn-hover-color: var(--ax-ink-900);
}

html[data-ax-theme="dark"] .product-miniature__inner:hover {
  border-color: rgba(var(--ax-red-rgb), .35);
}

html[data-ax-theme="dark"] .rich-text,
html[data-ax-theme="dark"] .page-content,
html[data-ax-theme="dark"] .cms-content {
  color: var(--ax-page-fg);
}

/* =============================================================
   Light mode — white chrome (header / nav / footer / pages)
   Dark mode keeps the ink surfaces above. Hero + family cards
   stay cinematic (photo overlays + white type).
   ============================================================= */

html[data-ax-theme="light"] #wrapper,
html[data-ax-theme="light"] #content-wrapper,
html[data-ax-theme="light"] #main,
html[data-ax-theme="light"] #notifications,
html[data-ax-theme="light"] .wrapper,
html:not([data-ax-theme]) #wrapper,
html:not([data-ax-theme]) #content-wrapper,
html:not([data-ax-theme]) .wrapper {
  background: #ffffff !important;
  color: #1a1a1a;
}

/* --- header --- */
html[data-ax-theme="light"] .header,
html[data-ax-theme="light"] #header,
html:not([data-ax-theme]) .header,
html:not([data-ax-theme]) #header {
  background: #ffffff !important;
  box-shadow: 0 1px 0 #e3e7ec, 0 8px 24px rgba(10, 12, 16, .06);
}

html[data-ax-theme="light"] .header-top,
html:not([data-ax-theme]) .header-top {
  background: #f5f5f5 !important;
  border-bottom: 1px solid #e3e7ec;
}
html[data-ax-theme="light"] .header-top,
html[data-ax-theme="light"] .header-top a,
html[data-ax-theme="light"] .header-top .header-block__action-btn,
html:not([data-ax-theme]) .header-top,
html:not([data-ax-theme]) .header-top a,
html:not([data-ax-theme]) .header-top .header-block__action-btn {
  color: #3a4351;
}
html[data-ax-theme="light"] .header-top a:hover,
html:not([data-ax-theme]) .header-top a:hover {
  color: var(--ax-red);
}
html[data-ax-theme="light"] .header-top .form-select,
html:not([data-ax-theme]) .header-top .form-select {
  border-color: #dde2e8;
  background-color: #fff;
  color: #3a4351;
}
html[data-ax-theme="light"] .ps-languageselector__tabs,
html:not([data-ax-theme]) .ps-languageselector__tabs {
  border-color: #dde2e8;
  background: #fff;
}
html[data-ax-theme="light"] .ps-languageselector__tab,
html:not([data-ax-theme]) .ps-languageselector__tab {
  color: #6b7280;
  border-right-color: #e3e7ec;
}
html[data-ax-theme="light"] .ps-languageselector__tab:hover,
html:not([data-ax-theme]) .ps-languageselector__tab:hover {
  color: var(--ax-anthracite);
  background: #f1f3f6;
}
html[data-ax-theme="light"] .ps-languageselector__tab.is-active,
html[data-ax-theme="light"] .ps-languageselector__tab[aria-selected="true"],
html:not([data-ax-theme]) .ps-languageselector__tab.is-active,
html:not([data-ax-theme]) .ps-languageselector__tab[aria-selected="true"] {
  color: #fff;
  background: var(--ax-red);
}

html[data-ax-theme="light"] .header-bottom__menu-toggle .menu-toggle,
html[data-ax-theme="light"] .ps-mainmenu__mobile-toggle .menu-toggle,
html:not([data-ax-theme]) .header-bottom__menu-toggle .menu-toggle,
html:not([data-ax-theme]) .ps-mainmenu__mobile-toggle .menu-toggle {
  color: #1a1a1a;
}

html[data-ax-theme="light"] .header-block__action-btn,
html[data-ax-theme="light"] .header .header-block__action-btn,
html:not([data-ax-theme]) .header-block__action-btn,
html:not([data-ax-theme]) .header .header-block__action-btn {
  color: #1a1a1a;
}
html[data-ax-theme="light"] .header-block__action-btn:hover,
html:not([data-ax-theme]) .header-block__action-btn:hover {
  background: rgba(10, 12, 16, .06);
  color: #1a1a1a;
}

html[data-ax-theme="light"] .header-block__action-btn--account,
html[data-ax-theme="light"] .header-block__action-btn--cart,
html[data-ax-theme="light"] .ax-theme-toggle,
html:not([data-ax-theme]) .header-block__action-btn--account,
html:not([data-ax-theme]) .header-block__action-btn--cart,
html:not([data-ax-theme]) .ax-theme-toggle {
  background: #f1f3f6;
  border-color: #e3e7ec !important;
  color: #1a1a1a;
}
html[data-ax-theme="light"] .header-block__action-btn--cart:hover,
html[data-ax-theme="light"] .header-block__action-btn--account:hover,
html[data-ax-theme="light"] .ax-theme-toggle:hover,
html:not([data-ax-theme]) .header-block__action-btn--cart:hover,
html:not([data-ax-theme]) .header-block__action-btn--account:hover,
html:not([data-ax-theme]) .ax-theme-toggle:hover {
  background: rgba(var(--ax-red-rgb), .08);
  border-color: rgba(var(--ax-red-rgb), .35) !important;
  color: var(--ax-red-700);
}

html[data-ax-theme="light"] .header-block__badge,
html:not([data-ax-theme]) .header-block__badge {
  box-shadow: 0 0 0 2px #ffffff;
}
html[data-ax-theme="light"] .header-block__badge--empty,
html:not([data-ax-theme]) .header-block__badge--empty {
  background: #e3e7ec;
  color: #3a4351;
}

html[data-ax-theme="light"] .header input[type="text"],
html[data-ax-theme="light"] .header input[type="search"],
html[data-ax-theme="light"] .header .form-control,
html:not([data-ax-theme]) .header input[type="text"],
html:not([data-ax-theme]) .header input[type="search"],
html:not([data-ax-theme]) .header .form-control {
  background: #f5f5f5;
  border: 1px solid #e3e7ec;
  color: #1a1a1a;
}
html[data-ax-theme="light"] .header .form-control::placeholder,
html:not([data-ax-theme]) .header .form-control::placeholder {
  color: #4a4a4a;
}
html[data-ax-theme="light"] .header .form-control:focus,
html:not([data-ax-theme]) .header .form-control:focus {
  background: #ffffff;
  border-color: var(--ax-red);
  color: #1a1a1a;
  box-shadow: 0 0 0 3px rgba(var(--ax-red-rgb), .15);
}

html[data-ax-theme="light"] .header select,
html[data-ax-theme="light"] .header .form-select,
html:not([data-ax-theme]) .header select,
html:not([data-ax-theme]) .header .form-select {
  background-color: #f5f5f5;
  border-color: #e3e7ec;
  color: #1a1a1a;
}

/* --- family nav --- */
html[data-ax-theme="light"] .header-nav-full-width,
html:not([data-ax-theme]) .header-nav-full-width {
  background: #ffffff;
  border-top: 1px solid #e3e7ec;
}

html[data-ax-theme="light"] .ps-mainmenu--desktop .ps-mainmenu__tree-link,
html:not([data-ax-theme]) .ps-mainmenu--desktop .ps-mainmenu__tree-link {
  color: #1a1a1a;
}
html[data-ax-theme="light"] .ps-mainmenu--desktop .ps-mainmenu__tree-item:hover .ps-mainmenu__tree-link,
html[data-ax-theme="light"] .ps-mainmenu--desktop .ps-mainmenu__tree-item.current .ps-mainmenu__tree-link,
html:not([data-ax-theme]) .ps-mainmenu--desktop .ps-mainmenu__tree-item:hover .ps-mainmenu__tree-link,
html:not([data-ax-theme]) .ps-mainmenu--desktop .ps-mainmenu__tree-item.current .ps-mainmenu__tree-link {
  color: var(--ax-red);
}

html[data-ax-theme="light"] .ps-mainmenu--desktop .ps-mainmenu__tree-dropdown-toggle,
html:not([data-ax-theme]) .ps-mainmenu--desktop .ps-mainmenu__tree-dropdown-toggle {
  color: #4a4a4a;
}
html[data-ax-theme="light"] .ps-mainmenu--desktop .ps-mainmenu__tree-item:hover .ps-mainmenu__tree-dropdown-toggle,
html:not([data-ax-theme]) .ps-mainmenu--desktop .ps-mainmenu__tree-item:hover .ps-mainmenu__tree-dropdown-toggle {
  color: var(--ax-red);
}

html[data-ax-theme="light"] .ps-mainmenu--desktop .ps-mainmenu__tree > li .submenu,
html:not([data-ax-theme]) .ps-mainmenu--desktop .ps-mainmenu__tree > li .submenu {
  background: #ffffff;
  box-shadow: 0 24px 50px rgba(10, 12, 16, .12);
}

html[data-ax-theme="light"] .ps-mainmenu--desktop .submenu__left,
html:not([data-ax-theme]) .ps-mainmenu--desktop .submenu__left {
  border-right: 1px solid #e3e7ec;
  scrollbar-color: #c8cfd8 transparent;
}
html[data-ax-theme="light"] .ps-mainmenu--desktop .submenu__left-item,
html:not([data-ax-theme]) .ps-mainmenu--desktop .submenu__left-item {
  color: #1a1a1a;
}
html[data-ax-theme="light"] .ps-mainmenu--desktop .submenu__left-item:hover,
html:not([data-ax-theme]) .ps-mainmenu--desktop .submenu__left-item:hover {
  background: #f1f3f6;
  color: var(--ax-red);
}
html[data-ax-theme="light"] .ps-mainmenu--desktop .submenu__left-item.active,
html[data-ax-theme="light"] .ps-mainmenu--desktop .submenu__left-item.active:focus,
html[data-ax-theme="light"] .ps-mainmenu--desktop .submenu__left-item.active:active,
html:not([data-ax-theme]) .ps-mainmenu--desktop .submenu__left-item.active {
  background: rgba(var(--ax-red-rgb), .08);
  color: var(--ax-red-700);
}

html[data-ax-theme="light"] .ps-mainmenu--desktop .submenu__right-items .menu-item,
html:not([data-ax-theme]) .ps-mainmenu--desktop .submenu__right-items .menu-item {
  color: #3a4351;
}
html[data-ax-theme="light"] .ps-mainmenu--desktop .submenu__right-items .menu-item:hover,
html:not([data-ax-theme]) .ps-mainmenu--desktop .submenu__right-items .menu-item:hover {
  color: var(--ax-red);
}
html[data-ax-theme="light"] .ps-mainmenu--desktop .submenu__right-items .menu-item__group-main-item,
html:not([data-ax-theme]) .ps-mainmenu--desktop .submenu__right-items .menu-item__group-main-item {
  color: #1a1a1a;
  border-bottom-color: #e3e7ec;
}

html[data-ax-theme="light"] .ax-megapromo,
html:not([data-ax-theme]) .ax-megapromo {
  background: #f5f5f5;
  border-color: #e3e7ec;
}
html[data-ax-theme="light"] .ax-megapromo__title,
html:not([data-ax-theme]) .ax-megapromo__title {
  color: #1a1a1a;
}
html[data-ax-theme="light"] .ax-megapromo__text,
html:not([data-ax-theme]) .ax-megapromo__text {
  color: #4a4a4a;
}

html[data-ax-theme="light"] .ps-mainmenu--mobile.offcanvas,
html:not([data-ax-theme]) .ps-mainmenu--mobile.offcanvas {
  background: #ffffff;
  color: #1a1a1a;
}
html[data-ax-theme="light"] .ps-mainmenu--mobile .offcanvas-header,
html[data-ax-theme="light"] .ps-mainmenu--mobile .ps-mainmenu__additionnals,
html:not([data-ax-theme]) .ps-mainmenu--mobile .offcanvas-header,
html:not([data-ax-theme]) .ps-mainmenu--mobile .ps-mainmenu__additionnals {
  border-color: #e3e7ec;
}
html[data-ax-theme="light"] .ps-mainmenu--mobile .btn-close,
html:not([data-ax-theme]) .ps-mainmenu--mobile .btn-close {
  filter: none;
}
html[data-ax-theme="light"] .ps-mainmenu--mobile .js-back-button,
html[data-ax-theme="light"] .ps-mainmenu--mobile .menu__link,
html:not([data-ax-theme]) .ps-mainmenu--mobile .js-back-button,
html:not([data-ax-theme]) .ps-mainmenu--mobile .menu__link {
  color: #1a1a1a;
}
html[data-ax-theme="light"] .ps-mainmenu--mobile .menu__list > li,
html:not([data-ax-theme]) .ps-mainmenu--mobile .menu__list > li {
  border-bottom-color: #e3e7ec;
}
html[data-ax-theme="light"] .ps-mainmenu--mobile .menu__link:hover,
html[data-ax-theme="light"] .ps-mainmenu--mobile .menu__link:active,
html:not([data-ax-theme]) .ps-mainmenu--mobile .menu__link:hover,
html:not([data-ax-theme]) .ps-mainmenu--mobile .menu__link:active {
  color: var(--ax-red);
  background: #f5f5f5;
}
html[data-ax-theme="light"] .ps-mainmenu--mobile .menu__toggle-child,
html:not([data-ax-theme]) .ps-mainmenu--mobile .menu__toggle-child {
  color: #4a4a4a;
}

/* --- USP / atelier / catalog --- */
html[data-ax-theme="light"] .ax-usp,
html:not([data-ax-theme]) .ax-usp {
  background: #ffffff;
  border-top: 1px solid var(--ax-border);
  border-bottom: 1px solid var(--ax-border);
}
html[data-ax-theme="light"] .ax-usp__grid,
html:not([data-ax-theme]) .ax-usp__grid {
  background: var(--ax-border);
}
html[data-ax-theme="light"] .ax-usp__item,
html:not([data-ax-theme]) .ax-usp__item {
  background: #ffffff;
}
html[data-ax-theme="light"] .ax-usp__title,
html:not([data-ax-theme]) .ax-usp__title {
  color: var(--ax-ink-900);
}
html[data-ax-theme="light"] .ax-usp__text,
html:not([data-ax-theme]) .ax-usp__text {
  color: var(--ax-muted);
}

html[data-ax-theme="light"] .ax-atelier,
html:not([data-ax-theme]) .ax-atelier {
  background: #ffffff;
  border: 1px solid var(--ax-border);
  box-shadow: var(--ax-shadow-sm);
}
html[data-ax-theme="light"] .ax-atelier__media::after,
html:not([data-ax-theme]) .ax-atelier__media::after {
  background: linear-gradient(90deg, transparent 45%, #ffffff 100%);
}
html[data-ax-theme="light"] .ax-atelier__title,
html:not([data-ax-theme]) .ax-atelier__title {
  color: var(--ax-ink-900);
}
html[data-ax-theme="light"] .ax-atelier__text,
html[data-ax-theme="light"] .ax-atelier__list li,
html:not([data-ax-theme]) .ax-atelier__text,
html:not([data-ax-theme]) .ax-atelier__list li {
  color: #3a4351;
}
html[data-ax-theme="light"] .ax-atelier .ax-btn-ghost,
html:not([data-ax-theme]) .ax-atelier .ax-btn-ghost {
  border-color: rgba(10, 12, 16, .22);
  color: var(--ax-ink-900);
}
html[data-ax-theme="light"] .ax-atelier .ax-btn-ghost:hover,
html:not([data-ax-theme]) .ax-atelier .ax-btn-ghost:hover {
  background: var(--ax-ink-900);
  border-color: var(--ax-ink-900);
  color: #fff;
}

html[data-ax-theme="light"] .ax-section,
html[data-ax-theme="light"] .page-content--home,
html[data-ax-theme="light"] .columns-container,
html[data-ax-theme="light"] .center-column,
html[data-ax-theme="light"] .page-content,
html:not([data-ax-theme]) .ax-section,
html:not([data-ax-theme]) .page-content--home {
  background: transparent;
  color: var(--ax-page-fg);
}

html[data-ax-theme="light"] .breadcrumb__wrapper,
html:not([data-ax-theme]) .breadcrumb__wrapper {
  background: #ffffff !important;
  border-bottom-color: var(--ax-border);
}
html[data-ax-theme="light"] .breadcrumb,
html[data-ax-theme="light"] .breadcrumb a,
html[data-ax-theme="light"] .breadcrumb-link,
html[data-ax-theme="light"] .breadcrumb-item,
html:not([data-ax-theme]) .breadcrumb a {
  color: var(--ax-muted);
}
html[data-ax-theme="light"] .breadcrumb-item--current,
html[data-ax-theme="light"] .breadcrumb li:last-child,
html[data-ax-theme="light"] .breadcrumb [aria-current] {
  color: var(--ax-ink-900);
}

html[data-ax-theme="light"] .product-miniature__inner,
html[data-ax-theme="light"] .facet,
html[data-ax-theme="light"] .block-categories,
html[data-ax-theme="light"] .product-container,
html[data-ax-theme="light"] .blockreassurance,
html[data-ax-theme="light"] #block-reassurance {
  background: #ffffff !important;
  border-color: var(--ax-border) !important;
  color: #1a1a1a;
}

html[data-ax-theme="light"] .product-miniature__title,
html[data-ax-theme="light"] .product-miniature__price,
html[data-ax-theme="light"] .ax-section__title {
  color: var(--ax-ink-900);
}

/* Hero stays bright in light mode; dark theme keeps readable contrast */
html[data-ax-theme="light"] .ax-hero__title,
html[data-ax-theme="light"] .ax-hero__stat-value,
html:not([data-ax-theme]) .ax-hero__title,
html:not([data-ax-theme]) .ax-hero__stat-value {
  color: var(--ax-anthracite) !important;
}
html[data-ax-theme="light"] .ax-hero__title em,
html:not([data-ax-theme]) .ax-hero__title em {
  color: var(--ax-red) !important;
}

html[data-ax-theme="dark"] .ax-hero {
  background: var(--ax-ink-900);
}
html[data-ax-theme="dark"] .ax-hero::before {
  background:
    linear-gradient(90deg, rgba(26, 26, 26, .9) 0%, rgba(26, 26, 26, .62) 42%, rgba(26, 26, 26, .12) 100%);
}
html[data-ax-theme="dark"] .ax-hero .ax-eyebrow { color: rgba(255, 255, 255, .72); }
html[data-ax-theme="dark"] .ax-hero__title,
html[data-ax-theme="dark"] .ax-hero__stat-value {
  color: #fff !important;
}
html[data-ax-theme="dark"] .ax-hero__text,
html[data-ax-theme="dark"] .ax-hero__stat-label {
  color: rgba(255, 255, 255, .68);
}
html[data-ax-theme="dark"] .ax-hero__stats {
  border-top-color: rgba(255, 255, 255, .14);
}
html[data-ax-theme="dark"] .ax-hero .ax-btn-ghost {
  border-color: rgba(255, 255, 255, .32);
  color: #fff;
  background: rgba(255, 255, 255, .06);
}
html[data-ax-theme="dark"] .ax-hero .ax-btn-ghost:hover {
  background: #fff;
  border-color: #fff;
  color: var(--ax-ink-900);
}
html[data-ax-theme="dark"] .ax-fav__title { color: #fff; }
html[data-ax-theme="dark"] .ax-filters {
  background: var(--ax-surface);
  border-color: var(--ax-border);
}
html[data-ax-theme="dark"] .ax-filters__head {
  background:
    linear-gradient(180deg, rgba(var(--ax-red-rgb), .16), transparent 72%),
    var(--ax-surface);
}
html[data-ax-theme="dark"] .ax-facet__search-input {
  background: var(--ax-ink-800);
  border-color: var(--ax-border);
  color: #fff;
}
html[data-ax-theme="dark"] .ax-listing-toolbar {
  background: var(--ax-surface);
}

html[data-ax-theme="light"] .ax-fam__name,
html[data-ax-theme="light"] .ax-fam__cta,
html:not([data-ax-theme]) .ax-fam__name,
html:not([data-ax-theme]) .ax-fam__cta {
  color: #fff !important;
}

/* --- footer --- */
html[data-ax-theme="light"] .footer,
html:not([data-ax-theme]) .footer {
  background: #f5f5f5;
  color: #3a4351;
}
html[data-ax-theme="light"] .footer__before,
html:not([data-ax-theme]) .footer__before {
  background: #ffffff;
  border-bottom: 1px solid #e3e7ec;
}
html[data-ax-theme="light"] .footer .bg-body-tertiary,
html[data-ax-theme="light"] .footer .bg-light,
html[data-ax-theme="light"] .footer .bg-white,
html[data-ax-theme="light"] .footer .ps-emailsubscription,
html:not([data-ax-theme]) .footer .bg-body-tertiary,
html:not([data-ax-theme]) .footer .bg-light,
html:not([data-ax-theme]) .footer .bg-white,
html:not([data-ax-theme]) .footer .ps-emailsubscription {
  color: #3a4351;
}
html[data-ax-theme="light"] .ax-footer-brand,
html[data-ax-theme="light"] .copyright,
html:not([data-ax-theme]) .ax-footer-brand,
html:not([data-ax-theme]) .copyright {
  border-color: #e3e7ec;
}
html[data-ax-theme="light"] .ax-footer-brand__title,
html[data-ax-theme="light"] .footer h3,
html[data-ax-theme="light"] .footer .h3,
html[data-ax-theme="light"] .footer .block-title,
html[data-ax-theme="light"] .footer [class*="__title"],
html:not([data-ax-theme]) .ax-footer-brand__title,
html:not([data-ax-theme]) .footer h3,
html:not([data-ax-theme]) .footer .h3,
html:not([data-ax-theme]) .footer .block-title,
html:not([data-ax-theme]) .footer [class*="__title"] {
  color: #1a1a1a;
}
html[data-ax-theme="light"] .ax-footer-brand__text,
html[data-ax-theme="light"] .ax-copyright__text,
html[data-ax-theme="light"] .ax-copyright__powered,
html:not([data-ax-theme]) .ax-footer-brand__text,
html:not([data-ax-theme]) .ax-copyright__text,
html:not([data-ax-theme]) .ax-copyright__powered {
  color: #4a4a4a;
}
html[data-ax-theme="light"] .footer a,
html[data-ax-theme="light"] .copyright a,
html:not([data-ax-theme]) .footer a,
html:not([data-ax-theme]) .copyright a {
  color: #3a4351;
}
html[data-ax-theme="light"] .footer a:hover,
html[data-ax-theme="light"] .copyright a:hover,
html:not([data-ax-theme]) .footer a:hover,
html:not([data-ax-theme]) .copyright a:hover {
  color: var(--ax-red);
}
html[data-ax-theme="light"] .ax-btn-ghost--footer,
html:not([data-ax-theme]) .ax-btn-ghost--footer {
  color: #1a1a1a;
  border-color: #c8cfd8;
  background: #ffffff;
}
html[data-ax-theme="light"] .ax-btn-ghost--footer:hover,
html:not([data-ax-theme]) .ax-btn-ghost--footer:hover {
  background: #1a1a1a;
  border-color: #1a1a1a;
  color: #ffffff;
}
html[data-ax-theme="light"] .footer .form-control,
html:not([data-ax-theme]) .footer .form-control {
  background: #ffffff;
  border-color: #e3e7ec;
  color: #1a1a1a;
}
html[data-ax-theme="light"] .footer .form-control::placeholder,
html:not([data-ax-theme]) .footer .form-control::placeholder {
  color: #4a4a4a;
}

/* ---------- 16. A propos (Jet Cleaning layout -> Honda) ---------- */

/* Full-bleed layout — colors follow [data-ax-theme] */
body.cms-id-4 .breadcrumb__wrapper {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}
body.cms-id-4 .breadcrumb__wrapper > .container {
  max-width: 1600px;
  width: 100%;
}
body.cms-id-4 .breadcrumb {
  margin-bottom: 0;
  background: transparent !important;
}
body.cms-id-4 #notifications,
body.cms-id-4 #notifications .container {
  background: transparent !important;
}

html[data-ax-theme="dark"]:has(body.cms-id-4),
html[data-ax-theme="dark"] body.cms-id-4,
html[data-ax-theme="dark"] body.cms-id-4 #wrapper,
html[data-ax-theme="dark"] body.page-cms.cms-id-4 #wrapper {
  background: var(--ax-ink-900) !important;
}
html[data-ax-theme="dark"] body.cms-id-4 .breadcrumb__wrapper {
  background: var(--ax-ink-900) !important;
  border-bottom: 1px solid rgba(255, 255, 255, .1);
}
html[data-ax-theme="dark"] body.cms-id-4 .breadcrumb a,
html[data-ax-theme="dark"] body.cms-id-4 .breadcrumb-link { color: rgba(255, 255, 255, .55); }
html[data-ax-theme="dark"] body.cms-id-4 .breadcrumb a:hover,
html[data-ax-theme="dark"] body.cms-id-4 .breadcrumb-link:hover { color: #fff; }
html[data-ax-theme="dark"] body.cms-id-4 .breadcrumb-item--current,
html[data-ax-theme="dark"] body.cms-id-4 .breadcrumb li:last-child,
html[data-ax-theme="dark"] body.cms-id-4 .breadcrumb [aria-current] { color: #fff; }
html[data-ax-theme="dark"] body.cms-id-4 .breadcrumb-item + .breadcrumb-item::before {
  color: rgba(255, 255, 255, .35);
}

.ax-about-shell {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.ax-about-page {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.ax-about {
  position: relative;
  overflow: hidden;
  width: 100%;
  max-width: none;
  margin: 0;
  border-radius: 0;
  background: linear-gradient(165deg, var(--ax-ink-900) 0%, #0d1118 42%, var(--ax-ink-800) 100%);
  color: rgba(255, 255, 255, .78);
  padding: clamp(2.75rem, 7vw, 5.5rem) 0 clamp(3.25rem, 8vw, 5.75rem);
}
.ax-about__container {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1600px;
  margin-inline: auto;
  padding-inline: clamp(1.25rem, 3.5vw, 2.75rem);
}
.ax-about__glow,
.ax-about__dot,
.ax-about__orb {
  display: none;
}
html[data-ax-theme="dark"] .ax-about__glow {
  display: none !important;
  position: absolute;
  border-radius: 50%;
  filter: blur(60px);
  pointer-events: none;
  z-index: 0;
}
html[data-ax-theme="dark"] .ax-about__glow--1 {
  top: 6rem;
  left: 4%;
  width: 18rem;
  height: 18rem;
  background: rgba(var(--ax-red-rgb), .14);
}
html[data-ax-theme="dark"] .ax-about__glow--2 {
  display: none !important;
  bottom: 8rem;
  right: 6%;
  width: 22rem;
  height: 22rem;
  background: rgba(255, 255, 255, .045);
}
html[data-ax-theme="dark"] .ax-about__dot {
  display: none !important;
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, .28);
  z-index: 0;
  animation: ax-about-float 3.2s ease-in-out infinite;
}
html[data-ax-theme="dark"] .ax-about__orb {
  display: none !important;
}
.ax-about__dot--1 { top: 42%; left: 22%; width: 6px; height: 6px; }
.ax-about__dot--2 { bottom: 32%; right: 24%; width: 8px; height: 8px; animation-delay: 1s; animation-duration: 4s; }
@keyframes ax-about-float {
  0%, 100% { transform: translateY(0); opacity: .45; }
  50% { transform: translateY(-12px); opacity: 1; }
}

.ax-about__intro {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  width: 100%;
  margin-bottom: clamp(2.25rem, 5vw, 3.75rem);
}
.ax-about__eyebrow,
.ax-cms-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  margin: 0 0 .75rem;
  font-family: var(--ax-display);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--ax-red);
}
.ax-cms-eyebrow::before {
  content: "";
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  background: currentColor;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M13 2L3 14h8l-1 8 10-12h-8l1-8z' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M13 2L3 14h8l-1 8 10-12h-8l1-8z' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}
.ax-about__title {
  margin: 0;
  width: 100%;
  font-family: var(--ax-display);
  font-size: clamp(2.35rem, 5.5vw, 4rem);
  font-weight: 700;
  letter-spacing: .03em;
  text-transform: uppercase;
  color: #fff;
  line-height: 1.05;
  text-align: center;
}
.ax-about__title span {
  display: block;
  position: relative;
  padding-bottom: .35rem;
}
.ax-about__rule {
  width: 0;
  height: 3px;
  margin: 1rem auto 0;
  background: var(--ax-red);
  border-radius: 2px;
  animation: ax-about-rule 1s var(--ax-ease) .35s forwards;
}
@keyframes ax-about-rule { to { width: 6rem; } }
.ax-about__lead,
.ax-cms-lead {
  margin: 1.35rem auto 0;
  max-width: 44rem;
  font-size: 1.05rem;
  line-height: 1.65;
  color: rgba(255, 255, 255, .62);
  text-align: center;
}

/* Two-layer grid: BO nodes + theme chrome share one grid */
.ax-about__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 1.45fr) minmax(0, 1fr);
  grid-template-areas:
    "eyebrow eyebrow eyebrow"
    "title  title  title"
    "rule   rule   rule"
    "lead   lead   lead"
    "left   visual right"
    "stats  stats  stats"
    "cta    cta    actions";
  column-gap: clamp(1.5rem, 3.5vw, 3.25rem);
  row-gap: clamp(1.25rem, 2.5vw, 2rem);
  align-items: center;
  width: 100%;
}
.ax-about__cms { display: contents; }
.ax-about__layout .ax-cms-eyebrow { grid-area: eyebrow; justify-self: center; }
.ax-about__layout .ax-about__title { grid-area: title; }
.ax-about__layout .ax-about__rule { grid-area: rule; }
.ax-about__layout .ax-cms-lead { grid-area: lead; }
.ax-about__layout .ax-cms-pillars--left { grid-area: left; }
.ax-about__layout .ax-about__visual { grid-area: visual; }
.ax-about__layout .ax-cms-pillars--right { grid-area: right; }
.ax-about__layout .ax-about__stats { grid-area: stats; }
.ax-about__layout .ax-cms-cta { grid-area: cta; }
.ax-about__layout .ax-about__cta-actions { grid-area: actions; justify-self: end; }

.ax-cms-pillars,
.ax-about__col {
  display: grid;
  gap: clamp(1.75rem, 3.2vw, 2.75rem);
}
.ax-about__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 1.45fr) minmax(0, 1fr);
  gap: clamp(1.5rem, 3.5vw, 3.25rem);
  align-items: center;
  width: 100%;
}

/* BO content duplication guard
   The About template renders the same {$cms.content} multiple times (eyebrow/lead/left/right/CTA),
   so we explicitly show only the intended block in each wrapper. */
.ax-about__cms-eyebrow .ax-cms-eyebrow { display: inline-flex; }
.ax-about__cms-eyebrow .ax-cms-lead,
.ax-about__cms-eyebrow .ax-cms-pillars--left,
.ax-about__cms-eyebrow .ax-cms-pillars--right,
.ax-about__cms-eyebrow .ax-cms-cta { display: none; }

.ax-about__cms-lead .ax-cms-lead { display: block; }
.ax-about__cms-lead .ax-cms-eyebrow,
.ax-about__cms-lead .ax-cms-pillars--left,
.ax-about__cms-lead .ax-cms-pillars--right,
.ax-about__cms-lead .ax-cms-cta { display: none; }

.ax-about__cms-left,
.ax-about__cms-right { display: contents; }

.ax-about__cms-left .ax-cms-pillars--left { display: contents; }
.ax-about__cms-left .ax-cms-eyebrow,
.ax-about__cms-left .ax-cms-lead,
.ax-about__cms-left .ax-cms-pillars--right,
.ax-about__cms-left .ax-cms-cta { display: none; }

.ax-about__cms-right .ax-cms-pillars--right { display: contents; }
.ax-about__cms-right .ax-cms-eyebrow,
.ax-about__cms-right .ax-cms-lead,
.ax-about__cms-right .ax-cms-pillars--left,
.ax-about__cms-right .ax-cms-cta { display: none; }

.ax-about__cms-cta { display: contents; }
.ax-about__cms-cta .ax-cms-cta { display: contents; }
.ax-about__cms-cta .ax-cms-eyebrow,
.ax-about__cms-cta .ax-cms-lead,
.ax-about__cms-cta .ax-cms-pillars--left,
.ax-about__cms-cta .ax-cms-pillars--right { display: none; }

.ax-about__item { transition: transform .25s var(--ax-ease); }
.ax-about__item:hover { transform: translateY(-4px); }
.ax-about__item-head {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin-bottom: .55rem;
}
.ax-about__icon {
  position: relative;
  display: inline-grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: rgba(255, 255, 255, .08);
  color: #fff;
  flex-shrink: 0;
  transition: background .25s var(--ax-ease), color .25s var(--ax-ease);
}
.ax-about__item:hover .ax-about__icon {
  background: var(--ax-red);
  color: #fff;
}
/* BO articles: icon glyph from data-icon (no SVG required in TinyMCE) */
.ax-about__item[data-icon] .ax-about__icon::before {
  content: "";
  display: block;
  width: 22px;
  height: 22px;
  background: currentColor;
  -webkit-mask: center / contain no-repeat;
  mask: center / contain no-repeat;
}

/* Prefer icon data-icon on the span itself (robust even if CMS strips attrs on ancestors) */
.ax-about__icon[data-icon]::before {
  content: "";
  display: block;
  width: 22px;
  height: 22px;
  background: currentColor;
  -webkit-mask: center / contain no-repeat;
  mask: center / contain no-repeat;
}
.ax-about__icon[data-icon*="kits"]::before,
.ax-about__item[data-icon*="kits"] .ax-about__icon::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.ax-about__icon[data-icon*="compat"]::before,
.ax-about__item[data-icon*="compat"] .ax-about__icon::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Ccircle cx='12' cy='12' r='9' stroke='black' stroke-width='1.8'/%3E%3Cpath d='M12 7v5l3 2' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Ccircle cx='12' cy='12' r='9' stroke='black' stroke-width='1.8'/%3E%3Cpath d='M12 7v5l3 2' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");
}
.ax-about__icon[data-icon*="trust"]::before,
.ax-about__item[data-icon*="trust"] .ax-about__icon::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z' stroke='black' stroke-width='1.8' stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z' stroke='black' stroke-width='1.8' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.ax-about__icon[data-icon*="atelier"]::before,
.ax-about__item[data-icon*="atelier"] .ax-about__icon::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Ccircle cx='12' cy='12' r='3' stroke='black' stroke-width='1.8'/%3E%3Cpath d='M12 1v2M12 21v2M4.2 4.2l1.4 1.4M18.4 18.4l1.4 1.4M1 12h2M21 12h2M4.2 19.8l1.4-1.4M18.4 5.6l1.4-1.4' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Ccircle cx='12' cy='12' r='3' stroke='black' stroke-width='1.8'/%3E%3Cpath d='M12 1v2M12 21v2M4.2 4.2l1.4 1.4M18.4 18.4l1.4 1.4M1 12h2M21 12h2M4.2 19.8l1.4-1.4M18.4 5.6l1.4-1.4' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");
}
.ax-about__icon[data-icon*="expertise"]::before,
.ax-about__item[data-icon*="expertise"] .ax-about__icon::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M12 2l3 7h7l-5.5 4.5L18 21l-6-4-6 4 1.5-7.5L2 9h7l3-7z' stroke='black' stroke-width='1.8' stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M12 2l3 7h7l-5.5 4.5L18 21l-6-4-6 4 1.5-7.5L2 9h7l3-7z' stroke='black' stroke-width='1.8' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.ax-about__icon[data-icon*="quality"]::before,
.ax-about__item[data-icon*="quality"] .ax-about__icon::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6 9H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-9a2 2 0 0 0-2-2h-2' stroke='black' stroke-width='1.8'/%3E%3Cpath d='M6 9V5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v4M9 13h6' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6 9H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-9a2 2 0 0 0-2-2h-2' stroke='black' stroke-width='1.8'/%3E%3Cpath d='M6 9V5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v4M9 13h6' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");
}
.ax-about__item-title {
  margin: 0;
  font-family: var(--ax-display);
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #fff;
}
.ax-about__item-text {
  margin: 0;
  padding-left: calc(48px + .75rem);
  font-size: .9rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, .58);
}

.ax-about__visual {
  position: relative;
  width: 100%;
}
.ax-about__visual-frame {
  position: relative;
  border-radius: var(--ax-r-lg);
  overflow: hidden;
  min-height: 680px;
  height: min(78vh, 780px);
  box-shadow: var(--ax-shadow-lg);
  isolation: isolate;
}
.ax-about__visual-frame img {
  width: 100%;
  height: 100%;
  min-height: 680px;
  object-fit: cover;
  object-position: center 32%;
  transition: transform .55s var(--ax-ease);
}
.ax-about__visual-frame:hover img { transform: scale(1.04); }
.ax-about__visual-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 1.25rem;
  background: linear-gradient(0deg, rgba(6, 8, 11, .72) 0%, transparent 48%);
}
.ax-about__visual-cta {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .65rem 1.15rem;
  border-radius: 999px;
  background: #fff;
  color: var(--ax-ink-900);
  font-family: var(--ax-display);
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  transition: transform .2s var(--ax-ease), background .2s var(--ax-ease), color .2s var(--ax-ease);
}
.ax-about__visual-cta:hover {
  background: var(--ax-red);
  color: #fff;
  transform: translateY(-2px);
}
.ax-about__orb {
  position: absolute;
  border-radius: 50%;
  background: rgba(var(--ax-red-rgb), .18);
  pointer-events: none;
}
.ax-about__orb--tr { top: -1rem; right: -1.5rem; width: 4rem; height: 4rem; }
.ax-about__orb--bl { bottom: -1.25rem; left: -1.75rem; width: 5rem; height: 5rem; background: rgba(255, 255, 255, .08); }

.ax-about__stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  margin-top: clamp(2.75rem, 5.5vw, 4rem);
}
.ax-about__stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 1.35rem 1rem;
  border-radius: var(--ax-r);
  background: rgba(255, 255, 255, .04);
  border: 1px solid rgba(255, 255, 255, .08);
  backdrop-filter: blur(6px);
  transition: transform .25s var(--ax-ease), background .25s var(--ax-ease), border-color .25s var(--ax-ease);
}
.ax-about__stat:hover {
  transform: translateY(-4px);
  background: rgba(255, 255, 255, .07);
  border-color: rgba(var(--ax-red-rgb), .35);
}
.ax-about__stat-icon {
  display: inline-grid;
  place-items: center;
  width: 52px;
  height: 52px;
  margin-bottom: .85rem;
  border-radius: 50%;
  background: rgba(var(--ax-red-rgb), .15);
  color: #fff;
}
.ax-about__stat-value {
  margin: 0;
  font-family: var(--ax-display);
  font-size: clamp(1.8rem, 3vw, 2.35rem);
  font-weight: 700;
  letter-spacing: .04em;
  color: #fff;
  line-height: 1;
}
.ax-about__stat-label {
  margin: .45rem 0 0;
  font-size: .82rem;
  color: rgba(255, 255, 255, .55);
}
.ax-about__stat::after {
  content: "";
  display: block;
  width: 2rem;
  height: 2px;
  margin-top: .85rem;
  background: var(--ax-red);
  transition: width .25s var(--ax-ease);
}
.ax-about__stat:hover::after { width: 3.25rem; }

.ax-about__cta,
.ax-cms-cta {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: .35rem;
  margin: 0;
  padding: clamp(1.35rem, 3vw, 1.85rem) clamp(1.35rem, 3vw, 2rem);
  border-radius: var(--ax-r-lg) 0 0 var(--ax-r-lg);
  background: rgba(255, 255, 255, .04);
  border: 1px solid rgba(255, 255, 255, .1);
  border-right: 0;
  min-height: 100%;
}
.ax-about__cta-title {
  margin: 0 0 .35rem;
  font-family: var(--ax-display);
  font-size: clamp(1.25rem, 2vw, 1.6rem);
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #fff;
}
.ax-about__cta-text {
  margin: 0;
  color: rgba(255, 255, 255, .58);
  font-size: .95rem;
}
.ax-about__cta-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: .65rem;
  margin: 0;
  padding: clamp(1.35rem, 3vw, 1.85rem) clamp(1.35rem, 3vw, 2rem);
  border-radius: 0 var(--ax-r-lg) var(--ax-r-lg) 0;
  background: rgba(255, 255, 255, .04);
  border: 1px solid rgba(255, 255, 255, .1);
  border-left: 0;
  min-height: 100%;
}

/* À propos — light mode */
html[data-ax-theme="light"] body.cms-id-4,
html[data-ax-theme="light"] body.cms-id-4 #wrapper,
html[data-ax-theme="light"]:has(body.cms-id-4),
html:not([data-ax-theme]) body.cms-id-4,
html:not([data-ax-theme]) body.cms-id-4 #wrapper,
html:not([data-ax-theme]):has(body.cms-id-4) {
  background: #ffffff !important;
}
html[data-ax-theme="light"] body.cms-id-4 .breadcrumb__wrapper,
html:not([data-ax-theme]) body.cms-id-4 .breadcrumb__wrapper {
  background: #ffffff !important;
  border-bottom: 1px solid #e3e7ec;
}
html[data-ax-theme="light"] body.cms-id-4 .breadcrumb a,
html[data-ax-theme="light"] body.cms-id-4 .breadcrumb-link,
html:not([data-ax-theme]) body.cms-id-4 .breadcrumb a,
html:not([data-ax-theme]) body.cms-id-4 .breadcrumb-link {
  color: #4a4a4a;
}
html[data-ax-theme="light"] body.cms-id-4 .breadcrumb a:hover,
html[data-ax-theme="light"] body.cms-id-4 .breadcrumb-link:hover,
html:not([data-ax-theme]) body.cms-id-4 .breadcrumb a:hover,
html:not([data-ax-theme]) body.cms-id-4 .breadcrumb-link:hover {
  color: var(--ax-red);
}
html[data-ax-theme="light"] body.cms-id-4 .breadcrumb-item--current,
html[data-ax-theme="light"] body.cms-id-4 .breadcrumb li:last-child,
html[data-ax-theme="light"] body.cms-id-4 .breadcrumb [aria-current],
html:not([data-ax-theme]) body.cms-id-4 .breadcrumb-item--current,
html:not([data-ax-theme]) body.cms-id-4 .breadcrumb li:last-child,
html:not([data-ax-theme]) body.cms-id-4 .breadcrumb [aria-current] {
  color: #1a1a1a;
}
html[data-ax-theme="light"] body.cms-id-4 .breadcrumb-item + .breadcrumb-item::before,
html:not([data-ax-theme]) body.cms-id-4 .breadcrumb-item + .breadcrumb-item::before {
  color: #c8cfd8;
}

html[data-ax-theme="light"] .ax-about,
html:not([data-ax-theme]) .ax-about {
  background: #ffffff;
  color: #1a1a1a;
}
html[data-ax-theme="light"] .ax-about__title,
html[data-ax-theme="light"] .ax-about__item-title,
html[data-ax-theme="light"] .ax-about__cta-title,
html[data-ax-theme="light"] .ax-about__stat-value,
html:not([data-ax-theme]) .ax-about__title,
html:not([data-ax-theme]) .ax-about__item-title,
html:not([data-ax-theme]) .ax-about__cta-title,
html:not([data-ax-theme]) .ax-about__stat-value {
  color: #1a1a1a;
}
html[data-ax-theme="light"] .ax-about__lead,
html[data-ax-theme="light"] .ax-cms-lead,
html[data-ax-theme="light"] .ax-about__item-text,
html:not([data-ax-theme]) .ax-about__lead,
html:not([data-ax-theme]) .ax-cms-lead,
html:not([data-ax-theme]) .ax-about__item-text {
  color: #3a4351;
}
html[data-ax-theme="light"] .ax-about__icon,
html:not([data-ax-theme]) .ax-about__icon {
  background: #f1f3f6;
  color: #1a1a1a;
}
html[data-ax-theme="light"] .ax-about__stat,
html[data-ax-theme="light"] .ax-about__cta,
html[data-ax-theme="light"] .ax-cms-cta,
html[data-ax-theme="light"] .ax-about__cta-actions,
html:not([data-ax-theme]) .ax-about__stat,
html:not([data-ax-theme]) .ax-about__cta,
html:not([data-ax-theme]) .ax-cms-cta,
html:not([data-ax-theme]) .ax-about__cta-actions {
  background: #f5f5f5;
  border-color: #e3e7ec;
}
html[data-ax-theme="light"] .ax-about__stat:hover,
html:not([data-ax-theme]) .ax-about__stat:hover {
  background: #ffffff;
  border-color: rgba(var(--ax-red-rgb), .35);
}
html[data-ax-theme="light"] .ax-about__stat-label,
html[data-ax-theme="light"] .ax-about__cta-text,
html:not([data-ax-theme]) .ax-about__stat-label,
html:not([data-ax-theme]) .ax-about__cta-text {
  color: #4a4a4a;
}
html[data-ax-theme="light"] .ax-about__stat-icon,
html:not([data-ax-theme]) .ax-about__stat-icon {
  background: rgba(var(--ax-red-rgb), .12);
  color: var(--ax-red);
}
html[data-ax-theme="light"] .ax-about .ax-btn-ghost,
html[data-ax-theme="light"] .ax-about .ax-btn-ghost--footer,
html:not([data-ax-theme]) .ax-about .ax-btn-ghost,
html:not([data-ax-theme]) .ax-about .ax-btn-ghost--footer {
  color: #1a1a1a;
  border-color: #c8cfd8;
  background: #ffffff;
}
html[data-ax-theme="light"] .ax-about .ax-btn-ghost:hover,
html[data-ax-theme="light"] .ax-about .ax-btn-ghost--footer:hover,
html:not([data-ax-theme]) .ax-about .ax-btn-ghost:hover,
html:not([data-ax-theme]) .ax-about .ax-btn-ghost--footer:hover {
  background: #1a1a1a;
  border-color: #1a1a1a;
  color: #ffffff;
}

body.cms-id-4 .footer__before { border-top: 0; }

/* social icons */
.footer .social-sharing a,
.footer [class*="social"] a {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  display: inline-grid;
  place-items: center;
  background: rgba(255, 255, 255, .07);
  transition: all .18s var(--ax-ease);
}
.footer .social-sharing a:hover,
.footer [class*="social"] a:hover { background: var(--ax-red); transform: translateY(-2px); }

/* ---------- 15. misc ---------- */

.back-to-top-link,
#back-to-top { scroll-margin-top: 120px; }

.card, .modal-content { border-radius: var(--ax-r); border-color: var(--ax-slate-200); }
.form-control, .form-select { border-radius: 10px; }
.form-control:focus, .form-select:focus {
  border-color: var(--ax-red);
  box-shadow: 0 0 0 3px rgba(var(--ax-red-rgb), .14);
}

.alert { border-radius: var(--ax-r); border: 0; }

/* ---------- 15b. scroll enhancements (custom.js) ---------- */

.header.is-scrolled { box-shadow: 0 10px 34px rgba(6, 8, 11, .38); }
.header.is-scrolled .header-top { display: none; }
.header.is-scrolled .header-bottom { padding-block: .45rem; }
.header.is-scrolled .header-bottom__logo img { max-height: 40px; }
.header.is-scrolled .ps-mainmenu--desktop .ps-mainmenu__tree-link { padding-block: .7rem; }

.ax-reveal {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity .6s var(--ax-ease), transform .6s var(--ax-ease);
}
.ax-reveal.ax-in { opacity: 1; transform: none; }

/* ---------- 16. responsive ---------- */

@media (max-width: 1399px) {
  .ax-fam { grid-template-columns: repeat(6, 1fr); }
}

@media (max-width: 1199px) {
  .ax-hero { min-height: 480px; }
  .ax-usp__grid { grid-template-columns: repeat(2, 1fr); }
  .ax-fam__card:nth-child(1),
  .ax-fam__card:nth-child(2) { grid-column: span 3; min-height: 280px; }
  .ax-fam__card:nth-child(n + 3) { grid-column: span 2; min-height: 230px; }
}

@media (max-width: 991px) {
  :root { --ax-header-h: 64px; }

  .ax-hero { min-height: 0; }
  .ax-hero__inner { max-width: none; }
  .ax-hero::before {
    background:
      linear-gradient(0deg, rgba(245, 245, 245, .98) 10%, rgba(245, 245, 245, .88) 52%, rgba(245, 245, 245, .45) 100%);
  }
  .ax-hero__media {
    width: 130%;
    left: 10%;
  }
  .ax-hero__media img { object-position: 88% center; }
  .ax-hero__stats { gap: 1.5rem 2.2rem; margin-top: 2rem; padding-top: 1.35rem; }
  .ax-hero__stat-value { font-size: 1.6rem; }

  .ax-fav__infos { max-width: min(360px, 56%); }

  .ax-fam { grid-template-columns: repeat(2, 1fr); gap: .9rem; }
  .ax-fam__card:nth-child(1),
  .ax-fam__card:nth-child(2),
  .ax-fam__card:nth-child(n + 3) { grid-column: span 1; min-height: 220px; }

  .ax-atelier__grid { grid-template-columns: 1fr; min-height: 0; }
  .ax-atelier__media { height: 240px; }
  .ax-atelier__media::after {
    background: linear-gradient(0deg, var(--ax-ink-900) 0%, transparent 70%);
  }

  .ax-section__head { flex-direction: column; align-items: flex-start; gap: .85rem; }

  #products .products, .products { grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: .9rem; }
  .page-content--home .module-products__list .products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem; }

  .ax-cat-hero__inner { grid-template-columns: 1fr; }
  .ax-footer-brand { grid-template-columns: 1fr; }
  .ax-footer-brand__cta { justify-content: flex-start; }

  /* Keep about 3-col on tablet; only tighten gaps */
  .ax-about__grid {
    grid-template-columns: minmax(0, 1fr) minmax(240px, 1.25fr) minmax(0, 1fr);
    column-gap: 1.15rem;
  }
  .ax-about__visual-frame,
  .ax-about__visual-frame img { min-height: 500px; height: min(62vh, 600px); }
  .ax-about__item-text { font-size: .84rem; padding-left: calc(44px + .65rem); }
  .ax-about__icon { width: 44px; height: 44px; }
}

@media (max-width: 767px) {
  .ax-hero__inner { padding-block: 2.5rem 2.75rem; }
  .ax-hero__title { font-size: clamp(2rem, 9vw, 2.8rem); }
  .ax-hero__text { font-size: .95rem; margin: 1rem 0 1.5rem; }
  .ax-hero__actions { gap: .6rem; }
  .ax-hero__actions .btn,
  .ax-hero__actions .ax-btn-ghost { flex: 1 1 100%; justify-content: center; }

  .blockreassurance .reassurance,
  #block-reassurance .block-reassurance-item,
  #block-reassurance li {
    gap: .7rem;
    padding: .6rem 0;
  }
  .blockreassurance .reassurance__image,
  #block-reassurance .block-reassurance-item::before,
  #block-reassurance li::before {
    flex-basis: 40px;
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background-size: 24px 24px;
  }

  .ax-listing-toolbar {
    align-items: stretch;
    padding: .75rem .8rem;
  }
  .ax-listing-toolbar__sort {
    width: 100%;
    justify-content: space-between;
  }
  .products__filter-button {
    min-height: 44px;
  }
  .ax-filters__title { font-size: .95rem; }
  .ax-fav__btn { width: 42px; height: 42px; }
  .ax-fav__infos { max-width: 86%; }
  .ax-fav__cta { width: auto; padding: .7rem 1rem; font-size: .82rem; }

  .ax-usp__grid { grid-template-columns: 1fr; }
  .ax-usp__item { padding: 1rem 1.1rem; }

  .ax-section { padding: 2.2rem 0; }

  .product-miniature__bottom { padding: .8rem .85rem .9rem; gap: .65rem; }
  .product-miniature__title { font-size: .94rem; }
  .product-miniature__price { font-size: 1.25rem; }
  .product-miniature__add-text { display: none; }

  .header-bottom { padding-block: .6rem; }
  .header-bottom__logo img { max-height: 38px; }

  .ax-cat-hero__inner,
  .ax-universe { padding-left: 1.15rem; padding-right: 1.15rem; }
  .ax-cat-hero { border-radius: var(--ax-r); }
  .ax-universe__grid { grid-template-columns: repeat(2, 1fr); }
  .ax-models__trust { gap: .5rem 1rem; }
  .ax-models__trust span:not(:last-child)::after { display: none; }

  .ax-about__grid {
    grid-template-columns: 1fr;
    grid-template-areas:
      "visual"
      "left"
      "right";
    row-gap: 1.75rem;
  }
  .ax-about__visual { grid-area: visual; width: 100%; }
  .ax-about__col--left { grid-area: left; }
  .ax-about__col--right { grid-area: right; }
  .ax-about__visual-frame {
    border-radius: 0;
    min-height: 420px;
    height: min(52vh, 520px);
    margin-inline: calc(-1 * clamp(1.15rem, 4vw, 2.5rem));
    width: calc(100% + 2 * clamp(1.15rem, 4vw, 2.5rem));
  }
  .ax-about__visual-frame img { min-height: 420px; border-radius: 0; }
  .ax-about__orb { display: none; }
  .ax-about__stats { grid-template-columns: repeat(2, 1fr); }
  .ax-about__item-text { padding-left: 0; }
  .ax-cms-cta,
  .ax-about__cta-actions {
    border-radius: var(--ax-r-lg);
    border: 1px solid rgba(255, 255, 255, .1);
  }
  .ax-about__cta-actions {
    width: 100%;
    justify-content: stretch;
  }
  .ax-about__cta-actions .btn,
  .ax-about__cta-actions .ax-btn-ghost { flex: 1 1 auto; justify-content: center; }

  .footer h3, .footer .h3 { margin-bottom: .75rem; }
}

@media (max-width: 575px) {
  #products .products, .products { grid-template-columns: repeat(2, 1fr); gap: .7rem; }
  .page-content--home .module-products__list .products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
  .ax-fam { grid-template-columns: 1fr; }
  .ax-fam__card:nth-child(1),
  .ax-fam__card:nth-child(2),
  .ax-fam__card:nth-child(n + 3) { min-height: 200px; }
  .ax-hero__stats { width: 100%; justify-content: space-between; gap: 1rem; }
  .ax-hero__stat { flex: 1 1 40%; }
  .ax-fav__name { font-size: 1.45rem; }
  .ax-fav__specs { font-size: .8rem; gap: .25rem .7rem; }
  .ax-fav__cta { display: inline-flex; }
  .ax-about__stats { grid-template-columns: 1fr 1fr; gap: .75rem; }
  .ax-about__visual-frame,
  .ax-about__visual-frame img { min-height: 360px; }
}

@media (prefers-reduced-motion: reduce) {
  .ax-hero__media img { animation: none; }
  .ax-about__dot,
  .ax-about__rule { animation: none; }
  .ax-about__rule { width: 6rem; }
  .ax-fav__slide { transition: none; }
  * { transition-duration: .01ms !important; }
}


/* =============================================================
   CDC charte overrides — Light titles, racing palette consistency
   ============================================================= */
.ax-hero__title,
.ax-hero__stat-value,
.ax-section__title,
.ax-fav__title,
.ax-fam__title,
.ax-atelier__title,
.ax-megapromo__title,
.ax-promo__title,
.ax-eyebrow,
.ax-about__title,
.ax-about__stat-value,
.ax-cms-hero__title,
.product-title,
.page-heading,
.h1, .h2, .h3, .h4, .h5,
h1, h2, h3, h4, h5,
.footer h3, .footer .h3,
.ps-mainmenu--mobile .menu__title {
  font-family: var(--ax-display);
  font-weight: var(--ax-display-weight);
}

.ax-btn-ghost,
.btn,
.ax-link-more,
.header-top a.btn,
.product-miniature .product-title {
  letter-spacing: .06em;
}

/* Nav / UI keep medium for tap clarity */
.ps-mainmenu--desktop .menu__link,
.ps-mainmenu--mobile .menu__link,
.header-nav,
.ax-btn-ghost {
  font-weight: var(--ax-ui-weight);
}

/* Body copy always Barlow/Inter */
.product-description,
.product-additional-info,
#product-description-short,
.product-features,
.category-description,
.cms-content,
.rte p,
.card .card-text {
  font-family: var(--ax-body);
  font-weight: 400;
  color: var(--ax-page-fg);
}

.ax-section__sub,
.ax-hero__lead,
.ax-about__lead,
.ax-muted,
.text-muted {
  color: var(--ax-muted);
}

/* ========== Panier — COMMANDER (#B91F1F) + Retirer hover ========== */
body#cart .cart-summary__actions .btn-primary,
body#cart .cart-summary__actions a.btn-primary,
body#cart .cart-summary__actions button.btn-primary {
  --bs-btn-bg: #b91f1f;
  --bs-btn-border-color: #b91f1f;
  --bs-btn-hover-bg: #9a1919;
  --bs-btn-hover-border-color: #9a1919;
  --bs-btn-active-bg: #851515;
  --bs-btn-active-border-color: #851515;
  --bs-btn-disabled-bg: #b91f1f;
  --bs-btn-disabled-border-color: #b91f1f;
  --bs-btn-disabled-color: #fff;
  background-color: #b91f1f !important;
  border-color: #b91f1f !important;
  color: #fff !important;
  box-shadow: 0 2px 10px rgba(185, 31, 31, .28);
}
body#cart .cart-summary__actions .btn-primary:hover:not(:disabled):not(.disabled),
body#cart .cart-summary__actions a.btn-primary:hover {
  background-color: #9a1919 !important;
  border-color: #9a1919 !important;
  color: #fff !important;
  box-shadow: 0 8px 30px rgba(185, 31, 31, .32);
}
body#cart .cart-summary__actions .btn-primary:disabled,
body#cart .cart-summary__actions .btn-primary.disabled {
  background-color: #b91f1f !important;
  border-color: #b91f1f !important;
  color: #fff !important;
  opacity: .72;
}

body#cart .cart-overview .product-line__actions .js-remove-from-cart {
  color: var(--ax-muted);
  text-decoration: underline;
  text-underline-offset: .15em;
}
body#cart .cart-overview .product-line__actions .js-remove-from-cart:hover,
body#cart .cart-overview .product-line__actions .js-remove-from-cart:focus,
body#cart .cart-overview .product-line__actions .js-remove-from-cart:focus-visible {
  color: var(--ax-muted);
  text-decoration: underline;
}
