/* ============================================================
   Boqueria — display elements (ported from the Astro components)
   ============================================================ */

/* ---------- Location grid + cards ---------- */
.boq-city-grid { columns: var(--boq-cols, 3); column-gap: 3.5rem; }
.boq-city-group { break-inside: avoid; margin-bottom: 1.5rem; }
html body .boq-city-name { font-size: 1.15rem; color: var(--charcoal); letter-spacing: 0.07em; margin: 0 0 0.2rem; }
@media (max-width: 1080px) { .boq-city-grid { columns: min(var(--boq-cols, 3), 2); } }
@media (max-width: 680px)  { .boq-city-grid { columns: 1; } }

.boq-loc-card { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 0.25rem; border-bottom: 1px solid var(--paper-line); }
html body .boq-loc-card__name { font-size: 1.45rem; margin: 0; }
html body .boq-loc-card__name a { color: var(--ink); text-decoration: none; }
html body .boq-loc-card__name a:hover { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
.boq-loc-card p { margin: 0.1rem 0 0; font-size: 0.92rem; color: var(--charcoal); }
.boq-loc-card .boq-loc-card__today { font-weight: 700; }
.boq-loc-card__extra a { color: var(--charcoal); }
.boq-loc-card__actions { display: flex; align-items: center; gap: 1rem; flex-shrink: 0; }
html body .boq-loc-card__details { font-family: var(--font-nav); font-size: 0.78rem; letter-spacing: 0.08em; text-transform: uppercase; text-decoration: none; color: var(--charcoal); padding: 0.75rem 0; }
html body .boq-loc-card__details:hover { color: var(--ink); text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 560px) {
	.boq-loc-card { flex-direction: column; align-items: stretch; gap: 0.75rem; }
	.boq-loc-card__actions { justify-content: space-between; }
}

/* ---------- Hours ---------- */
.boq-hours__table { border-collapse: collapse; width: 100%; max-width: 420px; font-variant-numeric: tabular-nums; margin: 0; }
html body .boq-hours__table th, html body .boq-hours__table td { text-align: left; padding: 0.45rem 0.25rem; border-bottom: 1px solid var(--paper-line); font-weight: 400; line-height: 1.6; color: var(--charcoal); font-size: 1.0625rem; letter-spacing: 0; }
html body .boq-hours__table th { font-family: var(--font-nav); font-size: 0.78rem; letter-spacing: 0.1em; text-transform: uppercase; width: 5.5rem; }
.boq-hours__table tr.today th, .boq-hours__table tr.today td { color: var(--ink); font-weight: 700; background: var(--churro); }
html body .boq-hours__specials { list-style: none; padding: 0; margin: 1.25rem 0 0; }
html body .boq-hours__specials li { padding-block: 0.2rem; margin: 0; }

/* ---------- OpenTable widget ---------- */
.boq-ot-widget { background: #fff; border-radius: 8px; box-shadow: 0 22px 54px rgba(14, 13, 13, 0.35); overflow: hidden; }
.boq-ot-widget iframe { display: block; border: 0; width: 100%; height: 540px; }
.boq-ot-widget.is-empty { padding: 2rem; text-align: center; box-shadow: none; border: 2px dashed var(--paper-line); }

/* ---------- Menu list ---------- */
html body .boq-menu-list { list-style: none; margin: 0; padding: 0; columns: var(--boq-cols, 2); column-gap: 3.5rem; }
html body .boq-mi { break-inside: avoid; padding: 0.55rem 0; margin: 0; }
.boq-mi__head { display: flex; align-items: baseline; gap: 0.6rem; }
.boq-mi__name { font-family: var(--font-display); text-transform: uppercase; letter-spacing: 0.04em; font-size: 1.08rem; color: var(--ink); }
.boq-mi__dots { flex: 1; border-bottom: 1px dotted currentColor; opacity: 0.45; translate: 0 -4px; }
.boq-mi__price { font-weight: 700; font-size: 0.95rem; white-space: nowrap; }
.boq-mi__desc { display: block; font-size: 0.9rem; line-height: 1.45; opacity: 0.8; max-width: 44ch; }
.dark .boq-mi__name, .dark .boq-mi__price, .dark .boq-mi__desc { color: var(--churro); }
@media (max-width: 760px) { html body .boq-menu-list { columns: 1; } }
