/* Forms */
.form-grid{ display:grid; gap: clamp(12px, 2vw, 18px); }
.form-row{ display:grid; gap:12px; grid-template-columns: 1fr; }
@media(min-width: 720px){ .form-row.two{ grid-template-columns: 1fr 1fr; } }

label{ font-weight:600; color: var(--navy); }
.help{ color: var(--muted); font-size:.95rem; }

.input, .select, .textarea{
    width:100%; border:1px solid #e5e7eb; border-radius:12px;
    padding:.8rem .9rem; font: inherit; color:var(--ink); background:#fff;
    transition: border-color .15s ease, box-shadow .15s ease;
}
.input:focus, .select:focus, .textarea:focus{
    outline:none; border-color:#94e1dc; box-shadow: 0 0 0 3px rgba(32,198,183,.2);
}
.invalid{ border-color:#f97316; box-shadow: 0 0 0 3px rgba(249,115,22,.18); }
.error{ color:#b45309; background:#fff7ed; border:1px solid #fed7aa; padding:.6rem .8rem; border-radius:12px; }

.radio-group{ display:grid; gap:10px; }
.radio-card{
    display:flex; align-items:center; gap:.75rem; padding:.75rem .9rem;
    border:1px solid #e5e7eb; border-radius:12px; cursor:pointer; background:#fff;
}
.radio-card input{ accent-color: var(--teal); }

.rb-breadcrumb ol {
    display:flex; flex-wrap:wrap; gap:.4rem;
    padding:0; margin:0 0 1rem 0; list-style:none;
    font-size: clamp(.95rem, 2vw, 1.05rem);
}
.rb-breadcrumb li { margin:0; }
.rb-breadcrumb .sep { color:var(--muted); }
.rb-breadcrumb .is-done { color: var(--ink); font-weight:500; }
.rb-breadcrumb .is-active { color: var(--navy); font-weight:700; }
.rb-breadcrumb .is-next { color: var(--muted); font-weight:400; }

