/* Shared first-pass design polish: improve hierarchy while keeping BAIA's type and palette. */
:root {
  --font-title: "Work Sans", "Helvetica Neue", Arial, sans-serif !important;
  --text-xs: .8125rem !important;
  --text-sm: .9375rem !important;
  --text-base: 1rem !important;
}

/* Typography rule: Cormorant is editorial; Work Sans handles all functional text. */

/* The booking summary should relate to the square form fields below it. */
.enquiry__booking-bar[data-astro-cid-qzba3gmr],
.reserve__bar[data-astro-cid-t44n6xn5] {
  border-radius: 8px !important;
  box-shadow: none !important;
}

.enquiry__booking-cell[data-astro-cid-qzba3gmr],
.reserve__cell[data-astro-cid-t44n6xn5] {
  line-height: 1.4;
}

.enquiry__booking-cell[data-astro-cid-qzba3gmr],
.enquiry__field[data-astro-cid-qzba3gmr],
.reserve__label[data-astro-cid-t44n6xn5],
.reserve__session-label[data-astro-cid-t44n6xn5] {
  font-size: .9375rem !important;
  line-height: 1.45;
}

.enquiry__booking-cell[data-astro-cid-qzba3gmr] input,
.enquiry__booking-cell[data-astro-cid-qzba3gmr] select,
.reserve__cell[data-astro-cid-t44n6xn5] input,
.reserve__cell[data-astro-cid-t44n6xn5] select,
.reserve__time-value[data-astro-cid-t44n6xn5],
.date-display[data-astro-cid-qzba3gmr],
.date-display[data-astro-cid-t44n6xn5] {
  font-size: 1.25rem !important;
  line-height: 1.3;
}

.enquiry__field[data-astro-cid-qzba3gmr] input,
.enquiry__field[data-astro-cid-qzba3gmr] select,
.enquiry__field[data-astro-cid-qzba3gmr] textarea {
  border-radius: 3px;
  font-size: 1rem;
  line-height: 1.45;
}

.reserve__slot[data-astro-cid-t44n6xn5] span[data-astro-cid-t44n6xn5] {
  font-size: .9375rem;
  line-height: 1.35;
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Keep the utility page's small labels readable alongside the main site. */
main > .kicker,
.details .label {
  font-size: .8125rem !important;
  line-height: 1.4;
}

.back,
.download {
  min-height: 44px;
  font-size: .875rem !important;
}

/* Keep practical contact details crisp and easy to scan. */
.fu__line[data-astro-cid-j77eyg4h] {
  font-family: var(--font-body) !important;
  font-size: 1.0625rem !important;
  line-height: 1.5;
  font-variant-numeric: lining-nums tabular-nums;
  letter-spacing: .01em;
}

.fu__links[data-astro-cid-j77eyg4h] {
  font-family: var(--font-body) !important;
  font-size: 1rem !important;
  line-height: 1.5;
}

.enquiry__field[data-astro-cid-qzba3gmr] input:focus-visible,
.enquiry__field[data-astro-cid-qzba3gmr] select:focus-visible,
.enquiry__field[data-astro-cid-qzba3gmr] textarea:focus-visible,
.enquiry__booking-cell[data-astro-cid-qzba3gmr] input:focus-visible,
.enquiry__booking-cell[data-astro-cid-qzba3gmr] select:focus-visible,
.reserve__cell[data-astro-cid-t44n6xn5] input:focus-visible,
.reserve__cell[data-astro-cid-t44n6xn5] select:focus-visible,
.reserve__slot[data-astro-cid-t44n6xn5] input:focus-visible + span[data-astro-cid-t44n6xn5] {
  outline: 2px solid #315c78;
  outline-offset: 2px;
}

@media (max-width: 640px) {
  .enquiry__booking-bar[data-astro-cid-qzba3gmr],
  .reserve__bar[data-astro-cid-t44n6xn5] {
    border-radius: 8px !important;
  }
}

/* One type system: editorial serif for story and display; Work Sans for useful text. */
:root {
  --baia-type-display: clamp(2.125rem, 3vw, 2.875rem);
  --baia-type-page-title: clamp(1.875rem, 2.7vw, 2.5rem);
  --baia-type-section: clamp(1.5rem, 2.2vw, 2rem);
  --baia-type-editorial: clamp(1.375rem, 2vw, 1.625rem);
  --baia-type-lead: clamp(1.375rem, 2vw, 1.625rem);
  --baia-type-body: 1.0625rem;
  --baia-type-label: 1rem;
  --baia-type-section-label: 1.125rem;
  --baia-type-small: 0.875rem;
}

/* Semantic fallbacks only. Component roles below take precedence where needed. */
:where(h1:not(.sr-only)) {
  font-size: var(--baia-type-page-title) !important;
  line-height: 1.15;
}

h2 {
  font-size: var(--baia-type-section) !important;
  line-height: 1.2;
}

h3 {
  font-size: var(--baia-type-editorial) !important;
  line-height: 1.3;
}

/* Display and page titles. */
.hero__descriptor,
.about-hero__title {
  font-family: var(--font-heading) !important;
  font-size: var(--baia-type-display) !important;
  line-height: 1.12;
}

.reserve__title,
.enquiry__title,
.cat__title {
  font-size: var(--baia-type-page-title) !important;
  line-height: 1.18;
}

/* Uppercase section labels share one restrained Work Sans treatment. */
.section__title,
.menus__title,
.pe__title,
.dl__title,
.fu__title,
.faq__title {
  font-family: var(--font-title) !important;
  font-size: var(--baia-type-section-label) !important;
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: 0.22em;
}

/* The client list is a section label, not a second page hero. */
.company-references h2 {
  font-family: var(--font-title) !important;
  font-size: var(--baia-type-section-label) !important;
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: 0.18em;
}

.enquiry__title--caps {
  font-size: var(--baia-type-label) !important;
  line-height: 1.4;
}

/* Short, expressive copy keeps the editorial face at a measured size. */
.hero__statement,
.menus__intro,
.pe__headline,
.dl__headline,
.burger-story-home__copy h2,
.about-story__title {
  font-family: var(--font-heading) !important;
  font-size: var(--baia-type-lead) !important;
  line-height: 1.4;
}

.hero__statement {
  line-height: 1.45;
}

.pe__headline,
.dl__headline {
  font-size: var(--baia-type-editorial) !important;
  line-height: 1.35;
}

/* Body copy and all practical actions use the clear sans-serif face. */
.pe__text,
.dl__text,
.burger-story-home p,
.about-hero__intro,
.about-cta__text,
.about-story__text p,
.cat__sub,
.cat__back-text {
  font-family: var(--font-body) !important;
  font-size: var(--baia-type-body) !important;
  line-height: 1.65;
}

.pe__links a,
.dl__links a,
.menus__link,
.mp-tab {
  font-family: var(--font-body) !important;
  font-size: var(--baia-type-label) !important;
  line-height: 1.4;
}

.cat__tile-title,
.cat__back-title,
.team__name,
.reserve__name {
  font-size: var(--baia-type-editorial) !important;
  line-height: 1.3;
}

.fu__line[data-astro-cid-j77eyg4h] {
  font-size: var(--baia-type-body) !important;
}

@media (max-width: 640px) {
  :root {
    --baia-type-display: clamp(2rem, 8vw, 2.5rem);
    --baia-type-page-title: clamp(1.75rem, 7vw, 2.125rem);
    --baia-type-section: clamp(1.375rem, 5.5vw, 1.75rem);
    --baia-type-editorial: clamp(1.25rem, 5vw, 1.5rem);
    --baia-type-lead: clamp(1.1875rem, 4.8vw, 1.375rem);
    --baia-type-section-label: 1rem;
  }

  .section__title,
  .menus__title,
  .pe__title,
  .dl__title,
  .fu__title,
  .faq__title,
  .company-references h2 {
    letter-spacing: 0.18em;
  }

  .company-references h2 {
    font-size: 1rem !important;
    letter-spacing: 0.1em;
    max-width: 360px !important;
  }
}
