/* Contact page aligned with the modern homepage and registration layouts. */
body .pages-bbs:has(.contact-modern){width:calc(100% - 48px);max-width:1400px;margin-top:28px;padding:28px;border-radius:22px;background:#f6f8fb}
body .pages-bbs:has(.contact-modern)>.row{align-items:flex-start}
body .contact-modern{margin:0 0 28px!important;padding-right:28px}
.contact-modern .contact-card,.contact-modern .contact-map-card{width:100%;padding:26px;border:1px solid #e0e7ed;border-radius:16px;background:#fff;box-shadow:0 5px 16px rgba(27,52,70,.06)}
.contact-modern .contact-card:not(.contact-thank-you){border-color:#a8c8e2;background:#bdd7ee}
.contact-modern .contact-intro{margin-bottom:24px}
.contact-modern .contact-intro h1,.contact-modern .contact-thank-you h1{margin:0 0 10px;color:#214a9a;font-size:2rem}
.contact-modern .contact-intro p{margin:0 0 10px;color:#405366;line-height:1.6}
.contact-modern .contact-privacy{padding:14px 16px;border-left:4px solid #85a8d2;border-radius:8px;background:#f5f9fc}
.contact-modern .contact-privacy strong,.contact-modern label span,.contact-modern .contact-consent strong{color:#d3293c}
.contact-modern form{width:100%}
.contact-modern .contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px}
.contact-modern .form-group{display:block;margin:0}
.contact-modern label{display:block;margin:0 0 7px;color:#20364e;font-weight:600}
.contact-modern .form-group>label{width:100%!important;max-width:none!important;white-space:nowrap}
.contact-modern .form-control{width:100%;min-height:46px;border:1px solid #cddbe7;border-radius:8px;background:#fff;box-shadow:none}
.contact-modern textarea.form-control{min-height:150px;resize:vertical}
.contact-modern .form-control:focus{border-color:#6e9dcc;box-shadow:0 0 0 3px rgba(110,157,204,.18)}
.contact-modern .contact-message-field{grid-column:1/-1}
.contact-modern .contact-consent{display:flex;align-items:flex-start;gap:10px;margin:22px 0 8px;padding:14px 16px;border-radius:10px;background:#f5f9fc;font-weight:500}
.contact-modern .contact-consent input{width:18px;height:18px;margin-top:2px;flex:0 0 auto}
.contact-modern .contact-consent span{color:#405366}
.contact-modern .contact-error{display:block;margin-top:6px;color:#c52839;font-size:.9rem;font-weight:600}
.contact-modern .contact-consent-error{margin:0 0 12px}
.contact-modern .contact-turnstile{width:min(100%,600px);margin:20px 0}
.contact-modern .contact-submit,.contact-modern .contact-home-button{position:relative;display:flex;align-items:center;justify-content:center;width:100%;min-height:56px;padding:12px 54px;border:1px solid rgba(255,255,255,.5);border-bottom:5px solid rgba(32,54,78,.28);border-radius:9px;background:linear-gradient(145deg,#67df74,#4dd05c 60%,#2da73d);color:#fff!important;font-weight:700;text-align:center;text-decoration:none!important;text-transform:uppercase;box-shadow:inset 0 3px 0 rgba(255,255,255,.3),0 8px 16px rgba(32,54,78,.18);transition:transform .18s ease,box-shadow .18s ease,filter .18s ease,border-width .18s ease}
.contact-modern button#submitContact{position:relative!important;width:100%!important;margin:0!important;padding:12px 54px!important;background:linear-gradient(145deg,#67df74,#4dd05c 60%,#2da73d)!important;color:#fff!important;font-weight:700!important}
.contact-modern button#submitContact>span:first-child{color:#fff!important}
.contact-modern #submitContact>span:first-child,.contact-modern .contact-home-button>span:first-child{color:#fff!important}
.contact-modern button#submitContact::after{content:none!important;display:none!important}
.contact-modern button#submitContact:hover{background:linear-gradient(145deg,#67df74,#4dd05c 60%,#2da73d)!important}
.contact-modern .contact-button-arrow,.contact-modern .contact-home-button>span:last-child{position:absolute;right:14px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:#fff;color:#2da73d;font-size:25px;font-weight:400;line-height:1}
.contact-modern .contact-submit:hover,.contact-modern .contact-home-button:hover{transform:perspective(300px) rotateX(-5deg) translateY(-2px);filter:saturate(1.15) brightness(1.03);box-shadow:inset 0 3px 0 rgba(255,255,255,.34),0 11px 20px rgba(32,54,78,.23)}
.contact-modern .contact-submit:active,.contact-modern .contact-home-button:active{transform:translateY(3px);border-bottom-width:2px}
.contact-modern .contact-map-card{height:370px;margin-top:22px;padding:10px;overflow:hidden}
.contact-modern .contact-map-card iframe{width:100%;height:100%;border:0;border-radius:10px}
.contact-modern .contact-thank-you{padding:54px 32px;text-align:center}
.contact-modern .contact-thank-you p{max-width:650px;margin:0 auto 28px;color:#405366;font-size:1.05rem;line-height:1.7}
.contact-modern .contact-success-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin:0 auto 20px;border-radius:50%;background:#35b54a;color:#fff;font-size:36px;font-weight:700}
body .pages-bbs:has(.contact-modern) .sidebar-column{padding-left:8px}
body .pages-bbs:has(.contact-modern) .sidebar-column h4{margin:4px 0 20px;color:#20364e;font-size:20px;font-weight:700}
body .pages-bbs:has(.contact-modern) .sidebar-column .card{border:0;background:transparent}
body .pages-bbs:has(.contact-modern) .sidebar-column iframe{width:100%;border-radius:10px}
@media(max-width:991px){body .pages-bbs:has(.contact-modern){width:calc(100% - 24px);padding:18px}body .contact-modern{padding-right:15px}body .pages-bbs:has(.contact-modern) .sidebar-column{padding-left:15px}}
@media(max-width:575px){body .pages-bbs:has(.contact-modern){width:calc(100% - 12px);padding:12px;border-radius:14px}.contact-modern .contact-card{padding:18px}.contact-modern .contact-fields{grid-template-columns:1fr}.contact-modern .contact-message-field{grid-column:auto}.contact-modern .contact-thank-you{padding:36px 18px}}
@media(prefers-reduced-motion:reduce){.contact-modern .contact-submit,.contact-modern .contact-home-button{transition:none}.contact-modern .contact-submit:hover,.contact-modern .contact-home-button:hover{transform:none}}
