/* ══════════════════════════════════════════════════
   CHORBANE v4 — premium.css
   Light Mode Harmonisé · Animations Huile d'Olive
   Textures Organiques · 3D Subtil
   ══════════════════════════════════════════════════ */

/* ── TOKENS LIGHT MODE AFFINÉS ───────────────────
   Surchargent les tokens de style.css
   Palette : sable chaud · olive naturel · ambre
─────────────────────────────────────────────────── */
[data-theme="light"] {
  /* Fonds — gradation chaude méditerranéenne */
  --bg-page:   #EBE2CB;
  --bg-alt:    #E3D8B8;
  --bg-stone:  #D9CDA8;
  --bg-warm:   #D0C29A;

  /* Cartes — plus opaques et contrastées */
  --bg-card:    rgba(220,205,168,.82);
  --bg-card-ft: rgba(195,178,138,.28);

  /* Bordures — teinte olive chaude */
  --bd-card:   rgba(90,110,55,.14);
  --bd-card-h: rgba(60,95,30,.38);

  /* Texte */
  --tx-head:  #18120A;
  --tx-body:  #2E2210;
  --tx-muted: #5A4118;
  --tx-faint: #8A6C38;
  --tx-accent:#7A4E08;
  --cream:    #18120A;
  --cream-dk: #201608;

  /* Ombres chaudes */
  --sh-sm: 0 3px 14px rgba(45,30,8,.11), 0 1px 4px rgba(45,30,8,.07);
  --sh-md: 0 10px 36px rgba(45,30,8,.15), 0 3px 10px rgba(45,30,8,.09);
  --sh-lg: 0 22px 58px rgba(45,30,8,.2), 0 6px 18px rgba(45,30,8,.12);

  /* Verts olive — saturés pour contraste sur fond clair */
  --g-100: #C8DDB8;
  --g-200: #9ABE80;
  --g-300: #608A40;
  --g-400: #426830;
  --g-500: #2E5020;
  --g-600: #1E3A12;
  --g-700: #142A0A;

  /* Ambre plus chaud */
  --amber:    #9C5C08;
  --amber-lt: #BC7818;
  --amber-dk: #6A3C04;

  /* Grain adapté au mode clair */
  --grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)' opacity='0.055'/%3E%3C/svg%3E");
}

/* ── BODY + HTML LIGHT ───────────────────────────── */
[data-theme="light"] body {
  background: var(--bg-page);
}

/* Texture organique sur body en mode clair */
[data-theme="light"] body::before {
  content: '';
  position: fixed; inset: 0; pointer-events: none; z-index: 0;
  background-image:
    var(--grain),
    radial-gradient(ellipse 90% 60% at 20% 10%, rgba(180,150,80,.06) 0%, transparent 60%),
    radial-gradient(ellipse 70% 50% at 80% 90%, rgba(90,120,55,.05) 0%, transparent 55%);
  opacity: 1;
}

/* ── SCROLLBAR LIGHT ─────────────────────────────── */
[data-theme="light"] ::-webkit-scrollbar-track { background: var(--bg-alt); }
[data-theme="light"] ::-webkit-scrollbar-thumb { background: var(--g-400); }

/* ── SÉLECTION LIGHT ────────────────────────────── */
[data-theme="light"] ::selection { background: var(--g-400); color: #F5EFE3; }

/* ── HERO LIGHT ──────────────────────────────────── */
[data-theme="light"] .hero {
  background:
    radial-gradient(ellipse 80% 70% at 15% -10%, rgba(160,140,80,.22) 0%, transparent 60%),
    radial-gradient(ellipse 60% 50% at 85% 110%, rgba(80,120,50,.14) 0%, transparent 55%),
    var(--bg-page);
}
[data-theme="light"] .hero::after {
  background-image: var(--grain);
  opacity: .7;
}
[data-theme="light"] .hero-shape.s1 {
  background: radial-gradient(circle, rgba(140,120,55,.28) 0%, transparent 65%);
  filter: blur(90px);
}
[data-theme="light"] .hero-shape.s2 {
  background: radial-gradient(circle, rgba(70,110,40,.2) 0%, transparent 65%);
  filter: blur(80px);
}
[data-theme="light"] .grain-overlay { opacity: .65; }
[data-theme="light"] .hero-branch { color: var(--g-400); opacity: .6; }

/* ── AWARDS STRIP LIGHT ─────────────────────────── */
[data-theme="light"] .awards-strip {
  background: var(--bg-stone);
  border-color: var(--bd-card);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.4), inset 0 -1px 0 rgba(0,0,0,.04);
}
[data-theme="light"] .bio-badge { color: var(--g-400); }

/* ── PAGE HERO LIGHT ────────────────────────────── */
[data-theme="light"] .page-hero {
  background: linear-gradient(180deg, var(--bg-stone) 0%, var(--bg-page) 100%);
}
[data-theme="light"] .page-hero::before {
  background: radial-gradient(ellipse 60% 45% at 50% -5%, rgba(90,140,50,.12) 0%, transparent 70%);
}

/* ── SECTIONS LIGHT ─────────────────────────────── */
[data-theme="light"] .s-dark,
[data-theme="light"] .s-deep { background: var(--bg-page); }

[data-theme="light"] .s-alt  { background: var(--bg-alt); }
[data-theme="light"] .s-stone,
[data-theme="light"] .s-light { background: var(--bg-stone); }
[data-theme="light"] .s-warm,
[data-theme="light"] .s-warm-dk { background: var(--bg-warm); }
[data-theme="light"] .s-contact {
  background: linear-gradient(180deg, var(--bg-page) 0%, var(--bg-alt) 100%);
}

/* Texture sur sections sombres reconverties */
[data-theme="light"] .section { position: relative; }
[data-theme="light"] .sf-tex,
[data-theme="light"] .medals-tex {
  background-image: var(--grain);
  opacity: .4;
}

/* ── SEC-LABEL LIGHT ────────────────────────────── */
[data-theme="light"] .sl { color: var(--tx-muted); }
[data-theme="light"] .sr { background: linear-gradient(to right, rgba(60,95,30,.2), transparent); }
[data-theme="light"] .sec-label-lt .sl { color: var(--tx-muted); }
[data-theme="light"] .sec-label-lt .sn { color: var(--amber); }
[data-theme="light"] .sec-label-lt .sr { background: linear-gradient(to right, rgba(90,65,20,.18), transparent); }

/* ── PORTRAIT / HISTOIRE LIGHT ──────────────────── */
[data-theme="light"] .portrait-frame {
  background: var(--bg-card);
  border-color: var(--bd-card);
  box-shadow: var(--sh-md), inset 0 1px 0 rgba(255,255,255,.5);
}
[data-theme="light"] .portrait-caption {
  background: var(--bg-stone);
  border-color: var(--bd-card);
  color: var(--tx-faint);
}
[data-theme="light"] .stat-pill {
  background: var(--g-500);
  border-color: rgba(60,95,30,.3);
  box-shadow: var(--sh-md);
}
[data-theme="light"] .stat-pill strong { color: #F5EFE3; }
[data-theme="light"] .stat-pill span   { color: var(--g-100); }
[data-theme="light"] .hf strong { color: var(--g-500); }
[data-theme="light"] .iblock {
  border-left-color: var(--g-400);
  color: var(--tx-body);
}
[data-theme="light"] .women-banner {
  background: var(--bg-card);
  border-color: var(--bd-card);
  box-shadow: var(--sh-sm), inset 0 1px 0 rgba(255,255,255,.45);
}
[data-theme="light"] .wb-icon { color: var(--g-400); }

/* ── PROCESSUS CARDS (PI) LIGHT ─────────────────── */
[data-theme="light"] .pi {
  background: var(--bg-card);
  border-color: var(--bd-card);
  box-shadow: var(--sh-sm);
}
[data-theme="light"] .pi:hover {
  background: rgba(210,195,155,.92);
  border-color: var(--bd-card-h);
  box-shadow: var(--sh-md);
}
[data-theme="light"] .pi-n {
  background: var(--g-500);
  color: #F5EFE3;
}
[data-theme="light"] .pi-ico { color: var(--g-400); }
[data-theme="light"] .pi h3  { color: var(--tx-head); }
[data-theme="light"] .pi p   { color: var(--tx-muted); }

[data-theme="light"] .sf-excel {
  background: rgba(200,185,145,.35);
  border-color: var(--bd-card);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.4);
}
[data-theme="light"] .sfe-list li { color: var(--tx-body); }
[data-theme="light"] .sfe-list li::before { background: var(--g-400); }

/* ── PRODUITS ÉDITORIAL LIGHT ───────────────────── */
[data-theme="light"] .prod-visual {
  background: linear-gradient(145deg, var(--bg-stone), var(--bg-warm));
  border-color: var(--bd-card);
  box-shadow: inset 0 0 60px rgba(0,0,0,.03);
}
[data-theme="light"] .prod-text {
  background: var(--bg-page);
  border-color: var(--bd-card);
  box-shadow: var(--sh-sm);
}
[data-theme="light"] .prod-badge {
  border-color: rgba(60,95,30,.28);
  color: var(--g-400);
}
[data-theme="light"] .prod-badge.gold {
  color: var(--amber);
  border-color: rgba(155,90,8,.3);
}
[data-theme="light"] .prod-title { color: var(--tx-head); }
[data-theme="light"] .prod-title em { color: var(--g-400); }
[data-theme="light"] .prod-desc { color: var(--tx-muted); }
[data-theme="light"] .bar { background: rgba(0,0,0,.1); }
[data-theme="light"] .bfill { background: var(--g-400); }
[data-theme="light"] .size-opt {
  border-color: var(--bd-card);
  color: var(--tx-muted);
}
[data-theme="light"] .size-opt:hover {
  border-color: var(--g-400);
  color: var(--tx-head);
}
[data-theme="light"] .size-opt.active {
  background: var(--g-500);
  border-color: var(--g-400);
  color: #F5EFE3;
}
[data-theme="light"] .prod-price { color: var(--tx-head); }
[data-theme="light"] .btn-add-cart { background: var(--g-500); color: #F5EFE3; }
[data-theme="light"] .btn-add-cart:hover { background: var(--g-400); }
[data-theme="light"] .prod-bottle-glow {
  background: radial-gradient(circle, rgba(140,110,40,.2) 0%, transparent 70%);
}

/* ── AUDIENCE LIGHT ─────────────────────────────── */
[data-theme="light"] .audience {
  background: rgba(195,178,138,.28);
  border-color: var(--bd-card);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.4);
}
[data-theme="light"] .aud-item > span { color: var(--g-400); }
[data-theme="light"] .aud-item strong { color: var(--tx-head); }
[data-theme="light"] .aud-item p { color: var(--tx-muted); }

/* ── MÉDAILLES LIGHT ────────────────────────────── */
[data-theme="light"] .medal {
  background: var(--bg-card);
  border-color: var(--bd-card);
  box-shadow: var(--sh-sm);
}
[data-theme="light"] .medal:hover {
  border-color: rgba(155,90,8,.3);
  box-shadow: var(--sh-md);
}
[data-theme="light"] .medal::before {
  background: linear-gradient(90deg, transparent, rgba(155,90,8,.4), transparent);
}
[data-theme="light"] .medal h3 { color: var(--tx-head); }
[data-theme="light"] .medal p  { color: var(--tx-muted); }
[data-theme="light"] .medal-tag { color: var(--amber); background: rgba(155,90,8,.08); }
[data-theme="light"] .jury-quote {
  background: var(--bg-card);
  border-color: var(--bd-card);
  box-shadow: var(--sh-sm);
}
[data-theme="light"] .jury-quote p    { color: var(--tx-body); }
[data-theme="light"] .jury-quote cite { color: var(--amber); }
[data-theme="light"] .jq-mark { color: var(--g-400); }

/* ── ENGAGEMENTS LIGHT ──────────────────────────── */
[data-theme="light"] .eng-seal svg path,
[data-theme="light"] .eng-seal svg circle { stroke: var(--g-400); }
[data-theme="light"] .ei { border-bottom-color: var(--bd-card); }
[data-theme="light"] .ei-dot { background: var(--g-400); }
[data-theme="light"] .ei h4 { color: var(--tx-head); }
[data-theme="light"] .ei p  { color: var(--tx-muted); }

/* Impact grid light */
[data-theme="light"] .impact-item {
  background: var(--bg-card);
  border-color: var(--bd-card);
  box-shadow: var(--sh-sm);
}
[data-theme="light"] .impact-item:hover {
  border-color: var(--bd-card-h);
  box-shadow: var(--sh-md);
}
[data-theme="light"] .impact-item strong { color: var(--tx-head); }
[data-theme="light"] .impact-item span   { color: var(--g-400); }
[data-theme="light"] .impact-item p      { color: var(--tx-muted); }

/* ── CONTACT LIGHT ──────────────────────────────── */
[data-theme="light"] .ct-form-box {
  background: var(--bg-card);
  border-color: var(--bd-card);
  box-shadow: var(--sh-sm);
}
[data-theme="light"] .field input,
[data-theme="light"] .field select,
[data-theme="light"] .field textarea {
  background: rgba(235,225,200,.7);
  border-color: rgba(90,65,20,.15);
  color: var(--tx-head);
}
[data-theme="light"] .field input:focus,
[data-theme="light"] .field select:focus,
[data-theme="light"] .field textarea:focus {
  border-color: var(--g-400);
  box-shadow: 0 0 0 3px rgba(60,95,30,.12);
  background: rgba(240,232,212,.9);
}
[data-theme="light"] .field input::placeholder,
[data-theme="light"] .field textarea::placeholder { color: var(--tx-faint); }
[data-theme="light"] .field select { color: var(--tx-muted); }
[data-theme="light"] .field select option { background: var(--bg-alt); color: var(--tx-head); }
[data-theme="light"] .btn-submit { background: var(--g-500); color: #F5EFE3; }
[data-theme="light"] .btn-submit:hover { background: var(--g-400); }
[data-theme="light"] .btn-submit.sent { background: var(--g-600); }
[data-theme="light"] .soc-btn { border-color: var(--bd-card); color: var(--tx-muted); }
[data-theme="light"] .soc-btn:hover { border-color: var(--g-400); color: var(--tx-head); background: var(--bg-card); }
[data-theme="light"] .ct-promise { border-color: var(--bd-card); }
[data-theme="light"] .cp-item { border-bottom-color: var(--bd-card); color: var(--tx-muted); }
[data-theme="light"] .ct-map { border-color: var(--bd-card); }
[data-theme="light"] .ct-map-cap { background: var(--bg-stone); border-color: var(--bd-card); color: var(--tx-faint); }

/* ── PANIER CHECKOUT LIGHT ──────────────────────── */
[data-theme="light"] .cart-drawer {
  background: var(--bg-alt);
  border-left-color: var(--bd-card);
  box-shadow: -12px 0 48px rgba(45,30,8,.18);
}
[data-theme="light"] .cart-drawer-head { border-bottom-color: var(--bd-card); }
[data-theme="light"] .cart-item  { border-bottom-color: var(--bd-card); }
[data-theme="light"] .ci-thumb   { background: var(--bg-card); border-color: var(--bd-card); }
[data-theme="light"] .ci-name    { color: var(--tx-head); }
[data-theme="light"] .ci-size    { color: var(--tx-faint); }
[data-theme="light"] .ci-price   { color: var(--tx-head); }
[data-theme="light"] .ci-qty button { border-color: var(--bd-card); color: var(--tx-muted); }
[data-theme="light"] .ci-qty button:hover { border-color: var(--g-400); color: var(--tx-head); }
[data-theme="light"] .cart-foot  { border-top-color: var(--bd-card); }
[data-theme="light"] .btn-checkout { background: var(--g-500); color: #F5EFE3; }
[data-theme="light"] .btn-checkout:hover { background: var(--g-400); }
[data-theme="light"] .co-form-wrap { background: var(--bg-card); border-color: var(--bd-card); }
[data-theme="light"] .co-item  { border-bottom-color: var(--bd-card); }
[data-theme="light"] .co-item-img { background: var(--bg-stone); border-color: var(--bd-card); }
[data-theme="light"] .co-item-name  { color: var(--tx-head); }
[data-theme="light"] .co-item-meta  { color: var(--tx-faint); }
[data-theme="light"] .co-item-price { color: var(--tx-head); }
[data-theme="light"] .co-subtotal   { border-top-color: var(--bd-card); }
[data-theme="light"] .co-line       { color: var(--tx-muted); }
[data-theme="light"] .co-total      { border-top-color: var(--bd-card); }
[data-theme="light"] .co-total strong { color: var(--tx-head); }
[data-theme="light"] .co-section-label { color: var(--g-400); }
[data-theme="light"] input[type="radio"] { accent-color: var(--g-400); }

/* ── TEASER CARDS LIGHT (index) ─────────────────── */
[data-theme="light"] .teaser-card {
  background: var(--bg-card);
  border-color: var(--bd-card);
  box-shadow: var(--sh-sm);
}
[data-theme="light"] .teaser-card:hover {
  border-color: var(--bd-card-h);
  box-shadow: var(--sh-md);
  background: rgba(215,200,162,.88);
}
[data-theme="light"] .teaser-card h3 { color: var(--tx-head); }
[data-theme="light"] .teaser-card p  { color: var(--tx-muted); }
[data-theme="light"] .tc-link        { color: var(--g-400); }
[data-theme="light"] .tc-n           { color: var(--amber); }
[data-theme="light"] .tc-ico         { color: var(--g-400); }
[data-theme="light"] .home-cta-band  {
  background: rgba(195,180,140,.25);
  border-color: var(--bd-card);
}
[data-theme="light"] .hcb-links a { color: var(--tx-muted); }
[data-theme="light"] .hcb-links a:hover { color: var(--tx-head); }
[data-theme="light"] .hcb-primary { background: var(--g-500) !important; color: #F5EFE3 !important; }
[data-theme="light"] .hcb-primary:hover { background: var(--g-400) !important; }

/* ── KPI / IMPACT GRIDS LIGHT ───────────────────── */
[data-theme="light"] .kpi {
  background: var(--bg-card);
  border-color: var(--bd-card);
  box-shadow: var(--sh-sm);
}
[data-theme="light"] .kpi strong { color: var(--tx-head); }
[data-theme="light"] .kpi sub    { color: var(--g-400); }
[data-theme="light"] .kpi span   { color: var(--tx-faint); }
[data-theme="light"] .rec-item {
  background: var(--bg-card);
  border-color: var(--bd-card);
  box-shadow: var(--sh-sm);
}
[data-theme="light"] .rec-item:hover { border-color: var(--bd-card-h); box-shadow: var(--sh-md); }
[data-theme="light"] .rec-item h4 { color: var(--tx-head); }
[data-theme="light"] .rec-item p  { color: var(--tx-muted); }

/* ── FOOTER LIGHT ───────────────────────────────── */
[data-theme="light"] .site-footer {
  background: var(--bg-warm);
  border-top-color: var(--bd-card);
}
[data-theme="light"] .ft-inner { border-bottom-color: var(--bd-card); }
[data-theme="light"] .ft-col h4 { color: var(--g-400); }
[data-theme="light"] .ft-col a,
[data-theme="light"] .ft-col span { color: var(--tx-faint); }
[data-theme="light"] .ft-col a:hover { color: var(--tx-head); }
[data-theme="light"] .ft-social a:hover { color: var(--g-400); }

/* ── BACK TO TOP LIGHT ──────────────────────────── */
[data-theme="light"] .back-top {
  background: var(--bg-stone);
  border-color: var(--bd-card);
  box-shadow: var(--sh-sm);
}
[data-theme="light"] .back-top:hover { background: var(--g-500); color: #F5EFE3; }

/* ── BOUTONS GLOBAUX LIGHT ──────────────────────── */
[data-theme="light"] .btn-primary { background: var(--g-500); color: #F5EFE3; }
[data-theme="light"] .btn-primary:hover { background: var(--g-400); }
[data-theme="light"] .btn-ghost { color: var(--tx-muted); border-bottom-color: rgba(60,40,10,.2); }
[data-theme="light"] .btn-ghost:hover { color: var(--tx-head); border-color: var(--g-400); }
[data-theme="light"] .btn-sm { color: var(--g-400); border-color: rgba(60,95,30,.28); }
[data-theme="light"] .btn-sm:hover { background: var(--g-500); color: #F5EFE3; border-color: var(--g-500); }
[data-theme="light"] .btn-sm-olive { color: var(--g-500); border-color: rgba(45,75,20,.3); }
[data-theme="light"] .btn-sm-olive:hover { background: var(--g-400); color: #F5EFE3; }

/* ── LOADER LIGHT ───────────────────────────────── */
[data-theme="light"] .page-loader {
  background: var(--bg-warm);
}

/* ── MOBILE DRAWER LIGHT ────────────────────────── */
[data-theme="light"] .mobile-drawer {
  background: var(--bg-alt);
  border-left-color: var(--bd-card);
  box-shadow: -10px 0 40px rgba(45,30,8,.15);
}
[data-theme="light"] .mobile-drawer a { color: var(--tx-head); }
[data-theme="light"] .mobile-drawer a:hover { color: var(--g-400); }
[data-theme="light"] .drawer-lang { border-top-color: var(--bd-card); }
[data-theme="light"] .drawer-lang .ls-btn { border-color: var(--bd-card); color: var(--tx-muted); }
[data-theme="light"] .drawer-lang .ls-btn.active { border-color: var(--g-400); color: var(--g-400); }
[data-theme="light"] .drawer-info { color: var(--tx-faint); }
[data-theme="light"] .drawer-info a { color: var(--g-400); }
[data-theme="light"] .drawer-overlay { background: rgba(40,28,8,.45); }
[data-theme="light"] .cart-overlay   { background: rgba(40,28,8,.42); }

/* ── LANG SWITCHER LIGHT ────────────────────────── */
[data-theme="light"] .ls-btn { color: var(--tx-faint); }
[data-theme="light"] .ls-btn.active { color: var(--g-400); }
[data-theme="light"] .ls-btn:hover  { color: var(--tx-head); }
[data-theme="light"] .ls-sep { color: var(--tx-faint); }

/* ── THEME TOGGLE LIGHT ─────────────────────────── */
[data-theme="light"] .theme-toggle { border-color: var(--bd-card); color: var(--tx-muted); }
[data-theme="light"] .theme-toggle:hover { border-color: var(--g-400); color: var(--tx-head); }
[data-theme="light"] .cart-btn { border-color: var(--bd-card); color: var(--tx-muted); }
[data-theme="light"] .cart-btn:hover { border-color: var(--g-400); color: var(--tx-head); }
[data-theme="light"] .cart-badge { background: var(--amber); }

/* ── TIMELINE LIGHT ─────────────────────────────── */
[data-theme="light"] .timeline::before {
  background: linear-gradient(to bottom, transparent, rgba(60,95,30,.22), transparent);
}
[data-theme="light"] .tl-year  { color: var(--amber); }
[data-theme="light"] .tl-dot   { background: var(--g-400); border-color: var(--g-300); box-shadow: 0 0 10px rgba(60,95,30,.25); }
[data-theme="light"] .tl-text h4 { color: var(--tx-head); }
[data-theme="light"] .tl-text p  { color: var(--tx-muted); }

/* ── INLINE BTNS LIGHT ──────────────────────────── */
[data-theme="light"] .inline-btns .btn-ghost { color: var(--tx-muted); }

/* ════════════════════════════════════════════════════
   ANIMATIONS 3D — HUILE D'OLIVE
   Uniquement transform + opacity (GPU-friendly)
═════════════════════════════════════════════════════ */

/* ── FILET D'HUILE (oil drip) ───────────────────── */
.oil-drip {
  position: absolute;
  width: 2px;
  height: 72px;
  background: linear-gradient(
    to bottom,
    rgba(170, 120, 20, 0.55) 0%,
    rgba(140, 95, 10, 0.3)  55%,
    transparent 100%
  );
  border-radius: 0 0 50% 50%;
  top: 52%;
  left: calc(50% + 3px); /* légèrement décalé = naturel */
  transform: translateX(-50%) scaleY(0);
  transform-origin: top center;
  opacity: 0;
  pointer-events: none;
  z-index: 4;
  will-change: transform, opacity;
}

.oil-drop {
  position: absolute;
  width: 7px;
  height: 9px;
  background: radial-gradient(
    ellipse at 35% 30%,
    rgba(210, 160, 30, 0.65),
    rgba(150, 100, 10, 0.4)
  );
  border-radius: 50% 50% 52% 48% / 58% 58% 42% 42%;
  top: calc(52% + 68px);
  left: calc(50% + 3px);
  transform: translateX(-50%) scale(0) translateY(-8px);
  opacity: 0;
  pointer-events: none;
  z-index: 4;
  will-change: transform, opacity;
}

/* Reflet sur la bouteille */
.bottle-reflection {
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  background: linear-gradient(
    130deg,
    transparent 25%,
    rgba(255, 255, 255, 0.11) 48%,
    rgba(255, 255, 255, 0.05) 52%,
    transparent 70%
  );
  transform: translateX(-110%) skewX(-8deg);
  will-change: transform, opacity;
}

/* TRIGGER au hover */
.prod-visual:hover .oil-drip {
  animation: oilFlow 2.2s cubic-bezier(.4, 0, .2, 1) forwards;
  animation-delay: .25s;
}
.prod-visual:hover .oil-drop {
  animation: oilDropFall 2.2s cubic-bezier(.4, 0, .2, 1) forwards;
  animation-delay: .25s;
}
.prod-visual:hover .bottle-reflection {
  animation: bottleShimmer 1.4s ease-in-out forwards;
  animation-delay: .1s;
}
.prod-visual:hover .bottle-svg {
  transform: translateY(-10px) rotate(-1.2deg);
  filter: drop-shadow(0 20px 32px rgba(0,0,0,.52));
}

/* Keyframes — transform + opacity uniquement */
@keyframes oilFlow {
  0%   { transform: translateX(-50%) scaleY(0);    opacity: 0; }
  18%  { transform: translateX(-50%) scaleY(.35);  opacity: .7; }
  55%  { transform: translateX(-50%) scaleY(.85);  opacity: .55; }
  82%  { transform: translateX(-50%) scaleY(1);    opacity: .38; }
  100% { transform: translateX(-50%) scaleY(1.05); opacity: 0; }
}

@keyframes oilDropFall {
  0%   { transform: translateX(-50%) scale(0) translateY(-8px); opacity: 0; }
  55%  { transform: translateX(-50%) scale(0) translateY(-8px); opacity: 0; }
  72%  { transform: translateX(-50%) scale(1.1) translateY(0px); opacity: .72; }
  88%  { transform: translateX(-50%) scale(1.3) translateY(3px);  opacity: .45; }
  100% { transform: translateX(-50%) scale(1.5) translateY(5px);  opacity: 0; }
}

@keyframes bottleShimmer {
  0%   { transform: translateX(-110%) skewX(-8deg); opacity: 0; }
  30%  { opacity: 1; }
  100% { transform: translateX(120%)  skewX(-8deg); opacity: 0; }
}

/* ── TRIGGER AU SCROLL (via JS class) ───────────── */
.prod-visual.drip-once .oil-drip {
  animation: oilFlow 2s cubic-bezier(.4,0,.2,1) both;
}
.prod-visual.drip-once .oil-drop {
  animation: oilDropFall 2s cubic-bezier(.4,0,.2,1) both;
}
.prod-visual.drip-once .bottle-reflection {
  animation: bottleShimmer 1.2s ease-in-out both;
}

/* ── DEPTH PARALLAX SUPPORT ─────────────────────── */
.parallax-layer {
  will-change: transform;
  transition: transform .1s linear;
}

/* ── HERO BOTTLE FLOAT (hero SVG branche) ───────── */
[data-theme="light"] .hero-branch { opacity: .55; }
.hero-branch { animation: sway 9s ease-in-out infinite; }
@keyframes sway {
  0%,100% { transform: translateY(0) rotate(0deg); }
  50%      { transform: translateY(-14px) rotate(1.2deg); }
}

/* ── CARD DEPTH — ombres adaptées au mode ───────── */
[data-theme="light"] .medal:hover,
[data-theme="light"] .pi:hover,
[data-theme="light"] .teaser-card:hover {
  box-shadow: 0 16px 44px rgba(45,30,8,.18), 0 4px 12px rgba(45,30,8,.1);
}

/* ── ORGANIC GRAIN — héros dark amélioré ─────────── */
.hero::after {
  content: '';
  position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background-image: var(--grain);
  opacity: .45;
  mix-blend-mode: overlay;
}

/* ── TEXTURE SECTIONS DARK ──────────────────────── */
.s-dark::before,
.s-deep::before {
  content: '';
  position: absolute; inset: 0; pointer-events: none;
  background-image: var(--grain);
  opacity: .25;
  z-index: 0;
}
.s-dark,.s-deep { position: relative; }
.s-dark > *,.s-deep > * { position: relative; z-index: 1; }

/* ── BOUTEILLE — GLOW DYNAMIQUE ─────────────────── */
.prod-bottle-glow {
  transition: transform .8s var(--ease), opacity .8s var(--ease) !important;
}
.prod-visual:hover .prod-bottle-glow {
  transform: scale(1.35);
  opacity: .9;
}

/* ── MOBILE — désactiver oil drip ───────────────── */
@media (pointer: coarse) {
  .oil-drip, .oil-drop, .bottle-reflection { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .oil-drip, .oil-drop, .bottle-reflection { display: none; }
  .hero-branch { animation: none; }
  .prod-visual:hover .bottle-svg { transform: none; }
}

/* ════════════════════════════════════════════════════
   CHORBANE v6 — ADDITIONS
   Homepage éditorial · Millésime · Map · Produit Premium
═════════════════════════════════════════════════════ */

/* ── REMOVE OIL-DRIP (replaced by shimmer) ──────── */
.oil-drip, .oil-drop { display: none !important; }

/* [Moved to depth.css] */

/* ── ÉDITION MILLÉSIME — badge + disabled ────────── */
.millesime-badges {
  display: flex; align-items: center; gap: .7rem; margin-bottom: 1.4rem;
}
.prod-badge-millesime {
  color: var(--amber);
  border-color: rgba(200,130,40,.35) !important;
}
.badge-bientot {
  font-family: var(--f-sans); font-size: .58rem; font-weight: 400;
  letter-spacing: .2em; text-transform: uppercase;
  color: var(--tx-faint);
  border: 1px solid var(--bd-card);
  padding: .16rem .6rem;
  opacity: .75;
}
[data-theme="light"] .badge-bientot {
  color: var(--tx-faint);
  border-color: var(--bd-card);
}
.btn-add-cart--soon {
  opacity: .38 !important;
  cursor: not-allowed !important;
  transform: none !important;
  box-shadow: none !important;
  pointer-events: none;
}
/* Small "coming soon" text below btn */
.millesime-note {
  font-family: var(--f-elegant); font-size: .85rem; font-style: italic;
  color: var(--tx-faint); margin-top: .7rem;
}

/* ── HOMEPAGE ÉDITORIAL ──────────────────────────── */
.home-intro { padding: 6rem 0 7rem; }

.hi-editorial {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 5rem;
  align-items: start;
}

/* Left column */
.hi-manifesto {
  font-family: var(--f-elegant);
  font-size: 1.22rem; font-style: italic; font-weight: 300;
  color: var(--tx-body); line-height: 1.78;
  margin: 2rem 0 3rem;
  max-width: 480px;
  padding-left: 1.4rem;
  border-left: 2px solid var(--g-500);
}
[data-theme="light"] .hi-manifesto { color: var(--tx-body); border-left-color: var(--g-400); }

.hi-links { display: flex; flex-direction: column; gap: 0; }
.hi-link {
  display: grid;
  grid-template-columns: 2.2rem 1fr 1.2rem;
  gap: .8rem; align-items: start;
  padding: 1.5rem 0;
  border-bottom: 1px solid var(--bd-card);
  text-decoration: none; color: inherit;
  transition: border-color .3s;
}
.hi-link:first-child { border-top: 1px solid var(--bd-card); }
.hi-link:hover { border-bottom-color: var(--bd-card-h); }
.hi-link:hover .hil-arrow { transform: translateX(4px); color: var(--g-300); }
.hil-num {
  font-family: var(--f-sans); font-size: .6rem; font-weight: 300;
  letter-spacing: .18em; color: var(--tx-accent); opacity: .7;
  padding-top: .22rem;
}
.hil-body { display: flex; flex-direction: column; gap: .3rem; }
.hil-body em {
  font-family: var(--f-serif); font-size: 1rem; font-weight: 400;
  font-style: normal; color: var(--tx-head); line-height: 1.2;
}
.hil-body span {
  font-family: var(--f-sans); font-size: .78rem; font-weight: 300;
  color: var(--tx-muted); line-height: 1.55;
}
.hil-arrow {
  font-size: .85rem; color: var(--tx-faint);
  padding-top: .18rem; text-align: right;
  transition: transform .3s, color .3s;
}
[data-theme="light"] .hil-body em { color: var(--tx-head); }
[data-theme="light"] .hil-body span { color: var(--tx-muted); }

/* Right column */
.hi-right { display: flex; flex-direction: column; gap: 1.2rem; }

.hi-prod-preview {
  display: flex; align-items: center; gap: 0;
  background: var(--bg-card); border: 1px solid var(--bd-card);
  text-decoration: none; color: inherit;
  transition: border-color .35s, box-shadow .35s;
  overflow: hidden;
}
.hi-prod-preview:hover {
  border-color: var(--bd-card-h);
  box-shadow: var(--sh-md);
}
.hi-prod-preview:hover .hi-bottle {
  transform: translateY(-5px) scale(1.03);
}
.hi-prod-visual {
  position: relative; width: 130px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  padding: 2rem 1.2rem;
  background: var(--bg-alt);
  border-right: 1px solid var(--bd-card);
}
.hi-bottle {
  width: 72px; height: auto;
  filter: drop-shadow(0 10px 20px rgba(0,0,0,.4));
  transition: transform .6s cubic-bezier(.34,.1,.26,1);
}
.hi-bottle-glow {
  position: absolute; inset: 0;
  background: radial-gradient(circle at 50% 60%, rgba(60,94,56,.12) 0%, transparent 70%);
  pointer-events: none;
}
[data-theme="light"] .hi-bottle-glow {
  background: radial-gradient(circle at 50% 60%, rgba(140,110,40,.1) 0%, transparent 70%);
}
.hi-prod-info {
  padding: 1.6rem 1.8rem;
  display: flex; flex-direction: column; gap: .4rem;
}
.hi-prod-label {
  font-family: var(--f-sans); font-size: .64rem; font-weight: 500;
  letter-spacing: .2em; text-transform: uppercase; color: var(--g-300);
}
.hi-prod-sub {
  font-family: var(--f-elegant); font-size: 1rem; font-style: italic;
  color: var(--tx-body); line-height: 1.4;
}
.hi-prod-cta {
  font-family: var(--f-sans); font-size: .68rem; letter-spacing: .1em;
  color: var(--g-300); margin-top: .5rem;
  transition: letter-spacing .3s;
}
.hi-prod-preview:hover .hi-prod-cta { letter-spacing: .14em; }

/* Awards strip */
.hi-awards {
  display: flex; align-items: center; gap: 1.2rem;
  padding: 1.3rem 1.6rem;
  background: var(--bg-card); border: 1px solid var(--bd-card);
  text-decoration: none; color: inherit;
  transition: border-color .3s, box-shadow .3s;
}
.hi-awards:hover { border-color: var(--bd-card-h); box-shadow: var(--sh-sm); }
.hi-awards-count {
  font-family: var(--f-serif); font-size: 2.2rem; font-weight: 400;
  color: var(--tx-head); line-height: 1; flex-shrink: 0;
}
.hi-awards-text-wrap { flex: 1; display: flex; flex-direction: column; gap: .2rem; }
.hi-awards-label {
  font-family: var(--f-sans); font-size: .7rem; font-weight: 500;
  letter-spacing: .14em; text-transform: uppercase; color: var(--tx-head);
}
.hi-awards-sub {
  font-family: var(--f-sans); font-size: .74rem; font-weight: 300; color: var(--tx-muted);
}
.hi-awards-flags { font-size: 1.1rem; flex-shrink: 0; opacity: .75; }

/* Contact CTA */
.hi-contact-cta {
  display: flex; align-items: center; justify-content: center;
  padding: .9rem;
  background: none; border: 1px solid rgba(122,158,118,.28);
  font-family: var(--f-sans); font-size: .7rem; font-weight: 400;
  letter-spacing: .18em; text-transform: uppercase;
  color: var(--g-300); text-decoration: none;
  transition: background .3s, border-color .3s, color .3s;
}
.hi-contact-cta:hover {
  background: var(--g-500); border-color: var(--g-500); color: var(--tx-head);
}
[data-theme="light"] .hi-contact-cta {
  border-color: rgba(60,95,30,.28); color: var(--g-400);
}
[data-theme="light"] .hi-contact-cta:hover { background: var(--g-500); color: #F5EFE3; }

/* Light mode overrides for hi- components */
[data-theme="light"] .hi-prod-preview { background: var(--bg-card); border-color: var(--bd-card); }
[data-theme="light"] .hi-prod-visual  { background: var(--bg-stone); border-right-color: var(--bd-card); }
[data-theme="light"] .hi-prod-label   { color: var(--g-400); }
[data-theme="light"] .hi-prod-sub     { color: var(--tx-body); }
[data-theme="light"] .hi-prod-cta     { color: var(--g-400); }
[data-theme="light"] .hi-awards       { background: var(--bg-card); border-color: var(--bd-card); }
[data-theme="light"] .hi-awards-count { color: var(--tx-head); }
[data-theme="light"] .hi-awards-label { color: var(--tx-head); }
[data-theme="light"] .hi-awards-sub   { color: var(--tx-muted); }
[data-theme="light"] .hi-link { border-color: var(--bd-card); }
[data-theme="light"] .hi-manifesto { border-left-color: var(--g-400); }

/* ── WORLD MAP ───────────────────────────────────── */
.world-map-wrap { position: relative; overflow: hidden; }
.world-map-svg { width: 100%; height: auto; display: block; }
[data-theme="light"] .world-map-svg { filter: contrast(.92) brightness(1.02); }

/* ── RESPONSIVE ──────────────────────────────────── */
@media(max-width:960px) {
  .hi-editorial {
    grid-template-columns: 1fr;
    gap: 3rem;
  }
  .hi-right { order: -1; }
  .hi-prod-preview { max-width: 420px; }
  .hi-manifesto { max-width: none; }
}
@media(max-width:580px) {
  .home-intro { padding: 4.5rem 0 5.5rem; }
  .hi-manifesto { font-size: 1.08rem; margin: 1.5rem 0 2rem; }
  .hi-prod-visual { width: 100px; }
  .hi-bottle { width: 60px; }
  .millesime-badges { flex-wrap: wrap; }
}
