/* Booking page: keep all styling scoped to page-specific Gutenberg classes. */
.glam-booking-page {
  --booking-ink: var(--wp--preset--color--ink);
  --booking-muted: var(--wp--preset--color--muted);
  --booking-paper: var(--wp--preset--color--paper);
  --booking-cream: var(--wp--preset--color--cream);
  --booking-line: var(--wp--preset--color--line);
  --booking-mint: var(--wp--preset--color--mint);
  box-sizing: border-box;
  width: 100%;
  margin: 0;
  padding: 0 0 clamp(2rem, 4vw, 3.5rem);
  color: var(--booking-ink);
  font-family: var(--wp--preset--font-family--body);
}
.page-id-2162 .glam-main { padding: 0; }
.page-id-2162 .glam-main .wp-block-post-content > .glam-booking-hero {
  max-width: none;
  margin-inline: 0;
}
.glam-booking-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  margin: 0;
  padding: 0 clamp(1rem, 3vw, 2rem);
  background:
    radial-gradient(ellipse at 0% 72%, rgb(198 228 222 / 46%) 0 10%, transparent 10.5%),
    linear-gradient(110deg, var(--booking-paper) 0%, #fbfaf7 46%, #eef7f6 100%);
}
.glam-booking-hero::before {
  position: absolute;
  z-index: 1;
  top: 12%;
  left: max(1rem, calc((100vw - 1280px) / 2 + 1rem));
  width: clamp(52px, 8vw, 104px);
  height: clamp(110px, 18vw, 200px);
  background: url("../images/footer-botanical.svg") center / contain no-repeat;
  content: "";
  opacity: .55;
  pointer-events: none;
}
.glam-booking-hero__columns {
  position: relative;
  z-index: 2;
  width: min(100%, 1280px);
  margin: 0 auto;
  align-items: center;
  gap: clamp(1.25rem, 3vw, 3rem);
}
.glam-booking-hero__copy {
  flex-basis: 43%;
  padding: clamp(.25rem, 2vw, 1.5rem) 0;
}
.glam-booking-page__eyebrow,
.glam-booking-panel__eyebrow {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 0 .85rem;
  color: var(--booking-ink);
  font-family: var(--wp--preset--font-family--body);
  font-size: var(--wp--preset--font-size--x-small);
  font-weight: 600;
  letter-spacing: .2em;
  line-height: 1.55;
  text-transform: uppercase;
}
.glam-booking-page__eyebrow::after,
.glam-booking-panel__eyebrow::after {
  display: block;
  width: 42px;
  height: 1px;
  flex: 0 0 42px;
  background: var(--booking-line);
  content: "";
}
.glam-booking-page__title {
  max-width: 620px;
  margin: 0;
  color: var(--booking-ink);
  font-family: var(--wp--preset--font-family--heading);
  font-size: clamp(2.2rem, 4vw, 3.1rem);
  font-weight: 400;
  line-height: 1.04;
  letter-spacing: -.035em;
}
.glam-booking-page__lead {
  max-width: 470px;
  margin: 1rem 0 0;
  color: var(--booking-muted);
  font-size: clamp(1rem, 1.45vw, 1.125rem);
  line-height: 1.65;
}
.glam-booking-hero__image-column {
  position: relative;
  flex-basis: 57%;
  min-width: 0;
  margin: 0;
}
.glam-booking-hero__image-column::after {
  position: absolute;
  inset: 0 auto 0 0;
  width: 43%;
  background: linear-gradient(90deg, rgb(255 254 252 / 94%), rgb(255 254 252 / 0%));
  content: "";
  pointer-events: none;
}
.glam-booking-hero__photo {
  margin: 0;
  overflow: hidden;
  border-radius: 14px 0 0 14px;
}
.glam-booking-hero__photo img {
  display: block;
  width: 100%;
  height: clamp(260px, 20vw, 290px);
  object-fit: cover;
  object-position: 56% 48%;
}
.glam-booking-panel {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: minmax(220px, 25%) minmax(0, 1fr);
  gap: clamp(1.15rem, 2.5vw, 2rem);
  box-sizing: border-box;
  width: min(calc(100% - 2rem), 1280px);
  margin: -1rem auto 0;
  padding: clamp(1rem, 2.2vw, 1.75rem);
  border: 1px solid rgb(228 226 221 / 72%);
  border-radius: 16px;
  background: var(--booking-paper);
  box-shadow: 0 14px 44px rgb(24 33 57 / 8%);
}
.glam-booking-panel__sidebar {
  min-width: 0;
  padding: .15rem 0;
}
.glam-booking-panel__eyebrow { margin-bottom: .8rem; }
.glam-booking-info__title { margin: 0 0 .65rem; font-size: clamp(1.65rem, 2vw, 2.15rem); }
.glam-booking-info__intro { margin: 0 0 1.15rem; color: var(--booking-muted); line-height: 1.6; }
.glam-booking-steps { display: grid; gap: 1rem; margin: 0; }
.glam-booking-step { display: grid; grid-template-columns: 2.25rem minmax(0, 1fr); align-items: start; gap: .7rem; margin: 0; }
.glam-booking-step__icon { display: grid; place-items: center; width: 2.15rem; height: 2.15rem; margin: .05rem 0 0; border: 1px solid var(--booking-mint); border-radius: 50%; color: var(--booking-ink); font-size: .82rem; }
.glam-booking-step__copy { margin: 0; }
.glam-booking-step__copy strong { display: block; margin-bottom: .18rem; color: var(--booking-ink); font-weight: 600; }
.glam-booking-step__copy span { display: block; color: var(--booking-muted); font-size: .88rem; line-height: 1.5; }
.glam-booking-help__detail a:focus-visible,
.glam-booking-help__button a:focus-visible,
.glam-booking-page__fallback a:focus-visible { outline: 2px solid var(--booking-ink); outline-offset: 3px; }
.glam-booking-help {
  margin-top: clamp(1.25rem, 2.5vw, 2rem);
  padding: 1.15rem 1rem 1rem;
  border-top: 1px solid var(--booking-line);
  background: linear-gradient(145deg, rgb(247 244 239 / 60%), transparent 78%);
}
.glam-booking-help__eyebrow { margin-bottom: .8rem; }
.glam-booking-help__detail {
  margin: .35rem 0;
  color: var(--booking-muted);
  font-size: .9rem;
  line-height: 1.5;
}
.glam-booking-help__detail a { color: inherit; text-decoration-color: var(--booking-line); text-underline-offset: .15em; }
.glam-booking-help__button { margin: .95rem 0 0; }
.glam-booking-help__button a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .7rem;
  min-height: 44px;
  width: 100%;
  box-sizing: border-box;
  padding: .65rem 1rem;
  border-radius: 999px;
  background: var(--booking-mint);
  color: var(--booking-ink);
  font-size: .92rem;
  text-align: center;
  text-decoration: none;
  transition: filter .18s ease, transform .18s ease;
}
.glam-booking-help__button a::after { content: "→"; }
.glam-booking-help__button a:hover { filter: brightness(.97); transform: translateY(-1px); }
.glam-booking-main { min-width: 0; }
.glam-booking-embed {
  width: 100%;
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgb(228 226 221 / 75%);
  border-radius: 10px;
  background: var(--booking-paper);
  box-shadow: 0 3px 16px rgb(24 33 57 / 4%);
}
.glam-booking-embed iframe {
  display: block;
  width: 100%;
  height: 850px;
  min-height: 760px;
  border: 0;
  background: var(--booking-paper);
}
.glam-booking-page__fallback {
  margin: .85rem 0 0;
  color: var(--booking-muted);
  font-size: var(--wp--preset--font-size--small);
  text-align: right;
}
.glam-booking-page__fallback a {
  color: var(--booking-ink);
  text-decoration-color: var(--booking-mint);
  text-underline-offset: .2em;
}
@media (max-width: 900px) {
  .glam-booking-hero__columns { gap: 1rem; }
  .glam-booking-hero__copy { flex-basis: 48%; }
  .glam-booking-hero__image-column { flex-basis: 52%; }
  .glam-booking-page__title { font-size: clamp(2.4rem, 5.4vw, 3.4rem); }
  .glam-booking-panel { grid-template-columns: minmax(0, 1fr); margin-top: -1.8rem; }
  .glam-booking-main { order: 1; }
  .glam-booking-panel__sidebar { order: 2; }
  .glam-booking-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; }
  .glam-booking-step { grid-template-columns: 2rem minmax(0, 1fr); gap: .55rem; }
  .glam-booking-step__icon { width: 1.9rem; height: 1.9rem; }
  .glam-booking-help { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: .5rem 1rem; }
  .glam-booking-help__eyebrow { grid-column: 1 / -1; margin-bottom: .2rem; }
  .glam-booking-help__detail { margin: 0; }
  .glam-booking-help__button { margin: 0; }
  .glam-booking-help__button a { min-width: 180px; }
}
@media (max-width: 600px) {
  .glam-booking-hero { padding: 2rem 1rem 3rem; }
  .glam-booking-hero::before { left: .45rem; top: 9%; width: 48px; height: 112px; opacity: .35; }
  .glam-booking-hero__columns { flex-direction: column; align-items: stretch; gap: 1rem; }
  .glam-booking-hero__copy { flex-basis: auto; padding: .4rem .35rem 0; }
  .glam-booking-page__title { max-width: 14ch; font-size: clamp(2.5rem, 10vw, 3.25rem); }
  .glam-booking-page__lead { max-width: 35ch; margin-top: .8rem; font-size: 1rem; }
  .glam-booking-hero__image-column { flex-basis: auto; width: 100%; }
  .glam-booking-hero__image-column::after { width: 32%; }
  .glam-booking-hero__photo { border-radius: 12px; }
  .glam-booking-hero__photo img { height: clamp(190px, 58vw, 270px); object-position: 52% 48%; }
  .glam-booking-panel { width: calc(100% - 1rem); gap: 1rem; margin-top: -1.3rem; padding: .8rem; border-radius: 13px; }
  .glam-booking-panel__eyebrow { font-size: .72rem; }
  .glam-booking-info__title { font-size: 1.65rem; }
  .glam-booking-steps { grid-template-columns: minmax(0, 1fr); gap: .7rem; }
  .glam-booking-step__copy span { font-size: .86rem; }
  .glam-booking-help { display: block; margin-top: 1rem; padding: .95rem .5rem .3rem; }
  .glam-booking-help__eyebrow { margin-bottom: .7rem; }
  .glam-booking-help__detail { margin: .35rem 0; }
  .glam-booking-help__button { margin-top: .8rem; }
  .glam-booking-embed { border-radius: 8px; }
  .glam-booking-page__fallback { text-align: center; }
}
@media (max-width: 360px) {
  .glam-booking-hero { padding-inline: .8rem; }
  .glam-booking-page__title { font-size: 2.35rem; }
  .glam-booking-panel { width: calc(100% - .65rem); padding: .65rem; }
}
