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

/* Layout for the location / delivery boxes now lives in style.css
   (Lantern template). Keep only store-specific tweaks below. */

/* ---------- home FAQ: internal links to tag pages ---------- */
.qa .qa-body a {
  color: var(--chili);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: color-mix(in srgb, var(--chili) 35%, transparent);
  text-decoration-thickness: 1.5px;
  text-underline-offset: 0.18em;
  transition: color 0.2s ease, text-decoration-color 0.2s ease;
}

.qa .qa-body a:hover,
.qa .qa-body a:focus-visible {
  color: var(--chili-dark);
  text-decoration-color: currentColor;
}

/* long neighbourhood / dish lists (8+ items) read better in two columns */
.qa .qa-body ul:has(li:nth-child(8)) {
  columns: 2;
  column-gap: 1.5rem;
}

.qa .qa-body ul:has(li:nth-child(8)) li {
  break-inside: avoid;
}

@media (max-width: 560px) {
  .qa .qa-body ul:has(li:nth-child(8)) {
    columns: 1;
  }
}

/* ---------- location box: map left, details right, actions in corner ---------- */
.location-box--map-left .location-box__details {
  order: 0;
  display: flex;
  flex-direction: column;
}

.location-box--map-left .location-box__actions {
  margin-top: auto;
  padding-top: 1.75rem;
  justify-content: flex-end;
  align-items: center;
}

@media (max-width: 900px) {
  .location-box--map-left .location-box__actions {
    justify-content: flex-start;
  }
}

@media (max-width: 480px) {
  .location-box--map-left .location-box__hours li {
    flex-wrap: wrap;
    gap: 0 1.25rem;
  }
}

/* ---------- boxed map + contact card (tag pages) ----------
   Add .delivery-location-box--boxed to a .delivery-location-box to
   get one bordered card: map left, details right, buttons in the
   bottom-right corner. Stacks map-over-details on mobile. */
.delivery-location-box--boxed {
  gap: 0;
  align-items: stretch;
  border: 1px solid var(--line);
  background: var(--card);
  box-shadow: var(--shadow-md);
  overflow: hidden;
}

.delivery-location-box--boxed .delivery-location-box__map {
  min-height: 300px;
  border: 0;
  border-bottom: 1px solid var(--line);
}

.delivery-location-box--boxed .delivery-location-box__details {
  display: flex;
  flex-direction: column;
  padding: clamp(1.5rem, 4vw, 2.5rem);
}

.delivery-location-box--boxed .delivery-location-box__actions {
  margin-top: auto;
  padding-top: 1.75rem;
  justify-content: flex-end;
  gap: 1rem 1.5rem;
}

@media (min-width: 900px) {
  .delivery-location-box--boxed .delivery-location-box__map {
    min-height: 460px;
    border-bottom: 0;
    border-right: 1px solid var(--line);
  }
}

/* home "find us": keep the map inside the single framed box
   (template default lets it overhang the panel top and bottom) */
.find-us .location-box--map-left {
  margin-block: 0;
}

.find-us .location-box--map-left .map-frame {
  margin-block: 0;
  min-height: 460px;
}

@media (max-width: 900px) {
  .find-us .location-box--map-left .map-frame {
    min-height: 320px;
  }
}
