/* Contact template sizing: 1000px container, 24px card padding, 16px field gaps.
   Scoped to the shared contact form; submission and CAPTCHA behaviour are unchanged. */
#main-content .kr-contact-section { position: relative; z-index: 1; background: #fff; }
#main-content .kr-contact-section > .container.main-content {
    width: calc(100% - 48px);
    max-width: 1000px;
    min-width: 0;
    margin-inline: auto;
    padding-inline: 0;
}
#main-content .kr-contact-heading { max-width: 1000px; margin-inline: auto; }
#main-content .kr-contact-template { width: 100%; min-width: 0; }
#main-content .kr-contact-template .contact-form-container { max-width: 1000px; width: 100%; margin: 0 auto; }
#main-content .kr-contact-template .contact-form-content {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr);
    align-items: start;
    gap: 24px;
}
#main-content .kr-contact-template .contact-info-card,
#main-content .kr-contact-template .contact-form-card { min-width: 0; box-sizing: border-box; padding: 24px; border-radius: 16px; position: relative; z-index: 2; }
#main-content .kr-contact-template .contact-info-card { background: linear-gradient(135deg, #072066, #1e88e5); color: #fff; overflow: hidden; }
#main-content .kr-contact-template .contact-info-header { margin-bottom: 24px; }
#main-content .kr-contact-template .contact-info-header h3 { color: #fff; font-size: 20px; line-height: 1.4; margin: 0 0 8px; }
#main-content .kr-contact-template .contact-info-header p { color: #eef5ff; font-size: 14px; line-height: 1.6; margin: 0; }
#main-content .kr-contact-template .contact-details { margin-top: 24px; }
#main-content .kr-contact-template .contact-text .label,
#main-content .kr-contact-template .social-label { color: #dae9ff; font-size: 12px; }
#main-content .kr-contact-template .contact-text .value { color: #fff; font-size: 14px; overflow-wrap: anywhere; }
#main-content .kr-contact-template .contact-icon { color: #fff; }
#main-content .kr-contact-template .contact-social { margin-top: 24px; }
#main-content .kr-contact-template .social-label { display: block; text-transform: uppercase; margin-bottom: 12px; }
#main-content .kr-contact-template .social-links { display: flex; gap: 8px; flex-wrap: wrap; }
#main-content .kr-contact-template .social-link { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; flex: 0 0 36px; background: #ffffff2e; border-radius: 50%; color: #fff; }
#main-content .kr-contact-template .social-link svg { width: 18px; height: 18px; fill: currentColor; }
#main-content .kr-contact-template a.social-link:hover { background: #ffffff4d; }
#main-content .kr-contact-template a.social-link:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
#main-content .kr-contact-template .contact-form-card { background: #fff; border: 1px solid #208be8; }
#main-content .kr-contact-template .contact-form-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
#main-content .kr-contact-template .form-group { min-width: 0; gap: 4px; }
#main-content .kr-contact-template .form-group-full,
#main-content .kr-contact-template .form-actions { grid-column: 1 / -1; }
#main-content .kr-contact-template .form-label { display: block; color: #253858; font-size: 14px; font-weight: 500; line-height: 1.6; margin: 0; }
#main-content .kr-contact-template .form-input,
#main-content .kr-contact-template .form-select,
#main-content .kr-contact-template .form-textarea {
    width: 100%; min-width: 0; box-sizing: border-box;
    background-color: #fff; color: #253858;
    border: 2px solid #d7dce4; border-radius: 8px;
    font-family: inherit; font-size: 14px; line-height: 1.6; padding: 8px;
}
#main-content .kr-contact-template .form-input,
#main-content .kr-contact-template .form-select { min-height: 42px; }
#main-content .kr-contact-template .form-select { padding-right: 32px; }
#main-content .kr-contact-template .form-textarea { min-height: 100px; resize: vertical; }
#main-content .kr-contact-template .form-input::placeholder,
#main-content .kr-contact-template .form-textarea::placeholder { color: #64748b; opacity: 1; }
#main-content .kr-contact-template .form-input:focus,
#main-content .kr-contact-template .form-select:focus,
#main-content .kr-contact-template .form-textarea:focus { outline: 2px solid #208be8; outline-offset: 2px; border-color: #208be8; }
#main-content .kr-contact-template .input-validation-error { border-color: #b42318; }
#main-content .kr-contact-template .form-error,
#main-content .kr-contact-template .kr-contact-errors { color: #b42318; font-size: 13px; }
#main-content .kr-contact-template .validation-summary-valid,
#main-content .kr-contact-template .field-validation-valid,
#main-content .kr-contact-template #kr-contact-status:empty { display: none; }
#main-content .kr-contact-template .kr-contact-success { background: #ecfdf3; color: #14532d; padding: 12px; border-radius: 8px; overflow-wrap: anywhere; }
#main-content .kr-contact-template .form-checkbox-text { color: #253858; font-size: 14px; line-height: 1.6; }
#main-content .kr-contact-template .form-link { color: #0758ad; text-decoration: underline; }
#main-content .kr-contact-template .kr-character-count { display: block; color: #53657e; font-size: 12px; text-align: right; margin-top: 4px; }
#main-content .kr-contact-template .form-submit-btn { min-width: 180px; min-height: 44px; padding: 10px 20px; font-size: 16px; line-height: 1.5; }
#main-content .kr-contact-template .form-submit-btn:disabled { opacity: .65; cursor: not-allowed; }
#main-content .kr-contact-template .kr-security-check { background: #f5f8fc; border: 1px solid #d5dfed; border-radius: 10px; padding: 12px; }
#main-content .kr-contact-template .kr-security-check h4 { font-size: 14px; line-height: 1.5; color: #253858; margin: 0 0 8px; }
#main-content .kr-contact-template .cf-turnstile { min-height: 65px; }
#main-content .kr-contact-template #kr-captcha-status { color: #53657e; font-size: 12px; line-height: 1.6; margin: 6px 0 0; }
.kr-contact-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
/* Match the template's stacked contact cards and single-column field breakpoints. */
@media (max-width: 1280px) {
    #main-content .kr-contact-template .contact-form-content { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 1024px) {
    #main-content .kr-contact-template .contact-form-fields { grid-template-columns: minmax(0, 1fr); }
    #main-content .kr-contact-template .contact-info-card,
    #main-content .kr-contact-template .contact-form-card { padding: 16px; }
}
@media (max-width: 640px) {
    #main-content .kr-contact-section > .container.main-content { width: calc(100% - 32px); }
    /* Prevent mobile browsers from zooming when a field receives focus. */
    #main-content .kr-contact-template .form-input,
    #main-content .kr-contact-template .form-select,
    #main-content .kr-contact-template .form-textarea { font-size: 16px; }
    #main-content .kr-contact-template .form-submit-btn { width: 100%; min-width: 0; }
}
