.jcforms-form-layout-horizontal .jcforms-field.jcforms-layout-horizontal .col-form-label {
    padding-top: calc(0.375rem + 1px);
}

.jcforms-checkbox-single .form-check-label {
    line-height: 1.5;
}

.jcforms-captcha-field {
    max-width: 100%;
}

.jcforms-captcha-fallback {
    min-width: 160px;
    letter-spacing: 0.2em;
    text-align: center;
}

.jcforms-freetext > :last-child {
    margin-bottom: 0;
}

.jcforms-gmap-iframe {
    width: 100%;
    border: 0;
    border-radius: 0.375rem;
}

.jcforms-survey-table.is-invalid-group {
    outline: 2px solid var(--danger, #dc3545);
    border-radius: 0.375rem;
}

.jcforms-page + .jcforms-page {
    margin-top: 0.5rem;
}

.jcforms-range-field .jcforms-range-value {
    font-weight: 600;
}

.com-jcforms-form .jcforms-description {
    color: var(--body-color, #333);
}

.com-jcforms-form .jcforms-thankyou-message > :last-child {
    margin-bottom: 0;
}

.mod-jcforms .jcforms-thankyou-message > :last-child {
    margin-bottom: 0;
}

.com-jcforms-form .form-label .text-danger {
    margin-left: 0.15rem;
}

.com-jcforms-form .is-invalid,
.mod-jcforms .is-invalid {
    border-color: var(--danger, #dc3545);
}

.com-jcforms-form .is-invalid-group .form-check-input,
.mod-jcforms .is-invalid-group .form-check-input {
    border-color: var(--danger, #dc3545);
}

.com-jcforms-form .jcforms-field-checkbox .jcforms-checkbox-group,
.mod-jcforms .jcforms-field-checkbox .jcforms-checkbox-group {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.com-jcforms-form .jcforms-field-checkbox .jcforms-checkbox-group.is-invalid-group,
.mod-jcforms .jcforms-field-checkbox .jcforms-checkbox-group.is-invalid-group {
    padding: 0.5rem;
    border: 1px solid var(--danger, #dc3545);
    border-radius: 0.375rem;
}

.com-jcforms-form .invalid-feedback,
.mod-jcforms .invalid-feedback {
    color: var(--danger, #dc3545);
}

.mod-jcforms {
    margin-bottom: 1.5rem;
}

.jcforms-thankyou-open {
    position: relative;
}

.jcforms-thankyou-open .jcforms-thankyou-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1040;
}

.jcforms-thankyou-open .jcforms-thankyou-modal.show {
    display: block;
    z-index: 1050;
}

.jcforms-thankyou-modal.jcforms-thankyou-hidden {
    display: none !important;
}

/* Split layout: intro panel (image + content) beside the form */
.jcforms-split {
   display: grid;
    grid-template-columns: 0.85fr 1fr;
    gap: 0;
    overflow: hidden;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.12);
    background: #fff;
}

.jcforms-split-intro {
    background: #101110;
    color: #fff;
    padding: 2rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 1rem;
}

.jcforms-split-intro .jcforms-split-image {
    max-width: 100%;
    height: auto;
    border-radius: 0.5rem;
}

.jcforms-split-intro .jcforms-split-content {
    color: inherit;
}

.jcforms-split-intro .jcforms-split-content a {
    color: #9be89b;
}

.jcforms-split-form {
    padding: 2rem;
    background: #fff;
}

.jcforms-split.jcforms-split-no-intro {
    box-shadow: none;
    border-radius: 0;
    background: transparent;
}

.jcforms-split.jcforms-split-no-intro .jcforms-split-form {
    padding: 0;
}

@media (max-width: 767.98px) {
    .jcforms-split-intro,
    .jcforms-split-form {
        flex: 1 1 100%;
    }
}

/* Popup mode for the form module */
.jcforms-popup {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 1055;
}

.jcforms-popup.is-open {
    display: block;
}

.jcforms-popup-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
}

.jcforms-popup-dialog {
    position: relative;
    max-width: 980px;
    width: calc(100% - 2rem);
    margin: 1.5rem auto;
    max-height: calc(100vh - 2rem);
    overflow-y: auto;
    border-radius: 1rem;
}

.jcforms-popup-dialog .jcforms-split {
    box-shadow: none;
}

.jcforms-popup-close {
    position: absolute;
    top: 0.9rem;
    right: 0.9rem;
    z-index: 2;
    background-color: #fff;
    border-radius: 50%;
    padding: 0.6rem;
    opacity: 1;
}

@media (max-width: 767.98px) {
    .jcforms-popup-dialog {
        margin: 1rem auto;
        max-height: calc(100vh - 2rem);
    }
}

.mod-jcforms-hidden-trigger {
    margin: 0;
    padding: 0;
    border: 0;
    min-height: 0;
    line-height: 0;
}

.mod-jcforms-hidden-trigger .jcforms-page-thankyou-message,
.mod-jcforms-hidden-trigger .jcforms-thankyou-modal,
.mod-jcforms-hidden-trigger .jcforms-thankyou-backdrop {
    line-height: normal;
}

.mod-jcforms .jcforms-page-thankyou-message {
    position: fixed;
    top: 1.25rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1060;
    max-width: 640px;
    width: calc(100% - 2rem);
    margin: 0;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
}


.left_part {display: flex; flex-direction: column; gap: 1rem; margin-bottom: 1.5rem;}

.left_part .left_part_title{margin: 0; font-size: 28px;}

.left_part .left_part_desc{color: rgba(255, 255, 255, 0.7); font-size: 0.92rem; line-height: 1.6; position: relative; margin: 0;}

.left_social_list {display: flex; flex-direction: column; gap: 1rem;}

.left_social_list .left_social_list_item{display: grid; grid-template-columns: 32px auto; align-items: center; gap: 1rem;}

.left_social_list .left_social_list_item .social_text{font-size: 0.85rem; color: rgba(255, 255, 255, 0.85);}

.left_social_phone,
.left_social_email,
.left_social_location{width: 32px; height: 32px; border-radius: 9px; background-color: rgba(255, 255, 255, 0.08);}

.left_social_phone{background-image: url('data:image/svg+xml,<svg width="24" height="24" fill="none" stroke="%2333c759" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"></path></svg>');background-size: 16px;background-repeat: no-repeat;background-position: center;}
.left_social_email{background-image: url('data:image/svg+xml,<svg width="24" height="24" fill="none" stroke="%2333c759" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z"></path><polyline points="22,6 12,13 2,6"></polyline></svg>'); background-size: 16px;background-repeat: no-repeat;background-position: center;}
.left_social_location{background-image: url('data:image/svg+xml,<svg width="24" height="24" fill="none" stroke="%2333c759" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M21 10c0 7-9 13-9 13S3 17 3 10a9 9 0 0 1 18 0z"></path><circle cx="12" cy="10" r="3"></circle></svg>'); background-size: 16px;background-repeat: no-repeat;background-position: center;}

body.modal-open{overflow: hidden;}
/* Popup mode for the form module */
.jcforms-popup {display: none; position: fixed; inset: 0; z-index: 9999;}
.jcforms-popup.is-open {display: block;}
.jcforms-popup-overlay {position: absolute; inset: 0; background: rgba(0, 0, 0, 0.6);}
.jcforms-popup-dialog {position: fixed; max-width: 940px; width: calc(100% - 2rem); margin: 0rem auto; /* max-height: calc(100vh - 6rem); */ overflow: hidden; border-radius: 1rem; transform: translate(-50%, -50%); top: 50%; left: 50%;}
.jcforms-popup-dialog:before {
    content: '';
    position: absolute;
    width: 360px;
    height: 360px;
    bottom: -180px;
    left: -120px;
    background: radial-gradient(circle, rgba(109, 203, 110, 0.35), transparent 65%);
    pointer-events: none;
}
.jcforms-popup-dialog .jcforms-split {box-shadow: none;}

.jcforms-popup-close {position: absolute; top: 0.9rem; right: 0.9rem; z-index: 2; background-color: #fff; border-radius: 50%; padding: 0.6rem; opacity: 1;}

.mod-jcforms-hidden-trigger {margin: 0; padding: 0; border: 0; min-height: 0; line-height: 0;}

@media (max-width: 767px) {
    .jcforms-split{grid-template-columns: 1fr;}
    
    .jcforms-popup-dialog {margin: 1rem auto; max-height: calc(100vh - 2rem); overflow-y: auto;}
}

