/* Reservation form uses the vendor palette: ink page, cream card, gold edge. */
#main > .page { padding: 0; }
#main .hero-cover,
#main .home-feature {
  width: 100%;
  margin: 0;
}
#main .hero-cover img,
#main .feature-image.crop-background {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  border: 0;
  outline: 0;
  object-fit: cover;
}
#main .hero-cover img { position: static; }
#main .page h1 { color: #f7f7f2; }
:is(#booking-app,#tour-app) { color: #12333c; color-scheme: light; }
:is(#booking-app,#tour-app) .book-card {
  background: #f0eee7;
  color: #12333c;
  border: 0;
  border-top: 5px solid #d1aa5d;
  border-radius: 0;
  box-shadow: none;
  max-width: none;
  margin: 28px 0 0;
  padding: clamp(22px, 4vw, 40px);
}
:is(#booking-app,#tour-app) .book-card p,
:is(#booking-app,#tour-app) .book-card label,
:is(#booking-app,#tour-app) .book-card h2,
:is(#booking-app,#tour-app) .book-card h3,
:is(#booking-app,#tour-app) .book-card dt,
:is(#booking-app,#tour-app) .book-card dd,
:is(#booking-app,#tour-app) .book-card li { color: #12333c; }
:is(#booking-app,#tour-app) .check {
  display: flex;
  align-items: center;
  gap: .65rem;
}
:is(#booking-app,#tour-app) .check input {
  width: 1.15rem;
  height: 1.15rem;
  min-width: 1.15rem;
  min-height: 1.15rem;
  margin: 0;
  flex: 0 0 auto;
  accent-color: #0a5449;
}
:is(#booking-app,#tour-app) label { font-weight: 600; }
:is(#booking-app,#tour-app) .req { color: #a33; }
:is(#booking-app,#tour-app) input,
:is(#booking-app,#tour-app) select,
:is(#booking-app,#tour-app) textarea,
:is(#booking-app,#tour-app) .cc-btn {
  background: #f8f5e9;
  color: #16343e;
  border: 1px solid #c9c5b6;
  border-radius: 0;
  min-height: 48px;
}
:is(#booking-app,#tour-app) .hint,
:is(#booking-app,#tour-app) .cal-status,
:is(#booking-app,#tour-app) .cal-hint,
:is(#booking-app,#tour-app) .name-id,
:is(#booking-app,#tour-app) .cc-name,
:is(#booking-app,#tour-app) .cc-empty { color: #576564; }
:is(#booking-app,#tour-app) .name-id,
:is(#booking-app,#tour-app) .review-block,
:is(#booking-app,#tour-app) .terms-box,
:is(#booking-app,#tour-app) .extra-box {
  background: #e7e3d5;
  border: 1px solid #d5d0be;
  border-radius: 0;
  color: #12333c;
}
:is(#booking-app,#tour-app) .cal {
  background: #f8f5e9;
  border: 1px solid #c9c5b6;
  border-radius: 0;
  color: #12333c;
}
:is(#booking-app,#tour-app) .cal thead th,
:is(#booking-app,#tour-app) .cal p { color: #576564; }
:is(#booking-app,#tour-app) .cal button { color: #16343e; background: transparent; }
:is(#booking-app,#tour-app) .cal button.day:disabled { color: #b7b3a6; }
:is(#booking-app,#tour-app) .cal button.day.sel,
:is(#booking-app,#tour-app) .slot.sel {
  background: #0b2028;
  color: #f7f7f2;
  border-color: #0b2028;
}
:is(#booking-app,#tour-app) .slot {
  background: #f8f5e9;
  color: #16343e;
  border: 1px solid #c9c5b6;
  border-radius: 0;
}
#tour-app .slots { grid-template-columns: 1fr; max-width: 220px; }
#tour-app .slot { display: flex; flex-direction: column; align-items: flex-start; gap: .15rem; line-height: 1.35; }
#tour-app .slot strong, #tour-app .slot span { display: block; }
:is(#booking-app,#tour-app) .stepper {
  background: #f8f5e9;
  border: 1px solid #c9c5b6;
  border-radius: 0;
}
:is(#booking-app,#tour-app) .stepper button,
:is(#booking-app,#tour-app) .stepper input { color: #16343e; background: transparent; }
:is(#booking-app,#tour-app) .btn {
  background: #d1aa5d;
  color: #0b2028;
  border: 1px solid #d1aa5d;
  border-radius: 0;
}
:is(#booking-app,#tour-app) .btn:hover { background: #e1bb71; }
:is(#booking-app,#tour-app) .btn.outline {
  background: transparent;
  color: #12333c;
  border: 1px solid #d1aa5d;
}
:is(#booking-app,#tour-app) .actions {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.25rem;
}
:is(#booking-app,#tour-app) .actions .btn,
:is(#booking-app,#tour-app) .actions .btn.lg {
  min-width: 8.5rem;
  min-height: 48px;
  padding: .7rem 1.6rem;
  font-size: 1rem;
}
:is(#booking-app,#tour-app) .cc-pop { background: #f8f5e9; border: 1px solid #c9c5b6; border-radius: 0; }
:is(#booking-app,#tour-app) .cc-list button { color: #16343e; background: transparent; border-radius: 0; }
:is(#booking-app,#tour-app) .cc-list button[aria-selected="true"],
:is(#booking-app,#tour-app) .cc-list button:hover { background: #e7e3d5; }
:is(#booking-app,#tour-app) .alert,
:is(#booking-app,#tour-app) .err-box { color: #6e2424; background: #f6ece6; border-color: #a33; }
.grecaptcha-badge { visibility: hidden !important; }
:is(#booking-app,#tour-app) .recaptcha-note {
  margin: 1rem auto 0;
  max-width: 36rem;
  font-size: 12px;
  line-height: 1.5;
  text-align: center;
  color: #576564;
}
:is(#booking-app,#tour-app) .recaptcha-note a { color: #0a5449; text-decoration: underline; }
