/* CSR contact form: native controls scoped to our page; no inline CSS and no JS frameworks. */
.csr-contact-form { width:100%; }
.csr-contact-form .container.inner { max-width:1100px; box-sizing:border-box; padding-top:28px; padding-bottom:36px; }
.csr-contact-form .csr-form-title { font-size:25px; line-height:1.4; margin:0 0 22px; color:#18395a; }
.csr-contact-form .csr-field { display:flex; flex-direction:column; gap:8px; margin:0 0 17px; }
.csr-contact-form .csr-field > label { display:block; font-weight:600; color:#203850; font-size:17px; }
.csr-contact-form .csr-field > label span { color:#aa2333; }
.csr-contact-form .csr-field input:not([type=checkbox]),
.csr-contact-form .csr-field textarea { width:100%; display:block; box-sizing:border-box; min-height:42px; padding:10px 12px; border:1px solid #a5b2c1; border-radius:5px; color:#222; background:#fff; font:inherit; line-height:1.5; opacity:1; position:static; }
.csr-contact-form .csr-field textarea { min-height:145px; resize:vertical; }
.csr-contact-form .csr-field input:focus-visible, .csr-contact-form textarea:focus-visible,
.csr-contact-form button:focus-visible, .csr-contact-form .csr-privacy-row input:focus-visible { outline:3px solid #236eac; outline-offset:2px; }
.csr-contact-form .csr-count { margin:0; font-size:13px; text-align:right; color:#4a5765; }
.csr-contact-form .csr-count.csr-over-limit { color:#ba1523; }
.csr-contact-form .csr-captcha-line { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.csr-contact-form .csr-captcha-line img { width:280px; max-width:100%; height:auto; min-height:70px; object-fit:contain; border:1px solid #d3dce7; background:#f0f4f8; }
.csr-contact-form .csr-field small { font-size:13px; color:#58616c; }
.csr-contact-form #contact_txt_confirm { max-width:230px; }
.csr-contact-form .csr-privacy-row { display:flex; align-items:flex-start; gap:10px; margin:20px 0; font-size:15px; }
.csr-contact-form .csr-privacy-row input[type=checkbox] { -webkit-appearance:checkbox!important; appearance:checkbox!important; display:inline-block!important; visibility:visible!important; opacity:1!important; position:static!important; float:none!important; width:20px!important; min-width:20px!important; height:20px!important; min-height:20px!important; margin:1px 0 0 0!important; cursor:pointer; }
.csr-contact-form .csr-privacy-row label { cursor:pointer; color:#263a4d; line-height:1.5; }
.csr-contact-form .csr-actions { display:flex; gap:15px; flex-wrap:wrap; margin:20px 0; }
.csr-contact-form button { display:inline-block!important; position:static!important; visibility:visible!important; opacity:1!important; width:auto!important; height:auto!important; min-width:125px; min-height:44px; padding:11px 24px; border-radius:5px; font:inherit; font-size:16px; cursor:pointer; }
.csr-contact-form button.csr-primary { background:#195c8f; color:#fff; border:1px solid #195c8f; }
.csr-contact-form button.csr-secondary { background:#fff; color:#195c8f; border:1px solid #195c8f; }
.csr-contact-form .csr-form-notice { padding:12px 15px; margin:0 0 18px; line-height:1.5; border-radius:5px; }
.csr-contact-form .csr-form-notice:empty { display:none; }
.csr-contact-form .csr-error { color:#8d1122; border:1px solid #e3b8bf; background:#fff2f3; }
.csr-contact-form .csr-success { color:#1d5134; border:1px solid #a7cbb7; background:#eef8f1; }
.csr-contact-form .csr-hint { font-size:14px; color:#a82033; padding:0; }
.csr-contact-form .csr-trap { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
@media (max-width:600px) { .csr-contact-form .container.inner { padding-left:16px; padding-right:16px; } .csr-contact-form .csr-actions button { flex:1 1 42%; } }
