/* ==========================================================================
   Enquiry overlay — a full-screen layer over the page (never a page load).
   ========================================================================== */

.enq { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 16px; }
.enq[hidden] { display: none; }
.no-js .enq:target { display: grid !important; }
.enq__backdrop { position: absolute; inset: 0; background: rgba(0, 0, 0, .62); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
.enq__panel {
	position: relative; width: min(640px, 100%); max-height: calc(100svh - 32px); overflow: auto;
	padding: 44px 28px 32px;
	border-radius: var(--r-lg);
	background: radial-gradient(120% 80% at 100% 0%, rgba(171, 119, 57, .22), transparent 60%), rgba(14, 12, 10, .92);
	border: 1px solid rgba(255, 255, 255, .08);
	overscroll-behavior: contain;
}
@media (max-width: 599px) {
	.enq { padding: 0; place-items: end stretch; }
	.enq__panel { width: 100%; max-height: 94svh; border-radius: var(--r-lg) var(--r-lg) 0 0; padding: 40px 20px calc(24px + env(safe-area-inset-bottom)); }
}
.enq__close { position: absolute; top: 14px; right: 14px; width: 40px; height: 40px; border-radius: 50%; }
.enq__close span { position: absolute; left: 11px; top: 19px; width: 18px; height: 1px; background: #fff; transform: rotate(45deg); }
.enq__close span + span { transform: rotate(-45deg); }
.enq__close:hover { background: rgba(255, 255, 255, .08); }
.enq__progress { position: absolute; left: 0; right: 0; top: 0; height: 3px; background: rgba(255, 255, 255, .08); }
.enq__progress span { display: block; height: 100%; width: 100%; background: var(--bll-gold); transform: scaleX(.5); transform-origin: left; transition: transform 600ms var(--ease-out); }

.enq__step { display: none; }
.enq__step.is-active { display: block; }
.enq__title { margin: 16px 0 8px; font-size: clamp(26px, 5vw, 36px); line-height: 1.1; font-weight: 300; letter-spacing: -.01em; }
.enq__lede { color: rgba(245, 245, 245, .75); font-size: 15px; margin-bottom: 18px; }
.enq__hp { position: absolute; left: -9999px; }

.field { display: block; margin-top: 18px; }
.field__label { display: block; margin-bottom: 8px; font-size: 13px; color: rgba(245, 245, 245, .7); }
.field input[type="text"], .field input[type="email"], .field input[type="tel"] {
	width: 100%; height: 54px; padding: 0 16px;
	border-radius: var(--r-sm); border: 1px solid rgba(255, 255, 255, .14);
	background: rgba(255, 255, 255, .05); color: #fff;
	font: 300 16px/1 var(--bll-font);
	transition: border-color var(--dur-base), background-color var(--dur-base);
}
.field input::placeholder { color: rgba(255, 255, 255, .35); }
.field input:focus { outline: none; border-color: var(--bll-gold); background: rgba(171, 119, 57, .08); }
.field input[aria-invalid="true"] { border-color: #e0786a; }
.vehicles { display: grid; gap: 10px; }
.link-btn { margin-top: 10px; color: var(--bll-gold); font-size: 14px; }
.link-btn:hover { color: var(--bll-gold-hi); }
.opts { display: flex; flex-wrap: wrap; gap: 8px; }
.opt { position: relative; }
.opt input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.opt span { display: inline-flex; align-items: center; height: 42px; padding: 0 16px; border-radius: var(--r-sm); background: var(--bll-glass-soft); border: 1px solid transparent; font-size: 14px; transition: background-color var(--dur-base), border-color var(--dur-base); }
.opt input:checked + span { background: var(--bll-gold-40); border-color: var(--bll-gold); }
.opt input:focus-visible + span { outline: 2px solid var(--bll-gold); outline-offset: 2px; }
.enq__error { min-height: 20px; margin-top: 12px; color: #f0a093; font-size: 14px; }
.enq__nav { display: flex; gap: 12px; justify-content: flex-end; margin-top: 8px; }
.enq__nav .btn { min-width: 150px; }
.enq__done .contact { margin: 6px 0 22px; }
.enq__done .enq__nav { justify-content: flex-start; }
.btn.is-loading { pointer-events: none; opacity: .7; }

html.enq-open, html.enq-open body { overflow: hidden; }
