.gallery-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(3, 1fr);
  justify-content: center;
}

@media (max-width: 900px) {
  .gallery-grid {
    grid-template-columns: 1fr;
  }
}

/* Fully isolated site header */
.site-header{
  position: fixed;
  inset: 0 0 auto;
  z-index: 500;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 72px;
  padding: 10px clamp(18px, 3.2vw, 46px);
  border: 0;
  border-bottom: 1px solid rgba(7,31,60,.1);
  background: #ffffff;
  color: #071f3c;
  box-shadow: none;
  filter: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  transform: none;
  opacity: 1;
}

.site-header::before,
.site-header::after,
.site-nav::before,
.site-nav::after{
  content: none;
  display: none;
}

.site-brand{
  display: flex;
  align-items: center;
  gap: 11px;
  min-height: 44px;
  padding: 0;
  color: #071f3c;
  text-decoration: none;
}

.site-brand-mark{
  display: grid;
  place-items: center;
  width: 58px;
  height: 46px;
  flex: 0 0 auto;
}

.site-brand-mark img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: none;
}

.site-brand-copy{
  display: grid;
  line-height: 1;
}

.site-brand-copy strong{
  color: #071f3c;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1.32rem;
  font-weight: 700;
  letter-spacing: .02em;
}

.site-brand-copy small{
  margin-top: 5px;
  color: #52717c;
  font-size: .58rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.site-nav{
  display: flex;
  align-items: center;
  gap: 3px;
  margin-left: auto;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  filter: none;
  backdrop-filter: none;
}

.site-nav a{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #243b43;
  font-size: .96rem;
  font-weight: 700;
  text-decoration: none;
  box-shadow: none;
  filter: none;
  transition: color .2s ease, background-color .2s ease;
}

.site-nav a::before,
.site-nav a::after{
  content: none;
  display: none;
}

.site-nav a:not(.btn):hover,
.site-nav a:not(.btn):focus-visible,
.site-nav a:not(.btn).is-active,
.site-nav a:not(.btn)[aria-current="page"]{
  border-radius: 999px;
  background: rgba(0,188,212,.1);
  color: #071f3c;
}

.site-nav .btn.primary{
  min-height: 42px;
  margin-left: 12px;
  padding-inline: 20px;
  border: 1px solid #071f3c;
  border-radius: 999px;
  background: #071f3c;
  color: #ffffff;
  box-shadow: none;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
}

.site-nav .btn.primary:hover,
.site-nav .btn.primary:focus-visible{
  border-color: #0b5270;
  background: #0b5270;
  color: #ffffff;
  transform: translateY(-1px);
}

@media (max-width: 767px){
  .site-header{
    min-height: 64px;
    padding-inline: 16px;
  }

  .site-nav{
    display: none;
  }

  .site-brand-mark{
    width: 50px;
    height: 40px;
  }

  .site-brand-copy strong{
    font-size: 1.16rem;
  }
}

@media (min-width: 768px){
  .site-header .hamburger{
    display: none;
  }
}

@media (max-width: 900px) {
  .gallery-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .gallery-grid {
    grid-template-columns: 1fr;
  }
}
.gallery-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  justify-content: center;
}

.gallery-card {
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 1px 6px rgba(44,62,80,0.10);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 180px;
  margin: 0 auto;
}

.gallery-card img {
  width: 100%;
  height: 120px;
  object-fit: cover;
  border-radius: 10px 10px 0 0;
}

.gallery-card-content {
  padding: 0.5rem 0.5rem 0.7rem 0.5rem;
  width: 100%;
  box-sizing: border-box;
  text-align: center;
}
.gallery-card-content h2 {
  font-size: 0.95rem;
  margin: 0.3em 0 0.2em 0;
}
.gallery-card-content p {
  font-size: 0.85rem;
  margin: 0;
  color: #666;
}
/* Use the same style as topbar 'Boka bord' button for all .section-cta .btn.primary */
.section-cta .btn.primary:hover,
.section-cta .btn.primary:focus {
  background: #e3e1dc !important;
  color: #222 !important;
  box-shadow: 0 4px 16px rgba(0,188,212,0.10);
  transform: translateY(-2px) scale(1.04);
}
.section-cta {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 18px;
  margin-bottom: 8px;
  width: 100%;
  position: relative;
  z-index: 100;
}
@media (min-width: 768px) {
  .section-cta {
    margin-top: 24px;
    margin-bottom: 12px;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    position: relative !important;
    z-index: 999 !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
}
.lightbox img.square {
  max-width: 70vw;
  max-height: 70vh;
  width: auto;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
.lightbox-img-container {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
@media (max-width: 480px) {
  .gallery-card {
    border-radius: 10px;
    box-shadow: 0 1px 6px rgba(44,62,80,0.10);
    margin: 0 0.5rem;
    max-width: 480px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .gallery-card img {
    width: 100%;
    max-width: 480px;
    height: auto;
    max-height: 240px;
    object-fit: cover;
    flex: 1 1 auto;
    display: block;
  }
  .gallery-card-content {
    padding: 0.8rem 0.5rem 0.8rem 0.5rem;
    width: 100%;
    box-sizing: border-box;
  }
  .gallery-card-content h2 {
    font-size: 1rem;
  }
  .gallery-card-content p {
    font-size: 0.95rem;
  }
  .hero-overlay {
    display: block !important;
  }
  .hero-overlay,
  section.hero-overlay {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    min-height: 120px;
  }
  .hero-overlay {
    display: block !important;
    margin-top: 18px !important;
    margin-bottom: 0 !important;
  }
  #hero-overlay .container {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}
/* ====== Design tokens ====== */
:root{
  --bg:#ffffff; --ink:#111; --muted:#666; --line:#e9e9e9;
  --accent:#00bcd4; --accent-ink:#00353c;
  --radius:18px; --gap:16px; --shadow:0 6px 24px rgba(0,0,0,.08);
  --bp-sm:480px; --bp-md:768px; --bp-lg:1024px; --bp-xl:1280px;
  --topbar-height: 64px; /* dynamiskt uppdaterat av JS */
}

*{box-sizing:border-box}
html,body{height:100%}

.motion-ready .hero-copy,
.motion-ready .hero-logo-img,
.motion-ready .card,
.motion-ready .btn,
.motion-ready .lunch-dot,
.motion-ready .social-chip,
.motion-ready .section-bleed .reveal > *{
  will-change: transform, opacity;
}

.motion-ready .card,
.motion-ready .btn,
.motion-ready .lunch-dot,
.motion-ready .social-chip{
  transform: translateZ(0);
}

.motion-ready .hero-logo-img{
  filter: none;
}

.motion-ready .section-bleed::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% 45%, rgba(255,255,255,.12), transparent 28%),
    linear-gradient(180deg, rgba(0,0,0,.16), rgba(0,0,0,.32));
  opacity:.72;
}

h1, h2, h3{
  font-family:"Playfair Display", serif;
  font-weight:700;
  line-height:1.2;
  margin:0 0 .5em;
}

/* Fluid, elegant sizes for headings */
h1{ font-size:clamp(2rem, 1.4rem + 2vw, 3rem); letter-spacing:0; }
h2{ font-size:clamp(1.5rem, 1.2rem + 1vw, 2.25rem); letter-spacing:0; }
h3{ font-size:clamp(1.25rem, 1.05rem + 0.6vw, 1.6rem); }
body{
  margin:0; font-family:"Source Sans 3", system-ui, -apple-system, Segoe UI, Helvetica, Arial, sans-serif;
  color:var(--ink); background:var(--bg); line-height:1.65;
  text-rendering:optimizeLegibility;
  padding-top: calc(var(--topbar-height) + 44px + 16px); /* topbar + ticker + lite mellanrum */
}

h1{font-size:clamp(28px,6vw,56px); line-height:1.05; margin:0 0 12px; font-weight:800; letter-spacing:0}
h2{font-size:clamp(22px,3.6vw,32px); margin:.2rem 0 .6rem; font-weight:800}
h3{font-size:clamp(18px,2.2vw,22px); margin:.2rem 0 .2rem; font-weight:700}
.lead{font-size:clamp(16px,2.2vw,18px); color:var(--muted)}
.muted{color:var(--muted)} .sm{font-size:.9rem}

.container{width:min(1120px,100% - 32px); margin-inline:auto; padding:32px 0}
.two{display:grid; gap:var(--gap)}
@media (min-width:768px){ .two{grid-template-columns:1fr 1fr} }

/* ====== Topbar ====== */
.topbar{
  position:fixed;
  top:0; left:0; right:0;
  z-index:50;
  /* Make header fully opaque */
  background: #f5f5f5;
  /* use a subtle shadow instead of backdrop blur for separation */
  box-shadow: 0 6px 18px rgba(0,0,0,0.06);
  display:flex; align-items:center; justify-content:space-between;
  gap:12px; padding:10px 16px; border-bottom:1px solid var(--line);
  backdrop-filter: none;
}
.brand{font-weight:800; font-size:20px; text-decoration:none; color:var(--ink); display:flex; gap:8px; align-items:center}
.nav-desktop{display:none; gap:16px; align-items:center}
.nav-desktop a, .drawer-nav a {
  border-radius: 999px !important;
  padding: 8px 18px !important;
  transition: background 0.2s, color 0.2s;
}
.nav-desktop a:hover, .drawer-nav a:hover {
  background: var(--line);
  color: var(--accent);
}
.nav-desktop a{color:var(--ink); text-decoration:none; padding:8px 10px; border-radius:0}
.nav-desktop a:hover{background:#e3e1dc; color:#2d4a4a}
.hamburger{display:grid; gap:4px; border:0; background:transparent; padding:8px}
.hamburger .bar {
  width: 24px;
  height: 2.5px;
  background: var(--ink);
  display: block;
  border-radius: 2px;
  transition: all 0.3s cubic-bezier(.4,0,.2,1);
}
.hamburger.active .bar:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}
.hamburger.active .bar:nth-child(2) {
  opacity: 0;
}
.hamburger.active .bar:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

/* Desktop nav synlig på md+ */
@media (min-width:768px){ .nav-desktop{display:flex} .hamburger{display:none} }

/* ====== Drawer (mobil) ====== */
.drawer{position:fixed; inset:0 0 0 auto; width:min(82vw,360px); transform:translateX(100%);
  top: 0; left: 0; right: 0; bottom: auto;
  width: 100vw;
  max-width: 480px;
  height: auto;
  min-height: 220px;
  transform: translateY(-100%);
  background: #f2f3ee;
  box-shadow: 0 8px 32px rgba(0,0,0,0.10);
  transition: transform .3s cubic-bezier(.4,0,.2,1);
  z-index: 9999;
  padding: 32px 16px 24px 16px;
  border-radius: 0 0 24px 24px;
  margin: 0 auto;
  left: 50%;
  transform: translate(-50%, -100%);
  display: flex;
  flex-direction: column;
  align-items: center;
}
.drawer.open {
  transform: translate(-50%, 0);
}
.drawer-close{position:absolute; right:8px; top:8px; border:0; background:#f2f3ee; font-size:22px}
.drawer-nav {
  display: flex;
  flex-direction: column;
  gap: 18px;
  margin-top: 24px;
  align-items: center;
}
.drawer-nav a {
  padding: 14px 24px;
  text-decoration: none;
  color: var(--ink);
  border-radius: 999px;
  font-size: 1.15rem;
  text-align: center;
  width: 100%;
  max-width: 320px;
}
.drawer-nav a:hover{background:#e3e1dc; color:#2d4a4a}
.backdrop{position:fixed; inset:0; background:rgba(0,0,0,.28); z-index:9998}

/* App-like mobile drawer */
.drawer[data-upgraded="true"]{
  inset: 0 0 auto 0;
  left: 50%;
  width: min(100vw - 16px, 460px);
  max-width: 460px;
  max-height: calc(100dvh - 16px);
  min-height: 0;
  padding: 0;
  overflow: hidden;
  align-items: stretch;
  border-radius: 0 0 26px 26px;
  background: rgba(242,243,238,.98);
  box-shadow: 0 24px 70px rgba(0,0,0,.28);
  backdrop-filter: blur(18px);
}

.drawer:not(.open){
  visibility: hidden;
  pointer-events: none;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.drawer.open{
  visibility: visible;
  pointer-events: auto;
}

@media (min-width: 768px){
  .drawer,
  .backdrop{
    display: none !important;
  }
}

.drawer-app-shell{
  display: grid;
  gap: 12px;
  max-height: calc(100dvh - 16px);
  overflow-y: auto;
  padding: 16px;
  overscroll-behavior: contain;
}

.drawer-app-head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 2px 2px;
}

.drawer-app-head strong{
  display: block;
  font-family: "Playfair Display", serif;
  font-size: 1.55rem;
  line-height: 1.05;
}

.drawer-app-eyebrow{
  display: block;
  color: var(--muted);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.drawer[data-upgraded="true"] .drawer-close{
  position: static;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 8px 20px rgba(0,0,0,.08);
  line-height: 1;
}

.drawer-booking{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px;
  border-radius: 18px;
  background: #00bcd4;
  color: #00353c;
  text-decoration: none;
  box-shadow: 0 14px 28px rgba(0,188,212,.22);
}

.drawer-booking span,
.drawer-booking strong{
  display: block;
}

.drawer-booking span{
  font-size: 1.12rem;
  font-weight: 900;
}

.drawer-booking strong{
  font-size: .92rem;
}

.drawer-status{
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 13px 14px;
  border: 1px solid rgba(0,0,0,.07);
  border-radius: 16px;
  background: #fff;
}

.drawer-status strong,
.drawer-status span{
  display: block;
}

.drawer-status strong{
  line-height: 1.2;
}

.drawer-status span:last-child{
  color: var(--muted);
  font-size: .92rem;
  line-height: 1.3;
}

.drawer-status-dot{
  width: 12px;
  height: 12px;
  border-radius: 50%;
  flex: 0 0 auto;
  background: #ff6b6b;
  box-shadow: 0 0 0 6px rgba(255,107,107,.14);
}

.drawer-status.is-open .drawer-status-dot{
  background: #22c55e;
  box-shadow: 0 0 0 6px rgba(34,197,94,.16), 0 0 18px rgba(34,197,94,.35);
}

.drawer-quick-actions,
.drawer-social{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}

.drawer-quick-actions a,
.drawer-social a{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 8px 10px;
  border: 1px solid rgba(0,0,0,.07);
  border-radius: 14px;
  background: #fff;
  color: var(--ink);
  font-weight: 800;
  text-decoration: none;
  text-align: center;
}

.drawer[data-upgraded="true"] .drawer-nav{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 0;
  width: 100%;
}

.drawer[data-upgraded="true"] .drawer-nav a{
  display: grid;
  gap: 2px;
  width: auto;
  max-width: none;
  min-height: 68px;
  padding: 13px 14px !important;
  border: 1px solid rgba(0,0,0,.07);
  border-radius: 16px !important;
  background: #fff;
  text-align: left;
}

.drawer[data-upgraded="true"] .drawer-nav a span{
  color: var(--ink);
  font-size: 1rem;
  font-weight: 900;
  line-height: 1.2;
}

.drawer[data-upgraded="true"] .drawer-nav a small{
  color: var(--muted);
  font-size: .82rem;
  font-weight: 700;
}

.drawer-hours{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px 10px;
  padding: 14px;
  border-radius: 16px;
  background: #172124;
  color: #fff;
}

.drawer-hours strong{
  grid-column: 1 / -1;
  color: #fff;
}

.drawer-hours span{
  color: rgba(255,255,255,.78);
  font-size: .92rem;
}

.drawer-social{
  grid-template-columns: 1fr 1fr;
}

@media (max-width: 380px){
  .drawer-app-shell{
    padding: 12px;
  }

  .drawer[data-upgraded="true"] .drawer-nav{
    grid-template-columns: 1fr;
  }
}

/* ====== Buttons ====== */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:8px;
  height:44px; padding:0 16px; border-radius:999px; border:1px solid var(--line); text-decoration:none; color:var(--ink);}
.btn.primary{background:var(--accent); color:var(--accent-ink); border-color:transparent}
.btn.outline{background:#f2f3ee}
.btn.block{width:100%}

@media (min-width:768px){  }

/* ====== Hero ====== */
.hero{display:grid; gap:28px; align-items:center}
/* Always show hero section on mobile */
.hero-overlay {
  display: block !important;
}
.hero-media{position:relative}
.hero-media img{width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:22px}
.hero-frame{position:absolute; inset:12% 12% 12% 12%; border:3px solid #fff; border-radius:18px; pointer-events:none; mix-blend-mode:overlay}
.eyebrow{letter-spacing:.12em; text-transform:uppercase; font-weight:600; font-size:.85rem; color:var(--muted)}
.hero-ctas{display:flex; gap:12px; margin-top:10px}
@media (min-width:768px){ .hero{grid-template-columns:1.1fr 1fr} }

/* ====== Tabs, filters ====== */
.tabs{
  display: flex;
  gap: 8px;
  align-items: center;
  border-bottom: 1px solid var(--line);
  margin-bottom: 12px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x proximity;
  width: 100%;
  min-width: 0;
  scrollbar-width: none; /* Firefox */
}
.tabs::-webkit-scrollbar {
  display: none; /* Chrome, Safari, Opera */
}
.tab{appearance:none; background:transparent; border:0; padding:12px 10px; font-weight:700; position:relative; cursor:pointer}
.tab{color:var(--ink);}
.tab.active{color:var(--ink);}
.tab.active::after{content:""; position:absolute; left:8px; right:8px; bottom:-1px; height:3px; background:var(--accent); border-radius:2px}









/* ====== Cards ====== */
.cards{display:grid; gap:var(--gap); grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.card{background:#f5f5f5 !important; border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); overflow:hidden; display:flex; flex-direction:column}
.card img{width:100%; aspect-ratio:4/3; object-fit:cover}
.card .pad{padding:14px}
.badges{display:flex; gap:6px; flex-wrap:wrap}
.badge{font-size:.75rem; padding:4px 8px; border-radius:999px; background:#f4f8f9; border:1px solid #dfeef1}
.price{font-weight:800}
.card .row{display:flex; justify-content:space-between; align-items:center; gap:8px}
.avail{font-size:.8rem; color:#b00}

/* ====== Empty state ====== */
.empty{padding:32px; text-align:center; color:var(--muted)}

/* ====== Modal ====== */
.modal{border:0; border-radius:18px; max-width:min(920px,96vw); width:100%}
.modal::backdrop{background:rgba(0,0,0,.35)}
.modal-content{display:grid; gap:0}
.modal img{width:100%; height:auto; aspect-ratio:4/3; object-fit:cover}
.modal-body{padding:16px}
.modal-close{position:absolute; top:8px; right:8px; border:0; background:#fff; width:36px; height:36px; border-radius:999px; box-shadow:var(--shadow)}
.price-row{display:flex; justify-content:space-between; align-items:center; margin-top:8px}
@media (min-width:768px){
  .modal-content{grid-template-columns:1.2fr 1fr}
}

/* ====== Cards/sections helpers ====== */
.card.soft{padding:16px}
.map{width:100%; min-height:260px; border:1px solid var(--line); border-radius:var(--radius)}

/* ====== Footer ====== */
.footer{
  padding:28px 16px; 
  text-align:center; 
  background: linear-gradient(135deg, #1a2332 0%, #2d4a66 100%);
  color: #f7fafd;
  border-top: none;
  margin-top: 60px;
  position: relative;
}

.footer::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, #00bcd4 50%, transparent 100%);
}

/* Footer with columns */
.footer-content {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  margin: 0 auto 24px auto;
  max-width: min(1120px, 100% - 32px);
  text-align: left;
}

.footer-section h3 {
  margin: 0 0 12px 0;
  font-size: 1.1rem;
  font-weight: 600;
  color: #f7fafd;
}

.footer-section p,
  .footer-section li {
  margin: 6px 0;
  font-size: 0.9rem;
  color: #f7fafd !important;
  color: #eaf2fa;
  color: var(--muted);
}

.footer-section a {
  color: #f7fafd !important;
  text-decoration: none;
  transition: color 0.2s ease;
}

.footer-section a:hover {
  color: var(--accent-ink);
  text-decoration: underline;
}

/* Social media chips */
.social {
  display: flex;
  flex-direction: column;
  gap: 8px;
  justify-content: center;
  align-items: center;
}

.social-chip {
  display: inline-block;
  padding: 6px 12px;
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff !important;
  text-decoration: none;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 999px;
  font-size: 0.9rem;
  font-weight: 400;
  transition: all 0.2s ease;
  backdrop-filter: blur(10px);
}

.social-chip:hover {
  background: #7db7b7;
  border-color: #2d4a4a;
  color: #f2f3ee !important;
  text-decoration: none;
  transform: translateY(-1px);
}

.footer-bottom {
  display: grid;
  justify-items: center;
  gap: 14px;
  padding-top: 4px;
  text-align: center;
}

.footer-bottom p {
  margin: 0;
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.7);
}

.designer-credit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: auto;
  padding-top: 16px;
  padding-inline: 10px;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  transition: opacity 0.2s ease;
}

.designer-logo {
  display: block;
  width: 54px;
  height: auto;
}

.designer-copy {
  display: grid;
  gap: 2px;
  text-align: left;
  line-height: 1;
  text-transform: uppercase;
}

.designer-copy span {
  color: rgba(255, 255, 255, 0.62);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.16em;
}

.designer-copy strong {
  color: #f7fafd;
  font-size: 1.02rem;
  font-weight: 900;
  letter-spacing: 0.18em;
}

.designer-copy .designer-yes {
  color: #b8bcc4;
  font: inherit;
  letter-spacing: inherit;
}

.designer-credit:hover {
  opacity: 0.8;
  text-decoration: none;
}

.pulse-red {
  animation: pulseRed 2s ease-in-out infinite;
}

@keyframes pulseRed {
  0% {
    color: #ff4444;
    text-shadow: 0 0 5px rgba(255, 68, 68, 0.5);
  }
  50% {
    color: #ff6666;
    text-shadow: 0 0 10px rgba(255, 68, 68, 0.8);
  }
  100% {
    color: #ff4444;
    text-shadow: 0 0 5px rgba(255, 68, 68, 0.5);
  }
}

/* Mobile footer layout - centered and stacked */
@media (max-width: 768px) {
  .footer-content {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    text-align: center !important;
  }
  
  .footer-section {
    text-align: center !important;
  }
  
  .footer-section:first-child,
  .footer-section:last-child {
    text-align: center !important;
  }
  
  .footer-section h3 {
    text-align: center !important;
    margin-bottom: 16px !important;
  }
  
  .footer-section p,
  .footer-section li {
    text-align: center !important;
  }
  
  .footer-section ul {
    text-align: center !important;
  }
  
  .social {
    align-items: center !important;
    justify-content: center !important;
  }
}

/* Motion preferences */
@media (prefers-reduced-motion:reduce){
  *{animation:none!important; transition:none!important}
}

/* Full-bleed sektion med bakgrundsbild via CSS-var */
.section-bleed{ position:relative; isolation:isolate; }
.section-bleed::before{
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-image: var(--bg-img, none);
  background-size: var(--bg-size, cover);
  background-position: var(--bg-pos, center);
  background-repeat: no-repeat;
  filter: saturate(var(--bg-sat, 1.05));
  opacity: var(--bg-opacity, 1);
  transition: background-position .25s linear;
}

.section-bleed.scrub::before{
  background-image: none;
}

/* HERO: bakgrundsbild + toning (byt till dina filer) */
.bg-hero.photo{
  --bg-img:
    linear-gradient(135deg, rgba(255,180,87,.16), rgba(57,182,255,.10) 60%),
    image-set(url("/images/bg-hero.avif") 1x, url("/images/bg-hero@2x.avif") 2x);
  --bg-pos: center 35%;
  --bg-size: cover;
}

/* Glas-ytan runt stora texten */
.surface-glass{
  background:rgba(255,255,255,.55);
  backdrop-filter: blur(8px);
  border: none;
  border-radius: var(--radius);
  padding:16px;
}
:root[color-scheme="dark"] .surface-glass{
  background:rgba(15,18,20,.50);
}

/* Finjustera layout i hero när glas används */
.hero{ gap:22px; }
@media (min-width:768px){
  .hero{ grid-template-columns:1.1fr 1fr; }
  .hero-copy.surface-glass{ padding:24px; }
}


/* ====== Language switcher ====== */
.lang-switch{display:flex; gap:8px; align-items:center}
.btn.lang{height:36px; padding:0 12px; font-weight:700}
.btn.lang.active{background:var(--ink); color:#fff; border-color:var(--ink)}
.social{margin-bottom:8px}
#recensioner blockquote{margin:0 0 8px; padding-left:12px; border-left:3px solid var(--line)}

/* ===== Mobile-friendly tabs & helpers (added) ===== */
.sr-only{
  position:absolute !important; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}
.tabs{ overflow-x:auto; -webkit-overflow-scrolling:touch; scroll-snap-type:x proximity; padding-bottom:4px; }
.tab{ scroll-snap-align:start; flex:0 0 auto; }
.tabs-mobile{ display:block; margin:8px 0 12px; }
#tab-select{ width:100%; height:44px; border:1px solid var(--line); border-radius:12px; padding:0 12px; background:#fff; }
@media (min-width:768px){ .tabs-mobile{ display:none; } }
.hidden{ display:none !important; }


.category-note{margin-top:8px;font-style:italic;}


/* Kategorinotering under respektive grid */
.cat-note{ margin:6px 2px 16px; }

/* ====== Dagens lunch sektion under hero ====== */
.dagens-lunch-under-hero{
  padding-top: 40px; /* Reduced padding to make section shorter */
  padding-bottom: 40px; /* Reduced padding bottom too */
  margin-top: 300px; /* Much larger margin to push section way down */
  
  /* Make lunch container same width as hero container */
  width: min(1120px, 100% - 32px); /* Same as standard container */
  margin-left: auto;
  margin-right: auto;
  
  /* Bakgrundsgradient som matchar hemsidans stil */
  background: linear-gradient(135deg, 
    rgba(255,180,87,.12) 0%, 
    rgba(57,182,255,.08) 60%, 
    rgba(255,255,255,.95) 100%
  );
  border-radius: var(--radius);
  backdrop-filter: blur(4px);
  border: 1px solid rgba(0,0,0,.04);
}
.dagens-header{
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 8px;
  margin-bottom: 10px;
}
.dagens-title{
  margin: 0;
  font-size: clamp(20px, 3.5vw, 28px);
}

/* ====== Ticker (rullande banderoll) ====== */
:root{
  --sticky-offset: 56px; /* ändra till din headerhöjd om det behövs */
}

.ticker{
  position: fixed;
  top: var(--topbar-height);
  left: 0; 
  right: 0;
  z-index: 45; /* under topbar men över vanligt innehåll */
  width: 100%;
  border: 1px solid var(--line, #e5e7eb);
  border-radius: 0; /* Ta bort rundning för att matcha topbar */
  background: #fff;
  overflow: hidden;
  height: 44px;
  display: flex;
  align-items: center;
}

.ticker__label{
  flex: 0 0 auto;
  padding-inline: 12px;
  font-weight: 700;
  white-space: nowrap;
  background: #fff;
  border-right: 1px solid var(--line, #e5e7eb);
}

.ticker__track{
  display: inline-flex;
  white-space: nowrap;
  will-change: transform;
  animation: ticker-scroll var(--ticker-speed, 28s) linear infinite;
  gap: 64px;
  padding-inline: 16px;
  font-weight: 700;
}

.ticker__item{
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: clamp(14px, 2.6vw, 18px);
  padding: 0 24px 0 0; /* Extra padding till höger för separation */
  position: relative;
}

.ticker__item:not(:last-child)::after {
  content: '';
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 2px;
  height: 20px;
  background: var(--line, #e5e7eb);
  opacity: 0.6;
}

.ticker__chunk {
  display: inline-flex;
  gap: 64px;
}

.ticker__dot{
  width: 6px; height: 6px; border-radius: 50%; background: var(--accent, #0ea5e9);
  flex: 0 0 6px;
}

.ticker:hover .ticker__track,
.ticker:focus-within .ticker__track{ animation-play-state: paused; }

@media (prefers-reduced-motion: reduce){
  .ticker__track{ animation: none; }
}

@media (max-width: 640px){
  .dagens-header{ 
    flex-direction: column; 
    gap: 6px; 
    text-align: center;
    align-items: center;
  }
  .ticker{ height: 40px; }
  .ticker__track{ gap: 40px; }
  .ticker__chunk{ gap: 40px; }
  .ticker__item{ 
    padding: 0 16px 0 0; 
    font-size: clamp(13px, 2.4vw, 16px);
  }
  .ticker__item:not(:last-child)::after {
    right: 8px;
    height: 16px;
  }
}

/* Själva scrollen (kör från 0 till -50% eftersom vi dubblar innehållet) */
@keyframes ticker-scroll{
  from{ transform: translateX(0); }
  to{ transform: translateX(-50%); }
}

/* ==== Ticker layering fix: viewport prevents overlap with label ==== */
.ticker{
  position: fixed;
  top: var(--topbar-height);
  left: 0;
  right: 0;
  z-index: 45;
  width: 100%;
  border: 1px solid var(--line, #e5e7eb);
  border-radius: 0; /* Ta bort rundning för att matcha topbar */
  background: #fff;
  display: flex;
  align-items: center;
  overflow: hidden;
  height: 44px;
}
.ticker__label{
  flex: 0 0 auto;
  padding-inline: 12px;
  font-weight: 700;
  white-space: nowrap;
  background: #fff;
  border-right: 1px solid var(--line, #e5e7eb);
  position: relative;
  z-index: 2; /* sits above viewport content */
}
.ticker__viewport{
  position: relative;
  flex: 1 1 auto;
  overflow: hidden;        /* clipping area for the scroll */
  min-width: 0;            /* allow shrink */
}
.ticker__track{
  display: inline-flex;
  white-space: nowrap;
  will-change: transform;
  animation: ticker-scroll var(--ticker-speed, 28s) linear infinite;
  gap: 64px;
  padding-inline: 16px;
  font-weight: 700;
}
.ticker__item{
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: clamp(14px, 2.6vw, 18px);
}
.ticker__dot{
  width: 6px; height: 6px; border-radius: 50%; background: var(--accent, #0ea5e9);
  flex: 0 0 6px;
}
.ticker:hover .ticker__track,
.ticker:focus-within .ticker__track{ animation-play-state: paused; }
@media (prefers-reduced-motion: reduce){
  .ticker__track{ animation: none; }
}
@media (max-width: 640px){
  .ticker{ height: 40px; }
  .ticker__track{ gap: 40px; }
}
@keyframes ticker-scroll{
  from{ transform: translateX(0); }
  to{ transform: translateX(-50%); }
}

/* Mobil: label överst, track under */
@media (max-width: 640px){
  .ticker{
    flex-direction: column;
    align-items: stretch;
    height: auto;
  }
  .ticker__label{
    width: 100%;
    border-right: 0;
    border-bottom: 1px solid var(--line, #e5e7eb);
    position: relative;
    z-index: 1;              /* normal stacking */
    padding-block: 8px;
  }
  .ticker__viewport{
    width: 100%;
    overflow: hidden;
  }
  .ticker__track{
    gap: 32px;               /* tighten spacing for small screens */
    padding-block: 8px;
  }
}
.ticker{
  position: sticky;
  top: 0;             /* fastnar direkt under headern */
  z-index: 49;        /* header kan ligga t.ex. 50 */
  display: flex;
  align-items: center;
  height: 44px;
  width: 100%;
  background: #fff;
  border-bottom: 1px solid var(--line, #e5e7eb);
  overflow: hidden;
}
.ticker__label{
  flex: 0 0 auto;
  padding-inline: 12px;
  font-weight: 700;
  white-space: nowrap;
  background: #fff;
  z-index: 2;
  border-right: 1px solid var(--line, #e5e7eb);
}
.ticker__viewport{
  flex: 1 1 auto;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
.ticker__track{
  display: inline-flex;
  white-space: nowrap;
  animation: ticker-scroll var(--ticker-speed, 28s) linear infinite;
  gap: 64px;
  padding-inline: 16px;
}
@keyframes ticker-scroll{
  from{ transform: translateX(0); }
  to{ transform: translateX(-50%); }
}

/* Mobil: label överst, track under */
@media (max-width: 640px){
  .ticker{
    flex-direction: column;
    align-items: stretch;
    height: auto;
  }
  .ticker__label{
    width: 100%;
    border-right: 0;
    border-bottom: 1px solid var(--line, #e5e7eb);
    padding-block: 8px;
  }
  .ticker__track{
    gap: 32px;
    padding-block: 8px;
  }
}
@media (max-width: 640px){
  .ticker{
    flex-direction: column;
    align-items: stretch;
    height: auto;
  }

  .ticker__label{
    width: 100%;
    text-align: center;     /* ⬅️ centrera texten */
    border-right: 0;
    border-bottom: 1px solid var(--line, #e5e7eb);
    padding-block: 8px;
  }

  .ticker__track{
    gap: 32px;
    padding-block: 8px;
  }
}
/* ====== Lunch slider ====== */
.lunch-slider{
  position: relative;
  margin: 16px 0 12px; /* Ta bort sidopadding för maximal bredd */
  padding: 0; /* Ta bort extra padding */
}
.lunch-viewport{
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  border:1px solid var(--line);
  border-radius: var(--radius);
  background:#fff;
}
.lunch-viewport:focus{ outline: 2px solid var(--accent); outline-offset: 2px; }
.lunch-track{
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 100%;
}
.lunch-slide{
  scroll-snap-align: start;
  padding: 12px;
}
.lunch-slide h3{
  margin: 0 0 10px;
  font-weight: 800;
}

.lunch-dots{
  display:flex; gap:8px; align-items:center; justify-content:center;
  margin: 32px 0 8px; /* Ännu mer margin-top för att flytta knapparna längre ner */
  flex-wrap: wrap;
}
.lunch-dot{
  height: 32px; padding: 0 10px; border-radius: 999px;
  border:1px solid var(--line); background:#fff; cursor:pointer;
  font-weight:700; font-size:.95rem;
}
.lunch-dot[aria-selected="true"]{
  background:var(--accent); color:#fff; border-color:transparent;
}

/* Gör korten lite tätare i slider */
.lunch-slide .cards{ gap: 12px; }


/* ===== Parallax text / läsbarhet ===== */
.section-bleed{ min-height:100vh; display:flex; align-items:center; overflow:hidden; }
.section-bleed { margin-bottom: 0 !important; }
.section-bleed .reveal{ 
  text-align:center; color:#fff; 
  text-shadow:0 2px 8px rgba(0,0,0,.6);
  max-width: 760px; margin: 0 auto; padding: clamp(12px,3vw,24px);
}
.section-bleed .reveal h2{ font-size:clamp(32px,5.2vw,64px); margin:0; }
.section-bleed .reveal .lead{ font-size:clamp(18px,2.4vw,22px); line-height:1.6; }

/* Mobile optimization - less stretching */
@media (max-width: 768px) {
  .section-bleed { 
    min-height: 60vh; /* Mindre höjd på mobil */
    padding: 20px 0; /* Lite padding istället för full viewport */
  }
  
  .section-bleed .reveal {
    padding: clamp(16px, 4vw, 32px);
  }
  
  .section-bleed .reveal h2 {
    font-size: clamp(24px, 6vw, 42px); /* Mindre text på mobil */
    #underhallning .reveal h2 {
      font-size: 1.45rem !important;
      line-height: 1.2 !important;
      margin-bottom: 8px !important;
    }
    #underhallning .reveal p.lead {
      font-size: 1.1rem !important;
      line-height: 1.3 !important;
      margin-bottom: 8px !important;
    }
    #underhallning .section-cta {
      margin-top: 0 !important;
      margin-bottom: 0 !important;
      display: flex !important;
      justify-content: center !important;
      align-items: center !important;
    }
  .section-bleed .reveal h2,
  .section-bleed .reveal p.lead {
    font-size: 1.1rem !important;
    line-height: 1.3 !important;
  }
  #underhallning .reveal h2 {
    font-size: 1.45rem !important;
    line-height: 1.2 !important;
    margin-bottom: 8px !important;
  }
  #underhallning .reveal p.lead {
    font-size: 1.1rem !important;
    line-height: 1.3 !important;
    margin-bottom: 8px !important;
  }
  #underhallning .section-cta {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
  }
}

}



/* ===== Fixed-läge för desktop ===== */
@media (hover:hover){
  .section-bleed[data-effect="fixed"] > .__bg{ background-attachment: fixed; }
}





/* Text parallax performance hints */
.section-bleed .reveal{ will-change: transform, opacity; }
.section-bleed .reveal > *{ will-change: transform, opacity; }

/* Special layering effect for sport section */
#sport {
  position: relative;
  z-index: 20 !important; /* Higher to stay above other sections */
}

/* Ensure underhallning section has higher z-index */
#underhallning {
  position: relative;
  z-index: 2; /* Higher to stay above sport */
}

/* === Text 3D context for stronger parallax === */
.section-bleed{ perspective: 1000px; }
.section-bleed .reveal{ transform-style: preserve-3d; }

/* === SUBTLE PARALLAX TEXT EFFECTS === */
.section-bleed .reveal h2,
.section-bleed .reveal .lead,
.section-bleed .reveal p {
  transition: transform 0.2s ease-out, filter 0.2s ease-out, text-shadow 0.2s ease-out, opacity 0.2s ease-out;
  transform-origin: center center;
  backface-visibility: hidden;
  will-change: transform, opacity;
}

/* Subtle text shadows for depth */
.section-bleed[data-effect="parallax"] .reveal * {
  text-shadow: 0 2px 8px rgba(0,0,0,0.3);
}

.section-bleed[data-effect="blur"] .reveal * {
  text-shadow: 0 2px 12px rgba(0,0,0,0.4);
}

.section-bleed[data-effect="zoom-in"] .reveal * {
  text-shadow: 0 4px 16px rgba(0,0,0,0.5);
}

.section-bleed[data-effect="vignette"] .reveal * {
  text-shadow: 0 3px 20px rgba(0,0,0,0.6);
}

.section-bleed[data-effect="fixed"] .reveal * {
  text-shadow: 2px 2px 4px rgba(0,0,0,0.6);
}

.section-bleed[data-effect="typewriter"] .reveal * {
  text-shadow: 
    0 2px 8px rgba(0,0,0,0.9),
    0 0 30px rgba(255,255,255,0.4),
    2px 2px 4px rgba(0,0,0,0.8);
  font-family: 'Inter', sans-serif;
  font-weight: 800;
  color: #ffffff !important;
  background: linear-gradient(135deg, rgba(0,0,0,0.3), rgba(0,0,0,0.1));
  padding: 8px 16px;
  border-radius: 4px;
  backdrop-filter: blur(2px);
}

/* Ensure text remains readable */
.section-bleed .reveal h2 {
  color: #fff !important;
  font-weight: 800;
}

.section-bleed .reveal .lead,
.section-bleed .reveal p {
  color: #fff !important;
  font-weight: 400;
}

/* Mobile optimizations for better readability */
@media (max-width: 768px) {
  .section-bleed{ perspective: 800px; }
  .section-bleed .reveal h2,
  .section-bleed .reveal .lead,
  .section-bleed .reveal p {
    transition: transform 0.3s ease-out;
  }
  
  /* Reduce effects on mobile for better performance */
  .section-bleed .reveal * {
    text-shadow: 0 1px 4px rgba(0,0,0,0.5) !important;
  }
}









/* force white text in parallax */
.section-bleed .reveal, .section-bleed .reveal * { color: #fff !important; }

/* Text-only-variant: dölj bild och dra in innehållet */
.cards.textonly .card img { display: none; }
.cards.textonly .card { padding: 16px; display: block; }
.cards.textonly .card .pad { padding: 0; }

/* === Text-only variant av cards === */
.cards.textonly .card img,
.cards.textonly figure > img {
  display: none !important;
}

.cards.textonly .card {
  /* Små justeringar så korten känns jämna utan bild */
  border-radius: var(--radius);
}

.cards.textonly .card .pad {
  /* Lite mer luft när bilden saknas */
  padding: 16px;
}
/* === Dagens Lunch: textlistor utan kort === */
.lunch-slide h3 {
  margin: 0 0 6px;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.lunch-list { 
  margin: 0; padding: 0; list-style: none;
}
.lunch-list li {
  padding: 10px 2px;
  border-bottom: 1px solid var(--line);
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: baseline;
  gap: 12px;
}
.lunch-list li:last-child { border-bottom: 0; }
.lunch-item-title { font-weight: 700; }
.lunch-item-desc { color: var(--muted); }
.lunch-item-right { text-align: right; white-space: nowrap; }
.lunch-badges { font-size: .8rem; color: var(--muted); }

@media (max-width: 520px){
  .lunch-list li { grid-template-columns: 1fr; }
  .lunch-item-right { text-align: left; }
}

.lunch-slide h3 {
  margin: 0 0 6px;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.lunch-list {
  margin: 0; padding: 0; list-style: none;
}
.lunch-list li {
  padding: 10px 2px;
  border-bottom: 1px solid var(--line);
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
}
.lunch-list li:last-child { border-bottom: 0; }
.lunch-item-title { font-weight: 700; }
.lunch-item-desc { color: var(--muted); }
.lunch-item-right { white-space: nowrap; }

@media (max-width: 520px){
  .lunch-list li { grid-template-columns: 1fr; }
  .lunch-item-right { text-align: left; }
}
.lunch-list { display:block }
.lunch-row { display:grid; grid-template-columns: 1fr auto; gap:12px; padding:10px 2px; border-bottom:1px solid var(--line) }
.lunch-row:last-child { border-bottom:0 }
.lunch-item-title { font-weight:700 }
.lunch-item-desc { color: var(--muted) }
.lunch-badges { font-size:.85rem; color: var(--muted) }
/* Mobile lunch menu optimizations */
@media (max-width: 768px) {
  .lunch-row { 
    grid-template-columns: 100%; 
    gap: 15px;
  }
  
  .lunch-slide {
    padding: 8px;
  }
  
  .lunch-slide h3 {
    font-size: 1.1rem;
    margin: 0 0 8px;
  }
  
  .lunch-item {
    font-size: 0.9rem;
    line-height: 1.4;
  }
  
  .lunch-dots {
    gap: 12px;
    margin: 10px 0;
  }
}

@media (max-width: 520px) { 
  .lunch-row { 
    grid-template-columns: 1fr;
  } 
  
  .lunch-item-right { 
    text-align: left;
  }
  
  .lunch-slide {
    padding: 6px;
  }
  
  .lunch-slide h3 {
    font-size: 1rem;
  }
  
  .lunch-item {
    font-size: 0.85rem;
  }
  
  .lunch-item-desc {
    font-size: 0.8rem;
  }
  
  .lunch-badges {
    font-size: 0.75rem;
  }
}

/* === Ticker runtime controls & event speed === */
.ticker .ticker__track { animation-play-state: paused; }
.ticker.is-running .ticker__track { animation-play-state: running; }
.ticker[hidden] { display: none !important; }
/* Repeatable chunk for multi-event content */
.ticker__chunk { white-space: nowrap; padding-inline: .5rem; }
/* Slightly faster event ticker by default (adjust as needed) */
#event-ticker { --ticker-speed: 22s; }


/* ===== Menu text-only rows ===== */
.cards.textonly{ display:block; }
.cards.textonly .card{ display:block; background:#f2f3ee; border:0; border-bottom:1px solid var(--line); border-radius:0; box-shadow:none; padding:12px 2px; margin:0; }
.cards.textonly .card:last-child{ border-bottom:0; }
.cards.textonly .card .row-head{ display:grid; grid-template-columns: 1fr auto; gap:12px; align-items: baseline; }
.cards.textonly .card h3{ margin:0; font-size:1rem; }
.cards.textonly .card .desc{ margin:.25rem 0 0; }
.cards.textonly .badges{ margin-top:6px; }
@media (max-width:520px){ .cards.textonly .card .row-head{ grid-template-columns: 1fr; } .cards.textonly .price{ order:2; } }


/* ===== Grid header ===== */
.grid-head{ padding:6px 2px 8px; border-bottom:1px solid var(--line); margin-bottom:6px; }
.grid-title{ margin:0; font-size:1.05rem; letter-spacing:.2px; }


/* ===== Category divider ===== */
.grid-divider{ height:1px; background: linear-gradient(90deg, transparent, var(--line), transparent); margin:12px 0 16px; opacity:0; transform: translateY(-4px); transition: opacity .25s ease, transform .25s ease; }
.grid-divider.visible{ opacity:1; transform:none; }


section.vid div.holder{
  position: sticky;
  top: 0;
}

/* === Clean Parallax Video Hero === */
:root{
  --video-fade-start: 0.9; /* börja fade ännu senare (90% istället för 75%) */
  --video-fade-end:   0.999; /* helt borta allra sist */
}

section.vid{
  height: 400vh; /* rullsträcka för effekten */
  
}


 section.vid .holder{
   position: sticky;
   top: var(--sticky-offset, 56px);
   height: calc(100vh - var(--sticky-offset, 56px));
   z-index: 0;
   }



section.vid video{
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
  margin: 0 auto;
}


.sec.hero-overlay{
  position: relative;
  margin-top: 0; /* Remove top margin to position at top */
  margin-bottom: 80px; /* Keep space after hero */
  z-index: 1;
  overflow: hidden;
  contain: paint;
  isolation: isolate;
  will-change: auto;
  transform: none; /* Disable parallax transform for static hero */
}

.sec.hero-overlay .inner{
  position: static; /* Change from sticky to static */
  top: auto;
  min-height: auto; /* Remove full viewport height */
  display: grid;
  align-items: center;
  padding: 40px 0; /* Add some padding instead */
}

#features.sec {
  margin-top: -4rem; /* dra upp sektionen 4rem högre */
}

/* Gäller både första och andra videon */
.vid {
  height: 400vh;               /* kritiskt för att scrubb ska ha “scrollsträcka” */
  position: relative;
  object-fit: contain;
  display: block;
}


 section.vid .holder{
   position: sticky;
   top: var(--sticky-offset, 56px);
   height: calc(100vh - var(--sticky-offset, 56px));
   z-index: 0;
 }


.vid video {
  width: 100vw;
  height: 100vh;
  object-fit: contain;
  display: block;
  opacity: var(--scrub-opacity, 1);  /* styrs av JS */
  transition: opacity 120ms linear;  /* lite smoothing */
}

.midtext {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  pointer-events: none;

  font-size: clamp(2rem, 7vw, 7rem);
  font-weight: 800;
  text-align: center;
  line-height: 1.1;

  color: #fff;
  text-shadow: 0 10px 30px rgba(0,0,0,.35);
  letter-spacing: .02em;

  opacity: 0;             /* styrs av JS */
  transform: scale(.94);  /* litet inzoom som animeras */
  transition: opacity 180ms ease, transform 220ms ease;

  /* Midtext – rubrik & underrubrik: mörk i ljust läge, ljus i mörkt läge */
.midtext h1,
.midtext h2 {
  color: #3B2C2A; /* cocoa – mörkbrun för ljust läge */
}

}
/* === SCRUB VIDEO LAYOUT (gemensam för alla .vid) === */
.vid {
  position: relative;
  height: 400vh; /* tillräcklig scrollsträcka för scrubbing */
}

.vid .holder {
  position: sticky;
  top: 0;
  height: 100vh;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Video: naturlig storlek, centrerad, samma bredd som lunch-container */
.vid .holder video {
  width: min(1120px, 100% - 32px);
  height: auto;
  border-radius: var(--radius);
  display: block;
  z-index: 1;
  opacity: var(--scrub-opacity, 1);
  transition: opacity 120ms linear;
}

/* Mobilt läge: video ska täcka skärmen från vänster till höger */
@media (max-width: 767px) {
  /* Hero video optimering för mobil - full bredd men mindre zoom för loggan */
  #vidHero .holder video {
    object-fit: cover;   /* täck hela containern men med mindre zoom */
    width: 100vw;        /* full skärmbredd från sida till sida */
    height: 100vh;       /* full skärmhöjd */
    object-position: center center; /* centrera videon */
    transform: scale(0.85); /* minska zoomen 15% för att se loggan */
  }
  
  #vidSecond .holder video {
    object-fit: cover;   /* fyll hela containern */
    width: 100vw;        /* matcha skärmens bredd */
    height: 100vh;       /* matcha skärmens höjd */
    left: 0;
    top: 0;
  }
  #underhallning .reveal h2,
  #underhallning .reveal p.lead {
    font-size: 1.1rem !important;
    line-height: 1.3 !important;
  }
  #underhallning .section-cta {
    margin-top: 8px !important;
    margin-bottom: 0 !important;
  }
}


/* Centrerad text som dyker upp efter 50% scroll (styrt i JS) */
.vid .holder .midtext {
  position: absolute;
  inset: 0;
  z-index: 2;       /* över videon */
  display: grid;
  place-items: center;
  pointer-events: none;

  font-size: clamp(2rem, 7vw, 7rem);
  font-weight: 800;
  text-align: center;
  line-height: 1.1;
  letter-spacing: .02em;
  color: #fff;
  text-shadow: 0 10px 30px rgba(0,0,0,.35);

  opacity: 0;             /* JS styr detta */
  transform: scale(.94);  /* liten pop-animation */
  transition: opacity 180ms ease, transform 220ms ease;
}
.sec.hero-overlay{
  transform: none; /* Disable parallax transform for static hero */
}

.vid .holder{
  position: sticky;
  top: var(--sticky-offset, 56px);
  height: calc(100vh - var(--sticky-offset, 56px));
}

/* === FINAL OVERRIDES (append-only) — unify sticky + video + overlay === */
:root{
  --video-fade-start: 0.9;
  --video-fade-end:   0.999;
  --hero-shift-start: 5;
  --sticky-offset:    56px; /* fallback; JS measures header and updates */
}

/* Topbar layering a touch higher than tickers/videos */
.topbar{ z-index: 50; }

/* Ticker stays directly under header */
.ticker{
  position: fixed;
  top: var(--topbar-height);
  left: 0;
  right: 0;
  z-index: 45;
}

/* SCRUB VIDEO: section provides scroll distance, holder is sticky viewport */
.vid{ position:relative; height: 400vh; }
.vid .holder{
  position: sticky;
  top: var(--sticky-offset, 56px);
  height: calc(100vh - var(--sticky-offset, 56px));
  overflow: hidden;
  z-index: 0;
}
/* Fill holder with the video; opacity controlled from JS */
.vid .holder video{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  opacity: var(--scrub-opacity, 1);
  transition: opacity 120ms linear;
  transform: none; /* ensure 100% size always */
}

/* Hero two-column layout - updated */

/* --- STABIL VIDEOSTORLEK --- */
/* Lägg detta sist i styles.css så att det överstyr allt tidigare */
.vid .holder {
  position: sticky;
  top: var(--sticky-offset, 56px);
  height: calc(100vh - var(--sticky-offset, 56px));
  overflow: hidden;
}

.vid .holder video{
  position: absolute;
  inset: 0;
  /* håll samma “lilla” look: visa hela videon utan zoom */
  object-fit: cover;
  width: 100%;
  height: 100vh;
  margin: 0 auto;
  display: block;
  opacity: var(--scrub-opacity, 1);
  transition: opacity 120ms linear;
  border-radius: 18px; /* valfritt */
}
@media (max-width: 767px){
  .vid .holder video{
    width: calc(100% - 16px); /* mindre margin på mobil */
    height: auto;
    border-radius: 12px;
  }
}

/* Hero two-column layout - updated for top left positioning */
.hero-two-columns {
  display: grid !important;
  grid-template-columns: 2fr 1fr !important; /* Text wider, logo smaller */
  gap: 32px !important;
  align-items: flex-start !important; /* Align to top instead of center */
  width: 100% !important;
  justify-content: flex-start !important; /* Align content to left */
}

/* Override existing hero grid layout för vår två-kolumn version */
.hero.container .hero-two-columns {
  grid-template-columns: 1fr 3fr !important;
}

@media (min-width:768px) {
  .hero.container .hero-two-columns {
    grid-template-columns: 1fr 3fr !important;
  }
}

.hero-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 200px;
}

.hero-logo-img {
  width: min(100%, 440px);
  height: 240px;
  object-fit: contain;
  object-position: center;
  filter: none !important;
}

.hero-copy.surface-glass {
  width: 100%;
  flex: 1;
}

@media (max-width: 768px) {
  .hero-two-columns {
    grid-template-columns: 1fr;
    gap: 16px;
    text-align: center;
  }
  
  .hero-logo-img {
    height: 140px;
  }
}

.hero-overlay .container {
  width: calc(100% - 16px); /* Almost full width with small 8px border on each side */
  margin-inline: auto;
  padding: 16px 0; /* Reduced top padding for top positioning */
}

.hero-two-columns {
  display: grid;
  grid-template-columns: 2fr 1fr; /* Text wider, logo smaller */
  gap: 32px;
  align-items: flex-start; /* Top alignment */
  justify-content: flex-start; /* Left alignment */
}

@media (max-width: 768px) {
  .hero-two-columns {
    grid-template-columns: 1fr;
    text-align: center;
    gap: 16px;
    width: 100% !important;
  }
}
/* Hero logo adjustments */
.hero-logo {
  display: flex;
  align-items: flex-start; /* Change from center to top alignment */
  justify-content: flex-end; /* Position logo to the right */
  width: 100%;
  min-height: 180px;
  padding-top: 20px; /* Add some top padding */
} 

.footer {
  padding: 48px 16px;
  color: var(--muted);
  border-top: 1px solid var(--line);
  text-align: center;
}

.footer-content {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 32px;
  max-width: 1120px;
  margin: 0 auto;
  text-align: center;
}

.footer-section {
  text-align: center;
}

.footer-section:first-child {
  text-align: left;
}

.footer-section:last-child {
  text-align: right;
}

.footer-section h3 {
  margin-bottom: 16px;
  color: var(--text);
}

.footer-section ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-bottom {
  margin-top: 32px;
  font-size: 0.9rem;
  color: var(--muted);
  text-align: center;
}

/* Mobile layout */
@media (max-width: 768px) {
  /* Mobile Hero Section - only on mobile */
  .mobile-hero {
  display: block !important;
  position: relative;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  margin: 0;
  padding: 0;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  }

  .mobile-hero-video {
    width: 100vw;
    height: 100vh;
    object-fit: cover;
    object-position: center;
    position: absolute;
    top: 0;
    left: 0;
  }
  
  /* Hide desktop hero on mobile */
    /* Show desktop hero on mobile */
    .hero-overlay {
      display: block !important;
    }
  
  /* Hide herobar image on mobile */
  .hero-overlay + section {
    display: none !important;
  }
  
  .footer-content {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  
  /* Hide logo on mobile devices */
  .hero-logo {
    display: none !important;
  }
  
  /* Lunch section mobile layout */
  #dagens-lunch > div {
    flex-direction: column !important;
  }
  #dagens-lunch > div > div:first-child {
    order: 2 !important;
  }
  #dagens-lunch > div > div:last-child {
    order: 1 !important;
  }
  
  /* Hero section full width on mobile */
  .hero-overlay .container {
    width: 100% !important;
    margin: 0 !important;
    padding: 20px 16px !important;
  }
  
  .hero-two-columns {
    grid-template-columns: 1fr !important;
    text-align: center !important;
    gap: 16px !important;
    width: 100% !important;
  }
  
  .hero-copy.surface-glass {
    width: 100% !important;
    margin: 0 !important;
    padding: 20px !important;
  }
}

/* Hide mobile hero on desktop */
.mobile-hero {
  display: none;
}

/* Enhanced text styling for parallax sections */
.section-bleed.scrub h2 {
  font-size: 4.2rem !important;
  font-weight: 800 !important;
  text-shadow: 3px 3px 8px rgba(0,0,0,0.9), 0 0 20px rgba(0,0,0,0.7) !important;
  letter-spacing: -0.02em;
}

.section-bleed.scrub .lead,
.section-bleed.scrub p.lead {
  font-size: 1.6rem !important;
  font-weight: 600 !important;
  text-shadow: 2px 2px 6px rgba(0,0,0,0.8), 0 0 15px rgba(0,0,0,0.6) !important;
  line-height: 1.5;
}

.section-bleed.scrub .btn {
  font-size: 1.3rem !important;
  font-weight: 700 !important;
  text-shadow: 1px 1px 4px rgba(0,0,0,0.7) !important;
  padding: 16px 32px !important;
}

.section-bleed.scrub .badge {
  font-size: 1.1rem !important;
  font-weight: 600 !important;
  text-shadow: 1px 1px 3px rgba(0,0,0,0.6) !important;
  padding: 8px 16px !important;
}

/* Mobile responsiveness for enhanced text */
@media (max-width: 768px) {
  .section-bleed.scrub h2 {
    font-size: 3.2rem !important;
  }
  
  .section-bleed.scrub .lead,
  .section-bleed.scrub p.lead {
    font-size: 1.4rem !important;
  }
  
  .section-bleed.scrub .btn {
    font-size: 1.1rem !important;
    padding: 14px 28px !important;
  }
  
  .section-bleed.scrub .badge {
    font-size: 1.0rem !important;
    padding: 6px 12px !important;
  }
}

/* ===== Lightbox (mobile-first) ===== */
.lightbox {
  width: 92vw;
  max-width: 520px;
  height: 80vh;
  min-height: 320px;
  margin: auto;
  padding: 0;
  border: 0;
  background: rgba(20, 28, 38, 0.98);
  display: grid;
  grid-template-areas: "img";
  align-items: center;
  justify-items: center;
  animation: lightboxZoomIn .35s cubic-bezier(.4,0,.2,1);
  box-shadow: 0 8px 32px rgba(0,0,0,0.18);
  border-radius: 22px;
  border: 8px solid #3a4a66;
  box-shadow: 0 8px 32px rgba(0,0,0,0.18), 0 0 0 2px #2d4a66;
  overflow: hidden;
}
@keyframes lightboxFadeIn {
}
@keyframes lightboxZoomIn {
  from { opacity: 0; transform: scale(0.85); }
  to { opacity: 1; transform: scale(1); }
}

.lightbox::backdrop { background: rgba(0,0,0,0.85); }


.lightbox img {
  grid-area: img;
  max-width: 90vw;
  max-height: 68vh;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 18px;
  box-shadow: 0 4px 24px rgba(0,0,0,0.18);
  background: #fff;
  transition: box-shadow .3s, background .3s;
  touch-action: pan-y pinch-zoom;
}

.lightbox img.wide {
  max-width: 90vw;
  max-height: 60vh;
  width: 100%;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lightbox img.vertical {
  max-width: 60vw;
  max-height: 80vh;
  width: auto;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lightbox__close {
  position: fixed;
  top: 18px; right: 22px;
  z-index: 2;
  width: 44px; height: 44px;
  border: 0; border-radius: 50%;
  background: rgba(255,255,255,0.92);
  box-shadow: 0 2px 12px rgba(44,62,80,0.12);
  font-size: 22px; line-height: 1;
  color: #1a2a2a;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer;
  transition: background .2s, color .2s;
}
  .lightbox__close:hover {
    background: var(--accent);
    color: #fff;
  }


.lightbox__nav {
  display: none !important;
}
  .lightbox__nav:hover {
    background: var(--accent);
    color: #fff;
  }

.lightbox__prev { left: 10px; }
.lightbox__next { right: 10px; }

.lightbox__counter {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
}
.lightbox-thumb {
  box-shadow: 0 2px 8px rgba(0,0,0,0.12);
  border: 2px solid transparent;
  transition: border-color .2s, opacity .2s;
}
.lightbox-thumb.active {
  border-color: var(--accent, #00bcd4);
  opacity: 1;
}
  .lightbox__counter {
    position: fixed;
    bottom: 18px;
    left: 50%;
    transform: translateX(-50%);
    color: #fff;
    background: rgba(0,0,0,.38);
    padding: 8px 32px;
    border-radius: 999px;
    font-size: 1rem;
    font-family: 'Playfair Display', serif;
    letter-spacing: 0.04em;
    box-shadow: 0 2px 12px rgba(44,62,80,0.10);
    backdrop-filter: blur(8px);
  }


/* Dölj pilar på riktigt små mobiler */
@media (max-width: 380px){
  .lightbox__nav { display: none; }
  .lightbox__close { top: 8px; right: 8px; width: 36px; height: 36px; font-size: 18px; }
  .lightbox__counter { font-size: 0.85rem; padding: 6px 10px; }
}

/* Force close any stuck lightbox */
.lightbox:not([open]) {
  display: none !important;
}

/* Ensure footer is always visible and on top */
.footer {
  position: relative !important;
  z-index: 999 !important;
  display: block !important;
  visibility: visible !important;
}

/* Hide any potential preview overlays */
[class*="preview"], [id*="preview"] {
  display: none !important;
}

/* Gör klickytan i galleri-korten lite "tappvänlig" */
#gallery-grid .card { cursor: zoom-in; }

/* Mobile-first gallery grid */
#gallery-grid.cards { 
  display: grid; 
  gap: var(--gap); 
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); 
}

/* Ensure gallery section is visible on mobile */
#galleri {
  display: block !important;
  visibility: visible !important;
  overflow: visible !important;
}

/* Ensure gallery images are visible on mobile */
#gallery-grid .card,
#gallery-grid .card img {
  display: block !important;
  visibility: visible !important;
}

/* Tablet and up - larger images */
@media (min-width: 768px) {
  #gallery-grid.cards { 
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); 
  }
}

/* Desktop - even larger images */
@media (min-width: 1024px) {
  #gallery-grid.cards { 
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); 
  }
}

/* ===== Cookie Banner ===== */
.cookie-banner {
  position: fixed;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%) translateY(100%);
  max-width: 480px;
  width: calc(100vw - 40px);
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 8px 32px rgba(0,0,0,0.15), 0 2px 8px rgba(0,188,212,0.08);
  border: 2px solid var(--accent);
  padding: 24px;
  z-index: 9999;
  opacity: 0;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.cookie-banner.expanded {
  max-width: 520px;
}

.cookie-content {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.cookie-title {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--ink);
  text-align: center;
}

.cookie-text {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.5;
  color: var(--muted);
  text-align: center;
}

.cookie-settings {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 16px 0;
  border-top: 1px solid var(--line);
  animation: slideDown 0.3s ease-out;
}

@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.cookie-option {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.cookie-switch {
  position: relative;
  display: inline-block;
  width: 44px;
  height: 24px;
  flex-shrink: 0;
  margin-top: 2px;
}

.cookie-switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.switch-slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  transition: 0.3s;
  border-radius: 24px;
}

.switch-slider:before {
  position: absolute;
  content: "";
  height: 18px;
  width: 18px;
  left: 3px;
  bottom: 3px;
  background-color: white;
  transition: 0.3s;
  border-radius: 50%;
}

.cookie-switch input:checked + .switch-slider {
  background-color: var(--accent);
}

.cookie-switch input:checked + .switch-slider:before {
  transform: translateX(20px);
}

.cookie-switch input:disabled + .switch-slider {
  background-color: var(--accent);
  opacity: 0.7;
  cursor: not-allowed;
}

.cookie-info h4 {
  margin: 0 0 4px 0;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--ink);
}

.cookie-info p {
  margin: 0;
  font-size: 0.8rem;
  color: var(--muted);
  line-height: 1.4;
}

.cookie-actions {
  display: flex;
  gap: 8px;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}

.cookie-settings-btn {
  background: transparent;
  border: 1px solid var(--line);
  color: var(--ink);
  padding: 8px 12px;
  border-radius: 8px;
  font-size: 0.85rem;
  font-weight: 500;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: all 0.2s ease;
}

.cookie-settings-btn:hover {
  background: var(--line);
  border-color: var(--accent);
}

.cookie-btn {
  padding: 10px 20px;
  border-radius: 8px;
  font-size: 0.9rem;
  font-weight: 600;
  cursor: pointer;
  border: none;
  transition: all 0.2s ease;
  min-width: 100px;
}

.cookie-btn-primary {
  background: var(--accent);
  color: white;
}

.cookie-btn-primary:hover {
  background: #0097a7;
  transform: translateY(-1px);
}

.cookie-btn-secondary {
  background: transparent;
  color: var(--accent);
  border: 1px solid var(--accent);
}

.cookie-btn-secondary:hover {
  background: var(--accent);
  color: white;
}

.settings-icon {
  font-size: 0.8rem;
  transition: transform 0.2s ease;
}

.cookie-banner.expanded .settings-icon {
  transform: rotate(45deg);
}

/* Mobile responsiveness */
@media (max-width: 520px) {
  .cookie-banner {
    bottom: 10px;
    width: calc(100vw - 20px);
    padding: 20px;
  }
  
  .cookie-title {
    font-size: 1.1rem;
  }
  
  .cookie-text {
    font-size: 0.9rem;
  }
  
  .cookie-actions {
    flex-direction: column;
    gap: 10px;
  }
  
  .cookie-btn {
    width: 100%;
    min-width: auto;
  }
  
  .cookie-settings-btn {
    width: 100%;
    justify-content: center;
  }
}

/* ========================================
   INSTAGRAM FEED STYLES
   ======================================== */

.instagram-section {
  max-width: 1200px;
  margin: 60px auto;
  padding: 0 16px;
}

.instagram-header {
  text-align: center;
  margin-bottom: 40px;
}

.instagram-header h2 {
  margin-bottom: 16px;
  font-size: clamp(1.8rem, 4vw, 2.5rem);
}

.instagram-header .lead {
  margin-bottom: 24px;
}

.instagram-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: linear-gradient(135deg, #833ab4, #fd1d1d, #fcb045);
  color: white;
  padding: 10px 20px;
  border-radius: 999px;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(131, 58, 180, 0.3);
}

.instagram-badge:hover {
  transform: scale(1.05);
  box-shadow: 0 6px 20px rgba(131, 58, 180, 0.4);
}

/* Instagram Grid */
#instagram-feed {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 20px;
  margin-bottom: 40px;
}

.instagram-post {
  background: white;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  transition: all 0.3s ease;
}

.instagram-post:hover {
  transform: translateY(-8px);
  box-shadow: 0 12px 24px rgba(0,0,0,0.12);
}

.instagram-link {
  text-decoration: none;
  color: inherit;
  display: block;
}

.instagram-image-wrapper {
  position: relative;
  width: 100%;
  height: 280px;
  overflow: hidden;
  background: #f5f5f5;
}

.instagram-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.instagram-post:hover .instagram-image {
  transform: scale(1.1);
}

.media-type-badge {
  position: absolute;
  top: 12px;
  right: 12px;
  background: rgba(0,0,0,0.7);
  color: white;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 0.9rem;
  backdrop-filter: blur(4px);
}

.instagram-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 50%, rgba(0,0,0,0.8));
  opacity: 0;
  transition: opacity 0.3s ease;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 20px;
}

.instagram-post:hover .instagram-overlay {
  opacity: 1;
}

.view-on-instagram {
  color: white;
  font-weight: 700;
  font-size: 0.95rem;
  text-shadow: 0 2px 4px rgba(0,0,0,0.5);
}

.instagram-caption {
  padding: 16px;
}

.caption-text {
  margin: 0 0 10px 0;
  color: #333;
  font-size: 0.95rem;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.post-date {
  font-size: 0.85rem;
  color: #999;
}

/* Loading & Error States */
.instagram-loading,
.instagram-empty,
.instagram-error {
  grid-column: 1 / -1;
  text-align: center;
  padding: 60px 20px;
  background: #f2f3ee;
  border-radius: 12px;
}

.instagram-loading {
  color: #666;
  font-size: 1.1rem;
}

.instagram-loading::before {
  content: '⏳';
  font-size: 2rem;
  display: block;
  margin-bottom: 16px;
}

.instagram-empty {
  color: #999;
}

.instagram-empty::before {
  content: '📸';
  font-size: 3rem;
  display: block;
  margin-bottom: 16px;
  opacity: 0.5;
}

.instagram-error {
  color: #d32f2f;
  background: #ffebee;
  border: 1px solid #ffcdd2;
}

.instagram-error::before {
  content: '❌';
  font-size: 2rem;
  display: block;
  margin-bottom: 16px;
}

.error-message {
  font-weight: 600;
  margin: 8px 0;
}

.error-hint {
  font-size: 0.9rem;
  color: #666;
  margin-top: 8px;
}

/* Refresh Button */
.instagram-refresh {
  text-align: center;
  margin-top: 32px;
}

.btn-refresh {
  background: linear-gradient(135deg, #833ab4, #fd1d1d);
  color: white;
  border: none;
  padding: 12px 32px;
  border-radius: 999px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.3s ease;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.btn-refresh:hover {
  transform: scale(1.05);
  box-shadow: 0 8px 20px rgba(131, 58, 180, 0.3);
}

/* Mobile Responsive */
@media (max-width: 768px) {
  #instagram-feed {
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 12px;
  }
  
  .instagram-image-wrapper {
    height: 200px;
  }
  
  .instagram-caption {
    padding: 12px;
  }
  
  .caption-text {
    font-size: 0.9rem;
    -webkit-line-clamp: 2;
  }
}

@media (max-width: 480px) {
  #instagram-feed {
    grid-template-columns: 1fr;
  }
  
  .instagram-image-wrapper {
    height: 280px;
  }
}

/* ====== Extra live experience layer ====== */
.scroll-progress{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 5px;
  z-index: 10000;
  overflow: hidden;
  background: rgba(7,31,60,.16);
  box-shadow: inset 0 -1px 0 rgba(255,255,255,.18);
  pointer-events: none;
}

.scroll-progress__fill{
  position: relative;
  width: 100%;
  height: 100%;
  transform: scaleX(0);
  transform-origin: left center;
  background: linear-gradient(90deg, #071f3c 0%, #0b5270 48%, #19a9bd 100%);
  box-shadow: 0 0 12px rgba(25,169,189,.4);
  will-change: transform;
}

.scroll-progress__fill::after{
  content:"";
  position:absolute;
  top:50%;
  right:0;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#eafcff;
  box-shadow:
    0 0 0 2px rgba(25,169,189,.36),
    0 0 10px rgba(234,252,255,.9);
  transform:translate(1px,-50%);
}

.live-status-card{
  display: inline-flex;
  align-items: center;
  gap: 12px;
  width: min(100%, 430px);
  margin: 14px 0 4px;
  padding: 12px 14px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 14px;
  background: rgba(255,255,255,.82);
  box-shadow: 0 12px 28px rgba(0,0,0,.08);
}

.live-status-card strong,
.live-status-card span{
  display: block;
}

.live-status-card strong{
  font-size: .96rem;
  line-height: 1.2;
}

.live-status-card span:last-child{
  color: var(--muted);
  font-size: .92rem;
  line-height: 1.35;
}

.live-status-dot{
  width: 12px;
  height: 12px;
  border-radius: 50%;
  flex: 0 0 auto;
  background: #ff6b6b;
  box-shadow: 0 0 0 6px rgba(255,107,107,.14);
}

.live-status-card.is-open .live-status-dot{
  background: #22c55e;
  box-shadow: 0 0 0 6px rgba(34,197,94,.16), 0 0 18px rgba(34,197,94,.35);
  animation: livePulse 1.7s ease-in-out infinite;
}

@keyframes livePulse{
  0%, 100%{ transform: scale(1); }
  50%{ transform: scale(1.24); }
}

.quick-dock{
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 80;
  display: flex;
  align-items: center;
  gap: 6px;
  width: max-content;
  max-width: calc(100% - 24px);
  padding: 7px;
  border: 1px solid rgba(255,255,255,.55);
  border-radius: 999px;
  background: rgba(17,17,17,.76);
  box-shadow: 0 18px 42px rgba(0,0,0,.22);
  backdrop-filter: blur(16px);
}

.quick-dock__item{
  appearance: none;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,.10);
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 76px;
  height: 38px;
  padding: 0 14px;
  text-decoration: none;
  font: inherit;
  font-weight: 700;
  white-space: nowrap;
}

.quick-dock__item:hover,
.quick-dock__item:focus-visible{
  background: #00bcd4;
  color: #00353c;
  outline: none;
}

.event-pulse{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 8px 0 18px;
  padding: 16px;
  border-radius: 16px;
  background:
    linear-gradient(135deg, rgba(109,122,83,.14), rgba(232,235,228,.7)),
    #f2f3ee;
  border: 1px solid rgba(0,0,0,.06);
  box-shadow: 0 12px 30px rgba(0,0,0,.08);
}

.event-pulse > div{
  display: grid;
  gap: 3px;
}

.event-pulse__eyebrow{
  color: var(--muted);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.event-pulse strong{
  font-size: clamp(1.05rem, 2.4vw, 1.35rem);
  line-height: 1.2;
}

.event-pulse span:last-child{
  color: var(--muted);
}

video{
  transform-origin: center;
}

@media (max-width: 720px){
  body{
    padding-bottom: 82px;
  }

  .quick-dock{
    left: 50%;
    right: auto;
    bottom: 10px;
    gap: 4px;
    padding: 6px;
    transform: translateX(-50%);
  }

  .quick-dock__item{
    min-width: auto;
    height: 36px;
    padding: 0 10px;
    font-size: .88rem;
  }

  .event-pulse{
    align-items: stretch;
    flex-direction: column;
  }

  .event-pulse .btn{
    width: 100%;
  }
}

/* Menu magazine layout */
.menu-magazine{
  width: 100%;
  margin: clamp(34px, 6vw, 84px) 0;
}

.menu-magazine-content{
  display: grid;
  gap: clamp(44px, 8vw, 110px);
  counter-reset: magazine-section;
}

.menu-magazine-content .section-bleed.scrub.bleed-enhanced.editorial-section{
  position: relative;
  display: block;
  width: min(calc(100% - clamp(28px, 5vw, 84px)), 1440px);
  min-height: clamp(610px, 76vh, 790px);
  margin: 0 auto clamp(74px, 9vw, 130px) !important;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  counter-increment: magazine-section;
}

.menu-magazine-content .editorial-section::before{
  content: counter(magazine-section, decimal-leading-zero);
  position: absolute;
  z-index: 5;
  top: clamp(-20px, -1.5vw, -8px);
  left: clamp(18px, 3.5vw, 54px);
  display: block;
  color: rgba(255,255,255,.82);
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(68px, 10vw, 150px);
  font-weight: 700;
  line-height: .8;
  letter-spacing: -.06em;
  text-shadow: 0 12px 36px rgba(0,0,0,.3);
  pointer-events: none;
}

.menu-magazine-content .editorial-section.editorial-right::before{
  right: clamp(18px, 3.5vw, 54px);
  left: auto;
}

.menu-magazine-content .editorial-section::after{
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0 0 auto;
  display: block;
  height: clamp(500px, 66vh, 680px);
  border-radius: 30px;
  background: linear-gradient(180deg, transparent 56%, rgba(4,18,34,.3));
  pointer-events: none;
}

.menu-magazine-content .editorial-section > .__bg,
.menu-magazine-content .editorial-section.editorial-right > .__bg{
  position: absolute;
  inset: 0 0 auto;
  z-index: 1;
  display: block;
  width: 100%;
  height: clamp(500px, 66vh, 680px);
  min-height: 0;
  max-height: none;
  overflow: hidden;
  border-radius: 30px;
  background-position: center;
  background-size: cover;
  filter: saturate(.98) contrast(1.04);
  transform: scale(1.015);
  transform-origin: center;
}

.menu-magazine-content .editorial-section > .container,
.menu-magazine-content .editorial-section.editorial-right > .container{
  position: absolute;
  z-index: 4;
  right: auto;
  bottom: 0;
  left: clamp(24px, 6vw, 92px);
  display: block;
  width: min(62%, 820px);
  max-width: none;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  opacity: 1;
  transform: none;
}

.menu-magazine-content .editorial-section.editorial-right > .container{
  right: clamp(24px, 6vw, 92px);
  left: auto;
}

.menu-magazine-content .editorial-panel{
  width: 100%;
  max-width: none;
  padding: clamp(28px, 4vw, 50px);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 26px;
  background:
    radial-gradient(circle at 100% 0%, rgba(0,188,212,.13), transparent 38%),
    linear-gradient(145deg, rgba(10,41,72,.97), rgba(6,26,49,.98));
  box-shadow: 0 28px 70px rgba(7,31,60,.26);
}

.menu-magazine-content .editorial-panel h2{
  max-width: 13ch;
  font-size: clamp(42px, 5vw, 76px) !important;
}

.menu-magazine-content .editorial-panel .lead,
.menu-magazine-content .editorial-panel p{
  max-width: 650px;
}

.menu-magazine-content .section-number,
.menu-magazine-content .section-scroll-cue{
  display: none;
}

@media (max-width: 900px){
  .menu-magazine-content .section-bleed.scrub.bleed-enhanced.editorial-section{
    min-height: 660px;
  }

  .menu-magazine-content .editorial-section > .__bg,
  .menu-magazine-content .editorial-section.editorial-right > .__bg,
  .menu-magazine-content .editorial-section::after{
    height: 510px;
  }

  .menu-magazine-content .editorial-section > .container,
  .menu-magazine-content .editorial-section.editorial-right > .container{
    right: 24px;
    left: 24px;
    width: auto;
  }

  .menu-magazine-content .editorial-facts{
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  }
}

@media (max-width: 720px){
  .menu-magazine{
    margin: 20px 0 36px;
  }

  .menu-magazine-content{
    gap: 16px;
  }

  .menu-magazine-content .section-bleed.scrub.bleed-enhanced.editorial-section{
    display: grid;
    grid-template-columns: 1fr;
    width: min(calc(100% - 16px), 620px);
    min-height: 0;
    margin: 0 auto !important;
    overflow: hidden;
    border: 1px solid rgba(7,31,60,.1);
    border-radius: 22px;
    background: #071f3c;
    box-shadow: 0 14px 34px rgba(7,31,60,.1);
  }

  .menu-magazine-content .editorial-section::before{
    top: 16px;
    left: 17px;
    font-size: 62px;
  }

  .menu-magazine-content .editorial-section.editorial-right::before{
    right: 17px;
    left: auto;
  }

  .menu-magazine-content .editorial-section::after{
    inset: 0;
    height: 230px;
    border-radius: 0;
    background: linear-gradient(180deg, transparent 48%, rgba(4,18,34,.56));
  }

  .menu-magazine-content .editorial-section > .__bg,
  .menu-magazine-content .editorial-section.editorial-right > .__bg{
    position: relative;
    inset: auto;
    grid-column: 1;
    grid-row: 1;
    width: 100%;
    height: 230px;
    min-height: 230px;
    border-radius: 0;
    transform: none !important;
  }

  .menu-magazine-content .editorial-section > .container,
  .menu-magazine-content .editorial-section.editorial-right > .container{
    position: relative;
    inset: auto;
    grid-column: 1;
    grid-row: 2;
    width: 100%;
    margin: 0;
  }

  .menu-magazine-content .editorial-panel{
    padding: 25px 20px 28px;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }

  .menu-magazine-content .editorial-panel h2{
    font-size: clamp(34px, 10vw, 48px) !important;
  }
}

/* ====== Fullbleed section upgrade ====== */
.section-bleed.scrub.bleed-enhanced{
  min-height: min(92vh, 860px);
  background: #111;
}

.section-bleed.scrub.bleed-enhanced > .__bg{
  position: absolute;
  inset: -8%;
  z-index: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transform-origin: center;
  will-change: transform, filter, background-position;
}

.section-bleed.scrub.bleed-enhanced::before{
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(0,0,0,.72) 0%, rgba(0,0,0,.38) 42%, rgba(0,0,0,.68) 100%),
    radial-gradient(circle at 50% 46%, rgba(255,255,255,.16), transparent 32%),
    linear-gradient(180deg, rgba(0,0,0,.28), rgba(0,0,0,.62));
  opacity: 1;
}

.section-bleed.scrub.bleed-enhanced::after{
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: radial-gradient(circle at center, rgba(0,0,0,.75), transparent 68%);
  opacity: .22;
}

.section-bleed.scrub.bleed-enhanced .container{
  position: relative;
  z-index: 3;
}

.section-bleed.scrub.bleed-enhanced .reveal{
  position: relative;
  max-width: 820px;
  padding: clamp(24px, 4vw, 48px);
  border-left: 1px solid rgba(255,255,255,.32);
  text-align: left;
  text-shadow: 0 3px 18px rgba(0,0,0,.72);
}

.section-bleed.scrub.bleed-enhanced .reveal::before{
  content: "";
  position: absolute;
  inset: 0 auto 0 -18px;
  width: 3px;
  border-radius: 999px;
  background: linear-gradient(180deg, #00bcd4, #ffd166, transparent);
  box-shadow: 0 0 20px rgba(0,188,212,.35);
}

.section-kicker{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  color: rgba(255,255,255,.86) !important;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .14em;
  line-height: 1;
  text-transform: uppercase;
}

.section-kicker::before{
  content: "";
  width: 28px;
  height: 1px;
  background: #00bcd4;
  box-shadow: 0 0 14px rgba(0,188,212,.65);
}

.section-bleed.scrub.bleed-enhanced .reveal h2{
  max-width: 12ch;
  font-size: clamp(42px, 6.4vw, 86px);
  line-height: .95;
  letter-spacing: 0;
}

.section-bleed.scrub.bleed-enhanced .reveal .lead,
.section-bleed.scrub.bleed-enhanced .reveal p{
  max-width: 650px;
  margin-top: 18px;
  color: rgba(255,255,255,.9) !important;
  font-size: clamp(18px, 2.2vw, 23px);
}

.section-bleed.scrub.bleed-enhanced .section-cta{
  justify-content: flex-start;
  width: min(820px, 100%);
  margin-inline: auto;
  padding-left: clamp(24px, 4vw, 48px);
}

.section-number{
  position: absolute;
  right: clamp(18px, 4vw, 54px);
  bottom: clamp(22px, 5vw, 64px);
  z-index: 4;
  color: rgba(255,255,255,.28);
  font-family: "Playfair Display", serif;
  font-size: clamp(52px, 9vw, 128px);
  line-height: .8;
  pointer-events: none;
}

.section-scroll-cue{
  position: absolute;
  left: 50%;
  bottom: 18px;
  z-index: 4;
  width: 1px;
  height: 54px;
  overflow: hidden;
  background: rgba(255,255,255,.24);
  transform: translateX(-50%);
}

.section-scroll-cue::after{
  content: "";
  position: absolute;
  left: 0;
  top: -60%;
  width: 100%;
  height: 60%;
  background: #fff;
  animation: sectionCue 1.9s ease-in-out infinite;
}

@keyframes sectionCue{
  0%{ transform: translateY(0); opacity: 0; }
  35%{ opacity: 1; }
  100%{ transform: translateY(190%); opacity: 0; }
}

@media (min-width: 900px){
  .section-bleed.scrub.bleed-enhanced:nth-of-type(even) .reveal{
    margin-left: auto;
    margin-right: 0;
  }

  .section-bleed.scrub.bleed-enhanced:nth-of-type(even) .section-cta{
    justify-content: flex-end;
    padding-left: 0;
    padding-right: clamp(24px, 4vw, 48px);
  }
}

@media (max-width: 768px){
  .section-bleed.scrub.bleed-enhanced{
    min-height: 68vh;
  }

  .section-bleed.scrub.bleed-enhanced::before{
    background:
      linear-gradient(180deg, rgba(0,0,0,.62), rgba(0,0,0,.36) 42%, rgba(0,0,0,.78)),
      radial-gradient(circle at 50% 45%, rgba(255,255,255,.13), transparent 34%);
  }

  .section-bleed.scrub.bleed-enhanced .reveal{
    border-left: 0;
    text-align: center;
    padding: 28px 18px;
  }

  .section-bleed.scrub.bleed-enhanced .reveal::before{
    inset: 0 50% auto 50%;
    width: 72px;
    height: 3px;
    transform: translateX(-50%);
  }

  .section-kicker{
    justify-content: center;
    width: 100%;
  }

  .section-kicker::before{
    width: 18px;
  }

  .section-bleed.scrub.bleed-enhanced .reveal h2{
    max-width: none;
    font-size: clamp(34px, 10vw, 52px) !important;
    line-height: 1;
  }

  .section-bleed.scrub.bleed-enhanced .reveal .lead,
  .section-bleed.scrub.bleed-enhanced .reveal p{
    font-size: clamp(16px, 4.4vw, 19px) !important;
    line-height: 1.45 !important;
  }

  .section-bleed.scrub.bleed-enhanced .section-cta{
    justify-content: center;
    padding-left: 0;
  }

  .section-number{
    right: 14px;
    bottom: 14px;
    font-size: 54px;
  }

  .section-scroll-cue{
    display: none;
  }
}

/* ====== Lunch display upgrade ====== */
#dagens-lunch{
  --lunch-ink: #142326;
  --lunch-board: #ffffff;
  --lunch-accent: #00a9bd;
  --lunch-soft: #f2f7f7;
}

.lunch-section{
  position: relative;
  isolation: isolate;
  overflow: hidden;
  width: calc(100% - 16px);
  margin: 20px auto 60px;
  min-height: 680px;
  padding: clamp(54px, 7vw, 94px) clamp(10px, 3vw, 34px);
  border: 1px solid #c5e5e8;
  border-radius: 18px;
  background:
    radial-gradient(circle at 12% 18%, rgba(0,169,189,.08), transparent 28%),
    linear-gradient(145deg, rgba(255,255,255,.96), rgba(238,244,245,.96));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
}

.lunch-ocean-scene{
  position: absolute;
  z-index: 0;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  contain: paint;
  isolation: isolate;
  clip-path: inset(0);
}

.lunch-ocean-scene::before,
.lunch-ocean-scene::after{
  display: none;
}

.lunch-ocean-scene::before{
  width: 210px;
  height: 210px;
  left: -80px;
  bottom: -110px;
}

.lunch-ocean-scene::after{
  width: 110px;
  height: 110px;
  right: 7%;
  top: 9%;
}

.lunch-ocean-scene canvas{
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  opacity: .94;
  filter: none;
  transform: none;
  mix-blend-mode: normal;
}

.lunch-pointer-fish{
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  display: block;
  width: clamp(120px, 16vw, 220px);
  height: auto;
  pointer-events: none;
  user-select: none;
  will-change: transform;
  filter: none;
}

.lunch-section-inner{
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1080px;
  margin-inline: auto;
}

.lunch-section-title{
  margin: 0 0 clamp(18px, 3vw, 28px);
  color: #12313c;
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(2.25rem, 6vw, 4.5rem);
  font-weight: 700;
  line-height: .95;
  text-align: center;
  text-transform: uppercase;
}

.lunch-preview-toggle{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  margin: 0 0 10px;
  padding: 7px 12px;
  border: 1px dashed #80cbd2;
  border-radius: 8px;
  background: rgba(255,255,255,.86);
  color: #075f69;
  font-size: .86rem;
  font-weight: 800;
  text-decoration: none;
}

#dagens-lunch .dagens-header{
  margin-bottom: 0;
}

.dagens-note{
  color: var(--lunch-ink);
  font-size: clamp(1.45rem, 3vw, 2.15rem);
  line-height: 1.05;
}

.lunch-display{
  position: relative;
  overflow: hidden;
  margin: 0 0 16px;
  padding: clamp(18px, 3.5vw, 38px);
  border: 1px solid rgba(255,255,255,.86);
  border-radius: 16px;
  background: rgba(255,255,255,.93);
  box-shadow:
    0 28px 70px rgba(11,72,84,.2),
    inset 0 1px 0 rgba(255,255,255,.95);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

.lunch-display::after{
  display: none;
}

.lunch-display-heading{
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 14px 24px;
  margin: clamp(24px, 4vw, 42px) 0 22px;
}

.lunch-display-kicker,
.lunch-slide-eyebrow{
  grid-column: 1 / -1;
  display: inline-flex;
  color: #087b89;
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .1em;
  line-height: 1;
  text-transform: uppercase;
}

.lunch-display-title{
  position: relative;
  z-index: 1;
  margin: 0;
  color: var(--lunch-ink);
  font-size: clamp(2.35rem, 6vw, 4.8rem);
  line-height: .92;
}

.lunch-display-meta,
.lunch-featured-list{
  position: relative;
  z-index: 1;
}

.lunch-display-meta{
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  margin: 0;
}

.lunch-service-panel{
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 0 0 18px;
  border-bottom: 1px solid #e2e9e9;
  border-radius: 0;
  background: transparent;
  color: var(--lunch-ink);
}

.lunch-service-copy{
  display: grid;
  gap: 3px;
}

.lunch-service-label{
  color: #718083;
  font-size: .72rem;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}

.lunch-service-copy strong{
  color: var(--lunch-ink);
  font-size: 1.05rem;
  line-height: 1.2;
}

.lunch-service-status{
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  min-height: 32px;
  padding: 6px 11px;
  border: 1px solid #d8e4e4;
  border-radius: 999px;
  background: #f5f8f8;
  color: #46575a;
  font-size: .78rem;
  font-weight: 800;
  white-space: nowrap;
}

.lunch-service-status::before{
  content: "";
  width: 7px;
  height: 7px;
  margin-right: 7px;
  border-radius: 50%;
  background: #ffd166;
}

.lunch-service-status.is-open::before{
  background: #5fe39a;
  box-shadow: 0 0 0 4px rgba(95,227,154,.14);
}

.lunch-pause-notice{
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px 24px;
  margin-top: 20px;
  padding: clamp(18px, 3vw, 28px);
  border: 1px solid #b9e2e5;
  border-radius: 12px;
  background: #eaf7f8;
}

.lunch-pause-notice.is-active{
  border-color: #9cd8dd;
  background: linear-gradient(135deg, #e6f7f8, #f7fbfb);
}

.lunch-pause-eyebrow{
  grid-column: 1 / -1;
  color: #087b89;
  font-size: .74rem;
  font-weight: 900;
  letter-spacing: .1em;
  line-height: 1;
  text-transform: uppercase;
}

.lunch-pause-notice h4{
  margin: 2px 0 0;
  color: #142326;
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(1.5rem, 3vw, 2.35rem);
  line-height: 1.05;
}

.lunch-pause-notice p{
  grid-column: 1;
  max-width: 68ch;
  margin: 4px 0 0;
  color: #526265;
  line-height: 1.5;
}

.lunch-pause-return{
  grid-column: 1;
  color: #142326;
  font-size: 1rem;
}

.lunch-pause-actions{
  grid-column: 2;
  grid-row: 2 / span 3;
  display: grid;
  align-content: center;
  gap: 8px;
}

.lunch-pause-actions a{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 8px 14px;
  border: 1px solid #bedde0;
  border-radius: 8px;
  background: #fff;
  color: #075f69;
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
}

.lunch-pause-actions a:first-child{
  border-color: #00a9bd;
  background: #00a9bd;
  color: #fff;
}

.lunch-display.is-lunch-pause .lunch-featured-list,
.lunch-display.is-lunch-pause .lunch-dots{
  display: none;
}

.lunch-display.is-lunch-pause .lunch-display-heading{
  margin-bottom: 0;
}

.lunch-chip,
.lunch-price-chip,
.lunch-included-chip{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 5px 10px;
  border-radius: 999px;
  font-size: .84rem;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}

.lunch-chip{
  background: #f4f7f7;
  border: 1px solid #e2e9e9;
  color: #526265;
}

.lunch-chip-strong{
  background: #00bcd4;
  color: #00353c;
  border-color: transparent;
}

.lunch-price-chip{
  background: #142326;
  color: #fff;
}

.lunch-included-chip{
  background: #eaf7f8;
  color: #087b89;
  border: 1px solid #ccebed;
}

.lunch-featured-list{
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
  gap: 8px;
}

.lunch-featured-item{
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 2px;
  padding: 13px 14px;
  border-radius: 10px;
  background: #f7f9f9;
  border: 1px solid #e5ebeb;
  transition: border-color .2s ease, background .2s ease, transform .2s ease;
}

.lunch-featured-item.is-primary{
  grid-row: span 3;
  align-content: end;
  min-height: 250px;
  padding: clamp(20px, 4vw, 34px);
  background: #eaf7f8;
  border-color: #ccebed;
}

.lunch-featured-item:not(.is-primary):hover{
  border-color: #c8d9da;
  background: #fff;
  transform: translateY(-1px);
}

.lunch-featured-copy{
  display: grid;
  gap: 2px;
  min-width: 0;
}

.lunch-featured-item strong{
  color: var(--lunch-ink);
  font-size: 1rem;
  line-height: 1.2;
}

.lunch-featured-item span{
  color: #68777a;
  line-height: 1.35;
}

.lunch-featured-item.is-primary strong{
  max-width: 16ch;
  color: var(--lunch-ink);
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(1.8rem, 4vw, 3.4rem);
  line-height: 1;
}

.lunch-featured-item.is-primary .lunch-featured-copy{
  gap: 9px;
}

.lunch-featured-item .lunch-primary-label{
  color: #087b89;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.lunch-featured-item .lunch-price-chip{
  color: #fff;
}

.lunch-featured-item .lunch-included-chip{
  color: #087b89;
}

.lunch-dots{
  position: relative;
  z-index: 1;
  justify-content: flex-start;
  gap: 8px;
  margin: 22px 0 0;
  padding-top: 16px;
  border-top: 1px solid #e2e9e9;
}

.lunch-dot{
  display: inline-grid;
  place-items: center;
  gap: 1px;
  min-width: 64px;
  height: 44px;
  padding: 0 12px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: #f3f6f6;
  color: #536366;
  box-shadow: none;
  transition: color .2s ease, background .2s ease, border-color .2s ease;
}

.lunch-dot small{
  color: inherit;
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .06em;
  line-height: 1;
  text-transform: uppercase;
}

.lunch-dot.is-today{
  border-color: #a7dde2;
}

.lunch-dot[aria-selected="true"]{
  background: var(--lunch-accent);
  color: #fff;
  border-color: var(--lunch-accent);
}

.lunch-dot:hover,
.lunch-dot:focus-visible{
  border-color: #8bd2da;
  background: #eaf7f8;
  color: #087b89;
}

.lunch-dot[aria-selected="true"]:hover,
.lunch-dot[aria-selected="true"]:focus-visible{
  background: #008fa1;
  color: #fff;
  border-color: #008fa1;
}

@media (max-width: 820px){
  .lunch-display-heading{
    grid-template-columns: 1fr;
  }

  .lunch-display-meta{
    justify-content: flex-start;
  }

  .lunch-featured-list{
    grid-template-columns: 1fr;
  }

  .lunch-featured-item.is-primary{
    grid-row: auto;
    min-height: 220px;
  }

  .lunch-pause-notice{
    grid-template-columns: 1fr;
  }

  .lunch-pause-actions{
    grid-column: 1;
    grid-row: auto;
    grid-template-columns: 1fr 1fr;
    margin-top: 8px;
  }
}

.lunch-slider{
  margin-top: 0;
}

.lunch-viewport{
  border: 0;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(0,0,0,.08);
}

.lunch-slide{
  padding: clamp(16px, 3vw, 24px);
}

.lunch-slide-head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--line);
}

.lunch-slide h3{
  margin: 6px 0 0;
  color: var(--lunch-ink);
  font-size: clamp(1.45rem, 3.2vw, 2.2rem);
  line-height: 1;
  text-decoration: none;
}

.lunch-list{
  display: grid;
  gap: 10px;
}

.lunch-list li,
.lunch-meal{
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 13px 14px;
  border: 1px solid rgba(0,0,0,.055);
  border-radius: 14px;
  background: #f4f5f1;
  box-shadow: 0 6px 18px rgba(0,0,0,.035);
}

.lunch-meal.is-tip{
  background: linear-gradient(135deg, rgba(255,209,102,.2), rgba(255,255,255,.94));
  border-color: rgba(255,209,102,.45);
}

.lunch-item-title{
  color: var(--lunch-ink);
  font-size: 1.02rem;
  line-height: 1.2;
}

.lunch-item-desc{
  margin-top: 4px;
  color: #667174;
  line-height: 1.35;
}

.lunch-item-right{
  display: flex;
  justify-content: flex-end;
  text-align: right;
}

@media (max-width: 640px){
  #dagens-lunch{
    width: calc(100% - 12px) !important;
    margin-top: 12px !important;
    min-height: 0;
    padding: 52px 8px 22px;
    background-position: center top;
  }

  .lunch-ocean-scene canvas{
    display: none;
  }

  .lunch-pointer-fish{
    display: none;
  }

  .lunch-display{
    padding: 16px;
    border-radius: 12px;
  }

  .lunch-display-title{
    font-size: clamp(2.7rem, 15vw, 4.2rem);
  }

  .lunch-service-panel{
    display: grid;
    gap: 10px;
    padding: 13px;
  }

  .lunch-service-status{
    justify-self: start;
  }

  .lunch-pause-notice{
    padding: 16px;
  }

  .lunch-pause-actions{
    grid-template-columns: 1fr;
  }

  .lunch-featured-item{
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    padding: 12px;
  }

  .lunch-featured-item.is-primary{
    grid-template-columns: 1fr;
    min-height: 190px;
    padding: 20px;
  }

  .lunch-dots{
    flex-wrap: nowrap;
    justify-content: flex-start;
    overflow-x: auto;
    padding: 14px 2px 2px;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
  }

  .lunch-dots::-webkit-scrollbar{
    display: none;
  }

  .lunch-dot{
    flex: 0 0 auto;
    min-width: 68px;
    scroll-snap-align: start;
  }

  .lunch-slide{
    padding: 14px;
  }

  .lunch-slide-head{
    display: grid;
    gap: 10px;
  }

  .lunch-list li,
  .lunch-meal{
    grid-template-columns: 1fr;
    align-items: stretch;
    padding: 12px;
  }

  .lunch-item-right{
    justify-content: flex-start;
    text-align: left;
  }
}

/* Premium footer polish */
.footer{
  padding: clamp(42px, 7vw, 76px) 16px 34px !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(0,188,212,.16), transparent 32%),
    linear-gradient(145deg, #111b22 0%, #24384c 58%, #1b2a38 100%) !important;
  color: #f7fafd !important;
  border-top: 0 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}

.footer::before{
  height: 2px;
  background: linear-gradient(90deg, transparent 8%, rgba(0,188,212,.25), #00bcd4 50%, rgba(255,255,255,.28), transparent 92%);
}

.footer-content{
  gap: clamp(24px, 5vw, 56px) !important;
  max-width: min(1120px, 100% - 32px) !important;
  margin: 0 auto clamp(28px, 5vw, 46px) !important;
  padding-bottom: clamp(24px, 4vw, 38px);
  border-bottom: 1px solid rgba(255,255,255,.12);
}

.footer-section{
  display: grid;
  align-content: start;
  gap: 8px;
}

.footer-section h3{
  margin: 0 0 10px !important;
  color: #ffffff !important;
  font-family: "Playfair Display", serif;
  font-size: clamp(1.16rem, 2vw, 1.45rem) !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
}

.footer-section p,
.footer-section li{
  margin: 0 0 8px !important;
  color: rgba(247,250,253,.84) !important;
  font-size: .96rem !important;
  line-height: 1.45;
}

.footer-section a{
  color: #ffffff !important;
  text-underline-offset: 4px;
}

.footer-section a:hover{
  color: #72d9e7 !important;
}

.social{
  align-items: center !important;
  gap: 10px !important;
}

.social-chip{
  min-width: 128px;
  padding: 9px 16px !important;
  border-color: rgba(255,255,255,.26) !important;
  background: rgba(255,255,255,.09) !important;
  font-weight: 800 !important;
}

.social-chip svg{
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}

.social-chip svg path{
  fill: currentColor;
  stroke: none;
}

.footer-primary-row{
  display: grid;
  justify-items: center;
  gap: 14px;
}

.footer-intro{
  display: none;
}

.social-chip:hover{
  background: rgba(0,188,212,.22) !important;
  border-color: rgba(0,188,212,.7) !important;
}

.footer-bottom{
  margin-top: 0 !important;
  display: grid !important;
  justify-items: center;
  gap: 14px;
  color: rgba(255,255,255,.76) !important;
}

.footer-booking{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 18px;
  border-radius: 999px;
  background: #00bcd4;
  color: #06363d !important;
  font-weight: 900;
  text-decoration: none;
  box-shadow: 0 12px 28px rgba(0,188,212,.22);
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.footer-booking:hover{
  background: #5bd9e8;
  transform: translateY(-1px);
  box-shadow: 0 16px 32px rgba(0,188,212,.28);
}

.footer-copyright{
  color: rgba(247,250,253,.72) !important;
}

.designer-credit{
  margin-top: 2px;
  border-top-color: rgba(255,255,255,.18) !important;
}

@media (max-width: 768px){
  .footer{
    padding-bottom: 30px !important;
  }

  .footer-content{
    gap: 28px !important;
  }

  .footer-section,
  .footer-section:first-child,
  .footer-section:last-child{
    text-align: center !important;
  }

  .footer-booking{
    width: min(220px, 100%);
  }
}

/* Premium sticky header/nav */
.topbar{
  min-height: 64px;
  padding: 12px clamp(14px, 3vw, 24px) !important;
  background: rgba(242,243,238,.94) !important;
  border-bottom: 1px solid rgba(10,18,20,.08) !important;
  box-shadow: 0 10px 28px rgba(10,18,20,.07) !important;
  backdrop-filter: blur(16px) saturate(1.15) !important;
  transition: min-height .22s ease, padding .22s ease, background .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.topbar.is-scrolled{
  min-height: 52px;
  padding-top: 7px !important;
  padding-bottom: 7px !important;
  background: rgba(242,243,238,.985) !important;
  border-color: rgba(10,18,20,.12) !important;
  box-shadow: 0 12px 30px rgba(10,18,20,.10) !important;
}

.brand{
  position: relative;
  min-height: 38px;
  padding: 0 4px;
  color: #152427 !important;
  transition: transform .2s ease, color .2s ease, opacity .2s ease;
}

.brand:hover{
  color: #0b7f8d !important;
  transform: translateY(-1px);
}

.brand .fish{
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background: rgba(0,188,212,.12);
  transition: transform .2s ease, background .2s ease;
}

.brand:hover .fish{
  background: rgba(0,188,212,.22);
  transform: rotate(-8deg) scale(1.04);
}

.nav-desktop{
  gap: 8px !important;
}

.nav-desktop a:not(.btn){
  position: relative;
  isolation: isolate;
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0 13px !important;
  border-radius: 999px !important;
  color: #1b2a2d !important;
  font-weight: 800;
  text-decoration: none !important;
  transition: color .2s ease, background .2s ease, transform .2s ease;
}

.nav-desktop a:not(.btn)::before{
  content: "";
  position: absolute;
  inset: 5px;
  z-index: -1;
  border-radius: inherit;
  background: rgba(0,188,212,.12);
  transform: scale(.82);
  opacity: 0;
  transition: transform .2s ease, opacity .2s ease;
}

.nav-desktop a:not(.btn)::after{
  content: "";
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 4px;
  height: 2px;
  border-radius: 999px;
  background: #00bcd4;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .2s ease;
}

.nav-desktop a:not(.btn):hover{
  color: #075965 !important;
  transform: translateY(-1px);
}

.nav-desktop a:not(.btn):hover::before,
.nav-desktop a:not(.btn).is-active::before,
.nav-desktop a:not(.btn)[aria-current="page"]::before{
  opacity: 1;
  transform: scale(1);
}

.nav-desktop a:not(.btn).is-active,
.nav-desktop a:not(.btn)[aria-current="page"]{
  color: #06363d !important;
}

.nav-desktop a:not(.btn).is-active::after,
.nav-desktop a:not(.btn)[aria-current="page"]::after{
  transform: scaleX(1);
}

.topbar .btn.primary{
  min-height: 42px;
  padding: 0 18px !important;
  border-radius: 999px !important;
  box-shadow: 0 10px 24px rgba(0,188,212,.22);
  font-weight: 900;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.topbar.is-scrolled .btn.primary{
  min-height: 38px;
}

.topbar .btn.primary:hover{
  transform: translateY(-1px);
  box-shadow: 0 14px 28px rgba(0,188,212,.28);
}

.hamburger{
  width: 44px;
  height: 44px;
  place-content: center;
  border-radius: 999px !important;
  background: rgba(255,255,255,.62) !important;
  box-shadow: inset 0 0 0 1px rgba(10,18,20,.08);
}

@media (max-width: 767px){
  .topbar{
    min-height: 58px;
  }

  .topbar.is-scrolled{
    min-height: 52px;
  }
}

/* Refined restaurant header */
.topbar{
  min-height: 72px;
  padding: 10px clamp(18px, 3.2vw, 46px) !important;
  background: #ffffff !important;
  background-image: none !important;
  border-bottom: 1px solid rgba(7,31,60,.1) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  filter: none !important;
  opacity: 1;
}

.topbar.is-scrolled{
  min-height: 60px;
  padding-top: 7px !important;
  padding-bottom: 7px !important;
  background: #ffffff !important;
  background-image: none !important;
  box-shadow: none !important;
}

.topbar::before{
  content: none !important;
  display: none !important;
}

.topbar::after{
  content: none !important;
  display: none !important;
}

.brand{
  gap: 11px;
  min-height: 44px;
  padding: 0 !important;
}

.brand-mark{
  display: grid;
  place-items: center;
  width: 58px;
  height: 46px;
  transition: transform .2s ease;
}

.brand-mark img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: none;
}

.brand-copy{
  display: grid;
  line-height: 1;
}

.brand-copy strong{
  color: #071f3c;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1.32rem;
  font-weight: 700;
  letter-spacing: .02em;
}

.brand-copy small{
  margin-top: 5px;
  color: #52717c;
  font-family: "Source Sans 3", sans-serif;
  font-size: .58rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.brand:hover .brand-mark{
  transform: translateX(2px);
}

.nav-desktop{
  gap: 3px !important;
  background: transparent !important;
  box-shadow: none !important;
}

.nav-desktop a:not(.btn){
  min-height: 40px;
  padding: 0 14px !important;
  border-radius: 0 !important;
  color: #243b43 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: .96rem;
  font-weight: 700;
}

.nav-desktop a:not(.btn)::before{
  content: none !important;
  display: none !important;
}

.nav-desktop a:not(.btn)::after{
  left: 14px;
  right: 14px;
  bottom: 2px;
  height: 2px;
  background: #159aad;
}

.nav-desktop a:not(.btn):hover{
  color: #071f3c !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none;
}

.nav-desktop a:not(.btn).is-active,
.nav-desktop a:not(.btn)[aria-current="page"]{
  background: transparent !important;
  box-shadow: none !important;
}

.nav-desktop a:not(.btn):hover::after,
.nav-desktop a:not(.btn).is-active::after,
.nav-desktop a:not(.btn)[aria-current="page"]::after{
  transform: scaleX(1);
}

.topbar .btn.primary{
  min-height: 42px;
  margin-left: 12px;
  padding: 0 20px !important;
  border: 1px solid #071f3c;
  background: #071f3c !important;
  color: #fff !important;
  box-shadow: none !important;
  font-weight: 800;
}

.topbar .btn.primary:hover{
  background: #0b5270 !important;
  border-color: #0b5270;
  box-shadow: none !important;
}

@media (max-width: 767px){
  .topbar{
    min-height: 64px;
    padding-inline: 16px !important;
  }

  .brand-mark{
    width: 50px;
    height: 40px;
  }

  .brand-copy strong{
    font-size: 1.16rem;
  }

  .hamburger{
    background: #f3f7f8 !important;
    box-shadow: inset 0 0 0 1px rgba(7,31,60,.12);
  }

  .hamburger .bar{
    background: #071f3c;
  }
}

/* Isolated desktop navbar rebuild */
@media (min-width: 768px){
  .topbar-clean{
    display: flex !important;
  }

  body{
    padding-top: calc(var(--topbar-height) + 44px + 16px) !important;
  }

  .ticker{
    top: var(--topbar-height) !important;
  }
}

/* Keep the desktop header on a plain compositing layer. */
@media (min-width: 768px){
  .topbar,
  .topbar.topbar-clean,
  .topbar.is-scrolled{
    background: #ffffff !important;
    background-color: #ffffff !important;
    background-image: none !important;
    box-shadow: none !important;
    filter: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    transform: none !important;
    translate: none !important;
    opacity: 1 !important;
    mix-blend-mode: normal !important;
    will-change: auto !important;
  }

  .topbar::before,
  .topbar::after,
  .nav-desktop::before,
  .nav-desktop::after{
    content: none !important;
    display: none !important;
    background: none !important;
    box-shadow: none !important;
    filter: none !important;
  }

  .nav-desktop{
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    filter: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    transform: none !important;
    opacity: 1 !important;
    mix-blend-mode: normal !important;
  }
}

/* Consistent restaurant typography */
body{
  font-family: "Source Sans 3", system-ui, -apple-system, Segoe UI, Helvetica, Arial, sans-serif !important;
  font-weight: 400;
}

p,
li,
.lead,
.desc,
.lunch-item-desc,
.gallery-card-content p,
.footer-section p,
.footer-section li{
  font-family: "Source Sans 3", system-ui, -apple-system, Segoe UI, Helvetica, Arial, sans-serif !important;
}

p,
li,
.desc,
.gallery-card-content p,
.footer-section p,
.footer-section li{
  font-weight: 400 !important;
}

.lead{
  font-weight: 500 !important;
}

h1,
.hero-copy h1,
.midtext h1{
  font-family: "Playfair Display", Georgia, serif !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
}

h2,
.section-bleed .reveal h2,
.section-bleed.scrub h2,
.instagram-header h2,
.gallery-card-content h2{
  font-family: "Playfair Display", Georgia, serif !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
}

h3,
.card h3,
.cards.textonly .card h3,
.lunch-slide h3,
.footer-section h3,
.grid-title,
.modal-body h3{
  font-family: "Playfair Display", Georgia, serif !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

.event-card h3,
.lunch-display-title,
.lunch-day-title,
.lunch-slide h3{
  font-weight: 700 !important;
}

.nav-desktop a,
.drawer-nav a,
.btn,
button,
.tab,
.tabs-mobile,
.badge,
.price,
.lunch-price-chip,
.lunch-included-chip,
.lunch-dot,
.social-chip,
.footer-booking,
.designer-copy{
  font-family: "Source Sans 3", system-ui, -apple-system, Segoe UI, Helvetica, Arial, sans-serif !important;
}

.nav-desktop a,
.drawer-nav a,
.btn,
button,
.tab,
.social-chip,
.footer-booking{
  font-weight: 800 !important;
}

.price,
.lunch-price-chip,
.lunch-included-chip,
.designer-copy strong{
  font-weight: 900 !important;
}

.eyebrow,
.badge,
.lunch-dot,
.designer-copy span{
  font-weight: 700 !important;
}

/* Bento gallery */
.bento-gallery{
  display: grid !important;
  grid-template-columns: repeat(12, 1fr) !important;
  grid-auto-rows: 120px;
  gap: 14px !important;
  align-items: stretch;
}

.bento-gallery .gallery-card{
  position: relative;
  grid-column: span 3;
  grid-row: span 2;
  width: 100%;
  max-width: none !important;
  min-height: 0;
  margin: 0 !important;
  border: 1px solid rgba(10,18,20,.08);
  border-radius: 18px !important;
  background: #111b22;
  box-shadow: 0 16px 36px rgba(10,18,20,.1) !important;
  overflow: hidden;
  cursor: zoom-in;
  isolation: isolate;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.bento-gallery .gallery-card[hidden]{
  display: none !important;
}

.bento-gallery .bento-large{
  grid-column: span 6;
  grid-row: span 3;
}

.bento-gallery .bento-wide{
  grid-column: span 6;
}

.bento-gallery .bento-tall{
  grid-row: span 3;
}

.bento-gallery .gallery-card img{
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover;
  border-radius: 0 !important;
  transition: transform .35s ease, filter .35s ease;
}

.bento-gallery .gallery-card-content{
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  display: grid;
  gap: 3px;
  padding: 18px !important;
  text-align: left !important;
  background: linear-gradient(180deg, transparent, rgba(5,9,10,.78));
  color: #fff;
}

.bento-gallery .gallery-card-content h2{
  margin: 0 !important;
  color: #fff;
  font-size: clamp(1.15rem, 1rem + .55vw, 1.55rem) !important;
  line-height: 1.05;
}

.bento-gallery .gallery-card-content p{
  margin: 0 !important;
  color: rgba(255,255,255,.82) !important;
  font-size: .92rem !important;
  line-height: 1.3;
}

.bento-gallery .gallery-card:hover{
  transform: translateY(-4px);
  border-color: rgba(0,188,212,.4);
  box-shadow: 0 24px 48px rgba(10,18,20,.15) !important;
}

.bento-gallery .gallery-card:hover img{
  transform: scale(1.045);
  filter: saturate(1.06);
}

.gallery-actions{
  display: flex;
  justify-content: center;
  margin-top: 22px;
}

.gallery-actions[hidden]{
  display: none !important;
}

@media (max-width: 900px){
  .bento-gallery{
    grid-template-columns: repeat(6, 1fr) !important;
    grid-auto-rows: 110px;
  }

  .bento-gallery .gallery-card,
  .bento-gallery .bento-tall{
    grid-column: span 3;
    grid-row: span 2;
  }

  .bento-gallery .bento-large,
  .bento-gallery .bento-wide{
    grid-column: span 6;
  }
}

@media (max-width: 620px){
  .bento-gallery{
    grid-template-columns: 1fr !important;
    grid-auto-rows: auto;
    gap: 12px !important;
  }

  .bento-gallery .gallery-card,
  .bento-gallery .bento-large,
  .bento-gallery .bento-wide,
  .bento-gallery .bento-tall{
    grid-column: 1 / -1;
    grid-row: auto;
    min-height: 280px;
  }

  .bento-gallery .gallery-card img{
    aspect-ratio: 4 / 3;
  }

  .bento-gallery .gallery-card-content{
    padding: 16px !important;
  }

  .gallery-actions .btn{
    width: min(100%, 310px);
  }
}

/* Responsive true-ratio lightbox */
.lightbox[open]{
  display: grid;
}

.lightbox{
  width: auto !important;
  height: auto !important;
  max-width: calc(100vw - 28px) !important;
  max-height: calc(100dvh - 28px) !important;
  min-height: 0 !important;
  padding: 14px !important;
  border: 0 !important;
  border-radius: 22px !important;
  background: rgba(8,13,16,.94) !important;
  box-shadow: 0 28px 90px rgba(0,0,0,.46), inset 0 0 0 1px rgba(255,255,255,.12) !important;
  overflow: visible !important;
}

.lightbox-img-container{
  width: min(92vw, calc((84dvh - 96px) * var(--image-aspect, 1.35)));
  max-width: 1180px;
  max-height: calc(84dvh - 96px);
  display: grid !important;
  place-items: center;
}

.lightbox[data-orientation="vertical"] .lightbox-img-container{
  width: min(76vw, calc((88dvh - 96px) * var(--image-aspect, .72)));
  max-width: 620px;
}

.lightbox[data-orientation="square"] .lightbox-img-container{
  width: min(82vw, 76dvh, 760px);
}

.lightbox img,
.lightbox img.wide,
.lightbox img.vertical,
.lightbox img.square{
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: calc(84dvh - 96px) !important;
  object-fit: contain !important;
  border-radius: 16px !important;
  background: transparent !important;
  box-shadow: 0 18px 50px rgba(0,0,0,.35) !important;
}

.lightbox[data-orientation="vertical"] img{
  max-height: calc(88dvh - 96px) !important;
}

.lightbox__close{
  position: absolute !important;
  top: -14px !important;
  right: -14px !important;
  z-index: 3;
}

.lightbox__counter{
  position: static !important;
  transform: none !important;
  max-width: min(92vw, 760px);
  margin: 12px auto 0;
  padding: 8px 12px !important;
  overflow-x: auto;
  justify-content: flex-start !important;
  background: rgba(255,255,255,.08) !important;
}

.lightbox__counter::-webkit-scrollbar{
  display: none;
}

@media (max-width: 640px){
  .lightbox{
    max-width: calc(100vw - 16px) !important;
    max-height: calc(100dvh - 16px) !important;
    padding: 10px !important;
    border-radius: 18px !important;
  }

  .lightbox-img-container,
  .lightbox[data-orientation="vertical"] .lightbox-img-container,
  .lightbox[data-orientation="square"] .lightbox-img-container{
    width: calc(100vw - 36px);
    max-height: calc(82dvh - 96px);
  }

  .lightbox img,
  .lightbox img.wide,
  .lightbox img.vertical,
  .lightbox img.square{
    max-height: calc(82dvh - 96px) !important;
  }

  .lightbox__close{
    top: 8px !important;
    right: 8px !important;
  }

  .lightbox__counter{
    max-width: calc(100vw - 36px);
  }
}

.lightbox #lightbox-img,
.lightbox #lightbox-img.wide,
.lightbox #lightbox-img.vertical,
.lightbox #lightbox-img.square{
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: calc(84dvh - 96px) !important;
  object-fit: contain !important;
}

.lightbox[data-orientation="vertical"] #lightbox-img{
  max-height: calc(88dvh - 96px) !important;
}

.lightbox .lightbox-thumb{
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  max-width: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  object-fit: cover !important;
  border-radius: 6px !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.12) !important;
}

@media (max-width: 640px){
  .lightbox #lightbox-img,
  .lightbox #lightbox-img.wide,
  .lightbox #lightbox-img.vertical,
  .lightbox #lightbox-img.square{
    max-height: calc(82dvh - 96px) !important;
  }
}

/* Premium menu page */
.menu-section{
  margin-top: 40px !important;
  padding-top: clamp(26px, 5vw, 54px);
  background: transparent !important;
  border-radius: 0;
}

.menu-hero{
  display: grid;
  justify-items: center;
  gap: 10px;
  max-width: 820px;
  margin: 0 auto clamp(22px, 4vw, 36px);
  text-align: center;
}

.menu-eyebrow,
.menu-category-eyebrow{
  margin: 0;
  color: #0b7f8d;
  font-size: .78rem;
  font-weight: 900 !important;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.menu-hero h1{
  margin: 0;
}

.menu-hero .lead{
  max-width: 58ch;
  margin: 0;
}

.menu-quick-info{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin-top: 6px;
}

.menu-quick-info span{
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(0,188,212,.12);
  color: #075965;
  font-size: .86rem;
  font-weight: 900;
}

.menu-tabs{
  position: sticky;
  top: calc(var(--topbar-height, 64px) + 44px);
  z-index: 20;
  margin: 0 auto 16px !important;
  padding: 8px !important;
  border: 1px solid rgba(10,18,20,.08) !important;
  border-radius: 999px;
  background: rgba(255,255,255,.82);
  box-shadow: 0 12px 28px rgba(10,18,20,.08);
  backdrop-filter: blur(12px);
}

.menu-tabs .tab{
  min-height: 40px;
  padding: 0 15px !important;
  border-radius: 999px;
  color: #26383b;
  white-space: nowrap;
}

.menu-tabs .tab.active{
  background: #00bcd4;
  color: #06363d;
  box-shadow: 0 10px 22px rgba(0,188,212,.22);
}

.menu-tabs .tab.active::after{
  display: none;
}

.menu-select-wrap{
  display: grid;
  gap: 7px;
  margin: 0 0 16px;
}

.menu-select-wrap label{
  color: #687477;
  font-size: .82rem;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.menu-select-wrap select{
  width: 100%;
  min-height: 46px;
  padding: 0 14px;
  border: 1px solid rgba(10,18,20,.12);
  border-radius: 14px;
  background: #fff;
  color: #142326;
  font: 800 1rem "Source Sans 3", system-ui, sans-serif;
}

.menu-grids{
  max-width: 980px;
  margin: 0 auto;
}

.menu-cat-note{
  margin: 0 0 12px;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(0,188,212,.1);
  color: #075965 !important;
  font-weight: 700 !important;
}

.menu-category-head{
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  margin: 8px 0 14px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(10,18,20,.1);
}

.menu-category-head h2{
  margin: 0;
  font-size: clamp(1.8rem, 4vw, 2.7rem);
}

.menu-count-chip{
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  background: #142326;
  color: #fff;
  font-weight: 900;
  white-space: nowrap;
}

.cards.textonly.menu-list{
  display: grid;
  gap: 10px;
}

.cards.textonly .menu-item{
  padding: 0 !important;
  border: 1px solid rgba(10,18,20,.08) !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.88) !important;
  box-shadow: 0 12px 28px rgba(10,18,20,.06) !important;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.cards.textonly .menu-item:hover{
  transform: translateY(-2px);
  border-color: rgba(0,188,212,.34) !important;
  box-shadow: 0 18px 34px rgba(10,18,20,.09) !important;
}

.cards.textonly .menu-item .pad{
  padding: 16px 18px !important;
}

.menu-item-head{
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: start;
}

.menu-item-copy{
  display: grid;
  gap: 4px;
}

.cards.textonly .menu-item h3{
  margin: 0 !important;
  font-size: clamp(1.08rem, 1rem + .35vw, 1.28rem) !important;
  line-height: 1.12;
}

.cards.textonly .menu-item p{
  margin: 0 !important;
  color: #687477 !important;
  line-height: 1.38;
}

.menu-price{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 12px;
  border-radius: 999px;
  background: #f0fbfc;
  color: #075965;
  border: 1px solid rgba(0,188,212,.22);
  white-space: nowrap;
}

.menu-badges{
  margin-top: 12px !important;
}

.menu-badges .badge{
  background: #eef0e9;
  border-color: rgba(10,18,20,.08);
  color: #26383b;
}

@media (max-width: 767px){
  .menu-section{
    width: min(100% - 16px, 1120px);
    padding-top: 26px;
  }

  .menu-tabs{
    display: none !important;
  }

  .menu-quick-info{
    display: grid;
    grid-template-columns: 1fr;
    width: min(100%, 330px);
  }

  .menu-category-head{
    align-items: start;
  }

  .menu-count-chip{
    margin-top: 4px;
  }

  .menu-item-head{
    grid-template-columns: 1fr;
  }

  .menu-price{
    width: fit-content;
  }

  .cards.textonly .menu-item .pad{
    padding: 15px !important;
  }
}

/* Contact quick actions */
#kontakt{
  scroll-margin-top: calc(var(--topbar-height, 64px) + 76px);
}

#kontakt > h2{
  margin-bottom: 18px;
}

#kontakt .two{
  align-items: stretch;
}

.contact-card{
  display: grid;
  align-content: center;
  gap: 10px;
  padding: clamp(18px, 3vw, 28px) !important;
  background:
    linear-gradient(145deg, rgba(255,255,255,.92), rgba(232,235,228,.96)),
    #f2f3ee !important;
}

.contact-eyebrow{
  margin: 0;
  color: #0b7f8d;
  font-size: .78rem;
  font-weight: 900 !important;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.contact-card p{
  margin: 0;
  color: #26383b;
}

.contact-card a{
  color: #075965;
  font-weight: 800;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.contact-actions{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.contact-action{
  display: grid;
  gap: 2px;
  min-height: 74px;
  padding: 13px 14px;
  border: 1px solid rgba(10,18,20,.08);
  border-radius: 16px;
  background: #ffffff;
  color: #142326 !important;
  text-decoration: none;
  box-shadow: 0 10px 26px rgba(10,18,20,.07);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
}

.contact-action span{
  color: #142326;
  font-size: 1rem;
  font-weight: 900;
  line-height: 1.12;
}

.contact-action strong{
  color: #687477;
  font-size: .84rem;
  font-weight: 800;
  line-height: 1.2;
}

.contact-action-primary{
  background: #00bcd4;
  border-color: transparent;
  color: #06363d !important;
  box-shadow: 0 14px 30px rgba(0,188,212,.22);
}

.contact-action-primary span,
.contact-action-primary strong{
  color: #06363d;
}

.contact-action:hover,
.contact-action:focus-visible{
  border-color: rgba(0,188,212,.55);
  background: #f4fbfc;
  box-shadow: 0 16px 32px rgba(10,18,20,.1);
  transform: translateY(-2px);
}

.contact-action-primary:hover,
.contact-action-primary:focus-visible{
  background: #5bd9e8;
}

#kontakt .map{
  min-height: 340px;
  border-radius: 18px;
  box-shadow: 0 16px 36px rgba(10,18,20,.1);
}

@media (max-width: 900px){
  .contact-actions{
    grid-template-columns: 1fr;
  }

  .contact-action{
    min-height: 62px;
    grid-template-columns: 1fr auto;
    align-items: center;
  }
}

@media (max-width: 640px){
  #kontakt{
    width: min(100% - 18px, 1120px);
  }

  #kontakt > h2{
    text-align: center;
  }

  .contact-card{
    text-align: center;
    border-radius: 18px;
  }

  .contact-action{
    text-align: left;
  }

  #kontakt .map{
    min-height: 280px;
  }
}

/* Event section upgrade */
#events{
  padding-top: clamp(34px, 6vw, 72px);
  padding-bottom: clamp(34px, 6vw, 72px);
}

.events-head{
  display: grid;
  gap: 8px;
  max-width: 760px;
  margin-bottom: clamp(20px, 4vw, 34px);
}

.events-eyebrow{
  margin: 0;
  color: #0b7f8d;
  font-size: .78rem;
  font-weight: 900 !important;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.events-head h2{
  margin: 0;
}

.events-head .lead{
  margin: 0;
  max-width: 64ch;
}

.events-grid{
  --events-gap: 20px;
  display: flex;
  gap: var(--events-gap);
  width: 100%;
  padding: 4px 0 18px;
  overflow-x: auto;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.events-grid::-webkit-scrollbar{
  display: none;
}

.event-card{
  flex: 0 0 calc(40% - 16px);
  min-width: 0;
  overflow: hidden;
  scroll-snap-align: start;
  border-radius: 18px !important;
  background: #f2f3ee !important;
  border: 1px solid rgba(10,18,20,.08) !important;
  box-shadow: 0 16px 36px rgba(10,18,20,.08) !important;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.event-card img,
.event-card video{
  display: block;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 16 / 11;
  object-fit: cover !important;
  border-radius: 0 !important;
  background: #132025;
}

.event-card-featured img,
.event-card-featured video{
  aspect-ratio: 16 / 10;
}

.event-card .pad{
  display: grid;
  gap: 10px;
  padding: clamp(16px, 2vw, 22px) !important;
}

.event-meta{
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.event-meta span{
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(0,188,212,.12);
  color: #075965;
  font-size: .8rem;
  font-weight: 900;
}

.event-card .badges{
  gap: 7px;
}

.event-card .badge{
  background: #ffffff;
  border-color: rgba(10,18,20,.08);
  color: #233639;
  font-weight: 800 !important;
}

.event-card h3{
  margin: 0 !important;
  font-size: clamp(1.35rem, 1.1rem + .8vw, 2rem) !important;
}

.event-card p{
  margin: 0;
  color: #5f6b6f !important;
  line-height: 1.45;
}

.event-card:hover{
  transform: translateY(-4px);
  border-color: rgba(0,188,212,.35) !important;
  box-shadow: 0 22px 46px rgba(10,18,20,.13) !important;
}

.events-cta{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  margin-top: clamp(22px, 4vw, 34px);
}

.events-slider-controls{
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin: -52px 0 18px auto;
}

.events-slider-button{
  display: inline-grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid rgba(20,35,38,.14);
  border-radius: 50%;
  background: rgba(255,255,255,.82);
  color: #142326;
  font-size: 21px;
  cursor: pointer;
  transition: background .2s ease, color .2s ease, border-color .2s ease, opacity .2s ease;
}

.events-slider-button:hover,
.events-slider-button:focus-visible{
  border-color: #00a9bd;
  background: #00a9bd;
  color: #fff;
}

.events-slider-button:disabled{
  opacity: .32;
  cursor: default;
}

#events .event-pulse{
  margin: 6px 0 0;
}

@media (max-width: 980px){
  .event-card{
    flex-basis: calc(40% - 16px);
  }
}

@media (max-width: 680px){
  #events{
    width: min(100% - 14px, 1120px);
  }

  .events-head{
    text-align: center;
    justify-items: center;
  }

  .events-grid{
    gap: 12px;
    margin-inline: -7px;
    padding: 2px 7px 14px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }

  .events-grid::-webkit-scrollbar{
    display: none;
  }

  .event-card,
  .event-card-featured{
    flex: 0 0 min(86vw, 340px);
    scroll-snap-align: center;
  }

  .events-slider-controls{
    display: none;
  }

  .event-card img,
  .event-card video,
  .event-card-featured img,
  .event-card-featured video{
    aspect-ratio: 4 / 3;
  }

  .events-cta .btn{
    width: min(100%, 310px);
  }
}

/* Cinematic split layout */
.section-bleed.scrub.bleed-enhanced.editorial-section{
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr);
  align-items: stretch;
  width: min(calc(100% - clamp(32px, 5vw, 84px)), 1400px);
  min-height: 560px;
  margin: clamp(18px, 3vw, 34px) auto !important;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(7,31,60,.1);
  border-radius: 30px;
  background: #071f3c;
  box-shadow: 0 26px 70px rgba(7,31,60,.14);
  isolation: isolate;
}

.section-bleed.scrub.bleed-enhanced.editorial-section::before,
.section-bleed.scrub.bleed-enhanced.editorial-section::after{
  content: none;
  display: none;
}

.section-bleed.scrub.bleed-enhanced.editorial-section > .__bg{
  position: relative;
  inset: auto;
  z-index: 1;
  grid-column: 1;
  grid-row: 1;
  width: 100%;
  min-height: 560px;
  border-radius: 0;
  background-position: center;
  background-size: cover;
  filter: saturate(.96) contrast(1.04);
  transform: scale(1.025);
  transform-origin: center;
  will-change: transform;
}

.section-bleed.scrub.bleed-enhanced.editorial-section > .__bg::after{
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, transparent 58%, rgba(7,31,60,.42)),
    linear-gradient(180deg, transparent 62%, rgba(7,31,60,.22));
  pointer-events: none;
}

.section-bleed.scrub.bleed-enhanced.editorial-section > .container{
  position: relative;
  z-index: 3;
  grid-column: 2;
  grid-row: 1;
  display: flex;
  align-items: center;
  width: auto;
  max-width: none;
  margin: 0;
  padding: clamp(34px, 4.2vw, 64px);
  background:
    radial-gradient(circle at 100% 0%, rgba(0,188,212,.13), transparent 34%),
    linear-gradient(145deg, #0a2948, #061a31);
}

.section-bleed.scrub.bleed-enhanced.editorial-section.editorial-right > .__bg{
  grid-column: 2;
}

.section-bleed.scrub.bleed-enhanced.editorial-section.editorial-right > .__bg::after{
  background:
    linear-gradient(270deg, transparent 58%, rgba(7,31,60,.42)),
    linear-gradient(180deg, transparent 62%, rgba(7,31,60,.22));
}

.section-bleed.scrub.bleed-enhanced.editorial-section.editorial-right > .container{
  grid-column: 1;
}

.section-bleed.scrub.bleed-enhanced.editorial-section .editorial-panel{
  width: 100%;
  max-width: 610px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.section-bleed.scrub.bleed-enhanced.editorial-section .editorial-panel h2{
  font-size: clamp(42px, 4.4vw, 68px) !important;
}

.section-bleed.scrub.bleed-enhanced.editorial-section .editorial-panel .lead,
.section-bleed.scrub.bleed-enhanced.editorial-section .editorial-panel p{
  font-size: clamp(16px, 1.35vw, 19px) !important;
}

.section-bleed.scrub.bleed-enhanced.editorial-section .editorial-facts{
  margin-top: 24px;
  background: rgba(255,255,255,.08);
}

.section-bleed.scrub.bleed-enhanced.editorial-section .editorial-facts > div{
  min-height: 74px;
  background: rgba(255,255,255,.035);
}

.section-bleed.scrub.bleed-enhanced.editorial-section .section-number,
.section-bleed.scrub.bleed-enhanced.editorial-section .section-scroll-cue{
  display: none;
}

@media (max-width: 980px){
  .section-bleed.scrub.bleed-enhanced.editorial-section{
    grid-template-columns: minmax(0, 1fr) minmax(340px, .9fr);
    min-height: 520px;
  }

  .section-bleed.scrub.bleed-enhanced.editorial-section > .__bg{
    min-height: 520px;
  }

  .section-bleed.scrub.bleed-enhanced.editorial-section > .container{
    padding: 32px;
  }

  .section-bleed.scrub.bleed-enhanced.editorial-section .editorial-facts{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px){
  .section-bleed.scrub.bleed-enhanced.editorial-section{
    display: grid;
    grid-template-columns: 1fr;
    width: min(calc(100% - 16px), 620px);
    min-height: 0;
    margin: 14px auto !important;
    border-radius: 22px;
  }

  .section-bleed.scrub.bleed-enhanced.editorial-section > .__bg,
  .section-bleed.scrub.bleed-enhanced.editorial-section.editorial-right > .__bg{
    grid-column: 1;
    grid-row: 1;
    min-height: 220px;
    max-height: 260px;
    transform: scale(1.02);
  }

  .section-bleed.scrub.bleed-enhanced.editorial-section > .__bg::after,
  .section-bleed.scrub.bleed-enhanced.editorial-section.editorial-right > .__bg::after{
    background: linear-gradient(180deg, transparent 50%, rgba(7,31,60,.5));
  }

  .section-bleed.scrub.bleed-enhanced.editorial-section > .container,
  .section-bleed.scrub.bleed-enhanced.editorial-section.editorial-right > .container{
    grid-column: 1;
    grid-row: 2;
    width: 100%;
    padding: 26px 20px 28px;
  }

  .section-bleed.scrub.bleed-enhanced.editorial-section .editorial-panel{
    max-width: none;
    padding: 0;
  }

  .section-bleed.scrub.bleed-enhanced.editorial-section .editorial-panel h2{
    font-size: clamp(34px, 10vw, 48px) !important;
  }

  .section-bleed.scrub.bleed-enhanced.editorial-section .editorial-facts{
    margin-top: 18px;
  }
}

/* Seamless black-carbon canvas */
html[data-theme="dark"]{
  background: #101211;
}

html[data-theme="dark"] body{
  background-color: #101211;
  background-image:
    radial-gradient(ellipse at 12% 8%, rgba(72,37,47,.3) 0%, transparent 34%),
    radial-gradient(ellipse at 88% 34%, rgba(133,120,97,.12) 0%, transparent 32%),
    radial-gradient(ellipse at 22% 70%, rgba(72,37,47,.2) 0%, transparent 38%),
    radial-gradient(ellipse at 82% 92%, rgba(133,120,97,.08) 0%, transparent 30%),
    repeating-linear-gradient(135deg, rgba(255,255,255,.012) 0 1px, transparent 1px 7px),
    repeating-linear-gradient(45deg, rgba(0,0,0,.09) 0 1px, transparent 1px 9px),
    linear-gradient(180deg, #101211 0%, #131513 48%, #101211 100%);
  background-attachment: fixed;
  background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, repeat, repeat, no-repeat;
  background-size: auto, auto, auto, auto, auto, auto, 100% 100%;
}

html[data-theme="dark"] main,
html[data-theme="dark"] .sticky-showcase-v2,
html[data-theme="dark"] #restaurang-showcase-v2,
html[data-theme="dark"] .menu-section,
html[data-theme="dark"] #kontakt.container,
html[data-theme="dark"] #events.container{
  background: transparent !important;
  box-shadow: none;
}

html[data-theme="dark"] #restaurang-showcase-v2::before,
html[data-theme="dark"] #restaurang-showcase-v2::after,
html[data-theme="dark"] #kontakt::before,
html[data-theme="dark"] #kontakt::after,
html[data-theme="dark"] #events::before,
html[data-theme="dark"] #events::after{
  display: none !important;
}

html[data-theme="dark"] #kontakt.container,
html[data-theme="dark"] #events.container{
  border-color: transparent !important;
}

/* Lunch content without the oversized outer panel */
.lunch-section{
  width: 100%;
  min-height: 0;
  margin: 20px auto 60px;
  padding: clamp(42px, 6vw, 76px) clamp(16px, 4vw, 42px);
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

html[data-theme="dark"] .lunch-section{
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Authoritative dark theme palette */
html[data-theme="dark"],
html[data-theme="dark"] body{
  background-color: #101211;
}

html[data-theme="dark"] body{
  --bg: #101211;
  --ink: #e7d4bb;
  --muted: #b8aa91;
  --line: rgba(231,212,187,.14);
  --accent: #48252f;
  --accent-ink: #e7d4bb;
  color: #e7d4bb;
  background-image:
    radial-gradient(circle at 12% 18%, rgba(72,37,47,.24), transparent 34%),
    radial-gradient(circle at 88% 68%, rgba(133,120,97,.1), transparent 36%);
}

html[data-theme="dark"] body,
html[data-theme="dark"] h1,
html[data-theme="dark"] h2,
html[data-theme="dark"] h3,
html[data-theme="dark"] h4,
html[data-theme="dark"] strong,
html[data-theme="dark"] .site-brand,
html[data-theme="dark"] .site-brand-copy strong,
html[data-theme="dark"] .site-nav a,
html[data-theme="dark"] .nav-desktop a,
html[data-theme="dark"] .drawer-nav a{
  color: #e7d4bb;
}

html[data-theme="dark"] p,
html[data-theme="dark"] .muted,
html[data-theme="dark"] .lead{
  color: #b8aa91;
}

html[data-theme="dark"] .site-header,
html[data-theme="dark"] .topbar,
html[data-theme="dark"] .drawer,
html[data-theme="dark"] .ticker{
  border-color: rgba(231,212,187,.12) !important;
  background: #101211 !important;
  color: #e7d4bb !important;
}

html[data-theme="dark"] .site-brand-copy small,
html[data-theme="dark"] .eyebrow,
html[data-theme="dark"] .events-eyebrow,
html[data-theme="dark"] .contact-eyebrow,
html[data-theme="dark"] .menu-eyebrow,
html[data-theme="dark"] .menu-category-eyebrow,
html[data-theme="dark"] .lunch-display-kicker,
html[data-theme="dark"] .lunch-slide-eyebrow,
html[data-theme="dark"] .lunch-pause-eyebrow,
html[data-theme="dark"] .footer-v2-logo small{
  color: #857861 !important;
}

html[data-theme="dark"] .site-nav a:not(.btn):hover,
html[data-theme="dark"] .site-nav a:not(.btn):focus-visible,
html[data-theme="dark"] .site-nav a:not(.btn).is-active,
html[data-theme="dark"] .site-nav a:not(.btn)[aria-current="page"],
html[data-theme="dark"] .nav-desktop a:hover,
html[data-theme="dark"] .nav-desktop a:focus-visible{
  background: rgba(72,37,47,.72) !important;
  color: #e7d4bb !important;
}

html[data-theme="dark"] .site-nav .btn.primary,
html[data-theme="dark"] .btn.primary,
html[data-theme="dark"] .contact-action-primary,
html[data-theme="dark"] .footer-booking,
html[data-theme="dark"] .footer-v2-book,
html[data-theme="dark"] .lunch-chip-strong,
html[data-theme="dark"] .lunch-dot[aria-selected="true"],
html[data-theme="dark"] .lunch-pause-actions a:first-child,
html[data-theme="dark"] .tab.active{
  border-color: #48252f !important;
  background: #48252f !important;
  color: #e7d4bb !important;
}

html[data-theme="dark"] .site-nav .btn.primary:hover,
html[data-theme="dark"] .btn.primary:hover,
html[data-theme="dark"] .contact-action-primary:hover,
html[data-theme="dark"] .footer-booking:hover,
html[data-theme="dark"] .footer-v2-book:hover{
  border-color: #613542 !important;
  background: #613542 !important;
}

html[data-theme="dark"] .theme-toggle,
html[data-theme="dark"] .events-slider-button{
  border-color: rgba(231,212,187,.18) !important;
  background: #29281e !important;
  color: #e7d4bb !important;
}

html[data-theme="dark"] .theme-toggle:hover,
html[data-theme="dark"] .theme-toggle:focus-visible,
html[data-theme="dark"] .events-slider-button:hover,
html[data-theme="dark"] .events-slider-button:focus-visible{
  border-color: #48252f !important;
  background: #48252f !important;
}

html[data-theme="dark"] .card,
html[data-theme="dark"] .card.soft,
html[data-theme="dark"] .contact-card,
html[data-theme="dark"] #events .event-card,
html[data-theme="dark"] .cards.textonly .menu-item,
html[data-theme="dark"] .menu-pager-btn,
html[data-theme="dark"] .menu-quick-info,
html[data-theme="dark"] .contact-action,
html[data-theme="dark"] .cookie-banner,
html[data-theme="dark"] .cookie-settings,
html[data-theme="dark"] .lunch-display,
html[data-theme="dark"] .lunch-featured-item,
html[data-theme="dark"] .lunch-service-status,
html[data-theme="dark"] .menu-tabs,
html[data-theme="dark"] .tabs-mobile{
  border-color: rgba(231,212,187,.13) !important;
  background: #29281e !important;
  color: #e7d4bb !important;
}

html[data-theme="dark"] .card p,
html[data-theme="dark"] .card .muted,
html[data-theme="dark"] .contact-card p,
html[data-theme="dark"] #events .event-card p,
html[data-theme="dark"] .cards.textonly .menu-item p,
html[data-theme="dark"] .contact-action span,
html[data-theme="dark"] .lunch-featured-item span,
html[data-theme="dark"] .lunch-service-label{
  color: #b8aa91 !important;
}

html[data-theme="dark"] #events .event-card:hover,
html[data-theme="dark"] .cards.textonly .menu-item:hover,
html[data-theme="dark"] .menu-pager-btn:hover,
html[data-theme="dark"] .contact-action:hover{
  border-color: rgba(133,120,97,.72) !important;
  background: #343226 !important;
}

html[data-theme="dark"] .event-meta span,
html[data-theme="dark"] #events .event-meta span,
html[data-theme="dark"] #events .event-card .badge,
html[data-theme="dark"] .menu-price,
html[data-theme="dark"] .lunch-included-chip,
html[data-theme="dark"] .menu-count-chip,
html[data-theme="dark"] .menu-badges .badge,
html[data-theme="dark"] .menu-quick-info > *{
  border-color: rgba(133,120,97,.55) !important;
  background: rgba(133,120,97,.2) !important;
  color: #e7d4bb !important;
}

html[data-theme="dark"] .lunch-section{
  --lunch-accent: #48252f;
  --lunch-soft: #29281e;
  border-color: rgba(133,120,97,.34) !important;
  background:
    radial-gradient(circle at 12% 18%, rgba(72,37,47,.22), transparent 32%),
    linear-gradient(145deg, #29281e, #101211) !important;
}

html[data-theme="dark"] #restaurang-showcase-v2{
  --showcase-navy: #e7d4bb;
  --showcase-cyan: #48252f;
  --showcase-ink: #e7d4bb;
  --showcase-soft: #29281e;
  color: #e7d4bb;
}

html[data-theme="dark"] #restaurang-showcase-v2 .showcase-nav-item{
  color: #857861;
}

html[data-theme="dark"] #restaurang-showcase-v2 .showcase-nav-item.is-active{
  color: #e7d4bb;
}

html[data-theme="dark"] #restaurang-showcase-v2 .showcase-steps > .editorial-section,
html[data-theme="dark"] #restaurang-showcase-v2 .showcase-steps > .editorial-section:nth-child(even),
html[data-theme="dark"] .section-bleed.scrub.bleed-enhanced.editorial-section > .container{
  border-color: rgba(133,120,97,.3) !important;
  background: linear-gradient(145deg, #29281e, #171914) !important;
}

html[data-theme="dark"] #restaurang-showcase-v2 .editorial-facts,
html[data-theme="dark"] #restaurang-showcase-v2 .editorial-glass,
html[data-theme="dark"] #restaurang-showcase-v2 .editorial-facts > div,
html[data-theme="dark"] #restaurang-showcase-v2 .editorial-glass > *{
  border-color: rgba(231,212,187,.12) !important;
  background: #29281e !important;
}

html[data-theme="dark"] .section-kicker::before,
html[data-theme="dark"] #restaurang-showcase-v2 .showcase-nav-item.is-active::after,
html[data-theme="dark"] .footer-v2-highlights span::before{
  background: #48252f !important;
}

html[data-theme="dark"] .footer.footer-v2{
  background:
    radial-gradient(circle at 15% 0%, rgba(72,37,47,.28), transparent 32%),
    linear-gradient(rgba(16,18,17,.72), rgba(16,18,17,.9)),
    url("images/lunch-underwater-background.png") center / cover no-repeat !important;
  color: #e7d4bb !important;
}

html[data-theme="dark"] .footer-v2-col a:hover,
html[data-theme="dark"] .footer-v2-madeby:hover,
html[data-theme="dark"] .footer-intro-action a:hover{
  color: #857861 !important;
}

html[data-theme="dark"] .footer::before{
  background: linear-gradient(90deg, transparent, #48252f, transparent) !important;
}

/* Final dark palette: cream, wine and muted olive */
[data-theme="dark"] html,
[data-theme="dark"] body{
  background-color: #101211;
}

[data-theme="dark"] body{
  --bg: #101211;
  --ink: #e7d4bb;
  --muted: #b8aa91;
  --line: rgba(231,212,187,.14);
  --accent: #48252f;
  --accent-ink: #e7d4bb;
  color: #e7d4bb;
  background-image:
    radial-gradient(circle at 12% 18%, rgba(72,37,47,.24), transparent 34%),
    radial-gradient(circle at 88% 68%, rgba(133,120,97,.1), transparent 36%);
}

[data-theme="dark"] body,
[data-theme="dark"] h1,
[data-theme="dark"] h2,
[data-theme="dark"] h3,
[data-theme="dark"] h4,
[data-theme="dark"] strong,
[data-theme="dark"] .site-brand,
[data-theme="dark"] .site-brand-copy strong,
[data-theme="dark"] .site-nav a,
[data-theme="dark"] .nav-desktop a,
[data-theme="dark"] .drawer-nav a{
  color: #e7d4bb;
}

[data-theme="dark"] p,
[data-theme="dark"] .muted,
[data-theme="dark"] .lead{
  color: #b8aa91;
}

[data-theme="dark"] .site-header,
[data-theme="dark"] .topbar,
[data-theme="dark"] .drawer,
[data-theme="dark"] .ticker{
  border-color: rgba(231,212,187,.12) !important;
  background: #101211 !important;
  color: #e7d4bb !important;
}

[data-theme="dark"] .site-brand-copy small,
[data-theme="dark"] .eyebrow,
[data-theme="dark"] .events-eyebrow,
[data-theme="dark"] .contact-eyebrow,
[data-theme="dark"] .menu-eyebrow,
[data-theme="dark"] .menu-category-eyebrow,
[data-theme="dark"] .lunch-display-kicker,
[data-theme="dark"] .lunch-slide-eyebrow,
[data-theme="dark"] .lunch-pause-eyebrow,
[data-theme="dark"] .footer-v2-logo small,
[data-theme="dark"] .footer-v2-madeby strong span{
  color: #857861 !important;
}

[data-theme="dark"] .site-nav a:not(.btn):hover,
[data-theme="dark"] .site-nav a:not(.btn):focus-visible,
[data-theme="dark"] .site-nav a:not(.btn).is-active,
[data-theme="dark"] .site-nav a:not(.btn)[aria-current="page"],
[data-theme="dark"] .nav-desktop a:hover,
[data-theme="dark"] .nav-desktop a:focus-visible{
  background: rgba(72,37,47,.72) !important;
  color: #e7d4bb !important;
}

[data-theme="dark"] .site-nav .btn.primary,
[data-theme="dark"] .btn.primary,
[data-theme="dark"] .contact-action-primary,
[data-theme="dark"] .footer-booking,
[data-theme="dark"] .footer-v2-book,
[data-theme="dark"] .lunch-chip-strong,
[data-theme="dark"] .lunch-dot[aria-selected="true"],
[data-theme="dark"] .lunch-pause-actions a:first-child,
[data-theme="dark"] .tab.active{
  border-color: #48252f !important;
  background: #48252f !important;
  color: #e7d4bb !important;
}

[data-theme="dark"] .site-nav .btn.primary:hover,
[data-theme="dark"] .btn.primary:hover,
[data-theme="dark"] .contact-action-primary:hover,
[data-theme="dark"] .footer-booking:hover,
[data-theme="dark"] .footer-v2-book:hover{
  border-color: #613542 !important;
  background: #613542 !important;
}

[data-theme="dark"] .theme-toggle,
[data-theme="dark"] .events-slider-button{
  border-color: rgba(231,212,187,.18) !important;
  background: #29281e !important;
  color: #e7d4bb !important;
}

[data-theme="dark"] .theme-toggle:hover,
[data-theme="dark"] .theme-toggle:focus-visible,
[data-theme="dark"] .events-slider-button:hover,
[data-theme="dark"] .events-slider-button:focus-visible{
  border-color: #48252f !important;
  background: #48252f !important;
  color: #e7d4bb !important;
}

[data-theme="dark"] .card,
[data-theme="dark"] .card.soft,
[data-theme="dark"] .contact-card,
[data-theme="dark"] #events .event-card,
[data-theme="dark"] .cards.textonly .menu-item,
[data-theme="dark"] .menu-pager-btn,
[data-theme="dark"] .menu-quick-info,
[data-theme="dark"] .contact-action,
[data-theme="dark"] .cookie-banner,
[data-theme="dark"] .cookie-settings,
[data-theme="dark"] .lunch-display,
[data-theme="dark"] .lunch-featured-item,
[data-theme="dark"] .lunch-service-status,
[data-theme="dark"] .menu-tabs,
[data-theme="dark"] .tabs-mobile{
  border-color: rgba(231,212,187,.13) !important;
  background: #29281e !important;
  color: #e7d4bb !important;
}

[data-theme="dark"] .card h2,
[data-theme="dark"] .card h3,
[data-theme="dark"] .contact-card strong,
[data-theme="dark"] #events .event-card h3,
[data-theme="dark"] .cards.textonly .menu-item h3,
[data-theme="dark"] .lunch-section-title,
[data-theme="dark"] .lunch-display-title,
[data-theme="dark"] .lunch-featured-item strong,
[data-theme="dark"] .lunch-service-copy strong{
  color: #e7d4bb !important;
}

[data-theme="dark"] .card p,
[data-theme="dark"] .card .muted,
[data-theme="dark"] .contact-card p,
[data-theme="dark"] #events .event-card p,
[data-theme="dark"] .cards.textonly .menu-item p,
[data-theme="dark"] .contact-action span,
[data-theme="dark"] .lunch-featured-item span,
[data-theme="dark"] .lunch-service-label{
  color: #b8aa91 !important;
}

[data-theme="dark"] #events .event-card:hover,
[data-theme="dark"] .cards.textonly .menu-item:hover,
[data-theme="dark"] .menu-pager-btn:hover,
[data-theme="dark"] .contact-action:hover{
  border-color: rgba(133,120,97,.72) !important;
  background: #343226 !important;
}

[data-theme="dark"] .event-meta span,
[data-theme="dark"] #events .event-meta span,
[data-theme="dark"] #events .event-card .badge,
[data-theme="dark"] .menu-price,
[data-theme="dark"] .lunch-included-chip,
[data-theme="dark"] .menu-count-chip,
[data-theme="dark"] .menu-badges .badge,
[data-theme="dark"] .menu-quick-info > *{
  border-color: rgba(133,120,97,.55) !important;
  background: rgba(133,120,97,.2) !important;
  color: #e7d4bb !important;
}

[data-theme="dark"] .lunch-section{
  --lunch-accent: #48252f;
  --lunch-soft: #29281e;
  border-color: rgba(133,120,97,.34) !important;
  background:
    radial-gradient(circle at 12% 18%, rgba(72,37,47,.22), transparent 32%),
    linear-gradient(145deg, #29281e, #101211) !important;
}

[data-theme="dark"] #restaurang-showcase-v2{
  --showcase-navy: #e7d4bb;
  --showcase-cyan: #48252f;
  --showcase-ink: #e7d4bb;
  --showcase-soft: #29281e;
  color: #e7d4bb;
}

[data-theme="dark"] #restaurang-showcase-v2 .showcase-nav-item{
  color: #857861;
}

[data-theme="dark"] #restaurang-showcase-v2 .showcase-nav-item.is-active{
  color: #e7d4bb;
}

[data-theme="dark"] #restaurang-showcase-v2 .showcase-steps > .editorial-section,
[data-theme="dark"] #restaurang-showcase-v2 .showcase-steps > .editorial-section:nth-child(even){
  border-color: rgba(133,120,97,.3) !important;
  background: linear-gradient(145deg, #29281e, #171914) !important;
}

[data-theme="dark"] #restaurang-showcase-v2 .editorial-facts,
[data-theme="dark"] #restaurang-showcase-v2 .editorial-glass,
[data-theme="dark"] #restaurang-showcase-v2 .editorial-facts > div,
[data-theme="dark"] #restaurang-showcase-v2 .editorial-glass > *{
  border-color: rgba(231,212,187,.12) !important;
  background: #29281e !important;
}

[data-theme="dark"] .section-kicker::before,
[data-theme="dark"] #restaurang-showcase-v2 .showcase-nav-item.is-active::after,
[data-theme="dark"] .footer-v2-highlights span::before{
  background: #48252f !important;
}

[data-theme="dark"] .footer.footer-v2{
  background:
    radial-gradient(circle at 15% 0%, rgba(72,37,47,.28), transparent 32%),
    linear-gradient(rgba(16,18,17,.72), rgba(16,18,17,.9)),
    url("images/lunch-underwater-background.png") center / cover no-repeat !important;
  color: #e7d4bb !important;
}

[data-theme="dark"] .footer-v2-col a:hover,
[data-theme="dark"] .footer-v2-madeby:hover,
[data-theme="dark"] .footer-intro-action a:hover{
  color: #857861 !important;
}

[data-theme="dark"] .footer::before{
  background: linear-gradient(90deg, transparent, #48252f, transparent) !important;
}

/* Dark theme purple accent */
[data-theme="dark"] body{
  --accent: #76517f;
  --accent-ink: #fff7ff;
  background:
    radial-gradient(circle at 12% 18%, rgba(91,57,105,.2), transparent 31%),
    radial-gradient(circle at 88% 68%, rgba(119,73,126,.11), transparent 30%),
    linear-gradient(180deg, #12100f, #171216 52%, #100e0f);
}

[data-theme="dark"] .site-brand-copy small,
[data-theme="dark"] .eyebrow,
[data-theme="dark"] .events-eyebrow,
[data-theme="dark"] .contact-eyebrow,
[data-theme="dark"] .menu-eyebrow,
[data-theme="dark"] .menu-category-eyebrow,
[data-theme="dark"] .lunch-display-kicker,
[data-theme="dark"] .lunch-slide-eyebrow,
[data-theme="dark"] .lunch-pause-eyebrow,
[data-theme="dark"] .footer-v2-logo small,
[data-theme="dark"] .footer-v2-madeby strong span{
  color: #b794c2 !important;
}

[data-theme="dark"] .site-nav a:not(.btn):hover,
[data-theme="dark"] .site-nav a:not(.btn):focus-visible,
[data-theme="dark"] .site-nav a:not(.btn).is-active,
[data-theme="dark"] .site-nav a:not(.btn)[aria-current="page"],
[data-theme="dark"] .nav-desktop a:hover,
[data-theme="dark"] .nav-desktop a:focus-visible{
  background: rgba(103,68,115,.22);
  color: #f4eafa !important;
}

[data-theme="dark"] .site-nav .btn.primary,
[data-theme="dark"] .btn.primary,
[data-theme="dark"] .lunch-chip-strong,
[data-theme="dark"] .lunch-dot[aria-selected="true"],
[data-theme="dark"] .lunch-pause-actions a:first-child,
[data-theme="dark"] .footer-v2-book,
[data-theme="dark"] .contact-action-primary,
[data-theme="dark"] .footer-booking,
[data-theme="dark"] .tab.active{
  border-color: #76517f !important;
  background: #76517f !important;
  color: #fff7ff !important;
}

[data-theme="dark"] .site-nav .btn.primary:hover,
[data-theme="dark"] .btn.primary:hover,
[data-theme="dark"] .lunch-dot[aria-selected="true"]:hover{
  border-color: #90649b !important;
  background: #90649b !important;
}

[data-theme="dark"] .theme-toggle:hover,
[data-theme="dark"] .theme-toggle:focus-visible,
[data-theme="dark"] .events-slider-button:hover,
[data-theme="dark"] .events-slider-button:focus-visible{
  border-color: #76517f;
  background: #76517f;
  color: #fff7ff;
}

[data-theme="dark"] .section-kicker::before,
[data-theme="dark"] #restaurang-showcase-v2 .showcase-nav-item.is-active::after,
[data-theme="dark"] .footer-v2-highlights span::before{
  background: #76517f !important;
}

[data-theme="dark"] #restaurang-showcase-v2{
  --showcase-cyan: #76517f;
}

[data-theme="dark"] #restaurang-showcase-v2 .showcase-steps > .editorial-section.is-showcase-active,
[data-theme="dark"] #events .event-card:hover,
[data-theme="dark"] .cards.textonly .menu-item:hover,
[data-theme="dark"] .menu-pager-btn:hover,
[data-theme="dark"] .contact-action:hover{
  border-color: rgba(144,100,155,.55) !important;
}

[data-theme="dark"] .event-meta span,
[data-theme="dark"] #events .event-meta span{
  border-color: rgba(118,81,127,.38);
  background: rgba(87,53,98,.26);
  color: #c9a7d1;
}

[data-theme="dark"] .menu-price,
[data-theme="dark"] .lunch-included-chip,
[data-theme="dark"] .lunch-featured-item.is-primary{
  border-color: rgba(118,81,127,.34);
  background: #281d2b;
  color: #c9a7d1;
}

[data-theme="dark"] .footer.footer-v2{
  background:
    radial-gradient(circle at 15% 0%, rgba(103,68,115,.2), transparent 30%),
    linear-gradient(rgba(15,10,18,.7), rgba(15,10,18,.86)),
    url("images/lunch-underwater-background.png") center / cover no-repeat !important;
}

[data-theme="dark"] .footer-v2-col a:hover,
[data-theme="dark"] .footer-v2-madeby:hover{
  color: #c29bcd !important;
}

[data-theme="dark"] .footer::before{
  background: linear-gradient(90deg, transparent, rgba(118,81,127,.78), transparent) !important;
}

/* Final dark card system */
[data-theme="dark"] .card,
[data-theme="dark"] .card.soft,
[data-theme="dark"] .contact-card,
[data-theme="dark"] #events .event-card,
[data-theme="dark"] .cards.textonly .menu-item,
[data-theme="dark"] .menu-pager-btn{
  border-color: rgba(232,216,203,.11) !important;
  background: #211b18 !important;
  color: #eee7df !important;
  box-shadow:
    0 18px 42px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.025) !important;
}

[data-theme="dark"] .card h2,
[data-theme="dark"] .card h3,
[data-theme="dark"] .contact-card strong,
[data-theme="dark"] #events .event-card h3,
[data-theme="dark"] .cards.textonly .menu-item h3{
  color: #f1e8e0 !important;
}

[data-theme="dark"] .card p,
[data-theme="dark"] .card .muted,
[data-theme="dark"] .contact-card p,
[data-theme="dark"] #events .event-card p,
[data-theme="dark"] .cards.textonly .menu-item p{
  color: #afa39a !important;
}

[data-theme="dark"] #events .event-card:hover,
[data-theme="dark"] .cards.textonly .menu-item:hover,
[data-theme="dark"] .menu-pager-btn:hover{
  border-color: rgba(200,121,79,.45) !important;
  background: #2a211d !important;
  box-shadow: 0 22px 50px rgba(0,0,0,.32) !important;
}

[data-theme="dark"] .contact-action{
  border-color: rgba(232,216,203,.11) !important;
  background: #29211d !important;
  color: #eee7df !important;
}

[data-theme="dark"] .contact-action span{
  color: #a99b91 !important;
}

[data-theme="dark"] .contact-action strong{
  color: #eee7df !important;
}

[data-theme="dark"] .contact-action:hover{
  border-color: rgba(200,121,79,.45) !important;
  background: #32251f !important;
}

[data-theme="dark"] .lunch-display{
  border-color: rgba(232,216,203,.12) !important;
  background: #1f1a17 !important;
  box-shadow:
    0 28px 70px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.025) !important;
}

[data-theme="dark"] .lunch-service-panel{
  border-bottom-color: rgba(232,216,203,.11);
  color: #eee7df;
}

[data-theme="dark"] .lunch-featured-item{
  border-color: rgba(232,216,203,.1);
  background: #29221e;
}

[data-theme="dark"] .lunch-featured-item.is-primary{
  border-color: rgba(200,121,79,.3);
  background: linear-gradient(145deg, #321f19, #281b17);
}

[data-theme="dark"] .lunch-featured-item span,
[data-theme="dark"] .lunch-service-label{
  color: #a99d94;
}

[data-theme="dark"] .lunch-dots{
  border-top-color: rgba(232,216,203,.11);
}

[data-theme="dark"] #restaurang-showcase-v2 .showcase-steps > .section-bleed.scrub.bleed-enhanced.editorial-section,
[data-theme="dark"] #restaurang-showcase-v2 .showcase-steps > .editorial-section:nth-child(even){
  border-color: rgba(200,121,79,.2) !important;
  background: linear-gradient(145deg, #241c19, #171310) !important;
  box-shadow:
    0 20px 48px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.025) !important;
}

[data-theme="dark"] #restaurang-showcase-v2 .showcase-steps > .editorial-section.is-showcase-active{
  border-color: rgba(200,121,79,.5) !important;
  box-shadow:
    0 28px 62px rgba(0,0,0,.34),
    0 0 0 1px rgba(169,84,56,.12) !important;
}

[data-theme="dark"] #restaurang-showcase-v2 .editorial-facts,
[data-theme="dark"] #restaurang-showcase-v2 .editorial-glass{
  border-color: rgba(232,216,203,.11) !important;
  background: #1d1715 !important;
}

[data-theme="dark"] #restaurang-showcase-v2 .editorial-facts > div,
[data-theme="dark"] #restaurang-showcase-v2 .editorial-glass > *{
  border-color: rgba(232,216,203,.08) !important;
  background: #29211d !important;
}

[data-theme="dark"] #restaurang-showcase-v2 .editorial-facts span,
[data-theme="dark"] #restaurang-showcase-v2 .editorial-glass span,
[data-theme="dark"] #restaurang-showcase-v2 .hours-list dt{
  color: #a99b91 !important;
}

[data-theme="dark"] #restaurang-showcase-v2 .editorial-facts strong,
[data-theme="dark"] #restaurang-showcase-v2 .editorial-glass strong,
[data-theme="dark"] #restaurang-showcase-v2 .hours-list dd{
  color: #eee7df !important;
}

[data-theme="dark"] .menu-quick-info > *,
[data-theme="dark"] .menu-count-chip,
[data-theme="dark"] .menu-badges .badge{
  border-color: rgba(232,216,203,.1) !important;
  background: #29211d !important;
  color: #cfc1b7 !important;
}

[data-theme="dark"] .menu-tabs,
[data-theme="dark"] .tabs-mobile{
  border-color: rgba(232,216,203,.1) !important;
  background: #1e1916 !important;
}

[data-theme="dark"] .tab{
  color: #b5a89e !important;
}

[data-theme="dark"] .tab.active{
  border-color: #a95438 !important;
  background: #a95438 !important;
  color: #fff3eb !important;
}

[data-theme="dark"] .events-slider-button{
  border-color: rgba(232,216,203,.14);
  background: #29211d;
  color: #eee7df;
}

[data-theme="dark"] #events .event-card img,
[data-theme="dark"] #events .event-card video{
  background: #16110f;
  filter: saturate(.82) contrast(1.04);
}

/* Theme toggle */
.theme-toggle{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 40px;
  padding: 0 12px;
  border: 1px solid rgba(7,31,60,.15);
  border-radius: 999px;
  background: transparent;
  color: #243b43;
  font: 800 .82rem/1 "Source Sans 3", system-ui, sans-serif;
  cursor: pointer;
  transition: color .25s ease, background .25s ease, border-color .25s ease;
}

.theme-toggle:hover,
.theme-toggle:focus-visible{
  border-color: #9b5635;
  background: rgba(155,86,53,.09);
}

.theme-toggle-icon{
  display: grid;
  place-items: center;
  width: 18px;
  height: 18px;
}

.theme-toggle svg{
  grid-area: 1 / 1;
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.theme-icon-sun{
  opacity: 0;
  transform: rotate(-35deg) scale(.7);
}

.theme-icon-moon,
.theme-icon-sun{
  transition: opacity .25s ease, transform .25s ease;
}

[data-theme="dark"] .theme-icon-moon{
  opacity: 0;
  transform: rotate(35deg) scale(.7);
}

[data-theme="dark"] .theme-icon-sun{
  opacity: 1;
  transform: rotate(0) scale(1);
}

.theme-toggle-compact{
  display: none;
  width: 40px;
  padding: 0;
}

.theme-toggle-compact .theme-toggle-label{
  display: none;
}

@media (max-width: 767px){
  .site-header .theme-toggle-compact,
  .topbar .theme-toggle-compact{
    display: inline-grid;
    margin-left: auto;
  }

  .drawer-nav .theme-toggle{
    width: 100%;
    margin-top: 10px;
  }
}

/* Dark theme: charcoal, muted wine and burnt orange */
[data-theme="dark"] body{
  --bg: #12100f;
  --ink: #eee7df;
  --muted: #afa49a;
  --line: rgba(238,231,223,.12);
  --accent: #a95438;
  --accent-ink: #fff6ee;
  color: #eee7df;
  background:
    radial-gradient(circle at 12% 18%, rgba(112,43,37,.18), transparent 31%),
    radial-gradient(circle at 88% 68%, rgba(166,83,49,.1), transparent 30%),
    linear-gradient(180deg, #12100f, #181311 52%, #100e0d);
}

[data-theme="dark"] .site-header{
  border-bottom-color: rgba(238,231,223,.1);
  background: #151210;
  color: #eee7df;
}

[data-theme="dark"] .topbar{
  border-bottom-color: rgba(238,231,223,.1) !important;
  background: rgba(21,18,16,.98) !important;
  color: #eee7df;
}

[data-theme="dark"] .brand,
[data-theme="dark"] .nav-desktop a{
  color: #eee7df !important;
}

[data-theme="dark"] .nav-desktop a:hover,
[data-theme="dark"] .nav-desktop a:focus-visible{
  background: rgba(143,57,47,.2);
  color: #f4e7dc !important;
}

[data-theme="dark"] .site-brand,
[data-theme="dark"] .site-brand-copy strong,
[data-theme="dark"] .site-nav a{
  color: #eee7df;
}

[data-theme="dark"] .site-brand-copy small{
  color: #b9a79a;
}

[data-theme="dark"] .site-brand-mark img{
  filter: brightness(0) invert(1) sepia(.12);
}

[data-theme="dark"] .site-nav a:not(.btn):hover,
[data-theme="dark"] .site-nav a:not(.btn):focus-visible,
[data-theme="dark"] .site-nav a:not(.btn).is-active,
[data-theme="dark"] .site-nav a:not(.btn)[aria-current="page"]{
  background: rgba(143,57,47,.2);
  color: #f4e7dc;
}

[data-theme="dark"] .site-nav .btn.primary,
[data-theme="dark"] .btn.primary{
  border-color: #8d4030;
  background: #8d4030;
  color: #fff5ed;
}

[data-theme="dark"] .site-nav .btn.primary:hover,
[data-theme="dark"] .btn.primary:hover{
  border-color: #ad6540;
  background: #ad6540;
}

[data-theme="dark"] .theme-toggle{
  border-color: rgba(238,231,223,.17);
  color: #e8ddd4;
}

[data-theme="dark"] .ticker{
  border-color: rgba(238,231,223,.1);
  background: #1b1715;
  color: #ddd2c9;
}

[data-theme="dark"] .drawer{
  background: rgba(24,19,17,.98);
  color: #eee7df;
}

[data-theme="dark"] .drawer-nav a{
  color: #eee7df;
}

[data-theme="dark"] .lunch-section{
  border-color: rgba(169,84,56,.28);
  background:
    radial-gradient(circle at 12% 18%, rgba(143,57,47,.16), transparent 30%),
    linear-gradient(145deg, rgba(31,25,22,.98), rgba(20,17,15,.98));
}

[data-theme="dark"] .lunch-section-title,
[data-theme="dark"] .lunch-display-title,
[data-theme="dark"] .lunch-featured-item strong,
[data-theme="dark"] .lunch-service-copy strong{
  color: #f1e9e1;
}

[data-theme="dark"] .lunch-display{
  border-color: rgba(238,231,223,.12);
  background: rgba(28,23,21,.94);
  box-shadow: 0 28px 70px rgba(0,0,0,.32);
}

[data-theme="dark"] .lunch-featured-item,
[data-theme="dark"] .lunch-dot,
[data-theme="dark"] .lunch-service-status{
  border-color: rgba(238,231,223,.1);
  background: #241e1b;
  color: #cfc2b8;
}

[data-theme="dark"] .lunch-featured-item.is-primary,
[data-theme="dark"] .lunch-included-chip{
  border-color: rgba(169,84,56,.32);
  background: #2b1d19;
  color: #d88b61;
}

[data-theme="dark"] #restaurang-showcase-v2{
  --showcase-navy: #f0e7df;
  --showcase-cyan: #a95438;
  --showcase-ink: #eee7df;
  --showcase-soft: #2a1e1a;
  color: #eee7df;
}

[data-theme="dark"] #restaurang-showcase-v2 .showcase-nav-item{
  color: #766d67;
}

[data-theme="dark"] #restaurang-showcase-v2 .showcase-nav-item.is-active{
  color: #f0e7df;
}

[data-theme="dark"] #restaurang-showcase-v2 .showcase-steps > .editorial-section,
[data-theme="dark"] #restaurang-showcase-v2 .showcase-steps > .editorial-section:nth-child(even){
  border-color: rgba(169,84,56,.26) !important;
  background: linear-gradient(135deg, #241c19, #171412) !important;
  box-shadow: 0 18px 46px rgba(0,0,0,.22) !important;
}

[data-theme="dark"] #restaurang-showcase-v2 .editorial-panel .lead{
  color: #b9ada4 !important;
}

[data-theme="dark"] #restaurang-showcase-v2 .editorial-facts,
[data-theme="dark"] #restaurang-showcase-v2 .editorial-glass{
  border-color: rgba(169,84,56,.26) !important;
}

[data-theme="dark"] #restaurang-showcase-v2 .editorial-facts > div,
[data-theme="dark"] #restaurang-showcase-v2 .editorial-glass > *{
  background: rgba(255,255,255,.035) !important;
}

[data-theme="dark"] #kontakt,
[data-theme="dark"] #events{
  border-color: rgba(238,231,223,.1);
  background: #1d1917;
}

[data-theme="dark"] .contact-card,
[data-theme="dark"] .event-card{
  border-color: rgba(238,231,223,.1) !important;
  background: #25201d !important;
  color: #eee7df;
}

[data-theme="dark"] .event-card p,
[data-theme="dark"] .contact-card p{
  color: #b9ada4 !important;
}

[data-theme="dark"] .event-meta span,
[data-theme="dark"] #events .event-meta span{
  border-color: rgba(169,84,56,.3);
  background: rgba(112,43,37,.22);
  color: #df9a73;
}

[data-theme="dark"] #events .event-card .badge{
  border-color: rgba(238,231,223,.1);
  background: rgba(255,255,255,.055);
  color: #d4c8bf;
}

[data-theme="dark"] .menu-section{
  color: #eee7df;
}

[data-theme="dark"] .cards.textonly .menu-item,
[data-theme="dark"] .menu-pager-btn,
[data-theme="dark"] .menu-quick-info{
  border-color: rgba(238,231,223,.1) !important;
  background: #211c19 !important;
  color: #eee7df;
}

[data-theme="dark"] .cards.textonly .menu-item p{
  color: #afa49a !important;
}

[data-theme="dark"] .menu-price{
  border-color: rgba(169,84,56,.28);
  background: #2b1d19;
  color: #df9a73;
}

[data-theme="dark"] .cookie-banner,
[data-theme="dark"] .cookie-settings{
  border-color: rgba(238,231,223,.12);
  background: #201b18;
  color: #eee7df;
}

/* Remove cool blue/cyan accents from dark mode */
[data-theme="dark"] .site-brand-copy small,
[data-theme="dark"] .eyebrow,
[data-theme="dark"] .events-eyebrow,
[data-theme="dark"] .contact-eyebrow,
[data-theme="dark"] .menu-eyebrow,
[data-theme="dark"] .menu-category-eyebrow,
[data-theme="dark"] .lunch-display-kicker,
[data-theme="dark"] .lunch-slide-eyebrow,
[data-theme="dark"] .lunch-pause-eyebrow,
[data-theme="dark"] .footer-v2-logo small,
[data-theme="dark"] .footer-v2-madeby strong span{
  color: #c8794f !important;
}

[data-theme="dark"] .lunch-section{
  --lunch-accent: #a95438;
  --lunch-soft: #2b1d19;
}

[data-theme="dark"] .lunch-chip-strong,
[data-theme="dark"] .lunch-dot[aria-selected="true"],
[data-theme="dark"] .lunch-pause-actions a:first-child,
[data-theme="dark"] .footer-v2-book{
  border-color: #a95438 !important;
  background: #a95438 !important;
  color: #fff1e8 !important;
}

[data-theme="dark"] .lunch-dot:hover,
[data-theme="dark"] .lunch-dot:focus-visible{
  border-color: #9b5635;
  background: #2b1d19;
  color: #df9a73;
}

[data-theme="dark"] .section-kicker::before,
[data-theme="dark"] #restaurang-showcase-v2 .showcase-nav-item.is-active::after,
[data-theme="dark"] .footer-v2-highlights span::before{
  background: #a95438 !important;
}

[data-theme="dark"] .events-slider-button:hover,
[data-theme="dark"] .events-slider-button:focus-visible{
  border-color: #a95438;
  background: #a95438;
  color: #fff1e8;
}

[data-theme="dark"] .contact-action-primary,
[data-theme="dark"] .footer-booking{
  border-color: #8d4030 !important;
  background: #8d4030 !important;
  color: #fff1e8 !important;
}

[data-theme="dark"] .footer.footer-v2{
  background:
    radial-gradient(circle at 15% 0%, rgba(143,57,47,.18), transparent 30%),
    linear-gradient(rgba(18,12,10,.7), rgba(18,12,10,.86)),
    url("images/lunch-underwater-background.png") center / cover no-repeat !important;
}

[data-theme="dark"] .footer-v2-col a:hover,
[data-theme="dark"] .footer-v2-madeby:hover,
[data-theme="dark"] .footer-intro-action a:hover{
  color: #d8895d !important;
}

[data-theme="dark"] .footer::before{
  background: linear-gradient(90deg, transparent, rgba(169,84,56,.72), transparent) !important;
}

[data-theme="dark"] .social-chip:hover{
  border-color: rgba(169,84,56,.65) !important;
  background: rgba(112,43,37,.28) !important;
}

[data-theme="dark"] .hours-live-status.is-open .hours-live-dot,
[data-theme="dark"] .lunch-service-status.is-open::before{
  background: #c8794f;
  box-shadow: 0 0 0 5px rgba(200,121,79,.14);
}

@media (prefers-reduced-motion: reduce){
  .theme-icon-moon,
  .theme-icon-sun{
    transition: none;
  }
}

/* Footer v2: strukturerad företagsfooter anpassad för Fisken */
.footer.footer-v2{
  position: relative;
  isolation: isolate;
  margin-top: 64px;
  padding: 0 !important;
  overflow: hidden;
  background:
    linear-gradient(rgba(3,20,38,.72), rgba(3,20,38,.84)),
    url("images/lunch-underwater-background.png") center / cover no-repeat !important;
  color: #fff !important;
}

.footer-v2 .footer-ocean-scene{
  z-index: 0;
  opacity: .82;
}

.footer-v2 .footer-ocean-scene canvas{
  opacity: .86;
}

.footer-v2 .lunch-pointer-fish{
  z-index: 1;
  width: clamp(105px, 13vw, 190px);
  opacity: .9;
}

.footer-v2-inner{
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(260px, .8fr) minmax(0, 1.7fr);
  gap: clamp(54px, 8vw, 120px);
  width: min(calc(100% - 64px), 1320px);
  margin: 0 auto;
  padding: clamp(58px, 7vw, 88px) 0 30px;
}

.footer-v2-brand{
  align-self: start;
}

.footer-v2-logo{
  display: inline-flex;
  align-items: center;
  gap: 16px;
  color: #fff;
  text-decoration: none;
}

.footer-v2-logo img{
  width: 74px;
  height: 58px;
  object-fit: contain;
  filter: brightness(0) invert(1);
}

.footer-v2-logo > span{
  display: grid;
}

.footer-v2-logo strong{
  color: #fff;
  font: 700 2.2rem/.9 "Playfair Display", Georgia, serif;
}

.footer-v2-logo small{
  margin-top: 6px;
  color: #72d9e7;
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.footer-v2-brand > p{
  max-width: 350px;
  margin: 25px 0 0;
  color: rgba(255,255,255,.7);
  font-size: 1rem;
  line-height: 1.55;
}

.footer-v2-highlights{
  display: grid;
  gap: 7px;
  margin-top: 24px;
  color: rgba(255,255,255,.5);
  font-size: .85rem;
}

.footer-v2-highlights span{
  display: flex;
  align-items: center;
  gap: 9px;
}

.footer-v2-highlights span::before{
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #00bcd4;
}

.footer-v2-links{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(24px, 4vw, 54px);
}

.footer-v2-col{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 9px;
  min-width: 0;
}

.footer-v2-col h4{
  margin: 0 0 9px;
  color: #fff;
  font: 700 1rem/1.2 "Playfair Display", Georgia, serif;
}

.footer-v2-col a,
.footer-v2-col > span{
  color: rgba(255,255,255,.66) !important;
  font-size: .88rem;
  line-height: 1.4;
  text-decoration: none;
}

.footer-v2-col a:hover{
  color: #72d9e7 !important;
}

.footer-v2-book{
  margin-top: 8px;
  padding: 8px 13px;
  border: 1px solid rgba(114,217,231,.42);
  border-radius: 8px;
  color: #fff !important;
}

.footer-v2-legal-title{
  margin-top: 18px !important;
}

.footer-v2-social a{
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.footer-v2-social svg{
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}

.footer-v2-social svg path{
  fill: currentColor;
  stroke: none;
}

.footer-v2-copyright{
  grid-column: 1 / -1;
  margin: 22px 0 0;
  padding-top: 25px;
  border-top: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.46) !important;
  font-size: .8rem;
}

.footer-v2-bottom{
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: center;
  padding: 22px 20px;
  border-top: 1px solid rgba(255,255,255,.1);
  background: rgba(0,0,0,.16);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.footer-v2-madeby{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #fff;
  text-decoration: none;
}

.footer-v2-madeby img{
  width: 38px;
  height: auto;
}

.footer-v2-madeby > span{
  display: grid;
  text-align: left;
}

.footer-v2-madeby small{
  color: rgba(255,255,255,.5);
  font-size: .55rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.footer-v2-madeby strong{
  color: #fff;
  font-size: .8rem;
  letter-spacing: .15em;
}

.footer-v2-madeby strong span{
  color: #aeb5c0;
}

@media (max-width: 980px){
  .footer-v2-inner{
    grid-template-columns: 1fr;
    gap: 40px;
  }
}

@media (max-width: 680px){
  .footer.footer-v2{
    margin-top: 42px;
  }

  .footer-v2-inner{
    grid-template-columns: 1fr;
    gap: 30px;
    width: min(calc(100% - 28px), 560px);
    padding: 38px 0 24px;
  }

  .footer-v2-logo img{
    width: 58px;
    height: 46px;
  }

  .footer-v2-logo strong{
    font-size: 1.8rem;
  }

  .footer-v2-brand > p{
    margin-top: 18px;
    font-size: .9rem;
  }

  .footer-v2-highlights{
    margin-top: 17px;
    font-size: .78rem;
  }

  .footer-v2-links{
    grid-template-columns: 1fr 1fr;
    gap: 28px 18px;
    padding-top: 26px;
    border-top: 1px solid rgba(255,255,255,.12);
  }

  .footer-v2-col{
    gap: 7px;
  }

  .footer-v2-col h4{
    margin-bottom: 7px;
    font-size: .96rem;
  }

  .footer-v2-col a,
  .footer-v2-col > span{
    font-size: .78rem;
  }

  .footer-v2-copyright{
    margin-top: 4px;
    padding-top: 20px;
    text-align: center;
  }

  .footer-v2-bottom{
    padding-block: 18px;
  }
}

/* Kompakt footer i två spalter på mobil */
@media (max-width: 768px){
  .footer{
    margin-top: 42px;
    padding: 34px 14px 22px !important;
  }

  .footer-content{
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 22px 18px !important;
    width: min(100%, 560px);
    max-width: none !important;
    margin: 0 auto !important;
    padding: 22px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 18px;
    background: rgba(255,255,255,.055);
    text-align: left !important;
  }

  .footer-section,
  .footer-section:first-child,
  .footer-section:last-child{
    min-width: 0;
    gap: 5px;
    text-align: left !important;
  }

  .footer-left{
    grid-column: 1;
    grid-row: 1;
  }

  .footer-right{
    grid-column: 2;
    grid-row: 1;
  }

  .footer-center{
    grid-column: 1 / -1;
    grid-row: 2;
    padding-top: 14px;
    border-top: 1px solid rgba(255,255,255,.1);
  }

  .footer-section h3{
    margin: 0 0 7px !important;
    font-size: 1.05rem !important;
    text-align: left !important;
  }

  .footer-left h3:not(:first-child){
    margin-top: 16px !important;
  }

  .footer-section p,
  .footer-section li{
    margin: 0 0 5px !important;
    font-size: .84rem !important;
    line-height: 1.35;
    text-align: left !important;
  }

  .footer-privacy-links{
    display: grid;
    gap: 4px;
    margin-top: 0 !important;
  }

  .footer-privacy-links a{
    font-size: .8rem;
    line-height: 1.3;
  }

  .footer-section ul{
    text-align: left !important;
  }

  .social{
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 8px !important;
    align-items: stretch !important;
  }

  .social-chip{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    gap: 8px;
    min-height: 42px;
    padding: 8px 11px !important;
    font-size: .82rem;
  }

  .footer-bottom{
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: min(100%, 560px);
    margin: 16px auto 0 !important;
    gap: 0 !important;
  }

  .footer-primary-row{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 0 2px 16px;
  }

  .footer-booking{
    flex: 0 0 auto;
    width: auto !important;
    min-height: 40px;
    padding-inline: 18px;
  }

  .footer-copyright{
    flex: 1 1 auto;
    margin: 0 !important;
    font-size: .75rem !important;
    text-align: right;
  }

  .designer-credit{
    justify-self: center;
    gap: 8px;
    width: min(100%, 280px);
    margin: 0;
    padding: 16px 10px 0;
    border-top: 1px solid rgba(255,255,255,.16) !important;
    border-left: 0;
  }

  .designer-logo{
    width: 38px;
  }

  .designer-copy span{
    font-size: .56rem;
  }

  .designer-copy strong{
    font-size: .8rem;
  }
}

@media (max-width: 380px){
  .footer-content{
    gap: 20px 12px !important;
  }

  .footer-section p,
  .footer-section li{
    font-size: .78rem !important;
  }

  .designer-copy{
    display: none;
  }
}

/* Slutlig finjustering av evenemangsslidern */
#events .events-grid{
  align-items: stretch;
}

#events .event-card,
#events .event-card-featured{
  display: flex;
  flex-direction: column;
  height: auto;
}

#events .event-card > div[id]{
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
}

#events .event-card img,
#events .event-card video,
#events .event-card-featured img,
#events .event-card-featured video{
  width: 100% !important;
  height: clamp(175px, 18vw, 220px) !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
}

#events .event-card .pad{
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  gap: 9px;
  padding: 18px !important;
}

#events .event-meta,
#events .event-card .badges{
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  align-items: center;
  align-self: flex-start;
  gap: 6px;
  width: auto;
  max-width: 100%;
  margin: 0;
}

#events .event-meta span,
#events .event-card .badge{
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: auto !important;
  min-width: 0 !important;
  min-height: 24px;
  margin: 0 !important;
  padding: 4px 9px !important;
  border-radius: 999px;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: .02em;
  white-space: nowrap;
}

#events .event-meta span{
  border: 1px solid rgba(0,169,189,.18);
  background: rgba(0,169,189,.1);
  color: #075965;
}

#events .event-card .badge{
  border: 1px solid rgba(20,35,38,.09);
  background: rgba(255,255,255,.75);
  color: #344649;
}

#events .event-card h3{
  margin: 3px 0 0 !important;
  font-size: clamp(1.35rem, 2vw, 1.75rem) !important;
  line-height: 1.08;
}

#events .event-card p{
  display: -webkit-box;
  overflow: hidden;
  margin: 0;
  line-height: 1.4;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

@media (max-width: 680px){
  #events .event-card,
  #events .event-card-featured{
    display: grid;
    height: auto;
  }

  #events .event-card > div[id]{
    display: contents;
  }

  #events .event-card img,
  #events .event-card video,
  #events .event-card-featured img,
  #events .event-card-featured video{
    width: 104px !important;
    height: 100% !important;
    min-height: 128px !important;
  }

  #events .event-card .pad{
    display: grid;
    gap: 5px;
    padding: 12px 11px !important;
  }

  #events .event-card .badges{
    display: none;
  }

  #events .event-meta span{
    min-height: 22px;
    padding: 3px 7px !important;
    font-size: 10px !important;
  }

  #events .event-card p{
    display: -webkit-box;
    overflow: hidden;
    font-size: .82rem !important;
    line-height: 1.28 !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  #events .event-card h3{
    font-size: 1.08rem !important;
    line-height: 1.08;
  }
}

/* Bred och balanserad footer på desktop */
@media (min-width: 769px){
  .footer{
    padding: 0 clamp(32px, 6vw, 96px) 30px !important;
  }

  .footer .footer-intro{
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(340px, .72fr);
    align-items: end;
    gap: clamp(40px, 8vw, 120px);
    width: min(100%, 1280px);
    margin: 0 auto;
    padding: 70px 0 56px;
    border-bottom: 1px solid rgba(255,255,255,.14);
  }

  .footer-intro-brand{
    display: flex;
    align-items: center;
    gap: 24px;
  }

  .footer-intro-brand img{
    width: clamp(76px, 8vw, 118px);
    height: auto;
    filter: brightness(0) invert(1);
    opacity: .92;
  }

  .footer-intro-brand div{
    display: grid;
  }

  .footer-intro-brand span{
    color: #72d9e7;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
  }

  .footer-intro-brand strong{
    color: #fff;
    font: 700 clamp(68px, 8vw, 124px)/.82 "Playfair Display", Georgia, serif;
    letter-spacing: -.055em;
  }

  .footer-intro-action{
    display: grid;
    justify-items: end;
    gap: 18px;
    padding-bottom: 6px;
    text-align: right;
  }

  .footer-intro-action p{
    max-width: 390px;
    margin: 0;
    color: rgba(255,255,255,.68);
    font-size: 1.05rem;
  }

  .footer-intro-action a{
    display: inline-flex;
    align-items: center;
    gap: 28px;
    min-width: 280px;
    padding: 17px 20px;
    border-bottom: 1px solid rgba(255,255,255,.45);
    color: #fff;
    font-size: 1.1rem;
    font-weight: 800;
    text-decoration: none;
    transition: color .2s ease, border-color .2s ease, gap .2s ease;
  }

  .footer-intro-action a span{
    margin-left: auto;
    color: #72d9e7;
    font-size: 1.5rem;
  }

  .footer-intro-action a:hover{
    gap: 36px;
    border-color: #72d9e7;
    color: #72d9e7;
  }

  .footer .footer-content{
    grid-template-columns: minmax(280px, 1.35fr) minmax(220px, .75fr) minmax(280px, 1fr) !important;
    align-items: stretch;
    gap: 0 !important;
    width: min(100%, 1280px);
    max-width: 1280px !important;
    margin: 0 auto 30px !important;
    padding: 48px 0 42px;
    border: 0;
    border-bottom: 1px solid rgba(255,255,255,.14);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .footer .footer-section,
  .footer .footer-section:first-child,
  .footer .footer-section:last-child{
    align-content: start;
    padding: 4px clamp(30px, 4vw, 58px);
    text-align: left !important;
  }

  .footer .footer-left{
    padding-left: 0;
  }

  .footer .footer-center{
    justify-items: start;
    border-inline: 1px solid rgba(255,255,255,.12);
    text-align: left !important;
  }

  .footer .footer-center h3{
    text-align: left;
  }

  .footer .footer-right{
    justify-self: stretch;
    padding-right: 0;
  }

  .footer .footer-left h3:not(:first-child){
    margin-top: 26px !important;
  }

  .footer .footer-section h3{
    position: relative;
    margin-bottom: 16px !important;
    padding-bottom: 9px;
  }

  .footer .footer-section h3::after{
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 28px;
    height: 2px;
    border-radius: 999px;
    background: #00bcd4;
  }

  .footer .social{
    display: flex !important;
    flex-direction: column;
    align-items: stretch !important;
    width: 100%;
    gap: 10px !important;
  }

  .footer .social-chip{
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 9px;
    min-width: 0;
    min-height: 44px;
  }

  .footer .footer-bottom{
    display: grid !important;
    grid-template-columns: 1fr auto 1fr !important;
    align-items: center;
    width: min(100%, 1280px);
    max-width: 1280px;
    margin: 0 auto !important;
    padding: 2px 0 0;
  }

  .footer .footer-primary-row{
    display: contents;
  }

  .footer .footer-booking{
    grid-column: 1;
    justify-self: start;
  }

  .footer .footer-copyright{
    grid-column: 2;
    justify-self: center;
    text-align: center;
  }

  .footer .designer-credit{
    grid-column: 3;
    justify-self: end;
    margin: 0;
    padding: 0;
    border-top: 0 !important;
    border-left: 0;
  }
}

/* Cinematisk hero: svart yta som tonar direkt in i restaurangbilden */
.hero-stage{
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-rows: auto auto;
  width: 100%;
  height: auto;
  min-height: 0;
  max-height: none;
  margin: 0 0 clamp(54px, 7vw, 96px);
  overflow: hidden;
  border-radius: 0;
  background: #050505;
  box-shadow: none;
}

#hero-overlay.hero-overlay{
  position: relative;
  z-index: 2;
  min-height: 0;
  height: 100%;
  margin: 0 !important;
  padding: clamp(34px, 4.5vh, 54px) 24px clamp(20px, 3vh, 34px);
  background: #050505 !important;
  color: #fff;
  overflow: visible;
}

#hero-overlay.hero-overlay::before,
#hero-overlay.hero-overlay::after{
  display: none !important;
}

#hero-overlay .container{
  width: min(100%, 1040px) !important;
  margin-inline: auto !important;
  padding: 0 !important;
}

#hero-overlay .hero-two-columns{
  display: block !important;
  width: 100% !important;
}

#hero-overlay .hero-copy.surface-glass{
  display: grid;
  justify-items: center;
  width: min(100%, 920px) !important;
  margin-inline: auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  text-align: center;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

#hero-overlay .hero-copy .eyebrow{
  margin: 0 0 12px;
  color: #8edce5 !important;
  font-size: .8rem;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}

#hero-overlay .hero-copy h1{
  margin: 0;
  color: #fff !important;
  font-size: clamp(52px, 7vh, 82px) !important;
  font-weight: 700 !important;
  line-height: .86 !important;
  letter-spacing: -.045em !important;
}

#hero-overlay .hero-copy h2{
  max-width: 850px;
  margin: 15px 0 0;
  color: #fff !important;
  font-size: clamp(28px, 4.2vh, 46px) !important;
  font-weight: 600 !important;
  line-height: 1.02 !important;
  letter-spacing: -.03em !important;
  text-wrap: balance;
}

#hero-overlay .hero-copy .lead{
  max-width: 720px;
  margin: 14px 0 0;
  color: rgba(255,255,255,.72) !important;
  font-size: clamp(16px, 1.9vh, 19px) !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  text-wrap: balance;
}

html[data-theme="dark"] #hero-overlay .hero-copy .eyebrow{
  color: #48252f !important;
}

html[data-theme="dark"] #hero-overlay .hero-copy h1,
html[data-theme="dark"] #hero-overlay .hero-copy h2{
  color: #e7d4bb !important;
}

html[data-theme="dark"] #hero-overlay .hero-copy .lead{
  color: rgba(231,212,187,.78) !important;
}

html[data-theme="dark"] .site-brand-copy small,
html[data-theme="dark"] .eyebrow,
html[data-theme="dark"] .events-eyebrow,
html[data-theme="dark"] .contact-eyebrow,
html[data-theme="dark"] .menu-eyebrow,
html[data-theme="dark"] .menu-category-eyebrow,
html[data-theme="dark"] .lunch-display-kicker,
html[data-theme="dark"] .lunch-slide-eyebrow,
html[data-theme="dark"] .lunch-pause-eyebrow,
html[data-theme="dark"] .section-kicker,
html[data-theme="dark"] .footer-v2-logo small,
html[data-theme="dark"] .footer-v2-madeby strong span{
  color: #48252f !important;
}

#hero-overlay .live-status-card{
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  min-width: min(100%, 360px);
  margin: 18px 0 0;
  padding: 10px 16px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 12px;
  background: rgba(255,255,255,.07);
  color: #fff;
  text-align: left;
}

#hero-overlay .live-status-card > div{
  display: grid;
  gap: 1px;
}

#hero-overlay .live-status-card strong{
  color: #fff;
  line-height: 1.15;
}

#hero-overlay .live-status-card span:not(.live-status-dot){
  color: rgba(255,255,255,.68);
  line-height: 1.25;
}

#hero-overlay .live-status-dot{
  flex: 0 0 auto;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #ff7777;
  box-shadow: 0 0 0 6px rgba(255,119,119,.13);
}

#hero-overlay .live-status-card.is-open .live-status-dot{
  background: #5fe39a;
  box-shadow: 0 0 0 6px rgba(95,227,154,.13);
}

#hero-overlay .hero-ctas{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 14px;
}

#hero-overlay .hero-ctas .btn{
  min-height: 44px;
  padding: 0 22px;
  border: 1px solid rgba(255,255,255,.3);
  border-radius: 10px;
  background: transparent;
  color: #fff;
}

#hero-overlay .hero-ctas .btn.primary{
  border-color: #00a9bd;
  background: #00a9bd;
  color: #fff;
}

#hero-overlay .hero-ctas .btn:hover,
#hero-overlay .hero-ctas .btn:focus-visible{
  border-color: #fff;
  background: #fff;
  color: #142326;
}

.hero-stage .hero-photo-strip{
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  margin: -1px 0 0;
  padding: 0;
  overflow: hidden;
  border-radius: 0;
  background: #050505;
}

.hero-stage .hero-photo-strip::before{
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0 0 auto;
  height: clamp(70px, 8vw, 120px);
  background: linear-gradient(180deg, #050505 0%, rgba(5,5,5,.72) 20%, rgba(5,5,5,.16) 58%, transparent 100%);
  pointer-events: none;
}

.hero-stage .hero-photo-strip img{
  display: block;
  width: 100% !important;
  height: auto;
  border-radius: 0 !important;
  object-fit: cover;
  object-position: center;
  box-shadow: none !important;
}

@media (max-width: 768px){
  .mobile-hero{
    display: block !important;
  }

  .hero-stage{
    display: none !important;
  }

  .mobile-hero,
  .mobile-hero-video{
    width: 100%;
    height: calc(100svh - var(--topbar-height, 64px) - 44px);
    min-height: 560px;
  }
}

/* Startsidans sammanhållna bakgrundsrytm */
body{
  background:
    radial-gradient(circle at 10% 18%, rgba(0,169,189,.08), transparent 28%),
    radial-gradient(circle at 88% 62%, rgba(0,169,189,.045), transparent 30%),
    linear-gradient(180deg, #f7fafb 0%, #eef4f5 52%, #f7fafb 100%);
  background-attachment: fixed;
}

.site-header{
  background-color: #fff;
}

.hero-photo-strip{
  padding: 8px;
  border-radius: 24px;
  background: #0b2748;
}

.hero-photo-strip img{
  display: block;
  width: 100% !important;
  border-radius: 16px !important;
}

#restaurang-showcase-v2::before{
  display: none;
}

#kontakt,
#events{
  position: relative;
  isolation: isolate;
  width: min(calc(100% - 24px), 1200px);
  padding: clamp(28px, 5vw, 58px);
  border: 1px solid rgba(90,76,55,.08);
  border-radius: 24px;
  background: #f2f3ee;
}

#kontakt{
  background: #e8ebe4;
}

#events{
  margin-top: clamp(24px, 5vw, 64px);
  margin-bottom: clamp(52px, 7vw, 96px);
}

.footer{
  border-top-color: rgba(255,255,255,.1) !important;
  background: #071f3c !important;
}

.footer::before{
  background: linear-gradient(90deg, transparent, rgba(80,189,210,.55), transparent) !important;
}

@media (max-width: 720px){
  .hero-photo-strip{
    padding: 5px;
    border-radius: 19px;
  }

  #restaurang-showcase-v2::before{
    display: none;
  }

  #kontakt,
  #events{
    width: min(calc(100% - 16px), 620px);
    padding: 24px 16px;
    border-radius: 18px;
  }
}

/* Sticky showcase v2 */
#restaurang-showcase-v2{
  --showcase-navy: #142326;
  --showcase-cyan: #00a9bd;
  --showcase-ink: #142326;
  --showcase-soft: #eaf7f8;
  position: relative;
  display: grid;
  grid-template-columns: minmax(300px, 40%) minmax(0, 60%);
  align-items: start;
  gap: clamp(46px, 6vw, 96px);
  width: min(calc(100% - clamp(40px, 6vw, 96px)), 1480px);
  margin: clamp(90px, 10vw, 150px) auto;
  color: #111;
}

#restaurang-showcase-v2 .showcase-rail{
  position: sticky;
  top: calc(var(--topbar-height, 64px) + 56px);
  display: grid;
  gap: clamp(28px, 3vw, 44px);
  min-width: 0;
}

#restaurang-showcase-v2 .showcase-nav{
  display: grid;
  gap: 4px;
}

#restaurang-showcase-v2 .showcase-nav-item{
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  align-items: baseline;
  width: 100%;
  padding: 8px 0;
  border: 0;
  background: transparent;
  color: #a0a0a0;
  font: 500 clamp(18px, 1.55vw, 24px)/1.2 "Playfair Display", Georgia, serif;
  text-align: left;
  cursor: pointer;
  transition: color .4s ease, transform .4s ease, font-weight .4s ease;
}

#restaurang-showcase-v2 .showcase-nav-item:hover,
#restaurang-showcase-v2 .showcase-nav-item:focus-visible{
  color: #555;
}

#restaurang-showcase-v2 .showcase-nav-item:focus-visible{
  outline: 2px solid #0b2748;
  outline-offset: 5px;
  border-radius: 3px;
}

#restaurang-showcase-v2 .showcase-nav-item.is-active{
  color: var(--showcase-navy);
  font-weight: 750;
  transform: translateX(6px);
}

#restaurang-showcase-v2 .showcase-nav-item.is-active::after{
  content: "";
  align-self: center;
  width: 34px;
  height: 2px;
  margin-left: 10px;
  border-radius: 999px;
  background: var(--showcase-cyan);
}

#restaurang-showcase-v2 .showcase-nav-number{
  color: inherit;
  font-family: "Source Sans 3", system-ui, sans-serif;
  font-size: .68em;
  font-variant-numeric: tabular-nums;
  letter-spacing: .08em;
}

#restaurang-showcase-v2 .showcase-media{
  position: relative;
  aspect-ratio: 4 / 3;
  min-height: 300px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.86);
  border-radius: 16px;
  background: rgba(255,255,255,.93);
  box-shadow:
    0 28px 70px rgba(11,72,84,.2),
    inset 0 1px 0 rgba(255,255,255,.95);
  isolation: isolate;
}

#restaurang-showcase-v2 .showcase-media-layer{
  position: absolute;
  inset: 0;
  z-index: 0;
  background-position: center;
  background-size: cover;
  opacity: 0;
  transform: scale(1.035) translateY(8px);
  transition: opacity .55s ease, transform .75s cubic-bezier(.22, 1, .36, 1);
}

#restaurang-showcase-v2 .showcase-media-layer::after{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 55%, rgba(7, 24, 43, .26));
}

#restaurang-showcase-v2 .showcase-media-layer.is-active{
  z-index: 1;
  opacity: 1;
  transform: scale(1) translateY(0);
}

#restaurang-showcase-v2 .showcase-media-counter{
  position: absolute;
  right: 18px;
  bottom: 18px;
  z-index: 3;
  display: flex;
  align-items: baseline;
  gap: 8px;
  padding: 9px 13px;
  border: 1px solid rgba(255,255,255,.35);
  border-radius: 999px;
  background: rgba(5, 22, 40, .62);
  color: #fff;
  font: 600 13px/1 "Source Sans 3", system-ui, sans-serif;
  letter-spacing: .08em;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

#restaurang-showcase-v2 .showcase-media-counter strong{
  color: rgba(255,255,255,.62);
  font-size: 11px;
  font-weight: 600;
}

#restaurang-showcase-v2 .showcase-media-counter strong::before{
  content: "/";
  margin-right: 8px;
}

#restaurang-showcase-v2 .showcase-steps{
  counter-reset: showcase-card;
  display: grid;
  gap: clamp(44px, 7vh, 84px);
  min-width: 0;
  padding-bottom: 12vh;
}

#restaurang-showcase-v2 .showcase-steps > .section-bleed.scrub.bleed-enhanced.editorial-section{
  counter-increment: showcase-card;
  display: flex !important;
  align-items: center;
  width: 100% !important;
  min-height: min(64vh, 620px) !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid #b9e2e5 !important;
  border-radius: 12px !important;
  background: linear-gradient(135deg, #e6f7f8, #f7fbfb) !important;
  box-shadow: 0 18px 46px rgba(11,72,84,.09) !important;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  opacity: 1;
  transform: translateY(10px);
  transition: opacity .45s ease, transform .45s ease, border-color .45s ease, box-shadow .45s ease;
}

#restaurang-showcase-v2 .showcase-steps > .editorial-section:nth-child(even){
  border-color: #b9e2e5 !important;
  background: linear-gradient(135deg, #e6f7f8, #f7fbfb) !important;
}

#restaurang-showcase-v2 .showcase-steps > .editorial-section.is-showcase-active{
  border-color: #9cd8dd !important;
  box-shadow: 0 24px 58px rgba(11,72,84,.15) !important;
  opacity: 1;
  transform: translateY(0);
}

#restaurang-showcase-v2 .showcase-steps > .editorial-section::before,
#restaurang-showcase-v2 .showcase-steps > .editorial-section::after,
#restaurang-showcase-v2 .showcase-steps > .editorial-section > .__bg{
  display: none !important;
}

#restaurang-showcase-v2 .showcase-steps > .editorial-section > .container,
#restaurang-showcase-v2 .showcase-steps > .editorial-section.editorial-right > .container{
  position: relative;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: clamp(28px, 4vw, 50px) !important;
  background: transparent !important;
}

#restaurang-showcase-v2 .showcase-steps > .editorial-section > .container::before{
  display: none;
}

#restaurang-showcase-v2 .showcase-steps > .editorial-section.is-showcase-active > .container::after{
  display: none;
}

#restaurang-showcase-v2 .editorial-panel{
  width: 100% !important;
  max-width: 680px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

#restaurang-showcase-v2 .section-kicker{
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #087b89 !important;
  font-weight: 900 !important;
  font-size: .78rem !important;
  letter-spacing: .1em !important;
  text-transform: uppercase;
}

#restaurang-showcase-v2 .section-kicker::before{
  content: "";
  width: 24px;
  height: 2px;
  border-radius: 999px;
  background: var(--showcase-cyan);
}

#restaurang-showcase-v2 .editorial-panel h2{
  max-width: 760px;
  margin: 10px 0 16px !important;
  color: var(--showcase-navy) !important;
  font: 700 clamp(38px, 4.5vw, 62px)/1.03 "Playfair Display", Georgia, serif !important;
  letter-spacing: -.025em !important;
  text-wrap: balance;
}

#restaurang-showcase-v2 .editorial-panel .lead{
  max-width: 620px;
  color: #526265 !important;
  font-size: clamp(17px, 1.35vw, 20px) !important;
  line-height: 1.5 !important;
}

#restaurang-showcase-v2 .editorial-facts,
#restaurang-showcase-v2 .editorial-glass{
  margin-top: 22px !important;
  gap: 0 !important;
  border: 1px solid #ccebed !important;
  border-radius: 10px !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

#restaurang-showcase-v2 .editorial-facts > div,
#restaurang-showcase-v2 .editorial-glass > *{
  border: 0 !important;
  border-radius: 0 !important;
  background: rgba(255,255,255,.58) !important;
}

#restaurang-showcase-v2 .editorial-facts > div + div{
  border-left: 1px solid #ccebed !important;
}

#restaurang-showcase-v2 .editorial-facts span,
#restaurang-showcase-v2 .editorial-glass span,
#restaurang-showcase-v2 .hours-list dt{
  color: #68777a !important;
}

#restaurang-showcase-v2 .editorial-facts strong,
#restaurang-showcase-v2 .editorial-glass strong,
#restaurang-showcase-v2 .hours-list dd{
  color: var(--showcase-navy) !important;
}

#restaurang-showcase-v2 .hours-live-status{
  border-color: #ccebed !important;
  background: var(--showcase-soft) !important;
}

#restaurang-showcase-v2 .section-cta{
  margin-top: 22px !important;
}

#restaurang-showcase-v2 .section-cta .btn.primary{
  border: 1px solid var(--showcase-cyan) !important;
  border-radius: 8px !important;
  background: var(--showcase-cyan) !important;
  color: #fff !important;
  box-shadow: none;
}

#restaurang-showcase-v2 .section-cta .btn.primary:hover,
#restaurang-showcase-v2 .section-cta .btn.primary:focus-visible{
  border-color: #008fa1 !important;
  background: #008fa1 !important;
  color: #fff !important;
  transform: translateY(-1px);
}

@media (max-width: 980px){
  #restaurang-showcase-v2{
    grid-template-columns: minmax(250px, 36%) minmax(0, 64%);
    gap: 34px;
    width: min(calc(100% - 32px), 1120px);
  }

  #restaurang-showcase-v2 .showcase-rail{
    top: calc(var(--topbar-height, 64px) + 36px);
  }

  #restaurang-showcase-v2 .showcase-media{
    min-height: 230px;
    border-radius: 21px;
  }

  #restaurang-showcase-v2 .showcase-steps > .section-bleed.scrub.bleed-enhanced.editorial-section{
    min-height: 620px !important;
  }

  #restaurang-showcase-v2 .editorial-panel h2{
    font-size: clamp(40px, 6vw, 60px) !important;
  }
}

@media (max-width: 760px){
  #restaurang-showcase-v2{
    display: block;
    width: 100%;
    margin: 54px auto 72px;
  }

  #restaurang-showcase-v2 .showcase-rail{
    position: sticky;
    top: var(--topbar-height, 64px);
    z-index: 20;
    display: block;
    width: 100%;
    padding: 10px 12px;
    border-block: 1px solid #e5e7e9;
    background: rgba(255,255,255,.94);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
  }

  #restaurang-showcase-v2 .showcase-nav{
    display: flex;
    gap: 6px;
    overflow-x: auto;
    scrollbar-width: none;
    scroll-snap-type: x proximity;
  }

  #restaurang-showcase-v2 .showcase-nav::-webkit-scrollbar{
    display: none;
  }

  #restaurang-showcase-v2 .showcase-nav-item{
    display: flex;
    flex: 0 0 auto;
    gap: 5px;
    width: auto;
    padding: 9px 12px;
    border-radius: 999px;
    background: #f1f2f3;
    font-size: 14px;
    scroll-snap-align: center;
  }

  #restaurang-showcase-v2 .showcase-nav-item.is-active{
    background: var(--showcase-navy);
    color: #fff;
    transform: none;
  }

  #restaurang-showcase-v2 .showcase-nav-item.is-active::after{
    display: none;
  }

  #restaurang-showcase-v2 .showcase-media{
    display: none;
  }

  #restaurang-showcase-v2 .showcase-steps{
    gap: 18px;
    width: min(calc(100% - 24px), 620px);
    margin: 20px auto 0;
    padding: 0;
  }

  #restaurang-showcase-v2 .showcase-steps > .section-bleed.scrub.bleed-enhanced.editorial-section{
    display: grid !important;
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
    overflow: hidden !important;
    border-radius: 22px !important;
    opacity: 1;
    transform: none;
  }

  #restaurang-showcase-v2 .showcase-steps > .editorial-section > .__bg,
  #restaurang-showcase-v2 .showcase-steps > .editorial-section.editorial-right > .__bg{
    display: block !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    min-height: 210px !important;
    max-height: 240px !important;
    opacity: 1 !important;
    transform: none !important;
    background-position: center !important;
    background-size: cover !important;
  }

  #restaurang-showcase-v2 .showcase-steps > .editorial-section > .container,
  #restaurang-showcase-v2 .showcase-steps > .editorial-section.editorial-right > .container{
    grid-column: 1 !important;
    grid-row: 2 !important;
    padding: 26px 20px 28px !important;
  }

  #restaurang-showcase-v2 .showcase-steps > .editorial-section > .container::before{
    top: 20px;
    right: 18px;
    font-size: 42px;
  }

  #restaurang-showcase-v2 .showcase-steps > .editorial-section.is-showcase-active > .container::after{
    top: 26px;
    bottom: 28px;
    width: 3px;
  }

  #restaurang-showcase-v2 .editorial-panel h2{
    margin-top: 10px !important;
    font-size: clamp(34px, 10vw, 48px) !important;
  }

  #restaurang-showcase-v2 .editorial-panel .lead{
    font-size: 17px !important;
  }

  #restaurang-showcase-v2 .editorial-facts,
  #restaurang-showcase-v2 .editorial-glass{
    margin-top: 20px !important;
  }

  #restaurang-showcase-v2 .editorial-facts > div + div{
    border-top: 1px solid #ccebed !important;
    border-left: 0 !important;
  }
}

@media (prefers-reduced-motion: reduce){
  #restaurang-showcase-v2 .showcase-nav-item,
  #restaurang-showcase-v2 .showcase-media-layer,
  #restaurang-showcase-v2 .showcase-steps > .editorial-section{
    transition: none !important;
  }
}

/* Final menu magazine overrides */
#restaurang-magazine .menu-magazine-content{
  display: grid;
  gap: clamp(44px, 8vw, 110px);
  counter-reset: magazine-section;
}

#restaurang-magazine .menu-magazine-content > .section-bleed.scrub.bleed-enhanced.editorial-section{
  position: relative;
  display: block;
  width: min(calc(100% - clamp(28px, 5vw, 84px)), 1440px);
  min-height: clamp(610px, 76vh, 790px);
  margin: 0 auto clamp(74px, 9vw, 130px) !important;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  counter-increment: magazine-section;
}

#restaurang-magazine .menu-magazine-content > .editorial-section::before{
  content: counter(magazine-section, decimal-leading-zero);
  position: absolute;
  z-index: 5;
  top: -10px;
  left: clamp(18px, 3.5vw, 54px);
  display: block;
  color: rgba(255,255,255,.82);
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(68px, 10vw, 150px);
  font-weight: 700;
  line-height: .8;
  letter-spacing: -.06em;
  text-shadow: 0 12px 36px rgba(0,0,0,.3);
  pointer-events: none;
}

#restaurang-magazine .menu-magazine-content > .editorial-section.editorial-right::before{
  right: clamp(18px, 3.5vw, 54px);
  left: auto;
}

#restaurang-magazine .menu-magazine-content > .editorial-section::after{
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0 0 auto;
  display: block;
  height: clamp(500px, 66vh, 680px);
  border-radius: 30px;
  background: linear-gradient(180deg, transparent 56%, rgba(4,18,34,.3));
  pointer-events: none;
}

#restaurang-magazine .menu-magazine-content > .editorial-section > .__bg,
#restaurang-magazine .menu-magazine-content > .editorial-section.editorial-right > .__bg{
  position: absolute;
  inset: 0 0 auto;
  z-index: 1;
  display: block;
  grid-column: auto;
  grid-row: auto;
  width: 100%;
  height: clamp(500px, 66vh, 680px);
  min-height: 0;
  max-height: none;
  overflow: hidden;
  border-radius: 30px;
  background-position: center;
  background-size: cover;
  filter: saturate(.98) contrast(1.04);
  transform: scale(1.015);
}

#restaurang-magazine .menu-magazine-content > .editorial-section > .container,
#restaurang-magazine .menu-magazine-content > .editorial-section.editorial-right > .container{
  position: absolute;
  z-index: 4;
  right: auto;
  bottom: 0;
  left: clamp(24px, 6vw, 92px);
  display: block;
  grid-column: auto;
  grid-row: auto;
  width: min(62%, 820px);
  max-width: none;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  opacity: 1;
  transform: none;
}

#restaurang-magazine .menu-magazine-content > .editorial-section.editorial-right > .container{
  right: clamp(24px, 6vw, 92px);
  left: auto;
}

#restaurang-magazine .menu-magazine-content .editorial-panel{
  width: 100%;
  max-width: none;
  padding: clamp(28px, 4vw, 50px);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 26px;
  background:
    radial-gradient(circle at 100% 0%, rgba(0,188,212,.13), transparent 38%),
    linear-gradient(145deg, rgba(10,41,72,.97), rgba(6,26,49,.98));
  box-shadow: 0 28px 70px rgba(7,31,60,.26);
}

@media (max-width: 900px){
  #restaurang-magazine .menu-magazine-content > .editorial-section > .container,
  #restaurang-magazine .menu-magazine-content > .editorial-section.editorial-right > .container{
    right: 24px;
    left: 24px;
    width: auto;
  }
}

@media (max-width: 720px){
  #restaurang-magazine .menu-magazine-content{
    gap: 16px;
  }

  #restaurang-magazine .menu-magazine-content > .section-bleed.scrub.bleed-enhanced.editorial-section{
    display: grid;
    grid-template-columns: 1fr;
    width: min(calc(100% - 16px), 620px);
    min-height: 0;
    margin: 0 auto !important;
    overflow: hidden;
    border: 1px solid rgba(7,31,60,.1);
    border-radius: 22px;
    background: #071f3c;
    box-shadow: 0 14px 34px rgba(7,31,60,.1);
  }

  #restaurang-magazine .menu-magazine-content > .editorial-section::before{
    top: 16px;
    left: 17px;
    font-size: 62px;
  }

  #restaurang-magazine .menu-magazine-content > .editorial-section.editorial-right::before{
    right: 17px;
    left: auto;
  }

  #restaurang-magazine .menu-magazine-content > .editorial-section::after{
    inset: 0;
    height: 230px;
    border-radius: 0;
  }

  #restaurang-magazine .menu-magazine-content > .editorial-section > .__bg,
  #restaurang-magazine .menu-magazine-content > .editorial-section.editorial-right > .__bg{
    position: relative;
    inset: auto;
    grid-column: 1;
    grid-row: 1;
    width: 100%;
    height: 230px;
    min-height: 230px;
    border-radius: 0;
    transform: none !important;
  }

  #restaurang-magazine .menu-magazine-content > .editorial-section > .container,
  #restaurang-magazine .menu-magazine-content > .editorial-section.editorial-right > .container{
    position: relative;
    inset: auto;
    grid-column: 1;
    grid-row: 2;
    width: 100%;
    margin: 0;
  }

  #restaurang-magazine .menu-magazine-content .editorial-panel{
    padding: 25px 20px 28px;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }
}

/* Restaurant filmstrip */
#restaurang-filmstrip{
  width: 100%;
  margin: clamp(30px, 5vw, 70px) 0;
}

#restaurang-filmstrip .restaurant-filmstrip-content{
  display: grid;
  gap: clamp(18px, 3vw, 34px);
  counter-reset: filmstrip-section;
}

#restaurang-filmstrip .restaurant-filmstrip-content > .section-bleed.scrub.bleed-enhanced.editorial-section{
  position: relative;
  display: grid;
  grid-template-rows: clamp(360px, 47vw, 600px) auto;
  width: min(calc(100% - clamp(24px, 4vw, 68px)), 1500px);
  min-height: 0;
  margin: 0 auto !important;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  counter-increment: filmstrip-section;
}

#restaurang-filmstrip .editorial-section::before{
  content: counter(filmstrip-section, decimal-leading-zero);
  position: absolute;
  z-index: 6;
  top: 18px;
  left: clamp(20px, 3vw, 44px);
  display: grid;
  place-items: center;
  min-width: 52px;
  height: 32px;
  padding: 0 12px;
  border: 1px solid rgba(255,255,255,.3);
  border-radius: 999px;
  background: rgba(4,18,34,.56);
  color: #fff;
  font-family: "Source Sans 3", system-ui, sans-serif;
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .16em;
  line-height: 1;
  backdrop-filter: blur(8px);
}

#restaurang-filmstrip .editorial-section.editorial-right::before{
  right: clamp(20px, 3vw, 44px);
  left: auto;
}

#restaurang-filmstrip .editorial-section::after{
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0 0 auto;
  display: block;
  height: clamp(360px, 47vw, 600px);
  border-radius: 28px;
  background:
    linear-gradient(180deg, rgba(4,18,34,.08), transparent 38%, rgba(4,18,34,.42)),
    linear-gradient(90deg, rgba(4,18,34,.14), transparent 32%);
  pointer-events: none;
}

#restaurang-filmstrip .editorial-section > .__bg,
#restaurang-filmstrip .editorial-section.editorial-right > .__bg{
  position: relative;
  inset: auto;
  z-index: 1;
  display: block;
  grid-column: 1;
  grid-row: 1;
  width: 100%;
  height: 100%;
  min-height: 0;
  max-height: none;
  overflow: hidden;
  border-radius: 28px;
  background-position: center;
  background-size: cover;
  filter: saturate(.98) contrast(1.04);
  transform: scale(1.01);
}

#restaurang-filmstrip .editorial-section > .container,
#restaurang-filmstrip .editorial-section.editorial-right > .container{
  position: relative;
  z-index: 4;
  inset: auto;
  grid-column: 1;
  grid-row: 2;
  display: block;
  width: min(92%, 1120px);
  max-width: none;
  margin: -56px auto 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  opacity: 1;
  transform: none;
}

#restaurang-filmstrip .editorial-panel{
  display: grid;
  grid-template-columns: minmax(220px, .72fr) minmax(0, 1.28fr);
  gap: clamp(20px, 3vw, 44px);
  align-items: start;
  width: 100%;
  max-width: none;
  padding: clamp(24px, 3.5vw, 42px);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 22px;
  background:
    radial-gradient(circle at 100% 0%, rgba(0,188,212,.11), transparent 36%),
    linear-gradient(145deg, rgba(10,41,72,.98), rgba(6,26,49,.99));
  box-shadow: 0 24px 60px rgba(7,31,60,.22);
}

#restaurang-filmstrip .editorial-panel .section-kicker,
#restaurang-filmstrip .editorial-panel h2{
  grid-column: 1;
}

#restaurang-filmstrip .editorial-panel h2{
  margin-top: 0;
  font-size: clamp(34px, 4.2vw, 64px) !important;
}

#restaurang-filmstrip .editorial-panel .lead,
#restaurang-filmstrip .editorial-panel > .editorial-glass,
#restaurang-filmstrip .editorial-panel > .editorial-facts,
#restaurang-filmstrip .editorial-panel > .section-cta{
  grid-column: 2;
}

#restaurang-filmstrip .editorial-panel .lead{
  grid-row: 1 / span 2;
  align-self: end;
  margin-top: 0;
}

#restaurang-filmstrip .editorial-panel > .editorial-facts,
#restaurang-filmstrip .editorial-panel > .editorial-glass{
  margin-top: 0;
}

#restaurang-filmstrip .editorial-panel > .section-cta{
  margin-top: 4px;
}

#restaurang-filmstrip .section-number,
#restaurang-filmstrip .section-scroll-cue{
  display: none;
}

@media (max-width: 820px){
  #restaurang-filmstrip .editorial-panel{
    grid-template-columns: 1fr;
  }

  #restaurang-filmstrip .editorial-panel .section-kicker,
  #restaurang-filmstrip .editorial-panel h2,
  #restaurang-filmstrip .editorial-panel .lead,
  #restaurang-filmstrip .editorial-panel > .editorial-glass,
  #restaurang-filmstrip .editorial-panel > .editorial-facts,
  #restaurang-filmstrip .editorial-panel > .section-cta{
    grid-column: 1;
    grid-row: auto;
  }

  #restaurang-filmstrip .editorial-panel .lead{
    margin-top: 4px;
  }
}

@media (max-width: 720px){
  #restaurang-filmstrip{
    margin: 18px 0 34px;
  }

  #restaurang-filmstrip .restaurant-filmstrip-content{
    gap: 14px;
  }

  #restaurang-filmstrip .restaurant-filmstrip-content > .section-bleed.scrub.bleed-enhanced.editorial-section{
    grid-template-rows: 220px auto;
    width: min(calc(100% - 16px), 620px);
    overflow: hidden;
    border: 1px solid rgba(7,31,60,.1);
    border-radius: 22px;
    background: #071f3c;
    box-shadow: 0 14px 34px rgba(7,31,60,.1);
  }

  #restaurang-filmstrip .editorial-section::after{
    height: 220px;
    border-radius: 0;
  }

  #restaurang-filmstrip .editorial-section > .__bg,
  #restaurang-filmstrip .editorial-section.editorial-right > .__bg{
    height: 220px;
    border-radius: 0;
    transform: none !important;
  }

  #restaurang-filmstrip .editorial-section > .container,
  #restaurang-filmstrip .editorial-section.editorial-right > .container{
    width: 100%;
    margin: 0;
  }

  #restaurang-filmstrip .editorial-panel{
    padding: 24px 20px 28px;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }

  #restaurang-filmstrip .editorial-panel h2{
    font-size: clamp(34px, 10vw, 48px) !important;
  }
}

/* Keep sticky showcase above legacy split overrides */
#restaurang-showcase .sticky-showcase-content .editorial-section{
  display: flex;
  align-items: center;
  width: 100%;
  min-height: min(74vh, 700px);
  margin: 0 !important;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

#restaurang-showcase .sticky-showcase-content .editorial-section > .__bg{
  display: none;
}

#restaurang-showcase .sticky-showcase-content .editorial-section > .container{
  position: relative;
  display: flex;
  grid-column: auto;
  grid-row: auto;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: clamp(30px, 4vw, 52px);
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 26px;
  background:
    radial-gradient(circle at 100% 0%, rgba(0,188,212,.12), transparent 36%),
    linear-gradient(145deg, #0a2948, #061a31);
  box-shadow: 0 22px 54px rgba(7,31,60,.13);
  opacity: .58;
  transform: translateY(18px) scale(.985);
}

#restaurang-showcase .sticky-showcase-content .editorial-section.is-showcase-active > .container{
  border-color: rgba(0,188,212,.32);
  opacity: 1;
  transform: none;
}

#restaurang-showcase .sticky-showcase-content .editorial-panel{
  width: 100%;
  max-width: 620px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

@media (max-width: 720px){
  #restaurang-showcase .sticky-showcase-content .editorial-section{
    display: grid;
    grid-template-columns: 1fr;
    min-height: 0;
    overflow: hidden;
    border: 1px solid rgba(7,31,60,.1);
    border-radius: 22px;
    background: #071f3c;
    box-shadow: 0 14px 34px rgba(7,31,60,.1);
  }

  #restaurang-showcase .sticky-showcase-content .editorial-section > .__bg{
    display: block;
    position: relative;
    inset: auto;
    grid-column: 1;
    grid-row: 1;
    min-height: 210px;
    max-height: 240px;
    transform: none !important;
    filter: saturate(.96) contrast(1.03) !important;
  }

  #restaurang-showcase .sticky-showcase-content .editorial-section > .container{
    grid-column: 1;
    grid-row: 2;
    width: 100%;
    margin: 0;
    padding: 25px 20px 28px;
    border: 0;
    border-radius: 0;
    opacity: 1;
    transform: none;
  }
}

/* Sticky restaurant showcase */
.sticky-showcase{
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(420px, .92fr);
  gap: clamp(22px, 3vw, 48px);
  width: min(calc(100% - clamp(28px, 5vw, 80px)), 1480px);
  margin: clamp(34px, 6vw, 82px) auto;
  align-items: start;
}

.sticky-showcase-media{
  position: sticky;
  top: calc(var(--topbar-height, 64px) + 62px);
  height: min(76vh, 760px);
  min-height: 520px;
  overflow: hidden;
  border-radius: 30px;
  background: #071f3c;
  box-shadow: 0 28px 80px rgba(7,31,60,.18);
}

.sticky-showcase-image{
  position: absolute;
  inset: 0;
  background-position: center;
  background-size: cover;
  opacity: 0;
  transform: scale(1.055);
  transition: opacity .65s ease, transform 1.1s cubic-bezier(.22,.61,.36,1);
}

.sticky-showcase-image::after{
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, transparent 50%, rgba(4,18,34,.72)),
    linear-gradient(90deg, rgba(4,18,34,.12), transparent 40%);
}

.sticky-showcase-image.is-active{
  opacity: 1;
  transform: scale(1);
}

.sticky-showcase-caption{
  position: absolute;
  z-index: 3;
  left: clamp(22px, 3vw, 42px);
  right: clamp(22px, 3vw, 42px);
  bottom: clamp(22px, 3vw, 38px);
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
  color: #fff;
}

.sticky-showcase-index{
  color: rgba(255,255,255,.68);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .18em;
}

.sticky-showcase-title{
  max-width: 12ch;
  color: #fff;
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(1.6rem, 3vw, 3rem);
  line-height: .95;
  text-align: right;
}

.sticky-showcase-content{
  display: grid;
  gap: clamp(18px, 4vh, 38px);
}

.sticky-showcase-content .section-bleed.scrub.bleed-enhanced.editorial-section{
  display: flex;
  align-items: center;
  width: 100%;
  min-height: min(74vh, 700px);
  margin: 0 !important;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.sticky-showcase-content .editorial-section::before,
.sticky-showcase-content .editorial-section::after{
  content: none;
  display: none;
}

.sticky-showcase-content .editorial-section > .__bg{
  display: none;
}

.sticky-showcase-content .editorial-section > .container,
.sticky-showcase-content .editorial-section.editorial-right > .container{
  display: flex;
  grid-column: auto;
  grid-row: auto;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: clamp(30px, 4vw, 52px);
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 26px;
  background:
    radial-gradient(circle at 100% 0%, rgba(0,188,212,.12), transparent 36%),
    linear-gradient(145deg, #0a2948, #061a31);
  box-shadow: 0 22px 54px rgba(7,31,60,.13);
  opacity: .58;
  transform: translateY(18px) scale(.985);
  transition: opacity .35s ease, transform .45s ease, border-color .35s ease;
}

.sticky-showcase-content .editorial-section.is-showcase-active > .container{
  border-color: rgba(0,188,212,.32);
  opacity: 1;
  transform: none;
}

.sticky-showcase-content .editorial-panel{
  width: 100%;
  max-width: 620px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

@media (max-width: 900px){
  .sticky-showcase{
    grid-template-columns: minmax(0, 1fr) minmax(350px, .9fr);
    gap: 22px;
  }

  .sticky-showcase-media{
    min-height: 470px;
  }

  .sticky-showcase-content .editorial-section > .container{
    padding: 28px;
  }

  .sticky-showcase-content .editorial-facts{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px){
  .sticky-showcase{
    display: block;
    width: min(calc(100% - 16px), 620px);
    margin: 18px auto 34px;
  }

  .sticky-showcase-media{
    display: none;
  }

  .sticky-showcase-content{
    gap: 14px;
  }

  .sticky-showcase-content .section-bleed.scrub.bleed-enhanced.editorial-section{
    display: grid;
    grid-template-columns: 1fr;
    min-height: 0;
    overflow: hidden;
    border: 1px solid rgba(7,31,60,.1);
    border-radius: 22px;
    background: #071f3c;
    box-shadow: 0 14px 34px rgba(7,31,60,.1);
  }

  .sticky-showcase-content .editorial-section > .__bg,
  .sticky-showcase-content .editorial-section.editorial-right > .__bg{
    display: block;
    position: relative;
    inset: auto;
    grid-column: 1;
    grid-row: 1;
    min-height: 210px;
    max-height: 240px;
    transform: none !important;
    filter: saturate(.96) contrast(1.03) !important;
  }

  .sticky-showcase-content .editorial-section > .container,
  .sticky-showcase-content .editorial-section.editorial-right > .container{
    grid-column: 1;
    grid-row: 2;
    padding: 25px 20px 28px;
    border: 0;
    border-radius: 0;
    opacity: 1;
    transform: none;
  }
}

/* Menu previous/next pager */
.menu-pager{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 18px;
}

.menu-pager-btn{
  display: grid;
  gap: 3px;
  min-height: 68px;
  padding: 13px 16px;
  border: 1px solid rgba(10,18,20,.08);
  border-radius: 18px;
  background: #ffffff;
  color: #142326;
  cursor: pointer;
  box-shadow: 0 12px 28px rgba(10,18,20,.06);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
}

.menu-pager-prev{
  text-align: left;
}

.menu-pager-next{
  text-align: right;
}

.menu-pager-btn span{
  color: #0b7f8d;
  font-size: .82rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.menu-pager-btn strong{
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(1.08rem, 1rem + .4vw, 1.32rem);
  font-weight: 700;
  line-height: 1.1;
}

.menu-pager-btn:hover,
.menu-pager-btn:focus-visible{
  background: #f4fbfc;
  border-color: rgba(0,188,212,.42);
  box-shadow: 0 18px 34px rgba(10,18,20,.1);
  transform: translateY(-2px);
}

@media (max-width: 640px){
  .menu-pager{
    grid-template-columns: 1fr;
    gap: 10px;
    margin-top: 14px;
    padding-bottom: 10px;
  }

  .menu-pager-btn{
    min-height: 62px;
  }
}

/* Editorial fullbleed sections */
.section-bleed.scrub.bleed-enhanced.editorial-section{
  min-height: clamp(620px, 78vh, 760px);
  padding: clamp(62px, 8vw, 100px) 0;
}

.editorial-section .container{
  display: flex;
  width: calc(100% - clamp(48px, 7vw, 120px));
  max-width: none;
  margin-inline: auto;
}

.editorial-section.editorial-left .container{
  justify-content: flex-start;
}

.editorial-section.editorial-right .container{
  justify-content: flex-end;
}

.section-bleed.scrub.bleed-enhanced .editorial-panel{
  width: min(100%, 860px);
  max-width: 860px;
  margin: 0;
  padding: clamp(28px, 4vw, 48px);
  border: 1px solid rgba(255,255,255,.2);
  border-left: 1px solid rgba(255,255,255,.2);
  border-radius: 24px;
  background:
    linear-gradient(145deg, rgba(7,31,60,.76), rgba(8,22,34,.62));
  box-shadow:
    0 28px 70px rgba(0,0,0,.28),
    inset 0 1px 0 rgba(255,255,255,.12);
  text-align: left;
  text-shadow: none;
  backdrop-filter: blur(12px) saturate(1.08);
  -webkit-backdrop-filter: blur(12px) saturate(1.08);
}

.section-bleed.scrub.bleed-enhanced .editorial-panel::before{
  content: none;
}

.section-bleed.scrub.bleed-enhanced .editorial-panel .section-kicker{
  justify-content: flex-start;
  width: auto;
  margin-bottom: 14px;
  color: rgba(255,255,255,.78) !important;
}

.section-bleed.scrub.bleed-enhanced .editorial-panel h2{
  max-width: 13ch;
  margin: 0;
  font-size: clamp(44px, 5.4vw, 74px) !important;
  font-weight: 700 !important;
  line-height: .96;
  letter-spacing: -.025em;
  text-shadow: 0 4px 24px rgba(0,0,0,.3) !important;
}

.section-bleed.scrub.bleed-enhanced .editorial-panel .lead,
.section-bleed.scrub.bleed-enhanced .editorial-panel p{
  max-width: 610px;
  margin: 18px 0 0;
  color: rgba(255,255,255,.86) !important;
  font-size: clamp(17px, 1.55vw, 20px) !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  text-shadow: none !important;
}

.editorial-facts{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 1px;
  margin-top: 26px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 16px;
  background: rgba(255,255,255,.12);
}

.editorial-facts > div{
  display: grid;
  align-content: center;
  gap: 5px;
  min-height: 82px;
  padding: 14px 16px;
  background: rgba(5,18,29,.46);
}

.editorial-facts span{
  color: rgba(255,255,255,.62) !important;
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .1em;
  line-height: 1.1;
  text-transform: uppercase;
}

.editorial-facts strong{
  color: #fff !important;
  font-size: clamp(.92rem, 1.2vw, 1.05rem);
  line-height: 1.2;
}

.editorial-facts-highlight{
  border-color: rgba(0,188,212,.34);
  background: rgba(0,188,212,.18);
}

.section-bleed.scrub.bleed-enhanced .editorial-panel .section-cta{
  justify-content: flex-start;
  width: auto;
  margin: 24px 0 0;
  padding: 0;
}

.section-bleed.scrub.bleed-enhanced .editorial-panel .section-cta .btn{
  min-height: 48px;
  padding: 12px 22px !important;
  font-size: 1rem !important;
  text-shadow: none !important;
}

.editorial-glass{
  margin-top: 24px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 18px;
  background: rgba(255,255,255,.1);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.1);
}

.hours-live-status{
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 15px 18px;
  border-bottom: 1px solid rgba(255,255,255,.14);
  background: rgba(4,14,24,.36);
}

.hours-live-status > div{
  display: grid;
  gap: 2px;
}

.hours-live-status strong,
.hours-live-status span{
  color: #fff !important;
}

.hours-live-status > div > span{
  color: rgba(255,255,255,.66) !important;
  font-size: .88rem;
}

.hours-live-dot{
  width: 11px;
  height: 11px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: #ff7474;
  box-shadow: 0 0 0 6px rgba(255,116,116,.14);
}

.hours-live-status.is-open .hours-live-dot{
  background: #56d99a;
  box-shadow: 0 0 0 6px rgba(86,217,154,.15);
}

.hours-list{
  margin: 0;
  padding: 8px 18px 12px;
}

.hours-list > div{
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(255,255,255,.1);
}

.hours-list > div:last-child{
  border-bottom: 0;
}

.hours-list dt,
.hours-list dd{
  margin: 0;
  color: rgba(255,255,255,.86) !important;
  font-size: .96rem;
}

.hours-list dd{
  color: #fff !important;
  font-weight: 800;
  white-space: nowrap;
}

.editorial-section .section-scroll-cue{
  display: none;
}

@media (max-width: 768px){
  .section-bleed.scrub.bleed-enhanced.editorial-section{
    min-height: auto;
    padding: 46px 0;
  }

  .editorial-section .container{
    width: min(100% - 20px, 620px);
  }

  .section-bleed.scrub.bleed-enhanced .editorial-panel{
    padding: 24px 20px;
    border-radius: 19px;
    text-align: left;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
  }

  .section-bleed.scrub.bleed-enhanced .editorial-panel .section-kicker{
    justify-content: flex-start;
  }

  .section-bleed.scrub.bleed-enhanced .editorial-panel h2{
    max-width: 14ch;
    font-size: clamp(34px, 10vw, 48px) !important;
  }

  #underhallning .editorial-panel h2{
    font-size: clamp(32px, 9.2vw, 44px) !important;
    line-height: 1 !important;
    margin-bottom: 0 !important;
  }

  .section-bleed.scrub.bleed-enhanced .editorial-panel .lead,
  .section-bleed.scrub.bleed-enhanced .editorial-panel p{
    margin-top: 14px;
    font-size: 16px !important;
    line-height: 1.42 !important;
  }

  #underhallning .editorial-panel p.lead{
    margin-top: 14px !important;
    font-size: 16px !important;
    line-height: 1.42 !important;
    text-align: left !important;
  }

  .editorial-facts{
    grid-template-columns: 1fr;
    margin-top: 19px;
  }

  .editorial-facts > div{
    min-height: 0;
    padding: 11px 14px;
  }

  .section-bleed.scrub.bleed-enhanced .editorial-panel .section-cta{
    justify-content: flex-start;
    margin-top: 19px;
  }

  .section-bleed.scrub.bleed-enhanced .editorial-panel .section-cta .btn{
    width: 100%;
  }

  .editorial-glass{
    margin-top: 18px;
  }

  .hours-list{
    padding-inline: 14px;
  }

  .section-number{
    display: none;
  }
}

/* Compact and stable event cards */
@media (min-width: 681px){
  .events-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
  }

  .event-card{
    grid-column: span 1;
    display: flex;
    min-width: 0;
    flex-direction: column;
  }

  .event-card-featured{
    grid-column: span 2;
  }

  .event-card > div[id]{
    display: flex;
    flex-direction: column;
    height: 100%;
  }

  .event-card img,
  .event-card video{
    height: 190px !important;
    aspect-ratio: auto;
  }

  .event-card-featured img,
  .event-card-featured video{
    height: 230px !important;
    aspect-ratio: auto;
  }

  .event-card .pad{
    flex: 1;
    align-content: start;
  }
}

@media (max-width: 680px){
  #events{
    width: min(100% - 18px, 1120px);
    padding-top: 30px;
    padding-bottom: 34px;
  }

  .events-head{
    gap: 6px;
    margin-bottom: 16px;
  }

  .events-head .lead{
    max-width: 38ch;
    font-size: 1rem;
    line-height: 1.4;
  }

  .events-grid{
    display: flex;
    gap: 10px;
    margin-inline: -9px;
    padding: 2px 9px 12px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x proximity;
    scroll-padding-inline: 9px;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .events-grid::-webkit-scrollbar{
    display: none;
  }

  .event-card,
  .event-card-featured{
    display: grid;
    grid-template-columns: 104px minmax(0, 1fr);
    flex: 0 0 calc(66.666vw - 12px);
    width: calc(66.666vw - 12px);
    max-width: 340px;
    min-height: 128px;
    border-radius: 14px !important;
    transform: none !important;
    scroll-snap-align: start;
    scroll-snap-stop: normal;
    box-shadow: 0 8px 20px rgba(10,18,20,.07) !important;
    transition: border-color .2s ease, box-shadow .2s ease;
  }

  .event-card > div[id]{
    display: contents;
  }

  .event-card > div[id] > div{
    display: contents;
  }

  .event-card img,
  .event-card video,
  .event-card-featured img,
  .event-card-featured video{
    grid-column: 1;
    grid-row: 1;
    width: 104px !important;
    height: 100% !important;
    min-height: 128px !important;
    aspect-ratio: auto;
    object-fit: cover !important;
  }

  .event-card .pad{
    grid-column: 2;
    grid-row: 1;
    align-content: center;
    gap: 5px;
    min-width: 0;
    padding: 12px 13px !important;
  }

  .event-meta{
    gap: 5px;
  }

  .event-meta span{
    min-height: 22px;
    padding: 0 7px;
    font-size: .68rem;
  }

  .event-card .badges{
    display: none;
  }

  .event-card h3{
    font-size: 1.12rem !important;
    line-height: 1.08;
  }

  .event-card p{
    display: -webkit-box;
    overflow: hidden;
    font-size: .84rem;
    line-height: 1.3;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .event-card:hover{
    transform: none;
    box-shadow: 0 8px 20px rgba(10,18,20,.07) !important;
  }

  #events .event-pulse{
    gap: 10px;
    margin-top: 8px;
    padding: 13px;
    border-radius: 14px;
  }

  #events .event-pulse .btn{
    min-height: 42px;
    padding: 10px 16px !important;
  }

  .events-cta{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: 16px;
  }

  .events-cta .btn{
    width: 100%;
    min-height: 44px;
    padding: 9px 10px !important;
    font-size: .88rem !important;
  }
}

/* Seamless page canvas */
html{
  background-color: #eef4f5;
}

body{
  background-color: #eef4f5;
  background-image:
    radial-gradient(circle at 10% 18%, rgba(0,169,189,.07), transparent 32%),
    radial-gradient(circle at 88% 68%, rgba(0,169,189,.035), transparent 34%);
  background-repeat: no-repeat;
  background-attachment: fixed;
}

#kontakt.container,
#events.container{
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  isolation: auto;
}

#kontakt::before,
#kontakt::after,
#events::before,
#events::after{
  display: none !important;
}

[data-theme="dark"] html{
  background-color: #121011;
}

[data-theme="dark"] body{
  background-color: #121011;
  background-image:
    radial-gradient(circle at 12% 18%, rgba(91,57,105,.2), transparent 34%),
    radial-gradient(circle at 88% 68%, rgba(119,73,126,.1), transparent 36%);
}

[data-theme="dark"] #kontakt.container,
[data-theme="dark"] #events.container{
  background: transparent !important;
  border: 0 !important;
}

/* Final cinematic split overrides */
.section-bleed.scrub.bleed-enhanced.editorial-section{
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr);
  align-items: stretch;
  width: min(calc(100% - clamp(32px, 5vw, 84px)), 1400px);
  min-height: 560px;
  margin: clamp(18px, 3vw, 34px) auto !important;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(7,31,60,.1);
  border-radius: 30px;
  background: #071f3c;
  box-shadow: 0 26px 70px rgba(7,31,60,.14);
}

.section-bleed.scrub.bleed-enhanced.editorial-section::before,
.section-bleed.scrub.bleed-enhanced.editorial-section::after{
  content: none;
  display: none;
}

.section-bleed.scrub.bleed-enhanced.editorial-section > .__bg{
  position: relative;
  inset: auto;
  z-index: 1;
  grid-column: 1;
  grid-row: 1;
  width: 100%;
  min-height: 560px;
  border-radius: 0;
  background-position: center;
  background-size: cover;
  filter: saturate(.96) contrast(1.04);
  transform: scale(1.025);
  transform-origin: center;
}

.section-bleed.scrub.bleed-enhanced.editorial-section > .__bg::after{
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, transparent 58%, rgba(7,31,60,.42)),
    linear-gradient(180deg, transparent 62%, rgba(7,31,60,.22));
  pointer-events: none;
}

.section-bleed.scrub.bleed-enhanced.editorial-section > .container{
  position: relative;
  z-index: 3;
  grid-column: 2;
  grid-row: 1;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: auto;
  max-width: none;
  margin: 0;
  padding: clamp(34px, 4.2vw, 64px);
  background:
    radial-gradient(circle at 100% 0%, rgba(0,188,212,.13), transparent 34%),
    linear-gradient(145deg, #0a2948, #061a31);
}

.section-bleed.scrub.bleed-enhanced.editorial-section.editorial-right > .__bg{
  grid-column: 2;
}

.section-bleed.scrub.bleed-enhanced.editorial-section.editorial-right > .__bg::after{
  background:
    linear-gradient(270deg, transparent 58%, rgba(7,31,60,.42)),
    linear-gradient(180deg, transparent 62%, rgba(7,31,60,.22));
}

.section-bleed.scrub.bleed-enhanced.editorial-section.editorial-right > .container{
  grid-column: 1;
  justify-content: flex-start;
}

.section-bleed.scrub.bleed-enhanced.editorial-section .editorial-panel{
  width: 100%;
  max-width: 610px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  text-align: left;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.section-bleed.scrub.bleed-enhanced.editorial-section .editorial-panel h2{
  font-size: clamp(42px, 4.4vw, 68px) !important;
}

.section-bleed.scrub.bleed-enhanced.editorial-section .editorial-panel .lead,
.section-bleed.scrub.bleed-enhanced.editorial-section .editorial-panel p{
  font-size: clamp(16px, 1.35vw, 19px) !important;
}

.section-bleed.scrub.bleed-enhanced.editorial-section .editorial-facts{
  margin-top: 24px;
  background: rgba(255,255,255,.08);
}

.section-bleed.scrub.bleed-enhanced.editorial-section .editorial-facts > div{
  min-height: 74px;
  background: rgba(255,255,255,.035);
}

.section-bleed.scrub.bleed-enhanced.editorial-section .section-number,
.section-bleed.scrub.bleed-enhanced.editorial-section .section-scroll-cue{
  display: none;
}

@media (max-width: 980px){
  .section-bleed.scrub.bleed-enhanced.editorial-section{
    grid-template-columns: minmax(0, 1fr) minmax(340px, .9fr);
    min-height: 520px;
  }

  .section-bleed.scrub.bleed-enhanced.editorial-section > .__bg{
    min-height: 520px;
  }

  .section-bleed.scrub.bleed-enhanced.editorial-section > .container{
    padding: 32px;
  }

  .section-bleed.scrub.bleed-enhanced.editorial-section .editorial-facts{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px){
  .section-bleed.scrub.bleed-enhanced.editorial-section{
    grid-template-columns: 1fr;
    width: min(calc(100% - 16px), 620px);
    min-height: 0;
    margin: 14px auto !important;
    padding: 0;
    border-radius: 22px;
  }

  .section-bleed.scrub.bleed-enhanced.editorial-section > .__bg,
  .section-bleed.scrub.bleed-enhanced.editorial-section.editorial-right > .__bg{
    grid-column: 1;
    grid-row: 1;
    min-height: 220px;
    max-height: 260px;
  }

  .section-bleed.scrub.bleed-enhanced.editorial-section > .__bg::after,
  .section-bleed.scrub.bleed-enhanced.editorial-section.editorial-right > .__bg::after{
    background: linear-gradient(180deg, transparent 50%, rgba(7,31,60,.5));
  }

  .section-bleed.scrub.bleed-enhanced.editorial-section > .container,
  .section-bleed.scrub.bleed-enhanced.editorial-section.editorial-right > .container{
    grid-column: 1;
    grid-row: 2;
    width: 100%;
    margin: 0;
    padding: 26px 20px 28px;
  }

  .section-bleed.scrub.bleed-enhanced.editorial-section .editorial-panel{
    max-width: none;
    padding: 0;
  }

  .section-bleed.scrub.bleed-enhanced.editorial-section .editorial-panel h2{
    font-size: clamp(34px, 10vw, 48px) !important;
  }

  .section-bleed.scrub.bleed-enhanced.editorial-section .editorial-facts{
    margin-top: 18px;
  }
}

/* Final black-carbon page canvas */
html[data-theme="dark"]{
  background: #101211;
}

html[data-theme="dark"] body{
  background-color: #101211;
  background-image:
    radial-gradient(ellipse at 12% 8%, rgba(72,37,47,.3) 0%, transparent 34%),
    radial-gradient(ellipse at 88% 34%, rgba(133,120,97,.12) 0%, transparent 32%),
    radial-gradient(ellipse at 22% 70%, rgba(72,37,47,.2) 0%, transparent 38%),
    radial-gradient(ellipse at 82% 92%, rgba(133,120,97,.08) 0%, transparent 30%),
    repeating-linear-gradient(135deg, rgba(255,255,255,.012) 0 1px, transparent 1px 7px),
    repeating-linear-gradient(45deg, rgba(0,0,0,.09) 0 1px, transparent 1px 9px),
    linear-gradient(180deg, #101211 0%, #131513 48%, #101211 100%);
  background-attachment: fixed;
  background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, repeat, repeat, no-repeat;
  background-size: auto, auto, auto, auto, auto, auto, 100% 100%;
}

html[data-theme="dark"] main,
html[data-theme="dark"] .sticky-showcase-v2,
html[data-theme="dark"] #restaurang-showcase-v2,
html[data-theme="dark"] .menu-section,
html[data-theme="dark"] #kontakt.container,
html[data-theme="dark"] #events.container{
  background: transparent !important;
  box-shadow: none;
}

html[data-theme="dark"] #restaurang-showcase-v2::before,
html[data-theme="dark"] #restaurang-showcase-v2::after,
html[data-theme="dark"] #kontakt::before,
html[data-theme="dark"] #kontakt::after,
html[data-theme="dark"] #events::before,
html[data-theme="dark"] #events::after{
  display: none !important;
}

html[data-theme="dark"] #kontakt.container,
html[data-theme="dark"] #events.container{
  border-color: transparent !important;
}

/* Final lunch outer-panel removal */
.lunch-section{
  isolation: auto;
  width: 100%;
  min-height: 0;
  margin: 0;
  padding: clamp(48px, 7vw, 84px) clamp(16px, 4vw, 42px);
  overflow: visible;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.lunch-section-inner,
#dagens-lunch::before,
#dagens-lunch::after{
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#dagens-lunch::before,
#dagens-lunch::after{
  display: none !important;
}

html[data-theme="dark"] #dagens-lunch,
html[data-theme="dark"] .lunch-section-inner{
  background: transparent !important;
}

/* Dark lunch card: carbon, wine and muted olive */
html[data-theme="dark"] .lunch-section-title{
  color: #e7d4bb !important;
}

html[data-theme="dark"] .lunch-display{
  border: 1px solid rgba(231,212,187,.14) !important;
  border-radius: 24px;
  background:
    radial-gradient(circle at 92% 8%, rgba(72,37,47,.28), transparent 32%),
    linear-gradient(145deg, rgba(41,40,30,.98), rgba(18,20,18,.98)) !important;
  color: #e7d4bb !important;
  box-shadow:
    0 30px 80px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(231,212,187,.05) !important;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

html[data-theme="dark"] .lunch-display-title,
html[data-theme="dark"] .lunch-service-copy strong,
html[data-theme="dark"] .lunch-featured-item strong,
html[data-theme="dark"] .lunch-pause-notice h4,
html[data-theme="dark"] .lunch-pause-return{
  color: #e7d4bb !important;
}

html[data-theme="dark"] .lunch-display-kicker,
html[data-theme="dark"] .lunch-slide-eyebrow,
html[data-theme="dark"] .lunch-pause-eyebrow,
html[data-theme="dark"] .lunch-featured-item .lunch-primary-label{
  color: #9d596b !important;
}

html[data-theme="dark"] .lunch-service-panel{
  border-bottom-color: rgba(231,212,187,.14) !important;
  background: transparent !important;
  color: #e7d4bb !important;
}

html[data-theme="dark"] .lunch-service-label,
html[data-theme="dark"] .lunch-featured-item span,
html[data-theme="dark"] .lunch-pause-notice p{
  color: #b8aa91 !important;
}

html[data-theme="dark"] .lunch-service-status{
  border-color: rgba(133,120,97,.48) !important;
  background: rgba(133,120,97,.16) !important;
  color: #e7d4bb !important;
}

html[data-theme="dark"] .lunch-service-status::before{
  background: #857861;
  box-shadow: 0 0 0 4px rgba(133,120,97,.14);
}

html[data-theme="dark"] .lunch-service-status.is-open::before{
  background: #a59778;
  box-shadow: 0 0 0 4px rgba(165,151,120,.14);
}

html[data-theme="dark"] .lunch-featured-item{
  border: 1px solid rgba(231,212,187,.1) !important;
  border-radius: 14px;
  background: rgba(16,18,17,.72) !important;
  color: #e7d4bb !important;
}

html[data-theme="dark"] .lunch-featured-item.is-primary{
  border-color: rgba(121,67,81,.75) !important;
  background:
    radial-gradient(circle at 88% 12%, rgba(231,212,187,.07), transparent 30%),
    linear-gradient(145deg, #48252f, #321c23) !important;
}

html[data-theme="dark"] .lunch-featured-item:not(.is-primary):hover{
  border-color: rgba(133,120,97,.68) !important;
  background: #343226 !important;
}

html[data-theme="dark"] .lunch-chip,
html[data-theme="dark"] .lunch-price-chip,
html[data-theme="dark"] .lunch-included-chip{
  border: 1px solid rgba(133,120,97,.45) !important;
  background: rgba(133,120,97,.18) !important;
  color: #e7d4bb !important;
}

html[data-theme="dark"] .lunch-chip-strong,
html[data-theme="dark"] .lunch-featured-item.is-primary .lunch-price-chip{
  border-color: rgba(231,212,187,.18) !important;
  background: #e7d4bb !important;
  color: #48252f !important;
}

html[data-theme="dark"] .lunch-dots{
  border-top-color: rgba(231,212,187,.12) !important;
}

html[data-theme="dark"] .lunch-dot{
  border-color: rgba(231,212,187,.1) !important;
  background: rgba(16,18,17,.7) !important;
  color: #b8aa91 !important;
}

html[data-theme="dark"] .lunch-dot.is-today{
  border-color: #857861 !important;
}

html[data-theme="dark"] .lunch-dot[aria-selected="true"],
html[data-theme="dark"] .lunch-dot[aria-selected="true"]:hover,
html[data-theme="dark"] .lunch-dot[aria-selected="true"]:focus-visible{
  border-color: #48252f !important;
  background: #48252f !important;
  color: #e7d4bb !important;
}

html[data-theme="dark"] .lunch-dot:hover,
html[data-theme="dark"] .lunch-dot:focus-visible{
  border-color: #857861 !important;
  background: #343226 !important;
  color: #e7d4bb !important;
}

html[data-theme="dark"] .lunch-pause-notice,
html[data-theme="dark"] .lunch-pause-notice.is-active{
  border-color: rgba(133,120,97,.38) !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(72,37,47,.22), transparent 34%),
    #29281e !important;
}

html[data-theme="dark"] .lunch-pause-actions a{
  border-color: rgba(133,120,97,.48) !important;
  background: #101211 !important;
  color: #e7d4bb !important;
}

html[data-theme="dark"] .lunch-pause-actions a:first-child{
  border-color: #48252f !important;
  background: #48252f !important;
  color: #e7d4bb !important;
}

/* Matching dark cards across the site */
html[data-theme="dark"] .contact-card,
html[data-theme="dark"] #events .event-card,
html[data-theme="dark"] #restaurang-showcase-v2 .showcase-steps > .editorial-section,
html[data-theme="dark"] #restaurang-showcase-v2 .showcase-steps > .editorial-section:nth-child(even){
  overflow: hidden;
  border: 1px solid rgba(231,212,187,.14) !important;
  border-radius: 24px !important;
  background:
    radial-gradient(circle at 92% 8%, rgba(72,37,47,.24), transparent 32%),
    linear-gradient(145deg, rgba(41,40,30,.98), rgba(18,20,18,.98)) !important;
  color: #e7d4bb !important;
  box-shadow:
    0 30px 80px rgba(0,0,0,.3),
    inset 0 1px 0 rgba(231,212,187,.05) !important;
}

html[data-theme="dark"] .contact-card:hover,
html[data-theme="dark"] #events .event-card:hover,
html[data-theme="dark"] #restaurang-showcase-v2 .showcase-steps > .editorial-section.is-showcase-active{
  border-color: rgba(133,120,97,.62) !important;
  box-shadow:
    0 34px 88px rgba(0,0,0,.38),
    0 0 0 1px rgba(72,37,47,.2) !important;
}

html[data-theme="dark"] .contact-card h2,
html[data-theme="dark"] .contact-card h3,
html[data-theme="dark"] .contact-card strong,
html[data-theme="dark"] #events .event-card h3,
html[data-theme="dark"] #restaurang-showcase-v2 .editorial-panel h2,
html[data-theme="dark"] #restaurang-showcase-v2 .editorial-facts strong,
html[data-theme="dark"] #restaurang-showcase-v2 .editorial-glass strong,
html[data-theme="dark"] #restaurang-showcase-v2 .hours-list dd{
  color: #e7d4bb !important;
}

html[data-theme="dark"] .contact-card p,
html[data-theme="dark"] #events .event-card p,
html[data-theme="dark"] #restaurang-showcase-v2 .editorial-panel .lead,
html[data-theme="dark"] #restaurang-showcase-v2 .editorial-panel p{
  color: #b8aa91 !important;
}

html[data-theme="dark"] .contact-action{
  border: 1px solid rgba(231,212,187,.1) !important;
  border-radius: 14px;
  background: rgba(16,18,17,.72) !important;
  color: #e7d4bb !important;
}

html[data-theme="dark"] .contact-action:hover{
  border-color: rgba(133,120,97,.68) !important;
  background: #343226 !important;
}

html[data-theme="dark"] .contact-action-primary{
  border-color: rgba(121,67,81,.75) !important;
  background:
    radial-gradient(circle at 88% 12%, rgba(231,212,187,.07), transparent 30%),
    linear-gradient(145deg, #48252f, #321c23) !important;
}

html[data-theme="dark"] #kontakt .map{
  border: 1px solid rgba(231,212,187,.14) !important;
  border-radius: 24px !important;
  background: #29281e;
  box-shadow: 0 30px 80px rgba(0,0,0,.3) !important;
  filter: saturate(.72) contrast(1.04) brightness(.84);
}

html[data-theme="dark"] #events .event-card img,
html[data-theme="dark"] #events .event-card video{
  background: #101211;
  filter: saturate(.72) contrast(1.08) brightness(.84);
}

html[data-theme="dark"] #events .event-card .pad{
  background:
    linear-gradient(180deg, rgba(41,40,30,.98), rgba(18,20,18,.98)) !important;
}

html[data-theme="dark"] #events .event-meta span,
html[data-theme="dark"] #events .event-card .badge{
  border: 1px solid rgba(133,120,97,.48) !important;
  background: rgba(133,120,97,.18) !important;
  color: #e7d4bb !important;
}

html[data-theme="dark"] #events .event-pulse{
  border: 1px solid rgba(231,212,187,.14) !important;
  border-radius: 18px;
  background:
    radial-gradient(circle at 100% 0%, rgba(72,37,47,.2), transparent 36%),
    #29281e !important;
  color: #e7d4bb !important;
  box-shadow: 0 22px 58px rgba(0,0,0,.26);
}

html[data-theme="dark"] #restaurang-showcase-v2 .showcase-steps > .editorial-section > .container,
html[data-theme="dark"] #restaurang-showcase-v2 .showcase-steps > .editorial-section.editorial-right > .container{
  background: transparent !important;
}

html[data-theme="dark"] #restaurang-showcase-v2 .editorial-facts,
html[data-theme="dark"] #restaurang-showcase-v2 .editorial-glass{
  overflow: hidden;
  border: 1px solid rgba(231,212,187,.12) !important;
  border-radius: 14px;
  background: rgba(16,18,17,.64) !important;
}

html[data-theme="dark"] #restaurang-showcase-v2 .editorial-facts > div,
html[data-theme="dark"] #restaurang-showcase-v2 .editorial-glass > *{
  border-color: rgba(231,212,187,.09) !important;
  background: rgba(133,120,97,.1) !important;
}

html[data-theme="dark"] #restaurang-showcase-v2 .editorial-facts span,
html[data-theme="dark"] #restaurang-showcase-v2 .editorial-glass span,
html[data-theme="dark"] #restaurang-showcase-v2 .hours-list dt{
  color: #b8aa91 !important;
}

/* Sticky showcase with scroll-synced section background */
#restaurang-showcase-v2{
  isolation: isolate;
  width: 100%;
  max-width: none;
  padding: clamp(72px, 8vw, 120px) clamp(24px, 6vw, 96px);
  overflow: hidden;
}

#restaurang-showcase-v2 > .showcase-media{
  position: absolute;
  z-index: 0;
  inset: 0;
  display: block !important;
  width: 100%;
  height: 100%;
  min-height: 0;
  aspect-ratio: auto;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: #101211;
  box-shadow: none;
  pointer-events: none;
}

#restaurang-showcase-v2 > .showcase-media::after{
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(16,18,17,.94) 0%, rgba(16,18,17,.72) 34%, rgba(16,18,17,.54) 66%, rgba(16,18,17,.7) 100%),
    linear-gradient(180deg, rgba(16,18,17,.72), rgba(16,18,17,.38) 28%, rgba(16,18,17,.5) 72%, rgba(16,18,17,.88));
}

#restaurang-showcase-v2 > .showcase-media .showcase-media-layer{
  background-attachment: fixed;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  filter: saturate(.72) contrast(1.08) brightness(.78);
}

#restaurang-showcase-v2 > .showcase-media .showcase-media-layer::after{
  background:
    radial-gradient(circle at 18% 20%, rgba(72,37,47,.28), transparent 34%),
    radial-gradient(circle at 84% 72%, rgba(133,120,97,.12), transparent 30%);
}

#restaurang-showcase-v2 > .showcase-media .showcase-media-counter{
  display: none;
}

#restaurang-showcase-v2 .showcase-rail,
#restaurang-showcase-v2 .showcase-steps{
  position: relative;
  z-index: 3;
}

#restaurang-showcase-v2 .showcase-rail{
  align-self: start;
  padding: clamp(22px, 3vw, 34px);
  border: 1px solid rgba(231,212,187,.13);
  border-radius: 24px;
  background:
    radial-gradient(circle at 100% 0%, rgba(72,37,47,.22), transparent 34%),
    rgba(16,18,17,.76);
  box-shadow:
    0 26px 70px rgba(0,0,0,.28),
    inset 0 1px 0 rgba(231,212,187,.04);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

#restaurang-showcase-v2 .showcase-nav-item{
  color: rgba(231,212,187,.5);
}

#restaurang-showcase-v2 .showcase-nav-item:hover,
#restaurang-showcase-v2 .showcase-nav-item:focus-visible{
  color: #b8aa91;
}

#restaurang-showcase-v2 .showcase-nav-item.is-active{
  color: #e7d4bb;
}

#restaurang-showcase-v2 .showcase-nav-item.is-active::after{
  background: #48252f;
}

html[data-theme="dark"] #restaurang-showcase-v2{
  background: transparent !important;
}

html[data-theme="dark"] #restaurang-showcase-v2 .showcase-steps > .editorial-section{
  background:
    radial-gradient(circle at 92% 8%, rgba(72,37,47,.24), transparent 32%),
    linear-gradient(145deg, rgba(41,40,30,.9), rgba(18,20,18,.92)) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

@media (max-width: 760px){
  #restaurang-showcase-v2{
    padding: 54px 0 72px;
  }

  #restaurang-showcase-v2 > .showcase-media{
    display: block !important;
  }

  #restaurang-showcase-v2 > .showcase-media .showcase-media-layer{
    background-attachment: scroll;
  }

  #restaurang-showcase-v2 > .showcase-media::after{
    background: rgba(16,18,17,.76);
  }

  #restaurang-showcase-v2 .showcase-rail{
    border-color: rgba(231,212,187,.12);
    border-radius: 0;
    background: rgba(16,18,17,.9);
  }
}

/* Preserve the original sticky showcase; only expand its synced image */
#restaurang-showcase-v2{
  width: min(calc(100% - clamp(40px, 6vw, 96px)), 1480px);
  max-width: 1480px;
  padding: 0;
  overflow: visible;
}

#restaurang-showcase-v2 > .showcase-media{
  position: sticky;
  top: 0;
  align-self: start;
  grid-column: 1 / -1;
  grid-row: 1;
  width: 100vw;
  height: 100vh;
  min-height: 100vh;
  max-height: none;
  margin-left: calc(50% - 50vw);
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

#restaurang-showcase-v2 > .showcase-media .showcase-media-layer{
  background-attachment: scroll;
  background-position: center;
  background-size: cover !important;
}

html:not([data-theme="dark"]) #restaurang-showcase-v2 > .showcase-media .showcase-media-layer{
  filter: saturate(.98) contrast(1.02) brightness(1.02);
}

html:not([data-theme="dark"]) #restaurang-showcase-v2 > .showcase-media::after{
  background:
    linear-gradient(90deg, rgba(255,255,255,.16), rgba(255,255,255,.08) 46%, rgba(255,255,255,.12)),
    linear-gradient(180deg, rgba(255,255,255,.18), transparent 30%, transparent 72%, rgba(255,255,255,.2));
}

html:not([data-theme="dark"]) #restaurang-showcase-v2 > .showcase-media .showcase-media-layer::after{
  background: none;
}

html:not([data-theme="dark"]) #restaurang-showcase-v2 .showcase-rail{
  padding: clamp(20px, 2.5vw, 30px);
  border: 1px solid rgba(255,255,255,.5);
  border-radius: 22px;
  background:
    linear-gradient(145deg, rgba(255,255,255,.82), rgba(248,246,240,.68));
  box-shadow:
    0 24px 64px rgba(20,28,28,.14),
    inset 0 1px 0 rgba(255,255,255,.76);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

html:not([data-theme="dark"]) #restaurang-showcase-v2 .showcase-steps > .editorial-section,
html:not([data-theme="dark"]) #restaurang-showcase-v2 .showcase-steps > .editorial-section:nth-child(even){
  border-color: rgba(255,255,255,.58) !important;
  background:
    linear-gradient(145deg, rgba(255,255,255,.88), rgba(248,250,247,.76)) !important;
  box-shadow:
    0 28px 74px rgba(20,28,28,.14),
    inset 0 1px 0 rgba(255,255,255,.72) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

html:not([data-theme="dark"]) #restaurang-showcase-v2 .showcase-steps > .editorial-section.is-showcase-active{
  border-color: rgba(133,120,97,.42) !important;
}

#restaurang-showcase-v2 .showcase-rail{
  position: sticky;
  top: calc(var(--topbar-height, 64px) + 56px);
  grid-column: 1;
  grid-row: 1;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

#restaurang-showcase-v2 .showcase-steps{
  grid-column: 2;
  grid-row: 1;
}

html[data-theme="dark"] #restaurang-showcase-v2 .showcase-steps > .editorial-section{
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

@media (max-width: 980px){
  #restaurang-showcase-v2{
    width: min(calc(100% - 32px), 1120px);
  }

  #restaurang-showcase-v2 .showcase-rail{
    top: calc(var(--topbar-height, 64px) + 36px);
  }
}

@media (max-width: 760px){
  #restaurang-showcase-v2{
    width: 100%;
    padding: 0;
    overflow: visible;
  }

  #restaurang-showcase-v2 > .showcase-media{
    display: none !important;
  }

  #restaurang-showcase-v2 .showcase-rail{
    position: sticky;
    top: var(--topbar-height, 64px);
    padding: 10px 12px;
    border-block: 1px solid rgba(231,212,187,.12);
    background: rgba(16,18,17,.9);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
  }

  #restaurang-showcase-v2 .showcase-steps{
    grid-column: auto;
    grid-row: auto;
  }
}

/* Final light showcase surfaces */
html:not([data-theme="dark"]) #restaurang-showcase-v2 .showcase-rail{
  padding: clamp(20px, 2.5vw, 30px);
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 22px;
  background:
    linear-gradient(145deg, rgba(255,255,255,.94), rgba(248,246,240,.86));
  box-shadow:
    0 24px 64px rgba(20,28,28,.14),
    inset 0 1px 0 rgba(255,255,255,.76);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

#restaurang-showcase-v2 .showcase-nav{
  gap: 7px;
}

html:not([data-theme="dark"]) #restaurang-showcase-v2 .showcase-nav-item{
  grid-template-columns: 34px minmax(0, 1fr) auto;
  min-height: 42px;
  padding: 8px 11px;
  border: 1px solid rgba(20,35,38,.07);
  border-radius: 12px;
  background: rgba(255,255,255,.56);
  color: #3d4644;
  font-size: clamp(16px, 1.35vw, 21px);
  font-weight: 650;
  line-height: 1.15;
  text-shadow: 0 1px 0 rgba(255,255,255,.8);
}

html:not([data-theme="dark"]) #restaurang-showcase-v2 .showcase-nav-item:hover,
html:not([data-theme="dark"]) #restaurang-showcase-v2 .showcase-nav-item:focus-visible{
  border-color: rgba(0,188,212,.4);
  background: rgba(255,255,255,.86);
  color: #075f69;
}

html:not([data-theme="dark"]) #restaurang-showcase-v2 .showcase-nav-item.is-active{
  border-color: #00bcd4;
  background: #00bcd4;
  color: #00353c;
  text-shadow: none;
  box-shadow: 0 10px 26px rgba(0,188,212,.24);
}

html:not([data-theme="dark"]) #restaurang-showcase-v2 .showcase-nav-item.is-active::after{
  background: #00353c;
}

html:not([data-theme="dark"]) #restaurang-showcase-v2 .showcase-nav-number{
  color: #087b89;
  font-weight: 900;
}

html:not([data-theme="dark"]) #restaurang-showcase-v2 .showcase-nav-item.is-active .showcase-nav-number{
  color: #00353c;
}

html[data-theme="dark"] #restaurang-showcase-v2 .showcase-rail{
  padding: clamp(20px, 2.5vw, 30px);
  border: 1px solid rgba(231,212,187,.16);
  border-radius: 22px;
  background: rgba(16,18,17,.88);
  box-shadow: 0 24px 64px rgba(0,0,0,.34);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

html[data-theme="dark"] #restaurang-showcase-v2 .showcase-nav-item{
  min-height: 42px;
  padding: 8px 11px;
  border: 1px solid rgba(231,212,187,.08);
  border-radius: 12px;
  background: rgba(41,40,30,.56);
  color: #b8aa91;
  font-size: clamp(16px, 1.35vw, 21px);
}

html[data-theme="dark"] #restaurang-showcase-v2 .showcase-nav-item.is-active{
  border-color: rgba(121,67,81,.75);
  background: #48252f;
  color: #e7d4bb;
}

@media (max-width: 760px){
  html:not([data-theme="dark"]) #restaurang-showcase-v2 .showcase-rail{
    padding: 10px 12px;
    border-color: rgba(20,35,38,.1);
    border-radius: 0;
    background: rgba(255,255,255,.92);
  }
}

/* Lighter label accent in dark mode */
html[data-theme="dark"] .site-brand-copy small,
html[data-theme="dark"] .eyebrow,
html[data-theme="dark"] .events-eyebrow,
html[data-theme="dark"] .contact-eyebrow,
html[data-theme="dark"] .menu-eyebrow,
html[data-theme="dark"] .menu-category-eyebrow,
html[data-theme="dark"] .lunch-display-kicker,
html[data-theme="dark"] .lunch-slide-eyebrow,
html[data-theme="dark"] .lunch-pause-eyebrow,
html[data-theme="dark"] .section-kicker,
html[data-theme="dark"] .footer-v2-logo small,
html[data-theme="dark"] .footer-v2-madeby strong span,
html[data-theme="dark"] #hero-overlay .hero-copy .eyebrow,
html[data-theme="dark"] #restaurang-showcase-v2 .section-kicker{
  color: #9d596b !important;
}

/* Remove remaining blue contact accents in dark mode */
html[data-theme="dark"] .contact-card a:not(.contact-action){
  color: #e7d4bb !important;
  text-decoration-color: rgba(157,89,107,.72);
}

html[data-theme="dark"] .contact-card a:not(.contact-action):hover,
html[data-theme="dark"] .contact-card a:not(.contact-action):focus-visible{
  color: #9d596b !important;
  outline-color: #9d596b;
}

html[data-theme="dark"] .contact-action-primary,
html[data-theme="dark"] .contact-action-primary:hover,
html[data-theme="dark"] .contact-action-primary:focus-visible{
  border-color: rgba(157,89,107,.78) !important;
  background:
    radial-gradient(circle at 88% 12%, rgba(231,212,187,.07), transparent 30%),
    linear-gradient(145deg, #48252f, #321c23) !important;
  color: #e7d4bb !important;
  box-shadow:
    0 16px 36px rgba(72,37,47,.38),
    0 0 0 1px rgba(157,89,107,.18) !important;
}

html[data-theme="dark"] .contact-action-primary span,
html[data-theme="dark"] .contact-action-primary strong{
  color: #e7d4bb !important;
}

html[data-theme="dark"] .contact-action:focus-visible{
  outline: 2px solid #9d596b;
  outline-offset: 3px;
  border-color: #9d596b !important;
  box-shadow: 0 16px 36px rgba(72,37,47,.3) !important;
}

/* Dark event CTA and ticker */
html[data-theme="dark"] #events .events-cta .btn.outline{
  border: 1px solid rgba(157,89,107,.72) !important;
  background:
    linear-gradient(145deg, rgba(72,37,47,.32), rgba(41,40,30,.82)) !important;
  color: #e7d4bb !important;
  box-shadow:
    0 14px 34px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(231,212,187,.04);
}

html[data-theme="dark"] #events .events-cta .btn.outline:hover,
html[data-theme="dark"] #events .events-cta .btn.outline:focus-visible{
  border-color: #9d596b !important;
  background: #48252f !important;
  color: #e7d4bb !important;
  box-shadow: 0 18px 40px rgba(72,37,47,.34) !important;
  transform: translateY(-2px);
}

html[data-theme="dark"] #event-ticker{
  border-color: rgba(231,212,187,.1) !important;
  background:
    radial-gradient(circle at 12% 50%, rgba(72,37,47,.24), transparent 26%),
    #101211 !important;
  color: #e7d4bb !important;
  box-shadow: 0 10px 32px rgba(0,0,0,.22);
}

html[data-theme="dark"] #event-ticker .ticker__label{
  align-self: center;
  margin-left: 10px;
  padding: 7px 13px;
  border: 1px solid rgba(157,89,107,.5);
  border-radius: 999px;
  background: #48252f;
  color: #e7d4bb !important;
  line-height: 1;
  white-space: nowrap;
}

html[data-theme="dark"] #event-ticker .ticker__viewport{
  background: transparent;
}

html[data-theme="dark"] #event-ticker .ticker__track,
html[data-theme="dark"] #event-ticker .ticker__item{
  color: #d8c7af !important;
}

html[data-theme="dark"] #event-ticker .ticker__dot{
  background: #9d596b !important;
  box-shadow: 0 0 0 4px rgba(157,89,107,.14);
}

/* Theme-matched scroll progress */
.scroll-progress{
  background: rgba(0,53,60,.12);
  box-shadow: inset 0 -1px 0 rgba(255,255,255,.22);
}

.scroll-progress__fill{
  background: linear-gradient(90deg, #087b89, #00bcd4);
  box-shadow: 0 0 12px rgba(0,188,212,.34);
}

.scroll-progress__fill::after{
  background: #eafcff;
  box-shadow:
    0 0 0 2px rgba(0,188,212,.3),
    0 0 9px rgba(0,188,212,.55);
}

html[data-theme="dark"] .scroll-progress{
  background: rgba(231,212,187,.08);
  box-shadow: inset 0 -1px 0 rgba(231,212,187,.08);
}

html[data-theme="dark"] .scroll-progress__fill{
  background: linear-gradient(90deg, #48252f, #9d596b);
  box-shadow: 0 0 12px rgba(157,89,107,.34);
}

html[data-theme="dark"] .scroll-progress__fill::after{
  background: #e7d4bb;
  box-shadow:
    0 0 0 2px rgba(157,89,107,.34),
    0 0 9px rgba(231,212,187,.52);
}

/* Synced menu and gallery pages */
body.page-menu,
body.page-gallery{
  overflow-x: clip;
}

.page-menu .site-nav a[aria-current="page"],
.page-gallery .site-nav a[aria-current="page"],
.page-menu .drawer-nav a[aria-current="page"],
.page-gallery .drawer-nav a[aria-current="page"]{
  background: rgba(0,188,212,.12);
  color: #075965 !important;
}

.page-menu .menu-hero,
.gallery-page-hero{
  border: 1px solid rgba(10,18,20,.08);
  border-radius: 24px;
  background:
    radial-gradient(circle at 12% 18%, rgba(0,188,212,.1), transparent 34%),
    rgba(255,255,255,.78);
  box-shadow:
    0 22px 54px rgba(10,18,20,.08),
    inset 0 1px 0 rgba(255,255,255,.82);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.page-menu .menu-hero{
  max-width: 900px;
  padding: clamp(28px, 4vw, 48px);
}

.gallery-page-hero{
  width: min(calc(100% - 24px), 1120px);
  margin: 40px auto clamp(24px, 4vw, 44px);
  padding: clamp(34px, 6vw, 72px) clamp(20px, 5vw, 62px);
}

.gallery-page-hero-inner{
  display: grid;
  justify-items: center;
  max-width: 820px;
  text-align: center;
}

.gallery-page-eyebrow{
  margin: 0;
  color: #0b7f8d;
  font-size: .78rem;
  font-weight: 900 !important;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.gallery-page-hero h1{
  margin: 8px 0 0;
  color: #142326;
  font-size: clamp(3rem, 7vw, 5.8rem);
  line-height: .95;
}

.gallery-page-hero h2{
  margin: 8px 0 0;
  color: #142326;
  font-size: clamp(1.45rem, 3vw, 2.35rem);
}

.gallery-page-hero .lead{
  max-width: 62ch;
  margin: 12px 0 0;
  color: #5e6d70;
}

.page-gallery #galleri{
  width: min(calc(100% - 24px), 1180px);
  margin-inline: auto;
  padding-inline: 0;
  background: transparent !important;
}

.page-menu .cards.textonly .menu-item,
.page-gallery .bento-gallery .gallery-card{
  box-shadow:
    0 16px 38px rgba(10,18,20,.09),
    inset 0 1px 0 rgba(255,255,255,.5) !important;
}

.page-menu .cards.textonly .menu-item:hover,
.page-gallery .bento-gallery .gallery-card:hover{
  border-color: rgba(0,188,212,.42) !important;
  box-shadow:
    0 22px 48px rgba(10,18,20,.13),
    0 0 0 1px rgba(0,188,212,.08) !important;
}

.page-menu .menu-pager-btn,
.page-gallery #gallery-load-more{
  min-height: 46px;
  border-radius: 999px;
}

.page-gallery #gallery-load-more{
  min-width: 210px;
  box-shadow: 0 14px 30px rgba(0,188,212,.2);
}

html[data-theme="dark"] .page-menu .site-nav a[aria-current="page"],
html[data-theme="dark"] .page-gallery .site-nav a[aria-current="page"],
html[data-theme="dark"] .page-menu .drawer-nav a[aria-current="page"],
html[data-theme="dark"] .page-gallery .drawer-nav a[aria-current="page"]{
  border-color: rgba(157,89,107,.5);
  background: rgba(72,37,47,.78);
  color: #e7d4bb !important;
}

html[data-theme="dark"] .page-menu .menu-hero,
html[data-theme="dark"] .gallery-page-hero{
  border-color: rgba(231,212,187,.13);
  background:
    radial-gradient(circle at 12% 18%, rgba(72,37,47,.34), transparent 36%),
    linear-gradient(145deg, rgba(41,40,30,.96), rgba(16,18,17,.96));
  box-shadow:
    0 24px 64px rgba(0,0,0,.3),
    inset 0 1px 0 rgba(231,212,187,.04);
}

html[data-theme="dark"] .gallery-page-eyebrow{
  color: #9d596b;
}

html[data-theme="dark"] .gallery-page-hero h1,
html[data-theme="dark"] .gallery-page-hero h2{
  color: #e7d4bb;
}

html[data-theme="dark"] .gallery-page-hero .lead{
  color: #b8aa91;
}

html[data-theme="dark"] .page-menu .cards.textonly .menu-item,
html[data-theme="dark"] .page-gallery .bento-gallery .gallery-card{
  border-color: rgba(231,212,187,.13) !important;
  box-shadow:
    0 18px 44px rgba(0,0,0,.28),
    inset 0 1px 0 rgba(231,212,187,.035) !important;
}

html[data-theme="dark"] .page-menu .cards.textonly .menu-item:hover,
html[data-theme="dark"] .page-gallery .bento-gallery .gallery-card:hover{
  border-color: rgba(157,89,107,.68) !important;
  box-shadow:
    0 24px 54px rgba(0,0,0,.36),
    0 0 0 1px rgba(72,37,47,.22) !important;
}

html[data-theme="dark"] .page-gallery #gallery-load-more{
  border-color: #48252f !important;
  background: #48252f !important;
  color: #e7d4bb !important;
  box-shadow: 0 16px 34px rgba(72,37,47,.34);
}

@media (max-width: 767px){
  .page-menu .menu-hero,
  .gallery-page-hero{
    border-radius: 18px;
  }

  .page-menu .menu-hero{
    padding: 25px 16px;
  }

  .gallery-page-hero{
    width: min(calc(100% - 16px), 620px);
    margin-top: 26px;
    padding: 34px 18px;
  }

  .gallery-page-hero h1{
    font-size: clamp(2.7rem, 16vw, 4.2rem);
  }

  .page-gallery #galleri{
    width: min(calc(100% - 16px), 620px);
  }
}

/* Final shared dark header, controls and footer palette */
html[data-theme="dark"] .site-header,
html[data-theme="dark"] .drawer,
html[data-theme="dark"] .ticker{
  border-color: rgba(231,212,187,.12) !important;
  background: #101211 !important;
  color: #e7d4bb !important;
}

html[data-theme="dark"] .site-brand,
html[data-theme="dark"] .site-brand-copy strong,
html[data-theme="dark"] .site-nav a,
html[data-theme="dark"] .drawer-nav a{
  color: #e7d4bb !important;
}

html[data-theme="dark"] .site-brand-copy small{
  color: #9d596b !important;
}

html[data-theme="dark"] .site-nav a:not(.btn):hover,
html[data-theme="dark"] .site-nav a:not(.btn):focus-visible,
html[data-theme="dark"] .site-nav a:not(.btn).is-active,
html[data-theme="dark"] .site-nav a:not(.btn)[aria-current="page"],
html[data-theme="dark"] .drawer-nav a:not(.btn):hover,
html[data-theme="dark"] .drawer-nav a:not(.btn):focus-visible,
html[data-theme="dark"] .drawer-nav a:not(.btn)[aria-current="page"]{
  background: rgba(72,37,47,.78) !important;
  color: #e7d4bb !important;
}

html[data-theme="dark"] .site-nav .btn.primary,
html[data-theme="dark"] .drawer-nav .btn.primary,
html[data-theme="dark"] .btn.primary,
html[data-theme="dark"] .footer-v2-book{
  border-color: #48252f !important;
  background: #48252f !important;
  color: #e7d4bb !important;
  box-shadow: 0 12px 28px rgba(72,37,47,.28);
}

html[data-theme="dark"] .site-nav .btn.primary:hover,
html[data-theme="dark"] .drawer-nav .btn.primary:hover,
html[data-theme="dark"] .btn.primary:hover,
html[data-theme="dark"] .footer-v2-book:hover{
  border-color: #613542 !important;
  background: #613542 !important;
  color: #f4e5d1 !important;
}

html[data-theme="dark"] .theme-toggle{
  border-color: rgba(231,212,187,.16) !important;
  background: #29281e !important;
  color: #e7d4bb !important;
}

html[data-theme="dark"] .theme-toggle:hover,
html[data-theme="dark"] .theme-toggle:focus-visible{
  border-color: #48252f !important;
  background: #48252f !important;
}

html[data-theme="dark"] .footer.footer-v2{
  background:
    radial-gradient(circle at 15% 0%, rgba(72,37,47,.34), transparent 34%),
    linear-gradient(rgba(16,18,17,.88), rgba(16,18,17,.97)),
    url("images/lunch-underwater-background.png") center / cover no-repeat !important;
  color: #e7d4bb !important;
}

html[data-theme="dark"] .footer-v2-highlights span::before{
  background: #9d596b !important;
}

html[data-theme="dark"] .footer-v2-col a:hover,
html[data-theme="dark"] .footer-v2-madeby:hover{
  color: #9d596b !important;
}

html[data-theme="dark"] .footer::before{
  background: linear-gradient(90deg, transparent, #48252f, transparent) !important;
}

html[data-theme="dark"] .page-gallery .gallery-card-content h2{
  color: #e7d4bb !important;
}

html[data-theme="dark"] .page-gallery .gallery-card-content p{
  color: rgba(231,212,187,.78) !important;
}

/* Warm, non-blue menu controls */
.page-menu .menu-cat-note{
  border: 1px solid rgba(93,84,70,.14);
  background: #eeece6 !important;
  color: #4f4a42 !important;
}

.page-menu .menu-tabs .tab.active{
  border-color: #292d2c !important;
  background: #292d2c !important;
  color: #f7f4ed !important;
  box-shadow: 0 9px 20px rgba(24,28,27,.16) !important;
}

.page-menu .menu-pager-btn{
  border-color: rgba(93,84,70,.16) !important;
  background: rgba(255,255,255,.82) !important;
  color: #292d2c !important;
  box-shadow: 0 12px 28px rgba(54,49,41,.07) !important;
}

.page-menu .menu-pager-btn span{
  color: #746858 !important;
}

.page-menu .menu-pager-btn:hover,
.page-menu .menu-pager-btn:focus-visible{
  border-color: rgba(116,104,88,.52) !important;
  background: #f2f0ea !important;
  box-shadow: 0 17px 34px rgba(54,49,41,.11) !important;
}

html[data-theme="dark"] .page-menu .menu-cat-note{
  border-color: rgba(231,212,187,.12);
  background: #29281e !important;
  color: #d8c7af !important;
}

html[data-theme="dark"] .page-menu .menu-tabs .tab.active{
  border-color: #48252f !important;
  background: #48252f !important;
  color: #e7d4bb !important;
  box-shadow: 0 10px 24px rgba(72,37,47,.28) !important;
}

html[data-theme="dark"] .page-menu .menu-pager-btn{
  border-color: rgba(231,212,187,.13) !important;
  background: #29281e !important;
  color: #e7d4bb !important;
  box-shadow: 0 14px 34px rgba(0,0,0,.22) !important;
}

html[data-theme="dark"] .page-menu .menu-pager-btn span{
  color: #9d596b !important;
}

html[data-theme="dark"] .page-menu .menu-pager-btn:hover,
html[data-theme="dark"] .page-menu .menu-pager-btn:focus-visible{
  border-color: rgba(157,89,107,.68) !important;
  background: #343226 !important;
  box-shadow: 0 18px 40px rgba(0,0,0,.3) !important;
}

/* Gallery intro without a card/container treatment */
.gallery-page-hero{
  width: min(calc(100% - 32px), 960px);
  margin: clamp(42px, 7vw, 82px) auto clamp(30px, 5vw, 56px);
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.gallery-page-hero-inner{
  padding: 0;
}

html[data-theme="dark"] .gallery-page-hero{
  border: 0;
  background: transparent;
  box-shadow: none;
}

@media (max-width: 767px){
  .gallery-page-hero{
    width: min(calc(100% - 28px), 620px);
    margin: 34px auto 28px;
    padding: 0;
    border-radius: 0;
  }
}

/* Custom mobile menu category picker */
.page-menu .menu-select-wrap{
  position: relative;
  z-index: 30;
  max-width: 100%;
  margin-bottom: 20px;
}

.page-menu .menu-select-label{
  color: #615b51;
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.page-menu .menu-category-picker{
  position: relative;
}

.page-menu .menu-category-trigger{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  min-height: 54px;
  padding: 0 16px 0 18px;
  border: 1px solid rgba(93,84,70,.18);
  border-radius: 16px;
  background: rgba(255,255,255,.9);
  color: #292d2c;
  box-shadow:
    0 12px 30px rgba(54,49,41,.08),
    inset 0 1px 0 rgba(255,255,255,.78);
  font-size: 1rem;
  font-weight: 800 !important;
  text-align: left;
  cursor: pointer;
  transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}

.page-menu .menu-category-trigger svg{
  flex: 0 0 auto;
  width: 19px;
  height: 19px;
  fill: none;
  stroke: #746858;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
  transition: transform .22s ease;
}

.page-menu .menu-category-picker.is-open .menu-category-trigger{
  border-color: rgba(116,104,88,.52);
  background: #fff;
  box-shadow:
    0 14px 34px rgba(54,49,41,.11),
    0 0 0 3px rgba(116,104,88,.08);
}

.page-menu .menu-category-picker.is-open .menu-category-trigger svg{
  transform: rotate(180deg);
}

.page-menu .menu-category-options{
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  right: 0;
  z-index: 60;
  display: grid;
  gap: 3px;
  max-height: min(52vh, 390px);
  padding: 7px;
  overflow-y: auto;
  overscroll-behavior: contain;
  border: 1px solid rgba(93,84,70,.16);
  border-radius: 18px;
  background: rgba(250,249,246,.98);
  box-shadow:
    0 24px 60px rgba(35,31,26,.18),
    inset 0 1px 0 rgba(255,255,255,.8);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.page-menu .menu-category-options[hidden]{
  display: none;
}

.page-menu .menu-category-option{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  width: 100%;
  min-height: 46px;
  padding: 9px 12px;
  border: 0;
  border-radius: 12px;
  background: transparent;
  color: #3f413d;
  font-size: .96rem;
  font-weight: 750 !important;
  text-align: left;
  cursor: pointer;
}

.page-menu .menu-category-option:hover,
.page-menu .menu-category-option:focus-visible{
  outline: 0;
  background: #eeece6;
  color: #292d2c;
}

.page-menu .menu-category-option.is-selected{
  background: #292d2c;
  color: #f7f4ed;
}

.page-menu .menu-category-check{
  opacity: 0;
  color: inherit;
  font-size: .9rem;
  transition: opacity .18s ease;
}

.page-menu .menu-category-option.is-selected .menu-category-check{
  opacity: 1;
}

html[data-theme="dark"] .page-menu .menu-select-label{
  color: #9d596b;
}

html[data-theme="dark"] .page-menu .menu-category-trigger{
  border-color: rgba(231,212,187,.14);
  background: #29281e;
  color: #e7d4bb;
  box-shadow:
    0 14px 34px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(231,212,187,.035);
}

html[data-theme="dark"] .page-menu .menu-category-trigger svg{
  stroke: #9d596b;
}

html[data-theme="dark"] .page-menu .menu-category-picker.is-open .menu-category-trigger{
  border-color: rgba(157,89,107,.7);
  background: #302f24;
  box-shadow:
    0 16px 38px rgba(0,0,0,.3),
    0 0 0 3px rgba(72,37,47,.3);
}

html[data-theme="dark"] .page-menu .menu-category-options{
  border-color: rgba(231,212,187,.13);
  background: rgba(26,28,24,.98);
  box-shadow:
    0 26px 68px rgba(0,0,0,.45),
    inset 0 1px 0 rgba(231,212,187,.035);
}

html[data-theme="dark"] .page-menu .menu-category-option{
  color: #d8c7af;
}

html[data-theme="dark"] .page-menu .menu-category-option:hover,
html[data-theme="dark"] .page-menu .menu-category-option:focus-visible{
  background: #343226;
  color: #e7d4bb;
}

html[data-theme="dark"] .page-menu .menu-category-option.is-selected{
  background: #48252f;
  color: #e7d4bb;
}

/* Theme-matched floating quick dock */
.quick-dock{
  border-color: rgba(231,212,187,.18);
  background: rgba(16,18,17,.9);
  box-shadow:
    0 20px 48px rgba(0,0,0,.32),
    inset 0 1px 0 rgba(231,212,187,.05);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
}

.quick-dock__item{
  border: 1px solid transparent;
  background: rgba(133,120,97,.13);
  color: #e7d4bb;
  transition:
    color .2s ease,
    border-color .2s ease,
    background .2s ease,
    box-shadow .2s ease,
    transform .2s ease;
}

.quick-dock__item:hover,
.quick-dock__item:focus-visible{
  border-color: rgba(157,89,107,.72);
  background: #48252f;
  color: #f4e5d1;
  outline: none;
  box-shadow: 0 9px 24px rgba(72,37,47,.32);
  transform: translateY(-1px);
}

html:not([data-theme="dark"]) .quick-dock{
  border-color: rgba(93,84,70,.18);
  background: rgba(250,249,246,.92);
  box-shadow:
    0 18px 44px rgba(54,49,41,.16),
    inset 0 1px 0 rgba(255,255,255,.78);
}

html:not([data-theme="dark"]) .quick-dock__item{
  background: rgba(93,84,70,.08);
  color: #292d2c;
}

html:not([data-theme="dark"]) .quick-dock__item:hover,
html:not([data-theme="dark"]) .quick-dock__item:focus-visible{
  border-color: rgba(116,104,88,.48);
  background: #292d2c;
  color: #f7f4ed;
  box-shadow: 0 9px 24px rgba(54,49,41,.18);
}

/* Refined dark mobile drawer */
@media (max-width: 767px){
  html[data-theme="dark"] .hamburger{
    border: 1px solid rgba(231,212,187,.14);
    border-radius: 12px;
    background: #29281e;
    box-shadow: inset 0 1px 0 rgba(231,212,187,.035);
  }

  html[data-theme="dark"] .hamburger.active{
    border-color: rgba(157,89,107,.62);
    background: #48252f;
  }

  html[data-theme="dark"] .hamburger .bar{
    background: #e7d4bb !important;
  }

  html[data-theme="dark"] .site-header .theme-toggle-compact{
    border-color: rgba(157,89,107,.48) !important;
    background: rgba(72,37,47,.82) !important;
    color: #e7d4bb !important;
  }

  html[data-theme="dark"] .backdrop{
    background: rgba(5,6,5,.72);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
  }

  html[data-theme="dark"] .drawer[data-upgraded="true"]{
    border: 1px solid rgba(231,212,187,.12) !important;
    border-top: 0 !important;
    background:
      radial-gradient(circle at 88% 4%, rgba(72,37,47,.34), transparent 30%),
      linear-gradient(160deg, #171917 0%, #101211 72%) !important;
    color: #e7d4bb !important;
    box-shadow:
      0 30px 90px rgba(0,0,0,.58),
      inset 0 1px 0 rgba(231,212,187,.04) !important;
  }

  html[data-theme="dark"] .drawer-app-shell{
    gap: 10px;
    scrollbar-color: #48252f transparent;
  }

  html[data-theme="dark"] .drawer-app-head strong{
    color: #e7d4bb !important;
  }

  html[data-theme="dark"] .drawer-app-eyebrow{
    color: #9d596b !important;
  }

  html[data-theme="dark"] .drawer[data-upgraded="true"] .drawer-close{
    border: 1px solid rgba(157,89,107,.58) !important;
    background: #48252f !important;
    color: #e7d4bb !important;
    box-shadow: 0 10px 26px rgba(72,37,47,.32) !important;
  }

  html[data-theme="dark"] .drawer[data-upgraded="true"] .drawer-close:hover,
  html[data-theme="dark"] .drawer[data-upgraded="true"] .drawer-close:focus-visible{
    border-color: #9d596b !important;
    background: #613542 !important;
    outline: 0;
  }

  html[data-theme="dark"] .drawer-booking{
    border: 1px solid rgba(157,89,107,.72);
    background:
      radial-gradient(circle at 90% 0%, rgba(231,212,187,.08), transparent 34%),
      #48252f !important;
    color: #e7d4bb !important;
    box-shadow:
      0 16px 36px rgba(72,37,47,.36),
      inset 0 1px 0 rgba(231,212,187,.06) !important;
  }

  html[data-theme="dark"] .drawer-booking:hover,
  html[data-theme="dark"] .drawer-booking:focus-visible{
    border-color: #9d596b;
    background: #613542 !important;
    outline: 0;
  }

  html[data-theme="dark"] .drawer-status{
    border-color: rgba(133,120,97,.34);
    background: #29281e !important;
    color: #e7d4bb;
    box-shadow: inset 0 1px 0 rgba(231,212,187,.035);
  }

  html[data-theme="dark"] .drawer-status span:last-child{
    color: #b8aa91;
  }

  html[data-theme="dark"] .drawer-status-dot{
    background: #9d596b;
    box-shadow: 0 0 0 5px rgba(157,89,107,.14);
  }

  html[data-theme="dark"] .drawer-status.is-open .drawer-status-dot{
    background: #857861;
    box-shadow: 0 0 0 5px rgba(133,120,97,.16), 0 0 16px rgba(133,120,97,.28);
  }

  html[data-theme="dark"] .drawer-quick-actions a,
  html[data-theme="dark"] .drawer-social a{
    border-color: rgba(157,89,107,.52) !important;
    background: rgba(72,37,47,.78) !important;
    color: #e7d4bb !important;
    box-shadow: inset 0 1px 0 rgba(231,212,187,.035);
  }

  html[data-theme="dark"] .drawer-quick-actions a:hover,
  html[data-theme="dark"] .drawer-quick-actions a:focus-visible,
  html[data-theme="dark"] .drawer-social a:hover,
  html[data-theme="dark"] .drawer-social a:focus-visible{
    border-color: #9d596b !important;
    background: #613542 !important;
    color: #f4e5d1 !important;
    outline: 0;
  }

  html[data-theme="dark"] .drawer[data-upgraded="true"] .drawer-nav a{
    border-color: rgba(231,212,187,.12) !important;
    background: #29281e !important;
    color: #e7d4bb !important;
    box-shadow: inset 0 1px 0 rgba(231,212,187,.03);
  }

  html[data-theme="dark"] .drawer[data-upgraded="true"] .drawer-nav a span{
    color: #e7d4bb !important;
  }

  html[data-theme="dark"] .drawer[data-upgraded="true"] .drawer-nav a small{
    color: #b8aa91 !important;
  }

  html[data-theme="dark"] .drawer[data-upgraded="true"] .drawer-nav a:hover,
  html[data-theme="dark"] .drawer[data-upgraded="true"] .drawer-nav a:focus-visible,
  html[data-theme="dark"] .drawer[data-upgraded="true"] .drawer-nav a[aria-current="page"]{
    border-color: rgba(157,89,107,.68) !important;
    background: #48252f !important;
    outline: 0;
    box-shadow: 0 12px 28px rgba(72,37,47,.24);
  }

  html[data-theme="dark"] .drawer[data-upgraded="true"] .drawer-nav a:hover small,
  html[data-theme="dark"] .drawer[data-upgraded="true"] .drawer-nav a:focus-visible small,
  html[data-theme="dark"] .drawer[data-upgraded="true"] .drawer-nav a[aria-current="page"] small{
    color: #d8c7af !important;
  }

  html[data-theme="dark"] .drawer-hours{
    border: 1px solid rgba(133,120,97,.34);
    background:
      radial-gradient(circle at 88% 12%, rgba(72,37,47,.18), transparent 34%),
      #29281e !important;
    color: #e7d4bb !important;
  }

  html[data-theme="dark"] .drawer-hours strong{
    color: #9d596b !important;
  }

  html[data-theme="dark"] .drawer-hours span{
    color: #d8c7af !important;
  }
}

/* Semantic restaurant status lights */
.live-status-card .live-status-dot,
.live-status-card.is-closed .live-status-dot,
#hero-overlay .live-status-card .live-status-dot,
#hero-overlay .live-status-card.is-closed .live-status-dot,
.hours-live-status .hours-live-dot,
.hours-live-status.is-closed .hours-live-dot,
.drawer-status .drawer-status-dot,
.drawer-status.is-closed .drawer-status-dot{
  background: #ef5a5a !important;
  box-shadow:
    0 0 0 5px rgba(239,90,90,.16),
    0 0 16px rgba(239,90,90,.32) !important;
}

.live-status-card.is-open .live-status-dot,
#hero-overlay .live-status-card.is-open .live-status-dot,
.hours-live-status.is-open .hours-live-dot,
.drawer-status.is-open .drawer-status-dot{
  background: #45c97a !important;
  box-shadow:
    0 0 0 5px rgba(69,201,122,.16),
    0 0 18px rgba(69,201,122,.34) !important;
}

/* Final button hover palette: no blue CTA states */
html[data-theme="dark"] #restaurang-showcase-v2 .section-cta .btn.primary{
  border-color: #48252f !important;
  background: #48252f !important;
  color: #e7d4bb !important;
  box-shadow:
    0 12px 28px rgba(72,37,47,.28),
    inset 0 1px 0 rgba(231,212,187,.04) !important;
}

html[data-theme="dark"] #restaurang-showcase-v2 .section-cta .btn.primary:hover,
html[data-theme="dark"] #restaurang-showcase-v2 .section-cta .btn.primary:focus,
html[data-theme="dark"] #restaurang-showcase-v2 .section-cta .btn.primary:focus-visible{
  border-color: #9d596b !important;
  background: #613542 !important;
  color: #f4e5d1 !important;
  outline: none;
  box-shadow:
    0 16px 34px rgba(72,37,47,.38),
    0 0 0 3px rgba(157,89,107,.16) !important;
  transform: translateY(-2px);
}

html:not([data-theme="dark"]) #restaurang-showcase-v2 .section-cta .btn.primary{
  border-color: #292d2c !important;
  background: #292d2c !important;
  color: #f7f4ed !important;
  box-shadow: 0 12px 28px rgba(54,49,41,.14) !important;
}

html:not([data-theme="dark"]) #restaurang-showcase-v2 .section-cta .btn.primary:hover,
html:not([data-theme="dark"]) #restaurang-showcase-v2 .section-cta .btn.primary:focus,
html:not([data-theme="dark"]) #restaurang-showcase-v2 .section-cta .btn.primary:focus-visible{
  border-color: #746858 !important;
  background: #48463f !important;
  color: #fffdf8 !important;
  outline: none;
  box-shadow:
    0 16px 34px rgba(54,49,41,.2),
    0 0 0 3px rgba(116,104,88,.12) !important;
  transform: translateY(-2px);
}

html[data-theme="dark"] .btn.primary:hover,
html[data-theme="dark"] .btn.primary:focus,
html[data-theme="dark"] .btn.primary:focus-visible,
html[data-theme="dark"] .events-slider-button:hover,
html[data-theme="dark"] .events-slider-button:focus-visible,
html[data-theme="dark"] .lunch-pause-actions a:first-child:hover,
html[data-theme="dark"] .lunch-pause-actions a:first-child:focus-visible{
  border-color: #9d596b !important;
  background: #613542 !important;
  color: #f4e5d1 !important;
  outline: none;
  box-shadow:
    0 16px 34px rgba(72,37,47,.34),
    0 0 0 3px rgba(157,89,107,.14) !important;
}

/* Taller, easier-to-read event cards on mobile */
@media (max-width: 680px){
  #events .event-card,
  #events .event-card-featured{
    display: flex !important;
    flex: 0 0 calc(66.666vw - 12px);
    flex-direction: column;
    width: calc(66.666vw - 12px);
    max-width: 340px;
    height: clamp(300px, 44svh, 420px);
    min-height: 300px;
    overflow: hidden;
  }

  #events .event-card > #placeholder-event,
  #events .event-card > #liveband-card:not([style*="display:none"]){
    display: flex;
    flex: 1;
    flex-direction: column;
    min-height: 0;
  }

  #events .event-card img,
  #events .event-card video,
  #events .event-card > #placeholder-event > img,
  #events .event-card > #liveband-card:not([style*="display:none"]) > img,
  #events .event-card > #liveband-card:not([style*="display:none"]) > video{
    flex: 0 0 50%;
    width: 100% !important;
    height: 50% !important;
    min-height: 150px !important;
    max-height: none;
    object-fit: cover;
  }

  #events .event-card .pad{
    display: flex !important;
    flex: 1;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    min-height: 0;
    padding: 14px !important;
    gap: 7px;
  }

  #events .event-card h3{
    font-size: clamp(1.08rem, 4.8vw, 1.35rem) !important;
    line-height: 1.08;
  }

  #events .event-card p{
    display: -webkit-box;
    overflow: hidden;
    font-size: .86rem !important;
    line-height: 1.38 !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
  }

  #events .event-card .badges{
    display: none !important;
  }
}

/* Keep the footer brand aligned with the rest of the footer content */
.footer-v2-brand{
  justify-self: start;
  width: 100%;
  text-align: left !important;
}

.footer-v2-logo{
  justify-content: flex-start;
  text-align: left !important;
}

.footer-v2-logo > span{
  justify-items: start;
  text-align: left !important;
}

.footer-v2-brand > p,
.footer-v2-highlights{
  margin-left: 0;
  margin-right: 0;
  text-align: left !important;
}

/* Taller event cards on tablet and desktop */
@media (min-width: 681px){
  #events .event-card,
  #events .event-card-featured{
    height: clamp(480px, 42vw, 560px);
    min-height: 480px;
    overflow: hidden;
  }

  #events .event-card > div[id]{
    min-height: 0;
  }

  #events .event-card img,
  #events .event-card video,
  #events .event-card-featured img,
  #events .event-card-featured video{
    flex: 0 0 50%;
    width: 100% !important;
    height: 50% !important;
    min-height: 240px !important;
    max-height: 280px;
    object-fit: cover !important;
  }

  #events .event-card .pad{
    min-height: 0;
    padding: clamp(20px, 2vw, 26px) !important;
  }
}

/* Subtle hover motion for event cards */
@media (hover: hover) and (pointer: fine){
  #events .event-card,
  #events .event-card-featured{
    transition:
      transform 220ms ease,
      border-color 220ms ease,
      box-shadow 220ms ease,
      background-color 220ms ease;
  }

  #events .event-card:hover,
  #events .event-card-featured:hover{
    transform: translateY(-2px) !important;
    box-shadow: 0 14px 30px rgba(10,18,20,.11) !important;
  }

  html[data-theme="dark"] #events .event-card:hover,
  html[data-theme="dark"] #events .event-card-featured:hover{
    box-shadow:
      0 16px 34px rgba(0,0,0,.26),
      0 0 0 1px rgba(72,37,47,.14) !important;
  }
}

/* Keep every event card on the same baseline until it is hovered */
#events .events-grid{
  align-items: stretch !important;
}

#events .event-card,
#events .event-card-featured{
  align-self: stretch;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

@media (hover: hover) and (pointer: fine){
  #events .event-card:not(:hover),
  #events .event-card-featured:not(:hover){
    transform: translateY(0) !important;
  }
}

/* Lower the sticky showcase navigation without changing its scroll behavior */
@media (min-width: 981px){
  #restaurang-showcase-v2 .showcase-rail{
    position: sticky !important;
    top: calc(var(--topbar-height, 64px) + 76px) !important;
    margin-top: 36px !important;
    transform: none !important;
    translate: none !important;
    animation: none !important;
    transition: none !important;
    will-change: auto;
  }
}

@media (min-width: 761px) and (max-width: 980px){
  #restaurang-showcase-v2 .showcase-rail{
    position: sticky !important;
    top: calc(var(--topbar-height, 64px) + 56px) !important;
    margin-top: 28px !important;
    transform: none !important;
    translate: none !important;
    animation: none !important;
    transition: none !important;
    will-change: auto;
  }
}

/* Keep footer contact details aligned to the left */
.footer-v2-col,
.footer-v2-col h4,
.footer-v2-col > a,
.footer-v2-col > span{
  text-align: left !important;
}
