/* modal.css: popups (enquiry now, brochure later). Uses variables only. */
html.modal-open, html.modal-open body { overflow: hidden; }
.modal { position: fixed; inset: 0; z-index: var(--z-modal); display: flex; align-items: center; justify-content: center; padding: var(--space-4); }
.modal[hidden] { display: none; }
.modal-backdrop { position: absolute; inset: 0; background: rgba(14, 12, 9, 0.6); }
.modal-panel { position: relative; width: 100%; max-width: 460px; max-height: calc(100vh - 2rem); max-height: calc(100dvh - 2rem); overflow-y: auto; padding: var(--space-6) var(--space-5) var(--space-5); background: var(--white); border-top: 3px solid var(--gold); border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); animation: modal-in 240ms var(--ease); }
@keyframes modal-in { from { transform: translateY(14px); } }
.modal-close { position: absolute; top: var(--space-2); right: var(--space-2); display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; background: transparent; border: 0; border-radius: var(--radius-md); color: var(--ink); cursor: pointer; }
.modal-close:hover { background: var(--off-white); }
.modal-title { margin-bottom: var(--space-2); font-size: var(--fs-xl); }
.modal-lead { margin-bottom: var(--space-5); color: var(--ink-muted); }
.lead-form .btn { width: 100%; }
.consent-wrap .field-error { display: none; margin: calc(var(--space-2) * -1) 0 var(--space-4); }
.consent-wrap.has-error .field-error { display: block; }
.modal-success { text-align: center; padding: var(--space-4) 0 var(--space-2); }
.modal-success-icon { display: flex; align-items: center; justify-content: center; width: 64px; height: 64px; margin: 0 auto var(--space-4); background: var(--success-tint); border-radius: var(--radius-pill); color: var(--success); }
.modal-success .btn { width: auto; margin-top: var(--space-3); }
@media (min-width: 640px) { .modal-panel { padding: var(--space-7) var(--space-6) var(--space-6); } }
.modal-actions { display: flex; flex-wrap: wrap; gap: var(--space-3); justify-content: center; }
.modal-actions .btn { width: auto; margin-top: 0; }
.modal-actions [hidden] { display: none; }
