/* Shared birth fields: readable native controls and no sideways form scrolling. */
.form-card,.result-card,.date-field,.date-grid>div,.time-grid>div,.row>.field{min-width:0}
.time-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.form-card .check input{width:22px;height:22px;min-height:22px;padding:0;flex:0 0 22px;accent-color:#ad352e}
.form-card .check{display:flex;min-height:44px;align-items:center;cursor:pointer}
.form-card .time-heading{flex-wrap:wrap;align-items:center}
.form-card .time-heading .check{margin:0 0 10px}
.result-card,.form-card input,.form-card select,.form-card textarea{scroll-margin-top:calc(var(--site-nav-height) + 24px)}
.form-card :is(input,select,textarea):focus-visible{outline:3px solid #b8945d;outline-offset:2px}
.form-card .segments button{touch-action:manipulation}
.form-card{padding:22px;scroll-margin-top:calc(var(--site-nav-height) + 12px)}
.form-card .card-title{font-size:22px;margin-bottom:12px}
.form-card .field,.form-card .date-field{margin-bottom:12px}
.form-card .field label,.form-card .field-title{margin-bottom:6px}
.form-card .birth-name{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px}
.form-card .birth-name label{margin:0;font-size:14px}
.form-card .date-field>legend{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.form-card .time-heading .field-title,.form-card .time-heading .check{margin-bottom:4px}
.form-card .time-heading .check{font-size:14px}
.form-card .time-grid+.muted{display:none}
.form-card .date-grid{grid-template-columns:minmax(0,1.2fr) repeat(2,minmax(0,1fr));gap:8px}
.form-card .date-grid>div:first-child{grid-column:auto}
.form-card .time-grid{grid-template-columns:1.15fr 1fr 1fr;gap:8px}
.form-card .row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.form-card .segments{padding:2px}
.form-card .segments button{min-height:44px}
.form-card .date-grid label,.form-card .time-grid label{margin-bottom:5px}
.form-card input:not([type=checkbox]),.form-card select{min-height:46px;padding-inline:8px;font-size:16px}
.form-card .check:not(.inline){margin:0 0 8px}
@media(max-width:800px){
 .grid{grid-template-columns:minmax(0,1fr);gap:20px;padding-inline:16px}
 .form-card,.result-card{padding:18px 16px}
 .form-card input:not([type=checkbox]),.form-card select,.form-card textarea,.paid-content input:not([type=checkbox]),.paid-content select,.paid-content textarea{font-size:16px;min-height:46px;max-width:100%;width:100%}
 .form-card .segments button{min-height:44px;font-size:15px}
 .form-card .field label,.form-card .field-title,.date-field legend{font-size:14px}
 .form-card .date-grid label,.form-card .time-grid label{font-size:14px}
 .form-card .submit{min-height:50px;width:100%;font-size:16px;line-height:1.5;padding:12px;white-space:normal}
 .form-card .submit span{margin-left:8px}
 .form-card .muted{font-size:14px;line-height:1.7}
 .intake-heading{align-items:flex-start;flex-direction:column;gap:12px}
 .selected-menu{max-width:100%;white-space:normal;line-height:1.5}
 .paid-shell{grid-template-columns:minmax(0,1fr)}
 .paid-content{min-width:0;padding:24px 20px}
 .paid-fields label,.paid-question,.paid-payer,.paid-consent{font-size:14px}
 .paid-consent{align-items:flex-start;gap:10px!important;line-height:1.8}
 .paid-check input{width:22px;height:22px;min-height:22px;flex:0 0 22px;margin-top:2px;accent-color:#ad352e}
 .paid-submit{min-height:54px;font-size:16px}
 .paid-fine,.paid-summary small{font-size:13px;line-height:1.7}
 .pair-form-guide button{min-height:44px;line-height:1.5}
}
@media(max-width:600px){
 .form-card .date-grid{grid-template-columns:minmax(0,1.2fr) repeat(2,minmax(0,1fr));gap:8px}
 .form-card .time-grid{grid-template-columns:1.15fr 1fr 1fr;gap:8px}
 .form-card .date-grid>div:first-child,.form-card .time-grid>div:first-child{grid-column:auto}
 .form-card .row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .form-card .time-heading{gap:0 12px}
 .form-card .check.inline{font-size:14px;white-space:normal}
 .partner-birth-fields legend{font-size:22px;max-width:100%}
 .reading-links{grid-template-columns:minmax(0,1fr)}
 .reading-links a{display:flex;align-items:center;min-height:48px;font-size:14px}
 .paid-order{padding-inline:16px}
 .paid-heading{padding:26px 20px}
 .paid-progress{gap:6px}
 .paid-progress span{padding:7px 8px}
}
@media(max-width:360px){
 .grid{padding-inline:12px}
 .form-card,.result-card{padding:16px 14px}
 .paid-order{padding-inline:12px}
}
