/* ============================================================
   CUSTOM — Per-store overrides for Template TF
   Add store-specific tweaks here. Loaded last so it wins
   over theme.css and style.css.
   ============================================================ */

/* Rakesh 2026-10-29: overflow:hidden makes min-height 0, so 26 categories shrank instead of scrolling - keep full height, sidebar scrolls */
.menu-buttons .menu-button { flex-shrink: 0; }

/* ---------- Maps (squad map pattern, 2026-11-05) ----------
   No overflow at 360-414 (grid children may shrink, fixed mobile height instead of a ratio);
   no scroll trap: a transparent .map-shield covers the iframe on touch screens until the first tap
   (components.js), and returns once the map scrolls out of view. .map-block = map + Get directions. */
.contact-sec .wrap > *, .map-block { min-width: 0; }
.map-block { display: flex; flex-direction: column; gap: .75rem; }
.map-block .map-directions { align-self: flex-start; }
.map-frame { position: relative; width: 100%; max-width: 100%; overflow: hidden; }
.map-shield { position: absolute; inset: 0; z-index: 2; display: flex; align-items: flex-end; justify-content: center; padding: 0; border: 0; background: transparent; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.map-shield span { margin-bottom: .75rem; padding: .45rem .9rem; border-radius: 999px; background: rgba(0,0,0,.78); color: #fff; font-size: .875rem; font-weight: 600; line-height: 1.2; }
.map-shield:focus-visible { outline: 3px solid currentColor; outline-offset: -3px; }
.map-frame.is-live .map-shield { display: none; }
@media (hover: hover) and (pointer: fine) { .map-shield { display: none; } }
@media (max-width: 900px) { .map-frame { aspect-ratio: auto; min-height: 0; height: 320px; } }


/* ---------- Brogan's Diner rebrand (pack v1, 2026-11-06) ----------
   Logo = round badge centred on a 285x85 transparent canvas (badge = middle 127x85).
   Size by height; object-fit crops the empty side margins so the header stays compact. */
.brand img {
  height: 72px;
  width: 108px;
  object-fit: cover;
  object-position: center;
  background: transparent;
  padding: 0;
  border-radius: 0;
  box-shadow: none;
}
@media (max-width: 768px) {
  .brand img { height: 56px; width: 84px; }
}
.foot-brand img {
  height: 96px;
  width: 144px;
  object-fit: cover;
  object-position: center;
  box-sizing: border-box;
  padding: 6px 10px;
}
/* darker brand shade: THEME.md primary-dark (white text 9:1) instead of the template's red mixer */
:root { --chili-dark: #8E0E49; }
/* teal #3CBDB4 is decorative only (2.1:1 on the #1F7F79 band): text on teal bands uses white / light teal */
.menu-band .kicker,
.cat-tile .arrow { color: #fff; }
.menu-band h2 em { color: #E0F7F5; }              /* 4.3:1 on #1F7F79, large heading */
.foot-legal .credit a { color: #E0F7F5; }         /* 7.0:1 on the footer */
