.al-form { display: grid; gap: 14px; margin-top: 16px; }
.al-field { display: grid; gap: 5px; margin: 0; border: 0; padding: 0; min-width: 0; }
.al-field label, .al-field legend { font-weight: 700; font-size: .9rem; color: #2b3a46; padding: 0; }
.al-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.al-form input[type=text], .al-form input[type=tel], .al-form input[type=number], .al-form select {
	width: 100%; padding: 12px 14px; border: 1.5px solid #d3dce2; border-radius: 10px; font: inherit; font-size: 1rem; background: #fff; color: #13212e;
}
.al-form input:focus, .al-form select:focus { border-color: var(--accent-500, #1fa36b); outline: 3px solid color-mix(in srgb, var(--accent-500, #1fa36b) 25%, transparent); outline-offset: 0; }
.al-radios { display: flex; flex-wrap: wrap; gap: 8px 18px; }
.al-radios legend { width: 100%; margin-bottom: 4px; }
.al-radios label { font-weight: 500; display: flex; align-items: center; gap: 6px; cursor: pointer; }
.al-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.al-consent { display: flex; gap: 10px; align-items: flex-start; font-size: .85rem; color: #4a5863; cursor: pointer; }
.al-consent input { margin-top: 3px; width: 18px; height: 18px; flex: none; }
.al-error { background: #fdecea; color: #a4302a; border-radius: 10px; padding: 10px 12px; font-size: .9rem; margin: 0; }
.al-note { text-align: center; font-size: .8rem; color: #6b7883; margin: 0; }
.al-ok { text-align: center; padding: 20px 4px; outline: none; }
.al-ok-icon { width: 64px; height: 64px; margin: 0 auto 12px; border-radius: 50%; display: grid; place-items: center; background: var(--accent-500, #1fa36b); color: #fff; font-size: 2rem; font-weight: 800; }
.al-ok h3 { color: var(--brand-900, #0b2a4a); font-size: 1.4rem; }
.al-form .btn-block, .al-ok .btn-block { width: 100%; }
@media (max-width: 420px) { .al-row { grid-template-columns: 1fr; } }

.al-form [hidden], .al-ok [hidden], [hidden] { display: none !important; }
