/* ══ L’ÉCRIN BALINAIS ══
   Feuille propre aux deux pages du bien : /studio-balinais-montelimar et
   /carte-cadeau-bali. Chargée après style.css, jamais ailleurs.
   Univers Fletchy : or mesuré, Inter, et Fraunces déjà servie à l’accueil.
   Le récit alterne la nuit (brun-noir) et le jour (ivoire, sable) ; le motif
   propre au studio est le voilage blanc du baldaquin.
   Toute la couche immersive — voilages, épinglages, révélations, bascule
   d’ambiance — vit sous html.js-bali, posée par le script en ligne de
   l’en-tête. Sans JavaScript ou en mouvement réduit, rien ne part masqué. */

/* Couleurs d’ambiance déclarées pour pouvoir s’interpoler pendant la bascule. */
@property --m-bg{syntax:'<color>';inherits:true;initial-value:#110d0b}
@property --m-fg{syntax:'<color>';inherits:true;initial-value:#f4ede3}
@property --m-fg2{syntax:'<color>';inherits:true;initial-value:#b9b3ab}
@property --m-accent{syntax:'<color>';inherits:true;initial-value:#c9a96e}
@property --m-line{syntax:'<color>';inherits:true;initial-value:rgba(244,237,227,.14)}

/* ══ JETONS ══
   Contrastes mesurés : ivoire sur nuit 16,6:1, --b-ivoire-2 9,3:1, or 8,6:1 ;
   encre sur jour 15,5:1, --b-encre-2 6,7:1 (6:1 sur sable), --b-or-jour 5,2:1
   (4,7:1 sur sable). L’or Fletchy reste réservé aux fonds sombres. */
.bali-page{
  --b-nuit:#110d0b;
  --b-nuit-2:#1a1411;
  --b-ivoire:#f4ede3;
  --b-ivoire-2:#b9b3ab;
  --b-jour:#f6f0e7;
  --b-sable:#ece2d3;
  --b-encre:#1d1814;
  --b-encre-2:#5b524b;
  --b-or:#c9a96e;
  --b-or-clair:#e8d5b0;
  --b-or-jour:#7d5e2b;
  --b-serif:'Fraunces',Georgia,'Times New Roman',serif;
  --b-ease:cubic-bezier(.16,1,.3,1);
  --b-gutter:clamp(20px,5.5vw,88px);
  --b-wrap:min(1240px,calc(100% - 2 * var(--b-gutter)));
  background:var(--b-nuit);
}

/* ══ AMBIANCES ══
   Sans la couche immersive, chaque section porte sa propre ambiance.
   Avec elle, .bali-main porte l’ambiance courante (data-now) et la fait
   glisser d’une couleur à l’autre ; les sections deviennent transparentes. */
.bali-main,
html:not(.js-bali) .bali-main [data-mood="nuit"]{--m-bg:var(--b-nuit);--m-fg:var(--b-ivoire);--m-fg2:var(--b-ivoire-2);--m-accent:var(--b-or);--m-line:rgba(244,237,227,.14)}
html:not(.js-bali) .bali-main [data-mood="jour"],
html.js-bali .bali-main[data-now="jour"]{--m-bg:var(--b-jour);--m-fg:var(--b-encre);--m-fg2:var(--b-encre-2);--m-accent:var(--b-or-jour);--m-line:rgba(29,24,20,.14)}
html:not(.js-bali) .bali-main [data-mood="sable"],
html.js-bali .bali-main[data-now="sable"]{--m-bg:var(--b-sable);--m-fg:var(--b-encre);--m-fg2:var(--b-encre-2);--m-accent:var(--b-or-jour);--m-line:rgba(29,24,20,.16)}
.bali-main{display:block;background:var(--m-bg);color:var(--m-fg)}
html.js-bali .bali-main{transition:--m-bg 1.2s ease,--m-fg 1.2s ease,--m-fg2 1.2s ease,--m-accent 1.2s ease,--m-line 1.2s ease}
.bali-sec{position:relative;background:var(--m-bg);color:var(--m-fg);padding:clamp(96px,15vh,176px) 0}
html.js-bali .bali-sec{background:transparent}
.bali-main em{font-style:italic;color:inherit}
.bali-wrap{width:var(--b-wrap);margin-inline:auto}

/* Navigation : sur une section de nuit, la barre défilée passe au brun-noir. */
html.bali-mood-nuit #nav.scrolled{background:rgba(17,13,11,.8);border-bottom-color:rgba(244,237,227,.1)}
html.bali-mood-nuit #nav.scrolled .nav-logo{color:#fff}
html.bali-mood-nuit #nav.scrolled .nav-logo-img{filter:invert(1)}
html.bali-mood-nuit #nav.scrolled .nav-links>li>a:not(.nav-escape):not(.nav-cta){color:rgba(255,255,255,.86)}
html.bali-mood-nuit #nav.scrolled .nav-hamburger span{background:#fff}
html.bali-mood-jour #nav.scrolled{background:rgba(246,240,231,.86)}

/* Bouton or : texte brun-noir (8,6:1) plutôt que blanc (2,2:1). */
.bali-page .btn-gold{color:var(--b-nuit)}
.bali-page .btn-gold:hover{background:var(--b-or-clair);color:var(--b-nuit)}

/* ══ TYPOGRAPHIE ══ */
.bali-eyebrow{display:flex;align-items:center;gap:14px;font:600 11px/1.5 'Inter',sans-serif;letter-spacing:.24em;text-transform:uppercase;color:var(--m-accent);margin:0 0 28px}
.bali-eyebrow::before{content:'';flex:none;width:32px;height:1px;background:currentColor;opacity:.6}
.bali-eyebrow--center{justify-content:center}
.bali-eyebrow--center::after{content:'';flex:none;width:32px;height:1px;background:currentColor;opacity:.6}
.bali-h2{font-family:var(--b-serif);font-weight:400;font-size:clamp(42px,6.4vw,100px);line-height:.98;letter-spacing:-.03em;color:var(--m-fg);margin:0 0 32px}
.bali-h2 em{color:var(--m-accent)}
.bali-h2--md{font-size:clamp(36px,4.6vw,72px)}
.bali-h2 .l{display:block;overflow:hidden;padding:0 .1em .1em 0;margin-bottom:-.1em}
.bali-h2 .l>span{display:block}
.bali-lead{font-size:clamp(16px,1.25vw,18px);line-height:1.8;color:var(--m-fg2);max-width:46ch;margin:0}
.bali-lead--lg{font-family:var(--b-serif);font-size:clamp(22px,2.2vw,32px);line-height:1.4;letter-spacing:-.01em;color:var(--m-fg);max-width:30ch}
.bali-lead a,.bali-note a{color:var(--m-fg);font-weight:500;text-decoration:none;border-bottom:1px solid var(--m-accent);transition:color .2s}
.bali-lead a:hover,.bali-note a:hover{color:var(--m-accent)}
.bali-page a[href^="tel:"]{white-space:nowrap}
.bali-aside{margin:22px 0 0;padding-left:16px;border-left:1px solid var(--m-accent);font-size:14px;line-height:1.7;color:var(--m-fg2);max-width:46ch}
.bali-hint{margin:28px 0 0;font-size:12px;letter-spacing:.06em;color:var(--m-fg2)}
.bali-note{font-size:13px;line-height:1.7;color:var(--m-fg2);margin:24px 0 0;max-width:52ch}
.bali-chap-num{display:flex;align-items:center;gap:16px;font:600 11px/1 'Inter',sans-serif;letter-spacing:.24em;text-transform:uppercase;color:var(--m-accent);margin:0 0 26px}
.bali-roman{font-family:var(--b-serif);font-style:italic;font-weight:400;font-size:30px;line-height:1;letter-spacing:0;text-transform:none;padding-right:16px;border-right:1px solid var(--m-line)}

/* ══ PHOTOGRAPHIES ══
   Chaque photo garde son ratio natif : aucun recadrage hors du hero, du
   bandeau balnéo épinglé sur grand écran et des fonds de section. */
.bali-frame{position:relative;margin:0}
.bali-ph{overflow:hidden;background:rgba(127,112,98,.12)}
.bali-ph img{display:block;width:100%;height:auto}
.bali-story img[onclick]{cursor:zoom-in;transition:transform 1.4s var(--b-ease)}
.bali-story img[onclick]:focus-visible{outline:2px solid var(--m-accent);outline-offset:-6px;border-radius:0}
@media(hover:hover){.bali-story .bali-ph:hover img[onclick]{transform:scale(1.035)}}
.bali-frame figcaption,.bali-hcard figcaption{display:flex;align-items:center;gap:12px;margin-top:14px;font-size:12px;letter-spacing:.06em;color:var(--m-fg2)}
.bali-frame figcaption::before,.bali-hcard figcaption::before{content:'';flex:none;width:18px;height:1px;background:var(--m-accent)}

/* ══ HERO ══ */
.bali-hero{position:relative;display:flex;align-items:flex-end;min-height:620px;height:100vh;height:100svh;overflow:hidden;background:#0b0908;color:#fff;isolation:isolate;--m-accent:var(--b-or)}
.bali-hero-media{position:absolute;inset:0;z-index:-3}
.bali-hero-img{position:absolute;inset:-4% 0 0;background-image:var(--responsive-bg);background-size:cover;background-position:center 30%;background-repeat:no-repeat}
@media(max-width:700px){.bali-hero-img{background-image:var(--responsive-bg-sm,var(--responsive-bg))}}
@media(min-width:701px) and (max-width:1280px){.bali-hero-img{background-image:var(--responsive-bg-md,var(--responsive-bg))}}
.bali-hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(to top,rgba(11,9,8,.94) 0%,rgba(11,9,8,.62) 36%,rgba(11,9,8,.1) 68%,rgba(11,9,8,.42) 100%),linear-gradient(100deg,rgba(11,9,8,.55) 0%,rgba(11,9,8,0) 58%)}
.bali-hero-content{position:relative;z-index:2;width:var(--b-wrap);margin-inline:auto;padding:0 0 clamp(64px,11vh,120px)}
.bali-title{font-family:var(--b-serif);font-weight:400;font-size:clamp(60px,11vw,172px);line-height:.88;letter-spacing:-.04em;color:#fff;margin:0 0 30px}
.bali-title .l{display:block;overflow:hidden;padding:0 .12em .1em 0;margin-bottom:-.1em}
.bali-title .l>span{display:block}
.bali-title .l+.l>span{font-style:italic;color:var(--b-or-clair);padding-left:.55em}
.bali-title .sub{display:block;margin-top:26px;font:500 clamp(11px,1vw,13px)/1.4 'Inter',sans-serif;letter-spacing:.34em;text-transform:uppercase;color:rgba(255,255,255,.84)}
.bali-hero-lead{max-width:52ch;font-size:clamp(16px,1.3vw,18px);line-height:1.75;color:rgba(255,255,255,.82);margin:0 0 26px}
.bali-hero-facts{list-style:none;display:flex;flex-wrap:wrap;gap:10px 0;margin:0 0 36px;padding:0;font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.78)}
.bali-hero-facts li{display:flex;align-items:center}
.bali-hero-facts li:not(:last-child)::after{content:'';width:4px;height:4px;border-radius:50%;background:var(--b-or);margin:0 14px}
@media(max-width:600px){
  /* Une seule ligne qui glisse au doigt, au lieu de trois qui masquent la photo. */
  .bali-hero-facts{flex-wrap:nowrap;overflow-x:auto;margin-right:calc(-1 * var(--b-gutter));padding-right:var(--b-gutter);font-size:10px;letter-spacing:.12em;scrollbar-width:none;-webkit-mask-image:linear-gradient(to right,#000 78%,transparent);mask-image:linear-gradient(to right,#000 78%,transparent)}
  .bali-hero-facts::-webkit-scrollbar{display:none}
  .bali-hero-facts li{flex:none}
  .bali-hero-facts li:not(:last-child)::after{margin:0 10px}
}
@media(max-width:600px) and (max-height:720px){
  .bali-title{font-size:52px;margin-bottom:22px}
  .bali-title .sub{margin-top:16px}
  .bali-hero-lead{font-size:15px;line-height:1.65;margin-bottom:20px}
  .bali-hero-facts{margin-bottom:26px}
}
@media(min-width:601px) and (max-height:860px){
  /* Ordinateur peu haut : calé en bas du hero, le contenu de la fiche remontait
     sous le fil d’Ariane (sur-titre à 64 px pour un fil qui finit à 86 px en
     1280 × 720). Le titre ne dépasse plus la moitié de l’écran moins 250 px :
     110 px en 720 de haut, 134 en 768, sans effet dès 844 ; ce qui le suit ne
     bouge pas. Le titre de la carte cadeau, plus petit, tient sans cela. */
  .bali-title:not(.bali-title--md){font-size:clamp(60px,min(11vw,calc(50svh - 250px)),172px)}
}
.btn-group.bali-hero-actions{justify-content:flex-start}
/* Numéro d’enregistrement du meublé (C. tourisme L324-2-1), dans la rangée des
   boutons : à leur droite quand la place le permet, sans grandir le hero (calé
   en bas, il remontait sinon sous le fil d’Ariane sur un écran de 720 px de
   haut), dessous sur téléphone. Même blanc que les caractéristiques du hero. */
.bali-reg{align-self:center;max-width:11em;margin:0 0 0 8px;font-size:11px;line-height:1.5;letter-spacing:.02em;color:rgba(255,255,255,.78)}
/* Sur deux lignes à droite des boutons : sur une seule, la ligne atteignait le
   repère « Découvrir », centré en bas du hero, entre 1100 et 1260 px de large. */
@media(max-width:600px){.bali-reg{flex-basis:100%;max-width:none;margin:6px 0 0}}
.bali-scroll-cue{position:absolute;left:50%;bottom:26px;z-index:2;display:flex;flex-direction:column;align-items:center;gap:12px;transform:translateX(-50%);color:rgba(255,255,255,.72);text-decoration:none;font-size:10px;font-weight:500;letter-spacing:.3em;text-transform:uppercase}
.bali-scroll-cue i{position:relative;display:block;width:1px;height:44px;overflow:hidden;background:rgba(255,255,255,.25)}
.bali-scroll-cue i::after{content:'';position:absolute;left:0;top:0;width:1px;height:40%;background:var(--b-or)}
.bali-scroll-cue:hover{color:var(--b-or-clair)}
@keyframes baliCue{0%{transform:translateY(-100%)}100%{transform:translateY(260%)}}
html.js-bali .bali-hero.playing .bali-scroll-cue i::after{animation:baliCue 2.2s cubic-bezier(.65,0,.35,1) infinite}
@media(max-width:1100px){.bali-scroll-cue{display:none}}

/* Ouverture : Ken Burns, voilages qui s’écartent, titre qui se lève. */
html.js-bali .bali-hero-img{transform:scale(1.14)}
html.js-bali .bali-hero.is-open .bali-hero-img{transform:scale(1.02);transition:transform 14s cubic-bezier(.2,.6,.2,1)}
html.js-bali .bali-hero .bali-title .l>span{transform:translate3d(0,140%,0);transition:transform 1.5s var(--b-ease)}
html.js-bali .bali-hero.is-open .bali-title .l>span{transform:none;transition-delay:.55s}
html.js-bali .bali-hero.is-open .bali-title .l+.l>span{transition-delay:.72s}
html.js-bali .bali-hero [data-intro]{opacity:0;transform:translate3d(0,18px,0);transition:opacity 1.1s ease,transform 1.3s var(--b-ease)}
html.js-bali .bali-hero .bali-scroll-cue[data-intro]{transform:translate3d(-50%,18px,0)}
html.js-bali .bali-hero.is-open [data-intro]{opacity:1;transform:none;transition-delay:calc(.95s + var(--d,0) * .12s)}
html.js-bali .bali-hero.is-open .bali-scroll-cue[data-intro]{transform:translateX(-50%)}

/* ══ VOILAGES ══
   Deux pans de voile blanc, plis irréguliers en dégradés répétés. Ils ne
   portent jamais de texte et n’existent que sous la couche immersive. */
.bali-voile{display:none}
html.js-bali .bali-voile{display:block;position:absolute;top:0;bottom:0;width:51%;z-index:1;pointer-events:none;will-change:transform}
html.js-bali .bali-voile--g{left:0;transform-origin:0 50%}
html.js-bali .bali-voile--d{right:0;transform-origin:100% 50%}
.bali-voile i{position:absolute;inset:0;background:
  repeating-linear-gradient(90deg,rgba(255,255,255,0) 0,rgba(255,255,255,.26) 38px,rgba(255,255,255,.05) 74px,rgba(255,255,255,.2) 112px,rgba(255,255,255,0) 150px),
  repeating-linear-gradient(90deg,rgba(64,54,46,0) 0,rgba(64,54,46,.09) 29px,rgba(64,54,46,0) 61px),
  linear-gradient(to bottom,rgba(250,247,242,.5),rgba(242,237,230,.4));
  -webkit-backdrop-filter:blur(4px) saturate(.85);backdrop-filter:blur(4px) saturate(.85)}
@media(max-width:768px){.bali-voile i{-webkit-backdrop-filter:none;backdrop-filter:none;background-color:rgba(236,230,221,.18)}}
/* Le bord intérieur du pan se dissout au lieu de tomber net. */
html.js-bali .bali-voile--g{-webkit-mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 90px),transparent);mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 90px),transparent)}
html.js-bali .bali-voile--d{-webkit-mask-image:linear-gradient(to left,#000 0,#000 calc(100% - 90px),transparent);mask-image:linear-gradient(to left,#000 0,#000 calc(100% - 90px),transparent)}
html.js-bali .bali-hero .bali-voile{transition:transform 2.6s cubic-bezier(.65,0,.25,1),opacity 2.6s ease}
html.js-bali .bali-hero.is-open .bali-voile--g{transform:translate3d(-100%,0,0) scaleX(.4)}
html.js-bali .bali-hero.is-open .bali-voile--d{transform:translate3d(100%,0,0) scaleX(.4)}
@keyframes baliSway{0%{transform:skewY(0) translateX(0)}50%{transform:skewY(.7deg) translateX(4px)}100%{transform:skewY(-.5deg) translateX(-3px)}}
@media(min-width:1101px){
  /* Sur grand écran, un liseré reste noué de chaque côté et respire. */
  html.js-bali .bali-hero.is-open .bali-voile--g{transform:translate3d(-28%,0,0) scaleX(.36);opacity:.62}
  html.js-bali .bali-hero.is-open .bali-voile--d{transform:translate3d(28%,0,0) scaleX(.36);opacity:.62}
  html.js-bali .bali-hero.is-open.playing .bali-voile i{animation:baliSway 7s ease-in-out 2.6s infinite alternate}
}

/* ══ PRÉLUDE ══ */
.bali-prelude{padding-bottom:0}
.bali-manifesto{font-family:var(--b-serif);font-weight:400;font-size:clamp(28px,3.9vw,58px);line-height:1.18;letter-spacing:-.02em;color:var(--m-fg);max-width:22em;margin:0 0 clamp(64px,12vh,140px)}
.bali-manifesto em{color:var(--m-accent)}
html.js-bali .bali-manifesto .w{opacity:.16;transition:opacity .5s ease}
html.js-bali .bali-manifesto .w.on{opacity:1}
.bali-pillars{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;border-top:1px solid var(--m-line)}
.bali-pillars li{padding:28px 28px 0 0}
.bali-pillars li+li{padding-left:28px;border-left:1px solid var(--m-line)}
.bali-pillars .n{display:block;font-family:var(--b-serif);font-style:italic;font-size:15px;color:var(--m-accent);margin-bottom:28px}
.bali-pillars h3{font-family:var(--b-serif);font-weight:400;font-size:clamp(22px,1.9vw,28px);line-height:1.15;letter-spacing:-.01em;color:var(--m-fg);margin:0 0 10px}
.bali-pillars p{font-size:14px;line-height:1.7;color:var(--m-fg2);margin:0}
@media(max-width:900px){
  .bali-pillars{grid-template-columns:1fr 1fr}
  .bali-pillars li:nth-child(3){padding-left:0;border-left:0}
  .bali-pillars li:nth-child(n+3){margin-top:28px;border-top:1px solid var(--m-line)}
}
@media(max-width:520px){
  .bali-pillars{grid-template-columns:1fr}
  .bali-pillars li,.bali-pillars li+li{padding:24px 0 0;border-left:0}
  .bali-pillars li+li{margin-top:24px;border-top:1px solid var(--m-line)}
  .bali-pillars .n{margin-bottom:14px}
}

/* Bandeau de mots qui défile, purement décoratif. */
.bali-marquee{overflow:hidden;padding:clamp(72px,12vh,140px) 0 clamp(80px,14vh,160px);user-select:none}
.bali-marquee-track{display:flex;width:max-content}
.bali-marquee span{display:flex;align-items:center;padding-right:.5em;white-space:nowrap;font-family:var(--b-serif);font-style:italic;font-weight:400;font-size:clamp(56px,9vw,150px);line-height:1.05;letter-spacing:-.03em;color:transparent;-webkit-text-stroke:1px var(--m-fg);opacity:.45}
.bali-marquee span:nth-child(even){color:var(--m-fg);-webkit-text-stroke:0;opacity:.1}
.bali-marquee span::after{content:'';flex:none;width:.12em;height:.12em;margin-left:.5em;border-radius:50%;background:var(--m-accent)}
@keyframes baliMarquee{to{transform:translate3d(-50%,0,0)}}
html.js-bali .bali-marquee.playing .bali-marquee-track{animation:baliMarquee 64s linear infinite}

/* ══ CHAPITRES ══ */
.bali-story.gallery-section{padding:0;background:none}
.bali-split{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(20px,3vw,48px);align-items:start}
.bali-split .bali-chap-head{grid-column:1/span 5;position:sticky;top:calc(var(--nav-h) + 12vh)}
.bali-split .bali-chap-media{grid-column:7/span 6}
.bali-split--rev .bali-chap-head{grid-column:8/span 5;grid-row:1}
.bali-split--rev .bali-chap-media{grid-column:1/span 6;grid-row:1}
.bali-frame--inset{width:74%;margin:clamp(40px,8vh,96px) 0 0 auto}
.bali-chap-head--row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(24px,5vw,96px);align-items:end;margin-bottom:clamp(48px,8vh,96px)}
.bali-chap-head--row .bali-h2{margin:0}
.bali-duo{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,3vw,48px);margin-top:clamp(32px,6vh,72px);align-items:start}
.bali-duo>:nth-child(2){margin-top:clamp(48px,14vh,160px)}
.bali-duo--tight{gap:clamp(14px,2vw,28px)}
.bali-duo--tight>:nth-child(2){margin-top:clamp(32px,8vh,96px)}
@media(max-width:1024px){
  .bali-split{display:block}
  .bali-split .bali-chap-head{position:static;margin-bottom:56px}
}
@media(max-width:900px){
  .bali-chap-head--row{grid-template-columns:1fr;gap:28px}
}
@media(max-width:600px){
  .bali-duo{grid-template-columns:1fr;gap:36px}
  .bali-duo>:nth-child(2),.bali-duo--tight>:nth-child(2){width:80%;margin:0 0 0 auto}
}

/* ══ BALNÉO ══
   Sans la couche immersive : titre, photo, chiffres, à la suite. Avec elle :
   la scène est épinglée, la photo s’agrandit (--e), puis les chiffres
   apparaissent (--s). Les deux progressions sont écrites par bali.js. */
.bali-balneo{position:relative;background:var(--b-nuit);color:var(--b-ivoire);--m-fg:var(--b-ivoire);--m-fg2:var(--b-ivoire-2);--m-accent:var(--b-or);--m-line:rgba(244,237,227,.16)}
.bali-pin{display:flex;flex-direction:column;padding:clamp(96px,15vh,176px) 0 0}
.bali-pin-head{order:-1;width:var(--b-wrap);margin:0 auto clamp(40px,7vh,72px)}
.bali-pin-head .bali-h2{margin:0}
.bali-pin-frame{width:var(--b-wrap);margin:0 auto;overflow:hidden}
.bali-pin-frame img{display:block;width:100%;height:auto}
.bali-pin-veil{display:none}
.bali-specs{width:var(--b-wrap);margin:clamp(40px,7vh,72px) auto 0;display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;border-top:1px solid var(--m-line)}
.bali-specs>div{display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:12px;padding:24px 20px 0 0}
.bali-specs>div+div{padding-left:24px;border-left:1px solid var(--m-line)}
.bali-specs dd{margin:0;font-family:var(--b-serif);font-weight:400;font-size:clamp(40px,5vw,84px);line-height:.95;letter-spacing:-.03em;color:#fff;white-space:nowrap;font-variant-numeric:tabular-nums}
.bali-specs dd small{margin-left:.35em;font:600 12px/1 'Inter',sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--b-or)}
.bali-specs dt{font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--b-or)}
@media(max-width:768px){
  .bali-specs{grid-template-columns:repeat(3,minmax(0,1fr))}
  .bali-specs>div:first-child{grid-column:1/-1;padding-bottom:4px}
  .bali-specs>div+div{padding:18px 10px 0 14px}
  .bali-specs>div:nth-child(2){padding-left:0;border-left:0}
  .bali-specs dd{font-size:clamp(32px,9vw,42px)}
  .bali-specs dt{font-size:10px;letter-spacing:.14em;line-height:1.35}
}

html.js-bali .bali-pin-wrap{height:320vh}
html.js-bali .bali-pin{position:sticky;top:0;height:100vh;height:100svh;padding:0;overflow:hidden;--e:0;--s:0}
html.js-bali .bali-pin-frame{position:absolute;inset:0;width:auto;margin:0;clip-path:inset(calc((1 - var(--e)) * 34%) calc((1 - var(--e)) * 27%) calc((1 - var(--e)) * 10%) calc((1 - var(--e)) * 27%) round calc((1 - var(--e)) * 18px))}
html.js-bali .bali-pin-frame img{width:100%;height:100%;object-fit:cover;transform:scale(calc(1.22 - var(--e) * .22));will-change:transform}
html.js-bali .bali-pin-veil{display:block;position:absolute;inset:0;pointer-events:none;background:linear-gradient(to top,rgba(9,7,6,.95) 0%,rgba(9,7,6,.62) 40%,rgba(9,7,6,.18) 74%,rgba(9,7,6,.4) 100%);opacity:var(--s)}
html.js-bali .bali-pin-head{position:absolute;left:0;right:0;top:calc(var(--nav-h) + 7vh);text-align:center;opacity:calc(1 - var(--e) * 3.2);transform:translate3d(0,calc(var(--e) * -60px),0)}
html.js-bali .bali-pin-head .bali-chap-num{justify-content:center}
html.js-bali .bali-pin-head .bali-h2{font-size:clamp(40px,5.4vw,84px)}
html.js-bali .bali-specs{position:absolute;left:0;right:0;bottom:clamp(32px,8vh,80px);margin:0 auto;border-top-color:rgba(244,237,227,calc(var(--s) * .28))}
html.js-bali .bali-specs>div{opacity:clamp(0,calc(var(--s) * 4 - var(--i)),1);transform:translate3d(0,calc((1 - clamp(0,calc(var(--s) * 4 - var(--i)),1)) * 28px),0)}
@media(max-width:768px),(orientation:portrait){
  /* Sur téléphone, et sur tout écran en portrait (tablette, fenêtre étroite),
     la scène se range en colonne — titre, photo à son ratio natif, chiffres —
     centrée dans l’écran : rien ne se chevauche, quelle que soit la hauteur,
     et la photo n’est pas réduite à une bande verticale par le recadrage. */
  html.js-bali .bali-pin-wrap{height:240vh}
  html.js-bali .bali-pin{display:flex;flex-direction:column;justify-content:center;gap:clamp(12px,2.6svh,26px);padding:calc(var(--nav-h) + 6px) 0 12px}
  html.js-bali .bali-pin-head,html.js-bali .bali-pin-frame,html.js-bali .bali-specs{position:relative;inset:auto;top:auto;bottom:auto;left:auto;right:auto}
  html.js-bali .bali-pin-head{margin:0 auto;opacity:1;transform:none}
  html.js-bali .bali-pin-head .bali-chap-num{margin-bottom:10px}
  html.js-bali .bali-pin-head .bali-h2{font-size:clamp(28px,8.6vw,40px)}
  html.js-bali .bali-pin-frame{flex:none;width:100%;height:auto;aspect-ratio:3/2;clip-path:inset(calc((1 - var(--e)) * 14%) calc((1 - var(--e)) * 18%) round calc((1 - var(--e)) * 14px))}
  html.js-bali .bali-pin-frame img{transform:scale(calc(1.15 - var(--e) * .15))}
  html.js-bali .bali-pin-veil{display:none}
  html.js-bali .bali-specs{margin:0 auto}
}

.bali-balneo-after{padding:clamp(72px,12vh,140px) 0 clamp(96px,15vh,176px)}
.bali-collage{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(16px,2.6vw,40px);align-items:start}
.bali-collage .bali-lead--lg{grid-column:1/span 6;grid-row:1}
.bali-collage-a{grid-column:8/span 5;grid-row:1/span 2}
.bali-collage-b{grid-column:2/span 4;grid-row:2;margin-top:clamp(56px,10vh,120px)}
.bali-collage-c{grid-column:3/span 10;grid-row:3;margin-top:clamp(56px,12vh,140px)}
@media(max-width:768px){
  .bali-collage{display:block}
  .bali-collage>*+*{margin-top:40px}
  .bali-collage-b{width:76%;margin-left:auto}
}

/* ══ AUBE ══ */
.bali-aube{min-height:78vh;padding:0;display:grid;place-items:center;text-align:center;overflow:hidden}
.bali-aube-line{position:relative;z-index:1;margin:0;padding:0 20px;font-family:var(--b-serif);font-weight:400;font-size:clamp(44px,8vw,128px);line-height:1;letter-spacing:-.035em;color:var(--m-fg)}
.bali-aube-line em{color:var(--m-accent)}
.bali-sun{position:absolute;left:50%;top:50%;width:min(80vw,760px);aspect-ratio:1;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(232,213,176,.62) 0%,rgba(232,213,176,.2) 34%,rgba(232,213,176,0) 68%);transform:translate(-50%,-40%)}
html.js-bali .bali-sun{transform:translate(-50%,calc(5% - var(--p,.5) * 70%))}

/* ══ BANDE HORIZONTALE DU MATIN ══
   Par défaut, une bande qui défile au doigt. Sur grand écran, bali.js
   l’épingle et la fait glisser au rythme du défilement vertical. */
.bali-chap--matin{padding-bottom:clamp(48px,8vh,96px)}
.bali-hscroll{position:relative}
.bali-hscroll-sticky{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:var(--b-gutter);-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--m-accent) transparent;padding-bottom:18px}
.bali-hscroll-track{display:flex;align-items:flex-end;gap:clamp(14px,2vw,28px);width:max-content;padding:0 var(--b-gutter)}
.bali-hcard{flex:none;margin:0;scroll-snap-align:start}
.bali-swipe-hint{display:none}
@media(max-width:1024px){
  .bali-swipe-hint{display:flex;align-items:center;gap:10px;width:var(--b-wrap);margin:0 auto 16px;font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--m-accent)}
  .bali-swipe-hint::after{content:'';width:28px;height:1px;background:currentColor}
  .bali-swipe-hint{transition:opacity .6s ease}
  .bali-hscroll.is-swiped .bali-swipe-hint{opacity:.35}
}
.bali-hcard--tall{width:min(64vw,420px)}
.bali-hcard--wide{width:min(86vw,720px)}
.bali-hscroll-bar{display:none}
html.js-bali .bali-hscroll:not(.is-pinned) .bali-hscroll-bar{display:block;position:sticky;left:var(--b-gutter);width:calc(100vw - 2 * var(--b-gutter));height:1px;margin:16px 0 0 var(--b-gutter);background:var(--m-line)}
html.js-bali .bali-hscroll.is-pinned .bali-hscroll-sticky{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding:var(--nav-h) 0 0;scroll-snap-type:none}
html.js-bali .bali-hscroll.is-pinned .bali-hscroll-track{will-change:transform}
html.js-bali .bali-hscroll.is-pinned .bali-hcard{width:auto}
html.js-bali .bali-hscroll.is-pinned .bali-hcard img{width:auto;height:min(60vh,620px)}
html.js-bali .bali-hscroll.is-pinned .bali-hscroll-bar{display:block;position:relative;width:var(--b-wrap);height:1px;margin:40px auto 0;background:var(--m-line)}
.bali-hscroll-bar i{position:absolute;inset:0;background:var(--m-accent);transform-origin:0 50%;transform:scaleX(0)}

/* ══ ÉQUIPEMENTS ══ */
.bali-equip-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(24px,5vw,96px);align-items:end;margin-bottom:clamp(48px,8vh,88px)}
.bali-equip-head .bali-h2{margin:0}
.bali-equip-list{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;border-top:1px solid var(--m-line)}
.bali-equip-list li{display:flex;flex-direction:column;gap:20px;padding:32px 24px 34px 0;border-bottom:1px solid var(--m-line);font-family:var(--b-serif);font-size:clamp(18px,1.5vw,22px);line-height:1.25;color:var(--m-fg)}
.bali-equip-list li:not(:nth-child(4n+1)){padding-left:24px;border-left:1px solid var(--m-line)}
.bali-equip-list svg,.bali-offers svg{flex:none;fill:none;stroke:var(--m-accent);stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}
.bali-equip-list svg{width:32px;height:32px}
@media(max-width:900px){
  .bali-equip-head{grid-template-columns:1fr}
  .bali-equip-list{grid-template-columns:1fr 1fr}
  .bali-equip-list li:not(:nth-child(4n+1)){padding-left:0;border-left:0}
  .bali-equip-list li:nth-child(even){padding-left:20px;border-left:1px solid var(--m-line)}
}

/* ══ OPTIONS ══ */
.bali-options-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(36px,6vw,110px);align-items:center}
.bali-offers{list-style:none;display:grid;grid-template-columns:1fr 1fr;margin:36px 0 0;padding:0;border-top:1px solid var(--m-line)}
.bali-offers li{display:flex;align-items:center;gap:14px;padding:18px 16px 18px 0;border-bottom:1px solid var(--m-line);font-size:14px;line-height:1.4;color:var(--m-fg)}
.bali-offers li:nth-child(even){padding-left:16px;border-left:1px solid var(--m-line)}
.bali-offers svg{width:24px;height:24px}
@media(max-width:900px){.bali-options-grid{grid-template-columns:1fr}}
@media(max-width:420px){
  .bali-offers{grid-template-columns:1fr}
  .bali-offers li:nth-child(even){padding-left:0;border-left:0}
}

/* ══ FINALE ══ */
.bali-finale{position:relative;display:grid;place-items:center;min-height:100vh;min-height:100svh;overflow:hidden;isolation:isolate;text-align:center;background:#0b0908;color:#fff;--m-fg:#fff;--m-fg2:rgba(255,255,255,.8);--m-accent:var(--b-or-clair);--m-line:rgba(255,255,255,.2)}
.bali-finale-bg{position:absolute;inset:0;z-index:-2;background-image:var(--responsive-bg);background-size:cover;background-position:center;background-repeat:no-repeat}
@media(max-width:700px){.bali-finale-bg{background-image:var(--responsive-bg-sm,var(--responsive-bg))}}
@media(min-width:701px) and (max-width:1280px){.bali-finale-bg{background-image:var(--responsive-bg-md,var(--responsive-bg))}}
.bali-finale::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at center,rgba(11,9,8,.58) 0%,rgba(11,9,8,.84) 72%),linear-gradient(to bottom,rgba(11,9,8,.6),rgba(11,9,8,.15) 40%,rgba(11,9,8,.85))}
.bali-finale-content{position:relative;z-index:2;width:var(--b-wrap);padding:clamp(120px,18vh,200px) 0}
.bali-finale .bali-h2{max-width:13ch;margin:0 auto 40px;color:#fff}
.bali-finale .bali-lead{margin:-12px auto 36px;color:var(--m-fg2)}
html.js-bali .bali-finale-bg{transform:scale(calc(1.16 - var(--p,0) * .16))}
html.js-bali .bali-finale .bali-voile{--c:clamp(0,calc(var(--p,0) * 2.2 - .2),1)}
html.js-bali .bali-finale .bali-voile--g{transform:translate3d(calc(-100% + var(--c) * 40%),0,0)}
html.js-bali .bali-finale .bali-voile--d{transform:translate3d(calc(100% - var(--c) * 40%),0,0)}
@media(max-width:768px){html.js-bali .bali-finale .bali-voile{display:none}}

/* ══ BARRE D’ACTION MOBILE ══
   Réserver, offrir, écrire : toujours à portée de pouce une fois le hero
   passé, rangée sur le final et l’achat. Elle remplace la bulle de contact,
   qu’elle ouvre. Posée par bali.js (html.bali-mbar-ready) : sans JavaScript,
   la bulle d’origine reste. */
.bali-mbar{display:none}
@media(max-width:768px){
  html.bali-mbar-ready .bali-mbar{display:flex;align-items:center;gap:8px;position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:950;padding:7px;border-radius:999px;background:rgba(17,13,11,.88);-webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%);box-shadow:0 18px 40px -12px rgba(0,0,0,.6),inset 0 0 0 1px rgba(232,213,176,.2);transform:translate3d(0,calc(100% + 32px),0);visibility:hidden;transition:transform .5s var(--b-ease),visibility 0s .5s}
  html.bali-mbar-ready .bali-mbar.is-visible{transform:none;visibility:visible;transition:transform .5s var(--b-ease),visibility 0s}
  .bali-mbar a{flex:1;display:flex;align-items:center;justify-content:center;min-height:46px;padding:0 12px;border-radius:999px;font:500 14px/1 'Inter',sans-serif;text-decoration:none;white-space:nowrap;-webkit-tap-highlight-color:transparent}
  .bali-mbar-main{background:var(--b-or);color:var(--b-nuit)}
  .bali-mbar-alt{color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.32)}
  .bali-mbar-mail{flex:none;display:grid;place-items:center;width:46px;height:46px;border:0;border-radius:50%;background:rgba(255,255,255,.08);color:var(--b-or-clair);cursor:pointer;-webkit-tap-highlight-color:transparent}
  .bali-mbar a:focus-visible,.bali-mbar-mail:focus-visible{outline:2px solid var(--b-or-clair);outline-offset:2px}
  html.bali-mbar-ready .fc-fab{display:none}
  html.bali-mbar-ready .fc-widget{bottom:calc(12px + env(safe-area-inset-bottom,0px))}
  /* La barre d’action suffit : le bouton de retour en haut recouvrait textes et titres. */
  html.bali-mbar-ready .back-to-top{display:none}
  html.bali-in-scene .back-to-top{opacity:0;pointer-events:none;visibility:hidden}
}

/* ══ RÉVÉLATIONS ══
   Textes : fondu montant. Photos : rideau qui remonte (clip-path) et léger
   dézoom ; la figure garde son transform libre pour la dérive. */
html.js-bali [data-bali-reveal]{opacity:0;transform:translate3d(0,36px,0);transition:opacity 1s ease,transform 1.2s var(--b-ease);transition-delay:calc(var(--d,0) * 110ms)}
html.js-bali [data-bali-reveal].is-in{opacity:1;transform:none}
html.js-bali .bali-frame[data-bali-reveal]{opacity:1;transform:none;transition:none}
html.js-bali .bali-frame[data-bali-reveal] .bali-ph{clip-path:inset(100% 0 0 0);transition:clip-path 1.5s var(--b-ease)}
html.js-bali .bali-frame[data-bali-reveal] .bali-ph img{transform:scale(1.18);transition:transform 1.9s var(--b-ease)}
html.js-bali .bali-frame[data-bali-reveal].is-in .bali-ph{clip-path:inset(0 0 0 0)}
html.js-bali .bali-frame[data-bali-reveal].is-in .bali-ph img{transform:none}
@media(hover:hover){html.js-bali .bali-story .bali-frame[data-bali-reveal].is-in .bali-ph:hover img[onclick]{transform:scale(1.035);transition-duration:1.4s}}
html.js-bali .bali-frame[data-bali-reveal] figcaption{opacity:0;transition:opacity .9s ease .7s}
html.js-bali .bali-frame[data-bali-reveal].is-in figcaption{opacity:1}
html.js-bali [data-bali-drift]{transform:translate3d(0,calc((var(--p,.5) - .5) * var(--drift,0px)),0)}
html.js-bali .bali-chap .bali-h2 .l>span{transform:translate3d(0,105%,0);transition:transform 1.3s var(--b-ease)}
html.js-bali .bali-chap .bali-h2 .l+.l>span{transition-delay:.12s}
html.js-bali .bali-chap .bali-h2.is-in .l>span{transform:none}

/* Filet de sécurité si la préférence change après le chargement. */
@media(prefers-reduced-motion:reduce){
  html.js-bali [data-bali-reveal],html.js-bali .bali-frame[data-bali-reveal] .bali-ph,html.js-bali .bali-frame[data-bali-reveal] .bali-ph img,html.js-bali .bali-frame[data-bali-reveal] figcaption,html.js-bali .bali-chap .bali-h2 .l>span,html.js-bali .bali-manifesto .w{opacity:1;transform:none;clip-path:none}
  html.js-bali .bali-voile{display:none}
}

@media print{
  .bali-voile,.bali-marquee,.bali-scroll-cue,.bali-sun,.bali-hscroll-bar{display:none!important}
  html.js-bali [data-bali-reveal],html.js-bali .bali-frame[data-bali-reveal] .bali-ph,html.js-bali .bali-chap .bali-h2 .l>span,html.js-bali .bali-manifesto .w{opacity:1!important;transform:none!important;clip-path:none!important}
}

/* ══ CARTE CADEAU ══ */
.bali-title--md{font-size:clamp(46px,7.6vw,120px)}
.bali-gift-grid,.bali-buy-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,7vw,120px);align-items:center}
.bali-gift-copy .bali-lead+.bali-lead{margin-top:18px}
.bali-options-grid--top{align-items:start}

/* Carte illustrée : photo voilée, reflet doré qui suit le pointeur. */
.bali-giftcard-stage{margin:0;display:flex;flex-direction:column;align-items:center;perspective:1400px}
.bali-giftcard{position:relative;width:min(100%,480px);aspect-ratio:1.586;border-radius:18px;overflow:hidden;color:#fff;background:#120e0b;box-shadow:0 44px 80px -34px rgba(29,24,20,.6),inset 0 0 0 1px rgba(232,213,176,.28);transform:rotateX(var(--rx,4deg)) rotateY(var(--ry,-10deg));transition:transform .6s var(--b-ease)}
.bali-giftcard::before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(120deg,rgba(17,13,11,.92) 0%,rgba(17,13,11,.55) 55%,rgba(17,13,11,.8) 100%)}
.bali-giftcard-photo{position:absolute;inset:0;background-image:var(--img);background-size:cover;background-position:center 40%;filter:saturate(.8)}
.bali-giftcard-sheen{position:absolute;inset:-40%;z-index:2;pointer-events:none;mix-blend-mode:screen;background:linear-gradient(105deg,transparent 42%,rgba(232,213,176,.3) 50%,transparent 58%);transform:translateX(calc(var(--mx,30%) - 50%))}
.bali-giftcard-face{position:relative;z-index:3;height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(18px,6%,30px)}
.bali-giftcard-top{display:flex;justify-content:space-between;align-items:center;font:600 10px/1 'Inter',sans-serif;letter-spacing:.26em;text-transform:uppercase;color:var(--b-or-clair)}
.bali-giftcard-brand{font-size:15px;letter-spacing:.02em;text-transform:none;color:#fff}
.bali-giftcard-for{display:block;margin-bottom:8px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.bali-giftcard-name{display:block;font-family:var(--b-serif);font-size:clamp(30px,3.6vw,46px);line-height:1;letter-spacing:-.02em}
.bali-giftcard-name em{color:var(--b-or-clair)}
.bali-giftcard-bottom{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.78)}
.bali-giftcard-caption{margin-top:30px;font-size:12px;line-height:1.6;color:var(--m-fg2);text-align:center}
@keyframes baliFloat{0%,100%{translate:0 0}50%{translate:0 -10px}}
@keyframes baliSheen{0%,100%{transform:translateX(-30%)}50%{transform:translateX(30%)}}
html.js-bali .bali-giftcard-stage.playing .bali-giftcard{animation:baliFloat 6s ease-in-out infinite}
html.js-bali .bali-giftcard-stage.playing .bali-giftcard:not(:hover) .bali-giftcard-sheen{animation:baliSheen 7s ease-in-out infinite}

.bali-gift-trio{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(16px,2.6vw,40px);align-items:start}
.bali-gift-trio-a{grid-column:1/span 7;grid-row:1}
.bali-gift-trio-b{grid-column:9/span 4;grid-row:1/span 2;margin-top:clamp(40px,10vh,120px)}
.bali-gift-trio-c{grid-column:2/span 6;grid-row:2;margin-top:clamp(40px,8vh,96px)}

.bali-steps{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;border-top:1px solid var(--m-line)}
.bali-steps li{padding:32px 32px 0 0}
.bali-steps li+li{padding-left:32px;border-left:1px solid var(--m-line)}
.bali-steps-num{display:block;margin-bottom:22px;font-family:var(--b-serif);font-style:italic;font-weight:400;font-size:clamp(64px,7vw,110px);line-height:.9;color:var(--m-accent)}
.bali-steps h3{margin:0 0 12px;font-family:var(--b-serif);font-weight:400;font-size:clamp(22px,2vw,28px);line-height:1.2;color:var(--m-fg)}
.bali-steps p{margin:0;font-size:15px;line-height:1.75;color:var(--m-fg2)}

.bali-buy-card{background:var(--b-jour);color:var(--b-encre);border-radius:20px;padding:clamp(24px,4vw,44px);box-shadow:0 50px 100px -40px rgba(0,0,0,.75),0 0 0 1px rgba(232,213,176,.3)}
.bali-buy-card stripe-buy-button{display:block}
.bali-buy-terms{margin:0 0 22px;padding-bottom:22px;border-bottom:1px solid rgba(29,24,20,.12);font-size:13px;line-height:1.7;color:var(--b-encre-2)}
.bali-buy-terms a{color:var(--b-or-jour);font-weight:600;text-decoration:none;border-bottom:1px solid currentColor}
.bali-buy-fallback{margin:0;font-size:14px;line-height:1.7;color:var(--b-encre-2)}

@media(max-width:900px){
  .bali-gift-grid,.bali-buy-grid{grid-template-columns:minmax(0,1fr)}
  .bali-steps{grid-template-columns:1fr}
  .bali-steps li,.bali-steps li+li{padding:28px 0 0;border-left:0}
  .bali-steps li+li{margin-top:28px;border-top:1px solid var(--m-line)}
}
@media(max-width:768px){
  .bali-gift-trio{display:block}
  .bali-gift-trio>*+*{margin-top:36px}
  .bali-gift-trio-b{width:76%;margin-left:auto}
}

/* Sur-titre du héros : l’or sur la photo tombait à 2:1 en médiane sur téléphone. */
.bali-hero .bali-eyebrow{color:var(--b-or-clair);text-shadow:0 1px 14px rgba(0,0,0,.65)}

/* Écran très bas (paysage, zoom 200 %) : la barre d’action masquait un tiers de l’écran ; la bulle reprend sa place. */
@media(max-width:768px) and (max-height:480px){
  html.bali-mbar-ready .bali-mbar{display:none}
  html.bali-mbar-ready .fc-fab{display:flex}
}
