/* ═══════════ IN'OUI — noir & champagne, immersif ═══════════ */
:root{
  /* « only light » : refuse l'assombrissement FORCÉ des navigateurs Android
     (Chrome auto-dark, Samsung Internet) qui inversait l'ivoire en brun —
     repéré par Soanna le 30/07 sur son téléphone. Le site est clair PAR CHOIX. */
  color-scheme:only light;

  /* Sans cette ligne, Samsung Internet et Chrome Android appliquent leur
     « mode sombre forcé » et réinventent toutes les couleurs : l'ivoire
     devient brun, le texte brun devient gris. Le site est conçu en clair. */
  color-scheme: light;
  --bg:#F8F5F0;            /* ivoire — fond principal */
  --bg-2:#EFE5D5;          /* champagne — fond secondaire */
  --card:#FCFAF6;          /* cartes */
  --text:#2F241D;          /* brun foncé — texte */
  --ivoire:#2F241D;        /* alias texte (compat) */
  --ivoire-70:rgba(47,36,29,.72);
  --ivoire-45:rgba(47,36,29,.5);
  --ivoire-12:rgba(47,36,29,.14);
  --or:#C9A227;            /* or premium */
  --or-clair:#A9811B;      /* or foncé lisible sur clair */
  --or-glow:#ecd3a2;       /* or clair pour zones sombres (glow) */
  --emerald:#0F4C45;       /* accent vert émeraude */
  --rose:#0F4C45;
  --light:#fdfaf5;         /* texte clair sur vidéo */
  --light-70:rgba(253,250,245,.85);
  --light-45:rgba(253,250,245,.62);
  --on-accent:#241a12;     /* texte sur or / émeraude */
  --noir:#0b0910;          /* voile sombre (vidéos) — usages ponctuels */
  --noir-2:#EFE5D5; --noir-3:#E7DAC6;
  --serif:'Playfair Display',Georgia,serif;
  --sans:'Jost',system-ui,sans-serif;
  --ease:cubic-bezier(.22,.61,.2,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--bg);color:var(--text);
  font-family:var(--sans);font-weight:300;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
::selection{background:var(--or);color:var(--on-accent)}

/* barre de progression */
#progress{position:fixed;top:0;left:0;height:2px;width:0;z-index:90;
  background:linear-gradient(90deg,var(--or),var(--or-clair))}

/* grain cinéma */
#grain{position:fixed;inset:-50%;width:200%;height:200%;z-index:80;pointer-events:none;opacity:.025;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grain 7s steps(10) infinite}
@keyframes grain{0%,100%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-2%)}80%{transform:translate(3%,3%)}}

/* ═══ Porte d'entrée ═══ */
#intro{position:fixed;inset:0;z-index:70;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;
  background:radial-gradient(ellipse at 50% 42%,#fff 0%,var(--bg) 70%)}
.intro-kicker{font-size:.72rem;letter-spacing:.5em;text-transform:uppercase;color:var(--ivoire-45);
  animation:fadeUp 1.4s var(--ease) .2s both}
.intro-logo{font-family:var(--serif);font-weight:300;color:var(--text);
  font-size:clamp(4rem,15vw,11rem);line-height:1;margin:1.5rem 0 .8rem;
  letter-spacing:.18em;text-indent:.18em;
  animation:logoIn 2.2s var(--ease) both}
.intro-sub{font-family:var(--serif);font-style:italic;font-size:clamp(1.05rem,2.4vw,1.5rem);
  color:var(--or-clair);animation:fadeUp 1.4s var(--ease) .7s both}
.intro-hint{position:absolute;bottom:5vh;display:flex;flex-direction:column;align-items:center;gap:14px;
  animation:fadeUp 1.4s var(--ease) 1.4s both}
.intro-hint span{font-size:.7rem;letter-spacing:.32em;text-transform:uppercase;color:var(--ivoire-45)}
.intro-line{width:1px;height:56px;background:linear-gradient(var(--or),transparent);
  animation:lineDrop 1.8s var(--ease) infinite}
@keyframes lineDrop{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
@keyframes logoIn{from{opacity:0;letter-spacing:.55em;filter:blur(14px)}to{opacity:1;letter-spacing:.18em;filter:blur(0)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}

/* médaillons logo In'oui (fond blanc du fichier → pastille ronde) */
.logo-medal{display:inline-block;border-radius:50%;background:#fff center/cover no-repeat;flex-shrink:0;box-shadow:0 4px 24px -6px rgba(47,36,29,.12),0 0 0 1px var(--ivoire-12);background-image:url(data:image/png;base64,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)}
.intro-medal{width:92px;height:92px;margin-bottom:26px;animation:fadeUp 1.4s var(--ease) .1s both}
.nav-medal{width:30px;height:30px;vertical-align:middle;margin-right:10px}
.foot-medal{width:104px;height:104px;margin:0 auto 18px;display:block}

/* ═══ Nav ═══ */
#nav{position:fixed;top:0;left:0;right:0;z-index:60;display:flex;align-items:center;
  justify-content:space-between;padding:18px clamp(20px,4vw,56px);
  opacity:0;transform:translateY(-100%);transition:all .6s var(--ease)}
#nav.visible{opacity:1;transform:none;
  background:linear-gradient(rgba(248,245,240,.94),rgba(248,245,240,.72) 70%,transparent);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.nav-logo{font-family:var(--serif);font-size:1.5rem;letter-spacing:.2em;display:flex;align-items:center}
.nav-links{display:flex;gap:clamp(14px,2.4vw,34px)}
.nav-links a{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ivoire-70);
  transition:color .3s}
.nav-links a:hover{color:var(--or-clair)}
.nav-cta{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--on-accent);
  background:var(--or);padding:10px 22px;border-radius:2px;transition:background .3s}
.nav-cta:hover{background:var(--or-clair)}

/* burger + menu mobile */
.nav-burger{display:none;background:none;border:none;cursor:pointer;padding:10px;margin-left:6px}
.nav-burger span{display:block;width:24px;height:1.5px;background:var(--ivoire);margin:6px 0;
  transition:transform .35s var(--ease),opacity .35s}
.nav-burger.open span:first-child{transform:translateY(3.8px) rotate(45deg)}
.nav-burger.open span:last-child{transform:translateY(-3.8px) rotate(-45deg)}
#mobileMenu[hidden]{display:none}
#mobileMenu{position:fixed;inset:0;z-index:55;background:rgba(246,240,231,.98);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px}
#mobileMenu a{font-family:var(--serif);font-size:1.9rem;font-weight:300;color:var(--ivoire);transition:color .3s}
#mobileMenu a:hover{color:var(--or-clair)}

/* bouton WhatsApp flottant */
#waFloat{position:fixed;right:18px;bottom:18px;z-index:58;width:56px;height:56px;border-radius:50%;
  background:var(--or);display:flex;align-items:center;justify-content:center;font-size:1.5rem;
  box-shadow:0 10px 30px -8px rgba(210,173,122,.6);opacity:0;pointer-events:none;
  transform:translateY(16px);transition:all .5s var(--ease)}
#waFloat.visible{opacity:1;pointer-events:auto;transform:none}
#waFloat:hover{background:var(--or-clair)}

/* ═══ Boutons ═══ */
.btn,.btn-ghost{display:inline-block;font-family:var(--sans);font-size:.82rem;letter-spacing:.18em;
  text-transform:uppercase;padding:16px 34px;border-radius:2px;cursor:pointer;
  transition:all .35s var(--ease);border:1px solid transparent;text-align:center}
.btn{background:var(--or);color:var(--on-accent);font-weight:400}
.btn:hover{background:var(--or-clair);transform:translateY(-2px);box-shadow:0 14px 34px -12px rgba(210,173,122,.5)}
.btn-ghost{border-color:var(--ivoire-12);color:var(--ivoire)}
.btn-ghost:hover{border-color:var(--or);color:var(--or-clair)}

/* ═══ Hero ═══ */
#hero{position:relative;height:220vh}
.hero-pin{position:sticky;top:0;height:100vh;min-height:640px;display:flex;align-items:center;
  justify-content:center;text-align:center;overflow:hidden}
.hero-bg{position:absolute;inset:0}
.hero-bg::after{content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at 50% 100%,rgba(11,9,16,.08),rgba(11,9,16,.5) 82%),
             linear-gradient(rgba(11,9,16,.34),rgba(11,9,16,.16) 45%,var(--noir) 97%)}
.hero-bg img,.hero-bg video{width:100%;height:100%;object-fit:cover;will-change:transform}
#dust{position:absolute;inset:0;pointer-events:none;z-index:2}
.hero-content{position:relative;z-index:3;max-width:900px;padding:0 24px;
  text-shadow:0 2px 26px rgba(5,4,8,.75),0 1px 8px rgba(5,4,8,.5)}
.hero-kicker{display:inline-block;font-size:.7rem;letter-spacing:.34em;
  text-transform:uppercase;color:var(--or-glow);margin-bottom:30px;
  padding:9px 22px 9px 26px;border:1px solid rgba(236,211,162,.42);
  border-radius:999px;background:rgba(11,9,16,.26);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
#hero h1{font-family:var(--serif);font-weight:300;font-size:clamp(2.6rem,7vw,5.6rem);line-height:1.06}
#hero h1 em{font-style:italic;color:var(--or-clair)}
.hero-sub{margin:28px auto 40px;max-width:560px;color:var(--ivoire-70);font-size:1.02rem;line-height:1.75}
.hero-ctas{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.hero-press{position:absolute;bottom:26px;left:0;right:0;z-index:3;text-align:center;
  font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ivoire-45)}
.hero-press span{color:var(--ivoire-70)}

/* ═══ Manifeste ═══ */
#manifeste{padding:clamp(110px,16vh,180px) 24px;max-width:1000px;margin:0 auto;text-align:center}
.mani-line{font-family:var(--serif);font-weight:300;font-size:clamp(1.9rem,4.6vw,3.4rem);line-height:1.25}
.mani-line.accent em{color:var(--or-clair)}
.mani-body{max-width:640px;margin:44px auto 0;color:var(--ivoire-70);line-height:1.85;font-size:1rem}
.mani-stats{display:flex;justify-content:center;gap:clamp(28px,6vw,80px);margin-top:70px;flex-wrap:wrap}
.mani-stats div{display:flex;flex-direction:column;gap:8px}
.mani-stats strong{font-family:var(--serif);font-weight:400;font-size:2.6rem;color:var(--or)}
.mani-stats span{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ivoire-45);line-height:1.6}

/* ═══ Marquee ═══ */
.marquee{overflow:hidden;border-top:1px solid var(--ivoire-12);border-bottom:1px solid var(--ivoire-12);
  padding:22px 0;white-space:nowrap}
.marquee-track{display:inline-block;will-change:transform}
.marquee-track span{font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:clamp(1.5rem,3.4vw,2.4rem);color:var(--ivoire-45)}
.marquee-track b{color:var(--or);font-weight:400}

/* ═══ Univers — mosaïque des 5 univers (bento vidéo) ═══ */
.uni-mosaic-section{padding:clamp(80px,11vh,130px) clamp(16px,4vw,56px) clamp(70px,9vh,110px);text-align:center}
.uni-mosaic-section .serif{margin-bottom:clamp(34px,5vh,52px)}
.uni-mosaic{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:1240px;margin:0 auto;
  height:min(84vh,840px)}
.mosaic-card{position:relative;overflow:hidden;border-radius:8px;display:flex;align-items:flex-end;
  border:1px solid var(--ivoire-12);transition:transform .5s var(--ease),box-shadow .5s,border-color .5s}
.mosaic-card:hover{transform:translateY(-5px);border-color:var(--uni-accent,var(--or));
  box-shadow:0 28px 60px -24px rgba(47,36,29,.2)}
.mosaic-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.mosaic-card:hover .mosaic-video{transform:scale(1.06)}
/* Voile des cartes : renforcé côté bas, là où vivent le titre et le texte.
   Les nouveaux films HD contiennent des plans très clairs (hangar aux murs
   blancs, terrasse de jour) sur lesquels le texte blanc disparaissait. */
.mosaic-overlay{position:absolute;inset:0;
  background:linear-gradient(transparent 18%,rgba(11,9,16,.42) 48%,rgba(11,9,16,.78) 72%,rgba(11,9,16,.95));
  transition:background .4s}
.mosaic-card:hover .mosaic-overlay{background:linear-gradient(rgba(11,9,16,.15),rgba(11,9,16,.55) 60%,rgba(11,9,16,.92))}
/* halo sombre localisé : garantit la lisibilité même sur un plan très clair
   (hangar aux murs blancs, terrasse de jour) — même principe que les titres au scroll */
.mosaic-content{position:relative;z-index:2;width:100%;padding:clamp(20px,2.4vw,32px);text-align:left;
  text-shadow:0 1px 2px rgba(0,0,0,.6),0 2px 18px rgba(0,0,0,.7),0 0 60px rgba(0,0,0,.55)}
.mosaic-nom{font-family:var(--serif);font-weight:300;font-size:clamp(1.8rem,3vw,3rem);line-height:1.05}
.mosaic-nom em{font-style:italic;color:var(--uni-accent,var(--or-clair))}
.mosaic-tag{margin-top:10px;font-size:.92rem;line-height:1.6;max-width:44ch;color:rgba(253,250,245,.88)}
.mosaic-meta{margin-top:12px;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:#f0d78a}
.mosaic-cta{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-size:.74rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--ivoire);opacity:0;transform:translateY(8px);transition:all .4s var(--ease)}
.mosaic-card:hover .mosaic-cta{opacity:1;transform:none}
.mosaic-arrow{display:inline-block;transition:transform .35s var(--ease)}
.mosaic-card:hover .mosaic-arrow{transform:translateX(5px)}

/* ═══ Sections communes ═══ */
section{position:relative}
.sect-kicker{font-size:.72rem;letter-spacing:.4em;text-transform:uppercase;color:var(--or);margin-bottom:18px}
.serif{font-family:var(--serif);font-weight:300;font-size:clamp(2.2rem,5vw,3.8rem);line-height:1.1}
.serif em{font-style:italic;color:var(--or-clair)}
.sect-body{color:var(--ivoire-70);line-height:1.85;max-width:600px;margin:24px auto 0}

/* Sérénité */
#serenite{padding:clamp(110px,15vh,170px) 24px;text-align:center;background:var(--bg-2)}
#serenite .sect-body{margin-bottom:34px}
.serenite-prix{font-family:var(--serif);font-size:1.5rem;margin-bottom:34px}
.serenite-prix strong{color:var(--or-clair);font-weight:500}

/* Lettres géantes */
#lettres{padding:clamp(110px,15vh,170px) clamp(20px,5vw,72px);text-align:center;
  background:radial-gradient(ellipse at 50% 0%,#171021 0%,var(--noir) 65%)}
.glow-title{font-family:var(--serif);font-weight:400;font-size:clamp(3rem,10vw,7.5rem);
  letter-spacing:.12em;color:#fffbe9;
  text-shadow:0 0 18px rgba(236,211,162,.85),0 0 60px rgba(210,173,122,.55),0 0 130px rgba(210,173,122,.35);
  animation:glow 3.2s ease-in-out infinite}
@keyframes glow{0%,100%{text-shadow:0 0 18px rgba(236,211,162,.85),0 0 60px rgba(210,173,122,.55),0 0 130px rgba(210,173,122,.35)}
50%{text-shadow:0 0 26px rgba(236,211,162,1),0 0 90px rgba(210,173,122,.75),0 0 170px rgba(210,173,122,.5)}}
#lettres .sect-body{margin-bottom:56px}
.lettres-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px;max-width:1200px;margin:0 auto}
.pack{background:var(--card);border:1px solid var(--ivoire-12);border-radius:4px;overflow:hidden;
  cursor:pointer;transition:transform .4s var(--ease),border-color .4s;text-align:left}
.pack:hover{transform:translateY(-6px);border-color:var(--or)}
/* les visuels de packs sont carrés (800×800) : un cadre 4/3 coupait le bas
   des lettres et leur reflet. Un cadre 5/4 réduit fortement la perte, et le
   cadrage vise légèrement le bas, là où sont les lettres. */
.pack img{aspect-ratio:5/4;object-fit:cover;object-position:50% 56%;
  width:100%;transform:scale(1.02)}
.pack-body{padding:16px 18px 20px}
.pack-body h3{font-family:var(--serif);font-weight:500;font-size:1.15rem;line-height:1.2}
.pack-prix{color:var(--or-clair);font-size:.82rem;letter-spacing:.08em;margin-top:8px}
.lettres-note{margin-top:30px;font-size:.78rem;color:var(--ivoire-45);letter-spacing:.06em}

/* En + (options) */
#enplus{padding:clamp(90px,12vh,140px) clamp(20px,5vw,72px);text-align:center}
#enplus .sect-body{margin-bottom:8px}
.options-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;
  max-width:1240px;margin:50px auto 0}
.option-card{background:var(--card);border:1px solid var(--ivoire-12);border-radius:5px;
  overflow:hidden;text-align:left;transition:transform .4s var(--ease),border-color .4s}
.option-card:hover{transform:translateY(-5px);border-color:var(--or)}
.option-card img{width:100%;aspect-ratio:1/1;object-fit:cover;transform:scale(1.06)}
.option-body{padding:13px 15px 16px}
.option-body h3{font-family:var(--serif);font-weight:500;font-size:1.02rem;line-height:1.25}
.option-prix{color:var(--or-clair);font-size:.78rem;letter-spacing:.08em;margin-top:7px}
.option-card{cursor:pointer}
.option-add{display:inline-block;margin-top:10px;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--on-accent);background:var(--or);padding:6px 12px;border-radius:2px;transition:background .3s}
.option-card:hover .option-add{background:var(--or-clair)}
.option-card:focus-visible{outline:2px solid var(--or);outline-offset:3px}

/* Process */
#process{padding:clamp(110px,15vh,170px) clamp(20px,5vw,72px);text-align:center;background:var(--bg-2)}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:26px;
  max-width:1200px;margin:60px auto 0;text-align:left}
.step{padding:30px 26px;border:1px solid var(--ivoire-12);border-radius:4px;background:var(--card)}
/* Soanna, 26/07 : « centrer chiffres titre et justifier le reste ». */
.step-num{font-family:var(--serif);font-size:2.6rem;color:transparent;-webkit-text-stroke:1px var(--or);display:block;margin-bottom:14px;text-align:center;width:100%}
.step h3{font-family:var(--serif);font-weight:500;font-size:1.3rem;margin-bottom:10px;text-align:center}
/* `hyphens` est indispensable avec `justify` dans une colonne de 230 px :
   sans césure, les mots longs creusent des rivières blanches. */
/* Césure BORNÉE : sans limite, on obtenait « for-mule » et « formu-laire »,
   trois coupures dans un paragraphe de trois lignes. On n'autorise la césure
   qu'au-delà de 8 signes, avec 4 lettres avant et 3 après — les mots courts
   restent entiers. Propriété ignorée en silence par les vieux navigateurs, qui
   retombent sur la césure libre. */
.step p{color:var(--ivoire-70);font-size:.9rem;line-height:1.7;text-align:justify;
  hyphens:auto;-webkit-hyphens:auto;hyphenate-limit-chars:8 4 3;
  -webkit-hyphenate-limit-before:4;-webkit-hyphenate-limit-after:3}
/* Soanna : « le mot mariage est tout seul » — `pretty` interdit à une ligne de
   n'avoir qu'un mot orphelin. Ignoré en silence par les vieux navigateurs.
   Règle à part : `.hero-sub` est déclaré 3 fois (dont en media query). */
.hero-sub,.mani-body,.sect-body{text-wrap:pretty}
/* `pretty` ne soigne que la DERNIÈRE ligne du bloc ; or aere() découpe le
   manifeste en phrases séparées par <br>, et « en mariage. » terminait la 1re
   phrase, seul sur sa ligne (Soanna, 26/07). `balance` équilibre les lignes de
   CHAQUE phrase (entre deux <br>), donc plus de mot orphelin. */
.mani-body{text-wrap:balance}

/* ═══ Point d'accroche par photo ═══
   `object-fit:cover` recadre TOUJOURS par le milieu. Quand le sujet est ailleurs,
   il sort du cadre : sur « Love You », la mention « VEUX TU M'EPOUSER » est en bas
   de l'image et se retrouvait coupée en deux (Soanna, 26/07).
   Mesuré : image carrée 1400×1400 dans un conteneur de ratio 1,47 → seuls 68 % de
   la hauteur sont visibles, soit de 16 % à 84 %. Les lettres, vers 90 %, tombaient
   dehors. À 75 % de point d'accroche elles rentrent entièrement, sans perdre les
   ballons ni les colonnes de la rotonde.
   Le sélecteur porte sur le nom de fichier : la règle suit la photo PARTOUT où elle
   apparaît (page univers, fiche, panier, suggestions) sans toucher au JS.
   ⚠️ Le nom contient un hash de contenu : si la photo est re-recadrée un jour, le
   nom change et cette règle devient inerte — sans rien casser. */
img[src*="img-8566-8e320b"]{object-position:50% 75%}

/* Rappel discret vers les univers en fin de page (Soanna, 26/07). */
.retour-univers{display:flex;justify-content:center;padding:0 24px 70px}
.retour-univers .btn-ghost{min-width:min(320px,80vw);text-align:center}
.chips{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:44px}
.chips span{font-size:.84rem;color:var(--text);background:#fff;
  border:1px solid rgba(201,162,39,.3);border-radius:100px;padding:12px 22px;
  box-shadow:0 10px 26px -18px rgba(47,36,29,.24)}

/* Reels — vraies demandes */
#reels{padding:clamp(90px,12vh,140px) 0;text-align:center;overflow:hidden}
.reels-row{display:flex;gap:16px;overflow-x:auto;padding:50px clamp(20px,5vw,72px) 20px;
  scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
.reel{flex:0 0 auto;width:min(250px,62vw);aspect-ratio:9/16;border-radius:8px;overflow:hidden;
  position:relative;scroll-snap-align:center;border:1px solid var(--ivoire-12);
  transition:transform .5s var(--ease),border-color .5s}
.reel:hover{transform:translateY(-8px);border-color:var(--or)}
.reel video{width:100%;height:100%;object-fit:cover;display:block}
.reel figcaption{position:absolute;left:0;right:0;bottom:0;padding:36px 16px 14px;
  background:linear-gradient(transparent,rgba(11,9,16,.85));
  font-family:var(--serif);font-style:italic;font-size:1.05rem;color:var(--ivoire)}
.reels-links{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:26px}

/* Partenaires */
#partenaires{padding:clamp(90px,12vh,140px) clamp(20px,5vw,72px);text-align:center;background:var(--bg-2)}
.partners-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;
  max-width:1200px;margin:50px auto 0}
.partner{position:relative;background:#fff;border-radius:6px;aspect-ratio:16/10;display:flex;align-items:center;
  justify-content:center;padding:16px;overflow:hidden;cursor:pointer;
  opacity:.94;transition:opacity .35s,transform .35s var(--ease),box-shadow .35s}
.partner:hover{opacity:1;transform:translateY(-4px);box-shadow:0 16px 34px -16px rgba(47,36,29,.14)}
.partner img{max-width:100%;max-height:100%;object-fit:contain}
.partner-cat{position:absolute;left:0;right:0;bottom:0;padding:12px 8px 7px;
  background:linear-gradient(transparent,rgba(11,9,16,.82));color:var(--ivoire);
  font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;text-align:center;
  opacity:0;transform:translateY(6px);transition:all .35s var(--ease)}
.partner:hover .partner-cat{opacity:1;transform:none}

/* Presse */
#presse{padding:clamp(90px,12vh,140px) clamp(20px,5vw,72px);text-align:center}
.presse-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:22px;max-width:1200px;margin:40px auto 0}
.presse-card{display:block;border:1px solid var(--ivoire-12);border-radius:4px;padding:30px 26px;text-align:left;
  transition:border-color .35s,transform .35s var(--ease),background .35s}
.presse-card:hover{border-color:var(--or);transform:translateY(-5px);background:rgba(210,173,122,.05)}
.presse-card blockquote{font-family:var(--serif);font-style:italic;font-size:1.12rem;line-height:1.55;color:var(--ivoire)}
.presse-card cite{display:block;margin-top:18px;font-family:var(--sans);font-style:normal;
  font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;color:var(--or)}
.presse-arrow{display:block;margin-top:8px;letter-spacing:.14em;color:var(--ivoire-45);transition:color .3s}
.presse-card:hover .presse-arrow{color:var(--or-clair)}

/* Blog */
#blog{padding:clamp(90px,12vh,140px) clamp(20px,5vw,72px);text-align:center;background:var(--bg-2)}
.blog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;max-width:1200px;margin:50px auto 0;text-align:left}
.blog-card{display:flex;flex-direction:column;border:1px solid var(--ivoire-12);border-radius:6px;overflow:hidden;
  transition:transform .4s var(--ease),border-color .4s}
.blog-card:hover{transform:translateY(-6px);border-color:var(--or)}
.blog-img{aspect-ratio:16/10;overflow:hidden}
.blog-img img{width:100%;height:100%;object-fit:cover;transform:scale(1.05);transition:transform 1.1s var(--ease)}
.blog-card:hover .blog-img img{transform:scale(1.06)}
.blog-body{padding:22px 24px 26px;display:flex;flex-direction:column;flex:1}
.blog-date{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--or)}
.blog-body h3{font-family:var(--serif);font-weight:500;font-size:1.35rem;line-height:1.2;margin:10px 0 12px}
.blog-excerpt{color:var(--ivoire-70);font-size:.9rem;line-height:1.7;flex:1}
.blog-more{margin-top:16px;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--or-clair)}
.blog-card:hover .blog-more{color:var(--or)}

/* FAQ */
#faq{padding:clamp(90px,12vh,140px) 24px;max-width:820px;margin:0 auto;text-align:center}
.faq-list{margin-top:50px;text-align:left}
.faq-list details{border-bottom:1px solid var(--ivoire-12)}
.faq-list summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;
  padding:24px 4px;font-family:var(--serif);font-size:1.3rem;font-weight:500;transition:color .3s}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:'+';font-family:var(--sans);font-weight:200;font-size:1.6rem;color:var(--or);transition:transform .35s var(--ease)}
.faq-list details[open] summary{color:var(--or-clair)}
.faq-list details[open] summary::after{transform:rotate(45deg)}
.faq-list p{padding:0 4px 26px;color:var(--ivoire-70);line-height:1.8;font-size:.94rem}

/* Contact */
#contact{padding:clamp(110px,15vh,170px) clamp(20px,5vw,72px);background:var(--bg-2);
  display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,90px);max-width:1200px;margin:0 auto}
.contact-left .serif{margin-bottom:8px}
.contact-btns{display:flex;flex-direction:column;gap:14px;margin-top:38px;max-width:340px}
.contact-socials{margin-top:30px;display:flex;gap:24px}
.contact-socials a{font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ivoire-45);transition:color .3s}
.contact-socials a:hover{color:var(--or-clair)}
.contact-form{display:flex;flex-direction:column;gap:18px}
.contact-form label{display:flex;flex-direction:column;gap:8px;font-size:.72rem;
  letter-spacing:.22em;text-transform:uppercase;color:var(--ivoire-45)}
.contact-form input,.contact-form textarea{background:#fff;border:1px solid var(--ivoire-12);
  border-radius:3px;padding:14px 16px;color:var(--ivoire);font-family:var(--sans);font-size:.95rem;
  transition:border-color .3s;resize:vertical}
.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--or)}
.form-note{font-size:.74rem;color:var(--ivoire-45);letter-spacing:.04em}
/* Remerciement affiché à la place du formulaire après un envoi réussi. */
.contact-merci{font-family:var(--serif);font-size:1.35rem;line-height:1.5;color:var(--text);
  text-align:center;padding:40px 10px}

/* Footer */
footer{padding:70px 24px 40px;text-align:center;border-top:1px solid var(--ivoire-12)}
.foot-logo{font-family:var(--serif);font-size:2rem;letter-spacing:.22em;margin-bottom:14px}
footer p{color:var(--ivoire-45);font-size:.85rem}
/* 6 liens en flex nowrap débordaient de 94 px sur mobile depuis l'ajout des
   liens légaux : le pied de page provoquait un scroll horizontal du site. */
.foot-links{display:flex;flex-wrap:wrap;gap:14px 26px;justify-content:center;
  margin:26px 0;padding:0 18px;max-width:100%}
.foot-links a{font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ivoire-70);transition:color .3s}
.foot-links a:hover{color:var(--or-clair)}
.foot-legal{font-size:.72rem}
.foot-legal span{color:var(--ivoire-45)}

/* ═══ Modal ═══ */
#modal,#optModal,#ficheOptModal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px}
#modal[hidden],#optModal[hidden],#ficheOptModal[hidden]{display:none}
.modal-backdrop{position:absolute;inset:0;background:rgba(5,4,8,.86);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.modal-box{position:relative;background:var(--bg-2);border:1px solid var(--ivoire-12);border-radius:6px;
  max-width:1020px;width:100%;max-height:88vh;overflow:auto;display:grid;grid-template-columns:1fr 1fr;
  animation:modalIn .5s var(--ease)}
@keyframes modalIn{from{opacity:0;transform:translateY(34px) scale(.98)}to{opacity:1;transform:none}}
.modal-close{position:absolute;top:14px;right:14px;z-index:2;background:rgba(255,255,255,.9);border:1px solid var(--ivoire-12);
  color:var(--ivoire);width:40px;height:40px;border-radius:50%;cursor:pointer;font-size:.95rem;transition:all .3s}
.modal-close:hover{border-color:var(--or);color:var(--or-clair)}
.modal-media{position:sticky;top:0;align-self:start;height:min(70vh,560px);min-height:320px}
.modal-media>img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transform:scale(1.05)}
.modal-thumbs{position:absolute;bottom:12px;left:12px;display:flex;gap:8px;z-index:2}
.modal-thumbs img{width:52px;height:52px;object-fit:cover;border-radius:3px;cursor:pointer;
  border:1px solid var(--ivoire-12);opacity:.7;transition:all .3s}
.modal-thumbs img.active,.modal-thumbs img:hover{opacity:1;border-color:var(--or)}
.modal-body{padding:clamp(28px,4vw,48px)}
.modal-uni{font-size:.7rem;letter-spacing:.32em;text-transform:uppercase;color:var(--or);margin-bottom:12px}
.modal-body h3{font-family:var(--serif);font-weight:500;font-size:clamp(1.6rem,3vw,2.3rem);line-height:1.12}
.modal-prix{font-family:var(--serif);font-size:1.45rem;color:var(--or-clair);margin:16px 0 20px}
.modal-desc{color:var(--ivoire-70);line-height:1.8;font-size:.93rem}
.modal-opts{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 8px}
.modal-opts span{font-size:.72rem;letter-spacing:.06em;color:var(--ivoire-70);
  border:1px solid var(--ivoire-12);border-radius:100px;padding:7px 14px}
.modal-ctas{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0 14px}

/* ═══════════ LANDING UNIVERS ═══════════ */
.landing-nav{opacity:1 !important;transform:none !important;
  background:linear-gradient(rgba(248,245,240,.94),rgba(248,245,240,.7) 70%,transparent);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.nav-back{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ivoire-70);transition:color .3s}
.nav-back:hover{color:var(--or-clair)}

/* le film au scroll */
/* Le film tenait sur 420vh (4 écrans) pour laisser de la course au scrub.
   Le scrub est retiré : la vidéo se joue seule et les textes suivent sa
   lecture, donc un seul écran suffit. Sans ça le visiteur défilait quatre
   hauteurs d'écran sur une image épinglée. */
#film{position:relative;height:100vh}  /* film : un seul écran */
.film-pin{position:sticky;top:0;height:100vh;overflow:hidden;background:var(--bg)}
.film-pin video,.film-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
/* film vertical (reels 9:16) : centré, letterbox élégant */
.film-pin.vertical video{width:auto;height:100%;left:50%;right:auto;transform:translateX(-50%)}
.film-pin.vertical::before,.film-pin.vertical::after{content:'';position:absolute;top:0;bottom:0;
  width:1px;background:linear-gradient(transparent,var(--or) 30%,var(--or) 70%,transparent);
  opacity:.35;z-index:1}
.film-pin.vertical::before{left:calc(50% - min(50vh*9/16 + 24px, 50vw))}
.film-pin.vertical::after{right:calc(50% - min(50vh*9/16 + 24px, 50vw))}
.film-frame{opacity:0;will-change:opacity,transform}
.film-overlay{position:absolute;inset:0;
  background:radial-gradient(ellipse at 50% 55%,transparent 30%,rgba(11,9,16,.55) 100%),
             linear-gradient(rgba(11,9,16,.42),transparent 30%,transparent 68%,rgba(11,9,16,.35))}
.film-texts{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}
.beat{position:absolute;max-width:min(860px,88vw);text-align:center;opacity:0;
  font-family:var(--serif);font-weight:300;font-size:clamp(1.9rem,5vw,3.9rem);line-height:1.2;
  color:var(--ivoire);text-shadow:0 2px 30px rgba(47,36,29,.18)}
.beat em{font-style:italic;color:var(--or-clair)}
.film-kicker{position:absolute;top:14vh;left:0;right:0;text-align:center;
  font-size:.72rem;letter-spacing:.42em;text-transform:uppercase;color:var(--or-clair);
  text-shadow:0 1px 14px rgba(47,36,29,.2)}
/* Le texte blanc au scroll devenait illisible sur les plans CLAIRS (la ciné a
   des extérieurs de jour, là où les autres films sont sombres). On lui donne un
   halo sombre localisé — un contour net qui le détache du fond, plus un nuage
   diffus derrière lui — sans assombrir toute la vidéo. Marche sur clair ET sombre. */
.landing-body .beat, body .beat{
  text-shadow:0 1px 2px rgba(0,0,0,.6),0 2px 18px rgba(0,0,0,.62),
              0 0 70px rgba(0,0,0,.6),0 0 130px rgba(0,0,0,.45)}
.landing-body .film-kicker, body .film-kicker{
  text-shadow:0 1px 3px rgba(0,0,0,.7),0 0 24px rgba(0,0,0,.6),0 0 60px rgba(0,0,0,.45)}
.film-hint{position:absolute;bottom:4.5vh;left:0;right:0;display:flex;flex-direction:column;align-items:center;gap:12px}
/* display:flex écrase [hidden]{display:none} de la feuille du navigateur :
   4e occurrence maison du piège (après #cartPay, .cart-field, .cart-foot). */
.film-hint[hidden]{display:none}
.film-hint span{font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;color:var(--ivoire-70);
  text-shadow:0 1px 10px rgba(47,36,29,.2)}

/* intro d'univers */
.uni-intro{padding:clamp(100px,14vh,160px) 24px;text-align:center;max-width:900px;margin:0 auto}
.uni-intro h1{font-family:var(--serif);font-weight:300;font-size:clamp(2.8rem,7vw,5.4rem);line-height:1.05;margin-bottom:22px}
.uni-intro h1 em{font-style:italic;color:var(--uni-accent,var(--or-clair))}
.uni-intro .sect-body{margin-bottom:26px}

/* panneaux scénarios éditoriaux */
.scenes{display:flex;flex-direction:column;gap:clamp(70px,10vh,130px);
  padding:0 clamp(20px,5vw,72px) clamp(90px,12vh,150px);max-width:1240px;margin:0 auto}
.scene{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,4vw,64px);align-items:center}
.scene:nth-child(even) .scene-media{order:2}
.scene-media{position:relative;border-radius:6px;overflow:hidden;aspect-ratio:4/3.2;cursor:pointer}
.scene-media img{width:100%;height:100%;object-fit:cover;transform:scale(1.05);transition:transform 1.4s var(--ease)}
.scene:hover .scene-media img{transform:scale(1.1)}
.scene-prix{position:absolute;bottom:14px;left:14px;background:rgba(11,9,16,.82);color:var(--or-clair);
  font-size:.82rem;letter-spacing:.1em;padding:9px 15px;border-radius:2px;backdrop-filter:blur(6px)}
.scene-body .sect-kicker{margin-bottom:12px}
.scene-body h2{font-family:var(--serif);font-weight:400;font-size:clamp(1.7rem,3.4vw,2.6rem);line-height:1.12}
.scene-sub{color:var(--ivoire-45);font-size:.92rem;margin-top:8px;line-height:1.6}
.scene-desc{color:var(--ivoire-70);font-size:.94rem;line-height:1.8;margin-top:18px}
.scene-opts{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.scene-opts span{font-size:.7rem;letter-spacing:.06em;color:var(--ivoire-70);
  border:1px solid var(--ivoire-12);border-radius:100px;padding:6px 13px}
.scene-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.scene-ctas .btn,.scene-ctas .btn-ghost{padding:13px 26px;font-size:.76rem}

/* autres univers */
.other-unis{padding:clamp(80px,11vh,130px) clamp(20px,5vw,72px);text-align:center;background:var(--bg-2)}
.other-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;max-width:1200px;margin:44px auto 0}
.other-card{position:relative;aspect-ratio:4/5;border-radius:5px;overflow:hidden;display:flex;
  align-items:flex-end;justify-content:center;padding:22px;border:1px solid var(--ivoire-12);
  transition:transform .4s var(--ease),border-color .4s}
.other-card:hover{transform:translateY(-6px);border-color:var(--or)}
.other-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55;transition:opacity .4s}
.other-card:hover img{opacity:.75}
.other-card::after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 40%,rgba(11,9,16,.9))}
.other-card span{position:relative;z-index:1;font-family:var(--serif);font-size:1.5rem;font-weight:400}

/* CTA final landing */
.landing-cta{padding:clamp(100px,14vh,160px) 24px;text-align:center}
.landing-cta .contact-btns{flex-direction:row;justify-content:center;max-width:none;flex-wrap:wrap}

/* ═══════════ ARTICLE BLOG ═══════════ */
.post-hero{position:relative;height:min(58vh,520px);overflow:hidden;display:flex;align-items:flex-end}
.post-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.04)}
.post-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 30%,rgba(11,9,16,.55) 65%,var(--noir))}
.post-hero-in{position:relative;z-index:1;max-width:820px;margin:0 auto;padding:0 24px 46px;width:100%;text-align:center}
.post-hero-in h1{font-family:var(--serif);font-weight:300;font-size:clamp(2rem,5vw,3.4rem);line-height:1.12;margin-top:14px}
.post-body{max-width:720px;margin:0 auto;padding:clamp(50px,7vh,80px) 24px clamp(70px,10vh,120px)}
.post-body p{color:var(--ivoire-70);line-height:1.9;font-size:1.05rem;margin-bottom:1.3em}
.post-body ul{margin:0 0 1.5em;padding-left:0;list-style:none}
.post-body li{position:relative;color:var(--ivoire-70);line-height:1.8;font-size:1.02rem;padding:0 0 .8em 1.6em}
.post-body li::before{content:'✦';position:absolute;left:0;color:var(--or)}
.post-cta{text-align:center;margin:clamp(50px,7vh,80px) 0 clamp(40px,5vh,60px);padding-top:clamp(40px,5vh,60px);border-top:1px solid var(--ivoire-12)}
.post-cta .serif{font-family:var(--serif);font-size:clamp(1.6rem,3.4vw,2.4rem);margin-bottom:26px}
.post-nav{margin-top:60px}

/* ═══════════ PANIER — Ma sélection ═══════════ */
#cartBtn{position:fixed;right:18px;bottom:84px;z-index:58;display:flex;align-items:center;gap:7px;
  background:var(--bg-2);border:1px solid var(--or);color:var(--ivoire);
  padding:12px 16px;border-radius:100px;cursor:pointer;font-family:var(--sans);
  box-shadow:0 10px 30px -10px rgba(47,36,29,.16);transition:transform .3s var(--ease)}
#cartBtn[hidden]{display:none}
#cartBtn:hover{transform:translateY(-2px)}
#cartBtn.pop{animation:cartPop .4s var(--ease)}
@keyframes cartPop{0%{transform:scale(1)}40%{transform:scale(1.18)}100%{transform:scale(1)}}
.cart-ico{font-size:1.1rem}
.cart-count{background:var(--or);color:var(--on-accent);font-size:.74rem;font-weight:500;min-width:20px;height:20px;
  border-radius:100px;display:flex;align-items:center;justify-content:center;padding:0 5px}
#cart{position:fixed;inset:0;height:100dvh;z-index:100;display:flex;justify-content:flex-end}
#cart[hidden]{display:none}
.cart-backdrop{position:absolute;inset:0;background:rgba(5,4,8,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.cart-panel{position:relative;width:min(420px,90vw);height:100%;background:var(--bg-2);
  border-left:1px solid var(--ivoire-12);display:flex;flex-direction:column;animation:cartIn .45s var(--ease)}
@keyframes cartIn{from{transform:translateX(40px);opacity:.4}to{transform:none;opacity:1}}
.cart-head{flex:none;display:flex;align-items:center;justify-content:space-between;padding:26px 26px 18px;border-bottom:1px solid var(--ivoire-12)}
.cart-head-t{display:flex;align-items:baseline;gap:9px;min-width:0}
/* Un séparateur et un chiffre : aucune chaîne à traduire. */
.cart-head-n{font-size:.74rem;letter-spacing:.16em;color:var(--ivoire-45);white-space:nowrap}
.cart-head h3{font-family:var(--serif);font-weight:500;font-size:1.6rem}
.cart-close{background:none;border:none;color:var(--ivoire);font-size:1.1rem;cursor:pointer;transition:color .3s}
.cart-close:hover{color:var(--or-clair)}
/* Le pied cesse d'être la variable d'ajustement. Avant : .cart-items en flex:1
   acceptait de tomber à 0 pendant que .cart-foot, en min-height:auto, ne
   rétrécissait jamais — mesuré 644 px de pied pour 130 px de liste sur mobile,
   660 px pour 64 px sur ordinateur. overflow-x:hidden est explicite : avec
   overflow-y:auto seul, overflow-x se calcule en auto (barre parasite). */
.cart-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;
  overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-padding-bottom:24px;
  scrollbar-width:thin;scrollbar-color:rgba(201,162,39,.45) transparent}
.cart-scroll::-webkit-scrollbar{width:6px}
.cart-scroll::-webkit-scrollbar-thumb{background:rgba(201,162,39,.45);border-radius:3px}
.cart-items{padding:16px 20px}
.cart-plus{padding:0 20px 20px}
.cart-empty{color:var(--ivoire-45);text-align:center;line-height:1.7;padding:50px 20px;font-size:.92rem}
.cart-item{display:flex;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--ivoire-12)}
.cart-item:last-child{border-bottom:0}
.cart-item img{width:68px;height:68px;object-fit:cover;border-radius:4px;flex-shrink:0}
.cart-item-body{flex:1;min-width:0}
.cart-item-cat{font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--or)}
.cart-item-body h4{font-family:var(--serif);font-weight:500;font-size:1.05rem;line-height:1.2;margin:3px 0}
.cart-item-var{font-size:.78rem;color:var(--ivoire-70);line-height:1.4}
.cart-item-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.cart-item-prix{color:var(--or-clair);font-size:.88rem;white-space:nowrap}
.cart-item-del{background:none;border:none;color:var(--ivoire-45);cursor:pointer;font-size:.85rem;transition:color .3s}
.cart-item-del:hover{color:var(--rose)}
.cart-foot{flex:none;padding:14px 20px 18px;border-top:1px solid var(--ivoire-12);
  background:var(--bg);box-shadow:0 -18px 32px -28px rgba(47,36,29,.55)}
/* padding-bottom à part : dans un raccourci, un env() non reconnu invaliderait
   les QUATRE paddings d'un coup (valeur initiale 0). */
.cart-foot{padding-bottom:max(18px,env(safe-area-inset-bottom))}
/* .cart-foot n'a pas de display en CSS, mais la maison a déjà payé ce piège
   deux fois (#cartPay, .cart-field) : on rend [hidden] explicite. */
.cart-foot[hidden]{display:none}
.cart-actions{display:flex;flex-direction:column;gap:8px;margin-top:10px}
/* Padding horizontal resserré : à 375 px de large, « En discuter sur WhatsApp »
   et « Auf WhatsApp besprechen » passaient sur DEUX lignes, ce qui portait la
   barre à 148 px et faisait sortir le 4e article de l'écran. Sur une ligne :
   barre à 129 px et 4 articles sur 4 visibles, en FR, DE et TR (mesuré). */
.cart-actions .btn,.cart-actions .btn-ghost{padding-left:12px;padding-right:12px}
.cart-total{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}
.cart-total span{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ivoire-45)}
.cart-total strong{font-family:var(--serif);font-size:1.7rem;color:var(--or-clair);font-weight:500}
.cart-note{font-size:.76rem;color:var(--ivoire-45);line-height:1.6;margin-bottom:16px}
.cart-foot .btn{width:100%}
.cart-clear{display:block;width:100%;margin-top:12px;background:none;border:none;color:var(--ivoire-45);
  font-size:.74rem;letter-spacing:.1em;cursor:pointer;transition:color .3s}
.cart-clear:hover{color:var(--rose)}

/* modal option (compact) */
.modal-box--sm{max-width:820px;grid-template-columns:.85fr 1fr}
.opt-variant{display:flex;flex-direction:column;gap:8px;margin:6px 0 4px;font-size:.72rem;
  letter-spacing:.18em;text-transform:uppercase;color:var(--ivoire-45)}
.opt-variant[hidden]{display:none}
.opt-variant select{background:#fff;border:1px solid var(--ivoire-12);border-radius:3px;
  padding:12px 14px;color:var(--ivoire);font-family:var(--sans);font-size:.92rem;cursor:pointer}
.opt-variant select:focus{outline:none;border-color:var(--or)}

/* ═══ Responsive ═══ */
@media (max-width:1023px){
  .nav-links{display:none}
  .nav-burger{display:block}
}
@media (max-width:520px){
  .nav-cta{display:none}
}
@media (max-width:860px){
  .uni-mosaic{grid-template-columns:1fr;height:auto;gap:12px}
  .mosaic-card{aspect-ratio:16/11}
  .mosaic-tag{display:none}
  .mosaic-cta{opacity:1;transform:none}
  .modal-box{grid-template-columns:1fr;max-height:92vh}
  .modal-media{min-height:250px;height:250px;position:relative}
  .modal-media>img{position:absolute}
  #contact{grid-template-columns:1fr}
  .hero-press{display:none}
  #film{height:100vh}
  .scene{grid-template-columns:1fr}
  .scene:nth-child(even) .scene-media{order:0}
}
@media (prefers-reduced-motion:reduce){
  #grain,.intro-line,.door-arrow,.glow-title,.cart-panel{animation:none}
  html{scroll-behavior:auto}
}


/* ═══════════ THÈME CLAIR — surcharges texte clair sur vidéo/sombre ═══════════ */
.hero-content, .hero-content h1, .hero-sub{color:var(--light)}
.hero-sub{color:var(--light-70)}
.hero-press{color:var(--light-45)} .hero-press span{color:var(--light-70)}
.beat{color:var(--light)}
.film-hint span{color:var(--light-70)}
.mosaic-content, .mosaic-cta{color:var(--light)}
.reel figcaption{color:var(--light)}
.other-card span{color:var(--light)}
.post-hero-in h1{color:var(--light)}
.uni-intro h1{color:var(--text)}
/* lettres lumineuses (section sombre) : sous-texte clair */
#lettres .sect-body{color:var(--light-70)} .lettres-note{color:var(--light-45)}
/* cartes claires : bordure + fond */
.pack,.option-card,.presse-card,.blog-card,.scene-media,.step,.faq-list details{background:var(--card)}
.pack,.option-card,.scene-media{border-color:var(--ivoire-12)}
.modal-box,.cart-panel{background:var(--bg)}
.contact-form input,.contact-form textarea,.opt-variant select{background:#fff;color:var(--text)}
/* nav claire : texte lisible */
#nav.visible .nav-links a, #nav.visible .nav-logo{color:var(--text)}
.nav-links a{color:var(--ivoire-70)}
/* liseré bas mosaïque : plus discret sur clair */

/* ═══════════════ CLAIR PREMIUM — profondeur, or & émeraude ═══════════════ */
/* sections « secondaires » : champagne plus marqué + dégradé chaud (rythme visuel) */
#serenite,#process,#partenaires,#blog,#contact,.other-unis{
  background:linear-gradient(180deg,#F3EADB 0%,#EADCC6 100%)!important}
/* cartes blanches qui flottent : filet or fin + ombre douce */
.pack,.option-card,.presse-card,.blog-card,.step{
  background:#fff!important;border:1px solid rgba(201,162,39,.24)!important;
  box-shadow:0 16px 42px -22px rgba(47,36,29,.3)!important}
.pack:hover,.option-card:hover,.presse-card:hover,.blog-card:hover{
  border-color:var(--or)!important;box-shadow:0 26px 56px -22px rgba(47,36,29,.4)!important}
/* filet doré sous les titres de section */
.uni-mosaic-section>.serif::after,#enplus>.serif::after,#process>.serif::after,
#blog>.serif::after,#faq>.serif::after,#partenaires>.serif::after,#contact .serif::after,
.other-unis>.serif::after,#serenite>.serif::after{
  content:'';display:block;width:56px;height:2px;margin:20px auto 0;
  background:linear-gradient(90deg,transparent,var(--or),transparent)}
/* kickers dorés */
.sect-kicker{color:var(--or)}
/* manifeste : chiffres plus présents, séparateurs dorés */
.mani-stats{border-top:1px solid rgba(201,162,39,.32);border-bottom:1px solid rgba(201,162,39,.32);
  padding:36px 0;gap:0;margin-top:64px}
.mani-stats div{padding:0 clamp(18px,4vw,56px);border-right:1px solid rgba(201,162,39,.2)}
.mani-stats div:last-child{border-right:none}
.mani-stats strong{color:var(--or);font-size:2.9rem}
/* FAQ : liste posée à même l'ivoire, sans carte blanche. La carte encadrait la
   liste d'un rectangle blanc franc sur fond ivoire, et ses 32 px de marge
   intérieure coupaient les filets avant le bord : deux bandes blanches de
   part et d'autre. On garde ce qui structure — filets dorés pleine largeur et
   « + » or — et on laisse tomber le cadre. */
.faq-list{max-width:780px;margin:50px auto 0;background:transparent;
  border:0;border-top:1px solid rgba(201,162,39,.28);border-radius:0;
  padding:0;box-shadow:none;text-align:left}
/* la règle « cartes claires » plus haut repeignait chaque question en #FCFAF6 :
   sur fond transparent, chaque ligne redevenait une bande claire. */
.faq-list details{background:transparent;border-bottom:1px solid rgba(201,162,39,.28)}
.faq-list summary::after{color:var(--or)}
/* process : numéros en émeraude, chips à filet or */
/* les chiffres d'étape étaient restés en vert émeraude, reliquat du thème
   sombre : on revient à l'or foncé, lisible sur fond clair. */
.step-num{-webkit-text-stroke:1px var(--or-clair);color:transparent}
.chips span{border-color:rgba(201,162,39,.35);color:var(--text)}
/* émeraude en accent : marquee + puces blog */
.marquee-track b{color:var(--emerald)}
.marquee-track span{color:var(--ivoire-45)}
.post-body li::before{color:var(--emerald)}
/* boutons ghost : filet or plus lisible sur clair */
.btn-ghost{border-color:rgba(201,162,39,.45);color:var(--text)}
.btn-ghost:hover{border-color:var(--or);color:var(--or-clair)}
/* presse : filet gauche doré */
.presse-card{border-left:3px solid var(--or)!important}
/* sérénité : prix en or plus grand */
.serenite-prix strong{color:var(--or)}

/* ── Détail de ce que comprend un scénario ── */
.scene-desc p{margin-bottom:1em}
.scene-desc p:last-child{margin-bottom:0}
.scene-inclus{margin:26px 0 4px;padding:22px 24px;background:#fff;border:1px solid rgba(201,162,39,.28);
  border-radius:6px;box-shadow:0 12px 34px -22px rgba(47,36,29,.26)}
.inclus-titre{font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--or);margin-bottom:12px}
.scene-inclus ul{list-style:none;padding:0;margin:0}
.scene-inclus li{position:relative;padding:0 0 .7em 1.5em;color:var(--ivoire-70);font-size:.92rem;line-height:1.65}
.scene-inclus li:last-child{padding-bottom:0}
.scene-inclus li::before{content:'✦';position:absolute;left:0;color:var(--emerald)}
/* modal : même bloc "compris" */
.modal-inclus{margin:18px 0 6px;padding:16px 18px;background:rgba(201,162,39,.07);
  border:1px solid rgba(201,162,39,.28);border-radius:6px}
.modal-inclus p{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--or);margin-bottom:9px}
.modal-inclus ul{list-style:none;padding:0;margin:0}
.modal-inclus li{position:relative;padding:0 0 .5em 1.4em;color:var(--ivoire-70);font-size:.86rem;line-height:1.55}
.modal-inclus li::before{content:'✦';position:absolute;left:0;color:var(--emerald)}
.modal-desc p{margin-bottom:.9em}

/* ── Engagements sous la FAQ ── */
.engagements{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:38px}
.engagements span{font-size:.84rem;color:var(--text);background:#fff;
  border:1px solid rgba(201,162,39,.3);border-radius:100px;padding:12px 22px;
  box-shadow:0 10px 26px -18px rgba(47,36,29,.24)}

/* ── Porte d'entrée : le « faites défiler » ne colle plus au texte ── */
#intro{padding-bottom:clamp(90px,16vh,150px)}
.intro-hint{bottom:clamp(24px,5vh,54px)}

/* ── Bouton fantôme LISIBLE en permanence sur le hero sombre ── */
.hero-ctas .btn-ghost,.landing-cta .btn-ghost{
  color:#fdfaf5;border-color:rgba(236,211,162,.75);background:rgba(11,9,16,.3);
  backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.hero-ctas .btn-ghost:hover,.landing-cta .btn-ghost:hover{
  background:rgba(201,162,39,.9);border-color:var(--or);color:var(--on-accent)}

/* ── Options / lettres : plus de prix affiché, libellé d'action doré ── */
.option-prix,.pack-prix{color:var(--or);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase}

/* ═══════════ Sélecteur de langue ═══════════ */
.lang-switch{position:fixed;top:clamp(10px,1.6vh,18px);right:clamp(14px,2.4vw,28px);z-index:75}
/* place réservée dans la nav pour ne pas chevaucher « Réserver » */
#nav{padding-right:calc(clamp(20px,4vw,56px) + 104px)}
.lang-btn{display:flex;align-items:center;gap:7px;background:rgba(252,250,246,.9);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(201,162,39,.4);
  border-radius:100px;padding:8px 13px;cursor:pointer;font-family:var(--sans);font-size:.74rem;
  letter-spacing:.1em;color:var(--text);transition:all .3s var(--ease)}
.lang-btn:hover,.lang-switch.open .lang-btn{border-color:var(--or);background:rgba(201,162,39,.1)}
.lang-flag{font-size:1rem;line-height:1}
.lang-caret{font-size:.6rem;opacity:.7;transition:transform .3s var(--ease)}
.lang-switch.open .lang-caret{transform:rotate(180deg)}
.lang-menu{position:absolute;top:calc(100% + 10px);right:0;z-index:60;min-width:172px;
  background:#fff;border:1px solid rgba(201,162,39,.3);border-radius:8px;overflow:hidden;
  box-shadow:0 20px 46px -18px rgba(47,36,29,.35);list-style:none;padding:6px;margin:0;
  animation:langIn .25s var(--ease)}
.lang-menu[hidden]{display:none}
@keyframes langIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.lang-menu a{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:5px;
  font-size:.88rem;color:var(--text);transition:background .25s}
.lang-menu a:hover{background:rgba(201,162,39,.12)}
.lang-menu a.on{color:var(--or);font-weight:500;background:rgba(201,162,39,.08)}
.lang-menu span{font-size:1.05rem;line-height:1}
/* sur les pages sombres (landing film en haut), le bouton reste lisible */
.landing-nav .lang-btn{color:var(--text)}
@media (max-width:1023px){ .lang-switch{margin-right:8px} .lang-code{display:none} }
@media (max-width:420px){ .lang-btn{padding:7px 10px} }

/* ═══════════ Toast « ajouté à ma sélection » (landing univers) ═══════════ */
.uni-toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,120%);z-index:80;
  display:flex;align-items:center;gap:16px;padding:14px 20px;border-radius:999px;
  background:#2F241D;color:#F8F5F0;box-shadow:0 18px 44px rgba(47,36,29,.34);
  font-size:.92rem;opacity:0;pointer-events:none;transition:transform .45s cubic-bezier(.2,.8,.2,1),opacity .35s}
.uni-toast.on{transform:translate(-50%,0);opacity:1;pointer-events:auto}
.uni-toast a{color:#E8C55A;text-decoration:none;font-weight:600;white-space:nowrap}
.uni-toast a:hover{text-decoration:underline}
@media(max-width:520px){.uni-toast{left:14px;right:14px;bottom:16px;transform:translateY(120%);
  justify-content:space-between;gap:10px;padding:13px 18px;font-size:.86rem}
  .uni-toast.on{transform:translateY(0)}}
/* .btn-ghost est écrit pour <a> : neutraliser le rendu natif sur <button> */
button.btn-ghost{background:transparent;font-family:inherit;cursor:pointer;-webkit-appearance:none;appearance:none}

/* ═══════════ Icônes réseaux sociaux ═══════════ */
.socials{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.socials a{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;
  border:1px solid rgba(201,162,39,.42);color:#2F241D;background:rgba(255,255,255,.55);
  transition:color .3s,border-color .3s,background .3s,transform .3s}
.socials a svg{width:21px;height:21px;display:block}
.socials a:hover,.socials a:focus-visible{color:#C9A227;border-color:#C9A227;
  background:rgba(201,162,39,.1);transform:translateY(-2px)}
.contact-socials{margin-top:22px}
.foot-socials{justify-content:center;margin:22px 0 6px}
@media(max-width:520px){.socials a{width:42px;height:42px}.socials a svg{width:19px;height:19px}}
/* titres de packs : certains mots composés turcs/allemands sont insécables */
.pack-body h3{overflow-wrap:anywhere;hyphens:auto}
/* mobile : le retour « ← Tous les univers » venait coller le logo (0 px) */
@media(max-width:520px){
  .nav-back{margin-left:14px;max-width:44vw;line-height:1.25}
}

/* ═══════════ Panneaux scénario : galerie + inclusions compactes ═══════════
   Avant : 1 photo de 438 px face à 1790 px de texte étalé (19 lignes courtes
   rendues en paragraphes espacés) → 1352 px de colonne vide. */
/* la règle d'origine fige la vignette : aspect-ratio + overflow:hidden
   masquaient les photos 2 à 4, et align-items:center empêchait l'étirement. */
.scene{align-items:start}
.scene-media{display:flex;flex-direction:column;gap:14px;align-self:start;
  aspect-ratio:auto;overflow:visible;background:none;border:0;border-radius:0}
.scene-media img{width:100%;height:auto;object-fit:cover;border-radius:6px;
  display:block;transform:none}
.scene:hover .scene-media img{transform:none}
.scene-media img:hover{transform:scale(1.02)}
.scene-media{position:relative}
/* le badge prix flottait en bas de la DERNIÈRE photo de la pile : on l'ancre
   en haut de la première, là où l'œil arrive. */
.scene-media .scene-prix{position:absolute;top:14px;left:14px;bottom:auto;right:auto;z-index:2}

/* énumérations d'inclusions : puce dorée discrète, interligne serré */
.scene-liste{list-style:none;margin:6px 0 18px;padding:0}
.scene-liste li{position:relative;padding-left:20px;margin:0 0 7px;line-height:1.5}
.scene-liste li::before{content:'';position:absolute;left:4px;top:.62em;
  width:5px;height:5px;border-radius:50%;background:var(--or,#C9A227);opacity:.75}
/* intertitres (« 💞 Scénario romantique », « 💎 Offre Sérénité ») */
.scene-inter{font-weight:600;letter-spacing:.01em;margin:24px 0 8px}
.scene-desc>p{margin:0 0 13px}

@media(max-width:900px){
  .scene-media{position:static;gap:10px}
  /* le nombre de photos affichées est piloté par equilibrePanneau (JS) */
}
/* colonne photo qui accompagne la lecture quand le scénario a trop peu de
   photos pour remplir la hauteur du texte (posée par equilibreGaleries) */
.scene-media.colle{position:sticky;top:96px}
@media(max-width:900px){.scene-media.colle{position:static;top:auto}}

/* mobile : le sélecteur de langue tombait à 32 px de haut, sous le minimum
   de 44 px recommandé pour une cible tactile (WCAG / iOS / Android). */
@media(max-width:520px){
  .lang-btn{min-height:44px;padding-top:0;padding-bottom:0}
  .lang-menu a{min-height:44px;display:flex;align-items:center}
}

/* ═══════════ Fil TikTok (chargé au clic) ═══════════ */
.tiktok-flux{margin:38px auto 0;max-width:820px;text-align:center}
.tiktok-note{color:var(--text);opacity:.72;margin:0 0 14px;font-size:.95rem}
.tiktok-rgpd{font-size:.78rem;opacity:.55;margin:10px 0 0}
#ttHost{margin-top:22px;display:flex;justify-content:center}
#ttHost iframe{max-width:100%;border-radius:10px}

/* ═══════════ Scénario : vue d'ensemble, détail au clic ═══════════
   Soanna : « on doit voir tous les scénarios avec une petite description,
   et seulement ensuite le pavé de texte qui s'ouvre quand on clique ». */
.scene-accroche{margin:0 0 18px;line-height:1.62;color:var(--ivoire-70)}

.scene-plus{margin:0 0 22px}
.scene-plus > summary{
  display:inline-flex;align-items:center;gap:9px;cursor:pointer;list-style:none;
  padding:11px 20px;border:1px solid var(--ivoire-12);border-radius:999px;
  font-size:.82rem;letter-spacing:.09em;text-transform:uppercase;
  color:var(--text);background:var(--card);
  transition:border-color .3s,background .3s,color .3s}
.scene-plus > summary::-webkit-details-marker{display:none}
.scene-plus > summary::after{content:'';width:7px;height:7px;
  border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;
  transform:rotate(45deg) translate(-2px,-2px);transition:transform .35s}
.scene-plus[open] > summary::after{transform:rotate(-135deg) translate(-2px,-2px)}
.scene-plus > summary:hover{border-color:var(--or);color:var(--or-clair)}
.scene-plus .masquer,.scene-plus[open] .voir{display:none}
.scene-plus[open] .masquer{display:inline}
.scene-plus > .scene-desc{margin-top:20px;animation:ouvre .4s ease both}
@keyframes ouvre{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}


/* ═══ Textes descriptifs justifiés (demande Soanna : les lignes doivent
   s'arrêter au même endroit). Uniquement les paragraphes de description :
   surtout pas les titres, ni les listes courtes, où la justification
   créerait des trous entre les mots.

   Le manifeste et le bloc Sérénité en sont volontairement EXCLUS : ce sont des
   blocs courts posés sous un titre centré, dans une section centrée. Les
   justifier cassait leur axe et les faisait lire comme un pavé de contenu. */
.scene-desc p, .scene-accroche, .post-body p{
  text-align:justify;text-justify:inter-word;hyphens:auto}
/* un intertitre reste un titre : le justifier écarterait ses mots */
.scene-desc p.scene-inter{text-align:left;hyphens:none}

/* centrés, à l'aplomb de leur titre */
.mani-body, #serenite .sect-body{text-align:center;hyphens:none}

@media(max-width:520px){
  /* colonne étroite : la justification y ouvre des rivières blanches */
  .scene-desc p, .scene-accroche, .post-body p{
    text-align:left;hyphens:none}
}

/* visuels non sélectionnables ni glissables (dissuasif, pas infaillible).
   -webkit-touch-callout coupe le menu « Enregistrer l'image » de l'appui long
   sur iOS, que le clic droit bloqué en JS ne couvre pas. Voir js/protect.js. */
img, video{-webkit-user-drag:none;user-select:none;-webkit-user-select:none;
  -webkit-touch-callout:none}

/* ═══════════ FICHE SCÉNARIO ═══════════
   Une page par offre : photos à gauche, choix et prix à droite, description
   dessous. Rien n'est replié — c'est précisément ce que Soanna demandait. */
.page-fiche{background:var(--bg)}
.nav-fiche{position:sticky;top:0;background:rgba(248,245,240,.94);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--ivoire-12);z-index:60}
.fiche{max-width:1180px;margin:0 auto;padding:38px 24px 120px}
.fiche-fil{margin-bottom:26px}
.fiche-fil a{color:var(--ivoire-45);text-decoration:none;font-size:.84rem;
  letter-spacing:.06em;transition:color .25s var(--ease)}
.fiche-fil a:hover{color:var(--or-clair)}

.fiche-haut{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
  gap:52px;align-items:start}

/* ── galerie ── */
.fiche-galerie{position:sticky;top:96px}
/* Photo de fiche à sa taille réelle : image ENTIÈRE, aucune coupe. Le cadre
   4/5 en object-fit:cover rognait les côtés — après le débandage des photos
   (ratio élargi) « MARRY ME » ne montrait plus que « RRY » (Soanna, 27/07).
   height:auto = ratio naturel : sujet entier, sans bande blanche (déjà retirée)
   ni marge ivoire. */
.fiche-photo{width:100%;height:auto;border-radius:3px;
  display:block;background:var(--bg-2)}
.fiche-vignettes{display:flex;gap:10px;margin-top:12px}
.fiche-vignette{flex:1;padding:0;border:1px solid transparent;background:none;
  border-radius:2px;overflow:hidden;cursor:pointer;opacity:.55;
  transition:opacity .25s var(--ease),border-color .25s var(--ease)}
.fiche-vignette img{width:100%;aspect-ratio:1;object-fit:cover;display:block}
.fiche-vignette.on,.fiche-vignette:hover{opacity:1;border-color:var(--or)}

/* ── colonne d'achat ── */
.fiche-achat h1{font-family:var(--serif);font-weight:300;font-size:clamp(2.1rem,4.4vw,3.2rem);
  line-height:1.08;margin:.12em 0 .18em}
.fiche-sub{color:var(--ivoire-70);font-size:1.02rem;line-height:1.5;margin-bottom:18px}
.fiche-accroche{color:var(--ivoire-70);line-height:1.72;margin-bottom:30px;
  text-align:justify;text-justify:inter-word;hyphens:auto}

.fiche-axes{display:flex;flex-direction:column;gap:16px;margin-bottom:26px}
.fiche-axe label,.opt-axe label{display:block;font-size:.74rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ivoire-45);margin-bottom:7px}
.fiche-axe select,.opt-axe select{width:100%;padding:13px 15px;font-family:var(--sans);font-size:.95rem;
  color:var(--text);background:var(--card);border:1px solid var(--ivoire-12);
  border-radius:2px;cursor:pointer;appearance:none;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A9811B' stroke-width='1.6'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 13px center;background-size:17px;
  transition:border-color .25s var(--ease)}
.fiche-axe select:hover,.fiche-axe select:focus,.opt-axe select:hover,.opt-axe select:focus{border-color:var(--or);outline:none}
.opt-axes{display:flex;flex-direction:column;gap:14px;margin:2px 0 8px;text-align:left}
.opt-axes[hidden]{display:none}

/* ── options en supplément ── */
.fiche-options{border-top:1px solid var(--ivoire-12);
  border-bottom:1px solid var(--ivoire-12);margin-bottom:26px}
.fiche-options>summary{list-style:none;cursor:pointer;padding:17px 0;
  font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ivoire-70);display:flex;align-items:center;gap:9px;
  transition:color .25s var(--ease)}
.fiche-options>summary::-webkit-details-marker{display:none}
.fiche-options>summary::after{content:'+';margin-left:auto;font-size:1.15rem;
  color:var(--or-clair);transition:transform .3s var(--ease)}
.fiche-options[open]>summary::after{transform:rotate(45deg)}
.fiche-options>summary:hover{color:var(--or-clair)}
.fiche-options-n{color:var(--or-clair);letter-spacing:.06em}
.fiche-options-liste{padding-bottom:16px;display:flex;flex-direction:column;gap:2px}
.fiche-option{display:flex;align-items:center;gap:12px;padding:10px 2px;cursor:pointer;
  border-radius:2px;transition:background .2s var(--ease)}
.fiche-option:hover{background:var(--bg-2)}
.fiche-option input{width:17px;height:17px;accent-color:var(--or-clair);cursor:pointer;flex:none}
.fiche-option-nom{flex:1;font-size:.93rem;color:var(--ivoire-70);line-height:1.4}
.fiche-option-prix{font-size:.86rem;color:var(--or-clair);white-space:nowrap}

/* ── prix ── */
.fiche-prix{display:flex;align-items:baseline;justify-content:space-between;
  gap:16px;padding:6px 0 4px}
.fiche-prix-label{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ivoire-45)}
.fiche-prix-val{font-family:var(--serif);font-size:2.15rem;color:var(--or-clair);
  font-weight:400;line-height:1}
.fiche-indispo{font-size:.86rem;color:var(--ivoire-45);line-height:1.5;margin-top:6px}

.fiche-ctas{display:flex;flex-direction:column;gap:11px;margin-top:24px}
.fiche-ctas .btn,.fiche-ctas .btn-ghost{width:100%;text-align:center;
  justify-content:center;border:none;font-family:var(--sans);cursor:pointer}
.fiche-ctas .btn-ghost{border:1px solid var(--or)}

/* ── description : cartes « Écrin » (Soanna, 28/07) ──
   La description est sous le titre, dans la colonne d'achat, et découpée en
   SECTIONS (voir paragraphes() dans fiche.js) : intro, Scénario (propre à
   l'offre) et Offre Sérénité (le SOCLE COMMUN à toutes les offres). Chaque
   section devient une carte claire coiffée d'un liseré doré ; la Sérénité se
   distingue en champagne cadré d'or — le relief que Soanna avait sur son site.
   Ciblé sous .fiche-desc : n'affecte PAS les pages « univers ». i18n-safe : la
   Sérénité est repérée par une CLASSE (posée en JS via l'emoji 💎), jamais par
   le texte, donc le rendu est identique dans les 5 langues.
   Largeur : jamais plein écran — colonne de droite sur ordi (~575px max via la
   grille .fiche-haut), pleine largeur de colonne avec marges de page sur mobile. */
.fiche-desc{max-width:none;margin:14px 0 6px}

.fiche-desc .desc-sec{
  position:relative;
  background:var(--card);
  border:1px solid var(--ivoire-12);
  border-radius:16px;
  padding:28px 26px 26px;
  text-align:center;
  box-shadow:0 1px 1px rgba(47,36,29,.03), 0 16px 34px -24px rgba(47,36,29,.30);
}
.fiche-desc .desc-sec + .desc-sec{margin-top:20px}
/* liseré doré centré en tête de chaque carte (signature de son ancien site) */
.fiche-desc .desc-sec::before{
  content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:46px;height:3px;border-radius:0 0 3px 3px;
  background:linear-gradient(90deg,var(--or),var(--or-clair))}
.fiche-desc .desc-sec p{
  margin:0 0 12px;line-height:1.7;color:var(--text);text-align:center;hyphens:none}
.fiche-desc .desc-sec p:last-child{margin-bottom:0}
.fiche-desc .desc-sec .scene-inter{
  font-family:var(--serif);font-weight:600;font-size:1.5rem;line-height:1.2;
  margin:0 0 12px;color:var(--text);text-align:center}
.fiche-desc .desc-sec .scene-liste{
  margin:12px 0 0;padding:0;display:inline-block;text-align:left}
.fiche-desc .desc-sec .scene-liste li{
  padding-left:22px;margin:8px 0;line-height:1.55;color:var(--text)}
.fiche-desc .desc-sec--intro p:first-child{
  font-family:var(--serif);font-size:1.26rem;line-height:1.5;color:var(--text)}
/* Accroche — la phrase-signature « Découvrez… » qui introduit les deux modules :
   sa propre petite bulle, en Playfair (--serif) et en gras (Soanna, 28/07). */
.fiche-desc .desc-sec--accroche p{font-family:var(--serif);font-weight:600;color:var(--text)}
/* Sérénité — MÊME carte simple que les autres (Soanna, 28/07 : « rester sur du
   simple », pas de doré ni de fond plus foncé). La dissociation « deux modules
   d'une même offre » vient des deux bulles séparées + la pastille « + » entre
   elles, pas d'un fond différent. Donc aucun style propre : elle hérite de
   .desc-sec (carte claire + liseré doré discret, comme le Scénario). */

/* Le « + » d'origine de Soanna, entre Scénario et Sérénité (posé par fiche.js) :
   pastille dorée décorative. Elle porte l'écart entre les deux cartes (la règle
   .desc-sec + .desc-sec ne s'applique plus, un .desc-plus s'intercale). */
.fiche-desc .desc-plus{display:flex;justify-content:center;margin:16px 0}
.fiche-desc .desc-plus span{
  display:flex;align-items:center;justify-content:center;
  width:44px;height:44px;border-radius:50%;
  background:var(--card);border:1px solid var(--or);
  color:var(--or-clair);font-family:var(--sans);font-size:1.5rem;font-weight:300;line-height:1;
  box-shadow:0 8px 20px -12px rgba(47,36,29,.4)}

@media(max-width:900px){
  .fiche-haut{grid-template-columns:1fr;gap:34px}
  .fiche-galerie{position:static}
  .fiche-photo{aspect-ratio:auto}
  .fiche{padding:26px 20px 110px}
  .fiche-desc{margin-top:14px}
  .fiche-desc .desc-sec{padding:24px 20px 22px;border-radius:14px}
  .fiche-desc .desc-sec + .desc-sec{margin-top:16px}
  .fiche-desc .desc-sec .scene-inter{font-size:1.35rem}
  .fiche-desc .desc-sec--intro p:first-child{font-size:1.15rem}
  .fiche-desc .desc-plus{margin:12px 0}
  .fiche-desc .desc-plus span{width:40px;height:40px;font-size:1.35rem}
}
@media(max-width:520px){
  .fiche-accroche{text-align:left;hyphens:none}
  .fiche-prix-val{font-size:1.85rem}
}

/* Partage — volontairement discret : c'est un geste secondaire, il ne doit pas
   concurrencer « Réserver ». Idée de Matthieu, validée par Soanna. */
.fiche-partage{display:flex;align-items:center;justify-content:center;gap:9px;
  width:100%;margin-top:3px;padding:13px;background:none;border:none;cursor:pointer;
  font-family:var(--sans);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ivoire-45);transition:color .25s var(--ease)}
.fiche-partage svg{width:16px;height:16px;flex:none}
.fiche-partage:hover{color:var(--or-clair)}
.fiche-partage:focus-visible{outline:2px solid var(--or);outline-offset:3px;border-radius:2px}

/* ═══ Panneau univers → fiche ═══
   Le « Voir le détail » qui dépliait un volet est remplacé par un lien vers la
   fiche du scénario (demande de Soanna). La photo devient donc réellement
   cliquable : son cursor:pointer, qui mentait jusqu'ici, devient juste. */
a.scene-media{display:block;text-decoration:none}

.scene-lien{color:inherit;text-decoration:none;transition:color .3s var(--ease)}
.scene-lien:hover{color:var(--or-clair)}

.scene-fiche{display:inline-flex;align-items:center;gap:9px;margin-bottom:26px;
  padding:13px 26px;border:1px solid var(--or);border-radius:2px;
  color:var(--or-clair);text-decoration:none;font-size:.78rem;letter-spacing:.16em;
  text-transform:uppercase;transition:background .3s var(--ease),color .3s var(--ease)}
.scene-fiche svg{width:17px;height:17px;flex:none;transition:transform .3s var(--ease)}
.scene-fiche:hover{background:var(--or);color:var(--on-accent)}
.scene-fiche:hover svg{transform:translateX(4px)}

/* ═══ Cohérence du curseur ═══
   Le curseur doit dire la vérité sur ce qu'on survole. Avant : les photos et le
   badge de prix affichaient une main sans être cliquables, les pastilles
   d'inclusions affichaient un curseur d'édition alors qu'elles ressemblent à des
   boutons — d'où une alternance main / texte / flèche incohérente d'un bout à
   l'autre de la page, et des sélections de texte par accident.

   Règle : main = cliquable ; barre d'édition = uniquement les vrais blocs de
   lecture ; flèche = tout le reste. */
h1, h2, h3, h4, .sect-kicker, .scene-sub, .scene-prix, .scene-inter,
.scene-liste li, .scene-opts span, .film-kicker, .foot-logo, .fiche-prix,
.fiche-axe label, .fiche-option-prix{
  cursor:default;-webkit-user-select:none;user-select:none}

/* mais un titre reste cliquable quand il porte un lien */
h1 a, h2 a, h3 a, h4 a{cursor:pointer}
/* et le badge de prix est dans la photo, elle-même cliquable */
a.scene-media .scene-prix{cursor:pointer}

/* ═══════════ AVIS GOOGLE ═══════════
   Bloc de preuve sociale alimenté en direct par l'Edge Function maia-avis.
   Rendu maison dans la charte — aucun widget tiers, aucun cookie. */
#avis{padding:clamp(90px,13vh,150px) 24px;text-align:center;background:var(--bg-2)}
.avis-note{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin:26px 0 44px}
.avis-score{font-family:var(--serif);font-size:2.6rem;font-weight:400;color:var(--or-clair);line-height:1}
/* Soanna, 26/07 : « une mise en forme plus parlante Google, les clients
   fonctionnent avec les habitudes visuelles, ça les rassure ». D'où l'ambre
   officiel #FBBC04 des étoiles Google, le vrai logo en 4 couleurs et la
   pastille d'initiale de l'auteur. Tout est dessiné par nous : aucun script
   tiers, aucun cookie, donc pas de bandeau RGPD. */
.avis-etoiles{color:#FBBC04;font-size:1.5rem;letter-spacing:2px}
.avis-count{font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ivoire-45)}
.avis-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:1100px;margin:0 auto 40px}
.avis-carte{background:var(--card);border:1px solid var(--ivoire-12);border-radius:4px;
  padding:26px 24px;text-align:left;display:flex;flex-direction:column;gap:14px;
  box-shadow:0 10px 40px rgba(47,36,29,.05)}
.avis-carte-haut{display:flex;align-items:center;justify-content:space-between}
.avis-carte-etoiles{color:#FBBC04;font-size:1rem;letter-spacing:1px}
.avis-g{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px}
.avis-logo-g{width:100%;height:100%;display:block}
.avis-carte blockquote{margin:0;font-size:.96rem;line-height:1.62;color:var(--ivoire-70);
  text-align:justify;text-justify:inter-word;hyphens:auto}
.avis-carte figcaption{display:flex;align-items:baseline;justify-content:space-between;gap:10px;
  margin-top:auto;padding-top:6px}
.avis-nom{font-family:var(--serif);font-size:1.05rem;color:var(--text)}
.avis-nom{display:inline-flex;align-items:center;gap:9px}
.avis-ini{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--or);color:#fff;font-family:var(--sans);font-size:.74rem;font-weight:500;flex:none;letter-spacing:0}
.avis-date{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ivoire-45);white-space:nowrap}
@media(max-width:900px){ .avis-grid{grid-template-columns:1fr 1fr} }
@media(max-width:600px){
  .avis-grid{grid-template-columns:1fr}
  .avis-carte blockquote{text-align:left;hyphens:none}
}

/* Réservation dans le panier — champs + rappel de l'acompte */
.cart-field{display:block;margin:0 0 12px;font-size:.7rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ivoire-45);text-align:left}
.cart-field span{display:block;margin-bottom:6px}
/* Prénom + Nom côte à côte ; empilés sous 360 px pour ne pas trop tasser. */
.cart-duo{display:flex;gap:10px}
.cart-duo .cart-field{flex:1;min-width:0}
@media(max-width:360px){.cart-duo{flex-direction:column;gap:0}}
/* Champ obligatoire non rempli après une tentative de réservation. */
.cart-field input.manque{border-color:#c0392b;background:#fdf3f2}
.cart-field input,.cart-field textarea{width:100%;padding:11px 13px;font-family:var(--sans);
  font-size:.92rem;text-transform:none;letter-spacing:normal;color:var(--text);background:#fff;
  border:1px solid var(--ivoire-12);border-radius:3px;resize:vertical}
.cart-field input:focus,.cart-field textarea:focus{outline:none;border-color:var(--or)}
.cart-acompte{margin:6px 0 0;font-size:.76rem;line-height:1.45;
  color:var(--ivoire-45);text-align:center}
.cart-acompte strong{color:var(--or);font-weight:500}
/* Cases de consentement (CGV + renonciation < 15 j) — mêmes tons feutrés que
   .cart-acompte ; cases natives teintées or. */
.cart-consent{margin:10px 0 0;display:flex;flex-direction:column;gap:7px}
.cart-consent[hidden]{display:none}
.consent-line{display:flex;gap:9px;align-items:flex-start;font-size:.76rem;line-height:1.45;cursor:pointer}
.consent-line input{flex:none;margin-top:2px;width:14px;height:14px;accent-color:var(--or)}
.consent-line a{text-decoration:underline}
.consent-line[hidden]{display:none}
#cartPay[hidden]{display:none}
#cartPay:disabled{opacity:.6;cursor:default}

/* Page de retour après paiement (merci-reservation.html) */
.merci-carte{max-width:640px;margin:34px auto 0;padding:30px 32px;background:#fff;
  border:1px solid rgba(201,162,39,.3);border-radius:4px;
  box-shadow:0 16px 40px -28px rgba(47,36,29,.3);text-align:left}
.merci-carte p{margin:0 0 14px;font-size:.98rem;line-height:1.7;color:var(--text)}
.merci-carte p:last-child{margin-bottom:0}
.merci-fort{font-size:1.05rem!important}
.merci-ref{font-size:.78rem!important;letter-spacing:.08em;color:var(--ivoire-45)!important;
  padding-top:14px;border-top:1px solid var(--ivoire-12)}
.merci-ctas{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:30px}

/* Options « En + » dans la fiche scénario — vignettes cliquables.
   Remplacent les anciennes cases à cocher, qui prenaient d'office la première
   formule (bouquet à 60 € au lieu des 290 € possibles). Le client ouvre la
   vignette, choisit sa formule, voit la photo correspondante, et l'ajoute. */
.fiche-enplus{border-top:1px solid var(--ivoire-12);padding-top:20px;margin-bottom:22px}
.fiche-enplus-titre{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ivoire-45);margin:0 0 14px}
.fiche-enplus-cartes{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px}
.fiche-opt-carte{display:flex;flex-direction:column;padding:0;overflow:hidden;text-align:left;
  background:#fff;border:1px solid var(--ivoire-12);border-radius:4px;cursor:pointer;
  transition:border-color .3s var(--ease),transform .3s var(--ease),box-shadow .3s}
.fiche-opt-carte:hover{border-color:var(--or);transform:translateY(-3px);
  box-shadow:0 12px 26px -20px rgba(47,36,29,.4)}
.fiche-opt-carte img{width:100%;aspect-ratio:4/3;object-fit:cover;transform:scale(1.05)}
.fiche-opt-nom{display:block;padding:9px 10px 0;font-family:var(--sans);font-size:.78rem;
  line-height:1.35;color:var(--text)}
.fiche-opt-cta{display:block;padding:5px 10px 10px;font-size:.66rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--or)}
.fiche-enplus-choix{margin-top:14px;display:flex;flex-direction:column;gap:6px}
.fiche-enplus-choix:empty{margin-top:0}
.fiche-choix-l{display:flex;align-items:center;gap:10px;padding:9px 12px;background:var(--bg-2);
  border:1px solid rgba(201,162,39,.28);border-radius:3px;font-size:.82rem}
.fiche-choix-n{flex:1;color:var(--text);line-height:1.35}
.fiche-choix-p{color:var(--or);white-space:nowrap}
.fiche-choix-x{background:none;border:0;color:var(--ivoire-45);cursor:pointer;
  font-size:.9rem;padding:0 2px;line-height:1}
.fiche-choix-x:hover{color:var(--text)}
#fOptAdd:disabled{opacity:.55;cursor:default}

/* Suggestions d'options dans le panier (« Pour parfaire votre demande »).
   Reprend le module que Soanna avait sur Shopify. Volontairement discret :
   3 vignettes maximum, pas de relance, pas de bandeau criard. */
.cart-sugg{margin-top:4px;padding-top:18px;border-top:1px solid var(--ivoire-12)}
.cart-sugg[hidden]{display:none}
.cart-sugg-titre{margin:0 0 10px;font-size:.7rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ivoire-45)}
.cart-sugg-liste{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.cart-sugg-c{display:flex;flex-direction:column;gap:6px;padding:0 0 8px;overflow:hidden;
  background:#fff;border:1px solid var(--ivoire-12);border-radius:4px;cursor:pointer;
  text-align:center;transition:border-color .3s var(--ease),transform .3s var(--ease)}
.cart-sugg-c:hover{border-color:var(--or);transform:translateY(-2px)}
.cart-sugg-c img{width:100%;aspect-ratio:1/1;object-fit:cover;transform:scale(1.05)}
.cart-sugg-n{padding:0 6px;font-family:var(--sans);font-size:.68rem;line-height:1.3;
  color:var(--text)}

/* Prix affichés sur les vignettes (transparence demandée par Soanna le 25/07,
   après avoir d'abord voulu les masquer). L'accent doré les rend lisibles sans
   crier : ce n'est pas une étiquette promotionnelle. */
/* ⚠️ `.option-add` était la pastille dorée du bouton « Découvrir » (fond doré,
   texte contrasté). Maintenant qu'elle affiche un PRIX, on retire la pastille :
   un prix n'est pas un bouton, et le doré sur doré rendait le texte invisible. */
.option-add{background:none!important;padding:0!important;margin-top:8px;
  color:var(--or)!important;font-size:.76rem;letter-spacing:.1em;font-weight:400}
.option-card:hover .option-add{background:none!important;color:var(--or-clair)!important}
.pack-prix{color:var(--or)}
.fiche-opt-cta{color:var(--or)}
.cart-sugg-p{display:block;padding:0 6px 2px;font-size:.64rem;letter-spacing:.04em;color:var(--or)}

/* Bouton flottant : menu des canaux de contact (demande Soanna du 25/07 —
   ses clients sans WhatsApp étaient perdus en cours de route). */
#contactMenu{position:fixed;right:22px;bottom:96px;z-index:99;width:236px;padding:14px;
  background:#fff;border:1px solid rgba(201,162,39,.34);border-radius:8px;
  box-shadow:0 22px 50px -26px rgba(47,36,29,.5);animation:contactIn .22s var(--ease)}
#contactMenu[hidden]{display:none}
@keyframes contactIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.contact-titre{margin:0 0 10px;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ivoire-45);line-height:1.4}
.contact-canal{display:flex;align-items:center;gap:11px;padding:10px 10px;border-radius:4px;
  font-family:var(--sans);font-size:.9rem;color:var(--text);cursor:pointer;
  transition:background .2s var(--ease)}
.contact-canal:hover{background:var(--bg-2)}
.contact-ico{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;
  border-radius:50%;background:var(--bg-2);font-size:.82rem;flex:none}
.contact-wa .contact-ico{background:rgba(37,211,102,.16)}
#waFloat.ouvert{transform:scale(.94)}
@media (max-width:600px){
  #contactMenu{right:14px;bottom:88px;width:calc(100vw - 28px);max-width:280px}
}

/* Prix du scénario seul, avant le bloc d'options (demande Soanna du 25/07).
   Volontairement plus discret que le Total : c'est un repère, pas la somme
   finale. Le Total, lui, reste l'information qui conclut la fiche. */
.fiche-prix-base{display:flex;align-items:baseline;justify-content:space-between;gap:14px;
  padding:14px 0 16px;border-top:1px solid var(--ivoire-12)}
.fiche-prix-base-lab{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ivoire-45)}
.fiche-prix-base-val{font-family:var(--serif);font-size:1.5rem;font-weight:400;color:var(--text)}
