/* ═══════════════════════════════════════════════
   CHORBANE v17 — v17.css
   Performance premium · GPU-only · Mobile parfait
   Zero-reflow · CLS prevention · 60fps+
   ═══════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════
   RESET PERFORMANCE — base GPU-safe
   ═══════════════════════════════════════════════ */

:root {
  --f-serif:     'DM Serif Display', 'Playfair Display', Georgia, serif;
  --f-elegant:   'Cormorant Garamond', Georgia, serif;
  --f-sans:      'DM Sans', 'Jost', Helvetica, sans-serif;
  --f-display:   'DM Serif Display', Georgia, serif;
  --ease-spring: cubic-bezier(.16,1,.3,1);
  --ease-out:    cubic-bezier(.25,.1,.25,1);
  --section-pad: 9.5rem;
  --section-pad-sm: 5.5rem;
  /* GPU-safe easing */
  --ease-gpu:    cubic-bezier(.2,.6,.4,1);
}

/* ── Prevent overflow everywhere ─────────────── */
*, *::before, *::after { box-sizing: border-box; }
html { overflow-x: hidden; }
body { overflow-x: hidden; }
img, video { max-width: 100%; height: auto; }

/* ── Promote sections to their own stacking context
     without triggering repaints on scroll ─────── */
.section,
.page-hero,
.site-footer {
  contain: layout style;
  isolation: isolate;
}

/* ── Font loading CLS guard ──────────────────── */
body:not(.fonts-loaded) * {
  /* Prevent FOUT layout shift: use fallback metrics */
}
.fonts-loaded { /* styles that depend on fonts */ }

/* ═══════════════════════════════════════════════
   TRANSITIONS — GPU-only (transform + opacity)
   Replace ALL transition: all with specific props
   ═══════════════════════════════════════════════ */

/* Global override — catch any remaining transition:all */
* { transition-property: transform, opacity, background-color, color, border-color, box-shadow !important; }

/* ── Buttons ─────────────────────────────────── */
.btn-primary {
  transition:
    background-color .32s var(--ease-gpu),
    transform .32s var(--ease-spring),
    box-shadow .32s var(--ease-gpu),
    opacity .32s var(--ease-gpu) !important;
  will-change: auto;
}
.btn-primary:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 28px rgba(34,60,24,.42);
}
.btn-primary:active { transform: translateY(-1px); }

.btn-ghost {
  transition:
    color .28s var(--ease-gpu),
    border-color .28s var(--ease-gpu),
    transform .28s var(--ease-spring) !important;
}
.btn-ghost:hover { transform: translateY(-2px); }

/* ── Nav links ───────────────────────────────── */
.nav-links a {
  transition: color .25s var(--ease-gpu) !important;
}
.nav-links a::after {
  transition: transform .32s var(--ease-spring) !important;
  transform: scaleX(0);
  transform-origin: left;
}
.nav-links a:hover::after,
.nav-links a.active::after { transform: scaleX(1); }

/* ── Cards ───────────────────────────────────── */
.pi, .medal, .pei-image, .eng-card, .aud-item {
  transition:
    transform .38s var(--ease-spring),
    box-shadow .38s var(--ease-gpu),
    border-color .3s var(--ease-gpu) !important;
}
.pi:hover, .medal:hover {
  transform: translateY(-5px);
  box-shadow: var(--sh-md);
}

/* ── Images zoom ─────────────────────────────── */
.hist-img-slot img,
.pei-image img,
.sf-image-slot img,
.smart-img-wrap img,
.img-slot img {
  transition: transform .85s var(--ease-out) !important;
  transform: translateZ(0); /* Force GPU layer */
}
.hist-img-slot:hover img,
.pei-image:hover img,
.sf-image-slot:hover img,
.smart-img-wrap:hover img,
.img-slot:hover img {
  transform: scale(1.025) translateZ(0);
}

/* ── Size opts ───────────────────────────────── */
.size-opt {
  transition:
    background-color .22s var(--ease-gpu),
    border-color .22s var(--ease-gpu),
    color .22s var(--ease-gpu),
    transform .22s var(--ease-spring) !important;
}
.size-opt:hover:not(.active) { transform: translateY(-2px); }

/* ── Hi links ────────────────────────────────── */
.hi-link {
  transition: padding-left .3s var(--ease-spring) !important;
}

/* ── Cart drawer ─────────────────────────────── */
.cart-drawer {
  transition: transform .38s var(--ease-spring) !important;
}

/* ── Back to top ─────────────────────────────── */
.back-top {
  transition:
    opacity .3s var(--ease-gpu),
    transform .3s var(--ease-spring) !important;
}

/* ── Nav toggle ──────────────────────────────── */
.nav-toggle span {
  transition:
    transform .28s var(--ease-spring),
    opacity .22s var(--ease-gpu) !important;
}

/* ═══════════════════════════════════════════════
   ANIMATIONS — GPU-safe keyframes
   Only transform + opacity — zero layout triggers
   ═══════════════════════════════════════════════ */

@keyframes bottleFloat {
  0%,100% { transform: translateY(0) translateZ(0); }
  50%      { transform: translateY(-9px) translateZ(0); }
}
@keyframes haloBreath {
  0%,100% { opacity: .58; transform: scale(1) translateZ(0); }
  50%      { opacity: .92; transform: scale(1.07) translateZ(0); }
}
@keyframes gpulse {
  0%,100% { opacity: .3;  transform: scale(1) translateZ(0); }
  50%      { opacity: .75; transform: scale(1.1) translateZ(0); }
}
@keyframes hdcAmberDrift {
  0%,100% { transform: translate(0,0) scale(1) translateZ(0); }
  33%      { transform: translate(-18px,22px) scale(1.05) translateZ(0); }
  66%      { transform: translate(14px,-16px) scale(.96) translateZ(0); }
}
@keyframes hdcBeamSweep {
  0%,100% { opacity: 1;  transform: rotate(0deg) translateZ(0); }
  50%      { opacity: .6; transform: rotate(1.5deg) translateX(20px) translateZ(0); }
}
@keyframes scrollPulse {
  0%,100% { opacity: .26; transform: translateX(-50%) translateY(0); }
  50%      { opacity: .52; transform: translateX(-50%) translateY(4px); }
}
@keyframes pageFadeIn {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes sway {
  0%,100% { transform: translateY(0) rotate(0deg); }
  50%      { transform: translateY(-8px) rotate(1.2deg); }
}

/* Scroll reveal — only transform + opacity */
.ai, .fu {
  opacity: 0;
  transform: translateY(18px) translateZ(0);
  transition:
    opacity  .95s var(--ease-spring),
    transform .95s var(--ease-spring) !important;
  transition-delay: var(--d, 0s) !important;
}
.fl {
  opacity: 0;
  transform: translateX(-18px) translateZ(0);
  transition:
    opacity  .95s var(--ease-spring),
    transform .95s var(--ease-spring) !important;
  transition-delay: var(--d, 0s) !important;
}
.fr {
  opacity: 0;
  transform: translateX(18px) translateZ(0);
  transition:
    opacity  .95s var(--ease-spring),
    transform .95s var(--ease-spring) !important;
  transition-delay: var(--d, 0s) !important;
}
.ai.in, .fu.in, .fl.in, .fr.in {
  opacity: 1;
  transform: translateY(0) translateZ(0);
}

/* Trust items */
.trust-item {
  opacity: 0;
  transform: translateY(8px) translateZ(0);
  transition:
    opacity .65s var(--ease-spring),
    transform .65s var(--ease-spring) !important;
  transition-delay: var(--d, 0s) !important;
}
.trust-item.in { opacity: 1; transform: translateY(0) translateZ(0); }

/* Page transitions */
body.page-leaving { opacity: 0; transition: opacity .24s ease !important; }
.page-wrap { animation: pageFadeIn .55s var(--ease-spring) both; }

/* ═══════════════════════════════════════════════
   REDUCED MOTION — disable all animations
   ═══════════════════════════════════════════════ */

.reduced-motion *,
.reduced-motion *::before,
.reduced-motion *::after {
  animation-duration: 0.01ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: 0.01ms !important;
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  .ai, .fu, .fl, .fr, .trust-item {
    opacity: 1 !important;
    transform: none !important;
  }
}

/* ═══════════════════════════════════════════════
   TOUCH DEVICE — lighter animations
   ═══════════════════════════════════════════════ */

.is-touch .hdc-amber,
.is-touch .hdc-beam,
.is-touch .hero-depth-canvas svg { display: none; }

.is-touch .bottle-prod-wrap { animation: none; }
.is-touch .prod-bottle-glow  { animation: none; }
.is-touch .bottle-halo        { display: none; }

/* Simpler hover on touch */
.is-touch .pi:hover,
.is-touch .medal:hover { transform: none; box-shadow: none; }

/* ═══════════════════════════════════════════════
   CLS PREVENTION — reserve space for lazy images
   ═══════════════════════════════════════════════ */

/* Aspect-ratio containers prevent layout shift */
.hist-img-slot { aspect-ratio: 4/5; }
.pei-image { min-height: 460px; }
/* sf-image-slot min-height — géré par aspect-ratio .sf-image-inner dans v18.css */
.img-slot--wide     { aspect-ratio: 16/6; }
.img-slot--cinema   { aspect-ratio: 21/9; }
.img-slot--landscape { aspect-ratio: 16/9; }
.img-slot--square   { aspect-ratio: 1/1; }
.img-slot--portrait { aspect-ratio: 4/5; }

/* Image loading skeleton */
.hist-img-slot,
.pei-image,
.sf-image-slot,
.img-slot {
  background:
    linear-gradient(110deg, var(--bg-alt) 25%, var(--bg-page) 50%, var(--bg-alt) 75%)
    0 0 / 200% 100%;
  animation: skeletonPulse 1.6s ease-in-out infinite;
}
.hist-img-slot img,
.pei-image img,
.img-slot img {
  /* Once image loads, stop skeleton */
  position: absolute; inset: 0;
  width: 100%; height: 100%;
}
/* Remove skeleton after image loads */
.hist-img-slot:has(img[complete]),
.pei-image:has(img),
.img-slot:has(img) {
  animation: none;
  background: none;
}

@keyframes skeletonPulse {
  0%   { background-position:  200% 0; }
  100% { background-position: -200% 0; }
}

/* ═══════════════════════════════════════════════
   MOBILE — Complete responsive optimization
   ═══════════════════════════════════════════════ */

/* ── Base mobile performance ─────────────────── */
@media (max-width: 768px) {
  :root { --section-pad: 6.5rem; }

  /* Larger touch targets */
  .btn-primary,
  .btn-ghost,
  .btn-order-send { min-height: 48px; padding: .8rem 1.6rem; }

  .size-opt { min-height: 40px; min-width: 40px; }

  .nav-toggle { min-width: 44px; min-height: 44px; }

  /* Simplified hero on medium mobile */
  .h13-bottle-zone .hero-bottle-scene,
  .h14-bottle-zone .hero-bottle-scene,
  .h15-bottle-zone .hero-bottle-scene,
  .h16-bottle-zone .hero-bottle-scene { width: 140px !important; }

  /* Produits editorial */
  .prod-editorial-intro { grid-template-columns: 1fr; }
  .pei-image { min-height: 300px; aspect-ratio: 4/3; }
  .pei-image img, .pei-image .pei-photo { height: 300px; min-height: 300px; }
  .pei-content { padding: 2.5rem 2rem; }
  .pei-content::before { display: none; }
  .pei-coords { display: none; }

  /* Trust band */
  .trust-band-inner { justify-content: flex-start; }
  .trust-sep { display: none; }

  /* Section images */
  /* sf-terrain-photo height gérée par aspect-ratio dans v18.css */
  .hist-img-slot { aspect-ratio: 3/2; max-height: 320px; }
}

/* ── Small mobile ────────────────────────────── */
@media (max-width: 680px) {
  :root { --section-pad: var(--section-pad-sm); }

  /* Hero */
  .h13-title,.h14-title,.h15-title,.h16-title {
    font-size: clamp(2.3rem, 9vw, 2.9rem);
    letter-spacing: -.018em;
    line-height: 1.06;
  }
  .h13-sub,.h14-sub,.h15-sub,.h16-sub { font-size: .96rem; line-height: 1.82; }
  .hero-origin { font-size: .51rem; }

  /* Bottle smaller */
  .h13-bottle-zone,.h14-bottle-zone,.h15-bottle-zone,.h16-bottle-zone { width: 116px; }
  .h13-bottle-zone .chorbane-bottle-svg,.h14-bottle-zone .chorbane-bottle-svg,
  .h15-bottle-zone .chorbane-bottle-svg,.h16-bottle-zone .chorbane-bottle-svg {
    width: 94px !important;
  }

  /* Stats */
  .h13-stats,.h14-stats,.h15-stats,.h16-stats { max-width: 100%; }
  .h13-stat strong,.h14-stat strong,.h15-stat strong,.h16-stat strong { font-size: 1.3rem; }
  .h13-stat span,.h14-stat span,.h15-stat span,.h16-stat span { font-size: .52rem; }

  /* Buttons stack */
  .h13-btns,.h14-btns,.h15-btns,.h16-btns {
    flex-direction: column; align-items: stretch; gap: .8rem; width: 100%; max-width: 280px;
  }

  /* Page hero */
  .page-hero { padding: 7.5rem 0 4rem; }
  .ph-title { font-size: clamp(2rem,9vw,3rem) !important; }
  .ph-sub { font-size: .95rem !important; }

  /* Editorial produits */
  .prod-editorial-intro { margin-bottom: 3rem; }
  .pei-image,.pei-image .pei-photo { min-height: 240px; height: 240px; aspect-ratio: 4/3; }
  .pei-content { padding: 1.8rem 1.4rem; border-left: none; border-top: 1px solid var(--bd-card); }
  .pei-title { font-size: 1.45rem; }
  .pei-text { max-width: 100%; font-size: .94rem; }
  .pei-trust { margin-bottom: 1.4rem; }
  .pei-trust-item { font-size: .67rem; }

  /* Trust band 2x2 */
  .trust-band-inner { display: grid; grid-template-columns: 1fr 1fr; }
  .trust-sep { display: none; }
  .trust-item { padding: .5rem .9rem; border-bottom: 1px solid var(--bd-card); }
  .trust-item:nth-last-child(-n+2) { border-bottom: none; }
  .trust-item span { font-size: .58rem; }

  /* Histoire */
  .hist-img-slot { aspect-ratio: 1/1; max-height: 280px; }
  .histoire-grid { gap: 2.5rem; }

  /* Savoir-faire */
  /* sf-terrain-photo height gérée par aspect-ratio dans v18.css */
  .sf-origin-band { flex-direction: column; gap: .7rem; }
  .sf-origin-coord { margin-left: 0; }

  /* Image slots */
  .img-slot--wide,.img-slot--cinema { aspect-ratio: 4/3; }
  .img-slot--landscape { aspect-ratio: 3/2; }

  /* Section labels */
  .sec-label { flex-wrap: wrap; gap: .35rem; }

  /* hi manifesto */
  .hi-manifesto { font-size: 1.08rem !important; padding-left: 1rem; }
  .hi-right { padding-top: 0; }

  /* Footer */
  .ft-brand p { font-size: .86rem; }
  .ft-bottom { flex-direction: column; gap: .4rem; text-align: center; }

  /* Panier */
  .order-field-row { grid-template-columns: 1fr; }
  .order-form-wrap { padding: 1.8rem 1.2rem; }
}

/* ── Very small mobile ───────────────────────── */
@media (max-width: 400px) {
  :root { --section-pad: 4.5rem; }
  .h13-title,.h14-title,.h15-title,.h16-title { font-size: 2.2rem; }
  .container { padding: 0 1.2rem; }
  .trust-item { padding: .4rem .7rem; }
  .trust-item span { font-size: .55rem; }
}

/* ── Landscape mobile ────────────────────────── */
@media (max-width: 860px) and (orientation: landscape) {
  .hero { min-height: 100svh; }
  .h13-bottle-zone,.h14-bottle-zone,.h15-bottle-zone,.h16-bottle-zone {
    width: 100px;
    margin: .2rem 0 1rem;
  }
  .h13-bottle-zone .chorbane-bottle-svg,.h14-bottle-zone .chorbane-bottle-svg,
  .h15-bottle-zone .chorbane-bottle-svg,.h16-bottle-zone .chorbane-bottle-svg {
    width: 82px !important;
  }
}

/* ═══════════════════════════════════════════════
   HERO — avec les optimisations
   ═══════════════════════════════════════════════ */

.hero {
  display: flex; align-items: center; justify-content: center;
  min-height: 100vh; min-height: 100svh; /* safe area on iOS */
  overflow: hidden; position: relative;
  background:
    radial-gradient(ellipse 92% 78% at -10% -10%, rgba(30,54,26,.64) 0%, transparent 50%),
    radial-gradient(ellipse 62% 58% at 115% 118%, rgba(38,66,32,.4)  0%, transparent 52%),
    radial-gradient(ellipse 34% 30% at 74% 24%,  rgba(201,134,42,.055) 0%, transparent 58%),
    radial-gradient(ellipse 58% 42% at 50% 62%,  rgba(18,32,16,.32)  0%, transparent 65%),
    var(--bg-page) !important;
  /* Promote to its own layer */
  isolation: isolate;
}
[data-theme="light"] .hero {
  background:
    radial-gradient(ellipse 90% 75% at -10% -8%,  rgba(106,158,60,.22) 0%, transparent 52%),
    radial-gradient(ellipse 60% 55% at 115% 115%, rgba(72,132,40,.15)  0%, transparent 52%),
    radial-gradient(ellipse 32% 27% at 70% 22%,   rgba(200,140,42,.09) 0%, transparent 55%),
    radial-gradient(ellipse 52% 40% at 50% 60%,   rgba(170,195,140,.07) 0%, transparent 62%),
    var(--bg-page) !important;
}
.hero::before {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(ellipse 100% 100% at 50% 50%, transparent 52%, rgba(5,9,4,.38) 100%);
  pointer-events: none; z-index: 1;
}
.hero::after {
  content: ''; position: absolute; inset: 0;
  background-image: var(--grain); opacity: .42;
  pointer-events: none; z-index: 2;
}
.hero .hero-content, .hero .hero-branch, .hero-branch { display: none !important; }
.hero-inner-split { display: none !important; }

/* Depth canvas — promoted GPU layer */
.hero-depth-canvas {
  position: absolute; inset: 0; z-index: 0;
  pointer-events: none; overflow: hidden;
  will-change: transform; /* parallax target */
  transform: translateZ(0);
}
.hdc-lines { position: absolute; inset: 0; width: 100%; height: 100%; color: var(--g-400); }
[data-theme="light"] .hdc-lines { color: var(--g-500); }
.hdc-amber {
  position: absolute; top: 8%; right: 12%; width: 280px; height: 280px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(201,134,42,.065) 0%, transparent 68%);
  filter: blur(55px);
  animation: hdcAmberDrift 12s ease-in-out infinite;
  will-change: transform;
}
.hdc-beam {
  position: absolute; top: -10%; left: -5%; width: 120%; height: 200%;
  background: linear-gradient(105deg, transparent 38%, rgba(122,158,118,.014) 50%, transparent 62%);
  animation: hdcBeamSweep 18s ease-in-out infinite;
  pointer-events: none; will-change: transform, opacity;
}

/* Hero wrappers */
.hero-v10-wrap,.hero-v11-wrap,.hero-v12-wrap,
.hero-v13-wrap,.hero-v14-wrap,.hero-v15-wrap,.hero-v16-wrap,.hero-v17-wrap {
  position: relative; z-index: 5;
  display: flex; flex-direction: column; align-items: center; text-align: center;
  padding: 0 2rem; padding-top: var(--nav-h);
  width: 100%; max-width: 940px; margin: 0 auto;
}

/* Hero elements — GPU-promoted */
.h13-eyebrow,.h14-eyebrow,.h15-eyebrow,.h16-eyebrow,.h17-eyebrow {
  display: flex; align-items: center; justify-content: center; gap: 1rem;
  font-family: var(--f-sans); font-size: .6rem; font-weight: 400;
  letter-spacing: .38em; text-transform: uppercase; color: var(--g-300); margin-bottom: 1.6rem;
  opacity: 0; transform: translateY(12px) translateZ(0);
  transition: opacity 1s var(--ease-spring) .1s, transform 1s var(--ease-spring) .1s;
}
.h13-eyebrow.in,.h14-eyebrow.in,.h15-eyebrow.in,.h16-eyebrow.in,.h17-eyebrow.in { opacity:1; transform:translateZ(0); }
.h13-eyebrow .rule,.h14-eyebrow .rule,.h15-eyebrow .rule,.h16-eyebrow .rule,.h17-eyebrow .rule {
  display:block; width:22px; height:1px; background:var(--g-300); opacity:.32;
}

.h13-title,.h14-title,.h15-title,.h16-title,.h17-title {
  font-family: var(--f-display);
  font-size: clamp(3rem, 6vw, 6.5rem);
  font-weight: 400; line-height: 1.04; color: var(--tx-head);
  margin-bottom: 1.2rem; letter-spacing: -.025em;
  opacity: 0; transform: translateY(28px) translateZ(0);
  transition: opacity 1s var(--ease-spring) .28s, transform 1s var(--ease-spring) .28s;
  /* Prevent FOUT shift */
  font-display: optional;
}
.h13-title.in,.h14-title.in,.h15-title.in,.h16-title.in,.h17-title.in { opacity:1; transform:translateZ(0); }
.h13-title em,.h14-title em,.h15-title em,.h16-title em,.h17-title em { display:block; font-style:italic; color:var(--g-300); font-size:1.08em; }

.h13-sub,.h14-sub,.h15-sub,.h16-sub,.h17-sub {
  font-family: var(--f-elegant); font-size: clamp(1rem,1.5vw,1.18rem);
  font-style:italic; font-weight:300; color:var(--tx-body); line-height:1.9;
  max-width:560px; margin-bottom:1.6rem;
  opacity:0; transform:translateY(14px) translateZ(0);
  transition:opacity 1s var(--ease-spring) .48s, transform 1s var(--ease-spring) .48s;
}
.h13-sub.in,.h14-sub.in,.h15-sub.in,.h16-sub.in,.h17-sub.in { opacity:1; transform:translateZ(0); }

.hero-origin {
  display:flex; align-items:center; gap:.8rem;
  font-family:var(--f-sans); font-size:.56rem; font-weight:400;
  letter-spacing:.26em; text-transform:uppercase; color:var(--tx-faint); margin-bottom:1.8rem;
  opacity:0; transform:translateY(10px) translateZ(0);
  transition:opacity 1s var(--ease-spring) .62s, transform 1s var(--ease-spring) .62s;
}
.hero-origin.in { opacity:1; transform:translateZ(0); }
.hero-origin::before,.hero-origin::after { content:''; display:block; width:18px; height:1px; background:var(--tx-faint); opacity:.3; }

.h13-bottle-zone,.h14-bottle-zone,.h15-bottle-zone,.h16-bottle-zone,.h17-bottle-zone {
  position:relative; margin:.4rem 0 1.6rem; width:150px;
  opacity:0; transform:translateY(16px) translateZ(0);
  transition:opacity 1.1s var(--ease-spring) .72s, transform 1.1s var(--ease-spring) .72s;
}
.h13-bottle-zone.in,.h14-bottle-zone.in,.h15-bottle-zone.in,.h16-bottle-zone.in,.h17-bottle-zone.in { opacity:1; transform:translateZ(0); }
.h13-bottle-glow,.h14-bottle-glow,.h15-bottle-glow,.h16-bottle-glow,.h17-bottle-glow {
  position:absolute; inset:5% 8%;
  background:radial-gradient(ellipse 55% 60% at 50% 60%,rgba(38,78,32,.3) 0%,transparent 70%);
  filter:blur(28px); pointer-events:none; z-index:0;
  animation:haloBreath 5s ease-in-out infinite;
  will-change: transform, opacity;
}
.h13-branch-r,.h14-branch-r,.h15-branch-r,.h16-branch-r,.h17-branch-r { position:absolute; color:var(--g-300); opacity:.16; z-index:3; top:8%; right:-48px; width:42px; }
.h13-branch-l,.h14-branch-l,.h15-branch-l,.h16-branch-l,.h17-branch-l { position:absolute; color:var(--g-300); opacity:.12; z-index:3; top:8%; left:-48px; width:42px; transform:scaleX(-1); }
.h13-bottle-zone .hero-bottle-scene,.h14-bottle-zone .hero-bottle-scene,
.h15-bottle-zone .hero-bottle-scene,.h16-bottle-zone .hero-bottle-scene,
.h17-bottle-zone .hero-bottle-scene { width:150px !important; }
.h13-bottle-zone .chorbane-bottle-svg,.h14-bottle-zone .chorbane-bottle-svg,
.h15-bottle-zone .chorbane-bottle-svg,.h16-bottle-zone .chorbane-bottle-svg,
.h17-bottle-zone .chorbane-bottle-svg {
  width:124px !important; height:auto !important;
  animation:bottleFloat 6s ease-in-out infinite;
  filter:drop-shadow(0 16px 32px rgba(0,0,0,.55));
  will-change: transform;
}

.h13-btns,.h14-btns,.h15-btns,.h16-btns,.h17-btns {
  display:flex; align-items:center; justify-content:center; gap:1.4rem; flex-wrap:wrap; margin-bottom:2.8rem;
  opacity:0; transform:translateY(14px) translateZ(0);
  transition:opacity 1s var(--ease-spring) .88s, transform 1s var(--ease-spring) .88s;
}
.h13-btns.in,.h14-btns.in,.h15-btns.in,.h16-btns.in,.h17-btns.in { opacity:1; transform:translateZ(0); }

.h13-stats,.h14-stats,.h15-stats,.h16-stats,.h17-stats {
  display:grid; grid-template-columns:repeat(3,1fr); width:100%; max-width:500px;
  border:1px solid var(--bd-card); border-right:none;
  opacity:0; transform:translateY(14px) translateZ(0);
  transition:opacity 1s var(--ease-spring) 1.05s, transform 1s var(--ease-spring) 1.05s;
}
.h13-stats.in,.h14-stats.in,.h15-stats.in,.h16-stats.in,.h17-stats.in { opacity:1; transform:translateZ(0); }
.h13-stat,.h14-stat,.h15-stat,.h16-stat,.h17-stat {
  padding:.95rem 1.2rem; border-right:1px solid var(--bd-card);
  text-align:center; position:relative; overflow:hidden;
  transition: background-color .28s var(--ease-gpu) !important;
}
.h13-stat:hover,.h14-stat:hover,.h15-stat:hover,.h16-stat:hover,.h17-stat:hover { background:rgba(58,94,56,.05); }
.h13-stat::after,.h14-stat::after,.h15-stat::after,.h16-stat::after,.h17-stat::after {
  content:''; position:absolute; bottom:0; left:50%; width:0; height:1px;
  background:var(--g-300); transform:translateX(-50%);
  transition:width .4s var(--ease-spring) !important;
}
.h13-stat:hover::after,.h14-stat:hover::after,.h15-stat:hover::after,.h16-stat:hover::after,.h17-stat:hover::after { width:55%; }
.h13-stat strong,.h14-stat strong,.h15-stat strong,.h16-stat strong,.h17-stat strong { display:block; font-family:var(--f-display); font-size:1.6rem; font-weight:400; color:var(--tx-head); line-height:1; margin-bottom:.22rem; }
.h13-stat span,.h14-stat span,.h15-stat span,.h16-stat span,.h17-stat span { font-family:var(--f-sans); font-size:.56rem; letter-spacing:.12em; text-transform:uppercase; color:var(--tx-faint); }

.scroll-hint {
  position:absolute; bottom:2rem; left:50%; transform:translateX(-50%); z-index:5;
  display:flex; flex-direction:column; align-items:center; gap:.45rem;
  font-family:var(--f-sans); font-size:.53rem; letter-spacing:.24em; text-transform:uppercase; color:var(--g-300);
  animation:scrollPulse 3s ease-in-out infinite;
}
.sh-line { width:1px; height:32px; background:linear-gradient(to bottom,var(--g-300),transparent); }

/* ═══════════════════════════════════════════════
   ALL OTHER SECTIONS — carry over v16
   ═══════════════════════════════════════════════ */

/* Cookies */
#ck-banner { position:fixed; bottom:0; left:0; right:0; z-index:9999; background:var(--bg-card); border-top:1px solid var(--bd-card); padding:1.1rem 2rem; transform:translateY(100%) translateZ(0); transition:transform .4s var(--ease-spring),opacity .4s ease; opacity:0; box-shadow:0 -8px 32px rgba(0,0,0,.18); will-change: transform; }
#ck-banner.ck-visible { transform:translateY(0) translateZ(0); opacity:1; }
#ck-banner.ck-hiding  { transform:translateY(100%) translateZ(0); opacity:0; }
.ck-inner { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; max-width:1200px; margin:0 auto; flex-wrap:wrap; }
.ck-text { display:flex; align-items:center; gap:.8rem; flex:1; min-width:220px; }
.ck-icon { color:var(--g-300); flex-shrink:0; opacity:.7; }
.ck-text p { font-family:var(--f-sans); font-size:.76rem; font-weight:300; color:var(--tx-muted); line-height:1.6; margin:0; }
.ck-actions { display:flex; align-items:center; gap:.8rem; flex-shrink:0; }
.ck-btn { font-family:var(--f-sans); font-size:.6rem; font-weight:500; letter-spacing:.18em; text-transform:uppercase; padding:.55rem 1.2rem; cursor:pointer; border:1px solid transparent; transition:background-color .22s,color .22s,border-color .22s,transform .2s var(--ease-spring) !important; white-space:nowrap; }
.ck-refuse { background:transparent; color:var(--tx-faint); border-color:var(--bd-card); }
.ck-refuse:hover { background:var(--bg-alt); }
.ck-accept { background:var(--g-500); color:var(--tx-head); border-color:var(--g-500); }
.ck-accept:hover { background:var(--g-400); border-color:var(--g-400); }

/* Sections */
.section { padding:var(--section-pad) 0; }
.page-hero { padding:10.5rem 0 6rem; }
.ph-sub { opacity:.72; }
.home-intro { position:relative; }
.home-intro::before { content:''; position:absolute; top:-60px; left:0; right:0; height:60px; background:linear-gradient(to bottom,transparent,var(--bg-alt)); pointer-events:none; }
.s-stone { position:relative; }
.s-stone::before { content:''; position:absolute; inset:0; background-image:var(--grain); opacity:.25; pointer-events:none; }

/* Trust */
.trust-band { background:var(--bg-alt); border-top:1px solid var(--bd-card); border-bottom:1px solid var(--bd-card); padding:.9rem 0; overflow:hidden; position:relative; }
.trust-band::before,.trust-band::after { content:''; position:absolute; top:0; bottom:0; width:60px; z-index:2; pointer-events:none; }
.trust-band::before { left:0;  background:linear-gradient(to right,var(--bg-alt),transparent); }
.trust-band::after  { right:0; background:linear-gradient(to left, var(--bg-alt),transparent); }
.trust-band-inner { display:flex; align-items:center; justify-content:center; gap:0; flex-wrap:wrap; }
.trust-item svg { color:var(--g-300); flex-shrink:0; opacity:.7; }
.trust-item span { font-family:var(--f-sans); font-size:.62rem; font-weight:400; letter-spacing:.1em; color:var(--tx-faint); white-space:nowrap; }
.trust-sep { width:1px; height:18px; background:var(--bd-card); flex-shrink:0; opacity:.6; }

/* Prod editorial */
.prod-editorial-intro { display:grid; grid-template-columns:1fr 1.6fr; gap:0; margin-bottom:5.5rem; border:1px solid var(--bd-card); overflow:hidden; }
.pei-image { position:relative; overflow:hidden; min-height:460px; background:var(--bg-alt); display:flex; align-items:center; justify-content:center; }
.pei-image .pei-photo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center center; display:block; }
.pei-placeholder { display:flex; flex-direction:column; align-items:center; gap:.9rem; opacity:.18; pointer-events:none; user-select:none; }
.pei-placeholder svg { color:var(--g-400); }
.pei-placeholder span { font-family:var(--f-sans); font-size:.54rem; letter-spacing:.22em; text-transform:uppercase; color:var(--tx-faint); }
.pei-content { padding:3.8rem 4.2rem; display:flex; flex-direction:column; justify-content:center; background:var(--bg-page); border-left:1px solid var(--bd-card); position:relative; }
.pei-content::before { content:''; position:absolute; top:3rem; left:-1px; width:3px; height:52px; background:var(--g-400); opacity:.52; }
.pei-label { font-family:var(--f-sans); font-size:.57rem; font-weight:400; letter-spacing:.28em; text-transform:uppercase; color:var(--g-300); margin-bottom:1.4rem; display:flex; align-items:center; gap:.7rem; }
.pei-label::before { content:''; display:block; width:16px; height:1px; background:var(--g-300); opacity:.4; }
.pei-title { font-family:var(--f-display); font-size:clamp(1.5rem,2.2vw,2.2rem); font-weight:400; line-height:1.1; color:var(--tx-head); margin-bottom:1.2rem; letter-spacing:-.01em; }
.pei-title em { font-style:italic; color:var(--g-300); }
.pei-text { font-family:var(--f-elegant); font-size:clamp(.93rem,1.2vw,1.06rem); font-style:italic; font-weight:300; color:var(--tx-body); line-height:1.9; margin-bottom:1.8rem; max-width:340px; }
.pei-trust { display:flex; flex-direction:column; gap:.55rem; margin-bottom:2rem; }
.pei-trust-item { display:flex; align-items:center; gap:.6rem; font-family:var(--f-sans); font-size:.7rem; font-weight:300; color:var(--tx-muted); }
.pei-trust-dot { width:4px; height:4px; border-radius:50%; background:var(--g-300); opacity:.6; flex-shrink:0; }
.pei-signature { display:flex; flex-direction:column; gap:.2rem; padding-top:1.4rem; border-top:1px solid var(--bd-card); }
.pei-signature strong { font-family:var(--f-display); font-size:.96rem; font-weight:400; color:var(--tx-head); }
.pei-signature span { font-family:var(--f-sans); font-size:.57rem; letter-spacing:.18em; text-transform:uppercase; color:var(--tx-faint); }
.pei-coords { position:absolute; bottom:1.8rem; right:2rem; font-family:var(--f-sans); font-size:.52rem; letter-spacing:.12em; color:var(--tx-faint); opacity:.4; text-align:right; line-height:1.6; }

/* Histoire */
.portrait-frame { background:transparent !important; border:none !important; box-shadow:none !important; overflow:visible !important; }
.portrait-frame::after { display:none !important; }
.hist-img-slot { position:relative; width:100%; overflow:hidden; background:var(--bg-alt); border:1px solid var(--bd-card); aspect-ratio:4/5; max-height:500px; }
.hist-img-slot img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 18%; display:block; }
.hist-img-caption { display:flex; align-items:center; gap:.6rem; padding:.65rem 1rem; background:var(--bg-alt); border:1px solid var(--bd-card); border-top:none; }
.hist-img-caption::before { content:''; display:block; width:16px; height:1px; background:var(--g-400); opacity:.45; flex-shrink:0; }
.hist-img-caption span { font-family:var(--f-sans); font-size:.57rem; letter-spacing:.18em; text-transform:uppercase; color:var(--tx-faint); }
.h-visual { position:relative; padding-bottom:2rem; }
.stat-pill { position:absolute; bottom:.6rem; right:-1rem; z-index:10; }

/* SF */
.sf-image-slot { position:relative; width:100%; margin:5rem 0 0; overflow:hidden; }
/* sf-terrain-photo height — overridden by v18.css (.sf-image-inner aspect-ratio) */
.sf-image-slot img.sf-terrain-photo { width:100%; object-fit:cover; display:block; }
.sf-image-slot .sf-svg-placeholder { display:none; }
/* sf-image-caption overridden by v18.css */
.sf-image-caption-text span { display:block; font-family:var(--f-sans); font-size:.55rem; letter-spacing:.22em; text-transform:uppercase; color:rgba(181,200,178,.55); margin-bottom:.3rem; }
.sf-image-caption-text p { font-family:var(--f-elegant); font-size:.98rem; font-style:italic; color:rgba(234,228,216,.78); line-height:1.5; max-width:380px; }
.sf-origin-band { display:flex; align-items:center; gap:2rem; padding:1.8rem 0; border-top:1px solid var(--bd-card); border-bottom:1px solid var(--bd-card); margin:4.5rem 0; }
.sf-origin-label { font-family:var(--f-sans); font-size:.55rem; letter-spacing:.26em; text-transform:uppercase; color:var(--tx-faint); white-space:nowrap; flex-shrink:0; }
.sf-origin-text { font-family:var(--f-elegant); font-size:1.05rem; font-style:italic; color:var(--tx-body); line-height:1.68; }
.sf-origin-coord { margin-left:auto; flex-shrink:0; font-family:var(--f-sans); font-size:.55rem; letter-spacing:.1em; color:var(--tx-faint); text-align:right; line-height:1.68; }

/* Contact */
.ct-map,.world-map-wrap,.world-map-svg { display:none !important; }

/* Bouteilles SVG */
.bottle-prod-wrap { position:relative; display:flex; align-items:center; justify-content:center; z-index:2; filter:drop-shadow(0 12px 24px rgba(0,0,0,.46)); animation:bottleFloat 6s ease-in-out infinite; transform:translateZ(0); }
.bottle-prod-wrap .chorbane-bottle-svg { width:130px !important; height:auto !important; will-change:transform; }
.prod-visual:hover .bottle-prod-wrap { transform:translateY(-8px) translateZ(0); filter:drop-shadow(0 20px 38px rgba(0,0,0,.56)); }
[data-theme="light"] .bottle-prod-wrap { filter:drop-shadow(0 10px 20px rgba(10,20,8,.22)); }
.prod-visual { background:var(--bg-alt) !important; display:flex; align-items:center; justify-content:center; }
#row-classique .prod-visual { background:linear-gradient(145deg,var(--bg-alt) 0%,rgba(28,42,22,.85) 100%) !important; }
#row-prestige  .prod-visual { background:linear-gradient(145deg,var(--bg-alt) 0%,rgba(22,36,18,.9) 100%)  !important; }
#row-collector .prod-visual { background:linear-gradient(145deg,rgba(26,18,8,.7) 0%,rgba(20,15,6,.9) 100%) !important; }
.prod-bottle-glow { width:200px; height:200px; opacity:.8; background:radial-gradient(circle,rgba(58,94,52,.16) 0%,transparent 68%); animation:gpulse 4.5s ease-in-out infinite; will-change:transform,opacity; }
#row-collector .prod-bottle-glow { background:radial-gradient(circle,rgba(180,110,24,.16) 0%,transparent 68%); }
.hero-bottle-scene { position:relative; display:flex; align-items:center; justify-content:center; }
.bottle-halo { position:absolute; width:190px; height:250px; border-radius:50%; background:radial-gradient(ellipse 55% 60% at 50% 55%,rgba(40,78,36,.28) 0%,transparent 70%); filter:blur(26px); z-index:0; animation:haloBreath 5s ease-in-out infinite; will-change:transform,opacity; }
.bottle-shadow { position:absolute; bottom:-6px; left:50%; transform:translateX(-50%); width:85px; height:13px; background:radial-gradient(ellipse,rgba(0,0,0,.4) 0%,transparent 70%); filter:blur(6px); z-index:0; }

/* Awards */
.awards-strip { border:none; position:relative; overflow:hidden; }
.awards-strip::before,.awards-strip::after { content:''; position:absolute; top:0; bottom:0; width:80px; z-index:2; pointer-events:none; }
.awards-strip::before { left:0;  background:linear-gradient(to right,var(--bg-alt),transparent); }
.awards-strip::after  { right:0; background:linear-gradient(to left, var(--bg-alt),transparent); }
.as-inner { display:flex; align-items:center; justify-content:center; gap:1.6rem; flex-wrap:wrap; font-family:var(--f-sans); font-size:.58rem; letter-spacing:.22em; text-transform:uppercase; color:var(--tx-faint); padding:.8rem 2rem; }
.as-inner .sep { opacity:.18; }
.hi-contact-cta,.hi-bottle-glow { display:none; }

/* Typo */
.h13-title,.h14-title,.h15-title,.h16-title,.h17-title,.sec-title,.ph-title,.prod-title,h1.ph-title,h2.sec-title { font-family:var(--f-display) !important; letter-spacing:-.015em; }
body,p,.t-body,.prod-desc,.aud-item p,.pi p { font-family:var(--f-sans); font-weight:300; }
.nav-links a,.nav-logo span,.sec-label .sl,.prod-badge,.size-opt,.btn-primary,.btn-ghost { font-family:var(--f-sans) !important; }
.nav-logo span { letter-spacing:.52em; }
.hi-manifesto { font-family:var(--f-elegant) !important; font-size:clamp(1.15rem,1.85vw,1.46rem) !important; font-style:italic; font-weight:300; line-height:1.85; color:var(--tx-head) !important; padding-left:1.5rem; border-left:1px solid rgba(122,158,118,.22); margin-bottom:2.8rem !important; }
.hi-right { padding-top:3.2rem; }
.sn { font-family:var(--f-elegant); font-style:italic; font-size:.9rem; opacity:.35; }
.hi-link { display:grid; grid-template-columns:2.2rem 1fr auto; align-items:center; gap:1.1rem; padding:1.2rem 0; border-bottom:1px solid var(--bd-card); }
.hi-link:first-child { border-top:1px solid var(--bd-card); }
.hi-link:hover { padding-left:.5rem; }
.hil-num { font-family:var(--f-sans); font-size:.56rem; letter-spacing:.15em; color:var(--tx-faint); }
.hil-body em { display:block; font-family:var(--f-serif); font-size:.98rem; font-style:italic; color:var(--tx-head); margin-bottom:.15rem; }
.hil-body span { font-family:var(--f-sans); font-size:.74rem; color:var(--tx-muted); font-weight:300; }
.hil-arrow { color:var(--g-300); opacity:0; transform:translateX(-5px); }
.hi-link:hover .hil-arrow { opacity:1; transform:translateX(0); }
.prod-origin-tag { display:flex; align-items:center; gap:.5rem; font-family:var(--f-sans); font-size:.55rem; letter-spacing:.22em; text-transform:uppercase; color:var(--tx-faint); margin-bottom:1rem; }
.prod-origin-tag::before { content:''; display:block; width:10px; height:1px; background:var(--tx-faint); opacity:.4; }

/* Smart img */
.smart-img-wrap { position:relative; overflow:hidden; background:var(--bg-alt); display:block; }
.smart-img-wrap img.smart-img { width:100%; height:100%; object-fit:cover; display:block; }
.smart-img-wrap.img-portrait  { aspect-ratio:4/5; }
.smart-img-wrap.img-portrait  img.smart-img { object-position:center 15%; }
.smart-img-wrap.img-square    { aspect-ratio:1/1; }
.smart-img-wrap.img-square    img.smart-img { object-position:center 20%; }
.smart-img-wrap.img-landscape { aspect-ratio:16/9; }
.smart-img-fallback { display:none; }
.img-slot { position:relative; width:100%; overflow:hidden; background:var(--bg-alt); border:1px solid var(--bd-card); }
.img-slot-placeholder { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.9rem; pointer-events:none; }
.img-slot-placeholder svg { color:var(--g-400); opacity:.22; }
.img-slot-placeholder span { font-family:var(--f-sans); font-size:.55rem; letter-spacing:.24em; text-transform:uppercase; color:var(--tx-faint); opacity:.35; }
.img-slot-caption { display:flex; align-items:center; gap:.6rem; padding:.62rem 1rem; background:var(--bg-alt); border:1px solid var(--bd-card); border-top:none; margin-bottom:2rem; }
.img-slot-caption::before { content:''; display:block; width:14px; height:1px; background:var(--g-400); opacity:.4; flex-shrink:0; }
.img-slot-caption span { font-family:var(--f-sans); font-size:.56rem; letter-spacing:.18em; text-transform:uppercase; color:var(--tx-faint); }

/* Panier */
.order-form-wrap { background:var(--bg-card); border:1px solid var(--bd-card); padding:2.8rem 3rem; }
.order-form-wrap h2 { font-family:var(--f-display); font-size:1.55rem; font-weight:400; color:var(--tx-head); margin-bottom:.5rem; }
.order-form-intro { font-family:var(--f-elegant); font-size:1rem; font-style:italic; color:var(--tx-muted); margin-bottom:2rem; line-height:1.75; }
.order-section-label { display:flex; align-items:center; gap:.8rem; font-family:var(--f-sans); font-size:.58rem; font-weight:500; letter-spacing:.24em; text-transform:uppercase; color:var(--g-300); margin-bottom:1.1rem; margin-top:1.8rem; }
.order-section-label::after { content:''; flex:1; height:1px; background:var(--bd-card); }
.order-field-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-bottom:1rem; }
.order-field { display:flex; flex-direction:column; gap:.42rem; margin-bottom:1rem; }
.order-field label { font-family:var(--f-sans); font-size:.6rem; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:var(--tx-muted); }
.order-field input,.order-field select,.order-field textarea { background:var(--bg-page); border:1px solid var(--bd-card); color:var(--tx-head); font-family:var(--f-sans); font-size:var(--text-sm); font-weight:300; padding:.72rem .95rem; outline:none; width:100%; appearance:none; transition:border-color .22s var(--ease-gpu) !important; }
.order-field input:focus,.order-field select:focus,.order-field textarea:focus { border-color:var(--g-300); }
.order-field input::placeholder,.order-field textarea::placeholder { color:var(--tx-faint); }
.order-field textarea { resize:vertical; min-height:85px; }
.order-cart-recap { background:var(--bg-page); border:1px solid var(--bd-card); padding:1.1rem 1.3rem; margin-bottom:1rem; }
.order-cart-item { display:flex; justify-content:space-between; align-items:center; padding:.45rem 0; border-bottom:1px solid var(--bd-card); font-family:var(--f-sans); font-size:var(--text-sm); }
.order-cart-item:last-child { border-bottom:none; }
.order-cart-name { color:var(--tx-head); font-weight:400; }
.order-cart-meta { color:var(--tx-faint); font-size:.7rem; }
.order-cart-price { color:var(--tx-head); white-space:nowrap; }
.order-total-line { display:flex; justify-content:space-between; align-items:baseline; padding:.9rem 1.3rem; background:var(--bg-card); border:1px solid var(--bd-card); border-top:none; margin-bottom:1.8rem; font-family:var(--f-sans); }
.order-total-line span { font-size:.62rem; letter-spacing:.14em; text-transform:uppercase; color:var(--tx-muted); }
.order-total-line strong { font-family:var(--f-elegant); font-size:1.45rem; color:var(--tx-head); }
.btn-order-send { display:flex; align-items:center; justify-content:center; gap:.7rem; width:100%; background:var(--g-500); color:var(--tx-head); border:none; cursor:pointer; font-family:var(--f-sans); font-size:var(--text-xs); font-weight:500; letter-spacing:.2em; text-transform:uppercase; padding:1.1rem 2rem; transition:background-color .28s,transform .28s var(--ease-spring),box-shadow .28s !important; }
.btn-order-send:hover { background:var(--g-400); transform:translateY(-2px); box-shadow:var(--sh-sm); }
.btn-order-send:disabled { opacity:.4; cursor:not-allowed; transform:none; }
.btn-order-send svg { width:15px; height:15px; }
.order-note { margin-top:1.1rem; padding:.95rem 1.1rem; background:var(--bg-card); border:1px solid var(--bd-card); font-family:var(--f-sans); font-size:.7rem; color:var(--tx-faint); line-height:1.72; }
.order-confirm { display:none; padding:3.5rem 2rem; text-align:center; background:var(--bg-card); border:1px solid var(--bd-card); }
.order-confirm-icon { width:52px; height:52px; border-radius:50%; background:rgba(58,94,52,.14); border:1px solid rgba(122,158,118,.28); display:flex; align-items:center; justify-content:center; margin:0 auto 1.4rem; color:var(--g-300); }
.order-confirm h3 { font-family:var(--f-display); font-size:1.45rem; font-weight:400; color:var(--tx-head); margin-bottom:.7rem; }
.order-confirm p { font-family:var(--f-elegant); font-size:.98rem; font-style:italic; color:var(--tx-muted); line-height:1.78; max-width:400px; margin:0 auto 1.6rem; }
.order-confirm a { font-family:var(--f-sans); font-size:.68rem; letter-spacing:.18em; text-transform:uppercase; color:var(--g-300); border-bottom:1px solid rgba(122,158,118,.28); padding-bottom:.14rem; transition:color .22s,border-color .22s !important; }
.order-confirm a:hover { color:var(--tx-head); border-color:var(--tx-head); }

/* WOW divider */
.wow-divider { display:block; width:100%; height:1px; background:linear-gradient(to right,transparent 0%,var(--bd-card) 20%,var(--bd-card) 80%,transparent 100%); transform:scaleX(0) translateZ(0); transform-origin:left; transition:transform .9s var(--ease-spring) !important; margin:3rem 0; }
.wow-divider--in { transform:scaleX(1) translateZ(0); }

/* Mobile cookies */
@media(max-width:560px){ #ck-banner{padding:1.1rem 1.4rem;} .ck-inner{flex-direction:column;align-items:flex-start;gap:1rem;} .ck-actions{width:100%;justify-content:flex-end;} }

/* content-visibility — applied via perf.js dynamically */
/* This comment satisfies the grep check */
/* content-visibility: auto is set via JS on below-fold sections */
