/* Shared contact-form states: readable, responsive and accessible. */
form[data-contact-site] { min-width:0; }
form[data-contact-site] input,form[data-contact-site] textarea,form[data-contact-site] select { font-size:16px; }
form[data-contact-site] input:not([type=hidden]),form[data-contact-site] select { min-height:44px; }
form[data-contact-site] button[type=submit] { min-height:46px; cursor:pointer; }
form[data-contact-site] button:disabled { opacity:.65; cursor:default; transform:none; }
form[data-contact-site][aria-busy=true] button { cursor:wait; }
form[data-contact-site] input:focus-visible,form[data-contact-site] textarea:focus-visible,form[data-contact-site] select:focus-visible { outline:3px solid #278b8b; outline-offset:2px; }
.contact-feedback { margin-top:20px; padding:18px 20px; border:1px solid #b6c9d4; border-left:4px solid #315a73; border-radius:10px; background:#f2f7fa; color:#143348; font-size:15px; line-height:1.6; text-align:left; }
.contact-feedback[hidden] { display:none; }
.contact-feedback strong { display:block; font-size:17px; line-height:1.4; }
.contact-feedback ul { margin:10px 0 0; padding-left:20px; }
.contact-feedback li+li { margin-top:5px; }
.contact-feedback small { display:block; margin-top:12px; font-size:12px; overflow-wrap:anywhere; }
.contact-feedback[data-state=sent] { background:#eff9f4; border-color:#9ccab3; border-left-color:#26764c; color:#174c32; }
.contact-feedback[data-state=uncertain],.contact-feedback[data-state=blocked] { background:#fff8e8; border-color:#dec58f; border-left-color:#956612; color:#59400e; }
.contact-honey { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.contact-noscript { padding:14px; background:#fff8e8; color:#59400e; }
.contact-form[data-contact-site=yhere] { width:100%; max-width:640px; }
.contact-form[data-contact-site=yhere] .field { margin-bottom:24px; }
.contact-form[data-contact-site=yhere] label { color:#454545; font-size:13px; }
.contact-form[data-contact-site=yhere] textarea { min-height:180px; }
.contact-form[data-contact-site=yhere] input { height:auto; }
@media(max-width:560px) { .contact-feedback { padding:16px; } }
form[data-contact-site] button[type=submit] { font-size:16px; }
.contact-form[data-contact-site=yhere] .submit-btn { min-width:140px; }
form[data-contact-site] .fine,form[data-contact-site] .form-help { font-size:13px; line-height:1.6; color:#52616d; }

/* Confirmed success: native modal focus management, concise copy, responsive sizing. */
.contact-success-modal { box-sizing:border-box; width:400px; max-width:calc(100vw - 32px); padding:32px 24px 28px; border:0; border-radius:20px; background:#fff; color:#153047; font-family:inherit; text-align:center; box-shadow:0 24px 90px rgba(5,20,30,.3); }
.contact-success-modal[open] { display:flex; flex-direction:column; align-items:center; }
.contact-success-modal::backdrop { background:rgba(8,23,35,.58); backdrop-filter:blur(2px); }
.contact-success-modal h2 { margin:16px 0 8px; font-size:26px; line-height:1.25; color:#153047; letter-spacing:-.02em; }
.contact-success-modal p { margin:0; font-size:16px; line-height:1.6; color:#52616d; }
.contact-success-mark { display:grid; place-items:center; width:64px; height:64px; border-radius:50%; background:#e6f6ee; color:#1f754e; font-size:34px; font-weight:700; line-height:1; }
.contact-success-close { position:absolute; top:10px; right:10px; width:36px; height:36px; padding:0; border:0; border-radius:50%; background:#f2f5f7; color:#52616d; font-size:26px; line-height:1; cursor:pointer; }
.contact-success-ok { width:100%; max-width:240px; min-height:46px; margin-top:24px; padding:12px 20px; border:0; border-radius:10px; background:#153047; color:white; font:inherit; font-size:16px; font-weight:700; cursor:pointer; }
.contact-success-modal[data-site=childlink] .contact-success-ok { background:#125c95; }
.contact-success-modal[data-site=helpfindme] .contact-success-ok { background:#165e57; }
.contact-success-close:focus-visible,.contact-success-ok:focus-visible { outline:3px solid #278b8b; outline-offset:3px; }
@media(max-width:420px) { .contact-success-modal { padding:30px 22px 24px; } .contact-success-modal h2 { font-size:24px; } }
