/* Right-edge enquiry, shared across all pages; mobile uses the full viewport. */
.enquiry-drawer { position: fixed; inset: 0 0 0 auto; margin: 0; padding: 0; border: 0; width: min(680px, 100%); max-width: 100%; height: 100dvh; max-height: 100dvh; background: var(--paper); color: var(--ink); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: var(--muted) var(--paper); }
.enquiry-drawer::backdrop { background: rgb(18 28 22 / .48); }
.drawer-bar { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: 18px 24px; background: var(--paper); border-bottom: 1px solid var(--line); }
.drawer-bar img { width: 120px; height: auto; }
.drawer-close { display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid var(--line); background: transparent; color: var(--ink); }
.drawer-close:hover { background: var(--sand); }
.drawer-content { padding: 32px 24px max(40px, env(safe-area-inset-bottom)); }
.enquiry-drawer h2 { font: 400 clamp(2.25rem, 4vw, 3rem)/1.06 var(--serif); letter-spacing: -.02em; }
.enquiry-drawer .form-intro { margin-top: 1.25rem; }
.enquiry-drawer .enquiry-group { margin-bottom: 2rem; }
.enquiry-drawer .form-grid { grid-template-columns: minmax(0,1fr); }
.enquiry-drawer .stay-fields { grid-template-columns: repeat(2,minmax(0,1fr)); }
.enquiry-drawer .full { grid-column: 1 / -1; }
.enquiry-drawer input[type=date] { padding-inline: .65rem; }
.enquiry-drawer :focus-visible { outline: 2px solid var(--olive); outline-offset: 4px; }
.enquiry-drawer [id] { scroll-margin-top: 110px; }
@media(min-width:40rem) { .drawer-bar { padding: 20px 48px; } .drawer-content { padding: 40px 48px 56px; } .enquiry-drawer .form-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media print { .enquiry-drawer { display: none !important; } }

/* A complete editorial closing state replaces the form introduction after delivery. */
.enquiry-drawer.is-success .enquiry-form-section > h2,
.enquiry-drawer.is-success .enquiry-form-section > .form-intro { display: none; }
.enquiry-drawer.is-success .drawer-content { padding-top: 28px; }
.success-image { margin: 0 0 32px; }
.success-image img { width: 100%; height: auto; aspect-ratio: 16/9; object-fit: cover; display: block; }
.success-copy { max-width: 34rem; }
.enquiry-success h3 { font: 400 clamp(2.75rem, 5vw, 3.75rem)/1.02 var(--serif); letter-spacing: -.025em; margin: 0 0 24px; }
.enquiry-success h3:focus { outline: none; }
.enquiry-success p { font: 1rem/1.65 var(--sans); color: var(--muted); margin: 0 0 14px; max-width: 44ch; }
.enquiry-success .success-lead { color: var(--ink); }
.enquiry-success .button { margin-block: 18px 26px; }
.enquiry-success .success-note { font-size: .8125rem; line-height: 1.6; border-top: 1px solid var(--line); padding-top: 22px; }
@media(max-width:39.99rem) { .success-image { margin-bottom: 28px; } .enquiry-success .button { width: 100%; } }

/* Give iOS date controls a full row instead of squeezing two native fields together. */
.enquiry-drawer input[type="date"] { display: block; box-sizing: border-box; width: 100%; min-width: 0; max-width: 100%; min-inline-size: 0; -webkit-appearance: none; appearance: none; }
.enquiry-drawer input[type="date"]::-webkit-date-and-time-value { min-width: 0; text-align: left; }
.enquiry-drawer input[type="date"]::-webkit-datetime-edit { min-width: 0; padding: 0; }
@media (max-width: 39.99rem) {
  .enquiry-drawer .stay-fields .date-field { grid-column: 1 / -1; }
  .enquiry-drawer input[type="date"] { min-height: 54px; font-size: 16px; }
  .drawer-content { padding-left: max(24px, env(safe-area-inset-left)); padding-right: max(24px, env(safe-area-inset-right)); }
}
