/* Production additions on top of the approved prototype styles:
   contact form states, captcha, client sign-in, 404. */
.hp-field{position:absolute!important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.captcha-block{margin:6px 0 14px}
.captcha-block label{display:block;font-weight:600;margin-bottom:6px}
.captcha-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.captcha-image{border:1px solid var(--border,#d8e0e6);border-radius:8px;background:#f5f8fa;height:72px;width:220px}
.captcha-refresh{border:1px solid var(--border,#d8e0e6);background:#fff;border-radius:8px;width:40px;height:40px;font-size:20px;cursor:pointer;line-height:1}
.captcha-refresh:hover{background:#f1f5f8}
#captcha-answer{max-width:170px;text-transform:uppercase;letter-spacing:.12em;font-weight:600}
.cf-turnstile{min-height:65px}
.field-error,.form-error{color:#b3261e;font-size:14px;font-weight:600;margin-top:6px}
.form-error{background:#fdf2f1;border:1px solid #f1c9c5;border-radius:8px;padding:10px 12px;margin:0 0 14px}
input[aria-invalid="true"],textarea[aria-invalid="true"]{border-color:#b3261e!important}
.form-success{background:#eef7f4;border:1px solid #cfe8df;border-radius:12px;padding:22px 24px}
.form-success h3{margin:0 0 8px}
.form-success p{margin:0}
.resources-login-form .resources-field+.resources-field{margin-top:12px}
.resources-login-form .form-error{margin:12px 0 0}
.resources-login-form .resources-signin-btn{margin-top:16px}
.resources-signout-form{display:inline}
.external-image-failed > img{display:none}

/* Cookie consent banner (shown only while analytics is configured and no choice has been made) */
.cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:9000;background:#fff;color:#17222c;border:1px solid #d8e0e6;border-radius:14px;box-shadow:0 12px 40px rgba(15,35,55,.22);padding:18px 20px;display:flex;gap:18px;align-items:center;flex-wrap:wrap;max-width:1040px;margin:0 auto;font-family:"Poppins",Arial,Helvetica,sans-serif}
.cookie-banner[hidden]{display:none}
.cookie-banner p{margin:0;flex:1 1 420px;font-size:15px;line-height:1.5}
.cookie-banner p a{color:inherit;text-decoration:underline}
.cookie-banner-actions{display:flex;gap:10px;flex-wrap:wrap}
.cookie-banner .btn{margin:0}
.cookie-banner .btn.secondary{background:#fff;border:1px solid #c8d2da;color:#17222c}
@media (max-width:600px){.cookie-banner{left:10px;right:10px;bottom:10px;padding:16px}.cookie-banner-actions{width:100%}.cookie-banner .btn{flex:1 1 auto;text-align:center}}
