/* ---- Custom brand fonts (drop files into the /fonts folder) ---- */
@font-face{
  font-family:'Zuume Rough';
  src:url('fonts/ZuumeRough-Bold.woff2') format('woff2'),
      url('fonts/ZuumeRough-Bold.woff') format('woff'),
      url('fonts/ZuumeRough-Bold.otf') format('opentype'),
      url('fonts/ZuumeRough-Bold.ttf') format('truetype');
  font-weight:700; font-style:normal; font-display:swap;
}
@font-face{
  font-family:'Blacker Sans Pro';
  src:url('fonts/BlackerSansPro-Regular.woff2') format('woff2'),
      url('fonts/BlackerSansPro-Regular.woff') format('woff'),
      url('fonts/BlackerSansPro-Regular.otf') format('opentype'),
      url('fonts/BlackerSansPro-Regular.ttf') format('truetype');
  font-weight:400; font-style:normal; font-display:swap;
}
@font-face{
  font-family:'Blacker Sans Pro';
  src:url('fonts/BlackerSansPro-Bold.woff2') format('woff2'),
      url('fonts/BlackerSansPro-Bold.woff') format('woff'),
      url('fonts/BlackerSansPro-Bold.otf') format('opentype'),
      url('fonts/BlackerSansPro-Bold.ttf') format('truetype');
  font-weight:700; font-style:normal; font-display:swap;
}

/* =========================================================
   KABOB PLACE — shared styles
   ========================================================= */
:root{
  --red:        #C32C1F;
  --red-deep:   #A0231A;
  --red-darkest:#7C1810;
  --cream:      #F8F2E2;
  --cream-soft: #FBF6EC;
  --gold:       #F4C84C;
  --gold-deep:  #E0A82E;
  --ink:        #17120F;
  --ink-soft:   #2A211C;
  --paper:      #FCF7ED;

  --shadow-card: 0 18px 40px -18px rgba(60,8,4,.55);
  --shadow-pill: 0 8px 16px -6px rgba(0,0,0,.5);
  --r-card: 26px;
  --maxw: 1200px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth; scroll-padding-top:84px}

body{
  font-family:'Blacker Sans Pro','Poppins',system-ui,sans-serif;
  color:var(--paper);
  background:var(--red);
  line-height:1.55;
  overflow-x:hidden;
  position:relative;
  -webkit-font-smoothing:antialiased;
}

.lattice{
  position:absolute; top:0; left:0; width:100%; height:100%;
  z-index:0; pointer-events:none; opacity:.5;
  -webkit-mask-image:linear-gradient(to bottom, #000 0%, #000 60%, rgba(0,0,0,.35) 86%, transparent 100%);
          mask-image:linear-gradient(to bottom, #000 0%, #000 60%, rgba(0,0,0,.35) 86%, transparent 100%);
}
.content{position:relative; z-index:1}

h1,h2,h3,.display{
  font-family:'Zuume Rough','Anton',sans-serif; font-weight:400;
  text-transform:uppercase; letter-spacing:.01em; line-height:.95;
}
a{color:inherit; text-decoration:none}
img{display:block; max-width:100%}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 24px}

/* ===================== NAV ===================== */
.nav{
  position:sticky; top:0; z-index:50;
  background:#ffffff;
  border-bottom:1px solid rgba(23,18,15,.08);
  box-shadow:0 2px 16px -10px rgba(0,0,0,.4);
}
.nav-inner{
  max-width:var(--maxw); margin:0 auto; padding:14px 24px;
  display:flex; align-items:center; gap:18px;
}
.brand{display:flex; align-items:center; gap:11px; margin-right:auto}
.brand .mark{width:34px; height:34px; flex:0 0 auto}
.brand img.mark{width:auto; height:42px; max-width:240px; object-fit:contain; border-radius:0}
.mark-fallback{display:none}
.brand.logo-missing .mark-fallback{display:block}
.brand img.logo-desktop{display:block}
.brand img.logo-mobile{display:none}
@media (max-width:600px){
  .brand img.logo-mobile{display:block}
  .brand.has-mobile-logo img.logo-desktop{display:none}
  .brand.has-mobile-logo .mark-fallback{display:none}
}
.brand b{
  font-family:'Zuume Rough','Anton',sans-serif; font-weight:400; font-size:22px;
  letter-spacing:.02em; line-height:1; text-transform:uppercase; color:var(--ink);
}
.brand b span{color:var(--red)}
.nav-links{display:flex; gap:26px}
.nav-links a{
  font-weight:600; font-size:14px; letter-spacing:.04em; text-transform:uppercase;
  color:var(--ink-soft); opacity:.85; transition:opacity .2s, color .2s; position:relative;
}
.nav-links a:hover{opacity:1; color:var(--red)}
.nav-links a.active{opacity:1; color:var(--red)}
.nav-links a.active::after{
  content:""; position:absolute; left:0; right:0; bottom:-6px; height:2px; background:var(--red);
}
.nav-toggle{
  display:none; align-items:center; justify-content:center;
  width:42px; height:42px; padding:0; border:0; background:transparent; cursor:pointer;
  color:var(--ink); border-radius:10px; flex:0 0 auto;
}
.nav-toggle:hover{background:rgba(23,18,15,.06)}
.nav-toggle svg{width:26px; height:26px}
.nav-toggle .ico-x{display:none}
.nav.open .nav-toggle .ico-bars{display:none}
.nav.open .nav-toggle .ico-x{display:block}

.order-row{display:flex; gap:10px}
.btn{
  display:inline-flex; align-items:center; gap:8px;
  font-family:'Blacker Sans Pro','Poppins',system-ui,sans-serif;
  font-weight:700; font-size:14px; line-height:1.2; letter-spacing:.01em;
  padding:11px 18px; border-radius:999px;
  transition:transform .15s ease, box-shadow .2s ease, filter .2s;
  box-shadow:var(--shadow-pill); white-space:nowrap; cursor:pointer; border:0;
  -webkit-appearance:none; appearance:none; box-sizing:border-box; vertical-align:middle;
}
.btn:hover{transform:translateY(-2px); filter:brightness(1.04)}
.btn:active{transform:translateY(0)}
.btn:focus-visible{outline:3px solid var(--gold); outline-offset:2px}
.btn-dd{background:#FF3008; color:#fff}
.btn-gh{background:#FF8000; color:#2a1500}
.btn-gold{background:var(--gold); color:var(--ink)}
.btn-ghost{background:transparent; color:var(--cream); box-shadow:inset 0 0 0 2px rgba(248,242,226,.55)}
.btn svg{flex:0 0 auto}

/* ===================== HERO ===================== */
.hero{padding:74px 0 56px; text-align:center; position:relative}
.eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  font-weight:700; letter-spacing:.28em; font-size:12.5px; text-transform:uppercase;
  color:var(--gold); margin-bottom:18px;
}
.eyebrow::before,.eyebrow::after{content:""; width:34px; height:2px; background:var(--gold); opacity:.7}
.hero h1{font-size:clamp(64px,13vw,168px); color:var(--cream); text-shadow:0 6px 0 rgba(0,0,0,.18)}
.hero h1 em{font-style:normal; color:var(--gold)}
.hero .lede{
  max-width:620px; margin:20px auto 0; font-size:clamp(16px,2.1vw,20px);
  font-weight:500; color:rgba(252,247,237,.92);
}
.hero .order-row{justify-content:center; margin-top:34px; flex-wrap:wrap}
.hero .btn{padding:15px 26px; font-size:16px}

.hero-meta{
  margin-top:34px; display:flex; justify-content:center; flex-wrap:nowrap;
  gap:10px 34px; font-size:27px; font-weight:600;
  color:rgba(252,247,237,.78); letter-spacing:.03em;
}
.hero-meta span{display:inline-flex; align-items:center; gap:10px; white-space:nowrap}
.hero-meta svg{width:30px; height:30px; color:var(--gold); flex:0 0 auto}
@media (max-width:1024px){ .hero-meta{flex-direction:column; align-items:center; gap:12px} }

/* ===================== PAGE HEADER (menu/contact) ===================== */
.page-header{padding:64px 0 8px; text-align:center}
.page-header h1{font-size:clamp(48px,9vw,104px); color:var(--cream); text-shadow:0 6px 0 rgba(0,0,0,.18)}
.page-header h1 em{font-style:normal; color:var(--gold)}
.page-header p{
  margin:16px auto 0; max-width:600px; font-weight:500;
  font-size:clamp(15px,2vw,18px); color:rgba(252,247,237,.88);
}

/* ===================== SECTION FRAME ===================== */
.section{padding:30px 0 64px}
.section-head{text-align:center; margin-bottom:40px}
.section-head h2{font-size:clamp(40px,7vw,76px); color:var(--cream); text-shadow:0 5px 0 rgba(0,0,0,.16)}
.section-head p{
  margin-top:12px; font-weight:500; font-size:clamp(15px,2vw,18px);
  color:rgba(252,247,237,.86); max-width:640px; margin-left:auto; margin-right:auto;
}
.divider{display:flex; align-items:center; justify-content:center; gap:14px; margin:6px auto 0; max-width:240px; color:var(--gold)}
.divider .line{flex:1; height:2px; background:var(--gold); opacity:.55}

/* ===================== CATEGORY PREVIEW (home) ===================== */
.cats{display:grid; gap:24px; grid-template-columns:repeat(3,1fr)}
.cat-card{
  background:var(--cream); color:var(--ink); border-radius:22px;
  padding:30px 26px; box-shadow:var(--shadow-card);
  display:flex; flex-direction:column; gap:10px;
  transition:transform .22s ease, box-shadow .22s ease;
}
.cat-card:hover{transform:translateY(-6px); box-shadow:0 28px 52px -20px rgba(40,4,2,.7)}
.cat-card .ic{
  width:54px; height:54px; border-radius:14px; background:var(--gold);
  display:grid; place-items:center; color:var(--ink); margin-bottom:6px;
}
.cat-card .ic svg{width:28px; height:28px}
.cat-card h3{font-size:26px; color:var(--red-darkest)}
.cat-card p{font-weight:500; font-size:14.5px; color:var(--ink-soft); flex:1}
.cat-card .go{
  font-family:'Zuume Rough','Anton',sans-serif; font-size:15px; letter-spacing:.04em;
  color:var(--red); text-transform:uppercase; display:inline-flex; align-items:center; gap:7px;
}
.cat-card:hover .go{gap:11px}
.cat-card .go svg{transition:transform .2s}

/* ===================== ABOUT ===================== */
.about{display:grid; grid-template-columns:1.05fr .95fr; gap:46px; align-items:stretch}
.about .eyebrow{margin-bottom:14px}
.about h2{font-size:clamp(34px,5vw,60px); line-height:1.12; color:var(--cream); margin-bottom:18px}
.about p{font-weight:500; color:rgba(252,247,237,.9); margin-bottom:14px}
.about-panel{
  position:relative; border-radius:28px; overflow:hidden; min-height:360px;
  box-shadow:var(--shadow-card);
  background:linear-gradient(160deg,#f0e7d2,#e6dbc0);
  display:grid; place-items:center;
}
.about-panel img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block}
.about-panel .placeholder{display:none; place-items:center; gap:12px; text-align:center; color:var(--red); padding:20px}
.about-panel.no-photo .placeholder{display:grid}
.about-panel .placeholder svg{width:58px; height:58px; opacity:.7}
.about-panel .placeholder small{font-weight:700; font-size:12.5px; letter-spacing:.02em; color:rgba(124,24,16,.6)}

/* ===================== HIGHLIGHTS ===================== */
.highlights{display:grid; grid-template-columns:repeat(4,1fr); gap:20px}
.hl{
  border:1px solid rgba(244,200,76,.3); border-radius:18px;
  padding:26px 22px; text-align:center; background:rgba(124,24,16,.28);
}
.hl .ic{
  width:48px; height:48px; margin:0 auto 14px; border-radius:50%;
  display:grid; place-items:center; background:var(--gold); color:var(--ink);
}
.hl .ic svg{width:24px; height:24px}
.hl h3{font-family:'Zuume Rough','Anton',sans-serif; font-size:18px; color:var(--gold); margin-bottom:6px; letter-spacing:.03em}
.hl p{font-weight:500; font-size:13.5px; color:rgba(252,247,237,.82)}

/* ===================== PLATES GRID ===================== */
.plates-grid{display:grid; gap:30px 26px; grid-template-columns:repeat(3,1fr)}
.plate-card{
  position:relative; background:var(--cream); color:var(--ink);
  border-radius:var(--r-card); padding:22px 22px 26px; box-shadow:var(--shadow-card);
  transition:transform .22s ease, box-shadow .22s ease;
}
.plate-card:hover{transform:translateY(-6px); box-shadow:0 28px 52px -20px rgba(40,4,2,.7)}
.plate-card .num{
  position:absolute; top:18px; left:-12px; background:var(--gold); color:var(--ink);
  font-family:'Zuume Rough','Anton',sans-serif; font-size:21px; line-height:1; padding:9px 14px 8px;
  border-radius:11px; box-shadow:0 6px 12px -4px rgba(0,0,0,.45);
}
.plate-card .num::after{
  content:""; position:absolute; left:8px; bottom:-7px;
  border-width:7px 9px 0 0; border-style:solid;
  border-color:var(--gold-deep) transparent transparent transparent;
}
.plate-photo{
  position:relative; aspect-ratio:1.55/1; width:95%; margin:6px auto 16px; border-radius:50%;
  background:radial-gradient(ellipse at 50% 46%, #ffffff 0 60%, #f0ead7 61% 71%, #ffffff 72% 100%);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.05), 0 14px 26px -14px rgba(60,8,4,.4);
  display:grid; place-items:center; overflow:hidden;
}
.plate-photo img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; border-radius:50%}
.plate-photo .placeholder{display:none; place-items:center; gap:8px; text-align:center; color:var(--red); opacity:.85}
.plate-photo.no-photo .placeholder{display:grid}
.plate-photo .placeholder svg{width:54px; height:54px}
.plate-photo .placeholder small{
  font-weight:700; font-size:13px; letter-spacing:.01em; text-transform:none;
  color:#7C1810; max-width:82%; line-height:1.3;
}
.plate-card h3{font-size:26px; color:var(--ink); text-align:center; line-height:1.02}
.plate-card .meat{
  display:block; text-align:center; margin-top:7px; font-family:'Blacker Sans Pro','Poppins',sans-serif;
  font-weight:600; font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--red);
}
.price{
  display:inline-block; margin:16px auto 0; background:var(--ink); color:var(--cream);
  font-family:'Zuume Rough','Anton',sans-serif; font-size:22px; letter-spacing:.02em;
  padding:8px 18px 7px; border-radius:999px; box-shadow:var(--shadow-pill);
}
.price small{font-size:13px; vertical-align:super; margin-left:1px}
.price-wrap{text-align:center}

/* ===================== MENU PAGE CHIPS ===================== */
.chips{display:flex; justify-content:center; flex-wrap:wrap; gap:12px; margin:8px 0 44px}
.chips a{
  font-family:'Zuume Rough','Anton',sans-serif; font-size:15px; letter-spacing:.04em; text-transform:uppercase;
  color:var(--cream); border:2px solid rgba(244,200,76,.5); border-radius:999px;
  padding:9px 20px 8px; transition:background .2s, color .2s, border-color .2s;
}
.chips a:hover{background:var(--gold); color:var(--ink); border-color:var(--gold)}

/* ===================== EXTRAS / DRINKS ===================== */
.extras-grid{display:grid; gap:24px; grid-template-columns:repeat(4,1fr); align-items:start}
.menu-card{
  background:var(--cream); color:var(--ink); border-radius:20px;
  padding:24px 22px 22px; box-shadow:var(--shadow-card); height:100%;
}
.menu-card h3{
  font-size:24px; color:var(--red-darkest); padding-bottom:12px; margin-bottom:8px;
  border-bottom:3px solid var(--gold); display:inline-block;
}
.menu-list{list-style:none; margin-top:6px}
.menu-list li{display:flex; align-items:baseline; gap:8px; padding:9px 0; border-bottom:1px dashed rgba(124,24,16,.18)}
.menu-list li:last-child{border-bottom:0}
.menu-list .name{font-weight:600; font-size:15px; color:var(--ink-soft)}
.menu-list .lead{flex:1; border-bottom:1px dotted rgba(124,24,16,.28); transform:translateY(-3px)}
.menu-list .cost{font-family:'Zuume Rough','Anton',sans-serif; font-size:18px; color:var(--red); white-space:nowrap}

/* ===================== HOURS / LOCATION BAND ===================== */
.band{
  background:linear-gradient(180deg,var(--red-deep),var(--red-darkest));
  border:1px solid rgba(244,200,76,.3); border-radius:30px;
  padding:44px 36px; display:grid; grid-template-columns:1fr 1fr; gap:30px; align-items:center;
}
.band h3{font-family:'Zuume Rough','Anton',sans-serif; font-size:clamp(26px,4vw,40px); color:var(--cream); margin-bottom:14px}
.band .ico-line{display:flex; align-items:center; gap:12px; margin:10px 0; font-weight:500; color:rgba(252,247,237,.92)}
.band .ico-line svg{width:22px; height:22px; color:var(--gold); flex:0 0 auto}
.band .ico-line a{color:var(--gold)}
.band-cta{display:flex; flex-direction:column; gap:12px; align-items:flex-start}
@media (max-width:760px){ .band{grid-template-columns:1fr} }

/* ===================== ORDER CTA ===================== */
.cta{
  text-align:center; background:linear-gradient(180deg,var(--red-deep),var(--red-darkest));
  border:1px solid rgba(244,200,76,.3); border-radius:30px; padding:54px 28px;
  margin:0 auto; max-width:var(--maxw);
}
.cta h2{font-size:clamp(34px,6vw,60px); color:var(--cream)}
.cta p{margin-top:12px; color:rgba(252,247,237,.85); font-weight:500}
.cta .order-row{justify-content:center; margin-top:28px; flex-wrap:wrap}
.cta .btn{padding:16px 30px; font-size:17px}

/* ===================== CONTACT ===================== */
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:34px; align-items:stretch}
.info-card{
  background:linear-gradient(180deg,var(--red-deep),var(--red-darkest));
  color:var(--cream); border:1px solid rgba(244,200,76,.3); border-radius:24px;
  padding:32px 30px; box-shadow:var(--shadow-card);
}
.info-card h2{font-size:30px; color:var(--cream); margin-bottom:20px}
.info-row{display:flex; gap:14px; padding:14px 0; border-bottom:1px dashed rgba(244,200,76,.22)}
.info-row:last-child{border-bottom:0}
.info-row .ic{
  width:42px; height:42px; flex:0 0 auto; border-radius:12px; background:var(--gold);
  display:grid; place-items:center; color:var(--ink);
}
.info-row .ic svg{width:21px; height:21px}
.info-row b{display:block; font-family:'Blacker Sans Pro','Poppins',sans-serif; font-weight:700; font-size:12px;
  letter-spacing:.14em; text-transform:uppercase; color:var(--gold); margin-bottom:3px}
.info-row .v{font-weight:500; color:rgba(252,247,237,.92)}
.info-row .v a{color:var(--gold); text-decoration:underline; text-decoration-color:rgba(244,200,76,.45)}

.form-card{
  background:var(--cream); color:var(--ink); border-radius:24px;
  padding:32px 30px; box-shadow:var(--shadow-card);
  display:flex; flex-direction:column;
}
.form-card form{display:flex; flex-direction:column; flex:1 1 auto}
.field-grow{flex:1 1 auto; display:flex; flex-direction:column; min-height:120px}
.field-grow textarea{flex:1 1 auto}
.form-card h2{font-size:30px; color:var(--red-darkest); margin-bottom:6px}
.form-card .sub{font-weight:500; font-size:14px; color:var(--ink-soft); margin-bottom:20px}
.field{margin-bottom:16px}
.field label{display:block; font-weight:700; font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--red); margin-bottom:7px}
.field input,.field textarea{
  width:100%; font-family:'Blacker Sans Pro','Poppins',sans-serif; font-size:15px; color:var(--ink);
  background:#fff; border:2px solid #e6dcc4; border-radius:12px; padding:12px 14px; transition:border-color .2s;
}
.field input:focus,.field textarea:focus{outline:0; border-color:var(--gold-deep)}
.field textarea{resize:vertical; min-height:120px}
.form-note{margin-top:12px; font-size:12.5px; color:var(--ink-soft); opacity:.8}

.map-wrap{margin-top:34px; border-radius:24px; overflow:hidden; box-shadow:var(--shadow-card); border:3px solid var(--cream)}
.map-wrap iframe{display:block; width:100%; height:380px; border:0; filter:saturate(1.05)}

/* ===================== FOOTER ===================== */
footer{padding:56px 0 40px; text-align:center}
.foot-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; text-align:left; margin-bottom:36px}
.foot-grid h4{
  font-family:'Zuume Rough','Anton',sans-serif; font-weight:400; text-transform:uppercase;
  font-size:16px; letter-spacing:.05em; color:var(--gold); margin-bottom:10px;
}
.foot-grid p{font-size:14.5px; color:rgba(252,247,237,.82); font-weight:500}
.foot-grid a{text-decoration:underline; text-decoration-color:rgba(244,200,76,.4)}
.foot-bottom{
  border-top:1px solid rgba(244,200,76,.22); padding-top:24px;
  display:flex; align-items:center; justify-content:center; gap:10px; flex-wrap:wrap;
  font-size:13px; color:rgba(252,247,237,.7);
}
.pom{color:var(--gold); font-size:13px; letter-spacing:.04em}

/* ===================== ANIMATION ===================== */
.reveal{opacity:0; transform:translateY(22px); transition:opacity .6s ease, transform .6s ease}
.reveal.in{opacity:1; transform:none}

/* ===================== RESPONSIVE ===================== */
@media (max-width:980px){
  .plates-grid{grid-template-columns:repeat(2,1fr)}
  .extras-grid{grid-template-columns:repeat(2,1fr)}
  .cats{grid-template-columns:1fr}
  .highlights{grid-template-columns:repeat(2,1fr)}
  .about{grid-template-columns:1fr; gap:30px}
  .contact-grid{grid-template-columns:1fr}
  .nav-toggle{display:inline-flex}
  .nav-links{
    display:flex; flex-direction:column; gap:0; align-items:stretch;
    position:absolute; top:100%; left:0; right:0;
    background:#fff; padding:6px 24px 14px;
    border-bottom:1px solid rgba(23,18,15,.08);
    box-shadow:0 16px 28px -16px rgba(0,0,0,.4);
    transform:translateY(-10px); opacity:0; pointer-events:none;
    transition:opacity .2s ease, transform .2s ease;
  }
  .nav.open .nav-links{opacity:1; transform:none; pointer-events:auto}
  .nav-links a{padding:14px 2px; font-size:16px; opacity:1; border-bottom:1px solid rgba(23,18,15,.07)}
  .nav-links a:last-child{border-bottom:0}
  .nav-links a.active::after{display:none}
}
@media (max-width:560px){
  .plates-grid{grid-template-columns:1fr; gap:34px}
  .extras-grid{grid-template-columns:1fr}
  .highlights{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr; text-align:center}
  .nav .order-row .btn span{display:none}
  .nav .order-row .btn{padding:11px 13px}
  .hero{padding:54px 0 40px}
  .plate-photo{width:86%}
}
@media (prefers-reduced-motion:reduce){
  *{scroll-behavior:auto !important}
  .reveal{opacity:1; transform:none; transition:none}
  .btn:hover,.plate-card:hover,.cat-card:hover{transform:none}
}

/* ---- Hours widget ---- */
.hours-list{list-style:none; margin-top:8px}
.hours-list .hours-row{display:flex; justify-content:space-between; gap:20px; padding:5px 0;
  font-size:14.5px; border-bottom:1px dashed rgba(244,200,76,.18)}
.hours-list .hours-row:last-child{border-bottom:0}
.hours-list .hours-row span:first-child{color:var(--gold); font-weight:700}
.hours-list .hours-row span:last-child{color:rgba(252,247,237,.9)}
.hours-list .hours-row.today{background:rgba(244,200,76,.28); border-radius:8px; padding-left:8px; padding-right:8px; margin:0 -8px}
.hours-list .hours-row.today span:last-child{font-weight:700; color:var(--red-darkest)}
.hours-badge{display:inline-block; font-weight:700; font-size:11.5px; letter-spacing:.08em;
  text-transform:uppercase; padding:5px 12px; border-radius:999px; margin-bottom:6px; color:#fff}
.hours-badge.open{background:#1f7a3d}
.hours-badge.closed{background:#9a2018}
.hours-badge:empty{display:none}

/* ---- Hero title photo (replaces the KABOB PLACE text when present) ---- */
.hero h1 img.hero-title-img{
  display:block; margin:0 auto;
  width:auto; height:auto;
  max-width:min(820px, 92%); max-height:30vh;
}

/* ---- Map: soft placeholder while it preloads ---- */
.map-wrap{background:#e9e2d2}
.map-wrap iframe{min-height:380px}

/* ---- Lightbox (plate photos) ---- */
.plate-photo.has-photo{cursor:zoom-in}
.lightbox{
  position:fixed; inset:0; z-index:200; padding:24px;
  display:none; align-items:center; justify-content:center;
  background:rgba(18,6,4,.86); opacity:0; transition:opacity .2s ease;
}
.lightbox.open{display:flex; opacity:1}
.lightbox-img{
  max-width:min(92vw, 1000px); max-height:86vh;
  width:auto; height:auto; object-fit:contain;
  border-radius:18px; box-shadow:0 30px 70px -20px rgba(0,0,0,.75);
}
.lightbox-close{
  position:absolute; top:18px; right:20px; width:46px; height:46px; padding:0;
  border:0; border-radius:50%; cursor:pointer;
  background:rgba(248,242,226,.16); color:#fff;
  display:grid; place-items:center; transition:background .2s ease;
}
.lightbox-close:hover{background:rgba(248,242,226,.3)}
.lightbox-close svg{width:24px; height:24px}
