/* ============================================================
   YOOZI PREMIUM LAYER v2 — 2026-04-23 (safe edition)
   Suite à audit visuel, on retire tous les effets expérimentaux
   (noise SVG, drop cap risqué, scroll hint hero, trust row hero,
   section gradients, dividers ornate) et on garde UNIQUEMENT les
   raffinements fiables et testés :
   - Smooth scroll + scroll-margin ancres
   - Scroll progress bar 2px gold
   - Back-to-top flottant
   - Ligatures Nunito + kerning
   - Sticky header shrink on scroll (minimal)
   - Guillemets français testimonials
   - Stagger reveal IntersectionObserver (simplifié — sans hero)
   - Timeline dots allumage séquentiel
   - Quality badges hover bouteilles
   ============================================================ */

/* === 1. SMOOTH SCROLL GLOBAL + SCROLL MARGIN ANCRES === */
html {
  scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

:target,
.elementor-menu-anchor,
[id="gamme"] {
  scroll-margin-top: 110px;
}

/* === 2. SCROLL PROGRESS BAR === */
.yoozi-scroll-progress {
  position: fixed;
  top: 0;
  left: 0;
  height: 2px;
  width: 0%;
  background: linear-gradient(
    90deg,
    var(--yoozi-gold, #C8A96E) 0%,
    #E0C88C 100%
  );
  z-index: 9999;
  pointer-events: none;
  transition: width 120ms ease-out;
}

/* === 3. BACK-TO-TOP FLOTTANT === */
.yoozi-to-top {
  position: fixed;
  right: 24px;
  bottom: 24px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--yoozi-gold, #C8A96E);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  opacity: 0;
  transform: translateY(12px) scale(0.9);
  pointer-events: none;
  transition:
    opacity 500ms cubic-bezier(0.2, 0.8, 0.2, 1),
    transform 500ms cubic-bezier(0.2, 0.8, 0.2, 1),
    background-color 300ms ease,
    box-shadow 300ms ease;
  z-index: 9998;
  box-shadow: 0 8px 24px -10px rgba(200, 169, 110, 0.6);
  border: none;
}

.yoozi-to-top.is-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}

.yoozi-to-top:hover {
  background: var(--yoozi-dark, #1F1F1F);
  box-shadow: 0 12px 32px -10px rgba(0, 0, 0, 0.35);
  transform: translateY(-3px) scale(1);
}

.yoozi-to-top svg {
  width: 16px;
  height: 16px;
  stroke: currentColor;
  stroke-width: 2;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* === 4. LIGATURES CORMORANT + KERNING === */
h1, h2, h3, h4,
.elementor-heading-title,
.yoozi-manifeste-title,
.yoozi-timeline-title,
.yoozi-enzo-teaser-grid .yoozi-enzo-quote .elementor-heading-title,
.yoozi-testimonial-quote {
  font-feature-settings: "liga" 1, "kern" 1;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.yoozi-timeline-rail .yoozi-timeline-year .elementor-heading-title {
  font-feature-settings: "liga" 1, "kern" 1, "tnum" 1;
}

/* === 5. STICKY HEADER SHRINK MINIMAL === */
#header.ct-header {
  transition:
    background-color 400ms cubic-bezier(0.2, 0.8, 0.2, 1),
    box-shadow 400ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

body.yoozi-scrolled #header.ct-header {
  background: rgba(255, 255, 255, 0.94) !important;
  backdrop-filter: saturate(1.2) blur(10px);
  -webkit-backdrop-filter: saturate(1.2) blur(10px);
  box-shadow: 0 2px 20px -8px rgba(31, 31, 31, 0.12);
}

/* === 6. STAGGER REVEAL AU SCROLL (SIMPLIFIÉ) === */
.yoozi-reveal {
  opacity: 0;
  transform: translateY(24px);
  transition:
    opacity 900ms cubic-bezier(0.2, 0.8, 0.2, 1),
    transform 900ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.yoozi-reveal.is-revealed {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  .yoozi-reveal,
  .yoozi-reveal.is-revealed {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* === 7. TIMELINE DOTS ALLUMAGE SÉQUENTIEL === */
.yoozi-timeline-rail .yoozi-timeline-step::before {
  transition:
    box-shadow 800ms cubic-bezier(0.2, 0.8, 0.2, 1),
    transform 600ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.yoozi-timeline-rail .yoozi-timeline-step.is-lit::before {
  box-shadow:
    0 0 0 6px var(--yoozi-cream, #FAF6EE),
    0 0 0 10px rgba(200, 169, 110, 0.2),
    0 0 18px 4px rgba(200, 169, 110, 0.35);
  transform: translateX(-50%) scale(1.12);
}

/* === 8. QUALITY BADGES SUR BOUTEILLES === */
.yoozi-product-card {
  position: relative;
}

/* Badges hover bouteilles retirés sur demande client.
   Si des éléments .yoozi-quality-badges subsistent (cache), masqués strictement. */
.yoozi-quality-badges,
.yoozi-quality-badge {
  display: none !important;
}

/* Filet de sécurité — masque le panier flottant Modern Cart si jamais il
   se charge encore (cache CDN ou plugin réactivé manuellement). */
.moderncart-plugin,
.moderncart-floating-cart-button,
.moderncart-modal-wrap,
#moderncart-floating-cart,
#moderncart-slide-out,
#moderncart-slide-out-modal {
  display: none !important;
  visibility: hidden !important;
}
