/*
Theme Name: L'Inattendu V9.2 - Icônes sociales
Author: L'Inattendu
Description: Correctif V9.2 : vrais pictogrammes SVG Instagram, Facebook, Tripadvisor et Google, sans extension externe.
Version: 9.2.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: linattendu-v5-l2
*/
:root{--black:#060504;--dark:#110e0c;--dark2:#1c1512;--gold:#c9a25b;--gold2:#a77f3e;--cream:#fff8ec;--paper:#f8efe1;--ink:#2b211c;--muted:#d3c6b6;--line:rgba(201,162,91,.24);--shadow:0 34px 90px rgba(0,0,0,.35)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--cream);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.6}body.menu-open{overflow:hidden}img{display:block;max-width:100%;height:auto}a{color:inherit}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.045em;line-height:1.02;margin:0 0 1rem}h1{font-size:clamp(3.2rem,8.5vw,9.8rem)}h2{font-size:clamp(2.25rem,5vw,5.8rem)}h3{font-size:clamp(1.55rem,2.8vw,3rem)}p{margin:0 0 1rem;color:rgba(255,248,236,.82)}
.container{width:min(1260px,calc(100% - 36px));margin:auto}.eyebrow{text-transform:uppercase;letter-spacing:.24em;color:var(--gold);font-size:.76rem;font-weight:900;margin-bottom:1rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--gold);border:1px solid var(--gold);color:#fff;text-decoration:none;text-transform:uppercase;letter-spacing:.1em;font-weight:900;font-size:.76rem;padding:15px 25px;min-height:50px;transition:.25s}.btn:hover{background:var(--gold2);border-color:var(--gold2);transform:translateY(-2px)}.btn.ghost,.btn-gift{background:rgba(6,5,4,.28);border-color:rgba(255,248,236,.42);color:var(--cream);backdrop-filter:blur(8px)}.btn.ghost:hover,.btn-gift:hover{background:rgba(201,162,91,.16);border-color:var(--gold)}
.section{padding:120px 0}.section-paper{background:var(--paper);color:var(--ink)}.section-paper p{color:#66564a}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:82px;align-items:center}
.site-header{position:sticky;top:0;z-index:90;background:rgba(6,5,4,.90);backdrop-filter:blur(20px);border-bottom:1px solid rgba(201,162,91,.20)}.header-main{height:118px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}.brand img{width:min(440px,56vw);max-height:102px;object-fit:contain}.header-left,.header-right{display:flex;align-items:center;gap:12px}.header-left{justify-self:start}.header-right{justify-self:end}.header-action{font-size:.72rem;padding:12px 18px;min-height:44px}.socials{display:flex;gap:8px}.social-link{width:38px;height:38px;border:1px solid rgba(201,162,91,.48);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:var(--gold);font-weight:900;font-size:.78rem;transition:.25s;background:rgba(6,5,4,.22)}.social-link:hover{background:var(--gold);color:#fff;transform:translateY(-2px)}.seal img{width:74px;height:74px;object-fit:contain;opacity:.92}.nav-wrap{border-top:1px solid rgba(201,162,91,.13)}.main-nav{height:54px;display:flex;justify-content:center;align-items:center;gap:42px}.main-nav a{text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-family:Georgia,serif;font-size:.91rem;color:rgba(255,248,236,.9)}.main-nav a:hover{color:var(--gold)}.mobile-toggle{display:none;background:none;border:0;color:var(--cream);font-size:2rem;z-index:100}
.hero{position:relative;min-height:calc(100vh - 172px);display:flex;align-items:center;overflow:hidden}.hero-bg{position:absolute;inset:0;background:radial-gradient(circle at 70% 55%,rgba(201,162,91,.16),transparent 30%),linear-gradient(90deg,rgba(6,5,4,.96),rgba(6,5,4,.68),rgba(6,5,4,.15)),var(--hero) center/cover;transform:scale(1.04)}.hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:140px;background:linear-gradient(transparent,var(--black))}.hero-content{position:relative;z-index:2;max-width:820px;padding:112px 0}.hero-kicker{display:inline-flex;align-items:center;gap:12px;margin-bottom:22px;color:var(--gold);text-transform:uppercase;letter-spacing:.2em;font-size:.78rem;font-weight:900}.hero-kicker:before{content:"";width:48px;height:1px;background:var(--gold)}.hero-content p{font-size:clamp(1.08rem,1.5vw,1.38rem);max-width:620px;color:rgba(255,248,236,.86)}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}.hero-stamp{position:absolute;right:7%;bottom:74px;width:155px;z-index:2;opacity:.82}
.quick-info{background:#100e0c;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr)}.quick{padding:34px 26px;text-align:center;border-right:1px solid var(--line)}.quick:last-child{border-right:0}.quick strong{display:block;margin-bottom:8px;font-family:Georgia,serif;text-transform:uppercase;letter-spacing:.08em}.quick span{color:var(--muted);font-size:.94rem}
.photo-frame{position:relative;overflow:hidden;box-shadow:var(--shadow)}.photo-frame img{width:100%;height:100%;object-fit:cover;transition:.8s}.photo-frame:hover img{transform:scale(1.035)}.photo-4-3{aspect-ratio:4/3}.text-card{background:var(--dark2);border:1px solid var(--line);padding:46px;box-shadow:0 24px 70px rgba(0,0,0,.20)}.text-card p{color:var(--muted)}.pull-left{margin-left:-120px;position:relative;z-index:2}
.split-full{display:grid;grid-template-columns:1.05fr .95fr;min-height:650px;background:var(--dark)}.split-full.reverse{grid-template-columns:.95fr 1.05fr}.split-img{min-height:650px;background:var(--img) center/cover}.split-text{padding:90px min(8vw,110px);display:flex;flex-direction:column;justify-content:center}.split-text p{max-width:600px;color:var(--muted)}
.gallery{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:16px}.gallery img{width:100%;height:100%;min-height:280px;object-fit:cover}.gallery img:first-child{grid-row:span 2;min-height:576px}.cta{position:relative;background:linear-gradient(rgba(6,5,4,.74),rgba(6,5,4,.9)),var(--bg) center/cover;text-align:center;padding:130px 0}.cta h2{max-width:900px;margin-inline:auto}
.page-hero{background:var(--dark);padding:96px 0 74px;border-bottom:1px solid var(--line)}.page-content{background:var(--paper);color:var(--ink);padding:76px 0;min-height:45vh}.wp-content{max-width:920px;margin:auto}.wp-content p,.wp-content li{color:#66564a;font-size:1.08rem}.wp-content h2{margin-top:2.2rem}
.site-footer{background:#060504;padding:68px 0 28px;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.1fr;gap:38px}.footer-logo{max-width:310px;margin-bottom:18px}.footer-title{text-transform:uppercase;letter-spacing:.13em;color:var(--gold);font-size:.78rem;font-weight:900;margin-bottom:15px}.site-footer a{text-decoration:none;color:rgba(255,248,236,.8)}.site-footer a:hover{color:var(--gold)}.footer-socials{display:flex;gap:10px;margin-top:16px}.copyright{border-top:1px solid var(--line);margin-top:42px;padding-top:24px;color:rgba(255,248,236,.55);font-size:.85rem}
@media(max-width:1180px){.socials.header-socials{display:flex}}@media(max-width:1120px){.header-action .label-full{display:none}.brand img{width:min(350px,45vw)}.main-nav{gap:28px}}@media(max-width:1020px){.header-main{height:88px;grid-template-columns:auto 1fr auto}.header-left,.header-right{gap:8px}.seal{display:none}.brand{justify-self:center}.brand img{width:min(260px,46vw);max-height:72px}.mobile-toggle{display:block}.header-action{padding:10px 12px;min-height:40px;font-size:.68rem}.header-action .mobile-hide{display:none}.nav-wrap{border:0}.main-nav{display:none;position:fixed;inset:88px 0 0;background:rgba(6,5,4,.985);height:auto;padding:38px 28px;align-items:flex-start;justify-content:flex-start;flex-direction:column;gap:24px}.main-nav.open{display:flex}.main-nav a{font-size:1.2rem}.hero{min-height:630px}.hero-stamp{display:none}.quick-grid,.grid-2,.footer-grid,.gallery,.split-full,.split-full.reverse{grid-template-columns:1fr}.gallery img:first-child{grid-row:auto;min-height:280px}.quick{border-right:0;border-bottom:1px solid var(--line)}.pull-left{margin:0}.split-img,.split-full{min-height:420px}.split-text{padding:70px 28px}}@media(max-width:640px){.container{width:min(100% - 28px,1260px)}.brand img{width:174px}h1{font-size:3.05rem}.section{padding:74px 0}.hero-content{padding:86px 0}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .btn{width:100%}.header-main{gap:8px}.header-action{padding:9px 10px}.text-card{padding:30px}}


/* V5 Livrable 2 - Social Fix */
.header-socials{
  display:flex !important;
}
.header-socials .social-link{
  border-color:rgba(201,162,91,.75);
  color:#c9a25b;
}
.header-socials .social-link:hover{
  background:#c9a25b;
  color:#fff;
}
@media(max-width:1020px){
  .header-socials{display:none !important;}
}


/* ================================
   L'Inattendu V5 - Livrable 3
   Direction artistique, animations, galerie immersive
================================ */

:root{
  --ease:cubic-bezier(.2,.8,.2,1);
}

.reveal{
  opacity:0;
  transform:translateY(34px);
  transition:opacity .85s var(--ease), transform .85s var(--ease);
}
.reveal.in-view{
  opacity:1;
  transform:none;
}

.hero-content{
  transform:translateY(0);
}
.hero .hero-bg{
  animation:heroBreath 18s ease-in-out infinite alternate;
}
@keyframes heroBreath{
  from{transform:scale(1.04)}
  to{transform:scale(1.09)}
}

.hero-kicker{
  opacity:.92;
}
.hero h1{
  max-width:900px;
}

.split-full{
  position:relative;
  overflow:hidden;
}
.split-img{
  background-attachment:fixed;
}
@media(max-width:1020px){
  .split-img{background-attachment:scroll}
}

.visual-quote{
  background:#070605;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  text-align:center;
  padding:110px 0;
}
.visual-quote blockquote{
  margin:0 auto;
  max-width:980px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2.3rem,5vw,5.6rem);
  line-height:1.05;
  letter-spacing:-.045em;
  color:var(--cream);
}
.visual-quote cite{
  display:block;
  margin-top:24px;
  color:var(--gold);
  font-style:normal;
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:.78rem;
  font-weight:900;
}

.gallery-grid-v3{
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr;
  grid-auto-rows:minmax(260px, 1fr);
  gap:14px;
}
.gallery-item{
  display:block;
  position:relative;
  overflow:hidden;
  min-height:260px;
  cursor:zoom-in;
  background:#111;
}
.gallery-item:first-child{
  grid-row:span 2;
  min-height:540px;
}
.gallery-item img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .65s var(--ease), filter .65s var(--ease);
}
.gallery-item:hover img{
  transform:scale(1.055);
  filter:brightness(.82);
}
.gallery-item:after{
  content:"Voir";
  position:absolute;
  right:18px;
  bottom:16px;
  color:#fff;
  background:rgba(6,5,4,.55);
  border:1px solid rgba(201,162,91,.45);
  padding:8px 12px;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.7rem;
  font-weight:900;
  opacity:0;
  transform:translateY(8px);
  transition:.25s;
}
.gallery-item:hover:after{
  opacity:1;
  transform:none;
}

.lightbox{
  position:fixed;
  inset:0;
  background:rgba(3,3,3,.94);
  z-index:9999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:28px;
}
.lightbox.open{display:flex}
.lightbox img{
  max-width:min(1180px, 94vw);
  max-height:86vh;
  object-fit:contain;
  box-shadow:0 40px 120px rgba(0,0,0,.7);
}
.lightbox-close,
.lightbox-prev,
.lightbox-next{
  position:absolute;
  border:1px solid rgba(201,162,91,.6);
  background:rgba(6,5,4,.55);
  color:var(--cream);
  cursor:pointer;
  font-size:28px;
  width:48px;
  height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:.2s;
}
.lightbox-close:hover,
.lightbox-prev:hover,
.lightbox-next:hover{
  background:var(--gold);
  color:#fff;
}
.lightbox-close{top:22px;right:22px}
.lightbox-prev{left:22px;top:50%;transform:translateY(-50%)}
.lightbox-next{right:22px;top:50%;transform:translateY(-50%)}

.reviews{
  background:linear-gradient(180deg,#100e0c,#070605);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.review-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  margin-top:34px;
}
.review-card{
  border:1px solid var(--line);
  background:rgba(255,248,236,.035);
  padding:30px;
}
.review-stars{
  color:var(--gold);
  letter-spacing:.08em;
  margin-bottom:14px;
}
.review-card p{
  color:rgba(255,248,236,.82);
}
.review-card strong{
  color:var(--cream);
  font-family:Georgia,"Times New Roman",serif;
  font-weight:400;
}

.mobile-sticky-actions{
  display:none;
}

@media(max-width:1020px){
  .gallery-grid-v3{
    grid-template-columns:1fr;
  }
  .gallery-item:first-child{
    grid-row:auto;
    min-height:320px;
  }
  .review-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:720px){
  .site-footer{
    padding-bottom:96px;
  }
  .mobile-sticky-actions{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:200;
    display:grid;
    grid-template-columns:1fr 1fr;
    background:rgba(6,5,4,.94);
    backdrop-filter:blur(18px);
    border-top:1px solid var(--line);
  }
  .mobile-sticky-actions a{
    min-height:58px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    color:#fff;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-weight:900;
    font-size:.75rem;
    border-right:1px solid rgba(201,162,91,.22);
  }
  .mobile-sticky-actions a:first-child{
    background:var(--gold);
  }
  .visual-quote{
    padding:78px 0;
  }
}


/* ================================
   L'Inattendu V6 - Sprint 1
   Accueil cinématique + UX premium
================================ */

.preloader{
  position:fixed;
  inset:0;
  z-index:10000;
  background:#060504;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:opacity .8s ease, visibility .8s ease;
}
.preloader.loaded{
  opacity:0;
  visibility:hidden;
}
.preloader-inner{
  text-align:center;
}
.preloader img{
  width:min(360px,70vw);
  max-height:120px;
  object-fit:contain;
  opacity:0;
  animation:preLogo 1.2s ease forwards;
}
.preloader-line{
  width:0;
  height:1px;
  background:#c9a25b;
  margin:26px auto 0;
  animation:preLine 1.35s .25s ease forwards;
}
@keyframes preLogo{
  to{opacity:1}
}
@keyframes preLine{
  to{width:180px}
}

.hero{
  min-height:calc(100vh - 172px);
}
.hero-bg{
  filter:saturate(.98) contrast(1.05);
}
.hero-content{
  opacity:0;
  transform:translateY(24px);
  animation:heroContentIn 1.15s .45s cubic-bezier(.2,.8,.2,1) forwards;
}
.hero-stamp{
  opacity:0;
  transform:translateY(16px) scale(.96);
  animation:heroStampIn 1.2s .9s cubic-bezier(.2,.8,.2,1) forwards;
}
@keyframes heroContentIn{
  to{opacity:1;transform:none}
}
@keyframes heroStampIn{
  to{opacity:.55;transform:none}
}
.hero h1{
  letter-spacing:-.055em;
}
.hero-content p{
  max-width:540px;
}

.site-header{
  transition:background .25s ease, transform .25s ease;
}
.site-header.scrolled{
  background:rgba(6,5,4,.96);
}

.section{
  position:relative;
}
.photo-frame{
  border:1px solid rgba(201,162,91,.18);
}
.text-card{
  backdrop-filter:blur(10px);
}

.full-moment{
  position:relative;
  min-height:84vh;
  display:flex;
  align-items:flex-end;
  background:linear-gradient(rgba(6,5,4,.1),rgba(6,5,4,.88)), var(--img) center/cover;
  overflow:hidden;
}
.full-moment .container{
  position:relative;
  z-index:2;
  padding:90px 0;
}
.full-moment h2{
  max-width:850px;
}
.full-moment p{
  max-width:560px;
  color:rgba(255,248,236,.84);
}
.full-moment:after{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 70% 30%,rgba(201,162,91,.12),transparent 32%);
  pointer-events:none;
}

.gallery-grid-v3{
  grid-template-columns:1.4fr .9fr .9fr;
  gap:18px;
}
.gallery-item{
  border:1px solid rgba(44,33,28,.12);
}
.lightbox-caption{
  position:absolute;
  left:50%;
  bottom:24px;
  transform:translateX(-50%);
  color:rgba(255,248,236,.82);
  text-align:center;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.1rem;
}

.review-card{
  transition:transform .25s ease, border-color .25s ease;
}
.review-card:hover{
  transform:translateY(-4px);
  border-color:rgba(201,162,91,.55);
}

.floating-socials{
  position:fixed;
  left:18px;
  top:50%;
  transform:translateY(-50%);
  z-index:70;
  display:flex;
  flex-direction:column;
  gap:9px;
}
.floating-socials a{
  width:38px;
  height:38px;
  border-radius:999px;
  border:1px solid rgba(201,162,91,.55);
  display:flex;
  align-items:center;
  justify-content:center;
  color:#c9a25b;
  background:rgba(6,5,4,.55);
  text-decoration:none;
  font-size:.72rem;
  font-weight:900;
  backdrop-filter:blur(10px);
}
.floating-socials a:hover{
  background:#c9a25b;
  color:#fff;
}

@media(max-width:1020px){
  .floating-socials{display:none}
  .full-moment{
    min-height:620px;
  }
  .gallery-grid-v3{
    grid-template-columns:1fr;
  }
}

@media(max-width:640px){
  .preloader img{
    width:250px;
  }
  .hero{
    min-height:calc(100vh - 88px);
  }
  .hero h1{
    font-size:3.3rem;
  }
  .hero-content p{
    font-size:1.02rem;
  }
  .full-moment{
    min-height:560px;
  }
  .full-moment .container{
    padding:70px 0;
  }
}


/* ================================
   V6 Finalisation - WordPress natif
================================ */

.wp-content{
  max-width:980px;
}
.wp-content img{
  border-radius:0;
  margin:28px 0;
}
.wp-content .wp-block-image img{
  width:auto;
}
.wp-content .wp-block-gallery{
  margin:34px 0;
}
.wp-content .wp-block-button__link{
  background:#c9a25b;
  color:white;
  border-radius:0;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:800;
  padding:14px 24px;
}
.wp-content a{
  color:#a77f3e;
}
.wp-content blockquote{
  border-left:3px solid #c9a25b;
  padding-left:22px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.35rem;
  color:#2b211c;
}
.wp-content table{
  width:100%;
  border-collapse:collapse;
  margin:28px 0;
}
.wp-content th,.wp-content td{
  border:1px solid rgba(43,33,28,.18);
  padding:12px;
}
.wp-content th{
  background:#efe2d0;
}

.blog-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:26px;
}
.post-card{
  background:white;
  color:#2b211c;
  border:1px solid rgba(43,33,28,.12);
  box-shadow:0 18px 50px rgba(43,33,28,.08);
}
.post-card img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
}
.post-card-body{
  padding:24px;
}
.post-card h2{
  font-size:1.8rem;
}
.post-card h2 a{
  color:#2b211c;
  text-decoration:none;
}
.post-card p{
  color:#66564a;
}
.post-meta{
  color:#a77f3e;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.72rem;
  font-weight:900;
  margin-bottom:12px;
}
.pagination{
  display:flex;
  justify-content:center;
  gap:12px;
  margin-top:42px;
}
.pagination a,.pagination span{
  padding:10px 14px;
  background:white;
  color:#2b211c;
  text-decoration:none;
}
.pagination .current{
  background:#c9a25b;
  color:white;
}

.page-content.has-sidebar .container{
  display:grid;
  grid-template-columns:1fr 320px;
  gap:60px;
  align-items:start;
}
.sidebar{
  background:#fff;
  border:1px solid rgba(43,33,28,.12);
  padding:24px;
  color:#2b211c;
}
.sidebar h3{
  font-size:1.5rem;
}
.sidebar p,.sidebar li{
  color:#66564a;
}

@media(max-width:1020px){
  .blog-grid{
    grid-template-columns:1fr;
  }
  .page-content.has-sidebar .container{
    grid-template-columns:1fr;
  }
}


/* ================================
   V6 Finalisation - Zenchef
================================ */

.zenchef-reservation-section{
  background:linear-gradient(180deg,#100e0c,#060504);
  color:var(--cream);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.zenchef-reservation-box{
  max-width:980px;
  margin:38px auto 0;
  border:1px solid rgba(201,162,91,.32);
  background:rgba(255,248,236,.035);
  padding:34px;
  box-shadow:0 30px 90px rgba(0,0,0,.24);
}
.zenchef-reservation-box iframe{
  width:100%;
  min-height:640px;
  border:0;
  background:#fff;
}
.zenchef-fallback{
  text-align:center;
}
.zenchef-fallback p{
  color:rgba(255,248,236,.78);
  max-width:650px;
  margin:0 auto 22px;
}
.zenchef-note{
  margin-top:18px;
  color:rgba(255,248,236,.55);
  font-size:.9rem;
  text-align:center;
}
.page-template-page-reserver .page-content{
  background:#060504;
  color:var(--cream);
}
.page-template-page-reserver .wp-content p{
  color:rgba(255,248,236,.82);
}


/* ================================
   V6.1.3 - Réservation premium
   Inspiration grande maison :
   action claire, fenêtre immersive, pas de scroll forcé
================================ */

.li-booking-overlay{
  position:fixed;
  inset:0;
  z-index:10080;
  display:none;
  align-items:center;
  justify-content:center;
  padding:28px;
  background:
    radial-gradient(circle at 70% 20%, rgba(201,162,91,.18), transparent 32%),
    rgba(4,3,2,.88);
  backdrop-filter:blur(14px);
}
.li-booking-overlay.is-open{
  display:flex;
}
.li-booking-modal{
  position:relative;
  width:min(1120px, 96vw);
  max-height:92vh;
  overflow:auto;
  background:#070605;
  border:1px solid rgba(201,162,91,.42);
  box-shadow:0 48px 160px rgba(0,0,0,.72);
}
.li-booking-top{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  min-height:620px;
}
.li-booking-visual{
  position:relative;
  background:
    linear-gradient(rgba(7,6,5,.18), rgba(7,6,5,.82)),
    var(--booking-img) center/cover;
}
.li-booking-visual:after{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 50% 35%, transparent, rgba(7,6,5,.52));
}
.li-booking-intro{
  position:absolute;
  left:34px;
  right:34px;
  bottom:34px;
  z-index:2;
}
.li-booking-intro img{
  max-width:270px;
  margin-bottom:26px;
}
.li-booking-intro h2{
  color:#fff8ec;
  font-size:clamp(2.4rem,4vw,4.8rem);
  margin-bottom:14px;
}
.li-booking-intro p{
  color:rgba(255,248,236,.82);
  max-width:420px;
}
.li-booking-widget{
  padding:42px;
  background:#fff8ec;
  color:#2b211c;
}
.li-booking-widget .eyebrow{
  color:#a77f3e;
}
.li-booking-widget h3{
  color:#2b211c;
  font-size:clamp(2rem,3vw,3.4rem);
  margin-bottom:18px;
}
.li-booking-widget p{
  color:#66564a;
}
.li-booking-widget iframe{
  width:100%;
  min-height:620px;
  border:0;
  background:white;
}
.li-booking-widget .zenchef-reservation-box{
  margin:24px 0 0;
  padding:0;
  border:0;
  box-shadow:none;
  background:transparent;
}
.li-booking-widget .zenchef-fallback{
  background:white;
  border:1px solid rgba(43,33,28,.12);
  padding:30px;
}
.li-booking-close{
  position:absolute;
  top:18px;
  right:18px;
  z-index:5;
  width:46px;
  height:46px;
  border:1px solid rgba(201,162,91,.7);
  background:rgba(7,6,5,.78);
  color:#fff8ec;
  font-size:30px;
  line-height:1;
  cursor:pointer;
}
.li-booking-close:hover{
  background:#c9a25b;
  color:#fff;
}
body.li-booking-open{
  overflow:hidden;
}
[data-li-booking-open]{
  cursor:pointer;
}
@media(max-width:900px){
  .li-booking-overlay{
    padding:0;
  }
  .li-booking-modal{
    width:100vw;
    height:100vh;
    max-height:100vh;
    border:0;
  }
  .li-booking-top{
    grid-template-columns:1fr;
  }
  .li-booking-visual{
    min-height:320px;
  }
  .li-booking-widget{
    padding:28px 16px 86px;
  }
  .li-booking-widget iframe{
    min-height:620px;
  }
  .li-booking-intro{
    left:20px;
    right:20px;
    bottom:22px;
  }
  .li-booking-intro img{
    max-width:210px;
    margin-bottom:18px;
  }
}


/* ================================
   L'Inattendu V7 - Mise en ligne
================================ */

.main-nav .menu{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:42px;
}
.main-nav .menu li{
  margin:0;
}
.main-nav .menu a{
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-family:Georgia,serif;
  font-size:.91rem;
  color:rgba(255,248,236,.9);
}
.main-nav .menu a:hover,
.main-nav .menu .current-menu-item > a{
  color:var(--gold);
}
.main-nav .sub-menu{
  display:none;
  position:absolute;
  background:#090807;
  border:1px solid var(--line);
  padding:12px 0;
  min-width:220px;
  list-style:none;
  margin:0;
}
.main-nav li{
  position:relative;
}
.main-nav li:hover > .sub-menu{
  display:block;
}
.main-nav .sub-menu a{
  display:block;
  padding:10px 16px;
  font-size:.82rem;
}

.wp-content h2,
.wp-content h3{
  color:#2b211c;
}
.wp-content .alignwide{
  max-width:1180px;
  margin-left:calc(50% - 590px);
  margin-right:calc(50% - 590px);
}
.wp-content .alignfull{
  width:100vw;
  max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
}
.wp-content .wp-block-cover{
  margin:36px 0;
}
.wp-content .wp-block-columns{
  gap:34px;
  margin:34px 0;
}
.wp-content .wp-block-separator{
  border-color:rgba(201,162,91,.45);
  margin:40px auto;
}
.wp-content .wp-block-quote{
  border-left:3px solid #c9a25b;
}

.journal-intro{
  max-width:760px;
  margin-bottom:40px;
}
.journal-intro p{
  color:#66564a;
  font-size:1.1rem;
}

.no-menu-warning{
  text-align:center;
  color:rgba(255,248,236,.65);
  font-size:.85rem;
  padding:14px 0;
}

@media(max-width:1020px){
  .main-nav .menu{
    flex-direction:column;
    align-items:flex-start;
    gap:24px;
  }
  .main-nav .sub-menu{
    position:static;
    display:block;
    border:0;
    padding:8px 0 0 18px;
    background:transparent;
  }
  .wp-content .alignwide,
  .wp-content .alignfull{
    width:auto;
    max-width:100%;
    margin-left:0;
    margin-right:0;
  }
}


/* V7.1 - sécurité popup Zenchef */
a[data-li-booking-open]{
  cursor:pointer;
}
.li-booking-overlay{
  position:fixed;
  inset:0;
  z-index:10080;
  display:none;
  align-items:center;
  justify-content:center;
  padding:28px;
  background:radial-gradient(circle at 70% 20%, rgba(201,162,91,.18), transparent 32%), rgba(4,3,2,.88);
  backdrop-filter:blur(14px);
}
.li-booking-overlay.is-open{display:flex}
body.li-booking-open{overflow:hidden}


/* =========================================================
   L'INATTENDU V7.2 - Direction artistique finale
========================================================= */

.page-hero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 74% 22%, rgba(201,162,91,.11), transparent 32%),
    linear-gradient(180deg,#120f0d,#070605) !important;
  padding:64px 0 48px !important;
  border-bottom:1px solid rgba(201,162,91,.28) !important;
}
.page-hero .container{max-width:1180px}
.page-hero .eyebrow{
  display:inline-flex;
  align-items:center;
  gap:14px;
  font-size:.72rem !important;
  letter-spacing:.28em !important;
  margin-bottom:18px !important;
  color:#c9a25b !important;
}
.page-hero .eyebrow:before,
.page-hero .eyebrow:after{
  content:"";
  width:42px;
  height:1px;
  background:rgba(201,162,91,.58);
}
.page-hero h1,
.page-hero .page-title,
.page-hero .entry-title{
  font-size:clamp(2.65rem,5vw,5.4rem) !important;
  line-height:1.02 !important;
  letter-spacing:-.045em !important;
  margin:0 !important;
  max-width:980px;
}
.page-hero p{
  max-width:640px;
  margin-top:20px;
  color:rgba(255,248,236,.72) !important;
  font-size:1.08rem;
}

.page-content{padding:68px 0 86px !important}
.wp-content{max-width:940px !important}
.wp-content h2{
  font-size:clamp(2rem,3.4vw,3.7rem) !important;
  line-height:1.05 !important;
  margin-top:3rem !important;
  margin-bottom:1.1rem !important;
  color:#2b211c !important;
}
.wp-content h3{
  font-size:clamp(1.45rem,2.4vw,2.4rem) !important;
  color:#2b211c !important;
}
.wp-content p,.wp-content li{
  font-size:1.08rem !important;
  line-height:1.82 !important;
  color:#66564a !important;
}
.wp-content > p:first-of-type{
  font-size:1.18rem !important;
  line-height:1.78 !important;
}
.wp-content hr,
.wp-content .wp-block-separator{
  border:0 !important;
  height:1px !important;
  background:linear-gradient(90deg, transparent, rgba(201,162,91,.55), transparent) !important;
  margin:48px 0 !important;
}
.wp-content blockquote,
.wp-content .wp-block-quote{
  margin:46px 0 !important;
  padding:30px 34px !important;
  border-left:4px solid #c9a25b !important;
  background:#fffaf0 !important;
  box-shadow:0 18px 46px rgba(43,33,28,.06);
}
.wp-content blockquote p{
  font-family:Georgia,"Times New Roman",serif !important;
  color:#2b211c !important;
  font-size:1.45rem !important;
  line-height:1.35 !important;
}
.wp-content img{box-shadow:0 24px 70px rgba(43,33,28,.12)}
.wp-content .wp-block-image{margin:42px 0 !important}
.wp-content .wp-block-image.alignwide,
.wp-content .wp-block-gallery.alignwide{
  max-width:1180px;
  margin-left:calc(50% - 590px) !important;
  margin-right:calc(50% - 590px) !important;
}

.wp-content .wp-block-button__link{
  background:#c9a25b !important;
  border:1px solid #c9a25b !important;
  color:white !important;
  border-radius:0 !important;
  padding:15px 28px !important;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:.78rem;
  font-weight:900;
  transition:.25s;
}
.wp-content .wp-block-button__link:hover{
  background:#a77f3e !important;
  border-color:#a77f3e !important;
  transform:translateY(-2px);
}
.wp-content .wp-block-button__link.is-style-outline,
.wp-content .is-style-outline > .wp-block-button__link{
  background:transparent !important;
  color:#2b211c !important;
  border:1px solid rgba(43,33,28,.35) !important;
}

.main-nav,.main-nav .menu{gap:34px !important}
.main-nav a,.main-nav .menu a{
  font-size:.84rem !important;
  letter-spacing:.16em !important;
}
.site-header{box-shadow:0 14px 38px rgba(0,0,0,.18)}

.linattendu-form{
  max-width:900px;
  margin:60px auto;
  padding:50px;
  background:#f8efe1;
  border:1px solid rgba(201,162,91,.38);
  box-shadow:0 26px 70px rgba(43,33,28,.10);
  color:#2b211c;
}
.linattendu-form h2{
  font-size:clamp(2rem,4vw,3.4rem) !important;
  color:#2b211c !important;
  margin-top:0 !important;
}
.linattendu-form p{
  color:#66564a !important;
  font-size:1.05rem !important;
}
.linattendu-form label{
  display:block;
  margin-bottom:22px;
  color:#2b211c;
  font-weight:700;
}
.linattendu-form input,
.linattendu-form select,
.linattendu-form textarea{
  width:100%;
  margin-top:8px;
  padding:15px 16px;
  border:1px solid #d8c6a5;
  background:#fff;
  color:#2b211c;
  font-size:1rem;
}
.linattendu-form textarea{min-height:165px}
.linattendu-form input:focus,
.linattendu-form select:focus,
.linattendu-form textarea:focus{
  outline:none;
  border-color:#c9a25b;
  box-shadow:0 0 0 4px rgba(201,162,91,.15);
}
.linattendu-form input[type="submit"]{
  width:auto;
  min-width:220px;
  background:#c9a25b;
  border:1px solid #c9a25b;
  color:#fff;
  cursor:pointer;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:900;
}
.linattendu-form input[type="submit"]:hover{
  background:#a77f3e;
  border-color:#a77f3e;
}
.linattendu-form .wpcf7-list-item{margin-left:0}
.linattendu-form .wpcf7-not-valid-tip{color:#b42318;margin-top:6px}
.linattendu-form .wpcf7-response-output{
  margin:24px 0 0 !important;
  border-color:#c9a25b !important;
  color:#2b211c;
}

.site-footer{padding-top:78px !important}
.footer-title{letter-spacing:.18em !important}

@media(max-width:1020px){
  .page-hero{padding:52px 0 38px !important}
  .page-hero h1{font-size:clamp(2.35rem,10vw,4.1rem) !important}
  .wp-content .wp-block-image.alignwide,
  .wp-content .wp-block-gallery.alignwide{
    max-width:100%;
    margin-left:0 !important;
    margin-right:0 !important;
  }
}
@media(max-width:640px){
  .page-hero{padding:42px 0 32px !important}
  .page-hero .eyebrow{
    font-size:.62rem !important;
    letter-spacing:.2em !important;
  }
  .page-hero .eyebrow:before,
  .page-hero .eyebrow:after{width:24px}
  .page-content{padding:46px 0 64px !important}
  .wp-content p,.wp-content li{
    font-size:1rem !important;
    line-height:1.72 !important;
  }
  .linattendu-form{
    margin:34px 0;
    padding:28px 20px;
  }
  .linattendu-form input[type="submit"]{width:100%}
}

/* V7.3 - Mise en ligne : Zenchef intégré */
.li-booking-overlay{
  position:fixed!important;inset:0!important;z-index:999999!important;
  display:none;align-items:center;justify-content:center;padding:28px;
  background:radial-gradient(circle at 70% 20%,rgba(201,162,91,.18),transparent 32%),rgba(4,3,2,.90)!important;
  backdrop-filter:blur(14px);
}
.li-booking-overlay.is-open{display:flex!important}
body.li-booking-open{overflow:hidden!important}
.li-booking-modal{
  position:relative;width:min(1180px,96vw);max-height:92vh;overflow:hidden;
  background:#070605;border:1px solid rgba(201,162,91,.45);
  box-shadow:0 48px 160px rgba(0,0,0,.72);
}
.li-booking-top{display:grid;grid-template-columns:.82fr 1.18fr;min-height:680px}
.li-booking-widget{padding:42px;background:#fff8ec;color:#2b211c;overflow:auto}
.li-booking-widget h3{color:#2b211c!important;font-size:clamp(2rem,3vw,3.2rem)!important;margin-bottom:12px}
.li-booking-widget p{color:#66564a!important;margin-bottom:22px}
.li-booking-iframe-wrap{width:100%;min-height:560px;background:white;border:1px solid rgba(43,33,28,.12);overflow:hidden}
.li-booking-iframe-wrap iframe{display:block;width:100%;min-height:620px;border:0;background:white}
.li-booking-close{
  position:absolute;top:18px;right:18px;z-index:5;width:46px;height:46px;
  border:1px solid rgba(201,162,91,.7);background:rgba(7,6,5,.78);
  color:#fff8ec;font-size:30px;line-height:1;cursor:pointer;
}
.li-booking-close:hover{background:#c9a25b;color:#fff}
.zc-widget-button,.zenchef-floating-button,.zenchef-button,#zenchef-widget-button{display:none!important}
.page-hero{padding:58px 0 42px!important}
.page-hero h1,.page-hero .page-title,.page-hero .entry-title{font-size:clamp(2.55rem,4.8vw,5.1rem)!important}
@media(max-width:900px){
  .li-booking-overlay{padding:0}
  .li-booking-modal{width:100vw;height:100vh;max-height:100vh;border:0}
  .li-booking-top{grid-template-columns:1fr}
  .li-booking-visual{min-height:260px}
  .li-booking-widget{padding:28px 16px 86px}
  .li-booking-iframe-wrap iframe{min-height:650px}
}
@media(max-width:640px){.page-hero{padding:38px 0 30px!important}}

/* =========================================================
   L'INATTENDU V8 - UX mobile premium
========================================================= */

.li-booking-overlay{
  opacity:0;
  visibility:hidden;
  display:flex !important;
  pointer-events:none;
  transition:opacity .28s ease, visibility .28s ease;
}
.li-booking-overlay.is-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.li-booking-modal{
  transform:translateY(18px) scale(.985);
  opacity:0;
  transition:transform .34s cubic-bezier(.2,.8,.2,1), opacity .34s ease;
}
.li-booking-overlay.is-open .li-booking-modal{
  transform:none;
  opacity:1;
}
.li-booking-intro h2{
  font-size:clamp(2.25rem,3.8vw,4.4rem) !important;
}
.li-booking-widget{
  scrollbar-width:thin;
}

/* Mobile : priorité au calendrier Zenchef */
@media(max-width:760px){
  .li-booking-overlay{
    padding:0 !important;
    align-items:stretch !important;
    justify-content:stretch !important;
  }
  .li-booking-modal{
    width:100vw !important;
    height:100dvh !important;
    max-height:100dvh !important;
    border:0 !important;
    overflow:auto !important;
    background:#fff8ec !important;
  }
  .li-booking-top{
    display:block !important;
    min-height:0 !important;
  }
  .li-booking-visual{
    min-height:0 !important;
    height:auto !important;
    background:#070605 !important;
    padding:22px 18px 18px !important;
  }
  .li-booking-visual:after{
    display:none !important;
  }
  .li-booking-intro{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    text-align:center !important;
  }
  .li-booking-intro img{
    max-width:185px !important;
    margin:0 auto 12px !important;
  }
  .li-booking-intro h2{
    font-size:1.75rem !important;
    letter-spacing:-.035em !important;
    margin:0 0 6px !important;
    color:#fff8ec !important;
  }
  .li-booking-intro p{
    display:none !important;
  }
  .li-booking-widget{
    padding:18px 12px 34px !important;
    background:#fff8ec !important;
  }
  .li-booking-widget .eyebrow{
    display:none !important;
  }
  .li-booking-widget h3{
    font-size:1.55rem !important;
    text-align:center !important;
    margin-bottom:5px !important;
  }
  .li-booking-widget p{
    text-align:center !important;
    font-size:.92rem !important;
    margin-bottom:12px !important;
  }
  .li-booking-iframe-wrap{
    min-height:calc(100dvh - 190px) !important;
    border:0 !important;
    box-shadow:none !important;
  }
  .li-booking-iframe-wrap iframe{
    min-height:calc(100dvh - 190px) !important;
  }
  .li-booking-close{
    position:fixed !important;
    top:12px !important;
    right:12px !important;
    width:42px !important;
    height:42px !important;
    background:rgba(6,5,4,.88) !important;
    z-index:1000001 !important;
  }
}

.mobile-sticky-actions a:first-child{
  background:#c9a25b !important;
}
.page-hero{
  padding:54px 0 38px !important;
}
@media(max-width:640px){
  .page-hero h1{
    font-size:clamp(2.15rem,10vw,3.55rem) !important;
  }
  .page-hero .eyebrow{
    justify-content:center;
  }
  .page-hero .container{
    text-align:center;
  }
}

/* V8.1 - Correction popup Zenchef responsive navigateur */
.li-booking-overlay{
  padding:clamp(10px,2vw,24px) !important;
  align-items:center !important;
  justify-content:center !important;
}
.li-booking-modal{
  width:min(1180px, calc(100vw - 32px)) !important;
  height:min(820px, calc(100dvh - 32px)) !important;
  max-height:calc(100dvh - 32px) !important;
  overflow:hidden !important;
}
.li-booking-top{
  height:100% !important;
  min-height:0 !important;
  display:grid !important;
  grid-template-columns:.78fr 1.22fr !important;
}
.li-booking-visual{
  min-height:0 !important;
  height:100% !important;
}
.li-booking-widget{
  height:100% !important;
  overflow:auto !important;
  padding:clamp(22px,3vw,42px) !important;
}
.li-booking-iframe-wrap{
  height:calc(100% - 145px) !important;
  min-height:360px !important;
  overflow:hidden !important;
}
.li-booking-iframe-wrap iframe{
  width:100% !important;
  height:100% !important;
  min-height:360px !important;
}
@media(max-height:760px) and (min-width:761px){
  .li-booking-modal{
    height:calc(100dvh - 24px) !important;
    max-height:calc(100dvh - 24px) !important;
  }
  .li-booking-widget h3{
    font-size:clamp(1.7rem,2.4vw,2.6rem) !important;
    margin-bottom:6px !important;
  }
  .li-booking-widget p{
    margin-bottom:12px !important;
  }
  .li-booking-iframe-wrap{
    height:calc(100% - 110px) !important;
  }
}
@media(max-width:760px){
  .li-booking-overlay{
    padding:0 !important;
  }
  .li-booking-modal{
    width:100vw !important;
    height:100dvh !important;
    max-height:100dvh !important;
  }
  .li-booking-top{
    display:block !important;
    height:auto !important;
  }
  .li-booking-widget{
    height:auto !important;
    min-height:calc(100dvh - 110px) !important;
  }
  .li-booking-iframe-wrap{
    height:calc(100dvh - 220px) !important;
    min-height:480px !important;
  }
  .li-booking-iframe-wrap iframe{
    height:100% !important;
    min-height:480px !important;
  }
}

/* =========================================================
   L'INATTENDU V8.2
   Correction scroll popup Zenchef
========================================================= */

.li-booking-overlay{
  overflow-y:auto !important;
  -webkit-overflow-scrolling:touch !important;
  align-items:flex-start !important;
}

.li-booking-modal{
  margin:auto !important;
  overflow:hidden !important;
}

.li-booking-widget{
  overflow-y:auto !important;
  -webkit-overflow-scrolling:touch !important;
}

.li-booking-iframe-wrap{
  overflow-y:auto !important;
  -webkit-overflow-scrolling:touch !important;
}

.li-booking-iframe-wrap iframe{
  display:block !important;
}

/* Quand la fenêtre est très basse, on laisse toute la popup scroller */
@media(max-height:760px) and (min-width:761px){
  .li-booking-overlay{
    align-items:flex-start !important;
    padding:12px !important;
  }

  .li-booking-modal{
    height:auto !important;
    min-height:calc(100dvh - 24px) !important;
    max-height:none !important;
    overflow:visible !important;
  }

  .li-booking-top{
    min-height:calc(100dvh - 24px) !important;
  }

  .li-booking-widget{
    min-height:calc(100dvh - 24px) !important;
    overflow:visible !important;
  }

  .li-booking-iframe-wrap{
    height:620px !important;
    min-height:620px !important;
    overflow:auto !important;
  }

  .li-booking-iframe-wrap iframe{
    height:720px !important;
    min-height:720px !important;
  }
}

/* Mobile et petite fenêtre : plein écran + scroll naturel */
@media(max-width:760px){
  .li-booking-overlay{
    overflow-y:auto !important;
    align-items:flex-start !important;
  }

  .li-booking-modal{
    height:auto !important;
    min-height:100dvh !important;
    max-height:none !important;
    overflow:visible !important;
  }

  .li-booking-widget{
    min-height:auto !important;
    overflow:visible !important;
    padding-bottom:42px !important;
  }

  .li-booking-iframe-wrap{
    height:680px !important;
    min-height:680px !important;
    overflow:auto !important;
  }

  .li-booking-iframe-wrap iframe{
    height:760px !important;
    min-height:760px !important;
  }
}


/* =========================================================
   L'INATTENDU V8.3
   Popup Zenchef ajustée au navigateur + scroll interne
========================================================= */

/* La page derrière ne doit plus scroller */
body.li-booking-open{
  overflow:hidden !important;
}

/* Overlay fixe, pas de scroll global */
.li-booking-overlay{
  position:fixed !important;
  inset:0 !important;
  padding:24px !important;
  overflow:hidden !important;
  align-items:center !important;
  justify-content:center !important;
}

/* La fenêtre rentre toujours dans le navigateur */
.li-booking-modal{
  width:min(1180px, calc(100vw - 48px)) !important;
  height:min(760px, calc(100dvh - 48px)) !important;
  max-height:calc(100dvh - 48px) !important;
  overflow:hidden !important;
  margin:0 !important;
}

/* Deux colonnes hauteur fixe */
.li-booking-top{
  height:100% !important;
  min-height:0 !important;
  display:grid !important;
  grid-template-columns:.78fr 1.22fr !important;
}

/* Photo à gauche adaptée à la hauteur */
.li-booking-visual{
  height:100% !important;
  min-height:0 !important;
}

/* Colonne droite sans dépasser */
.li-booking-widget{
  height:100% !important;
  min-height:0 !important;
  overflow:hidden !important;
  padding:32px !important;
  display:flex !important;
  flex-direction:column !important;
}

/* Titres plus compacts */
.li-booking-widget .eyebrow{
  margin-bottom:8px !important;
}
.li-booking-widget h3{
  font-size:clamp(1.9rem,2.7vw,2.9rem) !important;
  line-height:1.05 !important;
  margin:0 0 8px !important;
}
.li-booking-widget p{
  margin:0 0 14px !important;
}

/* Le scroll se fait ici uniquement */
.li-booking-iframe-wrap{
  flex:1 1 auto !important;
  height:auto !important;
  min-height:0 !important;
  overflow:auto !important;
  -webkit-overflow-scrolling:touch !important;
  border:1px solid rgba(43,33,28,.12) !important;
  background:white !important;
}

/* L’iframe est haute pour permettre le scroll interne */
.li-booking-iframe-wrap iframe{
  display:block !important;
  width:100% !important;
  height:760px !important;
  min-height:760px !important;
  border:0 !important;
}

/* Écrans bas : fenêtre plus compacte */
@media(max-height:780px) and (min-width:761px){
  .li-booking-overlay{
    padding:16px !important;
  }
  .li-booking-modal{
    width:min(1180px, calc(100vw - 32px)) !important;
    height:calc(100dvh - 32px) !important;
    max-height:calc(100dvh - 32px) !important;
  }
  .li-booking-widget{
    padding:24px !important;
  }
  .li-booking-widget h3{
    font-size:clamp(1.65rem,2.3vw,2.35rem) !important;
  }
  .li-booking-widget p{
    font-size:.95rem !important;
  }
  .li-booking-iframe-wrap iframe{
    height:700px !important;
    min-height:700px !important;
  }
  .li-booking-intro h2{
    font-size:clamp(1.9rem,3vw,3rem) !important;
  }
}

/* Mobile : plein écran avec scroll naturel du bloc */
@media(max-width:760px){
  .li-booking-overlay{
    padding:0 !important;
    overflow:hidden !important;
  }
  .li-booking-modal{
    width:100vw !important;
    height:100dvh !important;
    max-height:100dvh !important;
    overflow:hidden !important;
    border:0 !important;
  }
  .li-booking-top{
    display:block !important;
    height:100% !important;
    overflow:hidden !important;
  }
  .li-booking-visual{
    height:auto !important;
    min-height:92px !important;
    padding:18px 54px 14px 18px !important;
  }
  .li-booking-intro img{
    max-width:160px !important;
  }
  .li-booking-intro h2{
    font-size:1.45rem !important;
  }
  .li-booking-widget{
    height:calc(100dvh - 92px) !important;
    padding:14px 12px 18px !important;
    overflow:hidden !important;
  }
  .li-booking-widget h3{
    font-size:1.35rem !important;
  }
  .li-booking-widget p{
    font-size:.86rem !important;
    margin-bottom:10px !important;
  }
  .li-booking-iframe-wrap{
    flex:1 1 auto !important;
    min-height:0 !important;
    overflow:auto !important;
    border:0 !important;
  }
  .li-booking-iframe-wrap iframe{
    height:760px !important;
    min-height:760px !important;
  }
  .li-booking-close{
    position:fixed !important;
    top:12px !important;
    right:12px !important;
  }
}


/* =========================================================
   L'INATTENDU V8.4
   Zenchef fluide : iframe adaptée à la popup + scroll secours
========================================================= */

/* La popup s'adapte au navigateur */
body.li-booking-open{
  overflow:hidden !important;
}

.li-booking-overlay{
  position:fixed !important;
  inset:0 !important;
  padding:clamp(12px,2vw,26px) !important;
  overflow:hidden !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.li-booking-modal{
  width:min(1180px, calc(100vw - 2 * clamp(12px,2vw,26px))) !important;
  height:min(790px, calc(100dvh - 2 * clamp(12px,2vw,26px))) !important;
  max-height:calc(100dvh - 2 * clamp(12px,2vw,26px)) !important;
  overflow:hidden !important;
  margin:0 !important;
}

.li-booking-top{
  height:100% !important;
  min-height:0 !important;
  display:grid !important;
  grid-template-columns:minmax(320px,.78fr) minmax(520px,1.22fr) !important;
}

.li-booking-visual{
  height:100% !important;
  min-height:0 !important;
}

.li-booking-widget{
  height:100% !important;
  min-height:0 !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
  padding:clamp(22px,3vw,38px) !important;
}

.li-booking-widget .eyebrow,
.li-booking-widget h3,
.li-booking-widget p{
  flex:0 0 auto !important;
}

.li-booking-widget .eyebrow{
  margin-bottom:8px !important;
}

.li-booking-widget h3{
  font-size:clamp(1.75rem,2.6vw,2.85rem) !important;
  line-height:1.05 !important;
  margin:0 0 8px !important;
}

.li-booking-widget p{
  margin:0 0 14px !important;
  font-size:clamp(.92rem,1.05vw,1rem) !important;
}

/* Le conteneur Zenchef prend TOUT l'espace restant */
.li-booking-iframe-wrap{
  flex:1 1 auto !important;
  height:auto !important;
  min-height:0 !important;
  width:100% !important;
  overflow:auto !important;
  -webkit-overflow-scrolling:touch !important;
  border:1px solid rgba(43,33,28,.12) !important;
  background:#2b3038 !important;
}

/* L'iframe remplit le conteneur.
   Le scroll interne ne sert que si Zenchef dépasse. */
.li-booking-iframe-wrap iframe{
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-height:100% !important;
  border:0 !important;
  background:white !important;
}

/* Sécurité : si Zenchef impose une hauteur interne, le conteneur scrolle */
.li-booking-iframe-wrap > *{
  max-width:100% !important;
}

/* Écrans moins hauts : réduire l'en-tête de la colonne droite */
@media(max-height:760px) and (min-width:861px){
  .li-booking-modal{
    height:calc(100dvh - 24px) !important;
    max-height:calc(100dvh - 24px) !important;
  }

  .li-booking-overlay{
    padding:12px !important;
  }

  .li-booking-widget{
    padding:20px !important;
  }

  .li-booking-widget .eyebrow{
    display:none !important;
  }

  .li-booking-widget h3{
    font-size:clamp(1.55rem,2.1vw,2.25rem) !important;
    margin-bottom:6px !important;
  }

  .li-booking-widget p{
    font-size:.9rem !important;
    margin-bottom:10px !important;
  }

  .li-booking-intro h2{
    font-size:clamp(1.8rem,2.8vw,3rem) !important;
  }
}

/* Fenêtre étroite type tablette : une seule colonne, Zenchef prioritaire */
@media(max-width:860px){
  .li-booking-overlay{
    padding:0 !important;
  }

  .li-booking-modal{
    width:100vw !important;
    height:100dvh !important;
    max-height:100dvh !important;
    overflow:hidden !important;
    border:0 !important;
  }

  .li-booking-top{
    display:flex !important;
    flex-direction:column !important;
    height:100% !important;
    min-height:0 !important;
  }

  .li-booking-visual{
    flex:0 0 auto !important;
    height:auto !important;
    min-height:0 !important;
    padding:16px 54px 14px 18px !important;
    background:#070605 !important;
  }

  .li-booking-visual:after{
    display:none !important;
  }

  .li-booking-intro{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    text-align:center !important;
  }

  .li-booking-intro img{
    max-width:160px !important;
    margin:0 auto 10px !important;
  }

  .li-booking-intro h2{
    font-size:1.45rem !important;
    margin:0 !important;
  }

  .li-booking-intro p{
    display:none !important;
  }

  .li-booking-widget{
    flex:1 1 auto !important;
    height:auto !important;
    min-height:0 !important;
    padding:14px 12px 18px !important;
  }

  .li-booking-widget .eyebrow{
    display:none !important;
  }

  .li-booking-widget h3{
    font-size:1.35rem !important;
    text-align:center !important;
    margin-bottom:5px !important;
  }

  .li-booking-widget p{
    font-size:.86rem !important;
    text-align:center !important;
    margin-bottom:10px !important;
  }

  .li-booking-iframe-wrap{
    flex:1 1 auto !important;
    min-height:0 !important;
    overflow:auto !important;
    border:0 !important;
  }

  .li-booking-iframe-wrap iframe{
    height:100% !important;
    min-height:100% !important;
  }

  .li-booking-close{
    position:fixed !important;
    top:12px !important;
    right:12px !important;
    z-index:1000001 !important;
  }
}

/* Très petit écran : garder une hauteur utile au calendrier */
@media(max-width:480px){
  .li-booking-visual{
    padding-top:14px !important;
    padding-bottom:10px !important;
  }

  .li-booking-intro img{
    max-width:138px !important;
    margin-bottom:6px !important;
  }

  .li-booking-intro h2{
    font-size:1.22rem !important;
  }

  .li-booking-widget{
    padding-top:10px !important;
  }

  .li-booking-widget h3{
    font-size:1.18rem !important;
  }

  .li-booking-widget p{
    display:none !important;
  }
}

/* =========================================================
   L'INATTENDU V8.5 - Animations homogènes
========================================================= */

.li-reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .85s cubic-bezier(.2,.8,.2,1), transform .85s cubic-bezier(.2,.8,.2,1);
  will-change:opacity, transform;
}
.li-reveal.is-visible{opacity:1;transform:none}

.li-reveal-img{
  opacity:0;
  transform:translateY(26px) scale(.985);
  transition:opacity .95s cubic-bezier(.2,.8,.2,1), transform .95s cubic-bezier(.2,.8,.2,1);
  will-change:opacity, transform;
}
.li-reveal-img.is-visible{opacity:1;transform:none}

.wp-content .wp-block-image img,
.wp-content img,
.photo-frame img,
.gallery img{
  transition:transform .75s cubic-bezier(.2,.8,.2,1), filter .75s cubic-bezier(.2,.8,.2,1), opacity .75s cubic-bezier(.2,.8,.2,1);
}
.wp-content .wp-block-image:hover img,
.photo-frame:hover img{transform:scale(1.025)}

.page-hero .eyebrow,
.page-hero h1,
.page-hero p{
  opacity:0;
  transform:translateY(18px);
  animation:liHeroFade .85s cubic-bezier(.2,.8,.2,1) forwards;
}
.page-hero h1{animation-delay:.12s}
.page-hero p{animation-delay:.22s}

@keyframes liHeroFade{
  to{opacity:1;transform:none}
}

.wp-content .li-reveal:nth-child(2n){transition-delay:.04s}
.wp-content .li-reveal:nth-child(3n){transition-delay:.08s}

.wp-content{animation:liPageIn .45s ease both}
@keyframes liPageIn{from{opacity:.96}to{opacity:1}}

.wp-content > *{scroll-margin-top:130px}
.wp-content .wp-block-columns{align-items:center}

@media (prefers-reduced-motion: reduce){
  .li-reveal,
  .li-reveal-img,
  .page-hero .eyebrow,
  .page-hero h1,
  .page-hero p,
  .wp-content{
    opacity:1 !important;
    transform:none !important;
    animation:none !important;
    transition:none !important;
  }
  .wp-content .wp-block-image:hover img,
  .photo-frame:hover img{transform:none !important}
}

@media(max-width:640px){
  .li-reveal,
  .li-reveal-img{transform:translateY(18px)}
}

/* V9 SEO Expert - Breadcrumbs + maillage interne */
.li-breadcrumbs{background:#080706;border-bottom:1px solid rgba(201,162,91,.18);color:rgba(255,248,236,.66);font-size:.82rem}
.li-breadcrumbs .container{padding:12px 0}
.li-breadcrumbs a{color:rgba(255,248,236,.78);text-decoration:none}
.li-breadcrumbs a:hover{color:#c9a25b}
.li-breadcrumbs .sep{color:#c9a25b;margin:0 8px}
.li-internal-links{margin-top:70px;padding:34px;background:#fffaf0;border:1px solid rgba(201,162,91,.30);box-shadow:0 18px 48px rgba(43,33,28,.06)}
.li-internal-links h2{margin-top:0!important;font-size:clamp(1.7rem,3vw,2.7rem)!important}
.li-internal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:20px}
.li-internal-grid a{display:flex;align-items:center;justify-content:center;min-height:54px;padding:12px 14px;border:1px solid rgba(43,33,28,.18);color:#2b211c!important;text-decoration:none;text-transform:uppercase;letter-spacing:.08em;font-weight:900;font-size:.72rem;transition:.25s}
.li-internal-grid a:hover{background:#c9a25b;border-color:#c9a25b;color:white!important;transform:translateY(-2px)}
@media(max-width:900px){.li-internal-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.li-internal-links{padding:24px 18px}.li-internal-grid{grid-template-columns:1fr}}

/* V9.1 - Correctif menu mobile portrait / paysage / mode ordinateur */
@media (max-width:1180px){
  body.menu-open{overflow:hidden!important}
  .site-header{position:sticky!important;top:0!important;z-index:10050!important}
  .header-main{position:relative!important;z-index:10052!important;background:#060504!important}
  .mobile-toggle{display:flex!important;align-items:center!important;justify-content:center!important;position:relative!important;z-index:10055!important}
  .nav-wrap{position:static!important;border:0!important}
  .main-nav{
    position:fixed!important;top:88px!important;right:0!important;bottom:0!important;left:0!important;
    display:none!important;width:100vw!important;height:calc(100dvh - 88px)!important;min-height:0!important;
    padding:0!important;margin:0!important;
    background:radial-gradient(circle at 75% 8%,rgba(201,162,91,.10),transparent 34%),#060504!important;
    z-index:10040!important;overflow-y:auto!important;overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;align-items:flex-start!important;justify-content:flex-start!important;
  }
  .main-nav.open{display:block!important}
  .main-nav .menu{
    display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;
    width:100%!important;max-width:760px!important;height:auto!important;min-height:max-content!important;
    margin:0 auto!important;padding:20px 18px 70px!important;gap:0!important;list-style:none!important;transform:none!important;
  }
  .main-nav .menu>li{
    display:block!important;width:100%!important;height:auto!important;margin:0!important;padding:0!important;
    border-bottom:1px solid rgba(201,162,91,.22)!important;
  }
  .main-nav .menu>li:first-child{border-top:1px solid rgba(201,162,91,.22)!important}
  .main-nav .menu>li>a{
    display:flex!important;align-items:center!important;justify-content:flex-start!important;
    width:100%!important;min-height:60px!important;height:auto!important;padding:16px 14px!important;margin:0!important;
    color:rgba(255,248,236,.95)!important;background:transparent!important;
    font-family:Georgia,"Times New Roman",serif!important;font-size:1rem!important;line-height:1.3!important;
    letter-spacing:.12em!important;text-transform:uppercase!important;text-decoration:none!important;white-space:normal!important;
  }
  .main-nav .menu>li>a:hover,.main-nav .menu .current-menu-item>a{
    color:#c9a25b!important;background:rgba(201,162,91,.06)!important;
  }
  .main-nav .sub-menu{
    position:static!important;display:block!important;width:100%!important;min-width:0!important;
    margin:0!important;padding:0 0 12px 22px!important;background:transparent!important;border:0!important;list-style:none!important;
  }
  .main-nav .sub-menu li{width:100%!important}
  .main-nav .sub-menu a{
    display:block!important;width:100%!important;padding:11px 14px!important;color:rgba(255,248,236,.76)!important;
    font-size:.84rem!important;line-height:1.35!important;white-space:normal!important;
  }
}
@media (max-width:480px){
  .main-nav{top:88px!important;height:calc(100dvh - 88px)!important}
  .main-nav .menu{padding:14px 12px 80px!important}
  .main-nav .menu>li>a{min-height:56px!important;padding:14px 12px!important;font-size:.92rem!important;letter-spacing:.10em!important}
}
@media (max-height:520px) and (max-width:1180px){
  .main-nav{top:72px!important;height:calc(100dvh - 72px)!important}
  .header-main{height:72px!important}
  .main-nav .menu{padding-top:8px!important}
  .main-nav .menu>li>a{min-height:48px!important;padding:11px 12px!important;font-size:.86rem!important}
}


/* =========================================================
   L'INATTENDU V9.2
   Icônes sociales SVG intégrées
========================================================= */

.social-link{
  font-size:0 !important;
  line-height:1 !important;
  overflow:hidden;
}

.social-link .li-social-icon{
  display:block;
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  pointer-events:none;
}

.social-link .li-social-icon-facebook{
  fill:currentColor;
  stroke:none;
}

.social-link .li-social-icon-google{
  fill:currentColor;
  stroke:none;
}

.social-link .li-social-icon-tripadvisor{
  width:21px;
  height:21px;
}

.social-link:hover .li-social-icon{
  color:#fff;
}

.footer-socials .social-link{
  width:42px;
  height:42px;
  border:1px solid rgba(201,162,91,.48);
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#c9a25b;
  background:rgba(6,5,4,.22);
  transition:.25s;
}

.footer-socials .social-link:hover{
  background:#c9a25b;
  color:#fff;
  transform:translateY(-2px);
}

.floating-socials .social-link .li-social-icon{
  width:17px;
  height:17px;
}

@media(max-width:640px){
  .header-socials .social-link{
    width:36px;
    height:36px;
  }
}
