/*
 * booking.css
 * Styles specific to booking.html.
 * Covers: page hero banner, booking intro text, and the
 *         responsive Bookwhen iframe wrapper.
 *
 * Relies on global variables and base styles from style.css.
 * Mobile-first: base styles target small screens.
 */


/* =============================================================
   Page Hero
   Small branded banner below the header — not as tall as the
   home page hero, just enough to introduce the page.
   ============================================================= */

.page-hero {
  background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-secondary) 100%);
  color: var(--color-white);
  padding: var(--space-xl) 0;
  text-align: center;
}

.page-hero__title {
  color: var(--color-white);
  margin-bottom: var(--space-xs);
}

.page-hero__subtitle {
  color: rgba(255, 255, 255, 0.9);
  font-size: var(--font-size-md);
  max-width: 560px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 0;
}


/* =============================================================
   Booking Intro
   Brief instructional copy above the iframe — tells visitors
   what to book here and where to go for other enquiries.
   ============================================================= */

.booking-intro {
  padding: var(--space-xl) 0 var(--space-lg);
}

/*
 * Constrain the intro text to a readable width on wide screens.
 * Centred to align with the section heading in the hero above.
 */
.booking-intro__inner {
  max-width: 680px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

/* Larger lead sentence — the primary instruction */
.booking-intro__lead {
  font-size: var(--font-size-md);
  color: var(--color-text);
  margin-bottom: var(--space-sm);
}

/* Secondary note pointing workshops/parties to the contact page */
.booking-intro__note {
  color: var(--color-text-muted);
  margin-bottom: 0;
}

/* Inline link to the contact page */
.booking-intro__contact-link {
  color: var(--color-primary);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color var(--transition);
}

.booking-intro__contact-link:hover,
.booking-intro__contact-link:focus-visible {
  color: var(--color-primary-dark);
  outline: none;
}


/* =============================================================
   Booking Embed
   Section that contains the Bookwhen iframe and the fallback link.
   ============================================================= */

.booking-embed {
  padding-bottom: var(--space-lg);
}

/*
 * Wrapper around the Bookwhen embed widget.
 * Provides a subtle card appearance so the embed looks
 * intentional rather than a raw block dropped into the page.
 */
.booking-embed__wrapper {
  background-color: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
  overflow: hidden; /* Clip widget corners to match the border radius */
}

/* Small fallback link below the iframe */
.booking-embed__fallback {
  margin-top: var(--space-sm);
  font-size: var(--font-size-sm);
  color: var(--color-text-muted);
  text-align: center;
}

.booking-embed__fallback-link {
  color: var(--color-primary);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color var(--transition);
}

.booking-embed__fallback-link:hover,
.booking-embed__fallback-link:focus-visible {
  color: var(--color-primary-dark);
  outline: none;
}


/* No breakpoint overrides needed — the Bookwhen embed widget
   manages its own height and reflows responsively. */
