/* ================================================================
   V7 PHONE-FIRST RESPONSIVE LAYER
   Loaded after restaurant.css so one coherent mobile system wins over
   legacy responsive patches. Desktop remains untouched.
   ================================================================ */
@media (max-width: 820px) {
  :root { --header: 64px; }
  html, body { width: 100%; max-width: 100%; overflow-x: hidden; }
  body { min-width: 0; }
  button, a { -webkit-tap-highlight-color: transparent; }
  .screen-shell, .site-screen, .page-shell, .site-header, footer { min-width: 0; max-width: 100%; }

  /* Header / navigation */
  .site-header {
    height: var(--header) !important;
    padding: env(safe-area-inset-top) 10px 0 !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    gap: 6px !important;
  }
  .brand { min-width: 0 !important; gap: 8px !important; }
  .brand-logo { width: 40px !important; height: 40px !important; flex: 0 0 40px !important; border-radius: 11px !important; }
  .brand-copy { min-width: 0 !important; }
  .brand-copy strong {
    display: block !important; max-width: 132px !important;
    overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important;
    font-size: 11px !important;
  }
  .brand-copy small { display: none !important; }
  .header-side { min-width: 0 !important; gap: 5px !important; }
  .lang-switch { display: flex !important; flex: 0 0 auto !important; padding: 2px !important; }
  .lang-switch button { width: 28px !important; height: 28px !important; font-size: 7.5px !important; }
  .menu-toggle {
    display: flex !important; width: 40px !important; height: 40px !important; min-width: 40px !important;
    flex: 0 0 40px !important; border-radius: 11px !important;
  }
  .nav-links {
    position: fixed !important; z-index: 900 !important;
    left: 8px !important; right: 8px !important; top: calc(var(--header) + 8px) !important;
    width: auto !important; max-height: calc(100dvh - var(--header) - 18px); overflow-y: auto;
    padding: 8px !important; display: none !important; grid-template-columns: 1fr !important; gap: 3px !important;
    border-radius: 14px !important; background: rgba(250,248,242,.985) !important;
    box-shadow: 0 24px 70px rgba(16,38,28,.22) !important; backdrop-filter: blur(18px) !important;
  }
  .nav-links.open { display: grid !important; }
  .nav-links button {
    width: 100% !important; min-height: 44px !important; padding: 10px 12px !important;
    text-align: left !important; border-radius: 9px !important; font-size: 10px !important;
  }

  /* Shared section rhythm */
  .site-screen:not(.map-screen) { min-height: calc(100dvh - var(--header)) !important; }
  .page-shell {
    width: calc(100% - 28px) !important; max-width: none !important;
    padding: 34px 0 44px !important; margin-left: auto !important; margin-right: auto !important;
  }
  .eyebrow { margin-bottom: 12px !important; font-size: 7px !important; letter-spacing: .18em !important; }
  .split-head, .editorial-head.split-head {
    display: grid !important; grid-template-columns: 1fr !important; align-items: start !important;
    gap: 12px !important; padding-bottom: 22px !important;
  }
  .editorial-head h2, .split-head h2 { font-size: clamp(40px, 12vw, 54px) !important; line-height: .94 !important; }
  .editorial-head > p, .split-head > p { margin: 0 !important; max-width: 34em !important; font-size: 11px !important; line-height: 1.55 !important; }

  /* First screen / territory map */
  .map-screen.active {
    height: calc(100dvh - var(--header)) !important; min-height: 540px !important;
    padding: 5px !important; overflow: hidden !important;
  }
  .map-stage-shell { height: 100% !important; min-height: 0 !important; border-radius: 12px !important; }
  .original-map-frame { width: 100% !important; height: 100% !important; }
  .map-floating-intro {
    top: 7px !important; left: 7px !important;
    width: min(252px, calc(100% - 58px)) !important;
    padding: 10px 11px 10px 14px !important; border-radius: 10px !important;
    backdrop-filter: blur(10px) !important;
  }
  .map-floating-intro:before { top: 9px !important; bottom: 9px !important; }
  .map-floating-intro .eyebrow { margin-bottom: 5px !important; font-size: 6px !important; }
  .map-floating-intro h1 { font-size: clamp(23px, 7vw, 29px) !important; line-height: .94 !important; }
  .map-floating-intro > p { margin-top: 6px !important; font-size: 8px !important; line-height: 1.38 !important; }
  .map-mini-help { display: none !important; }

  /* Menu */
  .menu-layout { display: block !important; margin-top: 22px !important; }
  .menu-sidebar {
    position: sticky !important; z-index: 20 !important; top: var(--header) !important;
    margin: 0 -14px 10px !important; padding: 8px 14px 7px !important;
    background: rgba(248,246,240,.96) !important; backdrop-filter: blur(12px) !important;
  }
  .side-label { display: none !important; }
  .menu-filters {
    display: flex !important; gap: 6px !important; overflow-x: auto !important; overscroll-behavior-inline: contain;
    padding: 0 0 2px !important; scrollbar-width: none !important;
  }
  .menu-filters::-webkit-scrollbar { display: none !important; }
  .menu-filters button {
    flex: 0 0 auto !important; white-space: nowrap !important;
    min-height: 36px !important; padding: 8px 12px !important; border-radius: 9px !important; font-size: 9px !important;
  }
  .menu-grid {
    display: grid !important; grid-template-columns: 1fr !important; grid-auto-rows: 110px !important;
    width: 100% !important; gap: 1px !important; border-radius: 12px !important; align-content: start !important;
  }
  .menu-card, .menu-card.has-image {
    width: 100% !important; height: 110px !important; min-height: 110px !important; max-height: 110px !important;
    padding: 12px 13px !important; overflow: hidden !important;
  }
  .menu-card-placeholder { display: none !important; }
  .menu-card:not(.has-image) { grid-template-columns: minmax(0,1fr) auto !important; gap: 10px !important; }
  .menu-card.has-image { grid-template-columns: 76px minmax(0,1fr) auto !important; gap: 9px !important; align-items: center !important; }
  .menu-card-photo { width: 76px !important; height: 82px !important; border-radius: 8px !important; }
  .menu-card-copy { min-width: 0 !important; }
  .menu-card small { font-size: 6px !important; letter-spacing: .09em !important; }
  .menu-card h3, .menu-card.has-image .menu-card-copy h3 {
    margin: 5px 0 4px !important; font-size: clamp(18px, 5.2vw, 21px) !important; line-height: 1 !important;
    -webkit-line-clamp: 2 !important;
  }
  .menu-card p { font-size: 8px !important; line-height: 1.35 !important; -webkit-line-clamp: 2 !important; }
  .menu-card > b, .menu-card.has-image > b {
    align-self: start !important; padding-top: 9px !important; font-size: 8.5px !important; line-height: 1.2 !important; white-space: nowrap !important;
  }

  /* Restaurant */
  .about-layout {
    display: grid !important; grid-template-columns: 1fr !important; gap: 26px !important;
    min-height: 0 !important; align-items: stretch !important; padding-top: 14px !important;
  }
  .about-photo-panel {
    width: 100% !important; min-height: clamp(300px, 52dvh, 440px) !important;
    border-radius: 14px !important; order: 1;
  }
  .about-editorial { order: 2; min-width: 0; }
  .placeholder-logo { width: min(160px, 46%) !important; border-radius: 20px !important; }
  .photo-placeholder { padding: 24px !important; }
  .photo-placeholder small { max-width: 230px; font-size: 7px !important; line-height: 1.5 !important; }
  .about-photo-caption { left: 18px !important; bottom: 16px !important; }
  .about-editorial h2 { font-size: clamp(44px, 13vw, 58px) !important; line-height: .92 !important; margin-bottom: 16px !important; overflow-wrap: anywhere; }
  .about-editorial .lead { font-size: 17px !important; line-height: 1.43 !important; }
  .divider { margin: 25px 0 !important; }
  .stats { grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 7px !important; }
  .stats > div { min-width: 0; }
  .stats b { font-size: clamp(24px, 8vw, 31px) !important; line-height: 1 !important; }
  .stats span { font-size: 6px !important; line-height: 1.35 !important; overflow-wrap: anywhere; }
  .editorial-sign { margin-top: 25px !important; gap: 10px !important; }
  .editorial-sign small { font-size: 13px !important; line-height: 1.3 !important; }

  /* Gallery */
  .gallery-grid {
    margin-top: 25px !important; display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important; grid-auto-rows: 132px !important; gap: 7px !important;
  }
  .gallery-item:nth-child(n) { grid-column: span 1 !important; grid-row: span 1 !important; border-radius: 9px !important; }
  .gallery-item:nth-child(4n+1) { grid-column: 1 / -1 !important; grid-row: span 2 !important; }
  .gallery-empty {
    grid-column: 1 / -1 !important; min-height: 270px !important; padding: 28px 18px !important;
    border-radius: 10px !important;
  }
  .gallery-empty b { font-size: 34px !important; line-height: .95 !important; }
  .gallery-empty span { font-size: 10px !important; line-height: 1.55 !important; }

  /* Atmosphere */
  #screen-experience .experience-stage { min-height: calc(100dvh - var(--header)) !important; }
  #screen-experience .experience-stage-inner {
    min-height: calc(100dvh - var(--header)) !important;
    width: calc(100% - 28px) !important; padding: 25px 0 28px !important;
  }
  #screen-experience .experience-topline { gap: 10px !important; align-items: center !important; }
  #screen-experience .experience-coordinate { font-size: 6.5px !important; letter-spacing: .14em !important; }
  #screen-experience .experience-statement { margin: auto 0 !important; padding: 36px 0 30px !important; }
  #screen-experience .experience-statement h2 {
    max-width: 100% !important; font-size: clamp(48px, 15vw, 67px) !important;
    line-height: .84 !important; letter-spacing: -.05em !important; overflow-wrap: normal !important;
  }
  #screen-experience .experience-statement p {
    width: min(300px, 90%) !important; margin: 23px 0 0 !important;
    font-size: 10.5px !important; line-height: 1.65 !important;
  }
  #screen-experience .experience-quote { grid-template-columns: 42px minmax(0,1fr) !important; gap: 11px !important; margin: 0 !important; }
  #screen-experience .experience-quote p { font-size: clamp(21px, 6.5vw, 26px) !important; line-height: 1.04 !important; }
  #screen-experience .experience-ghost { font-size: 62vw !important; bottom: -.05em !important; opacity: .75; }
  #screen-experience .experience-notes { display: block !important; padding-top: 12px !important; padding-bottom: 30px !important; }
  #screen-experience .experience-notes article {
    grid-template-columns: 34px minmax(0,1fr) !important; gap: 9px !important;
    padding: 19px 0 !important; border-left: 0 !important; border-bottom: 1px solid var(--line) !important;
  }
  #screen-experience .experience-notes article:last-child { border-bottom: 0 !important; }
  #screen-experience .experience-note-index { font-size: 20px !important; }
  #screen-experience .experience-notes small { margin: 1px 0 8px !important; font-size: 6.5px !important; }
  #screen-experience .experience-notes h3 { font-size: 29px !important; margin-bottom: 7px !important; }
  #screen-experience .experience-notes p { max-width: none !important; font-size: 9.5px !important; line-height: 1.6 !important; }
  #screen-experience .experience-media:not([hidden]) {
    display: grid !important; grid-template-columns: 1fr !important; grid-template-rows: none !important; gap: 8px !important;
    padding-top: 0 !important; padding-bottom: 15px !important;
  }
  #screen-experience .experience-media figure { height: min(72vw, 390px) !important; margin: 0 !important; border-radius: 10px !important; }
  #screen-experience .experience-media figure:nth-child(2) { height: min(52vw, 280px) !important; margin: 0 0 0 18% !important; }

  /* Contact */
  .location-layout { display: grid !important; grid-template-columns: 1fr !important; gap: 22px !important; min-height: 0 !important; }
  .location-editorial { min-width: 0 !important; padding: 0 !important; }
  .location-editorial h2 { font-size: clamp(44px, 13vw, 56px) !important; line-height: .9 !important; overflow-wrap: anywhere; }
  .location-note { margin-top: 18px !important; font-size: 16px !important; line-height: 1.45 !important; }
  .contact-stack { margin-top: 21px !important; }
  .contact-stack > a, .contact-stack > div {
    display: block !important; padding: 13px 0 !important; min-width: 0 !important;
  }
  .contact-stack small { display: block !important; margin-bottom: 5px !important; font-size: 6.5px !important; letter-spacing: .14em !important; }
  .contact-stack b { display: block !important; font-size: 11px !important; line-height: 1.48 !important; overflow-wrap: anywhere; }
  .contact-actions { display: grid !important; grid-template-columns: 1fr auto !important; gap: 10px !important; margin-top: 19px !important; align-items: center !important; }
  .primary-link { min-width: 0 !important; min-height: 44px !important; padding: 0 13px !important; border-radius: 10px !important; font-size: 9px !important; }
  .text-link { font-size: 9px !important; white-space: nowrap !important; }
  .map-card { width: 100% !important; height: 350px !important; min-height: 350px !important; border-radius: 10px !important; }
  .contact-map { touch-action: pan-y !important; }
  .contact-map-controls { top: 8px !important; right: 8px !important; border-radius: 9px !important; padding: 3px !important; }
  .contact-map-controls button { width: 38px !important; height: 38px !important; border-radius: 7px !important; font-size: 18px !important; }
  .contact-map-popup { min-width: 140px !important; max-width: 190px !important; padding: 8px 9px !important; border-radius: 8px !important; }
  .contact-map-popup b { font-size: 11px !important; }
  .contact-map-popup small { font-size: 6px !important; }

  /* Footer */
  footer { padding: 22px 14px calc(22px + env(safe-area-inset-bottom)) !important; }
  .footer-inner { width: 100% !important; grid-template-columns: 1fr auto !important; gap: 12px !important; }
  .footer-inner b { font-size: 11px !important; }
  .footer-inner small { font-size: 7px !important; }
}

@media (max-width: 390px) {
  .brand-copy strong { max-width: 104px !important; font-size: 10.5px !important; }
  .lang-switch button { width: 26px !important; }
  .map-floating-intro { width: min(225px, calc(100% - 54px)) !important; }
  .map-floating-intro > p { display: none !important; }
  .menu-card.has-image { grid-template-columns: 66px minmax(0,1fr) auto !important; gap: 7px !important; }
  .menu-card-photo { width: 66px !important; height: 76px !important; }
  .menu-card h3, .menu-card.has-image .menu-card-copy h3 { font-size: 17.5px !important; }
  .menu-card > b, .menu-card.has-image > b { font-size: 8px !important; }
  #screen-experience .experience-coordinate { display: none !important; }
  .contact-actions { grid-template-columns: 1fr !important; }
  .text-link { min-height: 38px; display: flex !important; align-items: center; }
}

@media (max-width: 350px) {
  .brand-copy { display: none !important; }
  .page-shell { width: calc(100% - 22px) !important; }
  .menu-card.has-image { grid-template-columns: 60px minmax(0,1fr) auto !important; }
  .menu-card-photo { width: 60px !important; height: 72px !important; }
  .stats { grid-template-columns: 1fr 1fr !important; }
  .stats > div:nth-child(3) { grid-column: 1 / -1; }
}

@media (hover: none) and (pointer: coarse) {
  .menu-card:hover { background: #fbf9f4 !important; }
  .gallery-item:hover img, #screen-experience .experience-media figure:hover img { transform: none !important; }
}

/* MAP EDITORIAL REDESIGN v150 — mobile/tablet continuation. */
@media (max-width:900px){
  .site-header{height:68px!important;min-height:68px!important;grid-template-columns:minmax(0,1fr) auto!important;padding:0 12px!important;gap:8px!important}.header-book{display:none!important}.brand-logo{width:42px!important;height:42px!important;flex-basis:42px!important}.brand-copy strong{font-family:'Instrument Serif',Georgia,serif!important;font-size:13px!important}.header-side{gap:4px!important}.menu-toggle{display:flex!important}

  /* The map page must scroll; the previous phone-only rule intentionally kept
     the map full-screen and therefore hid the new editorial content below it. */
  .map-screen.active{height:auto!important;min-height:0!important;overflow:visible!important;padding:6px 6px 0!important;background:#f5f1e8!important}.map-stage-shell{height:calc(100svh - 80px)!important;min-height:520px!important;border-radius:16px!important;box-shadow:0 18px 45px rgba(16,38,28,.12)!important}.map-stage-shell:after{background:linear-gradient(180deg,rgba(5,24,15,.53) 0%,rgba(5,24,15,.18) 24%,transparent 43%)!important}.map-floating-intro{top:18px!important;left:18px!important;width:auto!important;max-width:calc(100% - 84px)!important;padding:0!important}.map-floating-intro .eyebrow{font-size:6.5px!important;margin-bottom:7px!important}.map-floating-intro h1{font-size:clamp(33px,10vw,45px)!important}.map-floating-intro>p{display:block!important;max-width:260px!important;font-size:8.5px!important;line-height:1.45!important;margin-top:9px!important}.map-mini-help{display:none!important}

  .map-after-content{width:calc(100% - 24px)!important;margin-top:48px!important;padding:0 0 42px!important}.location-notes-head{display:grid!important;grid-template-columns:1fr!important;gap:18px!important;padding-bottom:12px!important}.location-notes-kicker{padding-top:0!important}.location-notes-kicker .eyebrow{font-size:7px!important;margin-bottom:12px!important}.editorial-rule{width:34px!important}.location-notes-title h3{font-size:clamp(43px,12vw,60px)!important;line-height:.92!important}.location-notes-title p{margin-top:14px!important;font-size:17px!important;line-height:1.35!important}
  .location-notes{display:grid!important;grid-template-columns:1fr!important;gap:30px!important;padding-top:20px!important}.location-notes article,.location-notes article+article,.location-notes article:nth-child(2),.location-notes article:nth-child(3){margin:0!important;padding:0!important;border:0!important}.location-note-photo{margin:0 0 18px!important;border-radius:14px!important;max-height:none!important}.story-card-nature .location-note-photo{aspect-ratio:4/3!important;margin:0 0 18px!important;width:100%!important}.story-card-kitchen .location-note-photo{aspect-ratio:4/3!important;margin:0 0 18px!important;width:100%!important}.story-card-time .location-note-photo{aspect-ratio:4/3!important;margin:0 0 18px!important;width:100%!important}.story-photo-empty{padding:18px!important}.story-photo-empty:after{left:18px;right:18px;top:18px}.story-photo-empty b{font-size:56px!important}.story-photo-empty small{font-size:6px!important}.location-note-copy{grid-template-columns:37px minmax(0,1fr)!important;gap:10px!important;padding:0!important}.location-notes .experience-note-index{font-size:25px!important}.location-notes h3{font-size:32px!important}.location-notes p{font-size:9.5px!important;line-height:1.62!important;max-width:360px!important}

  .map-cta-wrap{width:calc(100% - 12px)!important;padding:0 0 36px!important}.map-cta{min-height:390px!important;align-items:flex-end!important;border-radius:17px!important;padding:30px 24px!important;background:linear-gradient(180deg,rgba(7,30,20,.18) 0%,rgba(7,31,20,.50) 42%,rgba(7,31,20,.96) 82%),url('assets/04-choose-your-place.webp') center 54%/cover no-repeat!important}.map-cta:after{content:none!important}.map-cta-copy{max-width:100%!important}.map-cta h3{font-size:clamp(42px,12vw,56px)!important;line-height:.9!important}.map-cta p{font-size:9.5px!important;line-height:1.55!important}.map-cta-button{min-height:44px!important;margin-top:22px!important}.map-cta-mark{display:none!important}

  .site-footer{padding:0 16px!important}.footer-rich{grid-template-columns:1fr 1fr!important;gap:34px 24px!important;padding:34px 0 28px!important}.footer-brand-col{grid-column:1/-1}.footer-brand-col>p{max-width:320px!important}.footer-brand-button img{width:44px!important;height:44px!important}.footer-brand-button b{font-size:18px!important}.footer-bottom{display:grid!important;grid-template-columns:1fr!important;gap:7px!important;padding:16px 0 22px!important;font-size:7px!important}.footer-nav-col button,.footer-contact-col a,.footer-contact-col span{font-size:9px!important}
}

@media (max-width:430px){
  .map-stage-shell{height:calc(100svh - 80px)!important;min-height:540px!important}.map-floating-intro{max-width:calc(100% - 66px)!important}.map-floating-intro>p{max-width:225px!important}.location-notes-title h3{font-size:clamp(40px,12vw,51px)!important}.footer-rich{grid-template-columns:1fr!important}.footer-brand-col{grid-column:auto}.footer-contact-col{padding-top:4px}
}
@media (max-width:900px){:root{--header:68px}}

/* ======================================================================
   MOBILE FINAL ALIGNMENT + CONTACT MAP INTERACTION v154
   Phone-only fixes. Loaded last so the strict grid wins over legacy
   editorial offsets and touch gestures reach the embedded 2GIS frame.
   ====================================================================== */
@media (max-width: 820px) {
  /* 01 / 02 / 03 — one exact vertical column. */
  .map-after-content {
    width: calc(100% - 20px) !important;
    max-width: 520px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .location-notes {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 30px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 20px 0 0 !important;
  }
  .location-notes article,
  .location-notes article + article,
  .location-notes article:nth-child(2),
  .location-notes article:nth-child(3) {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    transform: none !important;
  }
  .location-notes .location-note-photo,
  .location-notes .story-card-nature .location-note-photo,
  .location-notes .story-card-kitchen .location-note-photo,
  .location-notes .story-card-time .location-note-photo {
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    aspect-ratio: 4 / 3 !important;
    margin: 0 0 14px !important;
    border-radius: 13px !important;
    transform: none !important;
  }
  .location-notes .location-note-photo img {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: cover !important;
  }
  .location-notes .location-note-copy {
    display: grid !important;
    grid-template-columns: 30px minmax(0, 1fr) !important;
    gap: 9px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: start !important;
  }
  .location-notes .experience-note-index {
    margin: 0 !important;
    padding: 1px 0 0 !important;
    font-size: 22px !important;
    line-height: 1 !important;
  }
  .location-notes small { margin: 1px 0 7px !important; }
  .location-notes h3 {
    min-height: 0 !important;
    margin: 0 0 7px !important;
    font-size: clamp(26px, 8vw, 32px) !important;
    line-height: .96 !important;
  }
  .location-notes p {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    font-size: 9px !important;
    line-height: 1.58 !important;
  }

  /* 2GIS contact map — do not let the page-level pan-y rule swallow map
     panning/pinch gestures. The cross-origin iframe receives the touches. */
  .map-card,
  .contact-map,
  .contact-map-2gis,
  .contact-map-widget {
    pointer-events: auto !important;
    touch-action: auto !important;
  }
  .contact-map-widget {
    z-index: 2 !important;
    -webkit-user-select: none !important;
    user-select: none !important;
  }
  .contact-map-state { z-index: 3 !important; pointer-events: none !important; }
  .contact-map-open { z-index: 5 !important; pointer-events: auto !important; }
}


/* ======================================================================
   MOBILE FINAL v155 — remove every legacy story offset; official 2GIS
   widget gets the whole contact surface and all touch/pinch events.
   ====================================================================== */
@media (max-width: 820px) {
  #screen-map .map-after-content,
  #screen-map .location-notes,
  #screen-map .location-notes > article {
    box-sizing: border-box !important;
  }
  #screen-map .location-notes > article {
    justify-self: stretch !important;
    align-self: stretch !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
  }
  #screen-map .location-notes > article > .location-note-photo {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    aspect-ratio: 4 / 3 !important;
    margin: 0 0 14px 0 !important;
    inset: auto !important;
    transform: none !important;
  }
  #screen-map .location-notes > article > .location-note-copy {
    width: 100% !important;
    margin: 0 !important;
    transform: none !important;
  }

  .map-card {
    position: relative !important;
    overflow: hidden !important;
    isolation: isolate !important;
  }
  .contact-map-2gis,
  .contact-map-widget-host {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
    pointer-events: auto !important;
    touch-action: auto !important;
  }
  .contact-map-widget-host .dg-widget-link,
  .contact-map-widget-host > a.dg-widget-link,
  .contact-map-widget-host > noscript {
    display: none !important;
  }
  .contact-map-widget-host iframe,
  #contactMap iframe {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    border: 0 !important;
    display: block !important;
    pointer-events: auto !important;
    touch-action: auto !important;
    filter: none !important;
    z-index: 2 !important;
  }
  .contact-map-open {
    z-index: 6 !important;
  }
}


/* v156 — final mobile contact map interaction */
@media (max-width: 820px){
  #contactMap.contact-map-live{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;pointer-events:auto!important;touch-action:none!important;overscroll-behavior:contain!important}
  #contactMap .contact-live-tiles{pointer-events:none!important}
  #contactMap .contact-live-controls,#contactMap .contact-live-controls button,#contactMap .contact-map-open,#contactMap .contact-map-attribution{pointer-events:auto!important}
  #contactMap .contact-live-controls{right:8px!important;top:8px!important}
  #contactMap .contact-live-controls button{width:40px!important;height:40px!important}
  #contactMap .contact-live-label{left:8px!important;top:8px!important;max-width:calc(100% - 70px)!important;padding:8px 10px!important}
  #contactMap .contact-live-label small{font-size:7px!important}
  #contactMap .contact-map-open{right:8px!important;bottom:8px!important;padding:10px 12px!important}
}

/* =========================================================
   CLIENT HOMEPAGE v159 — phone-first overrides
   ========================================================= */
@media (max-width:900px){
  .site-header{height:64px!important;min-height:64px!important;grid-template-columns:minmax(0,1fr) auto!important;padding:0 11px!important;gap:8px!important}.brand-logo{width:40px!important;height:40px!important}.brand-copy strong{font-size:12px!important}.brand-copy small{font-size:6.5px!important}.header-book{display:none!important}.header-side{gap:4px!important}.menu-toggle{display:flex!important;width:38px!important;height:38px!important}.lang-switch button{width:29px!important;height:28px!important}.nav-links{position:fixed!important;left:10px!important;right:10px!important;top:70px!important;z-index:520!important;display:none!important;grid-template-columns:1fr!important;gap:3px!important;padding:8px!important;background:rgba(248,246,240,.98)!important;border:1px solid var(--line)!important;border-radius:15px!important;box-shadow:0 20px 55px rgba(16,38,28,.18)!important}.nav-links.open{display:grid!important}.nav-links button{text-align:left!important;justify-content:flex-start!important;padding:13px 14px!important;font-size:10px!important;border-radius:10px!important}.nav-links button.active{background:var(--forest)!important;color:#fff!important}

  .home-page{width:calc(100% - 28px)!important;padding:30px 0 58px!important}.home-intro h1{font-size:17px!important;line-height:1.33!important}.home-intro h1 strong{display:inline;font-size:1.16em!important}.home-logo-wrap{width:min(286px,82%)!important;margin:24px auto 28px!important}.home-quick{margin-bottom:48px!important;padding:10px!important;border-radius:16px!important}.home-quick-head{padding:4px 5px 11px!important}.home-quick-head span{font-size:7px!important}.home-quick-head p{font-size:8px!important}.home-actions{grid-template-columns:1fr!important;gap:7px!important}.home-action{min-height:64px!important;grid-template-columns:29px minmax(0,1fr) 21px!important;gap:8px!important;padding:0 14px!important;border-radius:11px!important}.home-action-no{font-size:18px!important}.home-action b{font-size:12px!important}.home-action i{font-size:18px!important}
  .home-story{margin-bottom:49px!important}.home-story-copy{margin-bottom:16px!important}.home-story-copy p{font-size:15px!important;line-height:1.5!important}.home-story-copy strong{font-size:1.14em!important}.home-story-secondary{margin-top:12px!important}.home-story-photo{height:auto!important;aspect-ratio:1.53/1!important;border-radius:0!important}.home-story-photo .story-photo-empty img{width:min(128px,38%)!important}.home-story-photo .story-photo-empty small{font-size:6.5px!important}.home-story-cta{min-height:52px!important;margin-top:11px!important;padding:0 14px!important;font-size:10px!important;border-radius:2px!important}.home-story-cta i{font-size:18px!important}

  .map-screen{padding:0 10px 10px!important}.map-page-top{padding:13px 3px 9px!important}.screen-back{font-size:8px!important;gap:7px!important}.map-stage-shell{height:calc(100dvh - 64px - 46px)!important;min-height:510px!important;border-radius:14px!important}.map-floating-intro{left:10px!important;top:10px!important;width:min(248px,calc(100% - 20px))!important;padding:13px 14px!important;border-radius:12px!important}.map-floating-intro .eyebrow{font-size:6px!important;margin-bottom:5px!important}.map-floating-intro h1{font-size:34px!important;margin-bottom:6px!important}.map-floating-intro>p{font-size:8px!important;line-height:1.4!important}.map-mini-help{margin-top:8px!important;font-size:6.5px!important}.map-help-dot{width:5px!important;height:5px!important}

  .menu-screen .page-shell>.screen-back{margin-bottom:20px!important}.location-editorial>.screen-back{margin-bottom:18px!important}.contact-actions{grid-template-columns:1fr!important}.maps-chooser-link{min-height:38px!important;display:flex!important;align-items:center!important;font-size:9px!important}

  .maps-dialog{margin:auto 0 0 0!important;width:100%!important}.maps-dialog-sheet{width:100vw!important;border-radius:22px 22px 0 0!important;padding:20px 16px calc(18px + env(safe-area-inset-bottom))!important}.maps-dialog-head h2{font-size:33px!important}.maps-dialog-sheet>p{font-size:10px!important;margin:13px 0 17px!important}.maps-dialog-actions a{min-height:68px!important;border-radius:12px!important;padding:0 15px!important}.maps-dialog-actions span b{font-size:12px!important}
}

@media (max-width:390px){
  .home-page{width:calc(100% - 22px)!important}.home-intro h1{font-size:16px!important}.home-logo-wrap{width:min(258px,84%)!important}.home-action{min-height:61px!important}.home-story-copy p{font-size:14px!important}.map-floating-intro>p{display:block!important}.brand-copy{display:block!important}.brand-copy strong{max-width:104px!important}
}

@media (max-width:350px){
  .brand-copy{display:none!important}.home-page{width:calc(100% - 18px)!important}.home-intro h1{font-size:15px!important}.home-action b{font-size:11px!important}.home-story-copy p{font-size:13.5px!important}
}

/* =========================================================
   HOMEPAGE MOBILE ART DIRECTION v160
   ========================================================= */
@media (max-width:900px){
  .home-screen{
    background:
      radial-gradient(circle at 8% 5%,rgba(157,119,67,.075),transparent 23%),
      radial-gradient(circle at 92% 31%,rgba(16,39,29,.045),transparent 19%),
      #f7f0e6!important;
  }
  .home-page{
    width:calc(100% - 24px)!important;
    max-width:560px!important;
    padding:28px 0 64px!important;
  }
  .home-intro{
    padding:4px 5px 31px!important;
    margin-bottom:55px!important;
  }
  .home-intro::after{width:88%!important}
  .home-intro-kicker{
    margin-bottom:13px!important;
    font-size:7px!important;
    letter-spacing:.22em!important;
  }
  .home-intro h1{
    font-size:14.5px!important;
    line-height:1.55!important;
    color:#455249!important;
  }
  .home-intro h1 strong{
    display:block!important;
    max-width:330px!important;
    margin:0 auto 10px!important;
    font-size:clamp(24px,7vw,30px)!important;
    line-height:1.04!important;
    letter-spacing:-.052em!important;
  }
  .home-logo-wrap{
    width:min(250px,76%)!important;
    margin:25px auto 0!important;
    padding:13px 21px!important;
    border-radius:19px!important;
    box-shadow:0 14px 42px rgba(72,52,28,.05)!important;
  }
  .home-story{
    margin-bottom:60px!important;
  }
  .home-story::before{
    margin-bottom:9px!important;
    font-size:14px!important;
  }
  .home-story-copy{
    max-width:96%!important;
    margin-bottom:17px!important;
  }
  .home-story-copy p{
    font-size:14.5px!important;
    line-height:1.52!important;
    letter-spacing:-.02em!important;
  }
  .home-story-copy strong{
    font-size:1.18em!important;
    letter-spacing:-.035em!important;
  }
  .home-story-secondary{
    max-width:330px!important;
    margin-top:10px!important;
    font-size:13px!important;
    line-height:1.5!important;
  }
  .home-story-photo,
  .home-story-kitchen .home-story-photo{
    width:100%!important;
    height:auto!important;
    aspect-ratio:1.48/1!important;
    border-radius:17px!important;
    box-shadow:0 18px 46px rgba(46,38,25,.105)!important;
  }
  .home-story-photo .story-photo-empty small{
    font-size:6.5px!important;
    letter-spacing:.13em!important;
  }
  .home-story-cabins{margin-bottom:0!important}

  .home-quick{
    margin:67px 0 0!important;
    padding:19px 12px 13px!important;
    border-radius:22px!important;
    box-shadow:0 24px 58px rgba(16,39,29,.19)!important;
  }
  .home-quick::after{
    width:150px!important;height:150px!important;
    right:-88px!important;bottom:-96px!important;
  }
  .home-quick-head{
    display:block!important;
    padding:2px 5px 15px!important;
  }
  .home-quick-head span{
    display:block!important;
    margin-bottom:6px!important;
    font-size:7px!important;
    letter-spacing:.2em!important;
  }
  .home-quick-head p{
    max-width:none!important;
    margin:0!important;
    font-size:9px!important;
    line-height:1.4!important;
    text-align:left!important;
    color:rgba(255,255,255,.62)!important;
  }
  .home-actions{
    grid-template-columns:1fr!important;
    gap:7px!important;
  }
  .home-action{
    min-height:67px!important;
    grid-template-columns:30px minmax(0,1fr) 23px!important;
    gap:9px!important;
    padding:0 14px!important;
    border-radius:13px!important;
    border-color:rgba(255,255,255,.13)!important;
    background:rgba(255,255,255,.07)!important;
    color:#fff!important;
  }
  .home-action.is-primary{
    min-height:72px!important;
    background:#d6b57d!important;
    color:#10271d!important;
    border-color:#d6b57d!important;
  }
  .home-action-no{font-size:18px!important;opacity:.53!important}
  .home-action b{font-size:12.5px!important;line-height:1.15!important}
  .home-action i{font-size:19px!important}
}

@media (max-width:390px){
  .home-page{width:calc(100% - 20px)!important}
  .home-intro h1{font-size:14px!important}
  .home-intro h1 strong{font-size:23px!important}
  .home-logo-wrap{width:min(230px,78%)!important}
  .home-story-copy p{font-size:14px!important}
  .home-story-secondary{font-size:12.5px!important}
  .home-quick{margin-top:60px!important}
  .home-action b{font-size:12px!important}
}

@media (max-width:350px){
  .home-page{width:calc(100% - 16px)!important}
  .home-intro h1 strong{font-size:21px!important}
  .home-story-copy p{font-size:13.5px!important}
  .home-quick{padding-left:10px!important;padding-right:10px!important}
}


/* v161 mobile finishing: no burger on home, transparent hero logo, stronger type */
@media(max-width:1050px){
  body:not([data-active-screen]) .menu-toggle,body[data-active-screen="home"] .menu-toggle{display:none!important}
  body[data-active-screen]:not([data-active-screen="home"]) .menu-toggle{display:flex!important}
  .mobile-nav-maps{display:block!important}
}
@media(max-width:680px){
  .home-intro-copy{font-family:'Manrope','DM Sans',system-ui,sans-serif!important}
  .home-intro h1 strong,.home-story-copy strong{font-family:'Oswald','Arial Narrow',sans-serif!important;font-weight:600!important}
  .home-intro h1 strong{letter-spacing:-.018em!important;line-height:1.08!important}
  .home-logo-wrap{width:min(230px,70%)!important;margin:24px auto 0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
  .home-logo-wrap img{width:100%!important;filter:drop-shadow(0 13px 20px rgba(74,45,19,.14))!important}
}
@media(max-width:390px){.home-logo-wrap{width:min(215px,68%)!important}}


/* =========================================================
   PREMIUM MOBILE RHYTHM v162 — 360–430 px is the primary canvas
   ========================================================= */
@media(max-width:900px){
  :root{--header:66px!important}
  .site-header{
    height:66px!important;min-height:66px!important;
    padding:0 12px!important;
    background:rgba(250,247,240,.86)!important;
    backdrop-filter:blur(16px)!important;
    -webkit-backdrop-filter:blur(16px)!important;
  }
  .brand-logo{width:41px!important;height:41px!important;flex-basis:41px!important;border-radius:12px!important;box-shadow:0 7px 18px rgba(16,56,43,.07)!important}
  .brand-copy strong{font-size:12px!important;font-weight:600!important}
  .lang-switch button{width:29px!important;height:29px!important;font-size:7.5px!important}

  .home-page{width:calc(100% - 24px)!important;max-width:560px!important;padding:30px 0 58px!important}
  .home-intro{padding:2px 5px 27px!important;margin-bottom:44px!important}
  .home-intro-kicker{margin-bottom:14px!important;font-size:7.2px!important;letter-spacing:.28em!important}
  .home-intro h1{font-size:14.8px!important;line-height:1.58!important;color:#4d5951!important}
  .home-intro h1 strong{
    max-width:350px!important;
    margin:0 auto 11px!important;
    font-size:clamp(26px,7.6vw,32px)!important;
    line-height:1!important;
    letter-spacing:-.018em!important;
  }
  .home-intro h1>span[data-i18n="homeWelcomeText"]{max-width:335px!important}
  .home-logo-wrap{width:min(224px,68%)!important;margin:24px auto 0!important}
  .home-logo-wrap img{border-radius:26px!important;filter:drop-shadow(0 22px 31px rgba(77,48,23,.105))!important}

  .home-story{margin-bottom:64px!important}
  .home-story::before{
    width:28px!important;height:45px!important;
    margin-bottom:12px!important;padding-bottom:25px!important;
    background-size:1px 19px!important;
    font-size:10.5px!important;
  }
  .home-story-copy{max-width:96%!important;margin-bottom:20px!important}
  .home-story-copy p{font-size:15.3px!important;line-height:1.62!important;letter-spacing:-.01em!important}
  .home-story-copy strong{font-size:1.14em!important;letter-spacing:-.014em!important}
  .home-story-secondary{max-width:340px!important;margin-top:11px!important;font-size:14px!important;line-height:1.6!important}
  .home-story-photo,.home-story-kitchen .home-story-photo{
    width:100%!important;aspect-ratio:1.48/1!important;
    border-radius:23px!important;
    box-shadow:0 18px 43px rgba(44,50,41,.105)!important;
  }
  .home-story-cabins{margin-bottom:0!important}

  .home-quick{margin:66px 0 0!important;padding:20px 12px 14px!important;border-radius:26px!important;background:#12392C!important;box-shadow:0 22px 50px rgba(16,56,43,.16)!important}
  .home-quick-head{padding:3px 6px 19px!important}
  .home-quick-head span{margin-bottom:7px!important;font-size:7px!important;letter-spacing:.23em!important}
  .home-quick-head p{font-size:9.2px!important;line-height:1.45!important;color:rgba(255,255,255,.66)!important}
  .home-actions{gap:6px!important}
  .home-action{min-height:64px!important;grid-template-columns:34px minmax(0,1fr) 22px!important;gap:8px!important;padding:0 14px!important;border-radius:13px!important;background:rgba(255,255,255,.055)!important;border-color:rgba(255,255,255,.08)!important}
  .home-action.is-primary{min-height:69px!important;background:#D9B878!important;border-color:#D9B878!important;color:#10382B!important}
  .home-action-no{font-size:22px!important;opacity:.29!important}
  .home-action b{font-size:12.5px!important;font-weight:600!important}
  .home-action i{font-size:18px!important}

  .site-footer{padding:0 16px!important}
  .footer-rich{gap:26px!important;padding:30px 0 24px!important}
  .footer-brand-col>p{margin-top:15px!important;line-height:1.62!important}
  .footer-nav-col,.footer-contact-col{gap:9px!important}
  .footer-nav-col>small,.footer-contact-col>small{font-size:7px!important;letter-spacing:.21em!important}
  .footer-nav-col button,.footer-contact-col a,.footer-contact-col span{font-size:9.2px!important}
  .footer-bottom{gap:6px!important;padding:14px 0 18px!important;font-size:6.8px!important;border-top-color:rgba(255,255,255,.14)!important}
}
@media(max-width:390px){
  .home-page{width:calc(100% - 20px)!important}
  .home-intro h1{font-size:14.4px!important}
  .home-intro h1 strong{font-size:25.5px!important}
  .home-logo-wrap{width:min(208px,66%)!important}
  .home-story-copy p{font-size:15px!important}
  .home-story-secondary{font-size:13.6px!important}
  .home-quick{margin-top:61px!important}
}
@media(max-width:350px){
  .home-page{width:calc(100% - 16px)!important}
  .home-intro h1 strong{font-size:23.5px!important}
  .home-story-copy p{font-size:14.5px!important}
  .home-story-secondary{font-size:13px!important}
}


/* V167 — final mobile contact overrides (loaded after restaurant.css) */
@media(max-width:720px){
  .location-screen .location-layout-clean{
    display:block!important;
    width:calc(100% - 32px)!important;
    min-height:auto!important;
    padding-top:18px!important;
    padding-bottom:28px!important;
  }
  .location-screen .location-editorial{
    width:100%!important;
    justify-content:flex-start!important;
    padding:0!important;
  }
  .location-screen .location-editorial>.screen-back{margin:0 0 14px!important;}
  .location-screen .location-editorial>.eyebrow{
    display:block!important;
    margin-bottom:10px!important;
    color:#C9A05D!important;
    font:700 10px/1 'Manrope',sans-serif!important;
    letter-spacing:2px!important;
  }
  .location-screen .location-editorial h2{
    max-width:360px!important;
    margin:0!important;
    color:#10382B!important;
    font-family:'Oswald','Arial Narrow',sans-serif!important;
    font-weight:600!important;
    font-size:clamp(46px,12.5vw,50px)!important;
    line-height:.93!important;
    letter-spacing:-.025em!important;
  }
  .location-screen .contact-stack-clean{
    width:100%!important;
    margin-top:27px!important;
    border-top:1px solid rgba(15,55,42,.12)!important;
  }
  .location-screen .contact-stack-clean>.contact-row,
  .location-screen .contact-row-phone{
    display:block!important;
    grid-template-columns:none!important;
    gap:0!important;
    padding:0!important;
    border:0!important;
    border-bottom:1px solid rgba(15,55,42,.12)!important;
  }
  .location-screen .contact-stack-clean>.contact-row,
  .location-screen .contact-row-main{
    min-height:86px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 36px!important;
    align-items:center!important;
    gap:16px!important;
    padding:17px 0!important;
  }
  .location-screen .contact-row-main{padding-bottom:7px!important;}
  .location-screen .contact-row-phone{padding-bottom:15px!important;}
  .location-screen .contact-row-copy small{
    display:block!important;
    margin-bottom:7px!important;
    color:#7A827C!important;
    font:700 8.5px/1 'Manrope',sans-serif!important;
    letter-spacing:.18em!important;
  }
  .location-screen .contact-row-copy b{
    display:block!important;
    color:#17382D!important;
    font:600 14.5px/1.35 'Manrope',sans-serif!important;
    letter-spacing:-.015em!important;
  }
  .location-screen .contact-row-phone .contact-row-copy b{font-size:17.5px!important;font-weight:700!important;}
  .location-screen .contact-row-arrow{
    width:36px!important;height:36px!important;
    display:grid!important;place-items:center!important;
    border:1px solid rgba(201,160,93,.46)!important;
    border-radius:50%!important;
    color:#B98C43!important;
    font:400 17px/1 'Manrope',sans-serif!important;
  }
  .location-screen .contact-whatsapp-link{
    display:inline-block!important;
    margin:0 50px 0 0!important;
    color:#B98C43!important;
    font:600 9.5px/1.35 'Manrope',sans-serif!important;
    text-decoration:none!important;
  }

  .brand-logo{width:43px!important;height:43px!important;flex-basis:43px!important;}
  .menu-toggle{width:40px!important;height:40px!important;}
  .lang-switch button{width:30px!important;height:30px!important;border-radius:50%!important;}
  .lang-switch button+button::before{display:none!important;}
  .lang-switch button.active{background:#10382B!important;color:#fff!important;border-radius:50%!important;box-shadow:none!important;}

  .footer-compact-top{gap:20px!important;padding:25px 0 20px!important;}
  .footer-compact .footer-brand-button img{width:48px!important;height:48px!important;}
  .footer-compact .footer-brand-button b{color:rgba(246,248,246,.88)!important;font-size:16px!important;}
  .footer-compact .footer-brand-button small{color:rgba(229,236,231,.60)!important;font-size:7px!important;}
  .footer-compact-nav{gap:0 20px!important;padding:16px 0!important;}
  .footer-compact-nav button{font-size:10.5px!important;padding:10px 0!important;}
  .footer-compact-contact{gap:8px!important;}
  .footer-compact-contact a{font-size:10.2px!important;}
}

/* ================================================================
   V169 — FINAL MOBILE-FIRST PASS
   Primary target: 360–430 px phones. Desktop rules remain untouched.
   ================================================================ */
@media (max-width: 820px) {
  :root { --header: 66px !important; }
  html { text-size-adjust: 100%; -webkit-text-size-adjust: 100%; }
  body { background:#F7F1E7 !important; }
  button, a { touch-action: manipulation; }

  /* Header: compact, readable, thumb-friendly. */
  .site-header {
    height:66px !important;
    min-height:66px !important;
    padding:0 12px !important;
    gap:8px !important;
    background:rgba(250,247,240,.90) !important;
    border-bottom:1px solid rgba(16,56,43,.08) !important;
    box-shadow:0 1px 0 rgba(255,255,255,.65) inset !important;
  }
  body.is-scrolled .site-header { box-shadow:0 10px 28px rgba(16,56,43,.08) !important; }
  .brand { gap:8px !important; }
  .brand-logo {
    width:43px !important; height:43px !important; flex:0 0 43px !important;
    border-radius:12px !important; object-fit:contain !important;
  }
  .brand-copy strong {
    max-width:118px !important; font:600 12px/1.1 'Manrope',sans-serif !important;
    color:#10382B !important;
  }
  .brand-copy small { display:none !important; }
  .header-side { gap:5px !important; }
  .lang-switch {
    display:flex !important; padding:2px !important; gap:0 !important;
    border-color:rgba(16,56,43,.10) !important; background:rgba(255,255,255,.46) !important;
  }
  .lang-switch button {
    width:29px !important; height:29px !important; min-width:29px !important;
    font-size:7.5px !important; border-radius:50% !important;
  }
  .menu-toggle {
    width:40px !important; height:40px !important; min-width:40px !important;
    border-radius:12px !important; border-color:rgba(16,56,43,.12) !important;
  }
  .menu-toggle span { width:16px !important; background:#10382B !important; }
  .nav-links {
    left:10px !important; right:10px !important; top:74px !important;
    padding:8px !important; border-radius:18px !important;
    background:rgba(250,247,240,.985) !important;
    border:1px solid rgba(16,56,43,.10) !important;
    box-shadow:0 24px 64px rgba(16,56,43,.18) !important;
  }
  .nav-links button {
    min-height:50px !important; padding:0 15px !important; border-radius:12px !important;
    font:600 11px/1.2 'Manrope',sans-serif !important;
  }

  /* Universal inner-page back control. */
  .screen-back {
    min-height:40px !important; display:inline-flex !important; align-items:center !important;
    gap:8px !important; padding:0 2px !important; font-size:8.5px !important;
    letter-spacing:.07em !important;
  }
  .screen-back span { font-size:17px !important; line-height:1 !important; }

  /* HOME — premium but compact enough for phones. */
  .home-page {
    width:calc(100% - 28px) !important; max-width:430px !important;
    padding:25px 0 46px !important;
  }
  .home-intro { padding:2px 2px 22px !important; margin-bottom:34px !important; }
  .home-intro-kicker {
    margin-bottom:12px !important; font-size:7.5px !important; line-height:1.2 !important;
    letter-spacing:.29em !important; color:#B88B46 !important;
  }
  .home-intro h1 {
    font:500 15px/1.58 'Manrope',sans-serif !important;
    letter-spacing:-.012em !important; color:#535E57 !important;
  }
  .home-intro h1 strong {
    display:block !important; max-width:370px !important; margin:0 auto 12px !important;
    font:600 clamp(27px,7.6vw,32px)/1.02 'Oswald','Arial Narrow',sans-serif !important;
    letter-spacing:-.02em !important; color:#10382B !important;
  }
  .home-intro h1>span[aria-hidden="true"] { display:none !important; }
  .home-intro h1>span[data-i18n="homeWelcomeText"] { display:block !important; max-width:340px !important; margin:0 auto !important; }
  .home-logo-wrap {
    width:min(206px,62vw) !important; margin:22px auto 0 !important;
  }
  .home-logo-wrap img {
    border-radius:25px !important;
    filter:drop-shadow(0 18px 28px rgba(69,43,20,.105)) !important;
  }

  .home-story { margin-bottom:52px !important; }
  .home-story-copy { max-width:100% !important; margin:0 2px 18px !important; }
  .home-story-copy p {
    margin:0 !important; font:500 15.5px/1.62 'Manrope',sans-serif !important;
    color:#626860 !important; letter-spacing:-.012em !important;
  }
  .home-story-copy strong {
    font:600 1.14em/1.2 'Oswald','Arial Narrow',sans-serif !important;
    color:#10382B !important; letter-spacing:-.012em !important;
  }
  .home-story-secondary {
    max-width:350px !important; margin-top:9px !important;
    font:400 14px/1.6 'Manrope',sans-serif !important; color:#727972 !important;
  }
  .home-story-photo,.home-story-kitchen .home-story-photo {
    width:100% !important; aspect-ratio:1.42/1 !important;
    border-radius:22px !important; overflow:hidden !important;
    border:1px solid rgba(255,255,255,.70) !important;
    box-shadow:0 15px 36px rgba(36,51,42,.10) !important;
  }
  .home-story-photo>img { width:100% !important; height:100% !important; object-fit:cover !important; }
  .home-story-cabins { margin-bottom:0 !important; }

  .home-quick {
    margin:56px 0 0 !important; padding:20px 12px 13px !important;
    border-radius:24px !important; box-shadow:0 20px 46px rgba(16,56,43,.15) !important;
  }
  .home-quick-head { display:block !important; padding:2px 6px 18px !important; }
  .home-quick-head span { display:block !important; margin-bottom:7px !important; font-size:7.3px !important; letter-spacing:.23em !important; }
  .home-quick-head p { margin:0 !important; font-size:10px !important; line-height:1.45 !important; }
  .home-actions { grid-template-columns:1fr !important; gap:6px !important; }
  .home-action {
    width:100% !important; min-height:62px !important;
    grid-template-columns:32px minmax(0,1fr) 24px !important; gap:8px !important;
    padding:0 14px !important; border-radius:13px !important;
  }
  .home-action.is-primary { min-height:68px !important; }
  .home-action-no { font-size:21px !important; opacity:.28 !important; }
  .home-action b { font:600 12.7px/1.25 'Manrope',sans-serif !important; }
  .home-action i { font-size:19px !important; }
  .home-action:active { transform:scale(.985) !important; }

  /* MENU — no tiny text; categories remain one-thumb horizontal chips. */
  .menu-screen .page-shell {
    width:calc(100% - 28px) !important; padding:20px 0 38px !important;
  }
  .menu-screen .page-shell>.screen-back { margin-bottom:15px !important; }
  .menu-screen .split-head { gap:10px !important; padding-bottom:20px !important; }
  .menu-screen .split-head .eyebrow { margin-bottom:9px !important; font-size:8px !important; }
  .menu-screen .split-head h2 {
    font:600 clamp(39px,11.8vw,48px)/.98 'Oswald','Arial Narrow',sans-serif !important;
    letter-spacing:-.025em !important; color:#10382B !important;
  }
  .menu-screen .split-head>p { font:400 12.5px/1.58 'Manrope',sans-serif !important; color:#69736C !important; }
  .menu-layout { margin-top:14px !important; }
  .menu-sidebar {
    top:66px !important; margin:0 -14px 8px !important; padding:8px 14px 9px !important;
    background:rgba(247,241,231,.95) !important;
    border-bottom:1px solid rgba(16,56,43,.06) !important;
  }
  .menu-filters { gap:7px !important; }
  .menu-filters button {
    min-height:40px !important; padding:0 14px !important; border-radius:999px !important;
    border:1px solid rgba(16,56,43,.11) !important;
    font:600 9px/1 'Manrope',sans-serif !important;
    background:rgba(255,255,255,.48) !important;
  }
  .menu-filters button.active { background:#10382B !important; color:#fff !important; }
  .menu-grid {
    display:block !important; border-radius:0 !important; gap:0 !important;
    background:transparent !important;
  }
  .menu-card,.menu-card.has-image {
    width:100% !important; height:auto !important; min-height:118px !important; max-height:none !important;
    padding:14px 2px !important; border-bottom:1px solid rgba(16,56,43,.10) !important;
    background:transparent !important;
  }
  .menu-card.has-image {
    grid-template-columns:82px minmax(0,1fr) auto !important; gap:12px !important; align-items:center !important;
  }
  .menu-card:not(.has-image) { grid-template-columns:minmax(0,1fr) auto !important; gap:12px !important; }
  .menu-card-photo {
    width:82px !important; height:88px !important; border-radius:12px !important; overflow:hidden !important;
  }
  .menu-card-photo img { width:100% !important; height:100% !important; object-fit:cover !important; }
  .menu-card small { font-size:7px !important; letter-spacing:.12em !important; }
  .menu-card h3,.menu-card.has-image .menu-card-copy h3 {
    margin:5px 0 5px !important; font:400 clamp(18px,5vw,21px)/1.05 'Instrument Serif',serif !important;
    color:#17382D !important;
  }
  .menu-card p {
    display:-webkit-box !important; overflow:hidden !important; -webkit-box-orient:vertical !important; -webkit-line-clamp:2 !important;
    font:400 9.5px/1.4 'Manrope',sans-serif !important; color:#727B74 !important;
  }
  .menu-card>b,.menu-card.has-image>b {
    align-self:start !important; padding-top:10px !important; font:700 9.5px/1.2 'Manrope',sans-serif !important;
    color:#10382B !important;
  }

  /* BOOKING MAP — maximize usable map area, keep back action visible. */
  .map-screen.active {
    display:grid !important; grid-template-rows:44px minmax(0,1fr) !important;
    height:calc(100dvh - 66px) !important; min-height:520px !important;
    padding:4px 8px 8px !important; overflow:hidden !important;
    background:#F7F1E7 !important;
  }
  .map-page-top { height:44px !important; padding:0 2px !important; display:flex !important; align-items:center !important; }
  .map-page-top .screen-back { margin:0 !important; }
  .map-stage-shell {
    width:100% !important; height:auto !important; min-height:0 !important;
    border-radius:16px !important; box-shadow:0 16px 38px rgba(16,56,43,.12) !important;
  }
  .map-floating-intro {
    top:11px !important; left:11px !important; width:min(245px,calc(100% - 66px)) !important;
    max-width:none !important; padding:0 !important; background:transparent !important;
    border:0 !important; box-shadow:none !important; backdrop-filter:none !important;
  }
  .map-floating-intro .eyebrow { margin-bottom:5px !important; font-size:6.5px !important; color:#D6B36F !important; }
  .map-floating-intro h1 { font-size:clamp(28px,8.8vw,38px) !important; line-height:.96 !important; text-shadow:0 2px 14px rgba(6,22,15,.40) !important; }
  .map-floating-intro>p { max-width:215px !important; margin-top:6px !important; font-size:8.5px !important; line-height:1.45 !important; }
  .map-mini-help { display:none !important; }

  /* CONTACTS — mobile is the primary layout. */
  .location-screen .location-layout-clean {
    width:calc(100% - 32px) !important; max-width:430px !important;
    padding-top:14px !important; padding-bottom:22px !important;
  }
  .location-screen .location-editorial>.screen-back { margin-bottom:9px !important; }
  .location-screen .location-editorial>.eyebrow { margin-bottom:9px !important; font-size:10px !important; letter-spacing:2px !important; }
  .location-screen .location-editorial h2 {
    max-width:350px !important; font-size:clamp(44px,11.8vw,49px) !important; line-height:.96 !important;
  }
  .location-screen .contact-stack-clean { margin-top:23px !important; }
  .location-screen .contact-stack-clean>.contact-row,
  .location-screen .contact-row-main {
    min-height:82px !important; padding:15px 0 !important; gap:14px !important;
  }
  .location-screen .contact-row-main { padding-bottom:6px !important; }
  .location-screen .contact-row-phone { padding-bottom:14px !important; }
  .location-screen .contact-row-copy small { margin-bottom:7px !important; font-size:8.5px !important; }
  .location-screen .contact-row-copy b { font-size:15px !important; }
  .location-screen .contact-row-phone .contact-row-copy b { font-size:18px !important; }
  .location-screen .contact-row-arrow { width:38px !important; height:38px !important; font-size:17px !important; }
  .location-screen .contact-whatsapp-link { margin-right:52px !important; font-size:10px !important; }

  /* HOW TO FIND US — one strong card, all info visible without hunting. */
  .maps-screen .maps-page-shell {
    width:calc(100% - 28px) !important; max-width:430px !important;
    padding:14px 0 24px !important;
  }
  .maps-screen .screen-back { margin-bottom:5px !important; }
  .maps-page-card {
    margin-top:0 !important; padding:20px 17px 17px !important; border-radius:22px !important;
    box-shadow:0 24px 56px rgba(10,39,29,.17),inset 0 1px 0 rgba(255,255,255,.065) !important;
  }
  .maps-page-brand { grid-template-columns:62px minmax(0,1fr) !important; gap:13px !important; align-items:start !important; }
  .maps-page-brand>img { width:62px !important; height:62px !important; border-radius:15px !important; padding:4px !important; }
  .maps-page-brand .eyebrow { margin-bottom:7px !important; font-size:7.5px !important; letter-spacing:.23em !important; }
  .maps-page-brand h2 { font-size:clamp(36px,10.4vw,44px) !important; line-height:1.05 !important; }
  .maps-page-brand p {
    grid-column:1/-1 !important; margin:8px 0 0 !important;
    font:400 12.8px/1.62 'Manrope',sans-serif !important; color:rgba(255,250,241,.66) !important;
  }
  .maps-page-info { margin-top:18px !important; }
  .maps-info-row { padding:14px 0 !important; }
  .maps-info-row small { font-size:7.5px !important; }
  .maps-info-row:first-child b { font-size:15.5px !important; line-height:1.48 !important; }
  .maps-info-row:nth-child(2) b { font-size:12.5px !important; }
  .maps-page-actions { margin-top:18px !important; gap:8px !important; }
  .maps-page-actions a {
    min-height:70px !important; padding:0 15px !important; border-radius:14px !important;
  }
  .maps-page-actions span small { margin-bottom:5px !important; font-size:8px !important; }
  .maps-page-actions span b { font-size:13.5px !important; }
  .maps-page-actions i { font-size:23px !important; }

  /* Footer: useful, short, no wall of tiny text. */
  .site-footer { padding:0 16px !important; }
  .footer-compact-top {
    display:grid !important; grid-template-columns:1fr !important;
    gap:15px !important; padding:21px 0 16px !important;
  }
  .footer-compact .footer-brand-button img { width:40px !important; height:40px !important; border-radius:11px !important; }
  .footer-compact .footer-brand-button b { font-size:14.5px !important; }
  .footer-compact .footer-brand-button small { margin-top:3px !important; font-size:6.5px !important; }
  .footer-compact-nav {
    display:grid !important; grid-template-columns:1fr 1fr !important;
    gap:0 16px !important; padding:10px 0 !important;
  }
  .footer-compact-nav button { min-height:38px !important; padding:0 !important; font-size:10px !important; }
  .footer-compact-contact { align-items:flex-start !important; gap:7px !important; }
  .footer-compact-contact a { min-height:25px !important; display:flex !important; align-items:center !important; font-size:10px !important; }
  .footer-compact .footer-bottom {
    gap:4px !important; padding:10px 0 calc(12px + env(safe-area-inset-bottom)) !important;
    font-size:6.2px !important; line-height:1.45 !important;
  }

  /* Touch feedback only; no jumpy animations on phones. */
  .home-action,.menu-filters button,.maps-page-actions a,.footer-compact-nav button,
  .contact-row,.contact-row-main,.screen-back,.menu-toggle,.nav-links button {
    transition:transform .12s ease,opacity .16s ease,background-color .16s ease !important;
  }
  .home-action:active,.menu-filters button:active,.maps-page-actions a:active,
  .footer-compact-nav button:active,.contact-row:active,.contact-row-main:active,.screen-back:active,.nav-links button:active {
    transform:scale(.985) !important;
  }
}

@media (max-width: 390px) {
  .site-header { padding:0 10px !important; }
  .brand-copy strong { max-width:105px !important; font-size:11.5px !important; }
  .brand-logo { width:41px !important; height:41px !important; flex-basis:41px !important; }
  .lang-switch button { width:27px !important; height:27px !important; min-width:27px !important; }
  .home-page { width:calc(100% - 22px) !important; }
  .home-intro h1 { font-size:14.5px !important; }
  .home-intro h1 strong { font-size:clamp(25.5px,7.5vw,29px) !important; }
  .home-logo-wrap { width:min(194px,59vw) !important; }
  .home-story { margin-bottom:48px !important; }
  .home-story-copy p { font-size:15px !important; }
  .home-story-secondary { font-size:13.5px !important; }
  .home-quick { margin-top:52px !important; }
  .menu-card.has-image { grid-template-columns:76px minmax(0,1fr) auto !important; gap:10px !important; }
  .menu-card-photo { width:76px !important; height:84px !important; }
  .menu-card h3,.menu-card.has-image .menu-card-copy h3 { font-size:18px !important; }
  .menu-card>b,.menu-card.has-image>b { font-size:9px !important; }
  .maps-page-brand { grid-template-columns:58px minmax(0,1fr) !important; gap:12px !important; }
  .maps-page-brand>img { width:58px !important; height:58px !important; }
  .maps-page-brand h2 { font-size:36px !important; }
}

@media (max-width: 350px) {
  .brand-copy { display:none !important; }
  .home-page { width:calc(100% - 18px) !important; }
  .home-intro h1 strong { font-size:24px !important; }
  .home-story-copy p { font-size:14.5px !important; }
  .home-action { grid-template-columns:29px minmax(0,1fr) 21px !important; padding:0 12px !important; }
  .menu-card.has-image { grid-template-columns:68px minmax(0,1fr) auto !important; gap:9px !important; }
  .menu-card-photo { width:68px !important; height:78px !important; }
}

@media (hover:none) and (pointer:coarse) {
  .home-action:hover,.maps-page-actions a:hover,.contact-row:hover,.contact-row-main:hover { transform:none !important; }
}

/* =========================================================
   V170 — restore the previous large mobile booking-map size
   Exact mobile map geometry from the pre-v169 layout (v168).
   Other v169 mobile-first improvements remain unchanged.
   ========================================================= */
@media (max-width: 900px) {
  .map-screen.active {
    display:block !important;
    height:auto !important;
    min-height:0 !important;
    overflow:visible !important;
    padding:0 10px 10px !important;
    background:#f5f1e8 !important;
  }
  .map-page-top {
    height:auto !important;
    padding:13px 3px 9px !important;
    display:block !important;
  }
  .map-page-top .screen-back {
    margin:0 !important;
  }
  .map-stage-shell {
    width:100% !important;
    height:calc(100dvh - 64px - 46px) !important;
    min-height:510px !important;
    border-radius:14px !important;
    box-shadow:0 18px 45px rgba(16,38,28,.12) !important;
  }
}

/* v172 — keep primary navigation accessible on the mobile home screen. */
@media (max-width: 900px) {
  body:not([data-active-screen]) .menu-toggle,
  body[data-active-screen="home"] .menu-toggle {
    display: flex !important;
  }
}


/* v207 mobile UX improvements */
@media(max-width:720px){
  .mobile-nav-book{display:flex!important;background:#10382B!important;color:#fff!important}
  .mobile-hero-book{display:inline-flex!important;align-items:center;justify-content:center;min-height:48px;margin:20px auto 0;padding:0 24px;border:0;border-radius:999px;background:#10382B;color:#fff;font:700 11px/1 'Manrope',sans-serif;box-shadow:0 10px 28px rgba(16,56,43,.16)}
  .home-intro-copy{text-align:center!important}.home-intro{padding-bottom:24px!important}
  #screen-menu .menu-sidebar{position:sticky!important;top:64px!important;z-index:460!important;margin-left:-11px!important;margin-right:-11px!important;padding:10px 11px 8px!important;background:rgba(247,241,231,.96)!important;border-bottom:1px solid rgba(16,56,43,.09)!important;backdrop-filter:blur(10px)!important}
  #screen-menu .side-label{display:none!important}
  #screen-menu .menu-filters{display:flex!important;overflow-x:auto!important;overscroll-behavior-x:contain!important;scrollbar-width:none!important;padding-bottom:1px!important}
  #screen-menu .menu-filters::-webkit-scrollbar{display:none!important}
  #screen-menu .menu-filters button{flex:0 0 auto!important;white-space:nowrap!important;min-height:38px!important;padding:0 13px!important;border-radius:999px!important}
  .map-page-top{grid-template-columns:1fr auto!important;gap:10px!important;padding:10px 3px 10px!important}.map-page-top>.screen-back{grid-column:1/-1!important;margin:0!important}.map-choice-copy span{font-size:22px!important}.map-choice-copy small{font-size:8.5px!important;max-width:260px!important}.map-view-switch{padding:3px!important}.map-view-switch button{padding:9px 11px!important;font-size:9px!important}
  #screen-map .map-stage-shell{height:calc(100dvh - 64px - 134px)!important;min-height:480px!important}
  .map-place-list{grid-template-columns:1fr!important;gap:8px!important;padding:4px 0 22px!important;margin-bottom:0!important}.map-place-row{grid-template-columns:42px minmax(0,1fr) auto!important;gap:9px!important;padding:10px!important;min-height:68px!important;border-radius:13px!important}.map-place-number{width:36px!important;height:36px!important;font-size:11px!important}.map-place-row b{font-size:17px!important}.map-place-row small{font-size:8px!important}.map-place-row>a{min-height:36px!important;padding:0 10px!important;font-size:8px!important}
  .menu-card-photo-button>span{opacity:1!important;transform:none!important;width:22px!important;height:22px!important;font-size:10px!important}.menu-image-lightbox{padding:14px!important}.menu-image-lightbox img{max-width:96vw!important;max-height:78dvh!important;border-radius:12px!important}.menu-image-lightbox-close{top:12px!important;right:12px!important;width:40px!important;height:40px!important}
}
@media(max-width:390px){.map-choice-copy small{display:none!important}.map-page-top{grid-template-columns:minmax(0,1fr) auto!important}.map-choice-copy span{font-size:20px!important}.map-view-switch button{padding:8px 9px!important}.map-place-row{grid-template-columns:36px minmax(0,1fr)!important}.map-place-row>a{grid-column:2!important;justify-self:start!important;margin-top:2px!important}.map-place-number{width:32px!important;height:32px!important}}

@media(max-width:720px){body:not([data-active-screen]) .menu-toggle,body[data-active-screen="home"] .menu-toggle{display:flex!important}}

/* v209 — mobile food catalog: 2-column photo cards, sticky pill categories. */
@media(max-width:720px){
  #screen-menu .page-shell{width:calc(100% - 20px)!important;padding-top:22px!important}
  #screen-menu .split-head{padding-bottom:12px!important}
  #screen-menu .split-head h2{font-size:46px!important;line-height:.93!important}
  #screen-menu .split-head>p{font-size:11px!important;line-height:1.5!important;max-width:310px!important}
  #screen-menu .menu-layout{margin-top:10px!important}
  #screen-menu .menu-sidebar{top:64px!important;margin-left:-10px!important;margin-right:-10px!important;width:calc(100% + 20px)!important;padding:9px 10px 8px!important}
  #screen-menu .menu-filters{gap:7px!important;padding:1px 0 2px!important}
  #screen-menu .menu-filters button{min-height:36px!important;padding:0 12px!important;font-size:8.5px!important}
  #screen-menu .menu-grid{display:flex!important;gap:9px!important;align-items:flex-start!important}
  #screen-menu .menu-column{display:flex!important;flex:1 1 0!important;min-width:0!important;flex-direction:column!important;gap:9px!important}
  #screen-menu .menu-card.menu-card-v209{display:block!important;width:100%!important;margin:0!important;border-radius:15px!important;box-shadow:0 7px 20px rgba(16,38,28,.065)!important}
  #screen-menu .menu-card.menu-card-v209:hover{transform:none!important}
  #screen-menu .menu-card-photo,#screen-menu .menu-card-photo-empty{aspect-ratio:4/5!important}
  #screen-menu .menu-card-photo-button>span{right:7px!important;bottom:7px!important;width:24px!important;height:24px!important;font-size:9px!important}
  #screen-menu .menu-card-photo-empty img{width:44px!important;height:44px!important}
  #screen-menu .menu-card-photo-empty span{left:8px!important;bottom:7px!important;font-size:6px!important;letter-spacing:.04em!important}
  #screen-menu .menu-card-more{top:7px!important;right:7px!important;min-height:23px!important;padding:0 7px!important;font-size:6.5px!important}
  #screen-menu .menu-card-copy{padding:11px 10px 6px!important}
  #screen-menu .menu-card-copy small{margin-bottom:5px!important;font-size:6.4px!important;line-height:1.25!important;letter-spacing:.09em!important}
  #screen-menu .menu-card-copy h3{font-size:20.5px!important;line-height:1.02!important;overflow-wrap:anywhere!important;word-break:normal!important;hyphens:auto!important}
  #screen-menu .menu-card-copy p{margin-top:6px!important;font-size:8px!important;line-height:1.42!important;-webkit-line-clamp:2!important}
  #screen-menu .menu-card-footer{padding:3px 8px 9px 10px!important;gap:6px!important}
  #screen-menu .menu-card-footer>b{font-size:9px!important;line-height:1.25!important;max-width:calc(100% - 34px)!important}
  #screen-menu .menu-card-add{width:30px!important;height:30px!important;font-size:19px!important;box-shadow:0 5px 13px rgba(16,56,43,.14)!important}
  .menu-detail-modal{padding:12px!important;align-items:end!important}
  .menu-detail-card{width:100%!important;max-height:90dvh!important;border-radius:22px 22px 14px 14px!important}
  .menu-detail-media{height:min(42dvh,300px)!important}
  .menu-detail-body{padding:18px 18px 20px!important}
  .menu-detail-body h3{font-size:34px!important;line-height:1.02!important}
  .menu-detail-description{font-size:11px!important;line-height:1.55!important}
  .menu-detail-price{font-size:15px!important}
  .menu-image-lightbox{z-index:2100!important}
}
@media(max-width:370px){
  #screen-menu .menu-card-copy h3{font-size:18.5px!important}
  #screen-menu .menu-card-copy p{font-size:7.5px!important}
  #screen-menu .menu-card-footer>b{font-size:8.5px!important}
}


/* v211 — final mobile cleanup requested by client */
@media(max-width:720px){
  /* 1) Home hero: remove mobile booking CTA and tighten the empty gap before the next section. */
  .mobile-hero-book{display:none!important}
  #screen-home .home-intro{padding-bottom:8px!important;margin-bottom:20px!important}
  #screen-home .home-logo-wrap{margin:18px auto 6px!important}
  #screen-home .home-mobile-mountains{margin-top:6px!important}

  /* 2) Mobile nav drawer: no booking item, one clean column, no blank cells/gaps. */
  .mobile-nav-book{display:none!important}
  .nav-links{
    left:16px!important;right:16px!important;top:78px!important;
    grid-template-columns:1fr!important;gap:8px!important;
    padding:14px!important;border-radius:24px!important;
    background:rgba(247,244,237,.98)!important;backdrop-filter:blur(12px)!important;
  }
  .nav-links button{
    min-height:52px!important;padding:0 18px!important;border-radius:18px!important;
    display:flex!important;align-items:center!important;justify-content:flex-start!important;
    text-align:left!important;font-size:13px!important;
  }
  .nav-links .mobile-nav-maps{margin-top:2px!important}

  /* 3) Contacts page: remove arrow icons / side WhatsApp text and center contact info. */
  .location-screen .contact-stack-clean{margin-top:20px!important}
  .location-screen .contact-stack-clean>.contact-row,
  .location-screen .contact-row-phone{
    display:block!important;padding:0!important;border-bottom:1px solid rgba(15,55,42,.12)!important;
  }
  .location-screen .contact-stack-clean>.contact-row,
  .location-screen .contact-row-main{
    min-height:78px!important;display:grid!important;grid-template-columns:1fr!important;
    gap:0!important;justify-items:center!important;text-align:center!important;padding:16px 0!important;
  }
  .location-screen .contact-row-phone{padding-bottom:0!important}
  .location-screen .contact-row-main{padding-bottom:16px!important}
  .location-screen .contact-row-copy{display:block!important;width:100%!important;text-align:center!important}
  .location-screen .contact-row-copy small{margin-bottom:8px!important;text-align:center!important}
  .location-screen .contact-row-copy b{font-size:16px!important;line-height:1.35!important;text-align:center!important}
  .location-screen .contact-row-phone .contact-row-copy b{font-size:20px!important;font-weight:700!important}
  .location-screen .contact-row-arrow,
  .location-screen .contact-whatsapp-link{display:none!important}

  /* 4) Keep menu card layout clean and even on mobile. */
  #screen-menu .menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
}
@media(max-width:390px){
  #screen-home .home-intro{margin-bottom:16px!important}
  .nav-links button{min-height:50px!important;font-size:12.5px!important}
  .location-screen .contact-row-copy b{font-size:14.5px!important}
  .location-screen .contact-row-phone .contact-row-copy b{font-size:18px!important}
}


/* ==============================================================
   v212 — FINAL MOBILE MENU GRID
   Exactly two even cards per row on phones. This MUST stay last.
   ============================================================== */
@media (max-width: 720px) {
  #screen-menu .page-shell {
    width: calc(100% - 24px) !important;
  }
  #screen-menu .menu-layout {
    display: block !important;
    margin-top: 16px !important;
  }
  #screen-menu .menu-sidebar {
    position: sticky !important;
    top: 64px !important;
    z-index: 460 !important;
    margin: 0 -12px 14px !important;
    padding: 10px 12px !important;
    background: rgba(247,241,231,.97) !important;
    border-bottom: 1px solid rgba(16,56,43,.09) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
  }
  #screen-menu .menu-filters {
    display: flex !important;
    width: 100% !important;
    gap: 8px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 0 0 2px !important;
    scrollbar-width: none !important;
  }
  #screen-menu .menu-filters::-webkit-scrollbar { display: none !important; }
  #screen-menu .menu-filters button {
    flex: 0 0 auto !important;
    min-height: 42px !important;
    padding: 0 16px !important;
    border-radius: 999px !important;
    white-space: nowrap !important;
    font-size: 10px !important;
  }

  /* Critical fix: override the old flex/masonry rule. */
  #screen-menu .menu-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    grid-auto-columns: unset !important;
    align-items: stretch !important;
    gap: 12px !important;
    width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
  }
  #screen-menu .menu-column { display: contents !important; }

  #screen-menu .menu-card.menu-card-v209 {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid rgba(16,56,43,.08) !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 8px 22px rgba(16,38,28,.07) !important;
  }
  #screen-menu .menu-card.menu-card-v209:hover { transform: none !important; }

  #screen-menu .menu-card-media {
    position: relative !important;
    width: 100% !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
  }
  #screen-menu .menu-card-photo,
  #screen-menu .menu-card-photo-empty {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 0.92 / 1 !important;
    border: 0 !important;
    border-radius: 0 !important;
    overflow: hidden !important;
    background: linear-gradient(145deg,#efe9dc,#e4eadf) !important;
  }
  #screen-menu .menu-card-photo-empty { position: relative !important; }
  #screen-menu .menu-card-photo img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
  #screen-menu .menu-card-photo-empty img {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%,-50%) !important;
    width: 52px !important;
    height: 52px !important;
    object-fit: contain !important;
    opacity: .24 !important;
  }
  #screen-menu .menu-card-photo-empty span {
    position: absolute !important;
    left: 10px !important;
    right: 10px !important;
    bottom: 9px !important;
    font-size: 6.5px !important;
    line-height: 1.2 !important;
    letter-spacing: .06em !important;
  }
  #screen-menu .menu-card-more {
    top: 9px !important;
    right: 9px !important;
    min-height: 28px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    font-size: 7.5px !important;
  }

  #screen-menu .menu-card-copy {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    padding: 13px 12px 8px !important;
    overflow: visible !important;
  }
  #screen-menu .menu-card-copy small {
    margin: 0 0 6px !important;
    font-size: 6.8px !important;
    line-height: 1.25 !important;
    letter-spacing: .09em !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
  #screen-menu .menu-card-copy h3 {
    margin: 0 !important;
    font-size: clamp(20px, 5.5vw, 25px) !important;
    line-height: 1.02 !important;
    min-height: 2.04em !important;
    max-height: 3.06em !important;
    overflow: hidden !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 3 !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    hyphens: auto !important;
  }
  #screen-menu .menu-card-copy p {
    margin: 7px 0 0 !important;
    font-size: 8.5px !important;
    line-height: 1.45 !important;
    min-height: 2.9em !important;
    max-height: 2.9em !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    overflow: hidden !important;
  }
  #screen-menu .menu-card:not(:has(.menu-card-copy p)) .menu-card-copy::after {
    content: '';
    display: block;
    min-height: 2.9em;
    margin-top: 7px;
  }

  #screen-menu .menu-card-footer {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    margin-top: auto !important;
    padding: 4px 10px 11px 12px !important;
  }
  #screen-menu .menu-card-footer > b {
    min-width: 0 !important;
    max-width: calc(100% - 42px) !important;
    font-size: 10px !important;
    line-height: 1.25 !important;
    white-space: normal !important;
  }
  #screen-menu .menu-card-add {
    width: 36px !important;
    height: 36px !important;
    flex: 0 0 36px !important;
    border-radius: 50% !important;
    font-size: 22px !important;
  }
}

@media (max-width: 360px) {
  #screen-menu .page-shell { width: calc(100% - 18px) !important; }
  #screen-menu .menu-grid { gap: 9px !important; }
  #screen-menu .menu-card-copy { padding: 11px 10px 7px !important; }
  #screen-menu .menu-card-copy h3 { font-size: 18px !important; }
  #screen-menu .menu-card-copy p { font-size: 7.8px !important; }
  #screen-menu .menu-card-footer { padding: 3px 8px 9px 10px !important; }
  #screen-menu .menu-card-footer > b { font-size: 9px !important; }
  #screen-menu .menu-card-add { width: 32px !important; height: 32px !important; flex-basis: 32px !important; font-size: 19px !important; }
}

/* ===== FINAL MENU UNIFICATION v213 ===== */
/* Goal: keep the menu layout visually similar to the mobile reference on both desktop and mobile.
   1) Same vertical card structure everywhere.
   2) Photos on top.
   3) Title, short description, price and + button always visible.
   4) No masonry/flex narrow-column fallback. */
#screen-menu .menu-layout{
  grid-template-columns: 1fr !important;
  gap: 22px !important;
}
#screen-menu .menu-sidebar{
  position: sticky !important;
  top: calc(var(--header, 72px) + 10px) !important;
  z-index: 30 !important;
  background: rgba(247,241,231,.96) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  border-bottom: 1px solid rgba(16,56,43,.08) !important;
  margin: 0 !important;
  padding: 0 0 10px !important;
}
#screen-menu .side-label{display:none !important;}
#screen-menu .menu-filters{
  display:flex !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  gap: 12px !important;
  padding: 2px 0 4px !important;
  scrollbar-width:none !important;
}
#screen-menu .menu-filters::-webkit-scrollbar{display:none !important;}
#screen-menu .menu-filters button{
  flex:0 0 auto !important;
  min-height: 50px !important;
  padding: 0 22px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(16,56,43,.10) !important;
  background:#fff !important;
  color:#5f685f !important;
  font:700 14px/1 'Manrope', sans-serif !important;
  white-space: nowrap !important;
  box-shadow:none !important;
}
#screen-menu .menu-filters button.active{
  background: var(--forest) !important;
  border-color: var(--forest) !important;
  color:#fff !important;
}
#screen-menu .menu-grid{
  display:grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
  align-items: stretch !important;
  width:100% !important;
}
#screen-menu .menu-column{display: contents !important;}
#screen-menu .menu-card.menu-card-v209{
  display:flex !important;
  flex-direction:column !important;
  width:100% !important;
  min-width:0 !important;
  min-height:100% !important;
  height:auto !important;
  overflow:hidden !important;
  margin:0 !important;
  padding:0 !important;
  border-radius: 22px !important;
  border:1px solid rgba(16,56,43,.08) !important;
  background:#fff !important;
  box-shadow:0 14px 34px rgba(16,38,28,.07) !important;
}
#screen-menu .menu-card.menu-card-v209:hover{
  transform: translateY(-2px) !important;
  box-shadow:0 18px 40px rgba(16,38,28,.1) !important;
}
#screen-menu .menu-card-media{
  position:relative !important;
  width:100% !important;
  min-width:0 !important;
  flex:0 0 auto !important;
  background:#ece7dc !important;
}
#screen-menu .menu-card-photo,
#screen-menu .menu-card-photo-empty{
  display:block !important;
  width:100% !important;
  height:auto !important;
  aspect-ratio: 4 / 5 !important;
  border:0 !important;
  border-radius:0 !important;
  overflow:hidden !important;
  background:linear-gradient(145deg,#efe9dc,#e4eadf) !important;
}
#screen-menu .menu-card-photo img{
  width:100% !important;
  height:100% !important;
  display:block !important;
  object-fit:cover !important;
}
#screen-menu .menu-card-photo-empty{
  position:relative !important;
  display:grid !important;
  place-items:center !important;
}
#screen-menu .menu-card-photo-empty img{
  width:62px !important;
  height:62px !important;
  object-fit:contain !important;
  opacity:.23 !important;
}
#screen-menu .menu-card-photo-empty span{
  position:absolute !important;
  left:12px !important;
  bottom:10px !important;
  font:700 9px/1 'Manrope', sans-serif !important;
  letter-spacing:.06em !important;
  text-transform:uppercase !important;
  color:rgba(16,56,43,.48) !important;
}
#screen-menu .menu-card-more{
  position:absolute !important;
  top:12px !important;
  right:12px !important;
  min-height:32px !important;
  padding:0 12px !important;
  border:1px solid rgba(255,255,255,.34) !important;
  border-radius:999px !important;
  background:rgba(85,53,57,.84) !important;
  color:#fff !important;
  font:700 10px/1 'Manrope', sans-serif !important;
  box-shadow:0 8px 18px rgba(16,38,28,.11) !important;
}
#screen-menu .menu-card-copy{
  display:flex !important;
  flex-direction:column !important;
  flex:1 1 auto !important;
  min-width:0 !important;
  padding:14px 14px 8px !important;
  overflow:visible !important;
}
#screen-menu .menu-card-copy small{
  display:block !important;
  margin:0 0 8px !important;
  font:700 10px/1.2 'Manrope', sans-serif !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
  color:var(--gold) !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
}
#screen-menu .menu-card-copy h3{
  display:block !important;
  margin:0 !important;
  font-family:'Instrument Serif', Georgia, serif !important;
  font-size: clamp(24px, 2vw, 34px) !important;
  line-height:1.02 !important;
  color:var(--forest) !important;
  min-height:2.04em !important;
  max-height:2.04em !important;
  overflow:hidden !important;
  display:-webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  hyphens:auto !important;
}
#screen-menu .menu-card-copy p{
  display:-webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 3 !important;
  overflow:hidden !important;
  margin:10px 0 0 !important;
  min-height:4.35em !important;
  max-height:4.35em !important;
  font:500 13px/1.45 'Manrope', sans-serif !important;
  color:#66716a !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
}
#screen-menu .menu-card-copy::after{
  content:'';
  display:block;
  margin-top:auto;
}
#screen-menu .menu-card-footer{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:10px !important;
  margin-top:auto !important;
  padding:4px 14px 14px !important;
}
#screen-menu .menu-card-footer>b{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  max-width:calc(100% - 50px) !important;
  font:800 16px/1.2 'Manrope', sans-serif !important;
  color:var(--forest) !important;
  white-space:normal !important;
}
#screen-menu .menu-card-add{
  width:42px !important;
  height:42px !important;
  flex:0 0 42px !important;
  display:grid !important;
  place-items:center !important;
  border:0 !important;
  border-radius:50% !important;
  background:var(--forest) !important;
  color:#fff !important;
  font:400 28px/1 'Manrope', sans-serif !important;
  box-shadow:0 8px 20px rgba(16,56,43,.16) !important;
}
@media (max-width: 1320px){
  #screen-menu .menu-grid{grid-template-columns: repeat(3, minmax(0, 1fr)) !important;}
}
@media (max-width: 980px){
  #screen-menu .menu-grid{grid-template-columns: repeat(2, minmax(0, 1fr)) !important;}
  #screen-menu .menu-filters button{min-height:44px !important;padding:0 18px !important;font-size:12px !important;}
  #screen-menu .menu-card-copy h3{font-size: clamp(22px, 3.3vw, 30px) !important;}
  #screen-menu .menu-card-copy p{font-size: 12px !important;}
}
@media (max-width: 640px){
  #screen-menu .page-shell{width:calc(100% - 18px) !important;padding-top:20px !important;}
  #screen-menu .split-head{padding-bottom:12px !important;}
  #screen-menu .split-head h2{font-size:56px !important;line-height:.94 !important;}
  #screen-menu .split-head>p{font-size:11px !important;line-height:1.5 !important;max-width:340px !important;}
  #screen-menu .menu-layout{gap:14px !important;margin-top:10px !important;}
  #screen-menu .menu-sidebar{top:62px !important;padding-bottom:8px !important;}
  #screen-menu .menu-filters{gap:8px !important;padding-bottom:2px !important;}
  #screen-menu .menu-filters button{min-height:40px !important;padding:0 14px !important;font-size:10px !important;}
  #screen-menu .menu-grid{grid-template-columns: repeat(2, minmax(0, 1fr)) !important;gap:10px !important;}
  #screen-menu .menu-card.menu-card-v209{border-radius:18px !important;box-shadow:0 8px 20px rgba(16,38,28,.06) !important;}
  #screen-menu .menu-card-photo,#screen-menu .menu-card-photo-empty{aspect-ratio: 0.92 / 1 !important;}
  #screen-menu .menu-card-photo-empty img{width:52px !important;height:52px !important;}
  #screen-menu .menu-card-photo-empty span{font-size:6.5px !important;left:10px !important;bottom:8px !important;}
  #screen-menu .menu-card-more{top:8px !important;right:8px !important;min-height:26px !important;padding:0 10px !important;font-size:7px !important;}
  #screen-menu .menu-card-copy{padding:12px 11px 7px !important;}
  #screen-menu .menu-card-copy small{font-size:6.8px !important;margin-bottom:6px !important;}
  #screen-menu .menu-card-copy h3{font-size: clamp(19px, 5vw, 24px) !important;min-height:2.04em !important;max-height:2.04em !important;}
  #screen-menu .menu-card-copy p{font-size:8.8px !important;line-height:1.42 !important;min-height:2.84em !important;max-height:2.84em !important;-webkit-line-clamp:2 !important;margin-top:6px !important;}
  #screen-menu .menu-card-footer{padding:4px 10px 10px 11px !important;gap:7px !important;}
  #screen-menu .menu-card-footer>b{font-size:10px !important;max-width:calc(100% - 38px) !important;}
  #screen-menu .menu-card-add{width:34px !important;height:34px !important;flex-basis:34px !important;font-size:22px !important;}
}
@media (max-width: 360px){
  #screen-menu .menu-grid{gap:8px !important;}
  #screen-menu .menu-card-copy{padding:10px 9px 6px !important;}
  #screen-menu .menu-card-copy h3{font-size:17px !important;}
  #screen-menu .menu-card-copy p{font-size:7.8px !important;}
  #screen-menu .menu-card-footer{padding:3px 8px 9px 9px !important;}
  #screen-menu .menu-card-footer>b{font-size:9px !important;}
  #screen-menu .menu-card-add{width:31px !important;height:31px !important;flex-basis:31px !important;font-size:18px !important;}
}

/* ===== MENU CARD FINAL MATCH v214 (mobile-first visual like reference) ===== */
@media (max-width: 900px){
  #screen-menu .menu-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:14px !important;
    align-items:start !important;
  }
  #screen-menu .menu-card.menu-card-v209{
    display:flex !important;
    flex-direction:column !important;
    width:100% !important;
    overflow:hidden !important;
    border-radius:22px !important;
    background:#fff !important;
    border:1px solid rgba(16,56,43,.07) !important;
    box-shadow:0 10px 24px rgba(16,38,28,.06) !important;
  }
  #screen-menu .menu-card-media{position:relative !important; width:100% !important; display:block !important;}
  #screen-menu .menu-card-photo,
  #screen-menu .menu-card-photo-empty{
    display:block !important;
    width:100% !important;
    aspect-ratio:0.88 / 1 !important;
    border:0 !important;
    border-radius:0 !important;
    overflow:hidden !important;
  }
  #screen-menu .menu-card-photo img{width:100% !important;height:100% !important;object-fit:cover !important;display:block !important;}
  #screen-menu .menu-card-more{
    top:10px !important;
    right:10px !important;
    min-height:28px !important;
    padding:0 11px !important;
    border-radius:999px !important;
    background:rgba(85,53,57,.86) !important;
    color:#fff !important;
    border:1px solid rgba(255,255,255,.28) !important;
    font:700 10px/1 'Manrope',sans-serif !important;
  }
  #screen-menu .menu-card-copy{
    display:flex !important;
    flex-direction:column !important;
    gap:8px !important;
    padding:14px 14px 8px !important;
  }
  #screen-menu .menu-card-copy small{
    margin:0 !important;
    font:700 9px/1.2 'Manrope',sans-serif !important;
    letter-spacing:.1em !important;
    text-transform:uppercase !important;
    color:var(--gold) !important;
  }
  #screen-menu .menu-card-copy h3{
    margin:0 !important;
    font-family:'Instrument Serif', Georgia, serif !important;
    font-size:18px !important;
    line-height:1.04 !important;
    color:#4a261f !important;
    display:-webkit-box !important;
    -webkit-box-orient:vertical !important;
    -webkit-line-clamp:2 !important;
    overflow:hidden !important;
    min-height:2.08em !important;
  }
  #screen-menu .menu-card-copy p{
    margin:0 !important;
    font:700 8.5px/1.35 'Manrope',sans-serif !important;
    color:#6e615d !important;
    display:-webkit-box !important;
    -webkit-box-orient:vertical !important;
    -webkit-line-clamp:2 !important;
    overflow:hidden !important;
    min-height:2.7em !important;
  }
  #screen-menu .menu-card-footer{
    display:flex !important;
    align-items:end !important;
    justify-content:space-between !important;
    gap:8px !important;
    margin-top:auto !important;
    padding:0 14px 14px !important;
  }
  #screen-menu .menu-card-footer>b{
    margin:0 !important;
    font:800 10px/1.15 'Manrope',sans-serif !important;
    color:#4a261f !important;
  }
  #screen-menu .menu-card-add{
    width:38px !important;
    height:38px !important;
    flex:0 0 38px !important;
    display:grid !important;
    place-items:center !important;
    border:0 !important;
    border-radius:50% !important;
    background:#e5781b !important;
    color:#fff !important;
    font:400 24px/1 'Manrope',sans-serif !important;
    box-shadow:none !important;
  }
}
@media (max-width: 390px){
  #screen-menu .menu-grid{gap:12px !important;}
  #screen-menu .menu-card-copy{padding:12px 12px 7px !important;}
  #screen-menu .menu-card-copy h3{font-size:17px !important;}
  #screen-menu .menu-card-copy p{font-size:8px !important;}
  #screen-menu .menu-card-footer{padding:0 12px 12px !important;}
  #screen-menu .menu-card-footer>b{font-size:9px !important;}
  #screen-menu .menu-card-add{width:36px !important;height:36px !important;flex-basis:36px !important;font-size:22px !important;}
}

/* ==============================================================
   v215 — isolated menu cards. Matches the requested reference:
   PHOTO -> TITLE -> DESCRIPTION -> PRICE + BUTTON
   Old .menu-card rules cannot affect these classes.
   ============================================================== */
#screen-menu #menuGrid.menu-v215-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:22px !important;
  width:100% !important;
  min-width:0 !important;
  align-items:stretch !important;
  overflow:visible !important;
}
#screen-menu .menu-v215-card{
  display:flex !important;
  flex-direction:column !important;
  width:100% !important;
  min-width:0 !important;
  height:100% !important;
  overflow:hidden !important;
  margin:0 !important;
  padding:0 !important;
  background:#fff !important;
  border:1px solid rgba(70,44,34,.08) !important;
  border-radius:24px !important;
  box-shadow:0 10px 26px rgba(39,28,21,.07) !important;
}
#screen-menu .menu-v215-media{
  position:relative !important;
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  aspect-ratio:1 / 1.12 !important;
  overflow:hidden !important;
  background:#ede9df !important;
}
#screen-menu .menu-v215-media .menu-card-photo,
#screen-menu .menu-v215-media .menu-card-photo-empty{
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-width:0 !important;
  aspect-ratio:auto !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:linear-gradient(145deg,#eee9df,#e4e9df) !important;
  overflow:hidden !important;
}
#screen-menu .menu-v215-media .menu-card-photo img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}
#screen-menu .menu-v215-media .menu-card-photo-empty{
  position:relative !important;
  display:grid !important;
  place-items:center !important;
}
#screen-menu .menu-v215-media .menu-card-photo-empty img{
  width:72px !important;
  height:72px !important;
  object-fit:contain !important;
  opacity:.22 !important;
}
#screen-menu .menu-v215-media .menu-card-photo-empty span{
  position:absolute !important;
  left:14px !important;
  bottom:11px !important;
  font:700 8px/1 'Manrope',sans-serif !important;
  letter-spacing:.06em !important;
  text-transform:uppercase !important;
  color:rgba(16,56,43,.46) !important;
}
#screen-menu .menu-v215-media .menu-card-photo-button>span{display:none !important;}
#screen-menu .menu-v215-more{
  position:absolute !important;
  z-index:4 !important;
  top:12px !important;
  right:12px !important;
  min-height:31px !important;
  padding:0 12px !important;
  border:1px solid rgba(255,255,255,.22) !important;
  border-radius:999px !important;
  background:rgba(84,55,57,.86) !important;
  color:#fff !important;
  font:700 9px/1 'Manrope',sans-serif !important;
  cursor:pointer !important;
  backdrop-filter:blur(6px) !important;
  -webkit-backdrop-filter:blur(6px) !important;
}
#screen-menu .menu-v215-body{
  display:flex !important;
  flex-direction:column !important;
  flex:1 1 auto !important;
  min-width:0 !important;
  padding:16px 16px 15px !important;
  background:#fff !important;
}
#screen-menu .menu-v215-body h3{
  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:2 !important;
  overflow:hidden !important;
  margin:0 !important;
  min-height:2.06em !important;
  max-height:2.06em !important;
  font-family:'Instrument Serif',Georgia,serif !important;
  font-size:29px !important;
  font-weight:600 !important;
  line-height:1.03 !important;
  letter-spacing:-.025em !important;
  color:#4b2924 !important;
  white-space:normal !important;
  overflow-wrap:break-word !important;
}
#screen-menu .menu-v215-body p{
  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:3 !important;
  overflow:hidden !important;
  margin:9px 0 0 !important;
  min-height:4.2em !important;
  max-height:4.2em !important;
  font:600 12px/1.4 'Manrope',sans-serif !important;
  color:#746762 !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
}
#screen-menu .menu-v215-bottom{
  display:flex !important;
  align-items:end !important;
  justify-content:space-between !important;
  gap:10px !important;
  margin-top:auto !important;
  padding-top:14px !important;
}
#screen-menu .menu-v215-bottom>b{
  display:block !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  font:800 17px/1.2 'Manrope',sans-serif !important;
  color:#4b2924 !important;
  white-space:normal !important;
}
#screen-menu .menu-v215-add{
  display:grid !important;
  place-items:center !important;
  flex:0 0 44px !important;
  width:44px !important;
  height:44px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:50% !important;
  background:#e86e0b !important;
  color:#fff !important;
  font:400 29px/1 'Manrope',sans-serif !important;
  cursor:pointer !important;
  box-shadow:none !important;
}
@media(max-width:1280px){
  #screen-menu #menuGrid.menu-v215-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:18px !important;}
}
@media(max-width:900px){
  #screen-menu #menuGrid.menu-v215-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:14px !important;}
  #screen-menu .menu-v215-body h3{font-size:24px !important;}
  #screen-menu .menu-v215-body p{font-size:10.5px !important;}
  #screen-menu .menu-v215-bottom>b{font-size:13px !important;}
}
@media(max-width:640px){
  #screen-menu #menuGrid.menu-v215-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:11px !important;}
  #screen-menu .menu-v215-card{border-radius:18px !important;}
  #screen-menu .menu-v215-media{aspect-ratio:1 / 1.18 !important;}
  #screen-menu .menu-v215-more{top:8px !important;right:8px !important;min-height:26px !important;padding:0 9px !important;font-size:7px !important;}
  #screen-menu .menu-v215-body{padding:12px 12px 11px !important;}
  #screen-menu .menu-v215-body h3{font-size:19px !important;min-height:2.06em !important;max-height:2.06em !important;}
  #screen-menu .menu-v215-body p{font-size:8.5px !important;line-height:1.4 !important;min-height:2.8em !important;max-height:2.8em !important;-webkit-line-clamp:2 !important;margin-top:7px !important;}
  #screen-menu .menu-v215-bottom{padding-top:11px !important;}
  #screen-menu .menu-v215-bottom>b{font-size:10px !important;}
  #screen-menu .menu-v215-add{width:36px !important;height:36px !important;flex-basis:36px !important;font-size:23px !important;}
  #screen-menu .menu-v215-media .menu-card-photo-empty img{width:50px !important;height:50px !important;}
  #screen-menu .menu-v215-media .menu-card-photo-empty span{left:9px !important;bottom:8px !important;font-size:6px !important;}
}
@media(max-width:360px){
  #screen-menu #menuGrid.menu-v215-grid{gap:8px !important;}
  #screen-menu .menu-v215-body{padding:10px 9px 9px !important;}
  #screen-menu .menu-v215-body h3{font-size:17px !important;}
  #screen-menu .menu-v215-body p{font-size:7.7px !important;}
  #screen-menu .menu-v215-bottom>b{font-size:9px !important;}
  #screen-menu .menu-v215-add{width:32px !important;height:32px !important;flex-basis:32px !important;font-size:20px !important;}
}
