/** Shopify CDN: Minification failed

Line 1408:0 Expected "}" to go with "{"

**/
/* ═══════════════════════════════════════════════════════════════════════
   PARASMART® — LUXURY DESIGN SYSTEM v3.0 « Lin & Forêt »
   Philosophie : Clarté · Matière · Espace · Cohérence absolue
   Palette : Lin chaud · Forêt profond · Or discret
═══════════════════════════════════════════════════════════════════════ */

/* ════════════════════════════════════════════════════════════════════
   1. DESIGN TOKENS
════════════════════════════════════════════════════════════════════ */
:root {

  /* ── Couleurs fondamentales ─────────────────────────────────── */
  --ps-bg:            #F5F2EE;   /* fond global — lin chaud */
  --ps-surface:       #FFFFFF;   /* surfaces élevées */
  --ps-surface-2:     #FAF8F5;   /* surface secondaire */
  --ps-ink:           #1C1C1C;   /* texte principal */
  --ps-ink-2:         #4A4A4A;   /* texte secondaire */
  --ps-ink-3:         #6E6963;   /* texte tertiaire / placeholder (AA 4,9:1 sur lin ; était #8C8883) */
  --ps-ink-4:         #B8B4AF;   /* séparateurs / disabled */

  /* ── Vert signature ─────────────────────────────────────────── */
  --ps-green:         #2E4A3E;   /* forêt profond — action principale */
  --ps-green-mid:     #3E6355;   /* hover / focus */
  --ps-green-light:   #4A7062;   /* états secondaires */
  --ps-green-pale:    #E8F0EC;   /* surfaces teintées */
  --ps-green-xpale:   #F2F6F4;   /* surfaces ultra-légères */

  /* ── Or discret ─────────────────────────────────────────────── */
  --ps-gold:          #C9A96E;   /* badges / accents luxe */
  --ps-gold-pale:     #F7F1E6;   /* surfaces dorées */
  --ps-gold-ink:      #7D5F28;   /* or lisible pour du texte (AA 5,3:1 sur lin) */

  /* ── États (toujours avec un mot ou une icône) ─────────────── */
  --ps-on-green:      #FFFFFF;
  --ps-success:       var(--ps-green-light);
  --ps-warning:       #8F5B00;   /* stock faible, retard */
  --ps-warning-pale:  #FBF1DE;
  --ps-danger:        #A63A2C;   /* erreur de saisie uniquement, jamais une rupture */
  --ps-danger-pale:   #F8E9E6;
  --ps-info:          #2F5D7C;
  --ps-info-pale:     #EAF1F6;
  --ps-whatsapp:      #1F7A4D;   /* vert sourd, accordé à la forêt */
  --ps-prix-barre:    var(--ps-danger);   /* prix barré : rouge profond bien visible (décision du 30/10) */

  /* ── Alias de compatibilité (utilisés sans définition avant la v3) ── */
  --ps-ink-soft:      var(--ps-ink-2);
  --ps-gold-dark:     var(--ps-gold-ink);
  --ps-gold-xpale:    var(--ps-gold-pale);
  --ps-green-dark:    var(--ps-green);

  /* ── Bordures ───────────────────────────────────────────────── */
  --ps-border:        rgba(28,28,28,0.08);
  --ps-border-mid:    rgba(28,28,28,0.13);
  --ps-border-strong: rgba(28,28,28,0.22);

  /* ── Ombres ─────────────────────────────────────────────────── */
  --ps-sh-xs:  0 1px 2px rgba(28,28,28,0.04);
  --ps-sh-sm:  0 2px 8px rgba(28,28,28,0.06), 0 1px 2px rgba(28,28,28,0.04);
  --ps-sh-md:  0 4px 16px rgba(28,28,28,0.07), 0 1px 4px rgba(28,28,28,0.05);
  --ps-sh-lg:  0 8px 32px rgba(28,28,28,0.08), 0 2px 8px rgba(28,28,28,0.05);
  --ps-sh-xl:  0 16px 56px rgba(28,28,28,0.10), 0 4px 16px rgba(28,28,28,0.06);
  --ps-sh-1:   0 1px 2px rgba(28,28,28,0.04);                                  /* v3 : repos */
  --ps-sh-2:   0 8px 24px rgba(28,28,28,0.08), 0 2px 6px rgba(28,28,28,0.05);  /* v3 : survol, flottant */

  /* ── Rayons ─────────────────────────────────────────────────── */
  --ps-r-xs:   4px;
  --ps-r-sm:   8px;
  --ps-r-md:   14px;   /* cartes, encadrés */
  --ps-r-lg:   20px;   /* tiroirs, fenêtres */
  --ps-r-xl:   var(--ps-r-lg);   /* obsolète */
  --ps-r-pill: 999px;

  /* ── Espacements (base 4 px) ──────────────────────────────── */
  --ps-s-1:  4px;
  --ps-s-2:  8px;
  --ps-s-3:  12px;
  --ps-s-4:  16px;
  --ps-s-5:  24px;
  --ps-s-6:  32px;
  --ps-s-7:  48px;
  --ps-s-8:  64px;
  --ps-s-9:  80px;
  --ps-s-10: 96px;

  /* ── Typographie ─────────────────────────────────────────────── */
  --ps-font:        'Montserrat', -apple-system, BlinkMacSystemFont, sans-serif;
  --ps-ls-tight:    -0.01em;
  --ps-ls-normal:   0em;
  --ps-ls-wide:     0.04em;
  --ps-ls-caps:     0.10em;
  --ps-ls-surtitre: 0.12em;
  --ps-ls-bouton:   0.08em;
  --ps-font-ar:     'Noto Sans Arabic', Tahoma, 'Segoe UI', sans-serif;
  --ps-fs-caption:  12px;
  --ps-fs-small:    14px;
  --ps-fs-body:     16px;
  --ps-fs-lead:     18px;
  --ps-fs-h3:       clamp(18px, 1.2rem + 0.4vw, 20px);
  --ps-fs-h2:       clamp(22px, 1.2rem + 1vw, 26px);
  --ps-fs-h1:       clamp(28px, 1.4rem + 1.6vw, 34px);
  --ps-fs-display:  clamp(32px, 1.6rem + 2.4vw, 44px);

  /* ── Transitions ─────────────────────────────────────────────── */
  --ps-ease:    cubic-bezier(0.2, 0.7, 0.2, 1);  /* v3 : sans rebond */
  --ps-ease-in: cubic-bezier(0.4, 0, 1, 1);
  --ps-ease-out:cubic-bezier(0, 0, 0.2, 1);
  --ps-t1: 0.15s;
  --ps-t2: 0.25s;
  --ps-t3: 0.40s;
}

/* ════════════════════════════════════════════════════════════════════
   2. BASE — Reset & typo globale
════════════════════════════════════════════════════════════════════ */

/* Fond global */
body {
  background-color: var(--ps-bg) !important;
  color: var(--ps-ink) !important;
  font-family: var(--ps-font) !important;
  font-size: var(--ps-fs-body) !important;
  line-height: 1.6 !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* Headings — Montserrat 600, interlettrage léger (v3) */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--ps-font) !important;
  color: var(--ps-ink) !important;
  letter-spacing: var(--ps-ls-tight) !important;
  line-height: 1.2 !important;
  text-wrap: balance;
}

h1, h2, h3 { font-weight: 600 !important; }
h4, h5, h6 { font-weight: 600 !important; }

/* Paragraphes */
p {
  color: var(--ps-ink-2);
  line-height: 1.75;
}

/* Sélection texte */
::selection {
  background: var(--ps-green-pale);
  color: var(--ps-green);
}

/* Scrollbar */
::-webkit-scrollbar { width: 5px; height: 5px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb {
  background: var(--ps-ink-4);
  border-radius: var(--ps-r-pill);
}
::-webkit-scrollbar-thumb:hover { background: var(--ps-ink-3); }

/* Focus ring cohérent */
:focus-visible {
  outline: 2px solid var(--ps-green) !important;
  outline-offset: 3px !important;
  /* v3 : plus de border-radius forcé, le contour suit la forme de l'élément (pilules comprises) */
}

/* ════════════════════════════════════════════════════════════════════
   3. HEADER
════════════════════════════════════════════════════════════════════ */

header-component,
.header-wrapper header {
  background: rgba(245, 242, 238, 0.94) !important;
  border-bottom: 1px solid var(--ps-border) !important;
  backdrop-filter: blur(24px) saturate(160%) !important;
  -webkit-backdrop-filter: blur(24px) saturate(160%) !important;
  box-shadow: var(--ps-sh-xs) !important;
}

/* INT-022 v5: Remove backdrop-filter when menu drawer is open
   backdrop-filter creates a new containing block for position:fixed descendants,
   preventing the drawer from covering the full viewport on mobile */
header-component:has(.menu-open),
.header-wrapper header:has(.menu-open) {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Nav links */
.header-menu-item__link,
.header__menu-item a {
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  letter-spacing: var(--ps-ls-caps) !important;
  text-transform: uppercase !important;
  color: var(--ps-ink) !important;
  transition: color var(--ps-t1) var(--ps-ease-out) !important;
  opacity: 1 !important;
}
.header-menu-item__link:hover,
.header__menu-item a:hover {
  color: var(--ps-green) !important;
  opacity: 1 !important;
}

/* ════════════════════════════════════════════════════════════════════
   4. BOUTONS — Sélecteurs chirurgicaux (ne brise pas les boutons natifs)
════════════════════════════════════════════════════════════════════ */

/* ── Centrage texte boutons — global ────────────────────────── */
button,
[class*="button"],
a.button,
input[type="submit"],
input[type="button"] {
  text-align: center !important;
  justify-content: center !important;
}

/* Add-to-cart principal sur fiche produit */
.product-form__submit:not([disabled]),
product-form button[type="submit"]:not([disabled]) {
  background: var(--ps-green) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--ps-r-pill) !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: var(--ps-ls-caps) !important;
  text-transform: uppercase !important;
  padding: 16px 40px !important;
  box-shadow: 0 4px 20px rgba(46, 74, 62, 0.22) !important;
  transition: background var(--ps-t2) var(--ps-ease-out),
              box-shadow var(--ps-t2) var(--ps-ease-out),
              transform var(--ps-t2) var(--ps-ease) !important;
}

.product-form__submit:not([disabled]):hover,
product-form button[type="submit"]:not([disabled]):hover {
  background: var(--ps-green-mid) !important;
  box-shadow: 0 8px 28px rgba(46, 74, 62, 0.32) !important;
  transform: translateY(-2px) !important;
}

/* ══════════════════════════════════════════════════════════════
   QUICK-ADD — Icône cercle coin bas-droit (1 variante par produit)
   Le JS natif Horizon reste intact : gère le submit + cart drawer
══════════════════════════════════════════════════════════════ */

/* La card doit être relative pour que l'absolu fonctionne */
product-card .product-card__content {
  position: relative !important;
  overflow: visible !important;
}

/* Repositionner quick-add-component en coin */
quick-add-component {
  position: absolute !important;
  bottom: 10px !important;
  right: 10px !important;
  width: auto !important;
  z-index: 3 !important;
}

/* Masquer le bouton "Choisir" — 1 variante = toujours "Ajouter" */
.quick-add__button--choose {
  display: none !important;
}

/* Bouton "Ajouter" → cercle 38px vert */
.quick-add__button--add,
quick-add-component .quick-add__button--add {
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  border-radius: 50% !important;
  padding: 0 !important;
  background: var(--ps-green) !important;
  color: transparent !important;      /* masquer le texte */
  border: none !important;
  opacity: 1 !important;
  box-shadow: 0 2px 10px rgba(46, 74, 62, 0.35) !important;
  transition: background var(--ps-t1) var(--ps-ease-out),
              transform var(--ps-t1) var(--ps-ease),
              box-shadow var(--ps-t1) var(--ps-ease-out) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  position: relative !important;
  cursor: pointer !important;
}

/* Icône panier via ::after (SVG mask) */
.quick-add__button--add::after {
  content: '' !important;
  position: absolute !important;
  width: 17px !important;
  height: 17px !important;
  background: #fff !important;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2L3 6v14a2 2 0 002 2h14a2 2 0 002-2V6l-3-4z'/%3E%3Cline x1='3' y1='6' x2='21' y2='6'/%3E%3Cpath d='M16 10a4 4 0 01-8 0'/%3E%3C/svg%3E") !important;
  -webkit-mask-size: contain !important;
  -webkit-mask-repeat: no-repeat !important;
  -webkit-mask-position: center !important;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2L3 6v14a2 2 0 002 2h14a2 2 0 002-2V6l-3-4z'/%3E%3Cline x1='3' y1='6' x2='21' y2='6'/%3E%3Cpath d='M16 10a4 4 0 01-8 0'/%3E%3C/svg%3E") !important;
  mask-size: contain !important;
  mask-repeat: no-repeat !important;
  mask-position: center !important;
  pointer-events: none !important;
}

.quick-add__button--add:hover,
quick-add-component .quick-add__button--add:hover {
  background: var(--ps-green-mid) !important;
  transform: scale(1.12) !important;
  box-shadow: 0 4px 16px rgba(46, 74, 62, 0.45) !important;
}

/* État loading / ajouté — garder l'icône visible */
.quick-add__button--add[data-loading]::after,
.quick-add__button--add[data-added]::after {
  opacity: 0.7 !important;
}

/* Masquer tout texte résiduel dans le bouton */
.quick-add__button--add .add-to-cart-text,
.quick-add__button--add .add-to-cart-text__content,
.quick-add__button--add span {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
}

/* Mobile — responsive */
@media (max-width: 749px) {
  quick-add-component {
    bottom: 8px !important;
    right: 8px !important;
  }
  .quick-add__button--add {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
  }
}

/* CTA secondaires — lien "Voir tout", "Voir nos best-sellers" */
a.button--secondary,
.collection-hero-unified a.button,
.homepage-content__quicklinks a {
  background: transparent !important;
  color: var(--ps-ink) !important;
  border: 1.5px solid var(--ps-border-strong) !important;
  border-radius: var(--ps-r-pill) !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  letter-spacing: var(--ps-ls-caps) !important;
  text-transform: uppercase !important;
  transition: border-color var(--ps-t1), background var(--ps-t1),
              color var(--ps-t1) !important;
}

a.button--secondary:hover,
.collection-hero-unified a.button:hover {
  background: var(--ps-ink) !important;
  border-color: var(--ps-ink) !important;
  color: var(--ps-surface) !important;
}

/* ════════════════════════════════════════════════════════════════════
   5. PRODUCT CARDS
════════════════════════════════════════════════════════════════════ */

product-card {
  display: block;
  height: 100%;
}

product-card .product-card__content {
  background: var(--ps-surface) !important;
  border-radius: var(--ps-r-lg) !important;
  border: 1px solid var(--ps-border) !important;
  box-shadow: var(--ps-sh-sm) !important;
  overflow: visible !important; /* pas hidden — sinon quick-add absolu coupé */
  position: relative !important;
  height: 100%;
  display: flex;
  flex-direction: column;
  transition:
    transform var(--ps-t2) var(--ps-ease),
    box-shadow var(--ps-t2) var(--ps-ease-out),
    border-color var(--ps-t2) var(--ps-ease-out) !important;
}

product-card:hover .product-card__content {
  transform: translateY(-5px) !important;
  box-shadow: var(--ps-sh-xl) !important;
  border-color: rgba(46, 74, 62, 0.16) !important;
}

/* Image — overflow hidden uniquement ici pour le zoom */
product-card .card-gallery {
  background: var(--ps-bg) !important;
  overflow: hidden !important;
  flex-shrink: 0;
  position: relative;
  border-radius: calc(var(--ps-r-lg) - 1px) calc(var(--ps-r-lg) - 1px) 0 0 !important;
}

product-card .card-gallery img {
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: contain !important;
  padding: 10px !important;
  background: var(--ps-bg) !important;
  transition: transform var(--ps-t3) var(--ps-ease-out) !important;
}

product-card:hover .card-gallery img {
  transform: scale(1.06) !important;
}

/* Vendor — or discret */
product-card .product-card__vendor,
product-card [class*="vendor"] {
  color: var(--ps-gold) !important;
  font-size: 0.6rem !important;
  font-weight: 700 !important;
  letter-spacing: var(--ps-ls-caps) !important;
  text-transform: uppercase !important;
  opacity: 1 !important;
}

/* Titre produit */
product-card [role="heading"],
product-card [class*="product-title"],
product-card .text-block {
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  color: var(--ps-ink) !important;
  letter-spacing: -0.01em !important;
  text-align: center !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: color var(--ps-t1) !important;
}

product-card:hover [role="heading"],
product-card:hover [class*="product-title"] {
  color: var(--ps-green) !important;
}

/* Prix */
product-card .price-item--regular {
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  color: var(--ps-ink) !important;
  letter-spacing: 0 !important;
}

product-card .price-item--sale {
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  color: var(--ps-green) !important;
  letter-spacing: 0 !important;
}

product-card .price-item--compare-at,
product-card [class*="compare-at"] {
  font-size: 0.72rem !important;
  opacity: 0.45 !important;
  text-decoration: line-through !important;
  color: var(--ps-ink) !important;
}

/* Libellés prix */
product-card .price__label {
  display: none !important; /* "Prix promotionnel" / "Prix régulier" — supprimé */
}

/* Badge promo */
product-card .badge--sale {
  background: var(--ps-green) !important;
  color: #fff !important;
  font-size: 0.6rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
}

product-card .badge--sold-out {
  background: var(--ps-ink-4) !important;
  color: var(--ps-ink-2) !important;
}

/* Info produit padding */
product-card .layout-panel-flex:not(.card-gallery) > *:first-child {
  padding-inline: 14px !important;
  padding-block-start: 12px !important;
}

/* Animation entrée */
@keyframes ps-card-appear {
  from { opacity: 0; transform: translateY(14px); }
  to   { opacity: 1; transform: translateY(0); }
}
.product-grid product-card,
.product-grid-container product-card {
  animation: ps-card-appear 0.35s var(--ps-ease-out) both;
}
.product-grid product-card:nth-child(1)  { animation-delay: 0.03s; }
.product-grid product-card:nth-child(2)  { animation-delay: 0.07s; }
.product-grid product-card:nth-child(3)  { animation-delay: 0.11s; }
.product-grid product-card:nth-child(4)  { animation-delay: 0.15s; }
.product-grid product-card:nth-child(5)  { animation-delay: 0.19s; }
.product-grid product-card:nth-child(6)  { animation-delay: 0.23s; }

/* ════════════════════════════════════════════════════════════════════
   6. FORMULAIRES & INPUTS
════════════════════════════════════════════════════════════════════ */

input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="number"]):not([class*="quantity"]):not([name="quantity"]):not([name="updates[]"]),
textarea,
select {
  background: var(--ps-surface) !important;
  border: 1.5px solid var(--ps-border-mid) !important;
  border-radius: var(--ps-r-md) !important;
  font-family: var(--ps-font) !important;
  font-size: 0.875rem !important;
  color: var(--ps-ink) !important;
  padding: 12px 16px !important;
  transition: border-color var(--ps-t1), box-shadow var(--ps-t1) !important;
}

/* Quantity inputs — ne pas overrider le padding (trop petit pour 16px) */
input[type="number"],
input[class*="quantity"],
input[name="quantity"],
input[name*="updates"],
cart-quantity-selector-component input,
quantity-selector-component input {
  background: var(--ps-surface) !important;
  border: 1.5px solid var(--ps-border-mid) !important;
  border-radius: var(--ps-r-sm) !important;
  font-family: var(--ps-font) !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  color: var(--ps-ink) !important;
  text-align: center !important;
  transition: border-color var(--ps-t1), box-shadow var(--ps-t1) !important;
}

input:not([type="checkbox"]):not([type="radio"]):focus,
textarea:focus,
select:focus {
  border-color: var(--ps-green) !important;
  box-shadow: 0 0 0 3px rgba(46, 74, 62, 0.10) !important;
  outline: none !important;
}

/* Placeholder */
::placeholder {
  color: var(--ps-ink-3) !important;
  opacity: 1;
}

/* ════════════════════════════════════════════════════════════════════
   7. COLLECTION PAGE
════════════════════════════════════════════════════════════════════ */

/* Hero collection */
.collection-hero-unified {
  background: var(--ps-bg) !important;
  border-bottom: 1px solid var(--ps-border) !important;
}

.collection-hero-unified__title,
.col-hero__title {
  font-weight: 800 !important;
  letter-spacing: var(--ps-ls-tight) !important;
  color: var(--ps-ink) !important;
}

/* Barre filtres — sticky raffinée */
.facets-block-wrapper {
  background: rgba(245, 242, 238, 0.95) !important;
  border-bottom: 1px solid var(--ps-border) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  position: sticky;
  top: var(--header-height, 60px);
  z-index: 40;
}

/* Compteur produits */
.product-count,
[class*="results-count"],
[class*="product-count"] {
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  color: var(--ps-ink-3) !important;
}

/* Pagination */
.pagination__item a,
.pagination__item span {
  border-radius: var(--ps-r-md) !important;
  border: 1.5px solid var(--ps-border-mid) !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  color: var(--ps-ink) !important;
  transition: all var(--ps-t1) !important;
  min-width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.pagination__item a:hover {
  border-color: var(--ps-green) !important;
  color: var(--ps-green) !important;
  background: var(--ps-green-xpale) !important;
}

.pagination__item--current a,
.pagination__item--current span {
  background: var(--ps-green) !important;
  border-color: var(--ps-green) !important;
  color: #fff !important;
}

/* ════════════════════════════════════════════════════════════════════
   8. HOMEPAGE
════════════════════════════════════════════════════════════════════ */

/* H1 centré */
.homepage-seo-compact__title {
  font-weight: 800 !important;
  letter-spacing: var(--ps-ls-tight) !important;
  color: var(--ps-ink) !important;
}

/* Section hero compact */
.homepage-seo-compact__description {
  color: var(--ps-ink-2) !important;
  background: var(--ps-surface-2) !important;
  border: 1px solid var(--ps-border) !important;
  border-radius: var(--ps-r-md) !important;
}

/* H2 sections */
.homepage-content__heading,
.homepage-silos__title {
  font-weight: 700 !important;
  letter-spacing: var(--ps-ls-tight) !important;
  color: var(--ps-ink) !important;
  border-bottom-color: var(--ps-border) !important;
}

/* Quick links pills */
.homepage-content__quicklinks a {
  background: var(--ps-surface) !important;
  border: 1px solid var(--ps-border-mid) !important;
  border-radius: var(--ps-r-pill) !important;
  color: var(--ps-ink-2) !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  padding: 6px 16px !important;
  transition: border-color var(--ps-t1), color var(--ps-t1), background var(--ps-t1) !important;
}

.homepage-content__quicklinks a:hover {
  border-color: var(--ps-green) !important;
  color: var(--ps-green) !important;
  background: var(--ps-green-xpale) !important;
  opacity: 1 !important;
}

/* Benefits list */
.homepage-content__benefits li {
  color: var(--ps-ink-2) !important;
  font-size: 0.875rem !important;
}

.homepage-content__benefits li strong {
  color: var(--ps-ink) !important;
}

/* Silos cards */
.homepage-silo-card,
.homepage-silos [class*="card"] {
  background: var(--ps-surface) !important;
  border: 1px solid var(--ps-border) !important;
  border-radius: var(--ps-r-lg) !important;
  box-shadow: var(--ps-sh-sm) !important;
  transition: transform var(--ps-t2) var(--ps-ease),
              box-shadow var(--ps-t2) var(--ps-ease-out) !important;
}

.homepage-silo-card:hover,
.homepage-silos [class*="card"]:hover {
  transform: translateY(-4px) !important;
  box-shadow: var(--ps-sh-lg) !important;
  border-color: var(--ps-border-mid) !important;
}

/* ════════════════════════════════════════════════════════════════════
   9. BLOG
════════════════════════════════════════════════════════════════════ */

/* Hero blog — override couleur par blog */
.blog-hero {
  background: linear-gradient(135deg, var(--ps-green) 0%, var(--ps-green-light) 100%) !important;
}

/* Cards blog */
.blog-post-card {
  background: var(--ps-surface) !important;
  border: 1px solid var(--ps-border) !important;
  border-radius: var(--ps-r-lg) !important;
  box-shadow: var(--ps-sh-sm) !important;
  transition: transform var(--ps-t2) var(--ps-ease),
              box-shadow var(--ps-t2) var(--ps-ease-out) !important;
}

.blog-post-card:hover {
  transform: translateY(-5px) !important;
  box-shadow: var(--ps-sh-xl) !important;
  border-color: var(--ps-border-mid) !important;
}

.blog-post-card__title-link > div {
  font-weight: 700 !important;
  letter-spacing: var(--ps-ls-tight) !important;
  color: var(--ps-ink) !important;
}

.blog-post-card:hover .blog-post-card__title-link > div {
  color: var(--ps-green) !important;
}

.blog-post-details time {
  color: var(--ps-green) !important;
  font-weight: 600 !important;
}

/* ════════════════════════════════════════════════════════════════════
   10. SEO FOOTER
════════════════════════════════════════════════════════════════════ */

.seo-geo-footer {
  background: var(--ps-surface-2) !important;
  border-top: 1px solid var(--ps-border) !important;
}

.seo-geo-footer__heading {
  font-weight: 700 !important;
  letter-spacing: var(--ps-ls-tight) !important;
  color: var(--ps-ink) !important;
}

.seo-geo-footer__item strong {
  color: var(--ps-ink) !important;
  font-weight: 600 !important;
}

.seo-geo-footer__item span:last-child {
  color: var(--ps-ink-3) !important;
}

/* Badge GBP */
.seo-geo-footer__gbp-badge {
  border-radius: var(--ps-r-md) !important;
  border: 1.5px solid rgba(234,67,53,0.25) !important;
}

/* Positionnement bloc */
.seo-geo-footer__pos-title {
  color: var(--ps-ink-2) !important;
  font-weight: 700 !important;
  font-size: 0.8125rem !important;
}

.seo-geo-footer__pos-text {
  color: var(--ps-ink-3) !important;
  font-size: 0.75rem !important;
}

/* ════════════════════════════════════════════════════════════════════
   11. FOOTER LÉGAL
════════════════════════════════════════════════════════════════════ */

.seo-footer-legal {
  background: var(--ps-bg) !important;
  border-top: 1px solid var(--ps-border) !important;
}

.seo-footer-legal__text {
  color: var(--ps-ink-4) !important;
  font-size: 0.7rem !important;
}

/* ════════════════════════════════════════════════════════════════════
   12. CART DRAWER — Texte uniquement, design natif Horizon préservé
════════════════════════════════════════════════════════════════════ */

/* Bouton checkout — couleur brand seulement */
.cart__checkout-button {
  background: var(--ps-green) !important;
  color: #fff !important;
  border-radius: var(--ps-r-pill) !important;
}

/* ════════════════════════════════════════════════════════════════════
   13. BREADCRUMBS
════════════════════════════════════════════════════════════════════ */

.breadcrumbs__link {
  color: var(--ps-ink-3) !important;
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  letter-spacing: var(--ps-ls-wide) !important;
  text-transform: uppercase !important;
  opacity: 1 !important;
}

.breadcrumbs__item--current span {
  color: var(--ps-ink-2) !important;
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  letter-spacing: var(--ps-ls-wide) !important;
  text-transform: uppercase !important;
}

.breadcrumbs__item [aria-hidden] {
  color: var(--ps-ink-4) !important;
}

/* ════════════════════════════════════════════════════════════════════
   14. ANNOUNCEMENT BAR
   Le sélecteur natif Horizon = aside[class*="announcement-bar"]
════════════════════════════════════════════════════════════════════ */

aside[class*="announcement-bar"],
[class*="announcement-bar"].section {
  background: var(--ps-green) !important;
  color: #fff !important;
}

/* Texte de l'annonce */
aside[class*="announcement-bar"] *,
[class*="announcement-bar"].section * {
  color: #fff !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  letter-spacing: var(--ps-ls-wide) !important;
}

/* Liens dans l'announcement */
aside[class*="announcement-bar"] a,
[class*="announcement-bar"].section a {
  color: rgba(255,255,255,0.85) !important;
  text-decoration: underline;
  text-underline-offset: 2px;
}

aside[class*="announcement-bar"] a:hover,
[class*="announcement-bar"].section a:hover {
  color: #fff !important;
  opacity: 1 !important;
}

/* ════════════════════════════════════════════════════════════════════
   15. FICHE PRODUIT
════════════════════════════════════════════════════════════════════ */

/* Titre */
.product-information h1,
[class*="product-info"] h1,
.main-product h1 {
  font-weight: 800 !important;
  letter-spacing: var(--ps-ls-tight) !important;
  color: var(--ps-ink) !important;
}

/* Prix */
.product-information .price-item--regular,
.main-product .price-item--regular {
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  color: var(--ps-ink) !important;
}

.product-information .price-item--sale,
.main-product .price-item--sale {
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  color: var(--ps-green) !important;
}

/* Variants */
.variant-button:not(.variant-button--selected) {
  border-color: var(--ps-border-mid) !important;
  color: var(--ps-ink) !important;
  background: var(--ps-surface) !important;
  transition: border-color var(--ps-t1), background var(--ps-t1) !important;
}

.variant-button:not(.variant-button--selected):hover {
  border-color: var(--ps-green) !important;
  background: var(--ps-green-xpale) !important;
}

.variant-button--selected {
  border-color: var(--ps-green) !important;
  background: var(--ps-green-pale) !important;
  color: var(--ps-green) !important;
}

/* ════════════════════════════════════════════════════════════════════
   16. PAGE PRINCIPALE — fade-in
════════════════════════════════════════════════════════════════════ */

/* PERF 2026-10-03 : fade-in de <main> supprimé. Il partait d'opacity 0 : tant que le thread
   principal était occupé (parsing), le contenu restait invisible → LCP retardé de plusieurs
   secondes sur mobile (texte du hero peint à ~7,5-9,5 s au lieu de ~2,5 s). */

/* ════════════════════════════════════════════════════════════════════
   17. RESPONSIVE
════════════════════════════════════════════════════════════════════ */

@media (max-width: 749px) {
  :root {
    --ps-r-lg: 12px;
    --ps-r-xl: 18px;
  }

  body { font-size: 14px !important; }

  product-card [role="heading"],
  product-card [class*="product-title"] {
    font-size: 0.75rem !important;
  }

  .quick-add__button {
    font-size: 0.62rem !important;
    padding: 9px 10px !important;
  }
}

/* ── No motion ─────────────────────────────────────────────── */
@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;
  }
}

/* ═══════════════════════════════════════════════════════════════
   18. COMPOSANTS v3 « Lin & Forêt » — classes additives
   Charte : https://claude.ai/artifact/GDWvwmLEedv79ff6gKygfU
   .ps-btn (--secondaire --discret --wa --or --sm --plein), .ps-champ,
   .ps-label, .ps-aide, .ps-erreur, .ps-surtitre, .ps-titre-section,
   .ps-badge (--promo --club --nouveau --retour --premium), .ps-prix,
   .ps-stock (--ok --depot --faible --retour), .ps-reassurance, .ps-jauge,
   .ps-icone (snippets/ps-icone.liquid). Sans !important.
═══════════════════════════════════════════════════════════════ */
/* Bouton */
.ps-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:var(--ps-s-2);
  min-block-size:46px;
  padding:0 var(--ps-s-6);
  border:1px solid transparent;
  border-radius:var(--ps-r-pill);
  background:var(--ps-green);
  color:var(--ps-on-green);
  font:600 14px/20px var(--ps-font);
  letter-spacing:.08em;
  text-transform:uppercase;
  text-decoration:none;
  cursor:pointer;
  transition:background var(--ps-t1) var(--ps-ease),border-color var(--ps-t1) var(--ps-ease),color var(--ps-t1) var(--ps-ease);
}
.ps-btn:hover {
  background:var(--ps-green-mid);
}
.ps-btn:focus-visible {
  outline:2px solid var(--ps-green);
  outline-offset:3px;
}
.ps-btn--secondaire {
  background:transparent;
  color:var(--ps-green);
  border-color:var(--ps-border-strong);
}
.ps-btn--secondaire:hover {
  background:var(--ps-green-xpale);
  border-color:var(--ps-green);
}
.ps-btn--discret {
  background:transparent;
  color:var(--ps-green);
  padding-inline:var(--ps-s-2);
  text-transform:none;
  letter-spacing:0;
  text-decoration:underline;
  text-underline-offset:4px;
}
.ps-btn--discret:hover {
  background:transparent;
  color:var(--ps-green-mid);
}
.ps-btn--wa {
  background:var(--ps-whatsapp);
}
.ps-btn--wa:hover {
  background:var(--ps-green);
}
.ps-btn--or {
  background:var(--ps-gold-pale);
  color:var(--ps-gold-ink);
  border-color:var(--ps-gold);
}
.ps-btn--or:hover {
  background:var(--ps-gold);
  color:var(--ps-ink);
}
.ps-btn--sm {
  min-block-size:36px;
  padding-inline:var(--ps-s-4);
  font-size:12px;
}
.ps-btn--plein {
  inline-size:100%;
}
.ps-btn:disabled,.ps-btn[aria-disabled=true] {
  background:var(--ps-surface-2);
  color:var(--ps-ink-3);
  border-color:var(--ps-border-mid);
  cursor:not-allowed;
}
.ps-btn[aria-busy=true] {
  color:transparent;
  position:relative;
  pointer-events:none;
}
.ps-btn[aria-busy=true]::after {
  content:"";
  position:absolute;
  inline-size:18px;
  block-size:18px;
  border:2px solid var(--ps-on-green);
  border-inline-end-color:transparent;
  border-radius:50%;
  animation:ps-tour .8s linear infinite;
}

/* Champ */
.ps-champ-groupe {
  display:grid;
  gap:var(--ps-s-1);
}
.ps-label {
  font:600 14px/20px var(--ps-font);
  color:var(--ps-ink);
}
.ps-champ {
  min-block-size:46px;
  padding:0 var(--ps-s-4);
  border:1px solid var(--ps-border-mid);
  border-radius:var(--ps-r-sm);
  background:var(--ps-surface);
  color:var(--ps-ink);
  font:400 16px/24px var(--ps-font);
  box-shadow:var(--ps-sh-1);
  transition:border-color var(--ps-t1) var(--ps-ease),box-shadow var(--ps-t1) var(--ps-ease);
}
.ps-champ::placeholder {
  color:var(--ps-ink-3);
}
.ps-champ:hover {
  border-color:var(--ps-border-strong);
}
.ps-champ:focus-visible {
  outline:none;
  border-color:var(--ps-green);
  box-shadow:0 0 0 3px var(--ps-gold-pale),0 0 0 4px var(--ps-gold);
}
.ps-champ[aria-invalid=true] {
  border-color:var(--ps-danger);
}
.ps-aide {
  font:400 14px/22px var(--ps-font);
  color:var(--ps-ink-3);
}
.ps-erreur {
  font:500 14px/22px var(--ps-font);
  color:var(--ps-danger);
}

/* Sur-titre et titre de section */
.ps-surtitre {
  font:600 12px/16px var(--ps-font);
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--ps-gold-ink);
}
.ps-titre-section {
  margin:0;
  font:600 26px/32px var(--ps-font);
  letter-spacing:-.01em;
  color:var(--ps-ink);
  text-wrap:balance;
}
.ps-titre-section::after {
  content:"";
  display:block;
  inline-size:32px;
  block-size:1px;
  margin-block-start:var(--ps-s-3);
  background:var(--ps-gold);
}

/* Badge */
.ps-badge {
  display:inline-flex;
  align-items:center;
  gap:var(--ps-s-1);
  min-block-size:24px;
  padding:0 var(--ps-s-3);
  border-radius:var(--ps-r-pill);
  font:600 12px/16px var(--ps-font);
  letter-spacing:.04em;
  white-space:nowrap;
}
.ps-badge--promo {
  background:var(--ps-green);
  color:var(--ps-on-green);
}
.ps-badge--club {
  background:var(--ps-gold-pale);
  color:var(--ps-gold-ink);
  box-shadow:inset 0 0 0 1px var(--ps-gold);
}
.ps-badge--nouveau {
  background:var(--ps-surface);
  color:var(--ps-ink);
  box-shadow:inset 0 0 0 1px var(--ps-border-strong);
}
.ps-badge--retour {
  background:var(--ps-surface);
  color:var(--ps-ink-2);
  box-shadow:inset 0 0 0 1px var(--ps-border-mid);
}
.ps-badge--premium {
  background:var(--ps-ink);
  color:var(--ps-gold-pale);
}

/* Prix */
.ps-prix {
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:var(--ps-s-2);
  font-variant-numeric:tabular-nums;
}
.ps-prix__actuel {
  font:600 20px/24px var(--ps-font);
  color:var(--ps-ink);
}
.ps-prix--promo .ps-prix__actuel {
  color:var(--ps-green);
}
.ps-prix__barre {
  font:500 14px/20px var(--ps-font);
  color:var(--ps-prix-barre);
  text-decoration:line-through;
}
.ps-prix__economie {
  padding:2px var(--ps-s-2);
  border-radius:var(--ps-r-sm);
  background:var(--ps-gold-pale);
  color:var(--ps-gold-ink);
  font:600 12px/18px var(--ps-font);
}

/* Stock */
.ps-stock {
  display:inline-flex;
  align-items:center;
  gap:var(--ps-s-2);
  font:500 14px/20px var(--ps-font);
}
.ps-stock::before {
  content:"";
  inline-size:8px;
  block-size:8px;
  border-radius:50%;
  background:currentColor;
  flex:none;
}
.ps-stock--ok {
  color:var(--ps-green-light);
}
.ps-stock--depot {
  color:var(--ps-green-light);
}
.ps-stock--faible {
  color:var(--ps-warning);
}
.ps-stock--retour {
  color:var(--ps-ink-2);
}
.ps-stock--retour::before {
  background:transparent;
  box-shadow:inset 0 0 0 1.5px currentColor;
}

/* Réassurance */
.ps-reassurance {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--ps-s-3);
  margin:0;
  padding:var(--ps-s-4);
  list-style:none;
  border-radius:var(--ps-r-md);
  background:var(--ps-green-xpale);
}
.ps-reassurance li {
  display:grid;
  justify-items:center;
  gap:var(--ps-s-1);
  text-align:center;
  font:500 12px/18px var(--ps-font);
  color:var(--ps-ink-2);
}
.ps-reassurance .ps-icone {
  inline-size:24px;
  block-size:24px;
  color:var(--ps-green);
}

/* Jauge livraison gratuite */
.ps-jauge {
  display:grid;
  gap:var(--ps-s-2);
  font:500 14px/20px var(--ps-font);
  color:var(--ps-ink-2);
}
.ps-jauge strong {
  color:var(--ps-ink);
  font-weight:600;
}
.ps-jauge__barre {
  block-size:4px;
  border-radius:var(--ps-r-pill);
  background:var(--ps-green-pale);
  overflow:hidden;
}
.ps-jauge__barre span {
  display:block;
  block-size:100%;
  border-radius:inherit;
  background:var(--ps-green);
  transition:inline-size var(--ps-t3) var(--ps-ease);
}
.ps-jauge--atteinte {
  color:var(--ps-green);
}
to {
  transform:rotate(360deg);
}
*,*::before,*::after {
  animation-duration:.01ms!important;
  animation-iteration-count:1!important;
  transition-duration:.01ms!important;
}

/* Icônes */
.ps-icone {
  display:inline-block;
  flex:none;
  vertical-align:-0.2em;
}
/* Icône à la place d'un emoji : même taille que le texte du conteneur (comme l'emoji d'avant) */
.ps-texte-icone {
  display: inline-flex;
  vertical-align: -0.15em;
}
[class*="__icon"] > .ps-icone,
[class*="__icone"] > .ps-icone,
[class*="__icon"] > .ps-texte-icone > .ps-icone,
[class*="__icone"] > .ps-texte-icone > .ps-icone {
  inline-size: 1em;
  block-size: 1em;
}
.header-actions__action .svg-wrapper > .ps-icone {
  inline-size: var(--icon-size-md, 22px);
  block-size: var(--icon-size-md, 22px);
}
.ps-club__etoile {
  color: var(--ps-gold);
}
@keyframes ps-tour{to{transform:rotate(360deg)}}

/* Lot C : conversion */
.ps-ancre {
  display: block;
  scroll-margin-block-start: calc(var(--header-height, 64px) + var(--ps-s-4));
}
.ps-prix__economie--fiche {
  display: inline-block;
  margin-block: var(--ps-s-2) 0;
}
.ps-reassurance--fiche {
  inline-size: 100%;
  margin-block-start: var(--ps-s-3);
}
.ps-alternatives-lien {
  margin-block-start: var(--ps-s-2);
}
.ps-entete-favoris {
  position: relative;
  align-items: center;
  color: inherit;
}
/* Icônes de l'en-tête : même bibliothèque (ps-icone), même taille, même axe */
.header-actions__action .svg-wrapper {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.account-button__icon.ps-icone {
  inline-size: var(--icon-size-md, 22px);
  block-size: var(--icon-size-md, 22px);
}
.ps-entete-favoris__nb {
  position: absolute;
  inset-block-start: 4.5px;
  inset-inline-end: 2.5px;
  min-inline-size: 18px;
  block-size: 18px;
  padding-inline: 4px;
  border-radius: var(--ps-r-pill);
  background: var(--ps-gold);
  color: var(--ps-ink);
  font: 600 11px/18px var(--ps-font);
  text-align: center;
}
.ps-entete-favoris__nb[hidden] {
  display: none;
}

/* Menu : icône choisie dans l'admin (métachamp « Icône du menu »), tiroir mobile calme */
.ps-menu-icone {
  display: inline-flex;
  align-items: center;
  margin-inline-end: 0.6em;
  color: var(--ps-green);
  vertical-align: -0.2em;
}
.ps-menu-icone .ps-icone {
  inline-size: 1.15em;
  block-size: 1.15em;
}
.menu-drawer .menu-drawer__menu-item--mainlist {
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0;
}
.menu-drawer .menu-drawer__menu-item--mainlist .menu-drawer__menu-item-text {
  display: inline-flex;
  align-items: center;
}
.menu-drawer__menu > .menu-drawer__list-item:not(.menu-drawer__list-item--divider):has(> a.menu-drawer__menu-item--mainlist) {
  border-block-end: 1px solid var(--color-border);
/* Prix barré bien visible partout (fiche, cartes, panier, guides) : rouge profond, trait de la même couleur */
.compare-at-price,
.ps-prix__barre,
.bsp-card__compare,
.cart-totals__original-value {
  color: var(--ps-prix-barre) !important;
  opacity: 1 !important;
  font-weight: 500;
  text-decoration-line: line-through;
  text-decoration-thickness: 1.5px;
  text-decoration-color: var(--ps-prix-barre) !important;
}
