.booking { background: var(--ink); color: var(--bg); padding-block: 5rem; }
.booking .eyebrow { color: var(--sky); }
.booking-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 3rem; align-items: start; }
.booking h2 { font-size: clamp(1.9rem, 4vw, 3rem); margin-bottom: 1.25rem; }
.booking .btn { margin-block: 1rem 2rem; }
.loc-tabs { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 1.75rem 0; }
.loc-tab {
  font-family: var(--display); font-weight: 600; font-size: 0.95rem;
  text-transform: uppercase; letter-spacing: 0.05em;
  padding: 0.45rem 0.95rem; border-radius: 8px;
  border: 1.5px solid color-mix(in oklch, var(--bg) 28%, var(--ink));
  background: transparent; color: var(--bg); cursor: pointer;
  transition: background 0.15s ease-out, border-color 0.15s ease-out;
}
.loc-tab:hover { border-color: var(--accent); }
.loc-tab.active { background: var(--accent); border-color: var(--accent); }
.loc-panel { border-top: 1px solid color-mix(in oklch, var(--bg) 18%, var(--ink)); padding-top: 1.4rem; }

.loc-line { display: flex; gap: 0.8rem; align-items: baseline; padding-block: 0.4rem; font-family: var(--mono); font-size: 0.88rem; }
.loc-line .k { font-size: 0.62rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--sky); min-width: 6rem; }
.loc-week { display: grid; grid-template-columns: 3.2rem 1fr; gap: 0.15rem 1rem; font-size: 0.8rem; }
.loc-week .closed-day { color: color-mix(in oklch, var(--bg) 45%, var(--ink)); }
.loc-week .today { color: var(--amber); }
.open-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--amber); margin-right: 0.4rem; }
.open-dot.closed { background: color-mix(in oklch, var(--bg) 40%, var(--ink)); }

.loc-actions { display: flex; gap: 0.9rem; flex-wrap: wrap; margin-top: 1.5rem; }
.map-embed { border-radius: 10px; overflow: hidden; border: 1px solid color-mix(in oklch, var(--bg) 18%, var(--ink)); }
.map-embed iframe { display: block; width: 100%; height: 420px; border: 0; }

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