/** Shopify CDN: Minification failed

Line 57:0 All "@import" rules must come first

**/
/* ============================================================
   ONE — Brand global CSS
   Préfixe BEM : one-
   Palette confirmée brand : noir #0A0A0A + or #D4AF37 + rouge #CC0000
   ============================================================ */

:root {
  --one-black: #0A0A0A;
  --one-black-soft: #141414;
  --one-black-overlay: rgba(10, 10, 10, 0.78);
  --one-gold: #D4AF37;
  --one-gold-soft: rgba(212, 175, 55, 0.18);
  --one-red: #CC0000;
  --one-red-soft: rgba(204, 0, 0, 0.18);
  --one-cream: #F5F1EA;
  --one-cream-soft: rgba(245, 241, 234, 0.72);
  --one-violet: #6A0DAD;
  --one-coral: #FF6B6B;
  --one-tropical: #FF8FA3;

  --one-font-display: "Bebas Neue", "Anton", "Helvetica Neue Condensed", Impact, sans-serif;
  --one-font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --one-font-hand: "Caveat", "Permanent Marker", "Brush Script MT", cursive;
  /* Polices "paint" demandées par Claudia — usages ciblés uniquement */
  --one-font-rock: "Rock Salt", "Permanent Marker", "Brush Script MT", cursive;
  --one-font-script: "WindSong", "Caveat", "Dancing Script", cursive;
  --one-font-paint: "Rubik Wet Paint", "Rock Salt", "Permanent Marker", cursive;
  --one-font-finger: "Finger Paint", "Rubik Wet Paint", "Permanent Marker", cursive;
  /* NOUVELLES POLICES sprint 3 juin */
  --one-font-zypiters: "Zypiters Brush", "Caveat Brush", "Permanent Marker", "Brush Script MT", cursive; /* Zypiters Brush installée 3 juin (cliente a acheté le .ttf) */
  --one-font-glory: "Give You Glory", "Caveat", "Permanent Marker", cursive;
  --one-font-allison: "Allison", "WindSong", "Caveat", cursive;
  --one-font-beth: "Beth Ellen", "Allison", "WindSong", cursive;
  --one-font-poiret: "Poiret One", "Bebas Neue", sans-serif;
  --one-font-nosifer: "Nosifer", "Rubik Wet Paint", cursive;
  --one-font-marker: "Permanent Marker", "Rock Salt", cursive;

  --one-radius-sm: 4px;
  --one-radius-md: 12px;
  --one-radius-lg: 28px;
  --one-radius-pill: 999px;

  --one-shadow-soft: 0 4px 24px rgba(0, 0, 0, 0.18);
  --one-shadow-bold: 0 12px 48px rgba(204, 0, 0, 0.22);
  --one-shadow-gold: 0 6px 32px rgba(212, 175, 55, 0.28);

  --one-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --one-dur: 480ms;
}

/* Imports Google Fonts (chargés async par Shopify si possible) */
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Inter:wght@400;500;600;800&family=Caveat:wght@500;700&family=Caveat+Brush&family=Permanent+Marker&family=Rock+Salt&family=WindSong:wght@400;500&family=Rubik+Wet+Paint&family=Give+You+Glory&family=Allison&family=Beth+Ellen&family=Poiret+One&family=Nosifer&family=Finger+Paint&display=swap');

/* Zypiters Brush — police custom uploadée par la cliente (.ttf dans /assets/) */
@font-face {
  font-family: 'Zypiters Brush';
  src: url('zypiters-brush.ttf') format('truetype'),
       url('zypiters-brush.otf') format('opentype');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

/* Kill horizontal overflow (cart drawer + autres absolute positionnés offscreen) */
html, body {
  overflow-x: hidden !important;
  max-width: 100vw !important;
}

/* ============================================================
   Base
   ============================================================ */

.one {
  font-family: var(--one-font-body);
  color: var(--one-cream);
}

.one--dark {
  background: var(--one-black);
  color: var(--one-cream);
}

.one-h1, .one-h2, .one-h3 {
  font-family: var(--one-font-display);
  letter-spacing: 0.03em;
  line-height: 1.5;
  font-weight: 400;
  margin: 0 0 2rem;
  text-transform: uppercase;
}

.one-h1 { font-size: clamp(4rem, 8vw, 7.5rem) !important; }
/* Force le richtext <p> à l'intérieur des titres à hériter de la taille parent */
.one-h1 p, .one-h1 > p,
.one-h2 p, .one-h2 > p,
.one-h3 p, .one-h3 > p,
.one-mega-title p, .one-mega-title > p,
.one-citation__quote p, .one-citation__quote > p {
  font-size: inherit !important;
  font-family: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
  margin: 0 !important;
  color: inherit !important;
  text-transform: inherit !important;
}
.one-h2,
section .one-h2,
.shopify-section .one-h2 {
  font-family: var(--one-font-rock) !important;
  font-size: clamp(2.6rem, 4.6vw, 4.6rem) !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
  line-height: 1.55 !important;
  font-weight: 400 !important;
  margin-bottom: 2.5rem !important;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.one-h3 { font-size: clamp(2.2rem, 3.6vw, 3.6rem) !important; }

/* Utility class — TITRE MASSIF garanti (battre Sense / inline / cache) */
body .one-mega-title,
html body section .one-mega-title,
html body .shopify-section .one-mega-title {
  font-family: var(--one-font-rock) !important;
  font-size: clamp(2.6rem, 4.6vw, 4.8rem) !important;
  font-weight: 400 !important;
  letter-spacing: 0.02em !important;
  line-height: 1.55 !important;
  text-transform: uppercase !important;
  color: var(--one-cream) !important;
  margin: 0 auto 2.5rem !important;
  word-wrap: break-word;
  overflow-wrap: break-word;
  text-align: center !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
}
body .one-mega-title p,
html body section .one-mega-title p,
html body .shopify-section .one-mega-title p {
  text-align: center !important;
  margin: 0 auto !important;
  width: 100% !important;
}
body .one-mega-eyebrow,
html body section .one-mega-eyebrow {
  font-family: var(--one-font-body) !important;
  font-size: 1.35rem !important;
  letter-spacing: 0.42em !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  display: inline-block !important;
  margin-bottom: 1.6rem !important;
}
body .one-mega-lede,
html body section .one-mega-lede {
  font-size: clamp(1.6rem, 2.6vw, 2.2rem) !important;
  line-height: 1.55 !important;
}

/* ============================================================
   ONE — Micro-interactions premium
   ============================================================ */

/* 1. Hover zoom sur cards produits (subtil mais classe) */
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .one-product-card,
  .product-card,
  .card-wrapper .card,
  .grid__item .card {
    transition: transform 0.5s var(--one-ease), box-shadow 0.5s var(--one-ease);
  }
  .one-product-card:hover,
  .product-card:hover,
  .card-wrapper .card:hover,
  .grid__item .card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 48px rgba(212, 175, 55, 0.12), 0 8px 24px rgba(0, 0, 0, 0.4);
  }
  .one-product-card img,
  .product-card img,
  .card-wrapper .card img,
  .grid__item .card img {
    transition: transform 0.8s var(--one-ease);
  }
  .one-product-card:hover img,
  .product-card:hover img,
  .card-wrapper .card:hover img,
  .grid__item .card:hover img {
    transform: scale(1.05);
  }

  /* 2. Soulignement animé sur liens menu */
  .header__menu-item,
  .one-footer a,
  .one-collabs__cta {
    position: relative;
  }
  .header__menu-item::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -4px;
    width: 0;
    height: 1.5px;
    background: var(--one-gold);
    transition: width 0.4s var(--one-ease), left 0.4s var(--one-ease);
  }
  .header__menu-item:hover::after {
    width: 100%;
    left: 0;
  }

  /* 3. Lift sur boutons CTA (effet magnetic doux) */
  .one-btn {
    transition: transform 0.35s var(--one-ease), box-shadow 0.35s var(--one-ease), background 0.35s var(--one-ease) !important;
  }
  .one-btn:hover {
    transform: translateY(-3px) scale(1.02) !important;
    box-shadow: 0 12px 32px rgba(212, 175, 55, 0.25) !important;
  }
  .one-btn--primary:hover {
    box-shadow: 0 12px 32px rgba(204, 0, 0, 0.35) !important;
  }

  /* 4. Icons manifesto — pulsation douce au hover */
  .one-value {
    transition: transform 0.4s var(--one-ease);
  }
  .one-value:hover {
    transform: translateY(-4px);
  }
  .one-value__icon {
    transition: transform 0.5s var(--one-ease);
  }
  .one-value:hover .one-value__icon {
    transform: scale(1.12) rotate(-3deg);
  }
  /* Image icône custom (Higgsfield PNG) — remplace SVG inline */
  .one-value__icon-img {
    width: 100%;
    height: auto;
    max-width: 96px;
    display: block;
    margin: 0 auto;
    border-radius: 50%;
    object-fit: cover;
  }

  /* 5. Cards co-create — élévation hover */
  .one-cocreate__step {
    transition: transform 0.4s var(--one-ease), border-color 0.4s var(--one-ease) !important;
  }
  .one-cocreate__step:hover {
    transform: translateY(-5px);
    border-color: var(--one-gold) !important;
  }
}

/* 6. Apparition douce des sections (déjà existante via .is-revealed) — animation enrichie */
@media (prefers-reduced-motion: no-preference) {
  .one [class*="__title"].is-revealed {
    animation: oneSlideUp 0.8s var(--one-ease) both;
  }
  @keyframes oneSlideUp {
    from {
      opacity: 0;
      transform: translateY(32px);
      filter: blur(4px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
      filter: blur(0);
    }
  }

  /* Manifesto — cascade 200ms par valeur (UNIQUE → SENSIBLE → LIBRE → AUDACIEUSE) */
  .one-scope.one-manifesto .one-value {
    opacity: 0;
    transform: translateY(36px);
    transition: opacity 0.8s var(--one-ease), transform 0.8s var(--one-ease);
  }
  .one-scope.one-manifesto .one-manifesto__grid.is-visible .one-value:nth-child(1) { opacity: 1; transform: translateY(0); transition-delay: 0ms; }
  .one-scope.one-manifesto .one-manifesto__grid.is-visible .one-value:nth-child(2) { opacity: 1; transform: translateY(0); transition-delay: 200ms; }
  .one-scope.one-manifesto .one-manifesto__grid.is-visible .one-value:nth-child(3) { opacity: 1; transform: translateY(0); transition-delay: 400ms; }
  .one-scope.one-manifesto .one-manifesto__grid.is-visible .one-value:nth-child(4) { opacity: 1; transform: translateY(0); transition-delay: 600ms; }

  /* Icon manifesto — petit zoom subtil au reveal */
  .one-scope.one-manifesto .one-manifesto__grid.is-visible .one-value__icon {
    animation: oneIconPop 0.6s var(--one-ease) both;
  }
  .one-scope.one-manifesto .one-manifesto__grid.is-visible .one-value:nth-child(1) .one-value__icon { animation-delay: 100ms; }
  .one-scope.one-manifesto .one-manifesto__grid.is-visible .one-value:nth-child(2) .one-value__icon { animation-delay: 300ms; }
  .one-scope.one-manifesto .one-manifesto__grid.is-visible .one-value:nth-child(3) .one-value__icon { animation-delay: 500ms; }
  .one-scope.one-manifesto .one-manifesto__grid.is-visible .one-value:nth-child(4) .one-value__icon { animation-delay: 700ms; }
  @keyframes oneIconPop {
    0%   { transform: scale(0.4); opacity: 0; }
    60%  { transform: scale(1.15); opacity: 1; }
    100% { transform: scale(1); opacity: 1; }
  }
}

.one-eyebrow {
  font-family: var(--one-font-body);
  font-weight: 600;
  font-size: 0.78rem;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: var(--one-gold);
  margin: 0 0 0.8rem;
  display: inline-block;
}

.one-hand {
  font-family: var(--one-font-hand);
  letter-spacing: 0;
  font-weight: 500;
  text-transform: none;
}

/* ============================================================
   ONE — Polices "paint" (usages ciblés narratifs)
   ============================================================
   Règle : ne JAMAIS appliquer aux paragraphes courants — uniquement
   aux moments narratifs / accents pour préserver la lisibilité.

   - .one-rock    → titres "raconte une histoire" en majuscules main
   - .one-script    → script romantique fin (citations, signatures) — override existing
   - .one-wetpaint  → accent peinture giclée Rubik Wet Paint (mots-clés)
   ============================================================ */

.one-rock {
  font-family: var(--one-font-rock);
  font-weight: 400;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  line-height: 1.15;
}

.one-script {
  font-family: var(--one-font-script);
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  line-height: 1.2;
}

.one-wetpaint {
  font-family: var(--one-font-paint);
  font-weight: 400;
  letter-spacing: 0.02em;
  text-transform: none;
  line-height: 1.1;
  color: var(--one-gold);
}

/* Variants tailles communes pour ces 3 polices accent */
.one-rock--xl,
.one-script--xl,
.one-wetpaint--xl { font-size: clamp(2rem, 5vw, 3.6rem); }
.one-rock--lg,
.one-script--lg,
.one-wetpaint--lg { font-size: clamp(1.4rem, 3vw, 2.2rem); }
.one-rock--md,
.one-script--md,
.one-wetpaint--md { font-size: clamp(1.1rem, 1.8vw, 1.4rem); }

.one-lede {
  font-size: clamp(1.85rem, 3.2vw, 2.6rem);
  line-height: 1.5;
  max-width: 64ch;
  color: var(--one-cream-soft);
}

/* Bump du body global (paragraphes courants) */
.one p, .one-scope p { font-size: 1.45rem; line-height: 1.65; }
.one-eyebrow { font-size: 1.35rem; letter-spacing: 0.42em; }

/* Force gros titres sur sections — spécificité MAX pour battre les inline styles Shopify */
html body section.one-scope.one-manifesto h2.one-h2[style],
html body section.one-scope.one-products h2.one-h2[style],
html body section.one-scope .one-products__title,
html body section.one-scope .one-manifesto__title,
html body section.one .one-h2[style] {
  font-size: clamp(2.6rem, 4.8vw, 4.8rem) !important;
  line-height: 1.55 !important;
  margin-bottom: 2.5rem !important;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
html body section.one-scope.one-manifesto .one-eyebrow,
html body section.one-scope.one-products .one-eyebrow {
  font-size: 1.3rem !important;
  letter-spacing: 0.4em !important;
}
/* Sous-titres intros bumpés partout */
.one-products__intro,
.one-manifesto__intro,
.one-section-header__intro,
.one-products p,
.one-manifesto p {
  font-size: clamp(1.4rem, 2.4vw, 2rem) !important;
  line-height: 1.5 !important;
}
/* Texte description sous icons manifesto */
section.one-scope.one-manifesto .one-value__text,
section.one-scope.one-manifesto .one-value p {
  font-size: 1.3rem !important;
  line-height: 1.55 !important;
}
section.one-scope.one-manifesto .one-value__title {
  font-size: 1.6rem !important;
  letter-spacing: 0.15em !important;
  margin-top: 0.8rem !important;
}

/* ============================================================
   SPRINT 3 JUIN — Refonte polices par section (WhatsApp cliente)
   ⚠️ Zypiters Brush = payant → Caveat Brush placeholder via --one-font-zypiters
   ============================================================ */

/* HEADER NAV — Rubik Wet Paint + taille bumpée pour lisibilité (demande cliente) */
.header__menu-item,
.header__menu .list-menu__item,
header .list-menu a,
header nav a,
.site-nav__link,
.header .header__menu-item,
.header__inline-menu .list-menu__item--link,
.header__inline-menu a {
  font-family: var(--one-font-paint) !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  font-size: 1.05rem !important;
}
@media (min-width: 990px) {
  .header__menu-item,
  .header__menu .list-menu__item,
  header .list-menu a,
  header nav a,
  .site-nav__link {
    font-size: 1.15rem !important;
  }
}

/* === PATTERN GLOBAL : tous les eyebrows en Give You Glory (manuscrit doux) === */
/* EYEBROWS — Poiret One MAJUSCULE jaune (système typo Claudia, vocaux 01:40/01:41/01:49) */
.one .one-eyebrow,
.one .one-mega-eyebrow,
.one [class*="__eyebrow"],
.one-section-header .one-eyebrow,
html body section .one-eyebrow,
html body section .one-mega-eyebrow {
  font-family: var(--one-font-poiret) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.18em !important;
  font-weight: 400 !important;
  color: var(--one-gold) !important;
}
/* Hero eyebrow specific : "BEYOUNIQUE · FASHION DESIGN" */
.one-banner-video__eyebrow,
.one-banner-video .one-eyebrow {
  font-family: var(--one-font-poiret) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.18em !important;
  font-size: 1.05rem !important;
  color: var(--one-gold) !important;
}

/* === PATTERN GLOBAL : tous les CTAs principaux en Permanent Marker === */
.one .one-btn,
.one-btn,
.one-btn--primary,
.one-btn--gold,
.one-btn--ghost,
html body section .one-btn {
  font-family: var(--one-font-marker) !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
}

/* === PATTERN GLOBAL : tous les badges/tags en Permanent Marker === */
.one [class*="__tag"],
.one [class*="__badge"],
.one-collvid__tag,
.one-products__tag,
.one-products__badge,
.one-creatrice__pills .one-pill,
.one-pill,
html body section [class*="__tag"],
html body section [class*="__badge"] {
  font-family: var(--one-font-marker) !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}

/* SUBTITLE / INTRO sections — manuscrit doux Give You Glory */
.one-cocreate__intro,
.one-cocreate__intro p,
.one-collvid__intro,
.one-collvid__intro p,
.one-collabs__intro,
.one-collabs__intro p,
.one-products__intro,
.one-products__intro p,
.one-manifesto__intro,
.one-manifesto__intro p,
.one-citation__author,
html body section [class*="__intro"] {
  font-family: var(--one-font-glory) !important;
  text-transform: none !important;
  letter-spacing: 0.02em !important;
  font-style: normal !important;
}

/* RÉSERVATION "Réserve maintenant" titre interne (cap 24 cliente) */
.one-reservation__title,
.one-reservation h3,
.one-reservation .one-section-header h3,
.one-calendly__title,
html body section .one-reservation__title {
  font-family: var(--one-font-zypiters) !important;
}

/* PAGE GALERIE / FAQ / SHOWROOM titres */
.one-galerie__title,
.one-galerie__intro,
.one-faq__title,
.one-faq h2,
.template-page-faq h1,
.template-page-galerie h1,
.template-page-showroom h1 {
  font-family: var(--one-font-zypiters) !important;
}

/* HERO HOMEPAGE — titre Zypiters + CTAs Permanent Marker */
.one-banner-video__title,
.one-banner-video__title p,
html body section .one-banner-video__title {
  font-family: var(--one-font-zypiters) !important;
}
.one-banner-video .one-btn,
.one-banner-video__ctas .one-btn,
.one-banner-video__ctas a {
  font-family: var(--one-font-marker) !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

/* TICKER — Zypiters Brush */
.one-ticker__item,
.one-ticker__text,
.one-ticker [class*="__item"],
.one-ticker [class*="__text"] {
  font-family: var(--one-font-zypiters) !important;
  text-transform: uppercase !important;
}

/* MANIFESTO — Permanent Marker titre, Give You Glory cards */
html body section.one-scope.one-manifesto .one-manifesto__title,
html body section.one-scope.one-manifesto h2.one-h2,
html body section.one-scope.one-manifesto .one-mega-title {
  font-family: var(--one-font-marker) !important;
}
html body section.one-scope.one-manifesto .one-value__title {
  font-family: var(--one-font-glory) !important;
  font-size: 2rem !important;
  letter-spacing: 0.05em !important;
}

/* COLLECTIONS — Give You Glory eyebrow, Zypiters titre, Permanent Marker badges */
.one-collvid .one-eyebrow,
.one-collvid__header .one-eyebrow,
html body section.one-collvid .one-eyebrow {
  font-family: var(--one-font-glory) !important;
  text-transform: none !important;
  letter-spacing: 0.05em !important;
  font-size: 1.6rem !important;
}
.one-collvid__title,
html body section .one-collvid__title {
  font-family: var(--one-font-zypiters) !important;
}
.one-collvid__tag,
html body section .one-collvid__tag {
  font-family: var(--one-font-marker) !important;
  letter-spacing: 0.06em !important;
}

/* PIÈCES PHARES / LES COUPS DE COEUR — Zypiters Brush */
.one-products__title,
html body section .one-products__title,
.one-products .one-h2 {
  font-family: var(--one-font-zypiters) !important;
}

/* CO-CRÉATION CRÉE TA PIÈCE UNIQUE — Zypiters titre + Rubik Wet Paint étapes */
.one-cocreate__title,
html body section .one-cocreate__title {
  font-family: var(--one-font-zypiters) !important;
}
.one-cocreate__step-title,
.one-cocreate__step h3,
.one-cocreate__step h4,
.one-cocreate__step [class*="__title"] {
  font-family: var(--one-font-paint) !important;
  letter-spacing: 0.04em !important;
}

/* COLLABORATIONS — Zypiters Brush */
.one-collabs__title,
.one-collabs__title.one-rock,
html body section .one-collabs__title {
  font-family: var(--one-font-zypiters) !important;
}

/* CITATION — Allison pour quote, Zypiters pour bouton */
.one-citation__quote,
.one-citation__quote p,
html body section .one-citation__quote {
  font-family: var(--one-font-allison) !important;
  font-weight: 400 !important;
}
.one-citation__cta,
.one-citation .one-btn {
  font-family: var(--one-font-zypiters) !important;
  letter-spacing: 0.08em !important;
}

/* CRÉATRICE CLAUDIA — Zypiters titre + Give You Glory paragraphe */
.one-creatrice__title,
html body section .one-creatrice__title,
html body section.one-scope .one-creatrice__title {
  font-family: var(--one-font-zypiters) !important;
}
.one-creatrice__body,
.one-creatrice__body p,
html body section.one-scope .one-creatrice__body,
html body section.one-scope .one-creatrice__body p {
  font-family: var(--one-font-glory) !important;
  font-size: 1.6rem !important;
  line-height: 1.5 !important;
}

/* RÉSERVATION / SHOWROOM — Zypiters Brush */
.one-showroom__title,
.one-calendly__title,
.one-reservation__title,
html body section .one-showroom__title,
html body section .one-calendly__title,
html body section .one-reservation__title {
  font-family: var(--one-font-zypiters) !important;
}

/* PAGE HISTOIRE / NAISSANCE — Zypiters titres + Give You Glory body + Allison quote */
.one-histoire__title,
.one-naissance__title,
.one-vision__title,
html body .one-histoire__title,
html body .one-naissance__title,
html body .one-vision__title {
  font-family: var(--one-font-zypiters) !important;
}
.one-histoire__body,
.one-histoire__body p,
.one-naissance__body p,
.one-vision__body p {
  font-family: var(--one-font-glory) !important;
  font-size: 1.6rem !important;
  line-height: 1.6 !important;
}
.one-histoire__quote,
.one-naissance__quote,
.one-vision__quote,
.one-histoire blockquote,
.one-naissance blockquote {
  font-family: var(--one-font-allison) !important;
}

/* CATALOGUE PRODUITS — Zypiters titre + Poiret One pour noms produits (cliente WhatsApp 4 juin : "Poiret one aussi") */
.one-products-page__title,
.collection-hero__title,
.template-list-collections h1,
.template-collection h1 {
  font-family: var(--one-font-zypiters) !important;
}
.product-card__title,
.card__heading,
.card__heading a,
.card__information h3,
.product-card-wrapper .card__heading,
.grid__item .card__heading {
  font-family: var(--one-font-poiret) !important;
  font-weight: 400 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase;
}

/* ============================================================
   ONE — Scroll reveal animations
   ============================================================
   Le JS one-reveal.js ajoute la classe .is-revealed quand l'élément
   entre dans le viewport. Les sections one/one-scope sont auto-detectées.
   ============================================================ */

@media (prefers-reduced-motion: no-preference) {
  .one-reveal,
  .one .one-h1,
  .one .one-h2,
  .one .one-h3,
  .one .one-lede,
  .one .one-eyebrow,
  .one [class*="__title"],
  .one [class*="__intro"],
  .one [class*="__card"],
  .one [class*="__step"],
  .one [class*="__item"],
  .one [class*="__slide"] {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity 0.7s var(--one-ease), transform 0.7s var(--one-ease);
    will-change: opacity, transform;
  }
  .one-reveal.is-revealed,
  .one .one-h1.is-revealed,
  .one .one-h2.is-revealed,
  .one .one-h3.is-revealed,
  .one .one-lede.is-revealed,
  .one .one-eyebrow.is-revealed,
  .one [class*="__title"].is-revealed,
  .one [class*="__intro"].is-revealed,
  .one [class*="__card"].is-revealed,
  .one [class*="__step"].is-revealed,
  .one [class*="__item"].is-revealed,
  .one [class*="__slide"].is-revealed {
    opacity: 1;
    transform: translateY(0);
  }
  /* Stagger : enfants successifs avec délai progressif */
  .one [class*="__step"]:nth-child(2) { transition-delay: 80ms; }
  .one [class*="__step"]:nth-child(3) { transition-delay: 160ms; }
  .one [class*="__step"]:nth-child(4) { transition-delay: 240ms; }
  .one [class*="__step"]:nth-child(5) { transition-delay: 320ms; }
  /* Hero exempt : doit être visible tout de suite */
  .one-banner-video .one-banner-video__title,
  .one-banner-video .one-banner-video__sub,
  .one-banner-video .one-banner-video__lede,
  .one-banner-video .one-banner-video__eyebrow,
  .one-coll-hero .one-coll-hero__title,
  .one-coll-hero .one-coll-hero__eye,
  .one-coll-hero .one-coll-hero__desc {
    opacity: 1 !important;
    transform: none !important;
  }

  /* ============================================================
     ANIMATIONS VARIÉES PAR SECTION (Premium scroll reveal)
     ============================================================ */

  /* TITRES : blur-fade (titres = moments forts du site) */
  .one .one-h1, .one .one-h2, .one .one-h3,
  .one [class*="__title"] {
    filter: blur(8px);
    transition: opacity 0.9s var(--one-ease),
                transform 0.9s var(--one-ease),
                filter 0.9s var(--one-ease);
  }
  .one .one-h1.is-revealed, .one .one-h2.is-revealed, .one .one-h3.is-revealed,
  .one [class*="__title"].is-revealed {
    filter: blur(0);
  }

  /* CARDS : scale-fade subtil + stagger horizontal */
  .one [class*="__card"] {
    transform: translateY(40px) scale(0.96);
    transition: opacity 0.85s var(--one-ease),
                transform 0.85s var(--one-ease);
  }
  .one [class*="__card"].is-revealed {
    transform: translateY(0) scale(1);
  }
  /* Stagger horizontal sur tous les __card consécutifs */
  .one [class*="__card"]:nth-child(1) { transition-delay: 0ms; }
  .one [class*="__card"]:nth-child(2) { transition-delay: 100ms; }
  .one [class*="__card"]:nth-child(3) { transition-delay: 200ms; }
  .one [class*="__card"]:nth-child(4) { transition-delay: 300ms; }
  .one [class*="__card"]:nth-child(5) { transition-delay: 400ms; }
  .one [class*="__card"]:nth-child(6) { transition-delay: 500ms; }

  /* SLIDES collabs : slide latéral alterné gauche/droite */
  .one-collabs .one-collab:nth-child(odd) [class*="__slide"],
  .one-collabs .one-collab:nth-child(odd) [class*="__title"],
  .one-collabs .one-collab:nth-child(odd) [class*="__intro"] {
    transform: translateX(-60px);
  }
  .one-collabs .one-collab:nth-child(even) [class*="__slide"],
  .one-collabs .one-collab:nth-child(even) [class*="__title"],
  .one-collabs .one-collab:nth-child(even) [class*="__intro"] {
    transform: translateX(60px);
  }
  .one-collabs .one-collab [class*="__slide"].is-revealed,
  .one-collabs .one-collab [class*="__title"].is-revealed,
  .one-collabs .one-collab [class*="__intro"].is-revealed {
    transform: translateX(0);
  }

  /* CRÉATRICE : split — photo glisse de gauche, texte de droite */
  .one-creatrice .one-creatrice__media {
    opacity: 0;
    transform: translateX(-40px);
    transition: opacity 1s var(--one-ease), transform 1s var(--one-ease);
  }
  .one-creatrice .one-creatrice__body,
  .one-creatrice .one-creatrice__title,
  .one-creatrice .one-creatrice__sub,
  .one-creatrice .one-creatrice__pills,
  .one-creatrice .one-creatrice__ctas {
    opacity: 0;
    transform: translateX(40px);
    transition: opacity 0.9s var(--one-ease), transform 0.9s var(--one-ease);
  }
  .one-creatrice .one-creatrice__title { transition-delay: 100ms; }
  .one-creatrice .one-creatrice__sub { transition-delay: 200ms; }
  .one-creatrice .one-creatrice__body { transition-delay: 300ms; }
  .one-creatrice .one-creatrice__pills { transition-delay: 400ms; }
  .one-creatrice .one-creatrice__ctas { transition-delay: 500ms; }
  .one-creatrice.is-revealed .one-creatrice__media,
  .one-creatrice .is-revealed.one-creatrice__media,
  .one-creatrice .one-creatrice__media.is-revealed {
    opacity: 1;
    transform: translateX(0);
  }
  .one-creatrice.is-revealed .one-creatrice__body,
  .one-creatrice.is-revealed .one-creatrice__title,
  .one-creatrice.is-revealed .one-creatrice__sub,
  .one-creatrice.is-revealed .one-creatrice__pills,
  .one-creatrice.is-revealed .one-creatrice__ctas,
  .one-creatrice .one-creatrice__body.is-revealed,
  .one-creatrice .one-creatrice__title.is-revealed,
  .one-creatrice .one-creatrice__sub.is-revealed,
  .one-creatrice .one-creatrice__pills.is-revealed,
  .one-creatrice .one-creatrice__ctas.is-revealed {
    opacity: 1;
    transform: translateX(0);
  }

  /* COLLECTIONS GRID : cards montent en cascade plus marquée */
  .one-collvid .one-collvid__card:nth-child(1) { transition-delay: 0ms; }
  .one-collvid .one-collvid__card:nth-child(2) { transition-delay: 120ms; }
  .one-collvid .one-collvid__card:nth-child(3) { transition-delay: 240ms; }
  .one-collvid .one-collvid__card:nth-child(4) { transition-delay: 360ms; }
  .one-collvid .one-collvid__card:nth-child(5) { transition-delay: 480ms; }
  .one-collvid .one-collvid__card:nth-child(6) { transition-delay: 600ms; }
  .one-collvid .one-collvid__card {
    transform: translateY(60px) scale(0.94);
  }

  /* CO-CRÉATION steps : scale-up + slight rotate */
  .one-cocreate__step,
  .one [class*="__step"] {
    transform: translateY(40px) scale(0.92);
    transition: opacity 0.8s var(--one-ease),
                transform 0.8s var(--one-ease);
  }
  .one-cocreate__step.is-revealed,
  .one [class*="__step"].is-revealed {
    transform: translateY(0) scale(1);
  }

  /* GALERIE / cards éditoriales : image scale + mask */
  .one-galerie__card,
  .one [class*="galerie__card"] {
    transform: translateY(50px);
    transition: opacity 1s var(--one-ease), transform 1s var(--one-ease);
  }
  .one-galerie__card img,
  .one [class*="galerie__card"] img {
    transform: scale(1.1);
    transition: transform 1.2s var(--one-ease);
  }
  .one-galerie__card.is-revealed img,
  .one [class*="galerie__card"].is-revealed img {
    transform: scale(1);
  }

  /* RESERVATION (showroom) : fade + scale très doux */
  .one-reservation .one-reservation__card {
    opacity: 0;
    transform: scale(0.95);
    transition: opacity 1s var(--one-ease), transform 1s var(--one-ease);
  }
  .one-reservation.is-revealed .one-reservation__card,
  .one-reservation .one-reservation__card.is-revealed {
    opacity: 1;
    transform: scale(1);
  }

  /* CTAs / Buttons : pop subtil après le titre */
  .one [class*="__ctas"],
  .one [class*="__cta"] {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.7s var(--one-ease) 0.4s,
                transform 0.7s var(--one-ease) 0.4s;
  }
  .one [class*="__ctas"].is-revealed,
  .one [class*="__cta"].is-revealed,
  .one .is-revealed [class*="__ctas"],
  .one .is-revealed [class*="__cta"] {
    opacity: 1;
    transform: translateY(0);
  }

  /* PRODUCTS PHARES : zoom-fade premium */
  .one-products .one-products__card,
  .one [class*="products__card"] {
    transform: translateY(50px) scale(0.93);
    transition: opacity 1s var(--one-ease), transform 1s var(--one-ease);
  }
  .one-products .one-products__card.is-revealed,
  .one [class*="products__card"].is-revealed {
    transform: translateY(0) scale(1);
  }

  /* LEDE / INTRO : fade-up plus lent, plus posé */
  .one .one-lede,
  .one [class*="__intro"],
  .one [class*="__lede"] {
    transform: translateY(20px);
    transition: opacity 1s var(--one-ease) 0.15s,
                transform 1s var(--one-ease) 0.15s;
  }

  /* EYEBROW : fade simple, premier à apparaître */
  .one .one-eyebrow,
  .one [class*="__eyebrow"] {
    transform: translateY(10px);
    transition: opacity 0.5s var(--one-ease),
                transform 0.5s var(--one-ease);
  }
}

/* ============================================================
   Buttons signature
   ============================================================ */

.one-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.6em;
  padding: 0.95em 1.6em;
  font-family: var(--one-font-display);
  font-size: 1.05rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  border: 0;
  border-radius: var(--one-radius-pill);
  transition: transform var(--one-dur) var(--one-ease),
              box-shadow var(--one-dur) var(--one-ease),
              background var(--one-dur) var(--one-ease);
  white-space: nowrap;
  min-height: 48px;
}

.one-btn:hover, .one-btn:focus-visible {
  transform: translateY(-2px);
}

.one-btn--primary {
  background: var(--one-red);
  color: var(--one-cream);
  box-shadow: var(--one-shadow-bold);
}
.one-btn--primary:hover { background: #b30000; }

.one-btn--gold {
  background: var(--one-gold);
  color: var(--one-black);
  box-shadow: var(--one-shadow-gold);
}
.one-btn--gold:hover { background: #c19a2f; }

.one-btn--ghost {
  background: transparent;
  color: var(--one-cream);
  border: 1.5px solid var(--one-cream);
}
.one-btn--ghost:hover { background: var(--one-cream); color: var(--one-black); }

/* WhatsApp button — adapté à la DA brand (gold accent, garde icône WhatsApp visible) */
.one-btn--whatsapp {
  background: var(--one-gold);
  color: var(--one-black);
  box-shadow: var(--one-shadow-gold);
}
.one-btn--whatsapp:hover { background: #c19a2f; }
.one-btn--whatsapp svg { color: #128c5e; }

/* ============================================================
   Splash decorative bits (SVG decorations)
   ============================================================ */

.one-splash {
  position: absolute;
  pointer-events: none;
  opacity: 0.6;
  mix-blend-mode: screen;
  filter: blur(0.4px);
}

.one-divider-line {
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--one-gold), transparent);
  border: 0;
  margin: 0;
  width: 100%;
}

/* ============================================================
   Section padding utilities (multiples de 4 — Sense compliant)
   ============================================================ */

.one-section {
  position: relative;
  padding-top: 64px;
  padding-bottom: 64px;
  overflow: hidden;
}
@media (min-width: 750px) {
  .one-section { padding-top: 96px; padding-bottom: 96px; }
}

.one-wrap {
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
  padding-inline: 20px;
  position: relative;
  z-index: 2;
}
@media (min-width: 750px) {
  .one-wrap { padding-inline: 40px; }
}

/* ============================================================
   Animations
   ============================================================ */

@keyframes one-fade-up {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes one-mandala-spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@keyframes one-pulse-glow {
  0%, 100% { box-shadow: 0 0 0 0 var(--one-gold-soft); }
  50% { box-shadow: 0 0 24px 4px var(--one-gold-soft); }
}

.one-reveal {
  animation: one-fade-up 800ms var(--one-ease) both;
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  .one-reveal,
  .one-mandala-spin {
    animation: none !important;
  }
}
