/* =========================================================
   WEBSITE DESIGNING - FINAL CTA + CONTACT
   APPROVED REFERENCE LAYOUT
   ========================================================= */

.wd-final-contact {
    --wd-blue: #176fe8;
    --wd-dark: #08285d;
    --wd-text: #526b92;
    --wd-light: #f3f8ff;
    --wd-card: #ffffff;

    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 70px 0 0;
    background-color: var(--wd-light);
    background-size: cover;
    background-repeat: no-repeat;
    color: var(--wd-dark);
}

.wd-final-contact__container {
    position: relative;
    z-index: 5;
}

.wd-final-contact__bg-overlay {
    position: absolute;
    inset: 0;
    z-index: -10;
    background: #edf6ff;
    pointer-events: none;
}


/* =========================================================
   DECORATION
   ========================================================= */

.wd-final-contact__decor {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    z-index: -5;
}

.wd-final-contact__decor--left {
    width: 370px;
    height: 370px;
    top: -205px;
    left: -205px;
    background: rgba(73, 142, 233, .10);
}

.wd-final-contact__decor--right {
    width: 380px;
    height: 380px;
    top: 55px;
    right: -205px;
    background: rgba(73, 142, 233, .08);
}

.wd-final-contact__decor-small {
    position: absolute;
    width: 92px;
    height: 92px;
    right: 44%;
    bottom: 255px;
    border: 1px solid rgba(53, 123, 222, .16);
    border-radius: 50%;
    z-index: -4;
}


/* =========================================================
   LEFT
   ========================================================= */

.wd-final-contact__left {
    position: relative;
    min-height: 650px;
    padding: 0 35px 0 0;
}

.wd-final-contact__badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 19px;
    margin-bottom: 21px;
    border-radius: 50px;
    background: #dcecff;
    color: var(--wd-blue);
    font-size: 13px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: .35px;
}

.wd-final-contact__badge i {
    font-size: 14px;
}


/* =========================================================
   HEADING
   ========================================================= */

.wd-final-contact__heading {
    max-width: 670px;
    margin: 0 0 18px;
    font-size: clamp(40px, 4.2vw, 61px);
    line-height: 1.06;
    font-weight: 800;
    letter-spacing: -2px;
}

.wd-final-contact__heading-main,
.wd-final-contact__heading-accent {
    display: block;
}

.wd-final-contact__heading-main {
    color: var(--wd-dark);
}

.wd-final-contact__heading-accent {
    color: var(--wd-blue);
}

.wd-final-contact__description {
    max-width: 650px;
    margin-bottom: 26px;
    color: var(--wd-text);
    font-size: 17px;
    line-height: 1.7;
}


/* =========================================================
   CONTACT CARDS
   ========================================================= */

.wd-final-contact__contacts {
    position: relative;
    z-index: 12;
    display: flex;
    flex-direction: column;
    gap: 13px;
    width: 350px;
}

.wd-final-contact__contact-card {
    display: flex;
    align-items: center;
    gap: 16px;
    min-height: 92px;
    padding: 14px 18px;
    border: 1px solid rgba(120, 158, 207, .18);
    border-radius: 16px;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 10px 30px rgba(27, 72, 130, .09);
    backdrop-filter: blur(7px);
    transition: transform .25s ease, box-shadow .25s ease;
}

.wd-final-contact__contact-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 16px 35px rgba(27, 72, 130, .14);
}

.wd-final-contact__contact-icon {
    flex: 0 0 55px;
    width: 55px;
    height: 55px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: linear-gradient(135deg, #1879ef, #2465e8);
    color: #fff;
    font-size: 19px;
    box-shadow: 0 8px 20px rgba(37, 99, 235, .22);
}

.wd-final-contact__contact-body {
    min-width: 0;
}

.wd-final-contact__contact-title,
.wd-final-contact__contact-value,
.wd-final-contact__contact-description {
    display: block;
}

.wd-final-contact__contact-title {
    margin-bottom: 1px;
    color: #122d5c;
    font-size: 14px;
    font-weight: 700;
}

.wd-final-contact__contact-value {
    color: #09275a;
    font-size: 18px;
    line-height: 1.35;
    font-weight: 800;
}

.wd-final-contact__contact-description {
    margin-top: 2px;
    color: #6c7f9e;
    font-size: 12px;
    line-height: 1.4;
}


/* =========================================================
   WOMAN VISUAL
   ========================================================= */

.wd-final-contact__visual {
    position: absolute;
    left: 315px;
    bottom: 0;
    width: 450px;
    height: 505px;
    z-index: 7;
    pointer-events: none;
}

.wd-final-contact__visual-glow {
    position: absolute;
    left: 50%;
    bottom: -115px;
    width: 370px;
    height: 370px;
    transform: translateX(-50%);
    border-radius: 50%;
    background: rgba(77, 147, 240, .14);
}

.wd-final-contact__woman {
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 360px;
    max-width: none;
    height: auto;
    transform: translateX(-50%);
    display: block;
    z-index: 3;
    object-fit: contain;
    filter: drop-shadow(0 18px 25px rgba(19, 59, 112, .12));
}

.wd-final-contact__visual-note {
    position: absolute;
    top: 40px;
    right: 0;
    z-index: 8;
    color: #075cc9;
    font-size: 16px;
    line-height: 1.25;
    text-align: center;
    transform: rotate(-6deg);
}

.wd-final-contact__visual-note span,
.wd-final-contact__visual-note strong {
    display: block;
}

.wd-final-contact__visual-note span {
    font-weight: 600;
}

.wd-final-contact__visual-note strong {
    font-weight: 800;
}

.wd-final-contact__visual-note i {
    display: block;
    margin-top: 8px;
    font-size: 25px;
    transform: rotate(18deg);
}


/* =========================================================
   RIGHT FORM
   ========================================================= */

.wd-final-contact__right {
    position: relative;
    z-index: 20;
    padding-left: 25px;
}

.wd-final-contact__form-card {
    width: 100%;
    max-width: 610px;
    margin-left: auto;
    padding: 31px 34px 27px;
    border: 1px solid rgba(130, 157, 195, .15);
    border-radius: 22px;
    background: rgba(255, 255, 255, .98);
    box-shadow:
        0 25px 65px rgba(24, 65, 120, .14),
        0 5px 20px rgba(24, 65, 120, .05);
}

.wd-final-contact__form-heading {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 12px;
}

.wd-final-contact__form-icon {
    flex: 0 0 50px;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #e1efff;
    color: #176fe8;
    font-size: 19px;
}

.wd-final-contact__form-heading h3 {
    margin: 0;
    color: #102957;
    font-size: 27px;
    line-height: 1.25;
    font-weight: 800;
}

.wd-final-contact__form-description {
    margin: 0 0 22px;
    color: #657a9a;
    font-size: 14px;
    line-height: 1.65;
}


/* =========================================================
   FORM FIELDS
   ========================================================= */

.wd-final-contact__label {
    display: block;
    margin-bottom: 7px;
    color: #142b58;
    font-size: 13px;
    font-weight: 700;
}

.wd-final-contact__label span {
    color: #dc2626;
}

.wd-final-contact__field {
    position: relative;
}

.wd-final-contact__field > i {
    position: absolute;
    left: 16px;
    top: 50%;
    z-index: 3;
    transform: translateY(-50%);
    color: #7e91ad;
    font-size: 14px;
    pointer-events: none;
}


.wd-final-contact__field input,
.wd-final-contact__field select,
.wd-final-contact__field textarea {
    width: 100%;
    border: 1px solid #d5e0ee;
    border-radius: 10px;
    background: #fff;
    color: #152d5b;
    outline: none;
    font-family: inherit;
    font-size: 13px;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.wd-final-contact__field input,
.wd-final-contact__field select {
    height: 50px;
    padding: 0 40px 0 44px;
}

.wd-final-contact__field select {
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
}

.wd-final-contact__field textarea {
    min-height: 112px;
    padding: 14px 14px 14px 44px;
    resize: vertical;
}

.wd-final-contact__field textarea + i {
    pointer-events: none;
}

.wd-final-contact__field--textarea > i {
    top: 18px;
    transform: none;
}

.wd-final-contact__select-arrow {
    left: auto !important;
    right: 15px;
    color: #7286a3 !important;
}

.wd-final-contact__field input::placeholder,
.wd-final-contact__field textarea::placeholder {
    color: #96a6bd;
}

.wd-final-contact__field input:focus,
.wd-final-contact__field select:focus,
.wd-final-contact__field textarea:focus {
    border-color: #3981ed;
    box-shadow: 0 0 0 4px rgba(37, 99, 235, .08);
}


/* =========================================================
   BUTTON
   ========================================================= */

.wd-final-contact__button {
    width: 100%;
    min-height: 59px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    border: 0;
    border-radius: 11px;
    background: linear-gradient(135deg, #1478ee, #2563eb);
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 12px 25px rgba(37, 99, 235, .23);
    transition: transform .2s ease, box-shadow .2s ease;
}

.wd-final-contact__button:hover {
    transform: translateY(-2px);
    box-shadow: 0 17px 31px rgba(37, 99, 235, .29);
}

.wd-final-contact__button i:last-child {
    margin-left: 7px;
    transition: transform .2s ease;
}

.wd-final-contact__button:hover i:last-child {
    transform: translateX(5px);
}

.wd-final-contact__privacy {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 14px;
    color: #71829d;
    font-size: 11px;
    line-height: 1.5;
    text-align: center;
}

.wd-final-contact__privacy i {
    color: #355d91;
}


/* =========================================================
   BLUE TRUST STRIP
   ========================================================= */

.wd-final-contact__trust {
    position: relative;
    z-index: 30;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin-top: 35px;
    padding: 48px 0 27px;
    background: linear-gradient(135deg, #0c4a92, #155aa8);
    clip-path: polygon(
        0 14%,
        12% 22%,
        24% 27%,
        36% 29%,
        50% 30%,
        64% 29%,
        76% 27%,
        88% 22%,
        100% 13%,
        100% 100%,
        0 100%
    );
}

.wd-final-contact__trust-item {
    display: flex;
    align-items: center;
    gap: 13px;
    min-width: 0;
    padding: 0 25px;
    border-right: 1px solid rgba(255, 255, 255, .18);
}

.wd-final-contact__trust-item:last-child {
    border-right: 0;
}

.wd-final-contact__trust-icon {
    flex: 0 0 54px;
    width: 54px;
    height: 54px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255,255,255,.20);
    border-radius: 50%;
    background: rgba(255,255,255,.08);
    color: #fff;
    font-size: 19px;
}

.wd-final-contact__trust-item strong {
    display: block;
    margin-bottom: 4px;
    color: #fff;
    font-size: 13px;
    font-weight: 800;
}

.wd-final-contact__trust-item small {
    display: block;
    color: rgba(255,255,255,.75);
    font-size: 10px;
    line-height: 1.45;
}


/* =========================================================
   LARGE TABLET
   ========================================================= */

@media (max-width: 1199.98px) {

    .wd-final-contact__left {
        min-height: 620px;
        padding-right: 15px;
    }

    .wd-final-contact__heading {
        font-size: clamp(38px, 4.8vw, 54px);
    }

    .wd-final-contact__contacts {
        width: 340px;
    }

    .wd-final-contact__visual {
        left: 285px;
        width: 380px;
    }

    .wd-final-contact__woman {
        width: 315px;
    }

    .wd-final-contact__right {
        padding-left: 15px;
    }

    .wd-final-contact__form-card {
        padding: 27px;
    }

    .wd-final-contact__trust-item {
        padding: 0 16px;
    }
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991.98px) {

    .wd-final-contact {
        padding-top: 55px;
    }

    .wd-final-contact__left {
        min-height: 0;
        padding-right: 0;
    }

    .wd-final-contact__heading {
        max-width: 760px;
    }

    .wd-final-contact__description {
        max-width: 700px;
    }

    .wd-final-contact__contacts {
        width: 430px;
    }

    .wd-final-contact__visual {
        position: relative;
        left: auto;
        bottom: auto;
        width: 100%;
        height: 370px;
        margin-top: 0;
    }

    .wd-final-contact__woman {
        width: 310px;
    }

    .wd-final-contact__visual-note {
        right: 17%;
        top: 20px;
    }

    .wd-final-contact__right {
        padding-left: 0;
    }

    .wd-final-contact__form-card {
        max-width: 680px;
        margin: 25px auto 0;
    }

    .wd-final-contact__trust {
        grid-template-columns: repeat(2, 1fr);
        clip-path: none;
        margin-top: 30px;
        padding: 28px 0;
        row-gap: 24px;
    }

    .wd-final-contact__trust-item:nth-child(2) {
        border-right: 0;
    }

    .wd-final-contact__trust-item:nth-child(3),
    .wd-final-contact__trust-item:nth-child(4) {
        padding-top: 20px;
        border-top: 1px solid rgba(255,255,255,.14);
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767.98px) {

    .wd-final-contact {
        padding-top: 42px;
    }

    .wd-final-contact__badge {
        padding: 8px 14px;
        margin-bottom: 17px;
        font-size: 11px;
    }

    .wd-final-contact__heading {
        font-size: 35px;
        line-height: 1.10;
        letter-spacing: -1px;
    }

    .wd-final-contact__description {
        font-size: 15px;
    }

    .wd-final-contact__contacts {
        width: 100%;
    }

    .wd-final-contact__contact-card {
        min-height: 82px;
        padding: 13px 15px;
    }

    .wd-final-contact__contact-icon {
        flex-basis: 47px;
        width: 47px;
        height: 47px;
        font-size: 17px;
    }

    .wd-final-contact__contact-value {
        font-size: 16px;
    }

    .wd-final-contact__visual {
        height: 300px;
    }

    .wd-final-contact__woman {
        width: 245px;
    }

    .wd-final-contact__visual-note {
        right: 4%;
        top: 10px;
        font-size: 12px;
    }

    .wd-final-contact__visual-note i {
        font-size: 20px;
    }

    .wd-final-contact__form-card {
        padding: 22px 17px;
        border-radius: 18px;
    }

    .wd-final-contact__form-heading h3 {
        font-size: 21px;
    }

    .wd-final-contact__trust {
        grid-template-columns: 1fr;
        padding: 0;
    }

    .wd-final-contact__trust-item,
    .wd-final-contact__trust-item:nth-child(3),
    .wd-final-contact__trust-item:nth-child(4) {
        padding: 18px 17px;
        border-right: 0;
        border-top: 1px solid rgba(255,255,255,.14);
    }

    .wd-final-contact__trust-item:first-child {
        border-top: 0;
    }
}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 479.98px) {

    .wd-final-contact__heading {
        font-size: 31px;
    }

    .wd-final-contact__description {
        font-size: 14px;
    }

    .wd-final-contact__visual {
        height: 270px;
    }

    .wd-final-contact__woman {
        width: 220px;
    }

    .wd-final-contact__visual-note {
        right: 0;
        font-size: 11px;
    }

    .wd-final-contact__form-card {
        padding: 19px 14px;
    }

    .wd-final-contact__form-heading h3 {
        font-size: 19px;
    }
}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .wd-final-contact__contact-card,
    .wd-final-contact__button {
        transition: none;
    }
}
