/* =========================================
   WBMP Layout – global + service layout
   (hero, columns, sticky sidebar, mobile order)
   ========================================= */

/* Global mobile padding helper */
@media only screen and (max-width: 600px) {
  .wp-block-group {
    padding-left: .7rem;
    padding-right: .7rem;
  }
}

/* === WBMP: service page v4 (wide hero, no thumb, tidy booking) === */

/* Wide-screen hero at top */
.wbmp-page-hero {
  display: flex;
  justify-content: center;
}

.wbmp-page-hero .wbmp-hero {
  display: block;
  width: 50%;
  max-width: 900px;
  margin: 0 auto;
  aspect-ratio: auto !important;
  max-height: none !important;
  overflow: visible;
}

.wbmp-page-hero .wbmp-hero img {
  display: block;
  width: 100%;
  height: auto !important;
  object-fit: contain;
  border-radius: 12px;
}

/* Sticky booking card with compact spacing */
.wbmp-sticky-sidebar {
  position: sticky;
  top: clamp(24px, 7vw, 96px);
  align-self: flex-start;
}

@media (max-width: 781px) {
  .wbmp-sticky-sidebar {
    position: static;
  }
}

/* Booking card heading + iframe layout */
.wbmp-booking-card .wp-block-heading {
  margin-top: 0;
  margin-bottom: var(--wp--preset--spacing--20);
}

/* Let shortcode control iframe start height via [wbmp_booking min_h="..."] */
.wbmp-booking-card iframe {
  display: block;
  width: 100%;
  border: 0;
  border-radius: 8px;
}

/* Sidebar booking card: trim vertical rhythm and subhead spacing */
.wbmp-booking-card .wp-block-heading {
  margin: 0 0 .5rem;
}

/* Columns band side padding helper (matches template class) */
.wbmp-main-columns {
  padding-left: var(--wp--preset--spacing--40);
  padding-right: var(--wp--preset--spacing--40);
}

@media (max-width: 781px) {
  .wbmp-main-columns {
    padding-left: var(--wp--preset--spacing--30);
    padding-right: var(--wp--preset--spacing--30);
  }
}

/* === WBMP: tighten content ↔ sidebar gap on service template === */
.wbmp-main-columns {
  gap: var(--wp--preset--spacing--30);
  column-gap: var(--wp--preset--spacing--30);
}

@media (min-width: 1200px) {
  .wbmp-main-columns {
    gap: var(--wp--preset--spacing--20);
    column-gap: var(--wp--preset--spacing--20);
  }
}

/* === WBMP: bring sidebar closer to center (60/40 on desktop) === */
@media (min-width: 1000px) {
  .wbmp-main-columns > .wp-block-column:nth-child(1) {
    flex-basis: 60% !important;
  }
  .wbmp-main-columns > .wp-block-column:nth-child(2) {
    flex-basis: 40% !important;
  }
}

/* === WBMP: Mobile order — show booking first above content on service page === */
@media (max-width: 781px) {
  /* Reverse column order on the service template */
  .wbmp-main-columns > .wp-block-column:nth-child(1) {
    order: 2;
  }
  .wbmp-main-columns > .wp-block-column:nth-child(2) {
    order: 1;
  }

  /* Space below booking card when it appears first */
  .wbmp-sticky-sidebar {
    margin-bottom: var(--wp--preset--spacing--30);
  }
}