
:root{--black:#050505;--soft:#111;--card:#171717;--cream:#f6f1ea;--muted:#bdb6ad;--orange:#f37021;--green:#071c12;--line:rgba(255,255,255,.13);--deliveroo:#00ccbc}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--cream);font-family:Inter,Arial,sans-serif}a{color:inherit;text-decoration:none}p{color:var(--muted);line-height:1.75}h1,h2,h3{margin:0 0 18px}h1,h2{font-family:"Playfair Display",serif;font-weight:800;letter-spacing:-.04em}h1{font-size:clamp(52px,8vw,112px);line-height:.92}h2{font-size:clamp(34px,5vw,72px);line-height:.95}h3{font-size:28px}.kicker{color:var(--orange);text-transform:uppercase;letter-spacing:.18em;font-weight:950;font-size:12px}.header{position:sticky;top:0;z-index:50;height:86px;background:rgba(5,5,5,.88);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center;padding:0 clamp(18px,6vw,90px)}.logo{display:block}.logo img{height:56px;width:auto;display:block}.nav{display:flex;gap:24px;align-items:center;justify-content:center;font-weight:950;text-transform:uppercase;font-size:13px;letter-spacing:.04em}.nav a:hover{color:var(--orange)}.book,.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--orange);color:#050505!important;border-radius:999px;padding:15px 24px;font-weight:950;text-transform:uppercase;letter-spacing:.04em;border:0}.btn.ghost{background:rgba(255,255,255,.06);color:var(--cream)!important;border:1px solid var(--line)}.btn.deliveroo,.deliveroo{background:var(--deliveroo)!important;color:#031312!important}.menu-toggle{display:none;background:none;border:0}.menu-toggle span{display:block;width:28px;height:2px;background:var(--cream);margin:6px 0}.hero,.page-hero{position:relative;overflow:hidden;padding:120px clamp(20px,7vw,110px);min-height:calc(100vh - 86px);display:flex;align-items:center}.hero.compact{min-height:720px}.hero-bg{position:absolute;inset:0;background:url("assets/hero.jpg") center/cover no-repeat}.hero-bg.multi:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,5,5,.95),rgba(5,5,5,.55),rgba(5,5,5,.94))}.shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,5,5,.9),rgba(5,5,5,.2),rgba(5,5,5,.75))}.hero-inner{position:relative;max-width:880px;z-index:2}.hero-inner p{font-size:21px;max-width:680px}.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}.ticker{overflow:hidden;background:var(--orange);color:#050505;padding:14px 0;font-family:Anton,Inter,sans-serif;text-transform:uppercase;font-size:clamp(24px,4vw,44px)}.ticker-track{display:inline-flex;gap:52px;width:max-content;animation:ticker 24s linear infinite}.ticker span{white-space:nowrap}@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}.section{padding:95px clamp(20px,7vw,110px);position:relative}.section-head{max-width:850px;margin-bottom:36px}.feature-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px}.feature-card,.menu-panel,.cards article,.order-card,.event-card,.mapbox,.product-grid article{background:linear-gradient(145deg,rgba(24,24,24,.96),rgba(7,7,7,.98));border:1px solid var(--line);border-radius:30px;overflow:hidden}.feature-card img,.product-grid img{width:100%;height:300px;object-fit:cover;display:block}.feature-card div,.cards article,.order-card,.event-card,.mapbox,.product-grid article{padding:28px}.reviews strong{color:var(--orange);font-size:22px}.cards{display:grid;gap:20px}.cards.three{grid-template-columns:repeat(3,1fr)}.cards.four{grid-template-columns:repeat(4,1fr)}.cards.locations{grid-template-columns:repeat(3,1fr)}.cards article.active{border-color:rgba(243,112,33,.65);background:linear-gradient(145deg,rgba(243,112,33,.13),rgba(7,7,7,.98))}.cards span,.cards strong{color:var(--orange);font-weight:950}.social{background:linear-gradient(135deg,rgba(8,34,22,.75),rgba(8,8,8,.95))}.page-hero{min-height:420px;background:radial-gradient(circle at 80% 0%,rgba(243,112,33,.16),transparent 34%)}.page-hero{display:block}.page-hero p{max-width:750px}.menu-split,.order-grid,.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.order-grid{grid-template-columns:1fr 1fr 1fr}.menu-panel{padding:32px}.html-menu,.product-grid,.masonry{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.masonry{grid-template-columns:1.2fr 1fr 1fr}.masonry img{width:100%;height:360px;object-fit:cover;border-radius:28px;border:1px solid var(--line)}.masonry img:first-child{grid-row:span 2;height:740px}.sport-hero{position:relative;min-height:calc(100vh - 86px);padding:100px clamp(20px,7vw,110px);background:url("assets/england-norway.jpg") center/cover no-repeat}.sport-inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr .8fr;gap:54px;align-items:center}.highlight{color:var(--orange)!important;font-weight:950}.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;max-width:560px;margin:28px 0}.countdown div{border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.06);text-align:center;padding:16px}.countdown strong{font-family:Anton;font-size:42px}.countdown span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;font-weight:950}.deliveroo-card{border-color:rgba(0,204,188,.5)}.mapbox{min-height:300px;display:flex;flex-direction:column;justify-content:center}.back-top{position:fixed;right:24px;bottom:24px;z-index:60;width:52px;height:52px;border-radius:50%;border:0;background:var(--orange);font-size:25px;font-weight:950;opacity:0;pointer-events:none;transition:.25s}.back-top.show{opacity:1;pointer-events:auto}.mobile-bar{display:none}.footer{border-top:1px solid var(--line);padding:36px clamp(20px,7vw,110px);display:flex;gap:22px;align-items:center;justify-content:space-between;flex-wrap:wrap}.footer img{height:46px}
@media(max-width:1000px){.menu-toggle{display:block}.header{grid-template-columns:auto 1fr auto}.nav{display:none;position:absolute;top:86px;left:14px;right:14px;background:#111;border:1px solid var(--line);border-radius:24px;flex-direction:column;padding:20px}.nav.open{display:flex}.feature-grid,.cards.three,.cards.four,.cards.locations,.menu-split,.order-grid,.contact-grid,.sport-inner,.html-menu,.product-grid,.masonry{grid-template-columns:1fr}.masonry img,.masonry img:first-child{height:auto}.countdown{grid-template-columns:repeat(2,1fr)}.hero,.page-hero{padding-top:90px}.logo img{height:44px}.mobile-bar{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;left:12px;right:12px;bottom:12px;z-index:70;background:rgba(10,10,10,.92);border:1px solid var(--line);border-radius:999px;overflow:hidden}.mobile-bar a{text-align:center;padding:14px 8px;font-weight:950;text-transform:uppercase;font-size:12px}.mobile-bar a:nth-child(2){background:var(--orange);color:#050505}.back-top{bottom:84px}.footer{padding-bottom:90px}}


/* V11 logo + social refinements */
.logo img {
  height: 50px;
  max-width: 135px;
  object-fit: contain;
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
}

.footer img {
  height: 44px;
  max-width: 130px;
  object-fit: contain;
  border: 0 !important;
  background: transparent !important;
}

.hero-logo-main {
  display: block;
  width: min(420px, 72vw);
  height: auto;
  margin: 0 0 34px;
  filter: drop-shadow(0 22px 45px rgba(0,0,0,.65));
}

.social-icons {
  display: flex;
  gap: 18px;
  align-items: center;
  margin-top: 28px;
}

.social-icons a {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}

.social-icons a:hover {
  transform: translateY(-3px);
  border-color: rgba(243,112,33,.7);
  background: rgba(243,112,33,.12);
}

.social-icons img {
  width: 30px;
  height: 30px;
  object-fit: contain;
}

@media(max-width:1000px){
  .hero-logo-main {
    width: min(300px, 76vw);
    margin-bottom: 26px;
  }
  .logo img {
    height: 42px;
    max-width: 115px;
  }
}


/* V12 major refinement */
.logo img, .footer img {
  content: url("assets/logo-clean.svg");
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.header {
  height: 82px;
}

.hero-logo-main {
  content: url("assets/logo-clean.svg");
  width: min(360px, 70vw);
}

.page-hero.tight {
  min-height: 260px;
  padding-top: 70px;
  padding-bottom: 42px;
}

.contact-hero {
  min-height: 230px !important;
}

.menu-downloads {
  padding-top: 48px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

.menu-download-card {
  background: linear-gradient(145deg,rgba(24,24,24,.96),rgba(7,7,7,.98));
  border: 1px solid var(--line);
  border-radius: 30px;
  padding: 32px;
}

.visible-menus {
  padding-top: 30px;
}

.menu-image-grid {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 26px;
}

.menu-image-grid article {
  background: #111;
  border: 1px solid var(--line);
  border-radius: 26px;
  padding: 18px;
}

.menu-image-grid img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 14px;
  background: #fff;
}

.product-menu-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 22px;
}

.food-card {
  background: linear-gradient(145deg,rgba(24,24,24,.96),rgba(7,7,7,.98));
  border: 1px solid var(--line);
  border-radius: 28px;
  overflow: hidden;
  padding-bottom: 24px;
}

.food-card img {
  width: 100%;
  height: 230px;
  object-fit: cover;
}

.food-card h3, .food-card p, .food-card strong, .food-card button {
  margin-left: 22px;
  margin-right: 22px;
}

.food-card strong, .product-grid strong {
  color: var(--orange);
  display: block;
  margin-bottom: 16px;
  font-size: 20px;
}

.food-card button, .product-grid button {
  background: var(--orange);
  color: #050505;
  border: 0;
  border-radius: 999px;
  padding: 13px 18px;
  font-weight: 950;
  text-transform: uppercase;
  cursor: pointer;
}

.order-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  padding-top: 45px;
}

.basket-panel {
  background: linear-gradient(145deg,rgba(24,24,24,.96),rgba(7,7,7,.98));
  border: 1px solid var(--line);
  border-radius: 30px;
  padding: 32px;
}

.basket-row {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
}

.basket-total {
  font-size: 24px;
  font-weight: 950;
  margin: 24px 0;
}

.small-note {
  font-size: 13px;
}

.sport-hero {
  background-image: url("assets/england-norway-premium.jpg") !important;
}

.page-buttons {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 32px;
}

.cards.locations {
  margin-top: -60px;
}

.review-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 20px;
}

.review-grid article {
  background: linear-gradient(145deg,rgba(24,24,24,.96),rgba(7,7,7,.98));
  border: 1px solid var(--line);
  border-radius: 28px;
  padding: 28px;
}

.review-grid strong {
  color: var(--orange);
  letter-spacing: .1em;
}

.home-cta {
  background: radial-gradient(circle at 80% 0%, rgba(243,112,33,.18), transparent 36%);
}

.real-map {
  padding: 0 !important;
  overflow: hidden;
}

.real-map iframe {
  width: 100%;
  height: 320px;
  border: 0;
  display: block;
  filter:none;
}

.real-map .btn {
  margin: 20px;
}

.social-icons {
  display: flex !important;
  gap: 18px;
  align-items: center;
  margin-top: 28px;
}

.social-icons a {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(255,255,255,.06);
}

.social-icons img {
  width: 30px;
  height: 30px;
}

.product-grid img {
  height: 360px;
  object-fit: cover;
  object-position: center;
}

@media(max-width:1000px){
  .menu-downloads,
  .menu-image-grid,
  .product-menu-grid,
  .order-layout,
  .review-grid {
    grid-template-columns: 1fr;
  }

  .cards.locations {
    margin-top: 0;
  }
}


/* V14 events and catering */
.cards.two {
  grid-template-columns: repeat(2, 1fr);
}

.private-hero {
  background:
    linear-gradient(90deg, rgba(5,5,5,.95), rgba(5,5,5,.72)),
    url("assets/cocktail.jpg") center/cover no-repeat;
}

.catering-hero {
  background:
    linear-gradient(90deg, rgba(5,5,5,.95), rgba(5,5,5,.68)),
    url("assets/hero.jpg") center/cover no-repeat;
}

.event-types article {
  min-height: 190px;
}

.enquiry-section {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 36px;
  align-items: start;
  background: radial-gradient(circle at 80% 0%, rgba(243,112,33,.14), transparent 36%);
}

.enquiry-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  background: linear-gradient(145deg,rgba(24,24,24,.96),rgba(7,7,7,.98));
  border: 1px solid var(--line);
  border-radius: 30px;
  padding: 28px;
}

.enquiry-form input,
.enquiry-form select,
.enquiry-form textarea {
  width: 100%;
  background: rgba(255,255,255,.06);
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 15px 16px;
  color: var(--cream);
  font: inherit;
}

.enquiry-form textarea {
  grid-column: 1 / -1;
  min-height: 130px;
}

.enquiry-form button {
  width: fit-content;
}

.catering-gallery {
  display: grid;
  grid-template-columns: 1.2fr .9fr .9fr;
  gap: 18px;
  padding-top: 40px;
}

.catering-gallery img {
  width: 100%;
  height: 380px;
  object-fit: cover;
  border-radius: 28px;
  border: 1px solid var(--line);
}

.event-catering-home .cards article {
  min-height: 280px;
}

.event-catering-home .btn {
  margin-top: 18px;
}

@media(max-width:1000px){
  .cards.two,
  .enquiry-section,
  .enquiry-form,
  .catering-gallery {
    grid-template-columns: 1fr;
  }
}


/* V15 fixes */
.logo img,
.footer img,
.hero-logo-main {
  content: url("assets/soho-logo-original-clean.png") !important;
  object-fit: contain;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.logo img {
  height: 54px !important;
  max-width: 155px !important;
}

.hero-logo-main {
  width: min(430px, 72vw) !important;
  max-height: 150px;
  margin-bottom: 28px;
}

.nav a[href="live-sport.html"] {
  display: none;
}

.cocktail-hero {
  background:
    linear-gradient(90deg, rgba(5,5,5,.96), rgba(5,5,5,.68)),
    url("assets/cocktail.jpg") center/cover no-repeat;
}

.v15-event {
  background-image: url("assets/england-norway-premium.jpg") !important;
}

.event-poster-card {
  background: linear-gradient(145deg, rgba(24,24,24,.96), rgba(7,7,7,.98));
  border: 1px solid var(--line);
  border-radius: 30px;
  padding: 18px;
}

.event-poster-card img {
  width: 100%;
  max-height: 690px;
  object-fit: contain;
  border-radius: 20px;
  display: block;
}

.review-scroll {
  display: flex;
  gap: 18px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding-bottom: 18px;
}

.review-scroll article {
  min-width: 360px;
  max-width: 380px;
  scroll-snap-align: start;
  background: linear-gradient(145deg,rgba(24,24,24,.96),rgba(7,7,7,.98));
  border: 1px solid var(--line);
  border-radius: 28px;
  padding: 28px;
}

.review-scroll strong {
  color: var(--orange);
  letter-spacing: .1em;
}

.review-scroll small {
  color: var(--muted);
  display: block;
  margin-top: -8px;
  margin-bottom: 14px;
}

.real-map iframe {
  filter: none !important;
}

.product-grid img {
  height: 390px !important;
  object-fit: cover;
}

.merch-products article {
  position: relative;
}

.merch-products article::after {
  content: "Personalisation available";
  position: absolute;
  top: 18px;
  right: 18px;
  background: var(--orange);
  color: #050505;
  font-weight: 950;
  font-size: 11px;
  padding: 8px 12px;
  border-radius: 999px;
}

.product-menu-grid {
  align-items: stretch;
}

.food-card {
  min-height: 100%;
}

@media(max-width:1000px){
  .review-scroll article {
    min-width: 82vw;
  }
  .nav {
    max-height: 75vh;
    overflow:auto;
  }
}


/* V17 — repaired navigation, reviews, spacing, checkout and event presentation */
.header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;padding:14px clamp(24px,5vw,76px);background:#050505;position:sticky;top:0;z-index:1000;border-bottom:1px solid rgba(255,255,255,.12)}
.logo{border:0!important;padding:0!important;background:transparent!important}.logo img{height:50px!important;width:120px!important;object-fit:contain!important;border:0!important;background:transparent!important}
.nav{display:flex;align-items:center;justify-content:center;gap:clamp(14px,1.8vw,28px);min-width:0}.nav>a,.nav-parent{color:#fff;text-decoration:none;font:800 13px/1.1 Inter,sans-serif;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap}.nav-parent{appearance:none;-webkit-appearance:none;background:transparent!important;border:0!important;padding:13px 0!important;cursor:pointer}.nav-parent span{color:var(--orange);margin-left:3px}.nav-group{position:relative}.nav-dropdown{display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);min-width:190px;background:#111;border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:8px;box-shadow:0 20px 50px rgba(0,0,0,.55);z-index:1200}.nav-group:hover .nav-dropdown,.nav-group.open .nav-dropdown{display:grid}.nav-dropdown a{padding:12px 14px;border-radius:10px;color:#fff;text-decoration:none;font-weight:750;white-space:nowrap}.nav-dropdown a:hover{background:rgba(243,112,33,.15);color:var(--orange)}.checkout-link{color:#fff!important}.cart-count{display:inline-grid;place-items:center;min-width:21px;height:21px;padding:0 6px;background:var(--orange);color:#050505;border-radius:999px;font-size:11px;margin-left:3px}.book{white-space:nowrap}
.hero-logo-main{width:min(400px,70vw)!important;max-height:130px!important;object-fit:contain!important;border:0!important;background:transparent!important}
.hero .actions{display:flex;gap:16px;flex-wrap:wrap}.hero .actions .btn{min-width:190px;text-align:center}
.feature-card img{width:100%;height:320px;object-fit:cover}.feature-grid{gap:18px}.section{padding-top:70px;padding-bottom:70px}.event-catering-home{padding-top:50px!important}.event-catering-home .cards{margin-top:28px}
.review-marquee{overflow:hidden;width:100%;padding:4px 0 14px;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}.review-track{display:flex;width:max-content;gap:16px;animation:reviewFlow 42s linear infinite;will-change:transform}.review-track article{width:330px;flex:0 0 330px;background:linear-gradient(145deg,#191919,#090909);border:1px solid rgba(255,255,255,.15);border-radius:24px;padding:24px}.review-track strong{color:var(--orange);font-size:19px}.review-track h3{margin:8px 0 5px}.review-track small{display:block;color:#bcb5ac;margin-bottom:14px}.review-track p{margin:0;line-height:1.6}@keyframes reviewFlow{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 8px))}}
.poster-hero{min-height:720px;background:linear-gradient(90deg,rgba(0,0,0,.9),rgba(0,0,0,.44)),url('assets/england-norway-poster.png') center/cover no-repeat!important;display:flex;align-items:center}.poster-hero .sport-inner{width:min(1200px,90%);margin:auto;display:block}.poster-hero .event-copy{max-width:670px}.poster-hero h1{font-size:clamp(64px,9vw,132px);line-height:.88;margin:18px 0}.poster-hero:before,.poster-hero:after{display:none!important}
.event-types{grid-template-columns:repeat(4,1fr)!important}.event-types article{min-height:0!important;padding:26px!important}.event-types h3{font-size:28px!important}.private-hero,.catering-hero{min-height:520px}.enquiry-section{padding-top:55px!important;padding-bottom:55px!important}
.checkout-hero{padding-bottom:35px!important}.checkout-shell{max-width:980px;margin:auto;padding-top:35px!important}.basket-selector{display:grid;gap:10px;max-width:360px;margin-bottom:24px;font-weight:800}.basket-selector select{appearance:none;background:#171717;color:#fff;border:1px solid rgba(255,255,255,.18);border-radius:14px;padding:15px 48px 15px 16px;font:700 16px Inter,sans-serif;background-image:linear-gradient(45deg,transparent 50%,var(--orange) 50%),linear-gradient(135deg,var(--orange) 50%,transparent 50%);background-position:calc(100% - 20px) 20px,calc(100% - 14px) 20px;background-size:6px 6px;background-repeat:no-repeat}.checkout-panel{display:none;background:linear-gradient(145deg,#181818,#090909);border:1px solid rgba(255,255,255,.14);border-radius:28px;padding:30px}.checkout-panel.active{display:block}.checkout-panel>label{display:grid;gap:8px;margin:22px 0;max-width:360px}.checkout-panel input{background:#171717;border:1px solid rgba(255,255,255,.18);border-radius:12px;color:#fff;padding:13px}.checkout-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.basket-row{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.1)}.remove-item{width:34px;height:34px;border:0;border-radius:50%;background:#2b2b2b;color:#fff;font-size:21px;cursor:pointer}.small-note{margin-top:16px;color:#aaa}
.footer img{border:0!important;background:transparent!important}.page-buttons{margin-top:22px}.social,.home-cta{padding-top:55px!important;padding-bottom:55px!important}
@media(max-width:1180px){.nav{gap:13px}.nav>a,.nav-parent{font-size:12px}.header{gap:18px;padding-left:24px;padding-right:24px}}
@media(max-width:900px){.header{grid-template-columns:auto auto 1fr}.menu-toggle{display:flex}.nav{display:none;position:absolute;top:100%;left:0;right:0;background:#070707;padding:14px 20px 22px;flex-direction:column;align-items:stretch;gap:0;max-height:75vh;overflow:auto}.nav.open{display:flex}.nav>a,.nav-parent{text-align:left;padding:14px 4px!important;font-size:15px}.nav-dropdown{position:static;transform:none;box-shadow:none;margin:0 0 8px;background:#101010}.book{justify-self:end}.section{padding-top:48px;padding-bottom:48px}.hero .actions{display:grid;grid-template-columns:1fr}.hero .actions .btn{width:100%;min-width:0}.event-types{grid-template-columns:1fr 1fr!important}.poster-hero{min-height:650px;background-position:center top!important}.poster-hero h1{font-size:64px}.review-track article{width:78vw;flex-basis:78vw}}
@media(max-width:600px){.logo img{width:105px!important}.event-types{grid-template-columns:1fr!important}.checkout-panel{padding:22px}.checkout-actions .btn{width:100%}.feature-card img{height:250px}.poster-hero h1{font-size:54px}}


/* V18 — mobile navigation and separated menu/order pages */
.menu-toggle {
  width: 48px !important;
  height: 48px !important;
  padding: 10px !important;
  align-items: center !important;
  justify-content: center !important;
  flex-direction: column !important;
  gap: 6px !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.04) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
}

.menu-toggle span {
  display: block !important;
  width: 27px !important;
  height: 3px !important;
  min-height: 3px !important;
  margin: 0 !important;
  border-radius: 999px !important;
  background: #fff !important;
  opacity: 1 !important;
}

.menu-choice-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
}

.menu-choice-card {
  background: linear-gradient(145deg,rgba(24,24,24,.96),rgba(7,7,7,.98));
  border: 1px solid var(--line);
  border-radius: 30px;
  padding: 30px;
  overflow: hidden;
}

.menu-preview-stack {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin: 26px 0;
}

.menu-preview-stack img {
  width: 100%;
  height: 430px;
  object-fit: cover;
  object-position: top;
  border-radius: 18px;
  border: 1px solid var(--line);
}

.text-link {
  color: var(--orange);
  font-weight: 850;
  text-transform: uppercase;
  font-size: 12px;
  padding: 12px 4px;
}

.menu-order-cta {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  align-items: end;
  background: radial-gradient(circle at 80% 20%, rgba(243,112,33,.14), transparent 38%);
}

.menu-order-cta > div:first-child {
  max-width: 720px;
}

.order-online-hero {
  background:
    linear-gradient(90deg,rgba(5,5,5,.96),rgba(5,5,5,.68)),
    url("assets/grill.jpg") center/cover no-repeat;
}

@media (max-width: 900px) {
  .header {
    grid-template-columns: auto 48px 1fr !important;
    gap: 14px !important;
    padding: 0 14px !important;
  }

  .menu-toggle {
    display: flex !important;
    justify-self: start !important;
  }

  .nav {
    top: 86px !important;
    left: 10px !important;
    right: 10px !important;
    max-height: calc(100vh - 110px) !important;
    border-radius: 18px !important;
    padding: 12px !important;
    box-shadow: 0 20px 60px rgba(0,0,0,.75) !important;
  }

  .nav.open {
    display: flex !important;
  }

  .nav-group,
  .nav > a {
    width: 100%;
  }

  .nav-parent,
  .nav > a {
    width: 100% !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
  }

  .nav-dropdown {
    width: 100% !important;
    min-width: 0 !important;
  }

  .menu-choice-grid,
  .menu-preview-stack {
    grid-template-columns: 1fr !important;
  }

  .menu-preview-stack img {
    height: auto !important;
  }

  .menu-order-cta {
    display: block !important;
  }
}

@media (max-width: 520px) {
  .logo img {
    width: 140px !important;
    height: auto !important;
  }

  .book {
    padding: 14px 20px !important;
    font-size: 14px !important;
  }
}
