/* Shared contact-form system used by every page partial. */
.shared-contact-form {
    padding: 100px 0 !important;
    background: #f5f4ff;
}

.shared-contact-form .guide-outer {
    position: relative;
    display: flex;
    align-items: stretch;
    width: 100%;
    min-height: 538px;
    padding: 15px;
    overflow: visible;
    border: 1px solid #e6e8ff;
    border-radius: 28px;
    background: #fff;
}

.shared-contact-form .formright,
.shared-contact-form .formleft {
    display: flex;
    min-width: 0;
}

.shared-contact-form .formright { width: 100%; }
.shared-contact-form .formleft { flex: 1; }

.shared-contact-form .guide-left.setu-contact-left {
    position: relative;
    flex: 0 0 42%;
    width: auto;
    min-height: 508px;
    padding: 36px;
    overflow: visible;
    border-radius: 22px;
    background: url('/images/formleftbg.jpg') center / cover no-repeat;
}

.shared-contact-form .setu-contact-content {
    position: relative;
    z-index: 1;
}

.shared-contact-form .setu-contact-title {
    margin: 0 0 20px;
    color: #fff !important;
    font-family: 'Plus Jakarta Sans', Poppins, sans-serif;
    font-size: 42px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -.02em;
}

.shared-contact-form .setu-contact-desc {
    max-width: 320px;
    margin: 0;
    color: #d5d8ff !important;
    font-family: 'Plus Jakarta Sans', Poppins, sans-serif;
    font-size: 18px;
    font-weight: 500;
    line-height: 24px;
}

.shared-contact-form .setu-big-fan {
    position: absolute;
    right: 0;
    bottom: 0;
    display: block !important;
    width: 260px;
    height: auto;
    pointer-events: none;
    transform-origin: center;
    animation: shared-contact-fan-spin 2s linear infinite;
}

.shared-contact-form .formleft .hero-content,
.shared-contact-form .formleft .landing-form-container {
    display: flex;
    flex: 1;
    width: 100%;
    min-height: 0 !important;
    height: auto !important;
    padding: 25px;
    background: #fff;
    box-shadow: none;
}

.shared-contact-form .formleft .landing-form-container { border-radius: 0 15px 15px 0; }
.shared-contact-form .contact-form { width: 100%; padding: 0; background: transparent; box-shadow: none; }
.shared-contact-form .contact-form .row { margin-right: -7px; margin-left: -7px; }
.shared-contact-form .contact-form [class*='col-'] { padding-right: 7px; padding-left: 7px; }
.shared-contact-form .contact-form .form-group { margin-bottom: 14px; }

.shared-contact-form .contact-form .form-control,
.shared-contact-form .contact-form .select2-container--default .select2-selection--multiple,
.shared-contact-form .contact-form .select2-container--default .select2-selection--single {
    min-height: 52px;
    border: 1px solid #dbe3f0 !important;
    border-radius: 12px;
    box-shadow: none;
    color: #263248 !important;
    font: 400 13px/1.3 'Poppins', sans-serif;
}

.shared-contact-form .contact-form .form-control { padding: 0 15px; }
.shared-contact-form .contact-form select.form-control { padding-right: 30px; font-size: 10px !important; }
.shared-contact-form .contact-form textarea.form-control { height: 88px; min-height: 88px; padding-top: 15px; resize: vertical; }
.shared-contact-form .contact-form .form-control::placeholder,
.shared-contact-form .contact-form .select2-search__field::placeholder { color: #64748b !important; opacity: 1; }

.shared-contact-form .phone-field {
    display: flex;
    align-items: center;
    min-height: 52px;
    overflow: hidden;
    border: 1px solid #dbe3f0;
    border-radius: 12px;
    background: #fff;
}

.shared-contact-form .phone-field .country-code {
    flex: 0 0 auto;
    padding: 0 12px 0 15px;
    border-right: 1px solid #dbe3f0;
    color: #64748b;
    font: 400 13px/1.3 'Poppins', sans-serif;
}

.shared-contact-form .phone-field .form-control { min-height: 50px; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
.shared-contact-form .location-input-wrapper { position: relative; }
.shared-contact-form .location-icon-span { position: absolute; top: 50%; right: 15px; color: #536273; transform: translateY(-50%); }
.shared-contact-form .location-input-wrapper .form-control { padding-right: 42px; }
.shared-contact-form .text-right-desktop { margin-top: 0; text-align: right; }

.shared-contact-form .submit-pill-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 48px;
    padding: 0 24px;
    border: 0;
    border-radius: 999px;
    background: #050505;
    color: #fff;
    font: 500 13px/1 'Poppins', sans-serif;
}

.shared-contact-form .submit-pill-btn:hover,
.shared-contact-form .submit-pill-btn:focus { background: #050505; color: #fff; }

/* ---------- Module multi-select (select2) ---------- */
.selectModulegroup .select2-container { width: 100% !important; }

.selectModulegroup .select2-container--default .select2-selection--multiple {
    height: auto;
    min-height: 52px;
    padding: 7px 10px;
    border: 1px solid #dbe3f0;
    border-radius: 12px;
    background: #fff;
    cursor: text;
}

.selectModulegroup .select2-container--default.select2-container--focus .select2-selection--multiple {
    border-color: #1d4ed8;
}

.selectModulegroup .select2-selection--multiple .select2-selection__rendered {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    width: 100%;
    padding: 0;
    margin: 0;
    line-height: 1;
}

.selectModulegroup .select2-selection--multiple .select2-selection__choice {
    display: inline-flex;
    align-items: center;
    margin: 0;
    padding: 4px 9px;
    border: 1px solid #d5ddec;
    border-radius: 7px;
    background: #f6f8fc;
    color: #263248;
    font: 400 12px/1.2 'Poppins', sans-serif;
}

.selectModulegroup .select2-selection__choice__display {
    order: 1;
    padding: 0 !important;
}

.selectModulegroup .select2-selection__choice__remove {
    order: 2;
    margin: 0 0 0 7px;
    padding: 0;
    border: 0;
    background: transparent !important;
    color: #9aa4b6;
    font-size: 13px;
    line-height: 1;
}

.selectModulegroup .select2-selection__choice__remove:hover,
.selectModulegroup .select2-selection__choice__remove:focus {
    background: transparent !important;
    color: #ee3b2b;
}

.selectModulegroup .select2-selection--multiple .select2-search--inline {
    display: inline-flex;
    flex: 1;
    min-width: 60px;
}

.selectModulegroup .select2-search--inline .select2-search__field {
    height: 22px;
    margin: 0;
    padding: 0;
    font: 400 13px/1.3 'Poppins', sans-serif;
    color: #263248;
}

.selectModulegroup .select2-search--inline .select2-search__field::placeholder { color: #64748b; opacity: 1; }

/* dropdown panel (rendered on <body>, tagged via dropdownCssClass) */
.select2-dropdown.selectModule-dropdown {
    border: 1px solid #dbe3f0;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 12px 32px rgba(15, 23, 42, .12);
}

.selectModule-dropdown .select2-results__option {
    padding: 10px 14px;
    font: 400 13px/1.3 'Poppins', sans-serif;
    color: #263248;
}

.selectModule-dropdown .select2-results__option--highlighted[aria-selected],
.selectModule-dropdown .select2-results__option--highlighted {
    background: #1d4ed8;
    color: #fff;
}

.selectModule-dropdown .select2-results__option[aria-selected="true"] {
    background: #eef2fb;
    color: #1d4ed8;
}

@keyframes shared-contact-fan-spin { from { transform: rotate(0); } to { transform: rotate(360deg); } }

@media (prefers-reduced-motion: reduce) { .shared-contact-form .setu-big-fan { animation: none; } }

@media (max-width: 991px) {
    .shared-contact-form { padding: 60px 0 !important; }
    .shared-contact-form .guide-outer { min-height: 0; }
    .shared-contact-form .formright { flex-direction: column; }
    .shared-contact-form .guide-left.setu-contact-left { min-height: 300px; border-radius: 22px 22px 0 0; }
    .shared-contact-form .formleft .landing-form-container { border-radius: 0 0 15px 15px; }
}

@media (max-width: 767px) {
    .shared-contact-form { padding: 52px 0 !important; }
    .shared-contact-form .guide-outer { padding: 9px; border-radius: 22px; }
    .shared-contact-form .guide-left.setu-contact-left {
        min-height: 235px !important;
        padding: 34px 26px !important;
        border-radius: 15px 15px 0 0 !important;
    }
    .shared-contact-form .setu-contact-title {
        font-size: 32px !important;
        line-height: 40px !important;
    }
    .shared-contact-form .setu-contact-desc { font-size: 15px; }
    .shared-contact-form .formleft .landing-form-container { padding: 22px 13px; }
    .shared-contact-form .contact-form .form-control,
    .shared-contact-form .phone-field { min-height: 48px; }
    .shared-contact-form .text-right-desktop { text-align: center; }
    .shared-contact-form .submit-pill-btn { width: 100%; }
}

/* Figma desktop contact-card geometry used by the shared closing section. */
@media (min-width: 992px) {
    .shared-contact-form {
        box-sizing: border-box;
        height: 738px;
        min-height: 738px;
        padding: 100px 0 !important;
    }
    .shared-contact-form > .container {
        width: min(1440px, calc(100% - 40px));
        max-width: none;
        padding-right: 0;
        padding-left: 0;
    }
    .shared-contact-form > .container > .row { margin-right: 0; margin-left: 0; }
    .shared-contact-form > .container > .row > .col-sm-12 { padding-right: 0; padding-left: 0; }
    .shared-contact-form .guide-outer {
        box-sizing: border-box;
        height: 538px;
        min-height: 538px;
        padding: 15px;
        overflow: hidden;
        border-color: #d9e7fe;
        border-radius: 30px;
        background: rgba(233, 231, 255, .6);
        box-shadow: none;
    }
    .shared-contact-form .formright {
        height: 508px;
        align-items: center;
    }
    .shared-contact-form .guide-left.setu-contact-left {
        box-sizing: border-box;
        flex: 0 0 550px;
        width: 550px;
        height: 508px;
        min-height: 508px;
        padding: 40px;
        border-radius: 22px 0 0 22px;
    }
    .shared-contact-form .setu-contact-title {
        margin: 0 0 16px;
        font-size: 50px;
        line-height: 80px;
        letter-spacing: -1px;
    }
    .shared-contact-form .formleft {
        height: 508px;
        align-items: center;
    }
    .shared-contact-form .formleft .hero-content,
    .shared-contact-form .formleft .landing-form-container {
        box-sizing: border-box;
        height: 500px !important;
        min-height: 500px !important;
        padding: 20px;
    }
    .shared-contact-form .formleft .landing-form-container { border-radius: 0 24px 24px 0; }
    .shared-contact-form .contact-form .form-group { margin-bottom: 15px !important; }
    .shared-contact-form .contact-form .form-control,
    .shared-contact-form .contact-form .select2-container--default .select2-selection--multiple,
    .shared-contact-form .contact-form .select2-container--default .select2-selection--single,
    .shared-contact-form .phone-field {
        box-sizing: border-box;
        height: 60px;
        min-height: 60px;
    }
    .shared-contact-form .contact-form textarea.form-control {
        height: 80px;
        min-height: 80px;
    }
    .shared-contact-form .submit-pill-btn {
        min-height: 52px;
        height: 52px;
    }
}
