/* La BARaque V8.8 — deeper 3D motion, still restrained for a premium restaurant. */
:root{--v88-x:0;--v88-y:0;--v88-rx:0deg;--v88-ry:0deg;--v88-z:0px;--v88-lx:50%;--v88-ly:30%;--v88-page-depth:0px;--v88-page-scale:1.035}
.hero{overflow:clip}.hero-grid{transform-style:preserve-3d;perspective:1800px;perspective-origin:calc(50% + (var(--v88-x) * 7%)) calc(46% + (var(--v88-y) * 6%))}
.v88-scene .hero-copy{transform:translate3d(calc(var(--v88-x) * -12px),calc((var(--hero-shift) * -.22) + (var(--v88-y) * -7px)),42px) rotateY(calc(var(--v88-x) * -1.1deg));transition:transform .12s linear,opacity .2s ease}
.v88-scene .hero-photo{transform-style:preserve-3d;transform:translate3d(calc(var(--v88-x) * 15px),calc(var(--hero-shift) + (var(--v88-y) * 9px)),28px) rotateX(calc(var(--v88-y) * -3.2deg)) rotateY(calc(var(--v88-x) * 4.2deg));transition:transform .14s linear,filter .3s ease}
.v88-scene .hero-photo-main{transform:translateZ(36px) scale(1.008);box-shadow:0 48px 120px rgba(0,0,0,.5)}
.v88-scene .hero-photo-inset{transform:translateZ(112px) translate3d(calc(var(--v88-x) * -8px),calc(var(--v88-y) * -6px),0);box-shadow:0 36px 80px rgba(0,0,0,.56)}
.v88-scene .hero-photo figcaption{transform:translateZ(72px)}
.hero-photo:before{content:"";position:absolute;inset:9% -8% 8% 10%;z-index:-1;border:1px solid rgba(216,161,115,.14);border-radius:12px;transform:translateZ(-26px) rotate(1.4deg);opacity:.7;pointer-events:none}
.v88-deep{position:relative;transform-style:preserve-3d;will-change:transform;transform:perspective(1250px) rotateX(var(--v88-rx)) rotateY(var(--v88-ry)) translate3d(0,var(--v88-z),0)!important;transition:transform .2s cubic-bezier(.2,.72,.2,1),box-shadow .28s ease,border-color .25s ease!important}
.v88-deep:hover{box-shadow:0 38px 90px rgba(0,0,0,.42)}
.v88-deep>.v88-sheen{position:absolute!important;z-index:8!important;inset:0!important;pointer-events:none!important;border-radius:inherit;background:radial-gradient(340px circle at var(--v88-lx) var(--v88-ly),rgba(255,238,218,.095),transparent 47%),linear-gradient(120deg,rgba(255,255,255,.04),transparent 28% 72%,rgba(182,41,49,.045));opacity:0;transition:opacity .22s ease;transform:translateZ(18px)!important}
.v88-deep:hover>.v88-sheen{opacity:1}
.v88-deep>*:not(.v88-sheen){transform:translateZ(10px)}
.moment-link.v88-deep>*:not(.v88-sheen),.google-review-card.v88-deep>*:not(.v88-sheen){transform:translateZ(15px)}
.gallery-strip figure.v88-deep img,.gallery-masonry figure.v88-deep img{transform:translateZ(18px) scale(1.002);transition:transform .28s ease,filter .28s ease}
.gallery-strip figure.v88-deep:hover img,.gallery-masonry figure.v88-deep:hover img{transform:translateZ(28px) scale(1.018);filter:saturate(1.02) contrast(1.035)}
.v88-reveal{opacity:0;filter:blur(4px);transform:perspective(1100px) translate3d(0,30px,-28px) rotateX(2.8deg);transform-origin:50% 100%;transition:opacity .62s ease var(--v88-delay,0ms),filter .68s ease var(--v88-delay,0ms),transform .72s cubic-bezier(.18,.78,.18,1) var(--v88-delay,0ms)}
.v88-reveal.v88-in{opacity:1;filter:none;transform:perspective(1100px) translate3d(0,0,0) rotateX(0)}
.section-head.v88-reveal,.reviews-head.v88-reveal{transform-origin:20% 100%}
.page-hero{perspective:1500px}.page-hero-media{transform:translate3d(0,calc((var(--hero-shift) * .28) + var(--v88-page-depth)),0) scale(var(--v88-page-scale));will-change:transform}.page-hero>.container{transform:translateZ(28px)}
.menu-preview.v88-deep{transform-origin:50% 70%}.menu-preview.v88-deep:hover{border-color:rgba(216,161,115,.18)}
.booking-ribbon{position:relative}.booking-ribbon:after{content:"";position:absolute;inset:auto 8% 0;height:1px;background:linear-gradient(90deg,transparent,rgba(216,161,115,.32),rgba(182,41,49,.36),transparent);filter:drop-shadow(0 0 8px rgba(182,41,49,.15))}
.cta-band{position:relative;overflow:hidden}.cta-band:after{content:"";position:absolute;width:46%;aspect-ratio:1;right:-12%;top:-120%;border:1px solid rgba(255,255,255,.08);border-radius:50%;box-shadow:0 0 0 38px rgba(255,255,255,.015),0 0 0 78px rgba(255,255,255,.01);pointer-events:none}
.btn,.abtn,.header-book{backface-visibility:hidden}.btn:hover,.header-book:hover{box-shadow:0 14px 38px rgba(0,0,0,.24),0 0 0 1px rgba(255,255,255,.035) inset}
.reviews-carousel{perspective:1400px}.google-review-card.v88-deep{transform-origin:50% 65%}.google-review-card.v88-deep blockquote{font-size:clamp(1.18rem,1.75vw,1.55rem)}
.gallery-strip{perspective:1500px}.gallery-strip figure{transform-origin:50% 70%}
.moments{perspective:1500px}.moment-link{backface-visibility:hidden}
@media(max-width:860px){.v88-scene .hero-copy,.v88-scene .hero-photo,.v88-scene .hero-photo-main,.v88-scene .hero-photo-inset,.v88-deep,.v88-deep:hover,.v88-deep>*:not(.v88-sheen),.gallery-strip figure.v88-deep img,.gallery-strip figure.v88-deep:hover img,.gallery-masonry figure.v88-deep img,.gallery-masonry figure.v88-deep:hover img{transform:none!important}.v88-deep>.v88-sheen{display:none}.hero-photo:before{opacity:.28;inset:8% 4% 5% 4%}.page-hero>.container{transform:none}.v88-reveal{filter:none;transform:translateY(20px);transition-duration:.5s}.v88-reveal.v88-in{transform:none}.cta-band:after{opacity:.45}}
@media(prefers-reduced-motion:reduce){.v88-scene .hero-copy,.v88-scene .hero-photo,.v88-scene .hero-photo-main,.v88-scene .hero-photo-inset,.v88-deep,.v88-deep:hover,.v88-reveal,.v88-reveal.v88-in,.page-hero-media{transform:none!important;transition:none!important;filter:none!important;opacity:1!important}.v88-deep>.v88-sheen,.hero-photo:before{display:none}}

/* V8.8.1 — fix aperçu de la carte : fond photo uniforme, sans cassure verticale */
.menu-preview{
  isolation:isolate;
  overflow:hidden;
  background:linear-gradient(145deg,#17191a 0%,#111314 100%)!important;
}
.menu-preview::after{
  content:"";
  position:absolute;
  inset:0!important;
  width:auto!important;
  height:auto!important;
  right:auto!important;
  top:auto!important;
  z-index:0!important;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(17,19,20,.94) 0%,rgba(17,19,20,.86) 42%,rgba(17,19,20,.78) 100%),
    url('/assets/images/optimized/oysters-960.webp') center 54% / cover no-repeat!important;
  opacity:.16!important;
  filter:saturate(.72) contrast(1.05)!important;
  transform:none!important;
}
.menu-preview>*:not(.v88-sheen){
  position:relative;
  z-index:2;
}
.menu-preview>.v88-sheen{z-index:3!important}

@media(max-width:860px){
  .menu-preview::after{
    background:
      linear-gradient(180deg,rgba(17,19,20,.90) 0%,rgba(17,19,20,.84) 100%),
      url('/assets/images/optimized/oysters-960.webp') center 50% / cover no-repeat!important;
    opacity:.10!important;
    filter:saturate(.65) contrast(1.02)!important;
  }
  .menu-preview.v88-deep,
  .menu-preview.v88-deep:hover{
    transform:none!important;
  }
  .menu-preview>.v88-sheen{display:none!important}
}

/* V8.8.1 hotfix — force le média de la carte sur toute la surface */
.menu-preview::after{
  inset:0!important;
  left:0!important;
  right:0!important;
  top:0!important;
  bottom:0!important;
  width:100%!important;
  height:100%!important;
  box-sizing:border-box;
}
