/* ============================================================
   TOKENS DE DESIGN — SYSTÈME « TERRE & AMBRE » (adapté Maroc)
   ============================================================ */
:root{
  /* — Fonds & neutres — */
  --c-cream:#FBF6EC; --c-sand:#F6EDDA; --c-ivory:#FCF8F0; --c-white:#FFFFFF;
  /* — Encre & textes — */
  --c-ink:#1C1B19; --c-ink-80:#3B3833; --c-ink-soft:#57514A; --c-muted:#8C8479;
  /* — Accent doré — */
  --c-gold:#EDA13C; --c-gold-deep:#DB8A2A; --c-gold-soft:#F7D9A0; --c-gold-tint:#FBEBC9;
  /* — Accent secondaire : vert menthe / terre (touche marocaine sobre) — */
  --c-terra:#A64B2A; --c-terra-soft:#EBD5CB; --c-green:#3F6B4E; --c-green-tint:#E1EBE1;
  /* — Bordures — */
  --c-border:#ECE2CF; --c-border-strong:#DCCFB4;
  /* — Sur fond sombre — */
  --c-on-dark:#FCF8F0; --c-on-dark-mut:#A8A199; --c-on-dark-brd:rgba(255,255,255,.10);
  /* — Sémantique — */
  --c-success:#3F8A5F; --c-error:#C0553B;
  /* — Typographie — */
  --font-display:"Clash Display","Sora",system-ui,sans-serif;
  --font-serif:"Playfair Display",Georgia,serif;
  --font-body:"DM Sans",system-ui,-apple-system,sans-serif;
  --fs-display:clamp(2.75rem,5.5vw,4.5rem);
  --fs-h1:clamp(2.25rem,4vw,3rem);
  --fs-h2:clamp(1.875rem,3vw,2.25rem);
  --fs-h3:clamp(1.25rem,2vw,1.5rem);
  --fs-h4:1.25rem; --fs-body-lg:1.125rem; --fs-body:1rem; --fs-body-sm:.875rem;
  --fs-eyebrow:.8125rem; --fs-caption:.6875rem; --fs-btn:.9375rem;
  /* — Espacements — */
  --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px; --sp-5:20px; --sp-6:24px;
  --sp-8:32px; --sp-10:40px; --sp-12:48px; --sp-16:64px; --sp-20:80px; --sp-24:96px; --sp-32:128px;
  /* — Rayons — */
  --r-sm:8px; --r-md:14px; --r-lg:20px; --r-xl:28px; --r-2xl:36px; --r-pill:999px;
  /* — Ombres — */
  --sh-xs:0 1px 2px rgba(60,44,30,.05);
  --sh-sm:0 4px 12px -2px rgba(60,44,30,.08);
  --sh-md:0 12px 30px -10px rgba(60,44,30,.14);
  --sh-lg:0 22px 45px -14px rgba(60,44,30,.20);
  --sh-xl:0 30px 60px -16px rgba(60,44,30,.24);
  --sh-btn:0 8px 20px -6px rgba(28,27,25,.35);
  --sh-gold:0 10px 26px -8px rgba(237,161,60,.45);
  /* — Layout — */
  --container:1200px; --container-lg:1320px; --gutter:40px;
  /* — Transitions — */
  --ease:cubic-bezier(.22,.61,.36,1); --dur:.28s;
}

/* ============================================================
   BASE
   ============================================================ */
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;scroll-padding-top:108px;}
body{
  font-family:var(--font-body);font-size:var(--fs-body);line-height:1.7;
  color:var(--c-ink-soft);background:var(--c-cream);-webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3,h4{font-family:var(--font-display);color:var(--c-ink);line-height:1.1;font-weight:600;letter-spacing:-.02em;}
.serif{font-family:var(--font-serif);font-style:italic;color:var(--c-gold-deep);font-weight:500;letter-spacing:-.01em;}
a{color:var(--c-gold-deep);text-decoration:none;}
img{max-width:100%;display:block;}
.container{max-width:var(--container);margin:0 auto;padding:0 var(--gutter);}
.container-wide{max-width:1460px;} /* page boutique : plus large pour 3 produits par ligne */
.eyebrow{font-family:var(--font-body);font-size:var(--fs-eyebrow);text-transform:uppercase;
  letter-spacing:.14em;font-weight:600;color:var(--c-gold-deep);display:inline-flex;align-items:center;gap:10px;}
.eyebrow::before{content:"";width:26px;height:1.5px;background:var(--c-gold);display:inline-block;}
.section-head{max-width:64ch;margin:0 auto var(--sp-16);text-align:center;}
.section-head .eyebrow{justify-content:center;}
.section-head h2{font-size:var(--fs-h1);margin:16px 0 14px;}
.section-head p{font-size:var(--fs-body-lg);color:var(--c-ink-soft);}

/* Motif zellige subtil en fond */
.zellige-bg{position:relative;}
.zellige-bg::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.4;z-index:0;
  background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23DCCFB4' stroke-width='1' opacity='0.5'%3E%3Cpath d='M30 0l30 30-30 30L0 30z'/%3E%3Cpath d='M30 12l18 18-18 18-18-18z'/%3E%3C/g%3E%3C/svg%3E");
}
.zellige-bg>*{position:relative;z-index:1;}

/* ============================================================
   BOUTONS
   ============================================================ */
.btn{font-family:var(--font-body);font-size:var(--fs-btn);font-weight:500;letter-spacing:.01em;
  border:none;cursor:pointer;border-radius:var(--r-pill);display:inline-flex;align-items:center;
  gap:9px;transition:all var(--dur) var(--ease);text-decoration:none;line-height:1;}
.btn-primary{background:var(--c-ink);color:#fff;padding:16px 30px;}
.btn-primary:hover{background:#2E2C28;transform:translateY(-2px);box-shadow:var(--sh-btn);}
.btn-secondary{background:transparent;color:var(--c-ink);padding:14px 28px;border:1.5px solid var(--c-ink);}
.btn-secondary:hover{background:var(--c-ink);color:#fff;}
.btn-gold{background:var(--c-gold);color:#fff;padding:16px 30px;font-weight:600;}
.btn-gold:hover{background:var(--c-gold-deep);transform:translateY(-2px);box-shadow:var(--sh-gold);}
.btn-light{background:#fff;color:var(--c-ink);padding:16px 30px;}
.btn-light:hover{transform:translateY(-2px);box-shadow:var(--sh-lg);}
.btn-lg{padding:18px 38px;font-size:var(--fs-body);}
.btn-link{background:none;color:var(--c-ink);padding:6px 0;border-bottom:1.5px solid var(--c-ink);border-radius:0;font-weight:600;}
.btn-link:hover{color:var(--c-gold-deep);border-color:var(--c-gold-deep);}
.btn .arrow{transition:transform var(--dur) var(--ease);}
.btn:hover .arrow{transform:translateX(4px);}

.badge{display:inline-flex;align-items:center;font-family:var(--font-body);font-size:var(--fs-caption);
  font-weight:600;text-transform:uppercase;letter-spacing:.08em;padding:6px 14px;border-radius:var(--r-pill);}
.badge-light{background:#fff;color:var(--c-ink);box-shadow:var(--sh-xs);}
.badge-gold{background:var(--c-gold-tint);color:var(--c-gold-deep);}
.badge-dark{background:var(--c-ink);color:#fff;}

/* ============================================================
   HEADER / NAV
   ============================================================ */
.site-header{position:sticky;top:0;z-index:100;background:rgba(251,246,236,.82);
  backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease);}
.site-header.scrolled{border-color:var(--c-border);box-shadow:var(--sh-sm);}
.nav{display:flex;align-items:center;justify-content:space-between;height:88px;}
.brand{display:flex;align-items:center;gap:12px;font-family:var(--font-display);font-weight:600;
  font-size:1.25rem;color:var(--c-ink);letter-spacing:-.02em;}
.brand .mark{width:40px;height:40px;flex-shrink:0;}
/* Le logo remplit la hauteur du header sans l'agrandir (header = 88px) */
.brand-logo{height:74px;width:auto;display:block;max-width:100%;object-fit:contain;}
@media (max-width:560px){ .brand-logo{height:64px;} }
@media (max-width:400px){ .brand-logo{height:56px;} }
/* Footer : logo posé sur une pastille claire pour rester lisible sur fond sombre */
.brand-footer{display:inline-block;}
.brand-plate{display:inline-block;background:var(--c-ivory);border-radius:var(--r-md);
  padding:12px 18px;box-shadow:var(--sh-sm);transition:all var(--dur) var(--ease);}
.brand-footer:hover .brand-plate{background:#fff;transform:translateY(-2px);box-shadow:var(--sh-md);}
.brand-plate .brand-logo{height:52px;}
@media (max-width:560px){ .brand-plate .brand-logo{height:42px;} }
.brand small{display:block;font-family:var(--font-body);font-size:10px;font-weight:600;
  text-transform:uppercase;letter-spacing:.14em;color:var(--c-gold-deep);margin-top:-2px;}
.nav-links{display:flex;align-items:center;gap:4px;list-style:none;}
.nav-links a{font-family:var(--font-body);font-size:var(--fs-body-sm);font-weight:500;
  color:var(--c-ink-soft);padding:9px 15px;border-radius:var(--r-pill);transition:all var(--dur) var(--ease);}
.nav-links a:hover{background:var(--c-gold-tint);color:var(--c-ink);}
.nav-actions{display:flex;align-items:center;gap:12px;}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;width:44px;height:44px;
  align-items:center;justify-content:center;color:var(--c-ink);border-radius:var(--r-md);}
.nav-toggle:hover{background:var(--c-gold-tint);}

/* ============================================================
   HERO
   ============================================================ */
.hero{position:relative;padding:var(--sp-20) 0 var(--sp-24);overflow:hidden;
  background:linear-gradient(180deg,var(--c-sand) 0%,var(--c-cream) 60%);}
.hero::before{
  content:"";position:absolute;right:-160px;top:-120px;width:580px;height:580px;z-index:0;
  background:radial-gradient(circle,rgba(237,161,60,.30),transparent 66%);filter:blur(8px);
}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:var(--sp-16);align-items:center;position:relative;z-index:1;}
.hero-copy .eyebrow{margin-bottom:22px;}
.hero-copy h1{font-size:calc(var(--fs-display) - 5px);color:var(--c-ink);margin-bottom:22px;} /* H1 hero réduit de 5px */
.hero-copy h1 .h1-sub{display:block;font-size:.74em;font-weight:500;line-height:1.15;margin-top:.35em;color:var(--c-ink-80);} /* 2e ligne plus petite */
.hero-copy .lead{font-size:var(--fs-body-lg);color:var(--c-ink-soft);max-width:52ch;margin-bottom:var(--sp-8);}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-bottom:var(--sp-10);}
.hero-trust{display:flex;flex-wrap:wrap;gap:var(--sp-8);}
.hero-trust .item{display:flex;align-items:center;gap:10px;font-size:var(--fs-body-sm);color:var(--c-ink-soft);font-weight:500;}
.hero-trust .item svg{color:var(--c-gold-deep);flex-shrink:0;}

/* — Bandeau « on livre partout » + drapeaux — */
.hero-ship{margin-top:var(--sp-2);}
.ship-title{font-family:var(--font-display);font-weight:600;color:var(--c-ink);
  font-size:1.2rem;letter-spacing:-.02em;margin-bottom:22px;line-height:1.25;}
.ship-title span{color:var(--c-gold-deep);font-weight:500;}
.ship-flags-row{display:flex;align-items:center;gap:14px;width:90%;}
.ship-flags{display:block;flex:1;min-width:0;height:auto;border-radius:var(--r-sm);}
.ship-more{flex-shrink:0;display:flex;flex-direction:column;align-items:center;line-height:1;color:var(--c-gold-deep);}
.ship-more b{font-family:var(--font-display);font-weight:600;font-size:1.7rem;}
.ship-more small{font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--c-muted);margin-top:3px;}

/* Visuel hero : composition d'images + carte flottante */
.hero-visual{position:relative;}
.hero-frame{position:relative;border-radius:var(--r-2xl);overflow:hidden;box-shadow:var(--sh-lg);
  aspect-ratio:4/5;background:linear-gradient(150deg,#c9a878,#e6cba0);}
.hero-frame img{width:100%;height:100%;object-fit:cover;}
.hero-pattern{position:absolute;inset:0;opacity:.18;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg width='80' height='80' viewBox='0 0 80 80' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='1.5'%3E%3Cpath d='M40 0l40 40-40 40L0 40z'/%3E%3Ccircle cx='40' cy='40' r='16'/%3E%3C/g%3E%3C/svg%3E");}
.hero-float{position:absolute;left:-28px;bottom:40px;display:inline-flex;align-items:center;gap:14px;
  background:#fff;border-radius:var(--r-lg);padding:16px 20px;box-shadow:var(--sh-xl);}
.hero-float .fcm{width:48px;height:48px;border-radius:12px;flex-shrink:0;display:flex;align-items:center;
  justify-content:center;background:var(--c-gold-tint);color:var(--c-gold-deep);}
.hero-float .fct{font-family:var(--font-display);font-weight:600;color:var(--c-ink);font-size:var(--fs-body);line-height:1.2;}
.hero-float .fcs{font-size:var(--fs-caption);color:var(--c-muted);text-transform:uppercase;letter-spacing:.06em;margin-top:3px;}
.hero-float.top{left:auto;right:-24px;top:32px;bottom:auto;}

/* Bandeau logos / réassurance sous hero */
.marquee{border-top:1px solid var(--c-border);border-bottom:1px solid var(--c-border);
  background:var(--c-sand);overflow:hidden;padding:18px 0;}
.marquee-track{display:flex;gap:var(--sp-16);white-space:nowrap;width:max-content;animation:marquee 30s linear infinite;}
.marquee-item{display:inline-flex;align-items:center;gap:12px;font-family:var(--font-display);
  font-weight:600;color:var(--c-ink-80);font-size:1.05rem;letter-spacing:-.01em;}
.marquee-item svg{color:var(--c-gold-deep);}
@keyframes marquee{to{transform:translateX(-50%);}}
.marquee:hover .marquee-track{animation-play-state:paused;}

/* ============================================================
   ÉTAPES / COMMENT ÇA MARCHE
   ============================================================ */
.section{padding:var(--sp-24) 0;}
.section.alt{background:var(--c-sand);}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-8);}
.step{background:var(--c-white);border-radius:var(--r-lg);padding:var(--sp-8);position:relative;
  border:1px solid rgba(236,226,207,.7);box-shadow:var(--sh-md);transition:all var(--dur) var(--ease);}
.step:hover{transform:translateY(-6px);box-shadow:var(--sh-lg);}
.step .num{font-family:var(--font-display);font-weight:600;font-size:1.1rem;width:44px;height:44px;
  border-radius:12px;background:var(--c-gold);color:#fff;display:flex;align-items:center;justify-content:center;margin-bottom:20px;}
.step h3{font-size:var(--fs-h3);margin-bottom:8px;}
.step p{font-size:var(--fs-body-sm);color:var(--c-muted);margin:0;}
.step .connector{position:absolute;top:42px;right:-20px;color:var(--c-border-strong);z-index:2;}

/* ============================================================
   CATÉGORIES
   ============================================================ */
.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-6);}
.cat-card{position:relative;border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh-md);
  border:1px solid rgba(236,226,207,.6);background:var(--c-white);transition:all var(--dur) var(--ease);
  min-height:260px;display:flex;flex-direction:column;justify-content:flex-end;isolation:isolate;text-decoration:none;}
.cat-card:hover{transform:translateY(-6px);box-shadow:var(--sh-lg);}
.cat-media{position:absolute;inset:0;z-index:-1;}
.cat-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease);}
.cat-card:hover .cat-media img{transform:scale(1.06);}
.cat-media::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(28,27,25,0) 45%,rgba(28,27,25,.32) 68%,rgba(28,27,25,.8) 88%,rgba(28,27,25,.94) 100%);}
.cat-body{position:relative;padding:24px 24px 12px;color:var(--c-on-dark);}
.cat-body .idx{font-family:var(--font-body);font-size:var(--fs-caption);font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:var(--c-gold);}
.cat-body h3{color:#fff;font-size:var(--fs-h3);margin:6px 0 4px;}
.cat-body p{font-size:var(--fs-body-sm);color:var(--c-on-dark-mut);margin:0;}
.cat-body .go{display:inline-flex;align-items:center;gap:7px;font-weight:600;
  font-size:var(--fs-body-sm);color:#fff;background:var(--c-gold);border-radius:var(--r-pill);
  box-shadow:var(--sh-gold);max-height:0;margin-top:0;padding:0 16px;opacity:0;overflow:hidden;
  transition:all var(--dur) var(--ease);}
.cat-card:hover .go{max-height:44px;margin-top:14px;padding:9px 16px;opacity:1;}
.cat-body .go svg{color:#fff;}
/* Sur mobile il n'y a pas de survol : le bouton reste affiché */
@media (hover:none),(max-width:900px){
  .cat-body .go{max-height:44px;margin-top:14px;padding:9px 16px;opacity:1;}
}

/* ============================================================
   ATOUTS / POURQUOI NOUS
   ============================================================ */
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-6);}
.feature-card{background:var(--c-white);border-radius:var(--r-lg);padding:32px;box-shadow:var(--sh-md);
  border:1px solid rgba(236,226,207,.6);transition:all var(--dur) var(--ease);}
.feature-card:hover{transform:translateY(-6px);box-shadow:var(--sh-lg);}
.feature-card .fc-icon{width:56px;height:56px;border-radius:14px;background:var(--c-gold-tint);
  display:flex;align-items:center;justify-content:center;color:var(--c-gold-deep);margin-bottom:20px;}
.feature-card h3{font-size:var(--fs-h3);margin-bottom:8px;}
.feature-card p{font-size:var(--fs-body-sm);color:var(--c-muted);margin:0;}

/* Bloc « à propos / expédition » split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-16);align-items:center;}
.split-visual{position:relative;border-radius:var(--r-2xl);overflow:hidden;box-shadow:var(--sh-lg);aspect-ratio:1/1;
  background:linear-gradient(150deg,#3a2e24,#5a4632);}
.split-visual img{width:100%;height:100%;object-fit:cover;}
.split-copy h2{font-size:var(--fs-h1);margin:16px 0 18px;}
.split-copy p{margin-bottom:16px;}
.check-list{list-style:none;margin:24px 0 32px;padding:0;}
.check-list li{position:relative;padding-left:34px;margin-bottom:14px;font-weight:500;color:var(--c-ink-80);}
.check-list li svg{position:absolute;left:0;top:2px;color:var(--c-gold-deep);}

/* Stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-8);margin-top:var(--sp-12);}
.stat{text-align:center;}
.stat .n{font-family:var(--font-display);font-weight:600;font-size:clamp(2rem,3.5vw,2.75rem);color:var(--c-ink);letter-spacing:-.02em;}
.stat .n .serif{font-size:1em;}
.stat .l{font-size:var(--fs-body-sm);color:var(--c-muted);text-transform:uppercase;letter-spacing:.08em;font-weight:600;margin-top:4px;}

/* ============================================================
   TÉMOIGNAGES
   ============================================================ */
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-6);}
.testi{background:var(--c-white);border-radius:var(--r-lg);padding:32px;box-shadow:var(--sh-md);
  border:1px solid rgba(236,226,207,.6);display:flex;flex-direction:column;gap:18px;}
.testi .stars{display:flex;gap:3px;color:var(--c-gold);}
.testi blockquote{font-size:var(--fs-body);color:var(--c-ink-80);line-height:1.65;flex:1;}
.testi .who{display:flex;align-items:center;gap:12px;}
.testi .who .av{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#c9a878,#e6cba0);
  display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:600;color:#fff;}
.testi .who .nm{font-weight:600;color:var(--c-ink);font-size:var(--fs-body-sm);}
.testi .who .loc{font-size:var(--fs-caption);color:var(--c-muted);text-transform:uppercase;letter-spacing:.06em;}

/* ============================================================
   TIKTOK
   ============================================================ */
.tiktok-card{display:grid;grid-template-columns:1.3fr .7fr;gap:var(--sp-16);align-items:center;
  background:var(--c-white);border:1px solid rgba(236,226,207,.7);border-radius:var(--r-2xl);
  padding:var(--sp-16);box-shadow:var(--sh-md);}
.tiktok-left .eyebrow{margin-bottom:16px;}
.tiktok-left h2{font-size:var(--fs-h1);margin-bottom:14px;}
.tiktok-left p{max-width:52ch;margin-bottom:var(--sp-8);}
.tiktok-handle{display:block;margin-top:16px;font-size:var(--fs-body-sm);color:var(--c-muted);}
.tiktok-visual{position:relative;width:100%;height:0;padding-bottom:177.78%; /* ratio 9:16 fiable partout */
  border-radius:var(--r-xl);overflow:hidden;background:#1C1B19;box-shadow:var(--sh-lg);}
.tiktok-visual iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;}
@media (max-width:820px){
  .tiktok-card{grid-template-columns:1fr;gap:var(--sp-10);padding:var(--sp-10);}
  .tiktok-visual{max-width:360px;margin:0 auto;order:-1;}
}

/* ============================================================
   CTA / NEWSLETTER (bloc sombre)
   ============================================================ */
.cta-block{background:linear-gradient(150deg,#241d16 0%,#372a1d 55%,#4a3722 100%);
  border-radius:var(--r-2xl);padding:var(--sp-20) var(--sp-16);position:relative;overflow:hidden;text-align:center;color:var(--c-on-dark);}
.cta-block::after{content:"";position:absolute;left:-100px;bottom:-120px;width:400px;height:400px;
  background:radial-gradient(circle,rgba(237,161,60,.4),transparent 68%);filter:blur(10px);}
.cta-block .pattern{position:absolute;inset:0;opacity:.06;
  background-image:url("data:image/svg+xml,%3Csvg width='80' height='80' viewBox='0 0 80 80' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23EDA13C' stroke-width='1.5'%3E%3Cpath d='M40 0l40 40-40 40L0 40z'/%3E%3Ccircle cx='40' cy='40' r='16'/%3E%3C/g%3E%3C/svg%3E");}
.cta-block>*{position:relative;z-index:1;}
.cta-block .eyebrow{color:var(--c-gold);justify-content:center;}
.cta-block .eyebrow::before{background:var(--c-gold);}
.cta-block h2{color:#fff;font-size:var(--fs-h1);margin:16px auto 16px;max-width:20ch;}
.cta-block p{color:var(--c-on-dark-mut);font-size:var(--fs-body-lg);max-width:56ch;margin:0 auto var(--sp-10);}
.newsletter{display:flex;gap:8px;background:#fff;border:1.5px solid transparent;border-radius:var(--r-pill);
  padding:6px 6px 6px 22px;max-width:460px;margin:0 auto;align-items:center;}
.newsletter input{border:none;outline:none;flex:1;height:48px;font-family:var(--font-body);
  font-size:var(--fs-btn);background:none;color:var(--c-ink);}
.newsletter input::placeholder{color:var(--c-muted);}
.newsletter button{flex-shrink:0;}
.cta-note{font-size:var(--fs-caption);color:var(--c-on-dark-mut);text-transform:uppercase;letter-spacing:.08em;margin-top:16px;}

/* WhatsApp flottant */
.wa-float{position:fixed;right:24px;bottom:24px;z-index:90;width:60px;height:60px;border-radius:50%;
  background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:var(--sh-lg);
  transition:all var(--dur) var(--ease);}
.wa-float:hover{transform:scale(1.08) translateY(-2px);box-shadow:var(--sh-xl);}

/* ============================================================
   FOOTER
   ============================================================ */
.footer{background:var(--c-ink);color:var(--c-on-dark-mut);padding:var(--sp-24) 0 var(--sp-10);}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:var(--sp-12);margin-bottom:var(--sp-16);}
.footer .brand{color:#fff;margin-bottom:18px;}
.footer .brand small{color:var(--c-gold);}
.footer-about p{color:var(--c-on-dark-mut);font-size:var(--fs-body-sm);max-width:34ch;margin-bottom:20px;}
.socials{display:flex;gap:10px;}
.socials a{width:40px;height:40px;border-radius:12px;border:1px solid var(--c-on-dark-brd);
  display:flex;align-items:center;justify-content:center;color:var(--c-on-dark-mut);transition:all var(--dur) var(--ease);}
.socials a:hover{background:var(--c-gold);color:var(--c-ink);border-color:transparent;transform:translateY(-2px);}
.footer h4{color:#fff;font-size:var(--fs-body);margin-bottom:18px;font-family:var(--font-display);}
.footer ul{list-style:none;}
.footer ul li{margin-bottom:11px;}
.footer ul a{color:rgba(255,255,255,.82);font-size:var(--fs-body-sm);transition:color var(--dur) var(--ease);}
.footer ul a:hover{color:var(--c-gold);}

/* — Bloc WhatsApp mis en avant (footer) — */
.foot-wa{display:flex;align-items:center;gap:12px;background:rgba(37,211,102,.12);
  border:1px solid rgba(37,211,102,.35);border-radius:var(--r-md);padding:12px 14px;margin-bottom:14px;
  text-decoration:none;transition:all var(--dur) var(--ease);}
.foot-wa:hover{background:rgba(37,211,102,.2);border-color:rgba(37,211,102,.6);transform:translateY(-2px);}
.foot-wa-ic{width:40px;height:40px;flex-shrink:0;border-radius:11px;background:#25D366;color:#fff;
  display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px -6px rgba(37,211,102,.7);}
.foot-wa-tx{display:flex;flex-direction:column;line-height:1.25;}
.foot-wa-tx small{font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:.06em;color:rgba(255,255,255,.6);}
.foot-wa-tx strong{font-family:var(--font-display);font-weight:600;color:#fff;font-size:var(--fs-body);}
/* — Badge localisation Maroc (footer) — */
.foot-loc{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-body-sm);
  color:rgba(255,255,255,.82);background:var(--c-on-dark-brd);border:1px solid var(--c-on-dark-brd);
  padding:8px 14px;border-radius:var(--r-pill);}
.foot-loc svg{color:var(--c-gold);flex-shrink:0;}
.foot-loc strong{color:#fff;font-weight:600;}
.foot-loc .flag{font-size:1.05em;}
.footer-bottom{border-top:1px solid var(--c-on-dark-brd);padding-top:var(--sp-8);
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;
  font-size:var(--fs-body-sm);color:var(--c-on-dark-mut);}
.footer-bottom .made{display:inline-flex;align-items:center;gap:6px;}
.footer-bottom .made .ecomdev{color:var(--c-gold);text-decoration:underline;text-underline-offset:3px;font-weight:600;transition:color var(--dur) var(--ease);}
.footer-bottom .made .ecomdev:hover{color:var(--c-gold-deep);}

/* ============================================================
   E-COMMERCE — NAVIGATION (dropdown, devise, panier)
   ============================================================ */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

.nav-links .has-drop{position:relative;}
.drop-trigger{display:inline-flex;align-items:center;gap:6px;}
.drop-trigger svg{transition:transform var(--dur) var(--ease);}
.has-drop:hover .drop-trigger svg,.has-drop:focus-within .drop-trigger svg{transform:rotate(180deg);}
.drop-menu{position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%) translateY(10px);
  min-width:300px;background:var(--c-white);border:1px solid var(--c-border);border-radius:var(--r-lg);
  box-shadow:var(--sh-lg);padding:16px;opacity:0;visibility:hidden;transition:all var(--dur) var(--ease);z-index:60;}
.drop-menu::before{content:"";position:absolute;top:-16px;left:0;right:0;height:16px;}
.has-drop:hover .drop-menu,.has-drop:focus-within .drop-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
.drop-title{display:block;font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:.12em;
  font-weight:700;color:var(--c-muted);padding:2px 10px 10px;}
.nav-cat-list{list-style:none;}
.nav-cat-list a{display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:9px 10px;border-radius:var(--r-sm);font-size:var(--fs-body-sm);font-weight:500;
  color:var(--c-ink-soft);transition:all var(--dur) var(--ease);}
.nav-cat-list a:hover{background:var(--c-gold-tint);color:var(--c-ink);}
.nav-cat-list .n{font-size:var(--fs-caption);font-weight:700;color:var(--c-gold-deep);
  background:var(--c-gold-tint);padding:2px 8px;border-radius:var(--r-pill);}
.nav-cat-list .n.soon{color:var(--c-muted);background:var(--c-sand);text-transform:uppercase;letter-spacing:.06em;}
.drop-all{display:block;margin-top:8px;padding:11px 10px 3px;border-top:1px solid var(--c-border);
  font-size:var(--fs-body-sm);font-weight:600;color:var(--c-gold-deep);}

.currency-select,.sort-select{font-family:var(--font-body);font-size:var(--fs-body-sm);font-weight:500;
  color:var(--c-ink);background:var(--c-white);border:1.5px solid var(--c-border-strong);
  border-radius:var(--r-pill);padding:9px 14px;cursor:pointer;transition:all var(--dur) var(--ease);}
.currency-select:hover,.sort-select:hover{border-color:var(--c-gold);}

.cart-btn{position:relative;width:46px;height:46px;border-radius:50%;border:1.5px solid transparent;
  background:var(--c-gold);color:#fff;display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:all var(--dur) var(--ease);box-shadow:var(--sh-gold);}
.cart-btn:hover{background:var(--c-gold-deep);transform:translateY(-2px);}
.cart-count{position:absolute;top:-4px;right:-4px;min-width:22px;height:22px;border-radius:var(--r-pill);
  background:var(--c-ink);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;
  justify-content:center;padding:0 6px;border:2px solid var(--c-cream);}
.cart-count.hidden{display:none;}
.cart-btn.bump{animation:cartBump .55s var(--ease);}
@keyframes cartBump{0%{transform:scale(1);}30%{transform:scale(1.22) rotate(-8deg);}60%{transform:scale(.94);}100%{transform:scale(1);}}

/* ============================================================
   E-COMMERCE — EN-TÊTE BOUTIQUE
   ============================================================ */
.shop-head{padding:var(--sp-12) 0 var(--sp-10);background:linear-gradient(180deg,var(--c-sand),var(--c-cream));
  border-bottom:1px solid var(--c-border);}
.breadcrumb{font-size:var(--fs-body-sm);color:var(--c-muted);margin-bottom:18px;}
.breadcrumb a{color:var(--c-ink-soft);}
.breadcrumb a:hover{color:var(--c-gold-deep);}
.breadcrumb span{margin:0 6px;}
.breadcrumb strong{color:var(--c-ink);font-weight:600;}
.shop-head h1{font-size:var(--fs-h1);margin:14px 0 12px;}
.shop-head .lead{font-size:var(--fs-body-lg);max-width:64ch;}
/* En-tête boutique : titre + carte d'information */
.shop-head-grid{display:grid;grid-template-columns:1fr 340px;gap:var(--sp-12);align-items:center;}
.shop-info-card{position:relative;background:var(--c-white);border:1px solid var(--c-gold-soft);
  border-top:4px solid var(--c-gold);border-radius:var(--r-lg);padding:26px 24px 24px;
  box-shadow:var(--sh-md);}
.sic-ic{position:absolute;top:-21px;left:24px;width:42px;height:42px;border-radius:50%;
  background:var(--c-gold);color:#fff;display:flex;align-items:center;justify-content:center;
  box-shadow:0 0 0 4px var(--c-white),var(--sh-sm);}
.sic-label{display:block;font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:.12em;
  font-weight:700;color:var(--c-gold-deep);margin:12px 0 10px;}
.sic-min{display:flex;flex-direction:column;font-size:var(--fs-body-sm);color:var(--c-ink-soft);
  margin-bottom:14px;padding-bottom:14px;border-bottom:1px dashed var(--c-border-strong);}
.sic-min strong{font-family:var(--font-display);font-size:1.6rem;color:var(--c-ink);
  letter-spacing:-.02em;line-height:1.2;margin-top:2px;}
.sic-com{font-size:var(--fs-body-sm);color:var(--c-ink-soft);line-height:1.55;margin:0;}
.sic-com strong{color:var(--c-ink);font-weight:700;}
@media (max-width:980px){
  .shop-head-grid{grid-template-columns:1fr;gap:var(--sp-8);}
  .shop-info-card{max-width:520px;}
}
/* Sur mobile on masque le chapô : le minimum de commande remonte et se voit mieux */
@media (max-width:768px){
  .shop-head .lead{display:none;}
  .shop-head h1{margin-bottom:0;}
}

/* ============================================================
   E-COMMERCE — LAYOUT BOUTIQUE
   ============================================================ */
.shop{padding:var(--sp-12) 0 var(--sp-24);}
.shop-layout{display:grid;grid-template-columns:270px 1fr;gap:var(--sp-10);align-items:start;}

.filters{position:sticky;top:112px;background:var(--c-white);border:1px solid var(--c-border);
  border-radius:var(--r-lg);padding:var(--sp-6);box-shadow:var(--sh-sm);
  /* La colonne peut être plus haute que l'écran : on la rend défilable en interne */
  max-height:calc(100vh - 132px);overflow-y:auto;overscroll-behavior:contain;}
/* Barre de défilement discrète pour la sidebar */
.filters{scrollbar-width:thin;scrollbar-color:var(--c-border-strong) transparent;}
.filters::-webkit-scrollbar{width:8px;}
.filters::-webkit-scrollbar-thumb{background:var(--c-border-strong);border-radius:var(--r-pill);
  border:2px solid var(--c-white);}
.filters::-webkit-scrollbar-track{background:transparent;}
.f-block{margin-bottom:var(--sp-6);}
.f-block:last-child{margin-bottom:0;}
.f-label{display:block;font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:.12em;
  font-weight:700;color:var(--c-muted);margin-bottom:12px;}
.f-search{position:relative;}
.f-search svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--c-muted);}
.f-search input{width:100%;height:46px;border:1.5px solid var(--c-border-strong);border-radius:var(--r-pill);
  background:var(--c-ivory);padding:0 16px 0 42px;font-family:var(--font-body);font-size:var(--fs-body-sm);color:var(--c-ink);}
.f-search input:focus{outline:none;border-color:var(--c-gold);box-shadow:0 0 0 4px rgba(237,161,60,.15);background:#fff;}
.f-list{display:flex;flex-direction:column;gap:4px;}
.f-list.f-inline{flex-direction:row;flex-wrap:wrap;gap:8px;}
.f-btn{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;
  font-family:var(--font-body);font-size:var(--fs-body-sm);font-weight:500;color:var(--c-ink-soft);
  background:none;border:none;border-radius:var(--r-sm);padding:9px 12px;cursor:pointer;text-align:left;
  transition:all var(--dur) var(--ease);}
.f-inline .f-btn{width:auto;border:1.5px solid var(--c-border-strong);border-radius:var(--r-pill);padding:7px 15px;}
.f-btn:hover{background:var(--c-gold-tint);color:var(--c-ink);}
.f-btn.active{background:var(--c-ink);color:#fff;}
.f-btn.active em{background:rgba(255,255,255,.16);color:#fff;}
.f-inline .f-btn.active{border-color:transparent;}
.f-btn em{font-style:normal;font-size:var(--fs-caption);font-weight:700;color:var(--c-gold-deep);
  background:var(--c-gold-tint);padding:2px 8px;border-radius:var(--r-pill);}
.f-btn.soon{opacity:.5;cursor:not-allowed;}
.f-btn.soon em{color:var(--c-muted);background:var(--c-sand);text-transform:uppercase;letter-spacing:.05em;}
.f-btn.soon:hover{background:none;}
.f-help{display:flex;gap:12px;background:var(--c-gold-tint);border-radius:var(--r-md);padding:16px;}
.f-help svg{color:var(--c-gold-deep);flex-shrink:0;}
.f-help strong{display:block;font-family:var(--font-display);color:var(--c-ink);font-size:var(--fs-body);margin-bottom:4px;}
.f-help p{font-size:var(--fs-body-sm);color:var(--c-ink-soft);margin-bottom:8px;}
.f-help .btn-link{font-size:var(--fs-body-sm);}

.shop-toolbar{display:flex;align-items:center;gap:16px;margin-bottom:18px;flex-wrap:wrap;}
.result-count{font-size:var(--fs-body-sm);color:var(--c-muted);font-weight:500;}
.toolbar-right{margin-left:auto;display:flex;align-items:center;gap:10px;}
.cur-label{font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:.12em;
  font-weight:700;color:var(--c-muted);}
.f-sort{width:100%;text-align:left;}
.f-toggle{display:none;}
/* Accès rapide mobile : recherche + catégories (masqué sur ordinateur) */
.mobile-filters{display:none;}
.cat-select{width:100%;font-family:var(--font-body);font-size:var(--fs-body-sm);font-weight:500;
  color:var(--c-ink);background:var(--c-white);border:1.5px solid var(--c-border-strong);
  border-radius:var(--r-pill);padding:13px 18px;cursor:pointer;transition:all var(--dur) var(--ease);}
.cat-select:hover{border-color:var(--c-gold);}
.cat-select:focus{outline:none;border-color:var(--c-gold);box-shadow:0 0 0 4px rgba(237,161,60,.15);}
@media (max-width:900px){
  .mobile-filters{display:grid;gap:10px;margin-bottom:16px;}
  /* Catégorie + devise sur la même ligne */
  .mf-row{display:grid;grid-template-columns:1fr auto;gap:10px;}
  .mf-row .currency-select{padding:13px 16px;}
  /* La devise du haut et le bouton « Filtres » ne servent plus sur mobile */
  .shop-toolbar .toolbar-right{display:none;}
  .shop-toolbar{margin-bottom:14px;}
}

/* Barre de sous-catégories (ex. formats d'huiles, types de poudres) */
.subcat-bar{display:none;}
.subcat-bar.show{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px;
  padding-bottom:18px;border-bottom:1px solid var(--c-border);}
.sub-btn{font-family:var(--font-body);font-size:var(--fs-body-sm);font-weight:600;color:var(--c-ink-soft);
  background:var(--c-white);border:1.5px solid var(--c-border-strong);border-radius:var(--r-pill);
  padding:8px 18px;cursor:pointer;transition:all var(--dur) var(--ease);}
.sub-btn:hover{border-color:var(--c-gold);color:var(--c-ink);}
.sub-btn.active{background:var(--c-gold);border-color:transparent;color:#fff;box-shadow:var(--sh-gold);}

.active-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px;}
.active-filters:empty{margin-bottom:0;}
.chip{font-family:var(--font-body);font-size:var(--fs-body-sm);font-weight:500;color:var(--c-ink);
  background:var(--c-gold-tint);border:1px solid var(--c-gold-soft);border-radius:var(--r-pill);
  padding:7px 14px;cursor:pointer;transition:all var(--dur) var(--ease);}
.chip:hover{background:var(--c-gold-soft);}
.chip-reset{background:none;border-color:var(--c-border-strong);color:var(--c-muted);}
.chip-reset:hover{background:var(--c-sand);color:var(--c-ink);}

/* ============================================================
   E-COMMERCE — CARTE PRODUIT
   ============================================================ */
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-6);}
.p-card{background:var(--c-white);border:1px solid rgba(236,226,207,.7);border-radius:var(--r-lg);
  overflow:hidden;box-shadow:var(--sh-md);display:flex;flex-direction:column;
  transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),opacity .5s var(--ease);}
.p-card:hover{transform:translateY(-6px);box-shadow:var(--sh-lg);}
.p-media{position:relative;aspect-ratio:1/1;overflow:hidden;background:var(--c-sand);cursor:pointer;}
.p-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease);}
.p-card:hover .p-media img{transform:scale(1.06);}
.p-tag{position:absolute;top:12px;left:12px;font-size:var(--fs-caption);font-weight:600;
  text-transform:uppercase;letter-spacing:.08em;background:rgba(255,255,255,.94);color:var(--c-ink);
  padding:5px 11px;border-radius:var(--r-pill);box-shadow:var(--sh-xs);}
.p-quick{position:absolute;left:12px;right:12px;bottom:12px;font-family:var(--font-body);
  font-size:var(--fs-body-sm);font-weight:600;color:var(--c-ink);background:rgba(255,255,255,.95);
  border:none;border-radius:var(--r-pill);padding:10px;cursor:pointer;opacity:0;transform:translateY(10px);
  transition:all var(--dur) var(--ease);backdrop-filter:blur(6px);}
.p-card:hover .p-quick{opacity:1;transform:translateY(0);}
.p-quick:hover{background:var(--c-ink);color:#fff;}
.p-body{padding:20px;display:flex;flex-direction:column;flex:1;}
.p-body h3{font-family:var(--font-body);font-weight:700;font-size:1.05rem;
  letter-spacing:0;line-height:1.4;margin-bottom:7px;}
.p-desc{font-size:var(--fs-body-sm);color:var(--c-muted);margin-bottom:14px;flex:1;
  display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.p-price{margin-bottom:14px;display:flex;align-items:baseline;gap:6px;}
.p-price strong{font-family:var(--font-display);font-size:1.2rem;color:var(--c-ink);letter-spacing:-.02em;}
.p-price .per{font-size:var(--fs-body-sm);color:var(--c-muted);font-weight:500;}
/* État « prix à venir » (fruits secs en attente de tarif) */
.p-soon-tag{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-body);
  font-size:var(--fs-body-sm);font-weight:600;color:var(--c-gold-deep);
  background:var(--c-gold-tint);padding:6px 14px;border-radius:var(--r-pill);}
.p-soon-tag::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--c-gold);}
.p-ask-btn{flex:1;justify-content:center;padding:11px 14px;font-size:var(--fs-body-sm);}
.pm-price-soon{margin-bottom:16px;}
.pm-ask-btn{width:100%;justify-content:center;}
.p-actions{display:flex;gap:16px;align-items:stretch;}
.p-add{flex:1;justify-content:center;padding:11px 18px;font-size:var(--fs-body-sm);}
.p-min{display:block;margin-top:10px;font-size:var(--fs-caption);color:var(--c-muted);
  text-transform:uppercase;letter-spacing:.06em;}

/* — Champ quantité (kg) — */
.qty-field{display:flex;align-items:center;gap:2px;background:var(--c-ivory);
  border:1.5px solid var(--c-border-strong);border-radius:var(--r-pill);padding:4px;
  flex:0 0 auto;width:132px;}
.qty-field:focus-within{border-color:var(--c-gold);box-shadow:0 0 0 4px rgba(237,161,60,.15);}
.qty-field button{width:30px;height:30px;flex-shrink:0;border:none;background:var(--c-gold-tint);
  color:var(--c-gold-deep);border-radius:50%;cursor:pointer;font-size:16px;font-weight:700;line-height:1;
  display:flex;align-items:center;justify-content:center;transition:all var(--dur) var(--ease);box-shadow:var(--sh-xs);}
.qty-field button:hover{background:var(--c-gold);color:#fff;transform:scale(1.06);}
.qty-input{flex:1;min-width:0;width:100%;border:none;background:none;outline:none;text-align:right;
  font-family:var(--font-display);font-size:var(--fs-body);font-weight:600;color:var(--c-ink);padding:0 2px;
  -moz-appearance:textfield;appearance:textfield;}
.qty-input::-webkit-outer-spin-button,.qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.qty-unit{font-size:var(--fs-body-sm);font-weight:600;color:var(--c-muted);padding-right:6px;}
.qty-field-lg{padding:6px;flex:0 0 auto;min-width:158px;}
.qty-field-lg button{width:38px;height:38px;font-size:19px;}
.qty-field-lg .qty-input{font-size:1.15rem;}

/* Prix dans la fiche produit */
.pm-price{display:flex;align-items:baseline;gap:8px;margin-bottom:16px;}
.pm-price strong{font-family:var(--font-display);font-size:1.55rem;color:var(--c-ink);letter-spacing:-.02em;}
.pm-price span{font-size:var(--fs-body);color:var(--c-muted);font-weight:500;}
.p-empty{grid-column:1/-1;text-align:center;padding:var(--sp-20) var(--sp-6);color:var(--c-muted);}
.p-empty svg{color:var(--c-border-strong);margin-bottom:16px;}
.p-empty h3{margin-bottom:8px;}
.p-empty p{margin-bottom:20px;}

/* ============================================================
   E-COMMERCE — PANIER (tiroir)
   ============================================================ */
.overlay{position:fixed;inset:0;background:rgba(28,27,25,.45);backdrop-filter:blur(3px);
  opacity:0;visibility:hidden;transition:all var(--dur) var(--ease);z-index:110;}
.overlay.show{opacity:1;visibility:visible;}
/* Voile renforcé pendant la finalisation de commande */
.overlay.deep{background:rgba(18,16,13,.74);backdrop-filter:blur(9px);z-index:130;}
.cart-drawer{position:fixed;top:0;right:0;bottom:0;width:min(420px,100%);background:var(--c-cream);
  z-index:120;display:flex;flex-direction:column;transform:translateX(105%);
  transition:transform .38s var(--ease);box-shadow:var(--sh-xl);}
.cart-drawer.open{transform:translateX(0);}
.cart-head{display:flex;align-items:center;justify-content:space-between;padding:22px var(--sp-6);
  border-bottom:1px solid var(--c-border);background:var(--c-white);}
.cart-head h3{font-size:var(--fs-h3);}
.cart-close{width:40px;height:40px;border-radius:50%;border:none;background:var(--c-sand);color:var(--c-ink);
  display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--dur) var(--ease);}
.cart-close:hover{background:var(--c-ink);color:#fff;}
.cart-items{flex:1;overflow-y:auto;padding:var(--sp-5) var(--sp-6);display:flex;flex-direction:column;gap:12px;}
.cart-item{display:flex;gap:12px;background:var(--c-white);border:1px solid var(--c-border);
  border-radius:var(--r-md);padding:12px;animation:slideIn .35s var(--ease);}
@keyframes slideIn{from{opacity:0;transform:translateX(20px);}to{opacity:1;transform:none;}}
.cart-item img{width:64px;height:64px;border-radius:var(--r-sm);object-fit:cover;flex-shrink:0;}
.ci-info{flex:1;min-width:0;}
.ci-info h4{font-size:var(--fs-body-sm);font-family:var(--font-body);font-weight:700;
  letter-spacing:0;margin-bottom:3px;line-height:1.4;}
.ci-var{display:block;font-size:var(--fs-caption);color:var(--c-muted);text-transform:uppercase;letter-spacing:.06em;}
.ci-price{display:block;font-weight:700;color:var(--c-gold-deep);font-size:var(--fs-body-sm);margin-top:4px;}
.ci-side{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:8px;}
.ci-del{background:none;border:none;color:var(--c-muted);cursor:pointer;padding:2px;transition:color var(--dur) var(--ease);}
.ci-del:hover{color:var(--c-error);}
.qty{display:flex;align-items:center;gap:2px;background:var(--c-sand);border-radius:var(--r-pill);padding:3px;}
.qty button{width:26px;height:26px;border:none;background:var(--c-white);color:var(--c-ink);border-radius:50%;
  cursor:pointer;font-size:15px;font-weight:700;line-height:1;display:flex;align-items:center;justify-content:center;
  transition:all var(--dur) var(--ease);}
.qty button:hover{background:var(--c-gold);color:#fff;}
.qty span{min-width:26px;padding:0 10px;text-align:center;font-weight:700;font-size:var(--fs-body-sm);color:var(--c-ink);}
.qty-lg{padding:5px;}
.qty-lg button{width:36px;height:36px;font-size:18px;}
.qty-lg span{min-width:36px;font-size:var(--fs-body);}
.cart-empty{text-align:center;padding:var(--sp-16) var(--sp-4);color:var(--c-muted);}
.cart-empty svg{color:var(--c-border-strong);margin-bottom:14px;}
.cart-empty p{font-family:var(--font-display);font-size:var(--fs-h4);color:var(--c-ink);margin-bottom:6px;}
.cart-empty span{font-size:var(--fs-body-sm);}
.cart-foot{padding:var(--sp-6);border-top:1px solid var(--c-border);background:var(--c-white);}
/* Alerte minimum de commande */
.cart-min{display:none;}
.cart-min.show{display:flex;align-items:center;gap:14px;
  background:linear-gradient(135deg,#FDF0D2,var(--c-gold-tint));
  border:1px solid var(--c-gold-soft);border-left:4px solid var(--c-gold);border-radius:var(--r-md);
  padding:14px 16px;margin-bottom:14px;font-size:var(--fs-body-sm);color:var(--c-ink-soft);line-height:1.5;}
.cart-min-ic{flex-shrink:0;width:38px;height:38px;border-radius:50%;background:var(--c-gold);color:#fff;
  display:flex;align-items:center;justify-content:center;animation:alertPulse 2.2s ease-in-out infinite;}
.cart-min strong{color:var(--c-gold-deep);font-weight:700;}
@keyframes alertPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(237,161,60,.55);}
  50%{box-shadow:0 0 0 10px rgba(237,161,60,0);}
}
@media (prefers-reduced-motion:reduce){ .cart-min-ic{animation:none;box-shadow:0 0 0 4px rgba(237,161,60,.3);} }

/* Détail sous-total + commission d'achat */
.cart-lines{display:flex;flex-direction:column;gap:8px;padding-bottom:12px;margin-bottom:10px;
  border-bottom:1px dashed var(--c-border-strong);}
.cart-line{display:flex;justify-content:space-between;align-items:center;gap:12px;
  font-size:var(--fs-body-sm);color:var(--c-ink-soft);}
.cart-line span:last-child{font-weight:600;color:var(--c-ink);white-space:nowrap;}
.cart-line em{display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;
  border-radius:50%;background:var(--c-gold);color:#fff;font-style:normal;
  font-size:11px;font-weight:700;cursor:help;margin-left:6px;vertical-align:middle;
  box-shadow:0 0 0 3px rgba(237,161,60,.22);transition:all var(--dur) var(--ease);}
.cart-line em:hover{background:var(--c-gold-deep);box-shadow:0 0 0 5px rgba(237,161,60,.28);}

.cart-total-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px;}
.cart-total-row span{font-size:var(--fs-body);color:var(--c-ink-soft);}
.cart-total-row strong{font-family:var(--font-display);font-size:1.35rem;color:var(--c-ink);letter-spacing:-.02em;}
.cart-note{font-size:var(--fs-caption);color:var(--c-muted);margin-bottom:16px;}
.btn-wa{width:100%;justify-content:center;background:#25D366;color:#fff;padding:16px;font-weight:600;
  border-radius:var(--r-pill);border:none;cursor:pointer;font-family:var(--font-body);font-size:var(--fs-btn);
  display:inline-flex;align-items:center;gap:10px;transition:all var(--dur) var(--ease);}
.btn-wa:hover:not(:disabled){background:#1eb855;transform:translateY(-2px);box-shadow:0 10px 24px -8px rgba(37,211,102,.6);}
.btn-wa:disabled{opacity:.45;cursor:not-allowed;}
.cart-clear{display:block;width:100%;margin-top:10px;background:none;border:none;font-family:var(--font-body);
  font-size:var(--fs-body-sm);color:var(--c-muted);cursor:pointer;padding:8px;transition:color var(--dur) var(--ease);}
.cart-clear:hover{color:var(--c-error);}

/* ============================================================
   E-COMMERCE — FICHE PRODUIT (modale)
   ============================================================ */
.product-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-46%) scale(.97);
  width:min(940px,calc(100% - 32px));max-height:88vh;overflow-y:auto;background:var(--c-cream);
  border-radius:var(--r-2xl);box-shadow:var(--sh-xl);z-index:120;opacity:0;visibility:hidden;
  transition:all .32s var(--ease);}
.product-modal.open{opacity:1;visibility:visible;transform:translate(-50%,-50%) scale(1);}
.pm-close{position:absolute;top:16px;right:16px;width:40px;height:40px;border-radius:50%;border:none;
  background:rgba(255,255,255,.92);color:var(--c-ink);display:flex;align-items:center;justify-content:center;
  cursor:pointer;z-index:3;transition:all var(--dur) var(--ease);box-shadow:var(--sh-sm);}
.pm-close:hover{background:var(--c-ink);color:#fff;}
.pm-body{display:grid;grid-template-columns:1fr 1fr;}
.pm-media{background:var(--c-sand);aspect-ratio:1/1;}
.pm-media img{width:100%;height:100%;object-fit:cover;}
.pm-info{padding:var(--sp-10);}
.pm-info h2{font-family:var(--font-body);font-weight:700;font-size:1.7rem;
  letter-spacing:-.01em;line-height:1.3;margin:12px 0 12px;}
.pm-desc{margin-bottom:20px;}
.pm-specs{list-style:none;border-top:1px solid var(--c-border);margin-bottom:22px;}
.pm-specs li{display:flex;justify-content:space-between;gap:16px;padding:11px 0;
  border-bottom:1px solid var(--c-border);font-size:var(--fs-body-sm);}
.pm-specs span{color:var(--c-muted);}
.pm-specs strong{color:var(--c-ink);text-align:right;font-weight:600;}
.pm-label{display:block;font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:.12em;
  font-weight:700;color:var(--c-muted);margin-bottom:10px;}
.pm-var-list{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px;}
.pm-var{display:flex;flex-direction:column;align-items:center;gap:2px;font-family:var(--font-body);
  font-size:var(--fs-body-sm);font-weight:600;color:var(--c-ink);background:var(--c-white);
  border:1.5px solid var(--c-border-strong);border-radius:var(--r-md);padding:10px 16px;cursor:pointer;
  transition:all var(--dur) var(--ease);}
.pm-var small{font-size:var(--fs-caption);font-weight:500;color:var(--c-muted);}
.pm-var:hover{border-color:var(--c-gold);}
.pm-var.active{background:var(--c-ink);color:#fff;border-color:transparent;}
.pm-var.active small{color:var(--c-gold);}
.pm-buy{display:flex;gap:12px;align-items:center;flex-wrap:wrap;}
.pm-buy .btn{flex:1;justify-content:center;min-width:200px;}
.pm-ask{display:inline-block;margin-top:18px;font-size:var(--fs-body-sm);font-weight:600;
  color:var(--c-gold-deep);border-bottom:1.5px solid var(--c-gold-soft);padding-bottom:2px;}
.pm-ask:hover{border-color:var(--c-gold-deep);}

/* — Fiche produit sur ordinateur : image pleine hauteur, colonne texte défilante — */
@media (min-width:901px){
  .product-modal{width:min(1020px,calc(100% - 48px));max-height:min(86vh,660px);
    overflow:hidden;display:flex;flex-direction:column;}
  .pm-body{flex:1;min-height:0;grid-template-columns:.95fr 1.05fr;}
  /* L'image occupe toute la hauteur de la modale, plus d'espace vide en dessous */
  .pm-media{aspect-ratio:auto;height:100%;min-height:0;position:relative;}
  .pm-media img{position:absolute;inset:0;width:100%;height:100%;}
  /* Seule la colonne de texte défile */
  .pm-info{min-height:0;overflow-y:auto;padding:var(--sp-10) var(--sp-10) 0;
    display:flex;flex-direction:column;}
  .pm-info h2{font-size:1.55rem;}
  .pm-specs{margin-bottom:18px;}
  .pm-specs li{padding:9px 0;}
  /* Le bloc d'achat reste visible au bas de la colonne */
  .pm-buy{position:sticky;bottom:0;background:var(--c-cream);
    padding:14px 0 6px;margin-top:auto;box-shadow:0 -14px 20px -10px var(--c-cream);}
  .pm-ask{margin:0 0 var(--sp-8);}
}

/* ============================================================
   E-COMMERCE — FINALISATION DE COMMANDE
   ============================================================ */
.checkout-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-46%) scale(.97);
  width:min(520px,calc(100% - 32px));max-height:90vh;overflow-y:auto;background:var(--c-cream);
  border-radius:var(--r-2xl);box-shadow:var(--sh-xl);z-index:135;opacity:0;visibility:hidden;
  transition:all .32s var(--ease);}
.checkout-modal.open{opacity:1;visibility:visible;transform:translate(-50%,-50%) scale(1);}
.co-close{position:absolute;top:16px;right:16px;width:40px;height:40px;border-radius:50%;border:none;
  background:var(--c-sand);color:var(--c-ink);display:flex;align-items:center;justify-content:center;
  cursor:pointer;z-index:3;transition:all var(--dur) var(--ease);}
.co-close:hover{background:var(--c-ink);color:#fff;}
.co-body{padding:var(--sp-10) var(--sp-8) var(--sp-8);}
.co-body h3{font-size:var(--fs-h2);margin:14px 0 10px;}
.co-intro{font-size:var(--fs-body-sm);color:var(--c-ink-soft);margin-bottom:var(--sp-6);}
.co-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.co-field{margin-bottom:16px;}
.co-field label{display:block;font-size:var(--fs-body-sm);font-weight:600;color:var(--c-ink);margin-bottom:7px;}
.co-field input{width:100%;height:52px;border:1.5px solid var(--c-border-strong);border-radius:var(--r-md);
  background:#fff;padding:0 16px;font-family:var(--font-body);font-size:var(--fs-btn);color:var(--c-ink);
  transition:all var(--dur) var(--ease);}
.co-field input::placeholder{color:var(--c-muted);}
.co-field input:focus{outline:none;border-color:var(--c-gold);box-shadow:0 0 0 4px rgba(237,161,60,.15);}
.co-error{min-height:0;font-size:var(--fs-body-sm);color:var(--c-error);font-weight:500;}
.co-error:not(:empty){margin-bottom:14px;padding:10px 14px;background:rgba(192,85,59,.08);
  border-radius:var(--r-sm);border-left:3px solid var(--c-error);}
.co-recap{background:var(--c-white);border:1px solid var(--c-border);border-radius:var(--r-md);
  padding:16px 18px;margin:6px 0 18px;}
.co-line{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:9px;}
.co-line span{font-size:var(--fs-body-sm);color:var(--c-ink-soft);}
.co-line span:last-child{font-weight:600;color:var(--c-ink);white-space:nowrap;}
.co-com span:last-child{color:var(--c-gold-deep);}
.co-com-note{font-size:var(--fs-caption);color:var(--c-muted);line-height:1.5;
  margin:0 0 12px;padding-bottom:12px;border-bottom:1px dashed var(--c-border-strong);}
.co-grand{margin-bottom:0;}
.co-grand span{font-size:var(--fs-body);color:var(--c-ink);font-weight:500;}
.co-grand strong{font-family:var(--font-display);font-size:1.35rem;color:var(--c-ink);letter-spacing:-.02em;}
.co-note{display:block;text-align:center;font-size:var(--fs-caption);color:var(--c-muted);margin-top:12px;}
@media (max-width:480px){
  .co-body{padding:var(--sp-8) var(--sp-5) var(--sp-6);}
  .co-grid{grid-template-columns:1fr;gap:0;}
}

/* ============================================================
   E-COMMERCE — TOAST + ANIMATION D'AJOUT
   ============================================================ */
.toast{position:fixed;left:50%;bottom:32px;transform:translateX(-50%) translateY(24px);
  display:inline-flex;align-items:center;gap:10px;background:var(--c-ink);color:#fff;
  padding:14px 22px;border-radius:var(--r-pill);box-shadow:var(--sh-xl);z-index:140;
  font-size:var(--fs-body-sm);font-weight:500;opacity:0;visibility:hidden;
  transition:all .35s var(--ease);max-width:calc(100% - 32px);}
.toast.show{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
.toast svg{color:var(--c-gold);flex-shrink:0;}
.fly-ghost{position:fixed;z-index:150;border-radius:var(--r-md);object-fit:cover;pointer-events:none;
  box-shadow:var(--sh-lg);transition:all .7s cubic-bezier(.4,0,.2,1);}

/* — Carte de confirmation d'ajout — MOBILE UNIQUEMENT (monte depuis le bas) — */
.add-bar{position:fixed;left:50%;bottom:16px;z-index:130;width:calc(100% - 24px);max-width:540px;
  display:flex;flex-wrap:wrap;align-items:center;gap:18px;
  background:linear-gradient(150deg,#241d16 0%,#372a1d 55%,#4a3722 100%);
  border:1px solid rgba(237,161,60,.28);border-radius:var(--r-xl);
  box-shadow:0 26px 60px -18px rgba(28,27,25,.6);color:var(--c-on-dark);
  padding:22px 20px;opacity:0;visibility:hidden;overflow:hidden;
  transform:translateX(-50%) translateY(140%);
  transition:transform .5s var(--ease),opacity .35s var(--ease),visibility .35s;}
.add-bar::after{content:"";position:absolute;right:-70px;top:-70px;width:220px;height:220px;
  background:radial-gradient(circle,rgba(237,161,60,.32),transparent 68%);pointer-events:none;}
.add-bar.show{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
.add-bar>*{position:relative;z-index:1;}
.ab-left{display:flex;align-items:center;gap:15px;min-width:0;flex:1;}
.ab-left img{width:68px;height:68px;border-radius:var(--r-md);object-fit:cover;flex-shrink:0;
  border:1.5px solid rgba(255,255,255,.16);}
.ab-info{min-width:0;}
.ab-ok{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-body-sm);font-weight:700;
  text-transform:uppercase;letter-spacing:.06em;color:#6FD39A;margin-bottom:4px;}
.ab-info strong{display:block;font-family:var(--font-display);font-size:var(--fs-body-lg);color:#fff;
  font-weight:600;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ab-info em{font-style:normal;color:var(--c-on-dark-mut);font-weight:500;}
.ab-total{flex-shrink:0;text-align:right;}
.ab-total span{display:block;font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:.08em;color:var(--c-gold);}
.ab-total strong{font-family:var(--font-display);font-size:1.25rem;color:#fff;letter-spacing:-.02em;}
/* Liste des autres produits déjà au panier */
.ab-others{width:100%;border-top:1px solid rgba(255,255,255,.14);padding-top:14px;}
.ab-others-title{display:block;font-size:var(--fs-caption);text-transform:uppercase;
  letter-spacing:.1em;font-weight:700;color:var(--c-gold);margin-bottom:8px;}
.ab-others ul{list-style:none;display:flex;flex-direction:column;gap:7px;}
.ab-others li{display:flex;align-items:baseline;gap:10px;font-size:var(--fs-body-sm);}
.ao-n{flex:1;min-width:0;color:var(--c-on-dark);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ao-q{flex-shrink:0;color:var(--c-on-dark-mut);font-size:var(--fs-caption);
  background:rgba(255,255,255,.1);padding:2px 8px;border-radius:var(--r-pill);}
.ao-p{flex-shrink:0;font-weight:700;color:#fff;}
.ao-more{color:var(--c-on-dark-mut);font-size:var(--fs-caption);font-style:italic;}

.ab-actions{display:flex;gap:10px;width:100%;}
.ab-actions .btn{flex:1;justify-content:center;padding:16px 14px;font-size:var(--fs-body);white-space:nowrap;}
/* Bouton « continuer » adapté au fond sombre */
.ab-actions .btn-secondary{color:#fff;border-color:rgba(255,255,255,.45);background:transparent;}
.ab-actions .btn-secondary:hover{background:#fff;color:var(--c-ink);border-color:#fff;}
.ab-close{position:absolute;top:10px;right:12px;width:28px;height:28px;border:none;background:none;
  color:var(--c-on-dark-mut);cursor:pointer;display:flex;align-items:center;justify-content:center;
  border-radius:50%;z-index:2;}
.ab-close:hover{background:rgba(255,255,255,.12);color:#fff;}

/* Sur ordinateur la carte n'apparaît pas : le panier s'ouvre directement */
@media (min-width:901px){ .add-bar{display:none;} }
@media (max-width:560px){
  .add-bar{padding:20px 16px;gap:14px;}
  .ab-actions .btn{font-size:var(--fs-body-sm);padding:15px 10px;white-space:normal;}
  .ab-info strong{font-size:var(--fs-body);}
}
@media (max-width:400px){
  .ab-actions{flex-direction:column-reverse;}
  .ab-left img{width:56px;height:56px;}
  /* Écran trop étroit : on masque la quantité pour garder nom + prix lisibles */
  .ao-q{display:none;}
}

/* ============================================================
   E-COMMERCE — RESPONSIVE
   ============================================================ */
@media (max-width:900px){
  .shop-layout{grid-template-columns:1fr;}
  .filters{position:static;display:none;}
  .filters.open{display:block;margin-bottom:var(--sp-6);}
  .pm-body{grid-template-columns:1fr;}
  .pm-media{aspect-ratio:16/10;}
  .pm-info{padding:var(--sp-8);}
}
@media (max-width:560px){
  .product-grid{grid-template-columns:1fr;}
  /* Quantité et bouton restent côte à côte sur mobile */
  .p-actions{flex-direction:row;gap:10px;}
  .qty-field{width:150px;padding:5px;}
  .qty-field button{width:34px;height:34px;}
  .qty-input{font-size:1.05rem;}
  .p-add{flex:1;justify-content:center;padding:11px 12px;}
  .shop-toolbar .toolbar-right{margin-left:0;width:100%;}
  .sort-select{width:100%;}
  .cart-drawer{width:100%;}
  .nav-actions .currency-select{display:none;}
}

/* ============================================================
   ANIMATIONS AU SCROLL
   ============================================================ */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s var(--ease),transform .7s var(--ease);}
.reveal.in{opacity:1;transform:none;}
.reveal.d1{transition-delay:.08s;} .reveal.d2{transition-delay:.16s;} .reveal.d3{transition-delay:.24s;}
.reveal.d4{transition-delay:.32s;} .reveal.d5{transition-delay:.40s;} .reveal.d6{transition-delay:.48s;}
.float-anim{animation:floaty 5s ease-in-out infinite;}
.float-anim.slow{animation-duration:7s;animation-delay:-2s;}
@keyframes floaty{0%,100%{transform:translateY(0);}50%{transform:translateY(-12px);}}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr;gap:var(--sp-12);}
  .hero-visual{max-width:460px;margin:0 auto;width:100%;}
  .split{grid-template-columns:1fr;gap:var(--sp-10);}
  /* La photo garde ses proportions réelles, sans recadrage */
  .split-visual{order:-1;aspect-ratio:auto;}
  .split-visual img{height:auto;object-fit:contain;}
  .footer-grid{grid-template-columns:1fr 1fr;gap:var(--sp-10);}
  .stats{grid-template-columns:repeat(2,1fr);gap:var(--sp-10);}
}
@media (max-width:820px){
  .steps,.cat-grid,.feature-grid,.testi-grid{grid-template-columns:1fr 1fr;}
  .step .connector{display:none;}
  .nav-links,.nav .btn-desktop{display:none;}
  .nav-toggle{display:flex;}
  .nav-links.open{display:flex;position:absolute;top:88px;left:0;right:0;flex-direction:column;
    align-items:stretch;background:var(--c-cream);border-bottom:1px solid var(--c-border);
    padding:12px var(--gutter) 20px;gap:2px;box-shadow:var(--sh-md);
    max-height:calc(100vh - 88px);overflow-y:auto;-webkit-overflow-scrolling:touch;}
  /* Menus de 1er niveau : plus marqués, séparés par un filet */
  .nav-links.open>li>a{padding:15px 14px;border-radius:var(--r-md);font-size:var(--fs-body);
    font-weight:600;color:var(--c-ink);}
  .nav-links.open>li+li{border-top:1px solid var(--c-border);}
  .drop-trigger{justify-content:space-between;}
  /* Le sous-menu catégories s'affiche en ligne (plus d'overlay figé).
     On neutralise aussi les états :hover/:focus-within du desktop (plus spécifiques). */
  .has-drop .drop-menu,
  .has-drop:hover .drop-menu,
  .has-drop:focus-within .drop-menu{position:static;left:auto;top:auto;transform:none;
    opacity:1;visibility:visible;min-width:auto;box-shadow:none;
    background:var(--c-sand);border:1px solid var(--c-border);border-radius:var(--r-md);
    margin:2px 4px 8px;padding:8px 10px;}
  .has-drop .drop-menu::before{display:none;}
  .drop-trigger svg{display:none;}
  /* Sous-titre + items de catégorie : visuellement en retrait */
  .drop-title{padding:4px 8px 8px;color:var(--c-gold-deep);}
  .nav-cat-list a{padding:11px 12px;font-size:var(--fs-body-sm);font-weight:500;color:var(--c-ink-soft);}
  .drop-all{padding:12px 8px 4px;}
}
/* Verrou de défilement quand le menu mobile est ouvert */
body.nav-open{overflow:hidden;}
@media (max-width:560px){
  :root{--gutter:20px;}
  .section{padding:var(--sp-16) 0;}
  .hero{padding:var(--sp-12) 0 var(--sp-16);}
  .steps,.cat-grid,.feature-grid,.testi-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .hero-float{left:8px;} .hero-float.top{right:8px;}
  .cta-block{padding:var(--sp-16) var(--sp-6);}
  .newsletter{flex-direction:column;background:none;border:none;padding:0;gap:10px;}
  .newsletter input{background:#fff;border-radius:var(--r-pill);padding:0 22px;width:100%;}
  .newsletter button{width:100%;justify-content:center;}
}

/* Accessibilité */
:focus-visible{outline:2px solid var(--c-gold);outline-offset:2px;}
@media (prefers-reduced-motion:reduce){
  *{transition:none!important;scroll-behavior:auto!important;animation:none!important;}
  .reveal{opacity:1;transform:none;}
}
