/* Vertigo RestoBar v2.7 — client revisions */

/* Exact lettering from the logo supplied in the Trello video. */
.brand .vertigo-v27-wordmark,
.brand--footer .vertigo-v27-wordmark{
  display:block;
  width:142px;
  max-width:36vw;
  height:auto;
  object-fit:contain;
}
.brand > span,
.brand--footer > span{
  display:none !important;
}
.brand{gap:11px}
@media(max-width:650px){
  .brand .vertigo-v27-wordmark{width:118px;max-width:42vw}
}

/* Menu teaser cards are now real navigation targets. */
.dish-card.vertigo-v27-menu-link{
  cursor:pointer;
  transition:transform .22s ease, box-shadow .22s ease;
}
.dish-card.vertigo-v27-menu-link:hover,
.dish-card.vertigo-v27-menu-link:focus-visible{
  transform:translateY(-4px);
  box-shadow:0 22px 45px rgba(0,0,0,.22);
  outline:2px solid var(--gold-2,#efc567);
  outline-offset:4px;
}

/* New client gallery. It remains one deck card, so the horizontal experience is preserved. */
.horizontal-track > .location-gallery.vertigo-v27-gallery,
.location-gallery.vertigo-v27-gallery{
  display:block !important;
  grid-template-columns:none !important;
  grid-template-rows:none !important;
  height:100% !important;
  min-height:100% !important;
  padding:118px clamp(22px,5vw,72px) 76px !important;
  background:#071e27 !important;
  color:#fff;
  overflow-y:auto !important;
}
.vertigo-v27-gallery__head{
  width:min(1240px,100%);
  margin:0 auto 28px;
  display:grid;
  grid-template-columns:minmax(0,.75fr) minmax(260px,.45fr);
  gap:32px;
  align-items:end;
}
.vertigo-v27-gallery__head h2{
  color:#fff;
  margin:0;
  font-size:clamp(3rem,5vw,6rem);
}
.vertigo-v27-gallery__head p{
  margin:0;
  color:#d5dfe0;
  line-height:1.7;
}
.vertigo-v27-gallery__video{
  width:min(1240px,100%);
  margin:0 auto 30px;
  display:grid;
  grid-template-columns:minmax(260px,.55fr) minmax(0,1fr);
  gap:28px;
  align-items:center;
  padding:22px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:24px;
  background:rgba(255,255,255,.055);
}
.vertigo-v27-gallery__video video{
  width:100%;
  max-height:560px;
  aspect-ratio:9/16;
  object-fit:cover;
  border-radius:18px;
  background:#000;
}
.vertigo-v27-gallery__video h3{
  margin:8px 0 12px;
  color:#fff;
  font-size:clamp(2.2rem,3.6vw,4.2rem);
}
.vertigo-v27-gallery__video p{color:#d5dfe0;max-width:620px}
.vertigo-v27-media-grid{
  width:min(1240px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.vertigo-v27-media-grid a{
  position:relative;
  display:block;
  overflow:hidden;
  min-height:260px;
  border-radius:16px;
  background:#0a2832;
}
.vertigo-v27-media-grid a:nth-child(5n+1),
.vertigo-v27-media-grid a:nth-child(7n+4){grid-row:span 2;min-height:532px}
.vertigo-v27-media-grid img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .45s ease,filter .45s ease;
}
.vertigo-v27-media-grid a:hover img{transform:scale(1.025);filter:brightness(1.04)}

/* Dedicated lightbox for newly injected media. */
.vertigo-v27-lightbox{
  position:fixed;
  z-index:99999;
  inset:0;
  display:none;
  place-items:center;
  padding:30px;
  background:rgba(2,13,17,.96);
}
.vertigo-v27-lightbox.is-open{display:grid}
.vertigo-v27-lightbox img{max-width:min(1300px,92vw);max-height:88vh;object-fit:contain}
.vertigo-v27-lightbox button{
  position:absolute;
  top:22px;
  right:22px;
  width:48px;
  height:48px;
  border:1px solid rgba(255,255,255,.45);
  border-radius:50%;
  background:rgba(0,0,0,.25);
  color:#fff;
  font-size:28px;
}

/* Stabilize the physical deck without removing its horizontal/card effect. */
@media (min-width:761px) and (pointer:fine), (min-width:1025px){
  .horizontal-track{
    overscroll-behavior:none !important;
  }
  .horizontal-track > .h-slide{
    overscroll-behavior:contain !important;
  }
}
body.mobile-deck .horizontal-track{
  overflow-x:hidden !important;
  touch-action:pan-y !important;
  overscroll-behavior:none !important;
}
body.mobile-deck .horizontal-track > .h-slide{
  touch-action:pan-y !important;
  overscroll-behavior-y:contain !important;
}

@media(max-width:900px){
  .vertigo-v27-gallery__head,
  .vertigo-v27-gallery__video{grid-template-columns:1fr}
  .vertigo-v27-gallery__video video{max-width:420px;justify-self:center}
  .vertigo-v27-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vertigo-v27-media-grid a:nth-child(n){grid-row:auto;min-height:250px}
}
@media(max-width:620px){
  .horizontal-track > .location-gallery.vertigo-v27-gallery,
  .location-gallery.vertigo-v27-gallery{padding:96px 14px 92px !important}
  .vertigo-v27-media-grid{gap:8px}
  .vertigo-v27-media-grid a{min-height:200px;border-radius:12px}
  .vertigo-v27-gallery__video{padding:14px;border-radius:18px}
}



/* ============================================================
   Vertigo v3.3 — normale layout verticale
   Nessun deck fixed, overflow forzato o scroll-snap.
   ============================================================ */
html.vertigo-vertical-ready{
  scroll-behavior:auto !important;
  scroll-snap-type:none !important;
  overflow-x:clip !important;
  overflow-y:auto !important;
}
body.vertigo-vertical-ready{
  scroll-behavior:auto !important;
  scroll-snap-type:none !important;
  overflow-x:clip !important;
  overflow-y:visible !important;
}
main.vertigo-native-vertical{
  position:relative !important;
  display:block;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:visible !important;
  scroll-snap-type:none !important;
}
main.vertigo-native-vertical > section{
  position:relative;
  max-height:none !important;
  scroll-snap-align:none !important;
  scroll-snap-stop:normal !important;
  transform:none !important;
  filter:none !important;
  z-index:auto !important;
}
/* Alcune sezioni editoriali possono rimanere lunghe: non ritagliarle. */
main.vertigo-native-vertical > section:not(.hero):not(.hero--inner):not(.quote-scene):not(.blog-hero):not(.article-hero){
  height:auto !important;
  overflow-x:clip !important;
}
/* Galleria fornita dal cliente, senza altezza di una card. */
main.vertigo-native-vertical > .location-gallery.vertigo-v27-gallery{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:visible !important;
}
/* Le immagini della galleria devono rispettare il viewport mobile. */
@media(max-width:620px){
  .vertigo-v27-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  main.vertigo-native-vertical > .location-gallery.vertigo-v27-gallery{padding:90px 14px 70px !important}
}
/* Anche con padding, la griglia media rimane all'interno dello schermo. */
.vertigo-v27-gallery__head,
.vertigo-v27-gallery__video,
.vertigo-v27-media-grid{
  box-sizing:border-box;
  max-width:100%;
}
.vertigo-v27-gallery__video > *{min-width:0}
/* Fallback prima che il JavaScript abbia rimosso il deck. */
body.horizontal-experience main.horizontal-main{
  height:auto !important;
  min-height:0 !important;
}
main.horizontal-main > .horizontal-track{
  position:relative !important;
  inset:auto !important;
  display:block !important;
  width:100% !important;
  height:auto !important;
  overflow:visible !important;
}
main.horizontal-main > .horizontal-track > .h-slide{
  position:relative !important;
  left:auto !important;
  flex:none !important;
  width:100% !important;
  height:auto !important;
  max-height:none !important;
  transform:none !important;
}


/* ===========================================================
   Vertigo v3.4 — classic UI, no floating utility controls
   =========================================================== */
html.vertigo-v34-classic-ui,body.vertigo-v34-classic-ui{overflow-x:clip!important}
.utility-rail,.mobile-action-bar{display:none!important;visibility:hidden!important;pointer-events:none!important}
body.vertigo-vertical-ready{padding-bottom:0!important}
/* Header is kept dark, readable and above the navigation drawer. */
.site-header,.site-header.scrolled,.site-header.is-scrolled,.site-header.solid{
  background:#0b2a32!important;color:#fffdf8!important;z-index:520!important
}
.site-header__inner{
  display:flex!important;align-items:center!important;justify-content:space-between!important;
  width:min(1320px,calc(100% - 36px))!important;gap:clamp(10px,1.75vw,28px)!important;
  min-width:0
}
.site-header__inner>.brand{order:1;flex:0 0 auto;margin-inline-end:auto!important;min-width:0}
.site-header__inner>.primary-nav{order:2;flex:0 1 auto;min-width:0;justify-self:auto!important}
.site-header__inner>.nav-toggle{order:4;flex:0 0 auto}
.site-header__inner>.vertigo-v34-lang{order:3;flex:0 0 auto;margin-inline-start:0}
/* Avoid duplicate theme switchers in header if already present. */
.site-header .language-switcher:not(.vertigo-v34-lang){display:none!important}
.vertigo-v34-lang{position:relative;z-index:575;direction:ltr;font-family:Arial,system-ui,sans-serif!important}
.vertigo-v34-lang__inline{display:flex;gap:4px;align-items:center;direction:ltr}
.vertigo-v34-lang__inline a{
  display:inline-flex;align-items:center;justify-content:center;min-width:37px;height:37px;
  padding:0 9px;border-radius:999px;border:1px solid rgba(255,255,255,.3);
  color:#fff!important;font:700 12px/1 Arial,sans-serif!important;text-decoration:none!important;
  transition:background-color .15s ease,color .15s ease
}
.vertigo-v34-lang a:hover,.vertigo-v34-lang a:focus-visible,.vertigo-v34-lang a.is-active{
  border-color:#e8c16f!important;background:#e8c16f!important;color:#09232b!important
}
.vertigo-v34-lang__dropdown{display:none;position:relative;direction:ltr}
.vertigo-v34-lang__dropdown>summary{
  cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:center;
  min-height:42px;min-width:56px;padding:0 10px;color:#fff;border:1px solid rgba(255,255,255,.33);
  border-radius:12px;font:750 13px/1 Arial,sans-serif!important;white-space:nowrap
}
.vertigo-v34-lang__dropdown>summary::-webkit-details-marker{display:none}
.vertigo-v34-lang__dropdown[open]>summary{border-color:#e8c16f;background:#e8c16f;color:#09232b}
.vertigo-v34-lang__choices{
  position:absolute;top:calc(100% + 9px);right:0;min-width:144px;
  display:grid;gap:3px;padding:8px;background:#09242d;border:1px solid rgba(255,255,255,.18);
  border-radius:14px;box-shadow:0 15px 40px rgba(0,0,0,.28);z-index:9999
}
.vertigo-v34-lang__choices a{
  display:block;padding:12px 13px;border-radius:8px;color:#fff!important;
  font:650 14px/1.15 Arial,sans-serif!important;text-decoration:none!important;white-space:nowrap
}
/* Reset deck-era spacing formerly reserved for fixed tools. */
.vertigo-native-vertical .hero__content{padding-right:clamp(24px,5vw,74px)!important}
@media(max-width:1050px){
  .site-header__inner{gap:10px!important}
  .site-header .primary-nav{gap:clamp(8px,1.1vw,14px)!important}
  .site-header .primary-nav a{font-size:clamp(11px,1.1vw,14px)!important}
}
@media(max-width:960px){
  .site-header__inner{width:calc(100% - 28px)!important;gap:10px!important}
  .site-header__inner>.brand{order:1}
  .site-header__inner>.vertigo-v34-lang{order:2;margin-inline-start:auto!important}
  .site-header__inner>.nav-toggle{order:3}
  .site-header__inner>.primary-nav{order:4}
  .vertigo-v34-lang__inline{display:none!important}
  .vertigo-v34-lang__dropdown{display:block!important}
  .site-header .primary-nav{z-index:560!important}
  .site-header .nav-toggle{z-index:565!important}
  .site-header__inner>.brand{flex:0 1 auto}
  .site-header .brand .vertigo-v27-wordmark{width:clamp(96px,25vw,125px)!important}
  .site-header .brand>img:not(.vertigo-v27-wordmark){width:clamp(30px,8vw,42px);height:auto}
  /* Theme mobile CSS reserved this strip; restore real document space. */
  :root{--mobile-tools-h:0px!important}
}
@media(max-width:390px){
  .site-header__inner{width:calc(100% - 20px)!important;gap:5px!important}
  .site-header .brand .vertigo-v27-wordmark{width:90px!important}
  .vertigo-v34-lang__dropdown>summary{min-width:49px;min-height:40px;padding-inline:6px}
}

/* Classic footer, independently styled so legacy mobile/deck rules cannot affect it. */
.vertigo-v34-footer{
  position:relative!important;inset:auto!important;display:block!important;visibility:visible!important;
  clear:both;z-index:1;width:100%;height:auto!important;box-sizing:border-box;
  padding:clamp(60px,6vw,96px) clamp(20px,4vw,64px) 0;
  background:#071e27!important;color:#e9eeee!important;text-align:left;
  border-top:3px solid #d1a457;font:400 15px/1.65 system-ui,-apple-system,Segoe UI,sans-serif!important
}
.vertigo-v34-footer *{box-sizing:border-box}
.vertigo-v34-footer__inner{
  width:min(1240px,100%);margin-inline:auto;display:grid;
  grid-template-columns:minmax(210px,1.65fr) repeat(3,minmax(125px,1fr));
  gap:clamp(22px,4vw,64px);padding-bottom:clamp(48px,5vw,78px)
}
.vertigo-v34-footer__intro img{width:clamp(152px,16vw,220px);height:auto;object-fit:contain}
.vertigo-v34-footer__intro p{color:#c6d4d7;line-height:1.75;max-width:230px;margin:12px 0 24px}
.vertigo-v34-footer__book{
  display:inline-flex!important;align-items:center;min-height:46px;padding:10px 22px;border-radius:100px;
  background:#dfb76a!important;color:#06252e!important;font-weight:750!important;text-decoration:none!important
}
.vertigo-v34-footer__book:hover,.vertigo-v34-footer__book:focus-visible{background:#ffe1a0!important}
.vertigo-v34-footer__col{display:flex;flex-direction:column;align-items:flex-start;gap:11px;min-width:0}
.vertigo-v34-footer__col h2{
  margin:5px 0 12px;color:#f2c777!important;font:750 14px/1.4 system-ui,sans-serif!important;
  text-transform:uppercase;letter-spacing:.12em
}
.vertigo-v34-footer__col nav{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.vertigo-v34-footer__col a{color:#e6eeee!important;text-decoration:none!important;overflow-wrap:anywhere}
.vertigo-v34-footer__col a:hover,.vertigo-v34-footer__col a:focus-visible{color:#f2c777!important;text-decoration:underline!important}
.vertigo-v34-footer address{font-style:normal;color:#c6d4d7;line-height:1.7}
.vertigo-v34-footer__bottom{
  width:min(1240px,100%);margin-inline:auto;border-top:1px solid rgba(255,255,255,.14);
  padding:22px 0 28px;display:flex;gap:18px;justify-content:space-between;align-items:center;
  color:#b4c6c9;font-size:13px
}
.vertigo-v34-footer__bottom a{color:#d9e2e4!important;text-decoration:none!important}
.vertigo-v34-footer__bottom a:hover{text-decoration:underline!important}
.vertigo-v34-footer[dir="rtl"]{text-align:right}
.vertigo-v34-footer[dir="rtl"] .vertigo-v34-footer__col,
.vertigo-v34-footer[dir="rtl"] .vertigo-v34-footer__col nav{align-items:flex-start;text-align:right}
@media(max-width:980px){
  .vertigo-v34-footer__inner{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:40px}
}
@media(max-width:600px){
  .vertigo-v34-footer{padding:56px 22px 0!important}
  .vertigo-v34-footer__inner{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 22px}
  .vertigo-v34-footer__intro{grid-column:1/-1}
  .vertigo-v34-footer__bottom{flex-direction:column;align-items:flex-start;gap:8px}
}
@media(max-width:360px){.vertigo-v34-footer__inner{grid-template-columns:1fr}}

/* Header controls keep one physical order in LTR and Hebrew RTL. */
html[dir="rtl"] .site-header__inner{direction:ltr!important}


/* ===========================================================
   Vertigo v3.5 — official supplied logo + stable vertical layout
   =========================================================== */
/* The supplied original contains both the V emblem and the full custom lettering.
   Never show theme favicon/text or the cropped legacy wordmark next to it. */
.site-header .brand>img:not(.vertigo-v35-official-logo),
.site-header .brand>span,
.brand--footer>img:not(.vertigo-v35-official-logo),
.brand--footer>span{display:none!important}
.site-header .brand .vertigo-v35-official-logo,
.brand--footer .vertigo-v35-official-logo{
  display:block!important;width:94px!important;height:auto!important;
  max-width:none!important;max-height:100px!important;
  margin:0!important;object-fit:contain!important;object-position:center;
}
.site-header .brand{display:flex!important;align-items:center!important;min-width:94px!important}
.site-header,.site-header__inner{min-height:105px!important}
.site-header__inner{height:auto!important}
.vertigo-v34-footer__intro img{
  display:block!important;width:218px!important;max-width:100%!important;
  height:auto!important;aspect-ratio:654/673;object-fit:contain!important;
}
/* Do not let the old deck hidden/animated attributes clamp page height. */
main.vertigo-native-vertical > section[data-vertigo-native-section="1"]{
  opacity:1!important;visibility:visible!important;pointer-events:auto!important;
  scroll-snap-type:none!important;contain:none!important;
}
html.vertigo-vertical-ready,body.vertigo-vertical-ready{
  overscroll-behavior-y:auto!important;
  scroll-padding-top:110px;
}
@media(max-width:960px){
  :root{--mobile-header-h:88px!important;--mobile-header-safe:88px!important}
  .site-header,.site-header__inner{min-height:88px!important}
  .site-header .brand .vertigo-v35-official-logo{
    width:74px!important;max-height:78px!important;height:auto!important;
  }
  .site-header .brand{min-width:74px!important}
  .site-header .brand .vertigo-v27-wordmark{width:74px!important}
}
@media(max-width:390px){
  .site-header .brand .vertigo-v35-official-logo{width:67px!important;max-height:72px!important}
  .site-header .brand{min-width:67px!important}
}

/* ==========================================================
   v3.6: No old deck engine at all. Browser owns scroll natively.
   ========================================================== */
html.vertigo-vertical-ready,
body.vertigo-vertical-ready{
  scroll-snap-type:none!important;
  scroll-behavior:auto!important;
  overscroll-behavior-y:auto!important;
}
body.vertigo-vertical-ready main.vertigo-native-vertical{
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
  position:relative!important;
}
body.vertigo-vertical-ready main.vertigo-native-vertical > section{
  scroll-snap-align:none!important;
  scroll-snap-stop:normal!important;
  max-height:none!important;
  transform:none!important;
  overflow-y:visible!important;
}
body.vertigo-vertical-ready main.vertigo-native-vertical > .location-gallery.vertigo-v27-gallery{
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
}
/* Do not reflow layout on hover/focus at bottom of the page. */
.vertigo-v34-footer{position:relative!important;display:block!important;min-height:1px}


/* ===========================================================
   Vertigo v3.7 — same official footer logo in the header
   and automatic Google Maps in the Contact page.
   No changes to the proven v3.6 vertical scroll engine.
   =========================================================== */
.site-header .brand img.vertigo-v37-header-logo{
  display:block!important;
  width:118px!important;
  height:auto!important;
  max-width:118px!important;
  max-height:122px!important;
  min-width:0!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0!important;
  transform:none!important;
}
.site-header .brand:has(img.vertigo-v37-header-logo){
  min-width:118px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
}
.site-header:has(.vertigo-v37-header-logo),
.site-header:has(.vertigo-v37-header-logo) .site-header__inner{
  min-height:128px!important;
}
html.vertigo-vertical-ready,body.vertigo-vertical-ready{scroll-padding-top:132px!important}
@media(max-width:960px){
  .site-header .brand img.vertigo-v37-header-logo{
    width:84px!important;max-width:84px!important;max-height:88px!important;
  }
  .site-header .brand:has(img.vertigo-v37-header-logo){min-width:84px!important}
  .site-header:has(.vertigo-v37-header-logo),
  .site-header:has(.vertigo-v37-header-logo) .site-header__inner{min-height:96px!important}
  html.vertigo-vertical-ready,body.vertigo-vertical-ready{scroll-padding-top:100px!important}
}
@media(max-width:390px){
  .site-header .brand img.vertigo-v37-header-logo{
    width:72px!important;max-width:72px!important;max-height:77px!important;
  }
  .site-header .brand:has(img.vertigo-v37-header-logo){min-width:72px!important}
  .site-header:has(.vertigo-v37-header-logo),
  .site-header:has(.vertigo-v37-header-logo) .site-header__inner{min-height:86px!important}
  html.vertigo-vertical-ready,body.vertigo-vertical-ready{scroll-padding-top:90px!important}
}
.contact-map-frame.map-consent.vertigo-v37-map-ready{
  display:block!important;
  width:100%!important;
  min-height:380px!important;
  height:clamp(380px,40vw,480px)!important;
  padding:0!important;
  overflow:hidden!important;
}
.contact-map-frame.map-consent.vertigo-v37-map-ready iframe.vertigo-v37-map-iframe{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  border:0!important;
}
@media(max-width:600px){
  .contact-map-frame.map-consent.vertigo-v37-map-ready{
    height:350px!important;min-height:350px!important;
  }
}


/* ==============================================================
   Vertigo v3.8 — Contact page: map exactly fills right-hand card.
   The map must be sized by the CSS grid row, NOT by viewport width.
   Limit this fix to desktop, keeping all existing mobile styling.
   ============================================================== */
@media (min-width: 821px) {
  .contact-map-section .contact-map-grid {
    /* Right-hand card sets the row's intrinsic height. */
    height: auto !important;
    min-height: 0 !important;
    align-items: stretch !important;
  }
  .contact-map-section .contact-map-grid > .contact-map-frame.map-consent.vertigo-v37-map-ready {
    position: relative !important;
    display: block !important;
    align-self: stretch !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }
  .contact-map-section .contact-map-frame.map-consent.vertigo-v37-map-ready > iframe.vertigo-v37-map-iframe {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    border: 0 !important;
    display: block !important;
  }
}
