/* Reusable input groups; semantic fieldsets and disclosure groups share one surface. */
.form-group{min-inline-size:0;display:block;margin:0 0 var(--form-group-gap);padding:var(--form-group-padding);border:1px solid var(--form-group-border);border-radius:var(--form-group-radius);background:var(--form-group-background);box-shadow:none}
.form-group>legend{float:left;width:100%;padding:0;margin:0 0 1rem;color:var(--form-group-heading);font-size:1.05rem;font-weight:700;line-height:1.4}
.form-group>.calc-fields{clear:both;margin:0;gap:1rem}
.form-group input,.form-group select{background:var(--form-group-input-background);border-color:var(--form-group-input-border)}
.form-group input:disabled,.form-group select:disabled{background:var(--soft);color:var(--muted)}
.form-group>summary{color:var(--form-group-heading);font-size:1.05rem;line-height:1.4}
.form-group[open]>summary{margin-bottom:1rem}
.form-group[open]>.calc-fields{margin-top:1rem}
.form-group .visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.personal-calculator [role=tabpanel]{padding-bottom:0}
.personal-calculator [role=tabpanel]>p{margin-bottom:var(--form-group-gap)}
.form-group.calc-rider-inputs{border:1px solid var(--form-group-border)}
@media(max-width:48rem){
 .form-group{padding:var(--form-group-padding-mobile);margin-bottom:var(--form-group-gap-mobile)}
 .form-group>.calc-fields{grid-template-columns:minmax(0,1fr)}
 .personal-calculator [role=tabpanel]>p{margin-bottom:var(--form-group-gap-mobile)}
}
