/* =============================================================================
   MAC PULSE 02 — ÉQUILIBRÉ — Couche de thème publique
   Matière à Création / Thème Pulse02 (PrestaShop 8.2.x)
   -----------------------------------------------------------------------------
   Chargement : APRÈS mac-theme.css, mac-mineral-direct.css, mac-color-picker.css
   et mac-sticky-buy.css (déclarée en fin de templates/_partials/head.tpl, même
   mécanisme validé que mac-mineral-direct.css sur cet hébergement).
   Organisé : 1 Fondations · 2 Layout · 3 Composants · 4 Pages · 5 Intégrations
   · 6 Zone d'achat protégée.
   Règles : tokens --mac-* publics (ne touche pas aux tokens --cp-* des cockpits),
   jamais de texte blanc courant sur #00D1C1 ou #FF6B6B, focus visible cobalt,
   aucune modification de structure/disposition de la zone d'achat.
   ============================================================================= */

/* =============================================================================
   1. FONDATIONS
   ============================================================================= */

/* --- 1.1 Tokens publics Pulse 02 (charte MAC_PULSE02_TOKENS.css) --- */
:root {
  --mac-turquoise: #00D1C1;
  --mac-cobalt: #2563FF;
  --mac-corail: #FF6B6B;
  --mac-ink: #0F172A;
  --mac-white: #FFFFFF;
  --mac-paper: #FAFAF8;
  --mac-grey: #D1D5DB;
  --mac-sand: #EADFCF;
  --mac-beige: #C9B8A7;
  --mac-text: #0F172A;
  --mac-text-muted: #475569;
  --mac-border: #D1D5DB;
  --mac-border-input: #64748B;
  --mac-action: #0F172A;
  --mac-action-hover: #2563FF;
  --mac-action-text: #FFFFFF;
  --mac-link: #2563FF;
  --mac-focus: #2563FF;
  --mac-font-title: "MAC Sora", Arial, sans-serif;
  --mac-font-body: "MAC Manrope", Arial, sans-serif;
  --mac-font-accent: "MAC Cormorant Garamond", Georgia, serif;
  --mac-space-1: 4px; --mac-space-2: 8px; --mac-space-3: 12px;
  --mac-space-4: 16px; --mac-space-6: 24px; --mac-space-8: 32px;
  --mac-space-12: 48px; --mac-space-16: 64px; --mac-space-24: 96px;
  --mac-radius-control: 10px;
  --mac-radius-card: 16px;
  --mac-radius-pill: 999px;
  --mac-content-max: 1280px;
}

/* --- 1.2 Remap des variables du thème héritées (mac-theme.css) ---
   Recolorisation cohérente sans toucher aux règles ni aux gabarits. */
:root {
  --silex: #0F172A;      /* structure / texte principal / action dominante */
  --craie: #FAFAF8;      /* surfaces de lecture */
  --sel: #FFFFFF;        /* fonds de page */
  --lin: #EADFCF;        /* fonds éditoriaux secondaires (sable) */
  --lin-dark: #D1D5DB;   /* séparations (gris) */
  --argile: #2563FF;     /* liens / survol / accents d'action (cobalt) */
  --ocre: #2563FF;       /* mise en valeur (cobalt, AA blanc ou texte) */
  --pierre: #475569;     /* texte secondaire */
  --pierre-l: #64748B;   /* texte tertiaire / bordures de champ */
  --olive: #0F172A;      /* badges fonctionnels (support neutre) */
  /* --error, --kili-vert conservés : sémantique fonctionnelle / marque partenaire.
     Depuis l'alignement 2026-10-15, mac-theme.css :root porte directement les
     valeurs Pulse 02 — ce bloc remap est idempotent (redéfinition identique). */

  --font-display: "MAC Sora", Arial, sans-serif;
  --font-body: "MAC Manrope", Arial, sans-serif;
  --font-serif: "MAC Cormorant Garamond", Georgia, serif;

  /* Remap de la couche Minéral Direct (mac-mineral-direct.css) */
  --md-ink: #0F172A;
  --md-chalk: #FAFAF8;
  --md-stone: #D1D5DB;   /* neutre gris : steppers, bordures — le sable reste éditorial */
  --md-earth: #0F172A;   /* action primaire : bleu nuit, texte blanc */
  --md-blue: #2563FF;
  --md-sun: #00D1C1;     /* accent turquoise, texte bleu nuit */

  /* Remap des accents Minéral Direct (or / ocre / vert / fonds profonds)
     → palette Pulse 02 (audit É1, 2026-10-15) :
     or → turquoise (fonds, filets, puces) ou cobalt (survols d'action),
     ocre → cobalt (textes accent, AA 4,88:1 sur papier),
     vert → turquoise (accents positifs),
     fonds vert-noir → bleu nuit. */
  --md-gold: #00D1C1;
  --md-gold-soft: #2563FF;
  --md-gold-pale: #2563FF;
  --md-ochre: #2563FF;
  --md-ochre-soft: #2563FF;
  --md-green: #00D1C1;
  --md-green-soft: #00D1C1;
  --md-deep: #0F172A;
  --md-deep-2: #0F172A;
  --md-deep-3: #0F172A;
  --md-deep-4: #0F172A;
  --md-earth-hover: #2563FF;
  --md-sand: #EADFCF;
  --md-beige: #C9B8A7;
  --md-alert: #FF6B6B;   /* état d'alerte → corail charte */

  /* Triplettes RGB (teintes alpha : scrims, halos, ombres) */
  --md-ink-rgb: 15, 23, 42;
  --md-gold-rgb: 0, 209, 193;
  --md-earth-rgb: 255, 107, 107;
  --md-blue-rgb: 37, 99, 255;
  --md-ochre-rgb: 37, 99, 255;
  --md-sand-rgb: 234, 223, 207;
  --md-chalk-rgb: 250, 250, 248;
  --md-font-title: "MAC Sora", Arial, sans-serif;
  --md-font-body: "MAC Manrope", Arial, sans-serif;
  --md-radius-btn: 10px;
  --md-radius-card: 16px;
  --md-radius-block: 16px;
  --md-container-max: 1280px;
}

/* --- 1.3 Typographie --- */
body {
  font-family: var(--mac-font-body);
  font-size: 1.0625rem;
  line-height: 1.6;
  color: var(--mac-text);
  background-color: var(--mac-paper);
}

h1, h2, h3, h4, h5, h6,
.mac-brand-scope h1, .mac-brand-scope h2, .mac-brand-scope h3 {
  font-family: var(--mac-font-title);
  font-weight: 700;
  color: var(--mac-ink);
  line-height: 1.15;
}

h1 { font-size: clamp(2rem, 4.5vw, 3.5rem); letter-spacing: -0.02em !important; }
h2 { font-size: clamp(1.75rem, 3vw, 2.25rem); font-weight: 600; letter-spacing: -0.015em !important; }
h3 { font-size: clamp(1.25rem, 2vw, 1.5rem); font-weight: 600; }
h4, h5, h6 { font-size: 1.125rem; font-weight: 600; }

.display-title,
.mac-hero__title,
.mac-intro__title,
.mac-category-header__title,
.mac-search-overlay__label,
.page-header--category h1 {
  font-family: var(--mac-font-title);
  font-style: normal;
  font-weight: 800;
  color: var(--mac-ink);
}

/* Accent éditorial Cormorant Garamond — un ou deux mots d'une grande accroche,
   jamais sur un prix, un dosage, une fiche technique, un bouton ou une sécurité. */
.mac-accent,
em.mac-accent {
  font-family: var(--mac-font-accent);
  font-weight: 500;
  font-style: italic;
  letter-spacing: 0;
}

p, li, dd, label, .mac-footer__col ul li a {
  font-family: var(--mac-font-body);
}

.price, .mac-product-card__price, .mac-buy__pricing .price,
.current-price, .product-price {
  font-family: var(--mac-font-body);
  font-style: normal;
  font-weight: 600;
}

/* --- 1.4 Liens, sélection, focus --- */
a { color: var(--mac-link); text-underline-offset: 0.2em; }
a:hover { color: var(--mac-ink); }

::selection { background: rgba(37, 99, 255, 0.18); color: var(--mac-ink); }

:focus-visible {
  outline: 3px solid var(--mac-focus);
  outline-offset: 3px;
}

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

/* =============================================================================
   2. LAYOUT
   ============================================================================= */

.container,
.mac-md-container {
  max-width: var(--mac-content-max);
}

.mac-header__inner,
.mac-footer__body,
.mac-footer__contact-bar-inner,
.mac-footer__bottom-inner {
  max-width: var(--mac-content-max);
}

body#category .container { max-width: var(--mac-content-max); }
.page-product .mac-pdp .container { max-width: var(--mac-content-max); }

.mac-footer { margin-top: var(--mac-space-16); }

/* =============================================================================
   3. COMPOSANTS
   ============================================================================= */

/* --- 3.1 Boutons --- */
.btn-mac,
.mac-btn,
.mac-btn--hero,
.mac-md-btn,
.mac-cart-promo__submit,
.mac-cart-checkout__btn,
.mac-contactform__submit,
.mac-login button[type="submit"],
button.btn,
input[type="submit"],
input[type="button"] {
  font-family: var(--mac-font-body);
  font-weight: 600;
  font-size: 1rem;
  min-height: 48px;
  border-radius: var(--mac-radius-pill);
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.btn-mac--primary,
.mac-btn--primary,
.mac-btn--hero,
.mac-md-btn--primary,
.add-to-cart,
.mac-cart-checkout__btn {
  background-color: var(--mac-action) !important;
  color: var(--mac-action-text) !important;
  border-color: var(--mac-action) !important;
  border-radius: var(--mac-radius-pill) !important;
  letter-spacing: normal !important;
}

.btn-mac--primary:hover,
.mac-btn--primary:hover,
.mac-btn--hero:hover,
.mac-md-btn--primary:hover,
.add-to-cart:hover {
  background-color: var(--mac-action-hover) !important;
  border-color: var(--mac-action-hover) !important;
  color: var(--mac-action-text) !important;
}

.mac-md-btn--primary:hover { background: #2563FF !important; border-color: #2563FF !important; }

.btn-mac--outline,
.mac-md-btn--secondary,
.mac-btn--secondary {
  background-color: transparent;
  color: var(--mac-ink);
  border: 1.5px solid var(--mac-ink);
  border-radius: var(--mac-radius-pill);
}

.btn-mac--outline:hover,
.mac-md-btn--secondary:hover,
.mac-btn--secondary:hover {
  background-color: var(--mac-ink);
  color: var(--mac-action-text);
}

.mac-md-btn--ghost {
  background: transparent;
  color: var(--mac-ink);
  border-color: var(--mac-border);
  border-radius: var(--mac-radius-control);
}

.mac-md-btn--ghost:hover { border-color: var(--mac-ink); }

.btn-mac--ocre {
  background-color: var(--mac-cobalt);
  color: var(--mac-action-text);
}

.btn-mac--ocre:hover {
  background-color: var(--mac-ink);
  color: var(--mac-action-text);
}

button[disabled],
.btn[disabled],
.is-disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

/* --- 3.1b Sable réservé aux fonds éditoriaux ---
   Le sable #EADFCF (--lin) est une couleur de fond de section (charte),
   pas une couleur de contrôle. Neutralisation sur les surfaces cliquables
   héritées de l'ancien thème : boutons quantité, survols, badges, steppers. */

.mac-qty-btn {
  background-color: var(--mac-white);
  border: 1px solid var(--mac-border);
}
.mac-qty-btn:hover {
  background-color: var(--mac-ink);
  border-color: var(--mac-ink);
  color: var(--mac-white);
}

.mac-btn--outline:hover {
  background-color: var(--mac-ink);
  border-color: var(--mac-ink);
  color: var(--mac-action-text);
}

.mac-account-nav__link:hover,
.mac-address-card__action:hover {
  background-color: var(--mac-paper);
}

.mac-buy__variant-radio-item input.input-radio:checked + .mac-buy__variant-radio-label,
.mac-product-page__variant-radio-item input.input-radio:checked + .mac-product-page__variant-radio-label {
  background-color: rgba(37, 99, 255, 0.08);
  border-color: var(--mac-cobalt);
}

.mac-doc-badge--sent,
.mac-doc-badge--cancelled,
.mac-order-origin--web,
.mac-doctabs__count {
  background-color: var(--mac-paper);
  border: 1px solid var(--mac-border);
  color: var(--mac-text-muted);
}

.mac-badge--eco {
  background-color: rgba(0, 209, 193, 0.12);
  color: var(--mac-ink);
}

.mac-cart-modal__actions .mac-btn--ghost {
  border: 1px solid var(--mac-border);
}

.mac-nl-form__group {
  background: var(--mac-white);
  border-color: var(--mac-border);
}

/* --- 3.2 Formulaires --- */
input[type="text"], input[type="email"], input[type="tel"], input[type="password"],
input[type="number"], input[type="search"], input[type="url"],
select, textarea,
.form-control,
.form-control-select,
.mac-cart-promo__input,
.mac-search-form__input,
.mac-qty-input {
  font-family: var(--mac-font-body);
  font-size: 1rem;
  color: var(--mac-text);
  background-color: var(--mac-white);
  border: 1px solid var(--mac-border-input);
  border-radius: var(--mac-radius-control);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

input[type="text"]:focus, input[type="email"]:focus, input[type="tel"]:focus,
input[type="password"]:focus, input[type="number"]:focus, input[type="search"]:focus,
select:focus, textarea:focus, .form-control:focus {
  border-color: var(--mac-focus);
  box-shadow: 0 0 0 3px rgba(37, 99, 255, 0.22);
  outline: none;
}

input::placeholder, textarea::placeholder {
  color: var(--mac-text-muted);
  opacity: 0.75;
}

label {
  font-family: var(--mac-font-body);
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--mac-ink);
  letter-spacing: normal !important;
  text-transform: none !important;
}

.form-control-comment, .form-text, small.form-text {
  color: var(--mac-text-muted);
  font-family: var(--mac-font-body);
}

/* Cases, radios et interrupteurs */
.mac-form-check label,
.form-check-label,
.custom-checkbox label {
  font-weight: 500;
  color: var(--mac-text);
}

.mac-radio-card {
  border-radius: var(--mac-radius-control);
  border-color: var(--mac-border-input);
}

.mac-radio-card:hover { border-color: var(--mac-cobalt); }
.mac-radio-card.is-selected,
.mac-radio-card.selected {
  border-color: var(--mac-cobalt);
  box-shadow: 0 0 0 2px rgba(37, 99, 255, 0.2);
}

/* --- 3.3 Cartes --- */
.mac-product-card__inner,
.mac-md-card,
.mac-address-card,
.mac-kit-v2-mini-summary,
.mac-order-summary,
.mac-summary,
.mac-home-v2-finder,
.mac-home-v2-calc__inner {
  border-radius: var(--mac-radius-card);
}

.mac-product-card__inner {
  background-color: var(--mac-white);
  border: 1px solid var(--mac-border);
}

.mac-product-card__inner:hover {
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.1);
  border-color: var(--mac-border);
}

.mac-product-card__name a,
.product-miniature .product-title a {
  font-family: var(--mac-font-title);
  font-weight: 600;
  color: var(--mac-ink);
}

.mac-product-card__name a:hover,
.product-miniature .product-title a:hover {
  color: var(--mac-cobalt);
}

.mac-product-card__price,
.product-miniature .price {
  color: var(--mac-ink);
  font-weight: 600;
}

.mac-product-card__price-old,
.product-miniature .regular-price {
  color: var(--mac-text-muted);
  font-weight: 400;
}

.mac-product-card__quickview {
  background-color: rgba(15, 23, 42, 0.82);
  border-color: rgba(255, 255, 255, 0.55);
  color: var(--mac-white);
  border-radius: var(--mac-radius-pill);
}

.mac-product-card__quickview:hover {
  background-color: var(--mac-cobalt);
  border-color: var(--mac-cobalt);
  color: var(--mac-action-text);
}

/* --- 3.4 Badges et drapeaux produit ---
   Accent turquoise/corail = fonds, texte BLEU NUIT (jamais blanc). */
.mac-badge, [class*="badge"], [class*="chip"], [class*="pill"] {
  font-family: var(--mac-font-body);
  border-radius: var(--mac-radius-pill);
}

.mac-product-card__img-wrap .product-flag,
.mac-pdp__gallery .product-flag {
  color: var(--mac-white);
  border-radius: var(--mac-radius-pill);
}

.mac-product-card__img-wrap .product-flag,
.mac-pdp__gallery .product-flag {
  background-color: var(--mac-ink) !important;
}

.mac-product-card__img-wrap .product-flag.discount,
.mac-product-card__img-wrap .product-flag.discount-amount,
.mac-product-card__img-wrap .product-flag.discount-percentage,
.mac-product-card__img-wrap .product-flag.on-sale,
.mac-pdp__gallery .product-flag.discount,
.mac-pdp__gallery .product-flag.discount-amount,
.mac-pdp__gallery .product-flag.discount-percentage,
.mac-pdp__gallery .product-flag.on-sale {
  background-color: var(--mac-corail) !important;
  color: var(--mac-ink) !important;
}

.mac-product-card__img-wrap .product-flag.new,
.mac-pdp__gallery .product-flag.new {
  background-color: var(--mac-turquoise) !important;
  color: var(--mac-ink) !important;
}

.mac-product-card__badge-promo {
  background-color: var(--mac-corail);
  color: var(--mac-ink);
  border-radius: var(--mac-radius-pill);
}

.mac-badge--eco {
  background-color: rgba(0, 209, 193, 0.16);
  color: var(--mac-ink);
  border: 1px solid rgba(0, 209, 193, 0.45);
}

.mac-kit-v2-badge,
.mac-home-v2-finder__badge {
  background: var(--mac-turquoise);
  color: var(--mac-ink);
  border-radius: var(--mac-radius-pill);
}

/* --- 3.5 Tableaux ---
   Couvre les tableaux MAC (.mac-orders-table, .mac-order-products-table,
   .mac-order-history-table, .mac-order-shipping-table, .mac-slips-table,
   .mac-order-table) ET les tableaux Bootstrap du compte client
   (discount.tpl, order-follow.tpl, order-return.tpl : table-striped /
   table-bordered / table-hover). */
table, .table, .mac-order-table, .mac-orders-table, .mac-order-products-table,
.mac-order-history-table, .mac-order-shipping-table, .mac-slips-table {
  font-family: var(--mac-font-body);
  color: var(--mac-text);
  border-color: var(--mac-border);
}

table th, .table th, .mac-order-table th, .mac-orders-table th,
.mac-order-history-table th, .mac-order-shipping-table th, .mac-slips-table th {
  font-family: var(--mac-font-body);
  font-weight: 600;
  font-size: 0.875rem;
  color: var(--mac-ink);
  letter-spacing: normal !important;
  text-transform: none !important;
  border-bottom: 1px solid var(--mac-border);
  background: transparent;
}

table td, .table td,
.mac-order-history-table td, .mac-order-shipping-table td, .mac-slips-table td {
  border-top: 1px solid var(--mac-border);
  color: var(--mac-text);
}

/* Tableaux Bootstrap : bordures et zébrage aux couleurs Pulse 02 */
.table-bordered, .table-bordered td, .table-bordered th,
.table-bordered thead td, .table-bordered thead th {
  border: 1px solid var(--mac-border) !important;
}

.table-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(234, 223, 207, 0.28);
}

.table-hover tbody tr:hover,
.table-active, .table-active > td, .table-active > th {
  background-color: rgba(37, 99, 255, 0.06);
}

.mac-order-products-table__total { color: var(--mac-ink); font-weight: 600; }
.mac-order-history-status, .mac-orders-table__status { font-family: var(--mac-font-body); }
.mac-orders-table__total, .mac-slips-table__amount { color: var(--mac-ink); font-weight: 600; }

/* --- 3.6 Alertes, notifications, états ---
   Les couleurs sémantiques fonctionnelles (erreur/succès/alerte) sont conservées. */
.alert, .notification {
  font-family: var(--mac-font-body);
  border-radius: var(--mac-radius-control);
}

.alert-danger, .notification-danger { border-left: 4px solid var(--error, #c0392b); }
.alert-success, .notification-success { border-left: 4px solid #3a9a56; }
.alert-warning, .notification-warning { border-left: 4px solid var(--mac-corail); }
.alert-info, .notification-info { border-left: 4px solid var(--mac-cobalt); }

.mac-availability-icon--ok { color: #3a9a56; }
.mac-availability-icon--warn { color: var(--mac-cobalt); }
.mac-availability-icon--ko { color: var(--error, #c0392b); }

/* --- 3.7 Onglets, modales, tooltips, pagination, fil d'Ariane --- */
.mac-tabs,
.tabs .nav-link {
  font-family: var(--mac-font-body);
  font-weight: 600;
  color: var(--mac-text-muted);
  border-radius: var(--mac-radius-control) var(--mac-radius-control) 0 0;
}

.mac-tabs.is-active, .tabs .nav-link.active {
  color: var(--mac-ink);
  border-bottom: 2px solid var(--mac-cobalt);
}

.modal-content, .js-checkout-modal .modal-content {
  border-radius: var(--mac-radius-card);
  border: 1px solid var(--mac-border);
  font-family: var(--mac-font-body);
}

.modal-header, .modal-title { font-family: var(--mac-font-title); }

.tooltip { font-family: var(--mac-font-body); }

.pagination .page-item .page-link {
  font-family: var(--mac-font-body);
  color: var(--mac-ink);
  border-color: var(--mac-border);
  border-radius: var(--mac-radius-control);
  min-width: 44px;
  min-height: 44px;
}

.pagination .page-item.active .page-link {
  background-color: var(--mac-action);
  border-color: var(--mac-action);
  color: var(--mac-action-text);
}

.pagination .page-item .page-link:hover {
  background-color: var(--mac-action-hover);
  border-color: var(--mac-action-hover);
  color: var(--mac-action-text);
}

.breadcrumb,
.mac-pdp__breadcrumb .breadcrumb {
  font-family: var(--mac-font-body);
  font-size: 0.875rem;
  color: var(--mac-text-muted);
}

.breadcrumb a { color: var(--mac-link); }
.breadcrumb .navigation-pipe { color: var(--mac-border); }

.facet__title,
.facets .facet__title {
  font-family: var(--mac-font-body);
  font-weight: 600;
  font-size: 0.875rem;
  color: var(--mac-ink);
  letter-spacing: normal !important;
  text-transform: none !important;
}

.facet__label, .facet .facet-label { font-family: var(--mac-font-body); color: var(--mac-text); }

/* =============================================================================
   4. PAGES
   ============================================================================= */

/* --- 4.1 Superheader / header / navigation / recherche / menu mobile --- */
.mac-superheader {
  background-color: var(--mac-ink);
  color: var(--mac-paper);
}

.mac-superheader__item {
  font-family: var(--mac-font-body);
  font-weight: 500;
  color: var(--mac-paper);
}

.mac-superheader__item::before { color: var(--mac-turquoise); }

.mac-header {
  background-color: var(--mac-white);
  border-bottom: 1px solid var(--mac-border);
}

.mac-header.scrolled { box-shadow: 0 2px 24px rgba(15, 23, 42, 0.08); }

.mac-nav__link {
  font-family: var(--mac-font-body);
  font-weight: 600;
  font-size: 0.9375rem;
  color: var(--mac-ink) !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

.mac-nav__link:hover,
.mac-nav__item--mega:hover > .mac-nav__link,
.mac-nav__item--mega:focus-within > .mac-nav__link {
  color: var(--mac-cobalt) !important;
}

.mac-nav__indicator { background: var(--mac-cobalt); }

.mac-mega-panel {
  background: var(--mac-white);
  border: 1px solid var(--mac-border);
  border-radius: 0 0 var(--mac-radius-card) var(--mac-radius-card);
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.1);
}

.mac-mega-panel__link, .mac-mega-panel__parent-link { color: var(--mac-ink); }
.mac-mega-panel__link:hover, .mac-mega-panel__parent-link:hover { color: var(--mac-cobalt); }
.mac-mega-panel__link-dot { background: var(--mac-turquoise); }

.mac-mega-panel__cta-link {
  color: var(--mac-cobalt);
  font-family: var(--mac-font-body);
  font-weight: 600;
}

.mac-mega-panel__cta-link:hover { color: var(--mac-ink); }

.mac-header__action-btn {
  color: var(--mac-ink);
  min-height: 48px;
  min-width: 48px;
  flex-shrink: 0;
}

.mac-header__action-btn:hover { color: var(--mac-cobalt); }

/* Libellés d'action : jamais compressés (évite « Recherch/Connexion » qui
   se chevauchent quand la barre est dense) */
.mac-header__actions { flex-shrink: 0; }
.mac-header__action-label,
.mac-header__actions .user-info a span,
.mac-header__actions .blockcart .header span {
  white-space: nowrap;
}

.mac-search-overlay__hint kbd,
.mac-search-modal kbd {
  font-family: var(--mac-font-body);
  background: var(--mac-paper);
  border: 1px solid var(--mac-border);
  border-radius: 6px;
  color: var(--mac-text-muted);
}

.mac-search-modal__title {
  font-family: var(--mac-font-title);
  font-weight: 700;
  color: var(--mac-ink);
}

.mac-search-form__input {
  border-radius: var(--mac-radius-pill);
  min-height: 52px;
}

.mac-search-form__wrap:focus-within { border-color: var(--mac-focus); }

.mac-mobile-menu {
  background: var(--mac-paper);
  color: var(--mac-ink);
}

.mac-mobile-nav__link, .mac-mobile-nav__sub-link { color: var(--mac-ink); }
.mac-mobile-nav__link:hover, .mac-mobile-nav__sub-link:hover { color: var(--mac-cobalt); }

.mac-mobile-menu__tel {
  color: var(--mac-ink);
  font-family: var(--mac-font-body);
  font-weight: 600;
}

/* --- 4.2 Footer --- */
.mac-footer {
  background-color: var(--mac-ink);
  color: var(--mac-grey);
}

.mac-footer__contact-bar {
  background-color: var(--mac-sand);
}

.mac-footer__contact-item {
  color: var(--mac-ink);
  font-family: var(--mac-font-body);
  font-size: 0.9375rem;
}

.mac-footer__contact-item svg { stroke: var(--mac-ink); }
.mac-footer__contact-item a { color: var(--mac-ink); font-weight: 600; }
.mac-footer__contact-item a:hover { color: var(--mac-cobalt); }

.mac-footer__brand-name {
  font-family: var(--mac-font-title);
  font-weight: 700;
  color: var(--mac-white);
  letter-spacing: normal !important;
  text-transform: none !important;
}

.mac-footer__brand-tagline { color: var(--mac-beige); font-family: var(--mac-font-body); }
.mac-footer__brand-desc { color: var(--mac-grey); font-family: var(--mac-font-body); }

.mac-footer__badge {
  background: rgba(0, 209, 193, 0.14);
  border-color: rgba(0, 209, 193, 0.4);
  color: var(--mac-turquoise);
  border-radius: var(--mac-radius-pill);
  font-family: var(--mac-font-body);
}

.mac-footer__col-title {
  color: var(--mac-white);
  font-family: var(--mac-font-body);
  font-weight: 600;
  letter-spacing: normal !important;
  text-transform: none !important;
}

.mac-footer__col ul li a { color: var(--mac-grey); }
.mac-footer__col ul li a:hover { color: var(--mac-turquoise); }

.mac-footer__boutique { color: var(--mac-grey); }
.mac-footer__boutique strong { color: var(--mac-white); }

.mac-footer__social a {
  color: var(--mac-grey);
  border-color: rgba(209, 213, 219, 0.3);
}

.mac-footer__social a:hover {
  border-color: var(--mac-turquoise);
  color: var(--mac-turquoise);
}

.mac-footer__bottom { border-top: 1px solid rgba(209, 213, 219, 0.18); }
.mac-footer__copyright, .mac-footer__legal-links a { color: var(--mac-beige); }
.mac-footer__legal-links a:hover { color: var(--mac-white); }

.mac-footer__logo-img {
  height: auto;
  width: clamp(120px, 14vw, 180px);
  margin-bottom: var(--mac-space-4);
}

.mac-footer__logo-link { display: inline-block; line-height: 0; }

/* Logo checkout (partiel checkout/_partials/header.tpl) */
.mac-checkout-header__logo-img {
  height: auto;
  width: clamp(100px, 12vw, 150px);
  max-width: 150px;
}

.mac-header__logo-link { display: inline-block; line-height: 0; }
.mac-header__logo h1 { font-size: 0; line-height: 1; }

/* Logo vertical (logo-principal : symbole MAC + « matière à création ») —
   hauteur calée sur la hauteur d'en-tête (76px / 70px scrollé) pour ne
   jamais déborder sur le contenu. */
.mac-header__logo img.mac-header__logo-img {
  height: 64px;
  width: auto;
  max-width: 130px;
}
.mac-header.scrolled .mac-header__logo img.mac-header__logo-img {
  height: 52px;
}
.mac-mobile-logo img.mac-mobile-logo__img {
  max-height: 52px;
  max-width: 110px;
  filter: none;
}

/* --- 4.3 Accueil --- */
.mac-hero__title { color: var(--mac-ink); }
.mac-hero__slide-bg--mineral-1 { background: var(--mac-ink); }

/* Fonds de secours hérités (hex en dur dans mac-theme.css) → palette Pulse 02 */
.mac-hero__slide-bg--mineral-0 { background-color: var(--mac-sand); }
.mac-hero__slide-bg--mineral-1 { background-color: var(--mac-ink); }
.mac-hero__slide-bg--mineral-2 { background-color: var(--mac-beige); }
.mac-univers__panel--beton .mac-univers__panel-img,
.mac-univers__panel--beton .mac-hero__slide-bg { background-color: var(--mac-sand); }
.mac-univers__panel--peinture .mac-univers__panel-img { background-color: var(--mac-ink); }
.mac-univers__panel--nuancier .mac-univers__panel-img { background-color: var(--mac-beige); }
.mac-univers__panel--conseil .mac-univers__panel-img { background-color: var(--mac-text-muted); }

.mac-intro__title, .mac-section-title {
  font-family: var(--mac-font-title);
  font-weight: 700;
  color: var(--mac-ink);
}

.mac-reassurance-item, .mac-pdp__reassurance-item { color: var(--mac-ink); }
.mac-reassurance-item .mac-reass-icon,
.mac-pdp__reassurance-item .mac-reass-icon { color: var(--mac-cobalt); }

.mac-newsletter,
.mac-nl-form__submit {
  font-family: var(--mac-font-body);
}

.mac-nl-form__submit {
  background-color: var(--mac-action);
  color: var(--mac-action-text);
  border-radius: var(--mac-radius-pill);
  min-height: 48px;
}

.mac-nl-form__submit:hover {
  background-color: var(--mac-action-hover);
  color: var(--mac-action-text);
}

/* --- 4.4 Listing / catégorie --- */
.page-header--category {
  background-color: var(--mac-sand);
}

.page-header--category h1 {
  font-family: var(--mac-font-title);
  font-weight: 700;
  font-style: normal;
  color: var(--mac-ink);
}

.mac-category-header__title { font-family: var(--mac-font-title); color: var(--mac-ink); }

.products-selection, .products-selection__counter {
  font-family: var(--mac-font-body);
  color: var(--mac-text-muted);
}

.mac-sort-orders select, .products-sort-order select {
  border-radius: var(--mac-radius-control);
  border-color: var(--mac-border-input);
  min-height: 44px;
}

/* --- 4.5 Fiche produit (environnement ; bloc d'achat non modifié — §6) --- */
.mac-pdp__gallery,
.mac-gallery {
  border-radius: var(--mac-radius-card);
}

.mac-product-detail__title,
.mac-pdp h1, .mac-buy__name {
  font-family: var(--mac-font-title);
  color: var(--mac-ink);
}

.mac-buy__category a { color: var(--mac-cobalt); }
.mac-buy__ref, .mac-buy__desc-short { color: var(--mac-text-muted); font-family: var(--mac-font-body); }

.mac-tabs__btn, .mac-product-detail .nav-tabs .nav-link {
  font-family: var(--mac-font-body);
  font-weight: 600;
  color: var(--mac-text-muted);
}

.mac-tabs__btn.is-active,
.mac-product-detail .nav-tabs .nav-link.active {
  color: var(--mac-ink);
  border-bottom-color: var(--mac-cobalt);
}

.prose, .mac-product-detail .prose {
  font-family: var(--mac-font-body);
  color: var(--mac-text);
}

.prose a { color: var(--mac-link); }
.prose a:hover { color: var(--mac-ink); }

.mac-sticky-buy {
  background: var(--mac-white);
  border-top: 1px solid var(--mac-border);
  border-radius: 0;
}

.mac-sticky-buy .add-to-cart {
  background-color: var(--mac-action) !important;
  color: var(--mac-action-text) !important;
  border-radius: var(--mac-radius-pill) !important;
}

.mac-sticky-buy .add-to-cart:hover {
  background-color: var(--mac-action-hover) !important;
}

/* --- 4.6 Panier / mini-panier --- */
.mac-cart-line, .cart-summary-line, .mac-cart-promo, .mac-cart-checkout {
  font-family: var(--mac-font-body);
}

.mac-cart-modal .modal-content {
  border-radius: var(--mac-radius-card);
}

.mac-cart-promo__input {
  border-radius: var(--mac-radius-control);
  min-height: 48px;
}

.mac-cart-promo__submit {
  background-color: var(--mac-action);
  color: var(--mac-action-text);
  border-radius: var(--mac-radius-pill);
}

.mac-cart-promo__submit:hover {
  background-color: var(--mac-action-hover);
  color: var(--mac-action-text);
}

.mac-cart-checkout__btn {
  background-color: var(--mac-action) !important;
  color: var(--mac-action-text) !important;
  border-radius: var(--mac-radius-pill) !important;
}

.mac-cart-checkout__btn:hover {
  background-color: var(--mac-action-hover) !important;
}

.cart-empty, .mac-cart-empty {
  font-family: var(--mac-font-body);
  color: var(--mac-text-muted);
}

/* --- 4.7 Tunnel de commande (structure et ordre natifs inchangés) --- */
body#checkout {
  background: var(--mac-paper);
  font-family: var(--mac-font-body);
  color: var(--mac-ink);
}

body#checkout h1, body#checkout h2, body#checkout h3,
body#checkout h4, body#checkout h5, body#checkout h6 {
  font-family: var(--mac-font-title);
}

.mac-checkout-header {
  background: var(--mac-white);
  border-bottom: 1px solid var(--mac-border);
}

.mac-checkout-header__back, .mac-checkout-header__help {
  color: var(--mac-ink);
  font-family: var(--mac-font-body);
  font-weight: 600;
}

.mac-checkout-header__back:hover { color: var(--mac-cobalt); }

.mac-checkout-hero__title, .mac-step__title {
  font-family: var(--mac-font-title);
  font-weight: 700;
  color: var(--mac-ink);
}

.checkout-step, .mac-step {
  font-family: var(--mac-font-body);
  border-radius: var(--mac-radius-card);
  background: var(--mac-white);
  border-color: var(--mac-border);
}

.mac-carrier, .mac-payment-option {
  border-radius: var(--mac-radius-control);
  border-color: var(--mac-border-input);
}

.mac-carrier:hover, .mac-payment-option:hover { border-color: var(--mac-cobalt); }

.mac-checkout-footer__links a,
.mac-checkout-footer__copy {
  color: var(--mac-text-muted);
  font-family: var(--mac-font-body);
}

.mac-checkout-footer__links a:hover { color: var(--mac-cobalt); }

/* --- 4.8 Espace client --- */
.mac-ce, .mac-account-nav, .mac-login, .mac-identity,
.mac-address-card, .mac-order-detail, .mac-order-confirm {
  font-family: var(--mac-font-body);
}

.mac-account-nav a, .mac-ce a { color: var(--mac-link); }
.mac-account-nav a:hover, .mac-ce a:hover { color: var(--mac-ink); }

.mac-account-nav .is-active, .mac-account-nav a.active {
  color: var(--mac-ink);
  font-weight: 600;
  border-left-color: var(--mac-cobalt);
}

.mac-doc-badge--avoir {
  background-color: var(--mac-cobalt);
  color: var(--mac-action-text);
  border-radius: var(--mac-radius-pill);
}

.mac-address-card {
  border: 1px solid var(--mac-border);
  background: var(--mac-white);
}

.mac-address-card:hover { border-color: var(--mac-cobalt); }

/* --- 4.9 CMS, contact, erreurs, maintenance --- */
.mac-contact, .mac-contactform, .mac-cinfo, .page-content, .cms-page-content {
  font-family: var(--mac-font-body);
  color: var(--mac-text);
}

.mac-contactform__submit {
  background-color: var(--mac-action);
  color: var(--mac-action-text);
  border-radius: var(--mac-radius-pill);
}

.mac-contactform__submit:hover {
  background-color: var(--mac-action-hover);
  color: var(--mac-action-text);
}

.mac-form-textarea { border-radius: var(--mac-radius-control); }

#layout-error {
  border-radius: var(--mac-radius-card);
  font-family: var(--mac-font-body);
}

#layout-error h1, #layout-error h2 { font-family: var(--mac-font-title); color: var(--mac-ink); }
#layout-error .page-content { color: var(--mac-text-muted); }
#body { background-color: var(--mac-paper); }

/* =============================================================================
   5. INTÉGRATIONS (modules et widgets MAC)
   ============================================================================= */

/* Nuanciers : les couleurs RÉELLES des teintes produits ne sont PAS recolorées
   par la palette de marque (charte §8 / mission §3). Seul l'habillage est repris. */
.mac-nuancier-explorer, .mac-color-picker {
  font-family: var(--mac-font-body);
}

.mac-nuancier-cta a, .mac-nuancier-cta button {
  border-radius: var(--mac-radius-pill);
}

/* Réassurance (blockreassurance) */
.blockreassurance, .blockreassurance .block-icon { color: var(--mac-ink); }
.blockreassurance .block-title { font-family: var(--mac-font-title); color: var(--mac-ink); }

/* Newsletter (ps_emailsubscription) */
.ps_emailsubscription .newsletter-block { font-family: var(--mac-font-body); }
.ps_emailsubscription .btn { border-radius: var(--mac-radius-pill); }

/* Facettes (ps_facetedsearch) */
.faceted-search, .facet { font-family: var(--mac-font-body); }

/* Avis produit (productcomments) : conservation des codes visuels fonctionnels */
.product-comments-list, .product-comment { font-family: var(--mac-font-body); }

/* Liste de souhaits (blockwishlist) */
.blockwishlist .wishlist-button, .blockwishlist .wishlist-add {
  border-radius: var(--mac-radius-pill);
  font-family: var(--mac-font-body);
}

/* =============================================================================
   6. ZONE D'ACHAT PROTÉGÉE
   -----------------------------------------------------------------------------
   Le bloc d'achat natif (product-buy-zone.tpl, product-add-to-cart.tpl,
   product-prices.tpl, product-variants.tpl) conserve structure, emplacement,
   comportement, données, validations et branchements. Les règles générales de
   cette feuille n'introduisent aucun display/position/width sur ses éléments ;
   seuls les tokens de couleur et de police s'appliquent par héritage, sans
   modifier la disposition. Toute règle de cette section doit rester neutre
   pour la mise en page du formulaire d'achat (mission §6).
   ============================================================================= */
#mac-buy-zone,
.mac-buy__form,
.mac-buy__atc,
.mac-product-page__atc-wrap,
.mac-product-page__qty-row {
  /* Aucune propriété de disposition n'est définie ici volontairement. */
  font-family: var(--mac-font-body);
}

.mac-buy__form input[type="number"],
.mac-product-page__qty .mac-qty-input {
  border-radius: var(--mac-radius-control);
  border-color: var(--mac-border-input);
  color: var(--mac-ink);
}

.mac-qty-btn {
  color: var(--mac-ink);
  border-radius: var(--mac-radius-control);
  min-width: 44px;
  min-height: 44px;
}

.mac-qty-btn:hover { color: var(--mac-cobalt); }
