/* Booking page refinement. Loaded after the existing consultations styles. */
.consultation-page .consult-booking {
  background: var(--linen-pale);
  padding: 3.25rem 0 4.5rem;
  scroll-margin-top: calc(var(--nav-top, 38px) + 84px);
}
.consultation-page .section-header-cons {
  margin-bottom: 1.5rem;
}
.consultation-page .section-header-cons h2 {
  font-size: clamp(1.9rem, 3.4vw, 2.8rem);
}
.consultation-page .section-header-cons p {
  max-width: 34rem;
  margin: .65rem auto 0;
  font-size: .85rem;
  line-height: 1.55;
}
.consultation-page .cselector-copy {
  display: flex;
  flex-direction: column;
  text-align: left;
  line-height: 1.25;
}
.consultation-page .cselector-copy strong {
  font-size: .83rem;
  letter-spacing: .03em;
}
.consultation-page .cselector-copy small {
  margin-top: .22rem;
  font-size: .65rem;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
}
.consultation-page .consult-selector {
  flex-wrap: nowrap;
  margin-bottom: 1.15rem;
}
.consultation-page .cselector-btn {
  flex: 1 1 0;
  min-width: 0;
  border-radius: 12px;
  justify-content: flex-start;
  min-height: 72px;
  padding: .8rem 1.1rem;
  background: var(--white);
}
.consultation-page .cselector-btn.active { background: var(--pink); }
.consultation-page .cselector-btn:focus-visible,
.consultation-page .consult-hero-cta:focus-visible {
  outline: 3px solid var(--black);
  outline-offset: 3px;
}
.consultation-page .consult-card {
  scroll-margin-top: calc(var(--nav-top, 38px) + 84px);
}
.consultation-page .ccard-body-sub {
  max-width: 42rem;
  margin-bottom: 1.25rem;
}

@media (max-width: 700px) {
  .consultation-page #gcq-fab,
  .consultation-page #gcq-fab[data-gcq-visible="true"]:not([hidden]) {
    display: none !important;
  }
  .consultation-page .consult-hero {
    padding: calc(var(--nav-top, 38px) + 72px + 1.5rem) 1.2rem 2rem;
  }
  .consultation-page .consult-hero::before {
    background: radial-gradient(ellipse at 90% 25%, rgba(255,27,129,.18), transparent 64%);
  }
  .consultation-page .consult-hero-text {
    text-align: left;
  }
  .consultation-page .consult-hero-text .eyebrow {
    margin-bottom: .55rem;
    color: #f69abf;
    font-size: .59rem;
    letter-spacing: .2em;
  }
  .consultation-page .consult-hero-text h1 {
    max-width: 13ch;
    margin: 0;
    font-size: clamp(2.1rem, 8.1vw, 2.65rem);
    line-height: 1.05;
  }
  .consultation-page .consult-hero-text p {
    max-width: 30rem;
    margin: .85rem 0 0;
    color: rgba(255,255,255,.86);
    font-size: .82rem;
    line-height: 1.55;
  }
  .consultation-page .consult-hero-cta { display: none; }
  .consultation-page .consult-booking {
    padding: 1.5rem 0 3rem;
  }
  .consultation-page .consult-booking > .container {
    padding: 0 1rem;
  }
  .consultation-page .section-header-cons {
    text-align: left;
    margin-bottom: .95rem;
  }
  .consultation-page .section-header-cons .eyebrow {
    font-size: .58rem;
    letter-spacing: .18em;
    margin-bottom: .25rem;
  }
  .consultation-page .section-header-cons h2 {
    font-size: 1.7rem;
    line-height: 1.1;
  }
  .consultation-page .section-header-cons p {
    margin: .35rem 0 0;
    font-size: .72rem;
    line-height: 1.5;
  }
  .consultation-page .consult-selector {
    gap: .55rem;
    margin-bottom: .85rem;
  }
  .consultation-page .cselector-btn {
    gap: .5rem;
    min-height: 64px;
    padding: .65rem .75rem;
    font-size: .72rem;
    letter-spacing: 0;
    justify-content: flex-start;
  }
  .consultation-page .cselector-btn svg { width: 18px; height: 18px; }
  .consultation-page .cselector-copy strong { font-size: .75rem; }
  .consultation-page .cselector-copy small { font-size: .57rem; }
  .consultation-page .consult-card {
    border-radius: 12px;
    box-shadow: 0 5px 20px rgba(0,0,0,.05);
  }
  .consultation-page .ccard-header {
    padding: 1rem 1.1rem;
    gap: .5rem;
  }
  .consultation-page .ccard-header-icon { display: none; }
  .consultation-page .ccard-eyebrow {
    margin-bottom: .18rem;
    font-size: .53rem;
    letter-spacing: .15em;
  }
  .consultation-page .ccard-title {
    font-size: 1.2rem;
    line-height: 1.15;
  }
  .consultation-page .ccard-meta { flex-wrap: nowrap; }
  .consultation-page .ccard-meta-item {
    min-width: 0;
    padding: .65rem .9rem;
  }
  .consultation-page .ccard-meta-item:nth-child(3) { display: none; }
  .consultation-page .ccard-meta-label { font-size: .5rem; }
  .consultation-page .ccard-meta-val { font-size: .73rem; }
  .consultation-page .ccard-body { padding: 1rem .85rem 1.2rem; }
  .consultation-page .ccard-body-sub {
    font-size: .73rem;
    line-height: 1.55;
    margin: 0 0 .75rem;
  }
  .consultation-page .ccard-body iframe {
    min-height: 740px;
  }
}

@media (max-width: 370px) {
  .consultation-page .cselector-btn { padding: .6rem .5rem; gap: .32rem; }
  .consultation-page .cselector-copy strong { font-size: .7rem; }
  .consultation-page .cselector-copy small { font-size: .52rem; }
}
