/**
 * Immigration Service Single Template Styles
 *
 * @package Visa_Matters
 */

/* =========================
   HERO
========================= */
.vm-services-hero {
    padding: 218px 0;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
}

.vm-hero-overlay {
    position: absolute;
    inset: 0;
    background: var(--vm-black, #0f0f0f);
    opacity: 0.30;
}

.vm-hero-title {
    font-family: var(--vm-font);
    font-size: var(--vm-fs-57);
    font-weight: var(--vm-fw-500);
    line-height: 63px;
    letter-spacing: -0.03em;
    color: var(--vm-white, #ffffff);
    position: relative;
    z-index: 1;
}

/* =========================
   ATTORNEYS SECTION
========================= */
.vm-attorneys-section {
    padding: 142px 0;
}

.vm-section-title {
    font-family: var(--vm-font);
    font-size: var(--vm-fs-46);
    font-weight: var(--vm-fw-500);
    line-height: 52px;
    letter-spacing: -0.03em;
    color: var(--vm-heading, #28264e);
}

.vm-section-desc {
    font-family: var(--vm-font);
    font-size: var(--vm-fs-20);
    line-height: 26px;
    letter-spacing: -0.02em;
    color: var(--vm-text-body, #3e3e3e);
}

.vm-sub-title {
    font-family: var(--vm-font);
    font-size: var(--vm-fs-32);
    font-weight: var(--vm-fw-600);
    color: var(--vm-heading, #28264e);
}

.vm-sub-desc {
    font-family: var(--vm-font);
    font-size: var(--vm-fs-16);
    line-height: 21px;
    letter-spacing: -0.01em;
    color: var(--vm-text-body, #3e3e3e);
}

.vm-attorney-img {
    width: 590px;
    max-width: 100%;
    height: 475px;
    object-fit: cover;
    border-radius: 6px;
}

/* =========================
   PROBLEMS SECTION
========================= */
.vm-problems-section {
    background: var(--vm-grey-light);
    padding: 127px 0;
	background-position: center center;
}

.vm-problems-title {
    font-family: var(--vm-font);
    font-size: var(--vm-fs-32);
    font-weight: var(--vm-fw-600);
    color: var(--vm-white);
}

.vm-problem-box {
    background: var(--vm-white, #ffffff);
    border-radius: 6px;
    padding: 20px;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.vm-problem-box h4 {
    font-family: var(--vm-font);
    font-size: var(--vm-fs-24);
    font-weight: var(--vm-fw-600);
    color: var(--vm-heading, #28264e);
    margin: 0;
}

.vm-divider {
    height: 1px;
    background: var(--vm-black, #0f0f0f);
    margin: 10px 0;
    flex-shrink: 0;
}
.vm-problem-box p {
    font-family: var(--vm-font);
    font-size: var(--vm-fs-16);
    color: var(--vm-text-body, #3e3e3e);
    flex-grow: 1;
    margin: 0;
}

.vm-problem-box a {
    font-family: var(--vm-font);
    font-weight: var(--vm-fw-700);
    font-size: var(--vm-fs-14);
    color: var(--vm-blue-dark, #4db1d8);
    text-decoration: none;
	margin-top: 15px;
}

.vm-problem-box a:hover {
    text-decoration: underline;
}

/* =========================
   WHY SECTION
========================= */
.vm-why-section {
    padding: 140px 0;
    background: var(--vm-white, #ffffff);
}

.vm-why-title {
    font-family: var(--vm-font);
    font-size: var(--vm-fs-32);
    font-weight: var(--vm-fw-700);
    color: var(--vm-heading, #28264e);
}

.vm-why-section h4 {
    font-family: var(--vm-font);
    font-size: var(--vm-fs-24);
    font-weight: var(--vm-fw-600);
    color: var(--vm-heading, #28264e);
}

.vm-why-section p {
    font-family: var(--vm-font);
    font-size: var(--vm-fs-16);
    color: var(--vm-text-body, #3e3e3e);
}

/* =========================
   HOW WE HELP
========================= */
.vm-help-section {
    background: var(--vm-grey-light);
    padding: 115px 0;
}

.vm-help-img {
    width: 590px;
    max-width: 100%;
    height: 475px;
    border-radius: 6px;
    object-fit: cover;
}

.vm-subtitle {
    font-family: var(--vm-font);
    font-size: var(--vm-fs-20);
    font-weight: var(--vm-fw-500);
    color: var(--vm-blue-dark, #4db1d8);
}

.vm-help-title {
    font-family: var(--vm-font);
    font-size: var(--vm-fs-46);
    font-weight: var(--vm-fw-500);
    line-height: 52px;
    letter-spacing: -0.03em;
    color: var(--vm-heading, #28264e);
}

@media (max-width: 991px) {

    .vm-help-img {
        margin-bottom: 30px;
    }
	
	.vm-attorney-img {
		margin-top:30px;
	}

}


/* =========================
   READY WRAPPER
========================= */
.vm-ready-wrapper {
    padding-bottom: 120px;
    background-color: var(--vm-grey-light);
}

/* READY BAR */
.vm-ready-bar {
    max-width: 1255px;
    width: 100%;
    min-height: 136px;
    background: var(--vm-heading, #28264e);
    border-radius: 6px;
    padding: 0 50px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    color: var(--vm-white, #ffffff);
    gap: 50px;
}

/* TEXT */
.vm-ready-bar h3 {
    font-family: var(--vm-font);
    font-size: var(--vm-fs-32);
    font-weight: var(--vm-fw-700);
    margin: 0;
    white-space: nowrap;
}

.vm-ready-bar p {
    font-family: var(--vm-font);
    font-size: var(--vm-fs-20);
    line-height: 26px;
    margin: 0;
}

.vm-ready-bar a {
    color: var(--vm-blue-accent, #50BAE2);
    font-weight: var(--vm-fw-600);
    text-decoration: none;
}

.vm-ready-bar a:hover {
    text-decoration: underline;
}

/* Vertical line */
.vm-vertical-line {
    height: 50px;
    border-left: 2px solid var(--vm-blue, #4cafd5);
}

/* =========================
   CONTACT TEAM
========================= */
.vm-contact-team {
    padding: 95px 0;
    background: var(--vm-blue-dark, #4db1d8);
    color: var(--vm-white, #ffffff);
}

.vm-contact-team h2 {
    font-family: var(--vm-font);
    font-size: var(--vm-fs-57);
    font-weight: var(--vm-fw-500);
    line-height: 63px;
    letter-spacing: -0.03em;
}

.vm-contact-team p {
    font-family: var(--vm-font);
    font-size: var(--vm-fs-18);
    max-width: 962px;
}

.vm-bottom-text {
    font-family: var(--vm-font);
    font-size: var(--vm-fs-32);
    font-weight: var(--vm-fw-600);
    color: var(--vm-purple-dark, #262262);
}

/* CONTACT ROW */
.vm-contact-row {
    align-items: flex-start;
}

/* Button column */
.vm-contact-team .col-lg-4 {
    display: flex;
    justify-content: flex-end;
}

/* =========================
   RESPONSIVE
========================= */
@media (max-width: 991px) {
    .vm-services-hero {
        padding: 120px 0;
    }

    .vm-hero-title {
        font-size: var(--vm-fs-42);
        line-height: 48px;
    }

    .vm-attorneys-section {
        padding: 80px 0;
    }

    .vm-section-title {
        font-size: var(--vm-fs-32);
        line-height: 40px;
    }

    .vm-problems-section {
        padding: 80px 0;
    }

    .vm-problem-box {
        height: auto;
        min-height: 250px;
    }

    .vm-why-section {
        padding: 80px 0;
    }

    .vm-help-section {
        padding: 80px 0;
    }

    .vm-help-title {
        font-size: var(--vm-fs-32);
        line-height: 40px;
    }

    .vm-ready-bar {
        flex-direction: column;
        align-items: flex-start;
        padding: 30px;
        gap: 20px;
    }

    .vm-vertical-line {
        display: none;
    }

    .vm-ready-bar h3 {
        font-size: var(--vm-fs-24);
    }

    .vm-ready-bar p {
        font-size: var(--vm-fs-16);
    }

    .vm-contact-team {
        padding: 60px 0;
    }

    .vm-contact-team h2 {
        font-size: var(--vm-fs-40);
        line-height: 46px;
    }

    .vm-contact-team .col-lg-4 {
        justify-content: flex-start;
        margin-top: 25px;
    }
}

@media (max-width: 767px) {
    .vm-services-hero {
        padding: 80px 0;
    }

    .vm-hero-title {
        font-size: var(--vm-fs-32);
        line-height: 38px;
    }

    .vm-attorneys-section {
        padding: 60px 0;
    }

    .vm-section-title,
    .vm-help-title {
        font-size: var(--vm-fs-27);
        line-height: 34px;
    }

    .vm-attorney-img,
    .vm-help-img {
        height: 300px;
    }

    .vm-problems-section {
        padding: 60px 0;
    }

    .vm-why-section {
        padding: 60px 0;
    }

    .vm-help-section {
        padding: 60px 0;
    }

    .vm-ready-wrapper {
        padding-bottom: 60px;
    }

    .vm-contact-team {
        padding: 40px 0;
    }

    .vm-contact-team h2 {
        font-size: var(--vm-fs-30);
        line-height: 36px;
    }

    .vm-bottom-text {
        font-size: var(--vm-fs-24);
    }
}
