/* Malhi's — set menus & thali, catering, visit */
.sets-head-in{display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(28px,5vw,80px);align-items:end}
.sets-img{aspect-ratio:4/5;max-width:380px;justify-self:end;width:100%}
.sets-h{font-size:clamp(1.8rem,3vw,2.5rem)}
.set-when{color:var(--pom);margin:0}
.set .price-big small{font-family:var(--f-text);font-size:.9rem;color:var(--ink-3)}
.set-fixed{margin:4px 0 8px;padding-left:1.1em;color:var(--ink-2);font-size:.95rem}
.set .field{margin-bottom:10px}
.set-al{font-size:.86rem;color:var(--ink-3);margin:2px 0 8px}
.set-buy{display:flex;gap:12px;align-items:flex-end;margin-top:auto}
.set-buy .field{margin:0;width:96px}
.th-head{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:32px}
.th-head .lede{margin:0}
.th-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;margin-bottom:22px}
.th-tabs button{flex:none;min-width:84px;border:1px solid rgba(243,232,216,.3);background:transparent;color:var(--on-dark);border-radius:6px;padding:10px 8px;cursor:pointer;line-height:1.2}
.th-tabs button b{display:block;font-family:var(--f-disp);font-weight:400;font-size:1.7rem}
.th-tabs button small{font-family:var(--f-mono);font-size:.68rem;color:var(--on-dark-2)}
.th-tabs button[aria-selected=true]{background:var(--on-dark);color:var(--clove);border-color:var(--on-dark)}
.th-tabs button[aria-selected=true] small{color:var(--ink-3)}
.th-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(24px,4vw,56px);align-items:start}
.th-panel h3{color:var(--on-dark);font-size:1.7rem}
.th-tray{margin:0;display:grid;gap:0}
.th-tray div{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid rgba(243,232,216,.14)}
.th-tray dt{font-family:var(--f-mono);font-size:.76rem;color:var(--pom-lt);padding-top:3px}
.th-tray dd{margin:0;font-size:1.08rem}
.th-al{color:var(--on-dark-2);font-size:.9rem;margin-top:14px}
.th-al strong{color:var(--on-dark)}
.th-buy{color:var(--ink)}
.th-buy h3{color:var(--ink)!important;font-size:1.4rem!important}
.th-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-bottom:1px dashed var(--line)}
.th-row .mono{color:var(--ink-3);display:block}
.th-tot{display:flex;justify-content:space-between;margin:14px 0;font-weight:600}
.th-btns{display:grid;gap:8px}
.notes-list{padding-left:1.1em;color:var(--ink-2)}
.notes-list li{margin-bottom:8px}
/* catering */
.cat-types{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.ctype{border-top:2px solid var(--ink);padding-top:14px}
.ctype h3{font-size:1.3rem}
.ctype p{color:var(--ink-2);font-size:.95rem;margin:0}
.styles{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.4vw,28px)}
.style-card .card-img{aspect-ratio:4/5}
.style-card .mono{color:var(--pom)}
.est{position:sticky;top:96px}
.est .price-big{color:var(--on-dark)}
.est-band{font-size:.92rem;color:var(--on-dark-2)}
.cq .stepbox{min-height:200px}
/* visit */
.v-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,80px)}
.hours{width:100%;border-collapse:collapse;margin:8px 0 12px}
.hours th,.hours td{text-align:left;padding:11px 0;border-bottom:1px solid var(--line);vertical-align:top}
.hours th{font-weight:600;width:34%}
.hours tr.today th,.hours tr.today td{color:var(--pom)}
.hours tr.today th::after{content:" · today";font-family:var(--f-mono);font-size:.72rem;font-weight:500}
.zones{width:100%;border-collapse:collapse;font-size:.95rem}
.zones th,.zones td{text-align:left;padding:10px 8px 10px 0;border-bottom:1px solid var(--line)}
.zones thead th{font-family:var(--f-mono);font-weight:500;font-size:.74rem;color:var(--ink-3)}
.mapbox{position:relative;aspect-ratio:4/3;border-radius:4px;overflow:hidden;background:var(--sand);border:1px solid var(--line)}
.mapbox svg{width:100%;height:100%}
.mapbox a{position:absolute;left:14px;bottom:14px}
.story-row{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,5vw,80px);align-items:center}
.story-row .arch{aspect-ratio:4/5;max-width:440px}
.halal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.halal-grid div{border-top:2px solid var(--on-dark);padding-top:14px}
.halal-grid h3{color:var(--on-dark);font-size:1.3rem}
.halal-grid p{color:var(--on-dark-2);font-size:.96rem}
@media (max-width:1000px){
 .sets-head-in,.th-head,.th-grid,.v-grid,.story-row{grid-template-columns:1fr}
 .sets-img{justify-self:start;max-width:320px}
 .cat-types{grid-template-columns:1fr 1fr}
 .styles,.halal-grid{grid-template-columns:1fr}
 .est{position:static}
}
@media (max-width:560px){ .th-tray div{grid-template-columns:1fr;gap:2px} .cat-types{grid-template-columns:1fr} }
