:root {
  --book-navy:#0d2740;
  --book-blue:#197f9d;
  --book-sky:#61c7d6;
  --book-orange:#ef7b45;
  --book-cream:#fff7e9;
  --book-gold:#d6a84b;
  --book-ink:#173247;
  --book-muted:#607180;
  --book-line:rgba(13,39,64,.14);
  --book-shadow:0 22px 55px rgba(13,39,64,.13);
}

/*
 * v6.4.1 deliberately leaves the live hero and footer transition untouched.
 * This layer styles only the booking introduction and form controls.
 */
.booking-test-page .booking-page-intro {
  max-width:760px;
  margin:0 0 clamp(1.5rem,3vw,2.25rem);
}

.booking-test-page .booking-page-intro .eyebrow {
  display:inline-flex;
  margin:0;
  padding:.48rem .85rem;
  border-radius:999px;
  color:var(--book-blue);
  background:rgba(25,127,157,.09);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.booking-test-page .booking-page-intro h2 {
  margin:.7rem 0 .65rem;
  color:var(--book-navy);
  font-size:clamp(2rem,4vw,3.4rem);
  line-height:1.02;
  letter-spacing:-.04em;
}

.booking-test-page .booking-page-intro h2 span {
  color:var(--book-orange);
}

.booking-test-page .booking-page-intro p:last-child {
  max-width:680px;
  color:var(--book-muted);
}

/* One continuous, full-width form column in Studio-defined order. */
.booking-test-page .booking-form {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) !important;
  gap:1rem !important;
  width:100%;
  margin:0;
  padding:clamp(.85rem,2.5vw,1.5rem) !important;
  border:1px solid var(--book-line);
  border-radius:clamp(1.25rem,2.5vw,2rem);
  background:rgba(255,255,255,.96);
  box-shadow:var(--book-shadow);
}

.booking-test-page .booking-desktop-columns,
.booking-test-page .booking-desktop-column,
.booking-test-page .booking-desktop-row-grid {
  display:contents !important;
}

.booking-test-page .booking-field-group,
.booking-test-page .booking-form > .wide {
  grid-column:1 / -1;
  width:100%;
  min-width:0;
}

.booking-test-page .booking-field-group {
  margin:0;
  padding:clamp(.9rem,2vw,1.2rem) !important;
  border:1px solid rgba(13,39,64,.1);
  border-radius:clamp(1rem,2vw,1.4rem);
  background:linear-gradient(180deg,#fff,#fbfdfe);
}

.booking-test-page .booking-field-group > label,
.booking-test-page .booking-date-picker > label,
.booking-test-page .booking-fieldset > legend {
  color:var(--book-navy) !important;
  font-size:.98rem !important;
  font-weight:800 !important;
}

.booking-test-page .booking-field-group label,
.booking-test-page .booking-fieldset,
.booking-test-page .booking-date-picker,
.booking-test-page .booking-custom-select,
.booking-test-page .booking-choice-group {
  width:100%;
  min-width:0;
}

.booking-test-page .booking-field-group input:not([type="hidden"]):not([type="radio"]):not([type="checkbox"]),
.booking-test-page .booking-field-group select,
.booking-test-page .booking-field-group textarea,
.booking-test-page .booking-date-display,
.booking-test-page .booking-select-trigger {
  width:100% !important;
  max-width:none !important;
  border:1px solid rgba(13,39,64,.18) !important;
  background:#fff !important;
  color:var(--book-ink) !important;
  box-shadow:0 5px 15px rgba(13,39,64,.04) !important;
}

.booking-test-page .booking-field-group textarea {
  min-height:150px;
  resize:vertical;
}

.booking-test-page .booking-field-group input:focus,
.booking-test-page .booking-field-group select:focus,
.booking-test-page .booking-field-group textarea:focus,
.booking-test-page .booking-date-display:focus,
.booking-test-page .booking-select-trigger:focus-visible {
  border-color:var(--book-sky) !important;
  outline:0 !important;
  box-shadow:0 0 0 4px rgba(97,199,214,.2) !important;
}

.booking-test-page .booking-choice-group {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:.65rem;
}

.booking-test-page .booking-choice {
  width:100%;
  min-height:48px;
  padding:.85rem 1rem !important;
  border:1px solid rgba(13,39,64,.1) !important;
  border-radius:16px !important;
  background:var(--book-cream) !important;
}

.booking-test-page .booking-choice:has(input:checked) {
  border-color:var(--book-orange) !important;
  background:#fff3eb !important;
  box-shadow:0 0 0 3px rgba(239,123,69,.12);
}

.booking-test-page .booking-calendar-popover,
.booking-test-page .booking-select-menu {
  width:100%;
  border-color:var(--book-line) !important;
  box-shadow:var(--book-shadow) !important;
}

.booking-test-page .notice {
  border:1px solid currentColor;
  border-radius:18px !important;
}

.booking-test-page .booking-form button[type="submit"] {
  min-height:54px;
  padding:0 1.6rem !important;
  border:0 !important;
  border-radius:999px !important;
  color:#fff !important;
  background:linear-gradient(135deg,var(--book-orange),#f4a04f) !important;
  font-weight:800 !important;
  box-shadow:0 12px 25px rgba(239,123,69,.28) !important;
}

.booking-test-page .booking-form button[type="submit"]:hover {
  transform:translateY(-1px);
  box-shadow:0 16px 30px rgba(239,123,69,.34) !important;
}

@media (max-width:760px) {
  .booking-test-page .booking-form {
    padding:.7rem !important;
    border-radius:1.35rem;
  }

  .booking-test-page .booking-field-group {
    padding:.85rem !important;
    border-radius:1rem;
  }

  .booking-test-page .booking-form button[type="submit"] {
    width:100%;
  }
}

/* v6.4.2: shared questionnaire field language, booking introduction unchanged. */
.booking-test-page .booking-form {
  gap:1rem !important;
  padding:clamp(1rem,3vw,1.8rem) !important;
  border-radius:30px;
}

.booking-test-page .booking-field-group {
  padding:clamp(1rem,2.5vw,1.35rem) !important;
  border:1px solid rgba(13,39,64,.14);
  border-radius:20px;
  background:#fff;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}

.booking-test-page .booking-field-group:focus-within {
  border-color:rgba(57,159,173,.7);
  box-shadow:0 0 0 4px rgba(97,199,214,.2);
  transform:translateY(-1px);
}

.booking-test-page .booking-field-group > label,
.booking-test-page .booking-date-picker > label,
.booking-test-page .booking-fieldset > legend {
  display:grid;
  gap:.7rem;
  margin:0;
  color:var(--book-navy) !important;
  font-size:.98rem !important;
  font-weight:900 !important;
  line-height:1.45;
}

.booking-test-page .booking-field-group input:not([type="hidden"]):not([type="radio"]):not([type="checkbox"]),
.booking-test-page .booking-field-group textarea,
.booking-test-page .booking-date-display,
.booking-test-page .booking-select-trigger {
  min-height:48px;
  padding:.82rem .9rem !important;
  border:1px solid #cbdadd !important;
  border-radius:14px !important;
  box-shadow:none !important;
}

.booking-test-page .booking-date-display,
.booking-test-page .booking-select-trigger {
  padding-right:52px !important;
}

.booking-test-page .booking-choice-group { gap:.55rem; }
.booking-test-page .booking-choice {
  display:grid !important;
  grid-template-columns:22px minmax(0,1fr);
  align-items:start;
  gap:.7rem;
  min-height:48px;
  padding:.78rem .85rem !important;
  border:1px solid rgba(13,39,64,.14) !important;
  border-radius:14px !important;
  background:#f8fbfb !important;
}
.booking-test-page .booking-choice:hover {
  border-color:rgba(57,159,173,.55) !important;
  background:#eef9fb !important;
  transform:translateY(-1px);
}
.booking-test-page .booking-choice:has(input:checked) {
  border-color:rgba(233,97,35,.48) !important;
  background:#fff3eb !important;
}


/* v6.4.3: shared no-power option emphasis and open-field stacking. */
.booking-field-group { position:relative; z-index:1; }
.booking-field-group.has-open-select { z-index:40; }
.booking-select-option.is-power-warning { color:#ef6c2f; font-weight:800; }
.booking-select-option.is-power-warning:hover,
.booking-select-option.is-power-warning:focus-visible,
.booking-select-option.is-power-warning.is-selected { color:#fff; background:#ef6c2f; }
