/* Shared consultation and FAQ dialogs. Other forms and sections keep their styles. */
#question-dialog .dialog-close{position:absolute;top:16px;right:16px;margin:0;width:44px;height:44px;min-height:44px}
#question-dialog .eyebrow{min-height:28px;padding-right:48px;margin-bottom:12px;display:flex;align-items:center}
#question-dialog .eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:#d90000;margin-right:8px;flex-shrink:0}
#question-dialog h2{font-size:clamp(30px,4vw,40px);line-height:1.15;letter-spacing:-.045em}
#question-dialog h2 span{color:#d90000}
#question-dialog #booking-intro{margin-top:14px;font-size:16px;line-height:1.6}
#question-dialog .lead-form{gap:18px;margin-top:24px}
#question-dialog .field>input{background:#f5f5f5}
#question-dialog .field>input:focus-visible{outline:2px solid #d90000;outline-offset:3px}
#question-dialog .booking-phone-input{display:flex;align-items:center;gap:12px;min-height:56px;border:1px solid #666;border-radius:12px;padding:0 16px;background:#f5f5f5}
#question-dialog .booking-country-flag{display:block;flex:0 0 24px;width:24px;height:16px;border:1px solid #e8e8e8;border-radius:2px;overflow:hidden}
#question-dialog .booking-phone-input input{width:100%;min-width:0;min-height:54px;border:0;padding:14px 0;background:transparent;font:inherit;font-size:16px;line-height:1.4;color:#000}
#question-dialog .booking-phone-input:focus-within{outline:2px solid #d90000;outline-offset:3px}
#question-dialog .booking-phone-input input:focus-visible{outline:none}
#question-dialog .booking-phone-input:has(input[aria-invalid=true]){border:2px solid #d90000}
#question-dialog .booking-submit{min-height:56px;background:#d90000;border-color:#d90000;color:#fff;box-shadow:0 6px 18px rgb(217 0 0 / .12)}
#question-dialog .booking-submit:hover{background:#000;border-color:#000}
#question-dialog .booking-submit:disabled{background:#d90000;border-color:#d90000;color:#fff;opacity:1;cursor:wait}
#question-dialog .consent a{color:#d90000;text-decoration-color:#d90000}
#question-dialog .consent input[aria-invalid=true]{outline:2px solid #d90000;outline-offset:2px}
#question-dialog .booking-medical{margin-top:20px;padding-top:16px}
@media(max-width:767px){
 #question-dialog{padding:24px;max-width:calc(100% - 24px);max-height:calc(100dvh - 24px)}
 #question-dialog .dialog-close{top:12px;right:12px}
 #question-dialog .eyebrow{margin-bottom:12px}
 #question-dialog .lead-form{gap:16px;margin-top:20px}
 #question-dialog .consent{font-size:12px}
 #question-dialog>.booking-medical{font-size:12px!important;line-height:1.6}
}

/* Center the SVG itself, without button padding or inline-text baseline offsets. */
#question-dialog .dialog-close{display:grid;place-items:center;padding:0;line-height:0}
#question-dialog .dialog-close>[data-icon]{display:grid;place-items:center;width:24px;height:24px;line-height:0}
#question-dialog .dialog-close .icon{display:block;width:24px;height:24px;margin:0}
/* Extra field in the FAQ dialog; shared appearance comes from booking-form.css. */
#question-dialog .field>textarea{display:block;width:100%;min-height:96px;max-height:240px;resize:vertical;border:1px solid #666;border-radius:12px;padding:14px 16px;background:#f5f5f5;color:#000;font:inherit;font-size:16px;line-height:1.5}
#question-dialog .field>textarea::placeholder{color:#666}
#question-dialog .field>textarea:focus-visible{outline:2px solid #d90000;outline-offset:3px}
#question-dialog .lead-form{margin-top:20px;gap:16px}
#question-dialog .question-intro{font-size:16px;line-height:1.5}
@media(max-width:767px){#question-dialog .lead-form{margin-top:18px;gap:14px}}

/* Keep the longer pediatric title clear of the close control. */
#question-dialog{box-sizing:border-box}
#question-dialog h2{font-size:34px;line-height:1.15;max-width:100%}
#question-dialog .field-error:empty{display:none}
#question-dialog .field:has(.field-error:empty){row-gap:6px}
#question-dialog .form-status:empty{display:none}
#question-dialog .form-status{font-size:14px;line-height:1.5;padding:12px;background:#fff1f1;border-radius:12px}
#question-dialog .booking-submit{width:100%}
@media(max-width:767px){
 #question-dialog{width:390px;padding:20px;border-radius:24px}
 #question-dialog .eyebrow{font-size:9px;min-height:24px;margin-bottom:10px}
 #question-dialog h2{font-size:28px;letter-spacing:-.04em}
 #question-dialog .lead-form{margin-top:16px;gap:12px}
 #question-dialog .field>label{font-size:14px}
 #question-dialog .field>input{min-height:48px;padding:11px 12px}
 #question-dialog .booking-phone-input{min-height:48px;padding-inline:12px}
 #question-dialog .booking-phone-input input{min-height:46px;padding-block:11px}
 #question-dialog .field>textarea{min-height:80px;padding:10px 12px}
 #question-dialog .booking-submit{min-height:48px;padding:12px 18px;font-size:15px}
 #question-dialog>.booking-medical{margin-top:14px;padding-top:12px}
}
