/* Casa 56 · DA 11 « Sartoria » + touche safran (demande de Salvatore : le blanc et le bleu sont froids) */
:root{
  --blanc:#FFFFFF;--creme:#F8F4EC;--ivoire:var(--creme);--encre:#111417;--petrole:#384753;--aqua:#AACACE;--gris:#5F6970;--ligne:#E3E5E6;
  --safran:#B9821F;--safran-fonce:#8E6114;--safran-doux:#F4EAD3;--aqua-doux:#E5EFF0;
  --serif:"Bodoni Moda",Didot,Georgia,serif;--sans:"Inter Tight","Helvetica Neue",Arial,sans-serif;
  --nav:78px;--marge:40px;--ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
html,body{background:var(--blanc);color:var(--encre);overflow-x:clip}
body{font-family:var(--sans);font-size:17px;line-height:1.65;font-weight:300;-webkit-font-smoothing:antialiased}
img,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
strong{font-weight:500;color:var(--encre)}
em{font-style:italic}
.cap{font-size:11px;letter-spacing:.32em;text-transform:uppercase;font-weight:500;line-height:1.4}
.serif{font-family:var(--serif)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:2px solid var(--safran);outline-offset:3px}
.saut{position:absolute;left:-999px;top:8px;z-index:200;background:var(--encre);color:#fff;padding:10px 16px}
.saut:focus{left:8px}

/* ---------- Titres ---------- */
.t1,.t2,.t3{font-family:var(--serif);font-weight:400;letter-spacing:-.02em}
.t1{font-size:clamp(48px,7vw,116px);line-height:.92}
.t2{font-size:clamp(40px,5.2vw,88px);line-height:.95}
.t3{font-size:clamp(30px,3vw,46px);line-height:1.02}
.t1 em,.t2 em,.t3 em{color:var(--petrole)}
.chaud em{color:var(--safran)}
.surt{color:var(--petrole);display:flex;align-items:center;gap:14px}
.surt:before{content:"";width:36px;height:1px;background:currentColor}
.lead{font-size:clamp(18px,1.4vw,21px);line-height:1.6;color:#2f383e;max-width:46ch}
.txt p+p{margin-top:1em}
.txt p{max-width:58ch;color:#2f383e}

/* ---------- Boutons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;padding:17px 28px;border:1px solid var(--encre);position:relative;overflow:hidden;transition:color .5s;isolation:isolate;white-space:nowrap;line-height:1}
.btn:before{content:"";position:absolute;inset:0;background:var(--encre);transform:translateY(101%);transition:transform .55s var(--ease);z-index:-1}
@media (hover:hover){.btn:hover{color:#fff}.btn:hover:before{transform:none}}
.btn.noir{background:var(--encre);color:#fff}.btn.noir:before{background:var(--petrole)}
.btn.safran{background:var(--safran-fonce);border-color:var(--safran-fonce);color:#fff}.btn.safran:before{background:var(--encre)}
.btn.blanc{background:#fff;color:var(--encre);border-color:#fff}.btn.blanc:before{background:var(--encre)}
.btn.ligne-b{border-color:rgba(255,255,255,.85);color:#fff}.btn.ligne-b:before{background:#fff}@media (hover:hover){.btn.ligne-b:hover{color:var(--encre)}}
.lien{display:inline-block;font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;border-bottom:1px solid currentColor;padding-bottom:4px;transition:color .3s}
.lien:hover{color:var(--safran)}
.lien:after{content:" →"}
.ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}

/* ---------- Navigation ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:60;height:var(--nav);display:flex;align-items:center;justify-content:space-between;padding:0 var(--marge);background:rgba(255,255,255,.97);border-bottom:1px solid transparent;transition:border-color .5s}
.nav.plein{border-color:var(--ligne)}
.logo{font-family:var(--serif);font-size:21px;letter-spacing:.42em;font-weight:500;white-space:nowrap}
.logo i{font-style:normal;color:var(--petrole)}
.liens{display:flex;gap:30px;align-items:center}
.liens a{font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:400;position:relative;padding:4px 0}
.liens a:after{content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;background:var(--encre);transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.liens a:hover:after,.liens a[aria-current]:after{transform:scaleX(1);transform-origin:left}
.liens a[aria-current]:after{background:var(--safran)}
.nav-d{display:flex;align-items:center;gap:22px}
.nav .btn{padding:15px 24px}
.burger{display:none;width:44px;height:44px;position:relative}
.burger span{position:absolute;left:11px;right:11px;height:1px;background:var(--encre);transition:transform .4s var(--ease),top .4s var(--ease)}
.burger span:nth-child(1){top:18px}.burger span:nth-child(2){top:26px}
.menu-ouvert .burger span:nth-child(1){top:22px;transform:rotate(45deg)}
.menu-ouvert .burger span:nth-child(2){top:22px;transform:rotate(-45deg)}
.panneau{position:fixed;inset:var(--nav) 0 0 0;z-index:55;background:var(--blanc);padding:30px 18px 40px;display:flex;flex-direction:column;gap:6px;transform:translateY(-8px);opacity:0;visibility:hidden;transition:opacity .35s,transform .45s var(--ease),visibility .35s;overflow:auto}
.menu-ouvert .panneau{opacity:1;visibility:visible;transform:none}
.panneau a.p{font-family:var(--serif);font-size:34px;line-height:1.25;padding:6px 0;border-bottom:1px solid var(--ligne)}
.panneau .btn{margin-top:22px}
.panneau .coord{margin-top:26px;font-size:15px;color:var(--gris)}


/* ---------- En-tête des pages intérieures ---------- */
.ph{position:relative;height:88vh;min-height:560px;padding:var(--nav) 14px 14px}
.ph .ecran{position:relative;height:100%;overflow:hidden}
.ph .ecran img,.ph .ecran video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ph .ecran:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,14,17,.5) 0%,rgba(10,14,17,0) 17%),linear-gradient(180deg,rgba(10,14,17,0) 24%,rgba(10,14,17,.42) 50%,rgba(10,14,17,.66) 72%,rgba(10,14,17,.82) 100%),linear-gradient(90deg,rgba(10,14,17,.42),rgba(10,14,17,0) 62%)}
.ph .h-txt,.fil-ariane{text-shadow:0 1px 14px rgba(0,0,0,.3)}
.ph .h-txt{position:absolute;left:56px;bottom:52px;right:56px;z-index:2;color:#fff;max-width:900px}
.ph .surt{color:rgba(255,255,255,.88)}
.ph h1{margin:20px 0 18px}
.ph h1 em{color:#fff}
.ph p{font-size:18px;line-height:1.6;max-width:50ch;color:rgba(255,255,255,.93)}
.fil-ariane{position:absolute;top:calc(var(--nav) + 26px);left:56px;z-index:3;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.85)}
.fil-ariane a:hover{color:#fff;text-decoration:underline}

/* ---------- Sections ---------- */
.sec{padding:140px var(--marge)}
.sec.serre{padding:100px var(--marge)}
.ivoire{background:var(--ivoire)}
.creme{background:var(--creme)}
.safran-bg{background:var(--creme)}
/* fond de la section, repris par les encarts (le filet autour d'une petite photo = le papier de la page) */
.ivoire,.creme,.safran-bg{--fond:var(--creme)}
.encre-bg{background:var(--encre);color:#fff}
.encre-bg .t2 em,.encre-bg .t3 em{color:var(--aqua)}
.encre-bg p{color:rgba(255,255,255,.85)}
.wrap{max-width:1320px;margin:0 auto}
.tete{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:60px}
.tete .lead{margin:0}
.tete-c{text-align:center;max-width:860px;margin:0 auto 70px}
.tete-c .surt{justify-content:center}
.tete-c .surt:after{content:"";width:36px;height:1px;background:currentColor}
.tete-c h2{margin:20px 0 22px}
.tete-c .lead{margin:0 auto}

/* Manifeste : les mots s'allument, des photos dans la phrase */
.manif{max-width:1320px;margin:0 auto;padding:150px var(--marge) 130px}
.manif .surt{margin-bottom:34px}
.manif p{font-family:var(--serif);font-size:clamp(32px,4.2vw,68px);line-height:1.16;letter-spacing:-.015em}
.js .manif .w{opacity:.14}
.pill{display:inline-block;width:1.9em;height:.92em;border-radius:99px;overflow:hidden;vertical-align:-.08em;margin:0 .12em}
.js .pill{transform:scale(.3);opacity:0}
.pill img{width:100%;height:100%;object-fit:cover}

/* Image + texte */
.split{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(40px,7vw,110px);align-items:center;max-width:1320px;margin:0 auto}
.split.inv>.media{order:2}
.split .media{position:relative}
.split .media .grand{position:relative;aspect-ratio:4/5;overflow:hidden}
.split .media .grand.pay{aspect-ratio:5/4}
.split .media img,.split .media video{width:100%;height:100%;object-fit:cover}
.split .media .petit{position:absolute;right:-40px;bottom:-44px;width:42%;aspect-ratio:4/5;overflow:hidden;border:8px solid var(--fond,#fff)}
.split.inv .media .petit{right:auto;left:-40px}
.split h2{margin:18px 0 24px}
.split .lead{margin-bottom:22px}
.legende{font-size:13px;color:var(--gris);margin-top:12px;letter-spacing:.02em}

/* Fiche (définitions) */
.fiche{margin:30px 0 36px;border-top:1px solid var(--ligne)}
.fiche div{display:grid;grid-template-columns:170px 1fr;gap:20px;padding:15px 0;border-bottom:1px solid var(--ligne)}
.fiche dt{font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--gris);padding-top:5px;font-weight:500}
.fiche dd{font-family:var(--serif);font-size:21px;line-height:1.3}
.fiche dd small{display:block;font-family:var(--sans);font-size:14px;color:var(--gris);margin-top:4px}

/* Pièces en défilement horizontal */
.chap{position:relative;overflow:hidden;background:var(--ivoire)}
.chap .tete{padding:110px var(--marge) 44px;margin:0}
.piste{display:flex;gap:28px;padding:0 var(--marge) 110px;width:max-content}
.piece-c{width:min(34vw,500px);flex:none}
.piece-c .im{height:58vh;min-height:400px;overflow:hidden;position:relative}
.piece-c .im img,.piece-c .im video{width:100%;height:100%;object-fit:cover;transform:scale(1.08);transition:transform 1.6s var(--ease)}
.piece-c:hover .im img,.piece-c:hover .im video{transform:scale(1.01)}
.piece-c .n{position:absolute;top:18px;left:18px;background:#fff;font-family:var(--serif);font-size:14px;letter-spacing:.2em;padding:8px 12px}
.piece-c h3{font-family:var(--serif);font-weight:400;font-size:36px;line-height:1;margin:22px 0 10px}
.piece-c h3 small{font-family:var(--sans);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--gris);display:block;margin-bottom:10px;font-weight:500}
.piece-c p{font-size:16px;line-height:1.6;color:#3c464d;max-width:40ch}
.barre{position:absolute;left:var(--marge);right:var(--marge);bottom:56px;height:1px;background:#d9dcdd}
.barre i{position:absolute;inset:0;background:var(--safran);transform-origin:left;transform:scaleX(0)}

/* Chiffres et avis */
.chiffres{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ligne);border-bottom:1px solid var(--ligne);max-width:1320px;margin:0 auto}
.chiffres div{padding:46px 28px;border-right:1px solid var(--ligne)}
.chiffres div:last-child{border-right:0}
.chiffres b{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(46px,5vw,82px);line-height:1;letter-spacing:-.02em}
.chiffres span{display:block;margin-top:12px;font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--gris);font-weight:500}
.avis-l{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;max-width:1320px;margin:0 auto}
.avis-l blockquote{font-family:var(--serif);font-style:italic;font-size:clamp(22px,1.9vw,28px);line-height:1.3}
.avis-l cite{display:block;margin-top:18px;font-style:normal;font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--gris);font-family:var(--sans);font-weight:500}
.avis-l .note{font-family:var(--serif);font-size:15px;color:var(--safran-fonce);letter-spacing:.1em;margin-bottom:14px;font-style:normal}
.avis1{padding:120px var(--marge);text-align:center}
.avis1 blockquote{font-family:var(--serif);font-style:italic;font-size:clamp(30px,3.6vw,56px);line-height:1.18;max-width:24ch;margin:0 auto}
.avis1 cite{display:block;margin-top:24px;font-style:normal;font-size:10.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--gris);font-weight:500}

/* Grande photo avec carte */
.event{position:relative;height:92vh;min-height:560px;overflow:hidden;margin:0 14px}
.event>img{width:100%;height:124%;object-fit:cover;position:absolute;top:-12%;left:0}
.event .carte-e{position:absolute;left:56px;bottom:56px;background:#fff;padding:42px 44px 38px;max-width:520px}
.event h2{margin:16px 0 16px}
.event p{color:#3c464d;margin-bottom:26px}

/* Séjours et produits */
.offres{display:grid;grid-template-columns:repeat(3,1fr);gap:56px 36px;max-width:1320px;margin:0 auto}
.offres.deux-col{grid-template-columns:repeat(2,1fr)}
.offre{display:flex;flex-direction:column}
.offre .im{aspect-ratio:4/3;overflow:hidden;position:relative}
.offre .im img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.offre:hover .im img{transform:scale(1.05)}
.offre .badge-s{position:absolute;top:16px;left:16px;background:#fff;font-size:10px;letter-spacing:.22em;text-transform:uppercase;padding:8px 12px;font-weight:500}
.offre .badge-s.s{background:var(--safran-fonce);color:#fff}
.offre h3{font-family:var(--serif);font-weight:400;font-size:32px;line-height:1.05;margin:24px 0 10px}
.offre p{font-size:16px;line-height:1.6;color:#3c464d}
.offre ul{list-style:none;margin:16px 0 0;border-top:1px solid var(--ligne)}
.offre li{font-size:15.5px;padding:10px 0 10px 22px;border-bottom:1px solid var(--ligne);position:relative}
.offre li:before{content:"";position:absolute;left:2px;top:19px;width:8px;height:1px;background:var(--safran)}
.offre .bas-o{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-top:auto;padding-top:22px}
.prix{font-family:var(--serif);font-size:30px;line-height:1}
.prix small{font-family:var(--sans);font-size:12px;letter-spacing:.06em;color:var(--gris);display:block;margin-top:6px}

/* La carte du restaurant */
.carte-m{display:grid;grid-template-columns:repeat(2,1fr);gap:70px 90px;max-width:1200px;margin:0 auto}
.rub h3{font-family:var(--serif);font-weight:400;font-size:38px;line-height:1;margin-bottom:8px}
.rub .cap{color:var(--safran-fonce);display:block;margin-bottom:18px}
.plat{display:grid;grid-template-columns:1fr auto;gap:6px 18px;padding:15px 0;border-bottom:1px solid var(--ligne)}
.plat b{font-family:var(--serif);font-weight:400;font-size:21px;line-height:1.25}
.plat .px{font-family:var(--serif);font-size:20px;white-space:nowrap}
.plat p{grid-column:1/-1;font-size:15px;color:var(--gris);line-height:1.5}

/* Galerie */
.galerie{display:grid;grid-template-columns:repeat(12,1fr);gap:14px;max-width:1400px;margin:0 auto}
.galerie figure{overflow:hidden;position:relative}
.galerie img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.galerie figure:hover img{transform:scale(1.04)}
.galerie figcaption{position:absolute;left:12px;bottom:12px;background:#fff;font-family:var(--serif);font-style:italic;font-size:15px;padding:5px 11px}
.g-a{grid-column:span 7;aspect-ratio:7/5}.g-b{grid-column:span 5;aspect-ratio:5/5}
.g-c{grid-column:span 4;aspect-ratio:4/5}.g-d{grid-column:span 4;aspect-ratio:4/5}.g-e{grid-column:span 4;aspect-ratio:4/5}
.g-f{grid-column:span 5;aspect-ratio:1}.g-g{grid-column:span 7;aspect-ratio:7/5}

/* Liste d'équipements */
.equip{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ligne);max-width:1320px;margin:0 auto}
.equip div{padding:28px 24px 30px 0;border-bottom:1px solid var(--ligne)}
.equip svg{width:30px;height:30px;stroke:var(--petrole);fill:none;stroke-width:1.2;margin-bottom:14px}
.equip b{display:block;font-family:var(--serif);font-weight:400;font-size:21px;line-height:1.2}
.equip span{display:block;font-size:14.5px;color:var(--gris);margin-top:4px;line-height:1.45}

/* Étapes numérotées (région, parcours) */
.lieux{display:grid;grid-template-columns:repeat(3,1fr);gap:46px;max-width:1320px;margin:0 auto}
.lieu .im{aspect-ratio:4/3;overflow:hidden;background:var(--ivoire)}
.lieu .im img{width:100%;height:100%;object-fit:cover}
.lieux.cinq .lieu:first-child{grid-column:span 2}.lieux.cinq .lieu:first-child .im{aspect-ratio:auto;height:calc(100% - 150px);min-height:300px}
.lieu .im.dessin{display:grid;place-items:center;background:var(--creme);color:var(--petrole)}
.lieu .im.dessin svg{width:44%;height:auto;fill:none;stroke:var(--petrole);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.promesses{display:grid;grid-template-columns:repeat(4,1fr);gap:34px;max-width:1320px;margin:0 auto}
.promesses figure{display:flex;flex-direction:column}
.promesses .im{aspect-ratio:4/5;overflow:hidden}
.promesses img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.promesses figure:hover img{transform:scale(1.04)}
.promesses .n{font-family:var(--serif);font-size:15px;color:var(--safran-fonce);margin:20px 0 6px;letter-spacing:.14em}
.promesses h3{font-family:var(--serif);font-weight:400;font-size:28px;line-height:1.1;margin-bottom:10px}
.promesses p{font-size:16px;color:#3c464d;line-height:1.55}
.bande{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:1320px;margin:90px auto}
.bande figure{aspect-ratio:4/5;overflow:hidden}.bande img{width:100%;height:100%;object-fit:cover}
.lieu .dist{font-family:var(--serif);font-size:44px;line-height:1;color:var(--safran-fonce);margin:22px 0 6px}
.lieu h3{font-family:var(--serif);font-weight:400;font-size:28px;line-height:1.1;margin-bottom:10px}
.lieu p{font-size:16px;color:#3c464d}
.carte-geo{max-width:1100px;margin:0 auto}
.carte-geo svg{width:100%;height:auto;display:block}

/* Le livre (réservation guidée) */
.livre-zone{padding:calc(var(--nav) + 50px) var(--marge) 90px;background:var(--ivoire);min-height:100vh}
.livre-tete{text-align:center;max-width:760px;margin:0 auto 40px}
.livre-tete h1{margin:18px 0 0}
.livre{position:relative;display:grid;grid-template-columns:1fr 1fr;max-width:1240px;margin:0 auto;background:#fff;box-shadow:0 40px 80px -40px rgba(17,20,23,.35);perspective:2600px;min-height:640px}
.livre:after{content:"";position:absolute;left:50%;top:0;bottom:0;width:60px;transform:translateX(-50%);background:linear-gradient(90deg,rgba(17,20,23,0),rgba(17,20,23,.07) 48%,rgba(17,20,23,.12) 50%,rgba(17,20,23,.07) 52%,rgba(17,20,23,0));pointer-events:none}
.page-g{position:relative;overflow:hidden;min-height:640px}
.page-g img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .7s,transform 1.6s var(--ease)}
.page-g .leg{position:absolute;left:28px;bottom:26px;right:28px;color:#fff;font-family:var(--serif);font-style:italic;font-size:22px;z-index:2;text-shadow:0 2px 18px rgba(0,0,0,.35)}
.page-g:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 60%,rgba(0,0,0,.45))}
.page-d{position:relative;padding:56px 64px 44px;display:flex;flex-direction:column;transform-origin:0 50%;transform-style:preserve-3d}
.page-d .folio{display:flex;justify-content:space-between;font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--gris);font-weight:500}
.page-d h2{font-family:var(--serif);font-weight:400;font-size:clamp(34px,3vw,50px);line-height:1.02;margin:26px 0 10px}
.page-d .aide{color:var(--gris);font-size:16px;margin-bottom:26px}
.choix{list-style:none;border-top:1px solid var(--ligne)}
.choix button{width:100%;display:grid;grid-template-columns:44px 1fr auto;gap:14px;align-items:center;text-align:left;padding:20px 0;border-bottom:1px solid var(--ligne);transition:background .3s,padding .4s var(--ease)}
@media (hover:hover){.choix button:hover{background:var(--creme);padding-left:12px}}
.choix .num{font-family:var(--serif);font-size:15px;color:var(--safran-fonce)}
.choix b{display:block;font-family:var(--serif);font-weight:400;font-size:25px;line-height:1.15}
.choix span.d{display:block;font-size:15px;color:var(--gris);margin-top:3px}
.choix .fl{font-size:20px;color:var(--petrole)}
.choix .px{font-family:var(--serif);font-size:18px;white-space:nowrap}
.champs{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;border-top:1px solid var(--ligne)}
.champ{padding:16px 0;border-bottom:1px solid var(--ligne);display:flex;flex-direction:column;gap:6px}
.champ.l2{grid-column:1/-1}
.champ label{font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--gris);font-weight:500}
.champ input,.champ select,.champ textarea{font-family:var(--serif);font-size:22px;border:0;background:none;padding:4px 0;color:var(--encre);width:100%}
.champ textarea{font-family:var(--sans);font-size:16px;min-height:90px;resize:vertical}
.champ input:focus,.champ select:focus,.champ textarea:focus{outline:none;box-shadow:0 1px 0 var(--safran)}
.compteur{display:flex;align-items:center;gap:18px}
.compteur button{width:38px;height:38px;border:1px solid var(--ligne);font-size:18px}
.compteur output{font-family:var(--serif);font-size:24px;min-width:2ch;text-align:center}
.recap{background:var(--creme);padding:22px 24px;margin-bottom:22px}
.recap dl div{display:flex;justify-content:space-between;gap:20px;padding:7px 0;border-bottom:1px solid rgba(17,20,23,.08);font-size:15.5px}
.recap dt{color:var(--gris)}.recap dd{font-family:var(--serif);font-size:18px;text-align:right}
.rarete{display:flex;align-items:center;gap:12px;font-size:15px;color:var(--safran-fonce);margin:0 0 18px;font-weight:400}
.rarete:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--safran);box-shadow:0 0 0 0 rgba(185,130,31,.5);animation:pouls 2s infinite}
@keyframes pouls{70%{box-shadow:0 0 0 10px rgba(185,130,31,0)}100%{box-shadow:0 0 0 0 rgba(185,130,31,0)}}
.livre-nav{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:26px}
.retour{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gris);font-weight:500}
.retour:before{content:"← "}
.retour[hidden]{display:none}
.petit-txt{font-size:13.5px;color:var(--gris);line-height:1.55;margin-top:14px}
.etapes-pts{display:flex;gap:8px}
.etapes-pts i{width:22px;height:2px;background:var(--ligne)}
.etapes-pts i.on{background:var(--safran)}

/* Formulaire */
.form{max-width:860px;margin:0 auto}
.form .champs{margin-bottom:30px}
.ok{display:none;font-family:var(--serif);font-size:24px;margin:10px 0}
.mercredi{font-size:14.5px;color:var(--safran-fonce);margin-top:10px;display:none}

/* Marqueur « à confirmer » (préversion uniquement) */
/* 5/11 soir : les marques « à confirmer » (pointillé safran + « ? ») ne s'affichent plus dans l'aperçu, Salvatore les prenait
   pour des erreurs (« pourquoi ces lignes rouges ? »). Les questions restent listées sur /a-confirmer/. */
.ac{cursor:inherit}
.preversion{position:fixed;left:14px;bottom:14px;z-index:70;background:var(--encre);color:#fff;font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:10px 14px;display:flex;gap:10px;align-items:center;font-weight:500}
.preversion b{background:var(--safran);border-radius:99px;padding:2px 8px;letter-spacing:0}
.preversion a{text-decoration:underline}

/* ---------- Pied de page ---------- */
.pied-z{padding:120px var(--marge) 40px;background:var(--blanc)}
.geant{font-family:var(--serif);font-weight:400;font-size:21.6vw;line-height:.8;letter-spacing:-.045em;display:flex;justify-content:space-between;overflow:hidden;padding-top:.04em}
.geant span{display:inline-block}
.geant .a{color:var(--aqua)}
.pied{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:30px;padding:46px 0 30px;border-top:1px solid var(--encre);margin-top:30px}
.pied .cap{font-size:10px;color:var(--gris);display:block;margin-bottom:12px}
.pied p,.pied a{display:block;font-size:15px;line-height:1.8}
.pied a:hover{color:var(--safran)}
.bas{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px 24px;font-size:12px;letter-spacing:.06em;color:var(--gris);padding-top:20px;border-top:1px solid var(--ligne)}
.bas a{text-decoration:underline}

/* ---------- Apparitions ---------- */
.js .rv{opacity:0;transform:translateY(36px)}

/* ---------- Mobile ---------- */
@media(max-width:1100px){
  .liens{gap:20px}
  .liens a{font-size:10.5px;letter-spacing:.16em}
}
@media(max-width:960px){
  :root{--nav:64px;--marge:18px}
  body{font-size:16.5px}
  .liens{display:none}
  .burger{display:block}
  .nav .btn{padding:12px 15px;font-size:10.5px}
  .logo{font-size:17px;letter-spacing:.32em}
  .nav-d{gap:6px}
  .ph{height:78vh;min-height:520px;padding:var(--nav) 0 0}
  .ph .h-txt{left:18px;right:18px;bottom:30px}
  .ph p{font-size:16px}
  .fil-ariane{left:18px;top:calc(var(--nav) + 16px)}
  .sec{padding:90px var(--marge)}
  .sec.serre{padding:70px var(--marge)}
  .tete{flex-direction:column;align-items:flex-start;gap:20px;margin-bottom:40px}
  .manif{padding:90px 18px 80px}
  .manif p{font-size:31px}
  .split{grid-template-columns:1fr;gap:70px}
  .split.inv>.media{order:0}
  .split .media .petit{right:-6px;bottom:-40px;width:44%;border-width:6px}
  .split.inv .media .petit{left:-6px}
  .fiche div{grid-template-columns:110px 1fr}
  .chap .tete{padding:80px 18px 30px}
  .piste-wrap{overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
  .piste{padding:0 18px 60px;gap:14px}
  .piece-c{width:80vw;scroll-snap-align:start}
  .piece-c .im{height:54vh;min-height:340px}
  .piece-c h3{font-size:30px}
  .barre{display:none}
  .chiffres{grid-template-columns:1fr 1fr}
  .chiffres div:nth-child(2){border-right:0}
  .chiffres div{padding:30px 14px;border-bottom:1px solid var(--ligne)}
  .avis-l{grid-template-columns:1fr;gap:44px}
  .avis1{padding:80px 18px}
  .event{margin:0;height:auto;min-height:0}
  .event>img{position:relative;height:380px;top:0}
  .event .carte-e{position:relative;left:auto;bottom:auto;padding:34px 18px}
  .offres,.offres.deux-col{grid-template-columns:1fr;gap:54px}
  .carte-m{grid-template-columns:1fr;gap:56px}
  .galerie{grid-template-columns:repeat(2,1fr);gap:8px}
  .galerie figure{grid-column:span 1!important;aspect-ratio:4/5!important}
  .galerie figure:first-child{grid-column:span 2!important;aspect-ratio:4/3!important}
  .equip{grid-template-columns:1fr 1fr}
  .equip div{padding:22px 14px 24px 0}
  .lieux{grid-template-columns:1fr;gap:54px}
  .promesses{grid-template-columns:1fr 1fr;gap:30px 14px}
  .lieux.cinq .lieu:first-child{grid-column:auto}.lieux.cinq .lieu:first-child .im{height:auto;aspect-ratio:4/3;min-height:0}
  .promesses h3{font-size:22px}
  .bande{gap:6px;margin:60px auto}
  .livre-zone{padding:calc(var(--nav) + 30px) 0 60px}
  .livre-tete{padding:0 18px}
  .livre{grid-template-columns:1fr;min-height:0;box-shadow:none}
  .livre:after{display:none}
  .page-g{min-height:230px;height:230px}
  .page-d{padding:30px 18px 34px}
  .champs{grid-template-columns:1fr}
  .pied-z{padding:80px 16px 30px}
  .pied{grid-template-columns:1fr 1fr}
  .pied>div:first-child{grid-column:1/-1}
  .preversion{left:8px;bottom:8px;font-size:9.5px;padding:8px 10px}
}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{animation:none!important;transition:none!important}
}

/* =====================================================================================
   v2 (13/10) : film + preuve, ruban d'avis, galerie, barre de réservation, journal, avis
   ===================================================================================== */

/* ---------- Le film + la preuve (accueil) ---------- */
.film{position:relative;height:100vh;min-height:620px;margin:0 14px;overflow:hidden;background:#0d1114;color:#fff}
.film>video,.film>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.film:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,14,17,.2) 0%,rgba(10,14,17,0) 26%,rgba(10,14,17,.42) 50%,rgba(10,14,17,.86) 100%),linear-gradient(90deg,rgba(10,14,17,.3),rgba(10,14,17,0) 55%)}
.film-txt{text-shadow:0 1px 14px rgba(0,0,0,.3)}
.film-txt{position:absolute;left:56px;right:56px;bottom:56px;z-index:2;display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:end}
.film .surt{color:rgba(255,255,255,.9)}
.film h2{margin:20px 0 0;color:#fff}.film h2 em{color:#F1D9A7}
.film .lead{color:rgba(255,255,255,.92);margin-top:18px}
.notes{display:flex;gap:0;border-top:1px solid rgba(255,255,255,.35);border-bottom:1px solid rgba(255,255,255,.35)}
.note{flex:1;padding:22px 22px 20px 0;display:block}
.note+.note{padding-left:22px;border-left:1px solid rgba(255,255,255,.35)}
.note b{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(52px,5vw,84px);line-height:.9;letter-spacing:-.02em}
.note b small{font-size:.38em;letter-spacing:0;opacity:.8}
.note .et{display:block;color:#F1D9A7;letter-spacing:.18em;font-size:13px;margin:10px 0 6px}
.note span.cap{display:block;color:rgba(255,255,255,.88)}
.note:hover span.cap{text-decoration:underline}
.film .ctas{margin-top:26px}
.film .releve{margin-top:14px;font-size:12px;color:rgba(255,255,255,.7)}
.btn .play{width:0;height:0;border-left:8px solid currentColor;border-top:5px solid transparent;border-bottom:5px solid transparent}

/* ---------- Ruban d'avis ---------- */
.ruban{padding:70px 0 80px;overflow:hidden;position:relative}
.ruban-t{display:flex;justify-content:space-between;align-items:end;gap:30px;padding:0 var(--marge);max-width:1400px;margin:0 auto 40px}
.ruban-t h2{margin-top:16px}
.ruban-d{display:flex;gap:16px;align-items:center}
.r-pause{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;border:1px solid var(--ligne);padding:10px 14px}
.piste-avis{display:flex;gap:18px;width:max-content;animation:defile 90s linear infinite;padding-left:18px}
.ruban:hover .piste-avis,.ruban:focus-within .piste-avis,.ruban.arret .piste-avis{animation-play-state:paused}
@keyframes defile{to{transform:translateX(-50%)}}
.carte-avis{width:380px;flex:none;background:var(--ivoire);padding:30px 30px 26px;display:flex;flex-direction:column;gap:16px}
.carte-avis .et{color:var(--safran);letter-spacing:.16em;font-size:13px}
.carte-avis blockquote{font-family:var(--serif);font-size:21px;line-height:1.35;flex:1}
.carte-avis cite{font-style:normal;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gris);font-weight:500;display:flex;justify-content:space-between;gap:10px}
.carte-avis .trad{font-size:12px;color:var(--gris);font-style:italic}
.reduit .piste-avis{animation:none;flex-wrap:wrap;width:auto;padding:0 var(--marge)}

/* ---------- Galerie ---------- */
.gal-tete{padding:calc(var(--nav) + 90px) var(--marge) 40px;max-width:1400px;margin:0 auto;position:relative}
.gal-tete .fil-ariane{position:static;color:var(--gris);margin-bottom:40px}
.gal-tete .fil-ariane a:hover{color:var(--encre)}
.gal-tete h1{margin:20px 0 24px}
.filtres{display:flex;flex-wrap:wrap;gap:8px;margin-top:44px}
.filtres button{font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;padding:13px 18px;border:1px solid var(--ligne);transition:background .3s,color .3s,border-color .3s}
.filtres button sup{font-size:9px;letter-spacing:0;opacity:.6;margin-left:2px}
.filtres button[aria-pressed=true]{background:var(--encre);color:#fff;border-color:var(--encre)}
@media (hover:hover){.filtres button:hover{border-color:var(--encre)}}
.mosaique-z{padding:20px 14px 120px}
.mosaique{columns:4 300px;column-gap:12px;max-width:1700px;margin:0 auto}
.tuile{break-inside:avoid;margin:0 0 12px;position:relative;overflow:hidden;background:var(--ivoire)}
.tuile[hidden]{display:none}
.tuile img,.tuile video{width:100%;height:auto;display:block;transition:transform 1.2s var(--ease)}
.tuile .ouvrir{display:block;width:100%;cursor:zoom-in}
.tuile:hover img{transform:scale(1.03)}
.tuile .tag{position:absolute;left:12px;bottom:12px;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;background:rgba(255,255,255,.92);padding:7px 10px;font-weight:500}
.visio{border:0;padding:0;margin:0;width:100vw;height:100vh;max-width:none;max-height:none;background:rgba(12,15,18,.96);color:#fff}
.visio[open]{display:flex;align-items:center;justify-content:center}
.visio::backdrop{background:rgba(12,15,18,.96)}
.visio figure{max-width:min(92vw,1500px);max-height:86vh;display:flex;flex-direction:column;align-items:center;gap:14px}
.visio img{max-width:100%;max-height:78vh;object-fit:contain}
.visio figcaption{font-size:14px;color:rgba(255,255,255,.8);text-align:center;max-width:70ch}
.visio button{position:absolute;color:#fff;font-family:var(--serif);font-size:44px;line-height:1;width:64px;height:64px;display:flex;align-items:center;justify-content:center}
.visio button:hover{color:#F1D9A7}
.v-prec{left:14px;top:50%;transform:translateY(-50%)}.v-suiv{right:14px;top:50%;transform:translateY(-50%)}
.v-fermer{right:14px;top:14px}
.v-cpt{position:absolute;left:24px;top:28px;font-size:11px;letter-spacing:.24em;color:rgba(255,255,255,.7)}
.visio-ouverte{overflow:hidden}
.visio.film-d video{max-height:88vh;max-width:92vw;width:auto}

/* ---------- Barre de réservation (téléphone) ---------- */
.barre-res{display:none}
.nav-tel{font-size:12px;letter-spacing:.08em;white-space:nowrap}
.nav-tel:hover{color:var(--safran)}

/* ---------- En images (accueil) ---------- */
.en-images{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:clamp(120px,11vw,190px);gap:12px;max-width:1500px;margin:0 auto}
.en-images figure{overflow:hidden;position:relative}
.en-images figure img,.en-images figure video{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.en-images figure:hover img{transform:scale(1.04)}
.en-images .a{grid-column:1/6;grid-row:span 3}.en-images .b{grid-column:6/9;grid-row:span 2}.en-images .c{grid-column:9/13;grid-row:span 2}
.en-images .d{grid-column:6/10;grid-row:span 2}.en-images .e{grid-column:10/13;grid-row:span 2}.en-images .f{grid-column:1/6;grid-row:span 1}
.suivre{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap;max-width:1500px;margin:40px auto 0;padding-top:30px;border-top:1px solid var(--ligne)}
.suivre p{color:var(--gris);max-width:52ch}
.reseaux{display:flex;gap:10px;flex-wrap:wrap}

/* ---------- Le chef (accueil) ---------- */
.chef{display:grid;grid-template-columns:1fr 1fr;min-height:92vh;background:var(--encre);color:#fff;margin:0 14px}
.chef .im{position:relative;overflow:hidden}
.chef .im img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.chef .txt-c{padding:clamp(50px,7vw,110px);display:flex;flex-direction:column;justify-content:center;gap:26px}
.chef .surt{color:rgba(255,255,255,.75)}
.chef h2{color:#fff}.chef h2 em{color:#F1D9A7}
.chef p{color:rgba(255,255,255,.86);max-width:48ch;font-size:18px}
.chef strong{color:#fff}
.chef .faits{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(255,255,255,.2)}
.chef .faits div{padding:22px 18px 0 0}
.chef .faits b{display:block;font-family:var(--serif);font-weight:400;font-size:40px;line-height:1}
.chef .faits span{display:block;margin-top:10px;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.chef .btn{align-self:flex-start}

/* ---------- Journal (blog) ---------- */
.journal-l{display:grid;grid-template-columns:repeat(3,1fr);gap:48px 32px;max-width:1320px;margin:0 auto}
.art-c{display:flex;flex-direction:column;gap:14px}
.art-c .im{aspect-ratio:4/3;overflow:hidden}
.art-c .im img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.art-c:hover .im img{transform:scale(1.04)}
.art-c h3{font-family:var(--serif);font-weight:400;font-size:clamp(24px,2vw,30px);line-height:1.1}
.art-c p{color:#3c464d;font-size:16px}
.art-c .meta{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gris);font-weight:500}
.article{max-width:760px;margin:0 auto;padding:0 var(--marge)}
.article .chapo{font-family:var(--serif);font-size:clamp(22px,2vw,28px);line-height:1.35;margin:10px 0 40px}
.article h2{font-family:var(--serif);font-weight:400;font-size:clamp(30px,3vw,42px);line-height:1.05;margin:64px 0 20px}
.article h3{font-family:var(--serif);font-weight:400;font-size:26px;margin:40px 0 12px}
.article p,.article li{color:#2f383e;font-size:18px;line-height:1.75}
.article p+p{margin-top:1.1em}
.article ul,.article ol{margin:16px 0 0 22px}
.article li+li{margin-top:8px}
.article figure{margin:44px -60px}
.article figure img{width:100%}
.article figcaption{font-size:13px;color:var(--gris);margin-top:10px;padding:0 60px}
.article .encart{background:var(--creme);padding:34px 36px;margin:50px 0}
.article .encart h3{margin-top:0}
.article .sources{margin-top:70px;padding-top:26px;border-top:1px solid var(--ligne);font-size:14px;color:var(--gris)}
.article .sources li{font-size:14px;line-height:1.6}
.article .sources a{text-decoration:underline;word-break:break-word}
.faq{max-width:900px;margin:0 auto}
.faq details{border-top:1px solid var(--ligne);padding:22px 0}
.faq details:last-child{border-bottom:1px solid var(--ligne)}
.faq summary{font-family:var(--serif);font-size:clamp(21px,1.8vw,26px);cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";font-family:var(--sans);font-weight:300;font-size:26px;line-height:1;transition:transform .3s}
.faq details[open] summary:after{transform:rotate(45deg)}
.faq details p{margin-top:14px;color:#2f383e;max-width:70ch}

/* ---------- Page avis ---------- */
.notes-p{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));border-top:1px solid var(--ligne);border-bottom:1px solid var(--ligne);max-width:1320px;margin:0 auto}
.notes-p>div{padding:40px 28px;border-right:1px solid var(--ligne)}
.notes-p>div:last-child{border-right:0}
.notes-p b{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(50px,5vw,82px);line-height:1}
.notes-p b small{font-size:.38em}
.notes-p span{display:block;margin-top:12px;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--gris);font-weight:500}
.notes-p a{text-decoration:underline;font-size:13px;color:var(--gris);display:inline-block;margin-top:10px}
.sous-notes{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0;max-width:1320px;margin:0 auto}
.sous-notes div{padding:22px 18px;border-bottom:1px solid var(--ligne)}
.sous-notes b{font-family:var(--serif);font-weight:400;font-size:34px}
.sous-notes span{display:block;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gris);margin-top:6px}
.mur-avis{columns:3 320px;column-gap:18px;max-width:1320px;margin:0 auto}
.mur-avis .carte-avis{width:auto;break-inside:avoid;margin-bottom:18px}

@media(max-width:1280px){.nav-tel{display:none}}
@media(max-width:960px){
  .film{margin:0 14px;height:92svh;min-height:560px}
  .film-txt{left:18px;right:18px;bottom:28px;grid-template-columns:1fr;gap:26px}
  .note b{font-size:52px}
  .ruban{padding:50px 0 60px}
  .ruban-t{flex-direction:column;align-items:flex-start}
  .carte-avis{width:300px;padding:24px}
  .carte-avis blockquote{font-size:19px}
  .gal-tete{padding:calc(var(--nav) + 40px) 18px 20px}
  .mosaique-z{padding:10px 8px 80px}
  .mosaique{columns:2 150px;column-gap:8px}
  .tuile{margin-bottom:8px}
  .visio button{width:48px;height:48px;font-size:36px}
  .v-prec,.v-suiv{top:auto;bottom:18px;transform:none}
  .en-images{grid-template-columns:1fr 1fr;grid-auto-rows:44vw;gap:8px}
  .en-images figure{grid-column:auto!important;grid-row:auto!important}
  .en-images .a{grid-column:1/3!important}
  .chef{grid-template-columns:1fr;margin:0}
  .chef .im{height:70vh}
  .journal-l{grid-template-columns:1fr;gap:50px}
  .article figure{margin:34px -18px}.article figcaption{padding:0 18px}
  .barre-res{display:grid;grid-template-columns:1fr 1fr 56px;position:fixed;left:0;right:0;bottom:0;z-index:58;background:#fff;border-top:1px solid var(--ligne);padding:8px 8px calc(8px + env(safe-area-inset-bottom));gap:8px;transform:translateY(110%);transition:transform .45s var(--ease)}
  .barre-res.vue{transform:none}
  .barre-res a{display:flex;align-items:center;justify-content:center;height:48px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;border:1px solid var(--encre)}
  .barre-res a.p{background:var(--encre);color:#fff}
  .barre-res a.t svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.4}
  body.a-barre{padding-bottom:70px}
  .preversion{bottom:78px}
}
.cit-h{font-family:var(--serif);font-style:italic;font-size:22px;line-height:1.35;margin:30px 0 0;padding-left:22px;border-left:2px solid var(--safran)}
.cit-h cite{display:block;margin-top:10px;font-style:normal;font-family:var(--sans);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gris)}
.lieu .credit{font-size:11px;color:var(--gris);margin-top:8px}
.cit-h .trad,.avis-l .trad{display:block;margin-top:8px;font-family:var(--sans);font-style:italic;font-size:12px;color:var(--gris);letter-spacing:0}
/* H1 : ligne mot-clé (SEO) en petites capitales, puis la phrase de marque */
h1 .h1k{display:flex;font-family:var(--sans);font-style:normal;font-weight:500;font-size:11px;letter-spacing:.32em;line-height:1.4;text-transform:uppercase;margin-bottom:22px}
.ph h1 .h1k{color:rgba(255,255,255,.88)}
.chef .h1k,.film .h1k{color:rgba(255,255,255,.9)}
.trajets{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));border-top:1px solid var(--ligne);max-width:1320px;margin:0 auto}
.trajets div{padding:26px 18px 22px 0;border-bottom:1px solid var(--ligne)}
.trajets b{display:block;font-family:var(--serif);font-weight:400;font-size:44px;line-height:1}
.trajets b small{font-size:.4em;letter-spacing:.04em}
.trajets span{display:block;margin-top:10px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:500}
.trajets i{display:block;font-style:normal;font-size:13px;color:var(--gris);margin-top:4px}
.presse{padding:110px var(--marge);background:var(--encre);color:#fff;margin:0 14px}
.presse blockquote{max-width:1000px;margin:0 auto;text-align:center}
.presse p{font-family:var(--serif);font-size:clamp(26px,2.6vw,40px);line-height:1.25}
.presse strong{color:#F1D9A7;font-weight:400}
.presse cite{display:block;margin-top:28px;font-style:normal;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:rgba(255,255,255,.75)}
.presse cite a{text-decoration:underline}
@media(max-width:960px){.presse{margin:0;padding:80px 18px}}
/* Vidéos animées par IA : toujours déclarées sur la page (pas seulement dans les mentions légales) */
.piece-c .im,.en-images figure,.split .media .grand,.film,.tuile{position:relative}
.ia{position:absolute;right:10px;bottom:10px;z-index:3;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;background:rgba(255,255,255,.88);color:var(--encre);padding:6px 9px;pointer-events:none;line-height:1.3}
.film .ia{right:24px;top:calc(var(--nav) + 20px);bottom:auto;background:rgba(10,14,17,.45);color:rgba(255,255,255,.9)}
@media(max-width:960px){.film .ia{right:12px;top:12px}.ia{font-size:8.5px;padding:5px 7px}}
.article blockquote{margin:44px 0;padding:6px 0 6px 28px;border-left:2px solid var(--safran)}
.article blockquote p{font-family:var(--serif);font-size:clamp(22px,2vw,28px);line-height:1.35;color:var(--encre)}
.article blockquote cite,.article blockquote footer{display:block;margin-top:12px;font-style:normal;font-family:var(--sans);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gris)}
.art-p .ph h1{font-size:clamp(38px,4.4vw,70px);line-height:1;max-width:18ch}
.art-p .ph .h-txt{max-width:980px}
.lieux.deux{grid-template-columns:repeat(2,1fr)}
.lieu .im{aspect-ratio:4/3;overflow:hidden}
.lieu .im img{width:100%;height:100%;object-fit:cover}
.lieu .credit a{text-decoration:underline}
@media(max-width:960px){.lieux.deux{grid-template-columns:1fr}}

/* =====================================================================================
   v3 (13/10 soir) : la carte saute aux yeux (menu, onglet, aperçu illustré, page Carte), citations clients
   ===================================================================================== */
.nav .liens a.nav-carte{color:var(--safran-fonce);font-family:var(--serif);font-style:italic;font-size:17px;line-height:1;letter-spacing:0;text-transform:none;position:relative;padding:2px 0 4px}
.nav .liens a.nav-carte:before{content:"";position:absolute;left:-11px;top:50%;width:5px;height:5px;border-radius:50%;background:var(--safran);transform:translateY(-50%)}
.panneau a.p[href="/restaurant/carte/"]{color:var(--safran-fonce);font-style:italic}
.onglet-carte{position:fixed;right:0;top:50%;z-index:45;transform:translate(100%,-50%);transition:transform .6s var(--ease);background:var(--safran-fonce);color:#fff;padding:22px 13px;writing-mode:vertical-rl;font-family:var(--serif);font-style:italic;font-size:19px;letter-spacing:.02em;box-shadow:0 10px 30px rgba(17,20,23,.18)}
.onglet-carte span{display:block;transform:rotate(180deg)}
.onglet-carte.vue{transform:translate(0,-50%)}
@media (hover:hover){.onglet-carte:hover{background:var(--encre)}}
.ph .h-txt .ctas{margin-top:28px}

/* La carte en un coup d'œil (page Restaurant) */
.carte-ap .ca-grille{display:grid;grid-template-columns:1.25fr 1fr 1fr;grid-template-rows:repeat(2,minmax(230px,32vh));gap:14px;max-width:1400px;margin:0 auto}
.ca-t{position:relative;overflow:hidden;display:block;color:#fff;isolation:isolate}
.ca-t.grande{grid-row:span 2}
.ca-t .im,.ca-t .im img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ca-t .im img{transition:transform 1.4s var(--ease)}
.ca-t:hover .im img{transform:scale(1.06)}
.ca-t:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,14,17,0) 40%,rgba(10,14,17,.72));z-index:0}
.ca-l{position:absolute;left:24px;right:24px;bottom:22px;z-index:1;display:flex;flex-direction:column;gap:6px}
.ca-l .cap{color:var(--safran-doux)}
.ca-l b{font-family:var(--serif);font-weight:400;font-size:clamp(28px,2.4vw,40px);line-height:1}
.ca-t.grande .ca-l b{font-size:clamp(34px,3.2vw,54px)}
.ca-l small{font-size:14px;opacity:.92}
.ca-l b:after{content:" →";font-family:var(--sans);font-size:.5em;vertical-align:middle;opacity:0;transition:opacity .4s}
.ca-t:hover .ca-l b:after{opacity:1}

/* Citations clients */
.cc-grille{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;max-width:1400px;margin:0 auto}
.cc .im{display:block;aspect-ratio:4/5;overflow:hidden;margin-bottom:18px}
.cc .im img{width:100%;height:100%;object-fit:cover}
.cc .cap{color:var(--safran-fonce)}
.cc blockquote{font-family:var(--serif);font-size:22px;line-height:1.3;margin:10px 0 12px}
.cc .trad{display:block;font-size:12px;color:var(--gris);margin-bottom:6px}
.cc figcaption{font-size:13px;color:var(--gris)}

/* Page Carte */
.carte-nav{position:sticky;top:var(--nav);z-index:40;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--ligne)}
.carte-nav div{display:flex;gap:6px;justify-content:center;padding:12px var(--marge);overflow-x:auto;scrollbar-width:none}
.carte-nav div::-webkit-scrollbar{display:none}
.carte-nav a{font-family:var(--serif);font-style:italic;font-size:18px;padding:8px 16px;border:1px solid var(--ligne);border-radius:40px;white-space:nowrap;transition:background .3s,color .3s,border-color .3s}
.carte-nav a.on{background:var(--encre);color:#fff;border-color:var(--encre)}@media (hover:hover){.carte-nav a:hover{background:var(--encre);color:#fff;border-color:var(--encre)}}
.carte-nav a[href="#pescheria"]{border-color:var(--safran);color:var(--safran-fonce)}
.pesch,.rub2,.dolci{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(40px,6vw,100px);align-items:start;max-width:1320px;margin:0 auto;padding:110px var(--marge);scroll-margin-top:calc(var(--nav) + 60px)}
.pesch{align-items:center;padding-top:90px}
.rub2.inv .rub-im{order:2}
.rub-im{position:sticky;top:calc(var(--nav) + 90px);aspect-ratio:4/5;overflow:hidden}
.pesch .rub-im{position:relative;top:auto}
.rub-im img{width:100%;height:100%;object-fit:cover}
.rub-l .cap{color:var(--safran-fonce);display:block;margin-bottom:14px}
.rub-l .t3,.rub-l .t2{margin-bottom:26px}
.carte-z .rub2+.rub2{border-top:1px solid var(--ligne)}
.plat{display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;gap:4px 12px;padding:17px 0;border-bottom:1px solid var(--ligne)}
.plat b{font-family:var(--serif);font-weight:400;font-size:23px;line-height:1.25}
.plat .pts{border-bottom:1px dotted #b9bfc3;transform:translateY(-6px);min-width:24px}
.plat .px{font-family:var(--serif);font-size:21px;white-space:nowrap}
.plat p{grid-column:1/-1;font-size:15.5px;color:var(--gris);line-height:1.5;max-width:56ch}
.plat .coup{grid-column:1/-1;font-size:14px;color:var(--safran-fonce);font-family:var(--serif);font-style:italic;line-height:1.45;margin-top:4px}
.plat .coup i{font-style:normal;color:var(--safran)}
.plat .coup small{font-family:var(--sans);font-style:normal;font-size:12px;color:var(--gris);margin-left:4px}
.dolci{align-items:center;background:var(--ivoire);max-width:none;padding-left:max(var(--marge),calc((100vw - 1320px)/2 + var(--marge)));padding-right:max(var(--marge),calc((100vw - 1320px)/2 + var(--marge)))}
.dolci-im{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.dolci-im figure{aspect-ratio:3/4;overflow:hidden}.dolci-im img{width:100%;height:100%;object-fit:cover}
@media(max-width:960px){
  .onglet-carte{display:none}
  .carte-ap .ca-grille{grid-template-columns:1fr 1fr;grid-template-rows:none;gap:8px;padding:0 0}
  .ca-t{aspect-ratio:3/4}.ca-t.grande{grid-column:1/-1;grid-row:auto;aspect-ratio:16/10}
  .ca-l{left:14px;right:14px;bottom:14px}.ca-l b{font-size:24px}.ca-l small{font-size:12.5px}
  .cc-grille{grid-template-columns:1fr 1fr;gap:26px 14px}
  .cc blockquote{font-size:18px}
  .carte-nav div{justify-content:flex-start;padding:10px 14px}
  .carte-nav a{font-size:16px;padding:7px 13px}
  .pesch,.rub2,.dolci{grid-template-columns:1fr;gap:28px;padding:70px 18px;scroll-margin-top:calc(var(--nav) + 56px)}
  .rub2.inv .rub-im{order:0}
  .rub-im{position:relative;top:auto;aspect-ratio:16/10}
  .plat b{font-size:20px}.plat .px{font-size:19px}
}

/* Relances douces (outils/relances.py) : une carte non bloquante, en bas à droite */
.relance{position:fixed;right:22px;bottom:22px;z-index:80;width:min(400px,calc(100vw - 24px));display:grid;grid-template-columns:96px 1fr;gap:16px;background:#fff;padding:16px 18px 16px 16px;border-top:3px solid var(--safran);box-shadow:0 24px 60px rgba(17,20,23,.22);opacity:0;transform:translateY(24px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.relance.on{opacity:1;transform:none}
.relance img{width:96px;height:120px;object-fit:cover}
.relance .cap{color:var(--safran-fonce);font-size:10px}
.relance .r-h{font-family:var(--serif);font-size:22px;line-height:1.15;margin:6px 0 6px;padding-right:18px}
.relance .r-p{font-size:14px;line-height:1.5;color:#4a545b}
.relance .r-b{display:flex;align-items:center;gap:14px;margin-top:12px;flex-wrap:wrap}
.relance .btn{padding:12px 16px;font-size:10px;letter-spacing:.16em}
.relance .r-plus{font-size:12px;color:var(--gris);text-decoration:underline;text-underline-offset:3px;min-height:44px;padding:0 4px}
.relance .r-x{position:absolute;top:0;right:0;width:44px;height:44px;font-size:22px;line-height:1;color:var(--gris)}
.relance .r-tel{color:var(--encre);text-decoration:underline;text-underline-offset:3px;position:relative;white-space:nowrap}
.relance .r-tel:before{content:"";position:absolute;left:-6px;right:-6px;top:-13px;bottom:-13px}
.relance .r-tel:hover{color:var(--safran-fonce)}
@media(max-width:960px){
  .relance{right:12px;left:12px;width:auto;bottom:calc(70px + env(safe-area-inset-bottom));grid-template-columns:72px 1fr;gap:12px;padding:12px 14px 12px 12px}
  .relance img{width:72px;height:96px}
  .relance .r-h{font-size:19px}
  .relance .r-p{font-size:13px}
}
@media(prefers-reduced-motion:reduce){.relance{transition:none}}
.rub-l .rub-intro{font-family:var(--serif);font-style:italic;font-size:20px;line-height:1.45;color:#2f383e;margin:-12px 0 22px;max-width:44ch}
@media(max-width:960px){.rub-l .rub-intro{font-size:18px}}

/* =====================================================================================
   v4 (15/10) : contrastes AA, cibles tactiles, « réduire les animations », transitions de page
   ===================================================================================== */
.btn{text-shadow:none}
/* un voile local, flou, sous le bloc de texte des en-têtes et du film : surtitres et paragraphes AA sur les photos claires */
.ph .h-txt:before,.film-txt:before{content:"";position:absolute;z-index:-1;inset:-28px -40px;background:rgba(10,14,17,.4);filter:blur(36px);pointer-events:none}
.ph>.fil-ariane:before{content:"";position:absolute;z-index:-1;inset:-12px -24px;background:rgba(10,14,17,.34);filter:blur(16px);pointer-events:none}
@media(max-width:960px){.film-txt:before{background:rgba(10,14,17,.5)}}
@media(max-width:960px){
  /* en-têtes sur photo : le titre monte plus haut sur téléphone, le voile aussi */
  .ph .ecran:after{background:linear-gradient(180deg,rgba(10,14,17,.64) 0%,rgba(10,14,17,.3) 14%,rgba(10,14,17,.3) 30%,rgba(10,14,17,.66) 56%,rgba(10,14,17,.86) 100%)}
  .logo{padding:8px 0}
  /* le film : texte blanc lisible sur le drone clair et la terrasse */
  .film:after{background:linear-gradient(180deg,rgba(10,14,17,.5) 0%,rgba(10,14,17,.46) 14%,rgba(10,14,17,.6) 30%,rgba(10,14,17,.85) 50%,rgba(10,14,17,.9) 100%)}
  /* cibles tactiles de 44 px au moins */
  .nav .btn{min-height:44px}
  .pied a{display:flex;align-items:center;min-height:44px;line-height:1.35}
  .bas a{display:inline-flex;align-items:center;min-height:44px}
  .faq details{padding:0}
  .faq summary{padding:20px 0;min-height:44px;align-items:center}
  .faq details[open]{padding-bottom:22px}
  .faq details p{margin-top:0}
}
/* le film suit le cadre de la soirée juste au-dessus (14 px, 6 px sur téléphone) : pas de marche entre les deux */
@media(max-width:760px){.film{margin:0 6px}}
/* liens « Lire tous les avis », « Découvrir le restaurant »… : zone touchable agrandie sans bouger la mise en page */
.lien{position:relative}
.lien:before{content:"";position:absolute;left:-6px;right:-6px;top:-14px;bottom:-12px}

/* « Réduire les animations » (et sans JavaScript) : les six pièces en grille, toutes lisibles, sans défilement caché */
@media(min-width:961px){
  .reduit .chap .piste,.no-js .chap .piste{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:auto;gap:46px 28px}
  .reduit .chap .piece-c,.no-js .chap .piece-c{width:auto}
  .reduit .chap .piece-c .im,.no-js .chap .piece-c .im{height:44vh;min-height:320px}
  .reduit .chap .barre,.no-js .chap .barre{display:none}
}

/* Transitions de page natives (navigateurs qui les gèrent ; ignorées ailleurs ; coupées avec « réduire les animations ») */
@media (prefers-reduced-motion:no-preference){
  @view-transition{navigation:auto}
  .nav{view-transition-name:c56-nav}
  .barre-res{view-transition-name:c56-barre}
  ::view-transition-group(root){animation-duration:.5s}
  ::view-transition-old(root){animation:c56-vt-sortie .38s cubic-bezier(.4,0,1,1) both}
  ::view-transition-new(root){animation:c56-vt-entree .55s cubic-bezier(.2,.7,.2,1) .06s both}
  ::view-transition-group(c56-nav),::view-transition-group(c56-barre){animation-duration:0s}
}
@keyframes c56-vt-sortie{to{opacity:0;transform:translateY(-14px)}}
@keyframes c56-vt-entree{from{opacity:0;transform:translateY(22px)}}

/* Photos v5 (sources/PHOTOS-v5.md) : l'équipe, le service, le produit */
.fam{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;max-width:1500px;margin:0 auto}
.fam figure{margin:0}
.fam figure:nth-child(even){margin-top:64px}
.fam .im{aspect-ratio:3/4;overflow:hidden;background:var(--ivoire)}
.fam img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.fam figure:hover img{transform:scale(1.04)}
.fam figcaption{font-family:var(--serif);font-style:italic;font-size:20px;line-height:1.2;margin-top:14px;color:var(--encre)}
.fam-bas{max-width:860px;margin:70px auto 0;text-align:center;display:flex;flex-direction:column;align-items:center;gap:26px}
.fam-bas .cit-h{text-align:center}
.split+.galerie{margin-top:120px}
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:1320px;margin:0 auto 70px}
.trio figure{margin:0;aspect-ratio:4/5;overflow:hidden}
.trio img{width:100%;height:100%;object-fit:cover}
.media-in{position:relative}
.media-in+.legende{margin-top:62px}
.cl-duo img[src*="maitre-sert"],.so-c-duo img[src*="maitre-sert"]{object-position:62% 14%}
.en-images img[src*="maitre-sert"]{object-position:60% 22%}
.galerie img[src*="maitre-sert"]{object-position:58% 30%}
@media(max-width:760px){
  .fam{grid-template-columns:1fr 1fr;gap:10px}
  .fam figure:nth-child(even){margin-top:0}
  .fam figure:first-child{grid-column:span 2}
  .fam figure:first-child .im{aspect-ratio:4/3}
  .fam figure:first-child img{object-position:50% 34%}
  .fam figcaption{font-size:17px;margin-top:8px}
  .trio{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:50px}
  .trio figure:first-child{grid-column:span 2;aspect-ratio:4/3}
  .trio figure:first-child img{object-position:50% 22%}
  .split+.galerie{margin-top:80px}
}
.galerie img[src*="salvatore-regard"]{object-position:50% 22%}
.en-images img[src*="huitres-caisses"]{object-position:50% 78%}

/* ---------- 18/10 : WhatsApp au lieu du numéro, adresse vers Google Maps, bandeau « Rejoindre » ---------- */
.ico{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.ico .plein{fill:currentColor;stroke:none}
.nav-tel{align-items:center;gap:8px}
@media(min-width:1281px){.nav-tel{display:inline-flex}}
.panneau .coord a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--ligne)}
.coord-r{display:flex;flex-wrap:wrap;gap:4px 22px;margin-top:6px}
.coord-r a{display:inline-flex;align-items:center;gap:9px;min-height:44px;font-size:15px;color:var(--encre)}
.coord-r .ico{width:20px;height:20px;stroke-width:1.4}
.pied .pied-maps{font-size:13px;letter-spacing:.04em;color:var(--gris);text-decoration:underline;text-underline-offset:3px;margin-top:4px}

.rj{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);grid-template-areas:"tete mur" "cartes mur";column-gap:clamp(40px,6vw,110px);row-gap:36px;align-items:start;max-width:1500px;margin:0 auto 110px;padding-bottom:100px;border-bottom:1px solid var(--ligne)}
.rj-tete{grid-area:tete;align-self:end}
.rj-t{font-family:var(--serif);font-weight:400;font-size:clamp(34px,3.5vw,56px);line-height:1.02;letter-spacing:-.02em;margin:22px 0 20px}
.rj-t em{color:var(--safran)}
.rj-l{color:var(--gris);max-width:46ch}
.rj-cartes{grid-area:cartes;border-top:1px solid var(--encre)}
.rj-c{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:18px;padding:19px 6px;border-bottom:1px solid var(--ligne);transition:padding .5s var(--ease),background-color .5s}
.rj-c .ico{width:26px;height:26px;stroke-width:1.3}
.rj-n{min-width:0}
.rj-n b{display:block;font-family:var(--serif);font-weight:400;font-size:24px;line-height:1.15;color:var(--encre)}
.rj-n small{display:block;font-size:13px;color:var(--gris);letter-spacing:.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rj-a{display:inline-flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;transition:color .4s}
.rj-a .fl{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.4;transition:transform .5s var(--ease)}
.rj-c:hover{padding-left:16px;background-color:var(--creme)}
.rj-c:hover .rj-a{color:var(--safran-fonce)}
.rj-c:hover .fl{transform:translateX(6px)}
.rj-mur{grid-area:mur;position:relative;display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-bottom:48px}
.rj-tuile{display:block;overflow:hidden;aspect-ratio:4/5;background:var(--creme)}
.rj-tuile:nth-child(even){transform:translateY(48px)}
.rj-tuile img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.rj-mur:hover .rj-tuile img{transform:scale(1.045)}
.rj-badge{position:absolute;left:50%;top:calc(50% - 24px);transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:10px;background:#fff;color:var(--encre);padding:15px 22px;font-size:12px;letter-spacing:.14em;font-weight:500;box-shadow:0 18px 50px rgba(17,20,23,.18);white-space:nowrap;transition:background-color .4s,color .4s}
.rj-badge .ico{width:18px;height:18px}
@media (hover:hover){.rj-mur:hover .rj-badge{background:var(--encre);color:#fff}}
@media(max-width:960px){
  .rj{grid-template-columns:minmax(0,1fr);grid-template-areas:"tete" "mur" "cartes";row-gap:30px;margin-bottom:70px;padding-bottom:64px}
  .rj-t{font-size:clamp(32px,8.4vw,44px);margin:18px 0 14px}
  .rj-mur{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding-bottom:0}
  .rj-tuile{aspect-ratio:3/4}
  .rj-tuile:nth-child(even){transform:none}
  .rj-badge{top:50%;padding:12px 16px;font-size:11px;letter-spacing:.1em}
  .rj-c{padding:16px 2px;gap:14px;min-height:64px}
  .rj-c:hover{padding-left:2px;background-color:transparent}
  .rj-n b{font-size:21px}
}
@media(prefers-reduced-motion:reduce){.rj-c,.rj-tuile img,.rj-a .fl{transition:none}}

/* ---------- 18/10 : pages juridiques et pied de page légal ---------- */
.legal-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 48px}
.legal-nav a{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;padding:12px 16px;border:1px solid var(--ligne);min-height:44px;display:inline-flex;align-items:center;transition:border-color .3s,color .3s}
.legal-nav a:hover{border-color:var(--encre)}
.legal-nav a[aria-current]{border-color:var(--encre);background:var(--encre);color:#fff}
.legal .txt h2{font-family:var(--serif);font-weight:400;font-size:clamp(24px,2.2vw,30px);line-height:1.15;letter-spacing:-.01em;margin:46px 0 14px;padding-top:26px;border-top:1px solid var(--ligne)}
.legal .txt h2:first-of-type{margin-top:8px}
.legal .txt p+p{margin-top:14px}
.legal .txt ul{margin:14px 0 0;padding:0;list-style:none}
.legal .txt li{position:relative;padding:9px 0 9px 22px;border-bottom:1px solid var(--ligne)}
.legal .txt li:before{content:"";position:absolute;left:0;top:21px;width:9px;height:1px;background:var(--safran)}
.legal .txt a{text-decoration:underline;text-underline-offset:3px}
.legal .txt .lead{font-size:clamp(18px,1.5vw,21px);color:var(--encre);margin-bottom:10px}
.legal-maj{margin-top:46px!important;font-size:13px;color:var(--gris)}
.bas-legal{display:flex;flex-wrap:wrap;gap:4px 18px}
.bas-legal a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){
  .bas{flex-direction:column;gap:14px}
  .bas-legal{flex-direction:column;gap:2px}
  .bas-legal a{min-height:40px;display:inline-flex;align-items:center}
  .legal-nav{margin-bottom:36px}
  .legal-nav a{flex:1 1 100%;justify-content:space-between}
}
.s56-body .preversion{display:none}

/* 18/10 : téléphone, finitions de l'interface */
@media(max-width:760px){
  /* bandeau de préversion : une fine bande collée au-dessus de la barre du bas, plus jamais posée sur le texte */
  .preversion{left:0;right:0;bottom:calc(64px + env(safe-area-inset-bottom));justify-content:center;padding:6px 10px;font-size:9.5px;letter-spacing:.12em;gap:8px;background:rgba(17,20,23,.94)}
  body:not(.a-barre) .preversion{bottom:0;padding-bottom:calc(6px + env(safe-area-inset-bottom))}
  body.a-barre{padding-bottom:96px}
  /* pied de page : la colonne « Réserver » sur toute la largeur, les numéros sur une seule ligne */
  .pied>div:nth-child(3){grid-column:1/-1}
  .pied a[href^="tel:"]{white-space:nowrap}
  /* menu ouvert : la barre du bas et le bandeau s'effacent, l'adresse et les réseaux restent visibles */
  .menu-ouvert .barre-res{transform:translateY(110%)!important}
  .menu-ouvert .preversion{opacity:0;visibility:hidden}
  .panneau{padding-bottom:calc(40px + env(safe-area-inset-bottom))}
}

/* ---------- 18/10 : corrections de l'audit mobile ---------- */
@media(max-width:760px){
  /* BLOQUANT : l'en-tête des pages (restaurant, carte, séjours…) grandit avec son texte au lieu de le couper sous la barre du haut */
  .ph{height:auto;min-height:78vh;min-height:78svh;display:flex;flex-direction:column}
  .ph .ecran{flex:1;height:auto;min-height:calc(78svh - var(--nav));display:flex;flex-direction:column;justify-content:flex-end}
  .ph .h-txt{position:relative;left:auto;right:auto;bottom:auto;padding:64px 18px 30px}
  /* menu : la page derrière ne défile plus pendant qu'il est ouvert */
  html.menu-ouvert,html.menu-ouvert body{overflow:hidden}
  .panneau{overscroll-behavior:contain}
  /* vidéo de l'accueil : la mention « animée par IA » ne se pose plus sur le titre */
  .film .ia{top:auto;bottom:12px;right:12px}
  /* petite carte de suggestion : compacte (sans photo, deux lignes au plus) */
  .relance{grid-template-columns:1fr;padding:14px 16px 12px;gap:2px;width:calc(100vw - 16px);right:8px}
  .relance img{display:none}
  .relance .r-h{font-size:18px;margin:4px 0 2px;padding-right:34px}
  .relance .r-p{font-size:13.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .relance .r-b{margin-top:8px}
  /* cibles tactiles : liens d'action (téléphone, e-mail, WhatsApp) et petits liens à 44 px */
  .offre p>a,.cv-liens a,.lv-ou a,.bas-legal a{display:inline-flex;align-items:center;min-height:44px}
  .fil-ariane a{display:inline-block;padding:13px 0;margin:-13px 0}
  .retour{min-height:44px;display:inline-flex;align-items:center}
  .compteur button{width:44px;height:44px}
  .champ input,.champ select{min-height:48px}
  .tete-c h1{margin-bottom:12px}
}
@media(max-width:360px){
  .btn{white-space:normal;text-align:center;line-height:1.35}
  .rj-n small{white-space:normal}
}
@media(max-width:760px){
  /* le bandeau suit la barre du bas : collé en bas tant que la barre n'est pas apparue */
  body.a-barre:not(:has(.barre-res.vue)) .preversion{bottom:0;padding-bottom:calc(6px + env(safe-area-inset-bottom))}
  body:has(.preversion) .livre-nav{bottom:28px}
  /* carte de suggestion encore plus compacte */
  .relance .cap{display:none}
  .relance .r-p{-webkit-line-clamp:1}
  .relance .btn{padding:11px 14px}
  /* page Réserver : le livre arrive plus tôt dans l'écran */
  .livre-zone{padding-top:calc(var(--nav) + 22px)}
  .livre-tete{margin-bottom:22px}
  .livre-tete h1{font-size:clamp(32px,9vw,40px)}
  .livre-tete p{font-size:15px;margin-top:10px}
}

/* 9/11 : nouvelle carte, plats marqués « new » sur le PDF, et la liste des desserts dans Dolci & vini */
.plat .nouv{grid-column:1/-1;font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--safran-fonce);line-height:1;margin-bottom:2px}
.dolci-l{margin:22px 0 26px}
