/* Shared contact layout for the homepage and hunting pages. */
.booking .page-section { padding: 96px 6%; max-width: 1500px; margin: 0 auto; }
.booking .section-heading { font-size: clamp(32px, 3.2vw, 48px); font-weight: 500; line-height: 1.12; letter-spacing: -.04em; text-wrap: balance; text-align: left; margin: 0; }
.booking .section-eyebrow { color: #bbbbb3; }
.booking { background: var(--ink); color: white; border-radius: var(--radius) var(--radius) 0 0; }
.booking-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8%; }
.booking .section-eyebrow { color: #bbbbb3; }
.booking-copy { margin: 26px 0 28px; color: #cdcec8; max-width: 400px; }
.contact-links { display: flex; flex-direction: column; gap: 18px; margin-top: 38px; }
.contact-links a { font-size: 22px; width: fit-content; max-width: 100%; overflow-wrap: anywhere; text-decoration: none; border-bottom: 1px solid #72756a; transition: border-color .25s, color .25s; }
.contact-links a:hover { color: var(--accent); border-color: var(--accent); }
.enquiry-form { display: grid; grid-template-columns: 1fr 1fr; gap: 22px 18px; }
.form-field { min-width: 0; }
.form-field label { display: block; font-size: 13px; margin-bottom: 10px; color: #dcded5; }
.form-field input, .form-field textarea { color-scheme: dark; display: block; width: 100%; min-height: 48px; border: 1px solid #56594f; border-radius: 10px; background: #272924; color: white; padding: 13px; }
.form-field textarea { resize: vertical; min-height: 120px; }
.form-wide { grid-column: 1 / -1; }
.form-submit { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.form-note, .form-status { font-size: 13px; line-height: 1.6; color: #bbbbb3; }
.form-status:empty { display: none; }

.form-field input, .form-field textarea, .form-field select { font: inherit; }
.form-field select { color-scheme: dark; width: 100%; min-height: 48px; border: 1px solid #56594f; border-radius: 10px; background: #272924; color: white; padding: 13px; }
@media (max-width: 1050px) {
  .booking .page-section { padding-top: 72px; padding-bottom: 72px; }
}
@media (max-width: 720px) {
  .booking .page-section { padding: 56px 6%; }
  .booking-grid { grid-template-columns: 1fr; gap: 35px; }
  .enquiry-form { gap: 20px 14px; }
  .contact-links { margin-top: 28px; }
  .contact-links a { font-size: 20px; }
}
@media (max-width: 380px) {
  .enquiry-form { grid-template-columns: 1fr; }
}
