/* =========================================================
   Travel Solutions - Hero Section
========================================================= */

.ts_hero_section {
    position: relative;

    width: 100%;
    height: 542px;

    background-image:
        url('../ets-images/travel-solutions/desktop-bg.webp');

    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;

    overflow: hidden;

    margin-top: 16px;
}


/* =========================================================
   Container
========================================================= */

.ts_hero_container {
    position: relative;

    height: 542px;
}


/* =========================================================
   Content Card
========================================================= */

.ts_hero_card {
    width: 100%;
    max-width: 940px;

    margin: 27px auto 0;

    padding: 22px 32px;

    background: #16386cb8;

    border-radius: 11px;

    color: #ffffff;

    text-align: center;
}


/* =========================================================
   Heading
========================================================= */

.ts_hero_title {
    margin: 0 0 8px;

    color: #ffffff;

    font-size: 30px;
    font-weight: 400;
    line-height: 1.3;
}

.ts_hero_title span {
    font-weight: 700;
}


/* =========================================================
   Description
========================================================= */

.ts_hero_description {
    margin: 0 auto 10px;

    color: #ffffff;

    font-size: 18px;
    font-weight: 400;
    line-height: 28px;
}

.ts_hero_desktop_description {
    display: block;
}

.ts_hero_mobile_description {
    display: none;
}


/* =========================================================
   Desktop / Tablet Button
========================================================= */

.ts_hero_program_btn {
    display: inline-flex;
    align-items: center;

    gap: 9px;

    padding: 0;

    border: 0;
    background: transparent;

    color: #ffffff;

    font-size: 18px;
    font-weight: 500;

    cursor: pointer;
}

.ts_hero_program_text {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.ts_hero_program_arrow {
    display: inline-block;

    font-size: 21px;
    font-weight: 400;
    line-height: 1;

    transition: transform 0.25s ease;
}

.ts_hero_program_btn:hover .ts_hero_program_arrow {
    transform: translateX(5px);
}


/* =========================================================
   Mobile Button
========================================================= */

.ts_hero_mobile_btn {
    display: none;

    align-items: center;
    justify-content: center;

    gap: 8px;

    width: fit-content;

    margin: 0 auto;

    padding: 6px 11px;

    background-color: #00000033;

    border: 1.5px solid #ffffff;
    border-radius: 4px;

    color: #ffffff;

    font-size: 16px;
    font-weight: 400;
    line-height: 1;

    text-decoration: none;

    transition:
        background-color 0.25s ease,
        color 0.25s ease;
}

.ts_hero_mobile_icon {
    display: block;

    width: 18px;
    height: 18px;

    object-fit: contain;
}


/* =========================================================
   Tablet
========================================================= */

@media (min-width: 768px) and (max-width: 991.98px) {

    .ts_hero_section {
        height: 500px;

        background-image:
            url('../ets-images/travel-solutions/tablet-bg.webp');

        background-position: center center;
         margin-top: 0px;
    }

    .ts_hero_container {
        height: 500px;
    }

    .ts_hero_card {
        max-width: 660px;

        margin-top: 28px;

        padding: 22px 28px;
    }

    .ts_hero_title {
        font-size: 26px;
    }

    .ts_hero_description {
        font-size: 18px;
        line-height: 1.5;
    }

    .ts_hero_program_btn {
        font-size: 18px;
    }

}


/* =========================================================
   Mobile
========================================================= */

@media (max-width: 767.98px) {

    .ts_hero_section {
        height: 548px;

        background-image:
            url('../ets-images/travel-solutions/mobile-bg.webp');

        background-size: cover;
        background-position: center top;
        margin-top: 0px;
    }

    .ts_hero_container {
        display: flex;
        align-items: flex-end;

        height: 548px;

        padding-left: 13px;
        padding-right: 13px;
        padding-bottom: 60px;
    }


    /* Card */

    .ts_hero_card {
        width: 100%;
        max-width: 100%;

        margin: 0;

        padding: 16px 13px 14px;

        background: #16386cd8;

        border-radius: 8px;
    }


    /* Heading */

    .ts_hero_title {
        margin-bottom: 10px;

        font-size: 20px;
        line-height: 25px;
    }

    .ts_hero_title span {
        display: block;

        font-weight: 700;
    }


    /* Text */

    .ts_hero_desktop_description {
        display: none;
    }

    .ts_hero_mobile_description {
        display: block;
    }

    .ts_hero_description {
        margin-bottom: 12px;

        font-size: 16px;
        line-height: 22px;
    }


    /* Hide Desktop CTA */

    .ts_hero_program_btn {
        display: none;
    }


    /* Show Mobile Button */

    .ts_hero_mobile_btn {
        display: inline-flex;
    }

}







/* =========================================================
   Protection Designed Around the Customer Journey
   Travel Solutions - Desktop Only
========================================================= */

.ts_customer_journey_section {
    background: #ffffff;
    padding: 5px 0 50px;
}


/* =========================================================
   Content
========================================================= */

.ts_customer_journey_content {
    width: 100%;
}


/* =========================================================
   Heading
========================================================= */

.ts_customer_journey_title {
    margin: 0 0 12px;

    color: #000000;

    font-size: 30px;
    font-weight: 400;
    line-height: 1.25;
}

.ts_customer_journey_title span {
    color: #345C9A;
    font-weight: 700;
}


/* =========================================================
   Description
========================================================= */

.ts_customer_journey_description {
    margin: 0 auto 20px;

    color: #000000;

    font-size: 18px;
    font-weight: 400;
    line-height: 28px;
}


/* =========================================================
   Gold CTA Button
========================================================= */

.ts_journey_gold_btn {
    position: relative;
    z-index: 1;
    padding: 6px 35px;
    background: linear-gradient(
        180deg,
        #D49C12 0%,
        #936E12 100%
    );

    border: 2px solid #D49C12;
    border-radius: 7px;

    color: #ffffff;

    font-size: 22px;
    font-weight: 700;
    line-height: 26px;

    text-align: center;

    cursor: pointer;
    overflow: hidden;

    box-shadow:
        0 3px 7px rgba(0, 0, 0, 0.18);

    transition:
        color 0.45s ease,
        border-color 0.45s ease,
        box-shadow 0.3s ease;
}


/* Text above animated layer */

.ts_journey_gold_btn span {
    position: relative;
    z-index: 2;
}


/* =========================================================
   White Animated Fill
========================================================= */

.ts_journey_gold_btn::before {
    content: "";

    position: absolute;

    top: 0;
    left: 0;
    bottom: 0;

    width: 0;

    background: #ffffff;

    z-index: 1;

    transition: width 0.45s ease;
}


/* LEFT → RIGHT on hover */

.ts_journey_gold_btn:hover::before {
    width: 100%;
}


/* Hover text / border */

.ts_journey_gold_btn:hover {
    color: #D49C12;
    border-color: #D49C12;

    box-shadow:
        0 5px 13px rgba(147, 110, 18, 0.20);
}
/* =========================================================
   Responsive Helpers
========================================================= */

.ts_customer_journey_description_mobile {
    display: none;
}

.ts_journey_gold_btn_mobile_break {
    display: inline;
}


/* =========================================================
   TABLET
========================================================= */

@media (min-width: 768px) and (max-width: 991.98px) {

    .ts_customer_journey_section {
        background: #ffffff;
        padding: 0px 20px 48px;
    }

    .ts_customer_journey_section .container {
        width: 100%;
        max-width: 100%;

        padding-left: 0 !important;
        padding-right: 0 !important;
    }


    /* =====================================================
       Content
    ===================================================== */

    .ts_customer_journey_content {
        width: 100%;
        max-width: 100%;
        margin: 0 auto;
    }


    /* =====================================================
       Heading
    ===================================================== */

    .ts_customer_journey_title {
        max-width: 720px;

        margin: 0 auto 16px;

        color: #000000;

        font-size: 30px;
        font-weight: 400;
        line-height: 1.25;
    }

    .ts_customer_journey_title span {
        display: block;

        color: #345C9A;

        font-weight: 700;
    }


    /* =====================================================
       Description
    ===================================================== */

    .ts_customer_journey_description_desktop {
        display: block;

        max-width: 900px;

        margin: 0 auto 16px;

        color: #000000;

        font-size: 18px;
        font-weight: 400;
        line-height: 1.5;
    }

    /*
     * Desktop ke forced BR tablet par remove,
     * taake screenshot ki tarah naturally wrap ho.
     */
    .ts_customer_journey_description_desktop br {
        display: none;
    }

    .ts_customer_journey_description_mobile {
        display: none;
    }


    /* =====================================================
       Gold Button
    ===================================================== */

    .ts_journey_gold_btn {
        width: auto;

        min-height: 54px;

        padding: 8px 34px;

        border-radius: 7px;

        font-size: 18px;
        line-height: 1.25;
    }

    .ts_journey_gold_btn_mobile_break {
        display: none;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767.98px) {

    .ts_customer_journey_section {
        background: #ffffff;

        padding: 0px 12px 34px;
    }

    .ts_customer_journey_section .container {
        width: 100%;
        max-width: 100%;

        padding-left: 0 !important;
        padding-right: 0 !important;
    }


    /* =====================================================
       Content
    ===================================================== */

    .ts_customer_journey_content {
        width: 100%;
        max-width: 100%;

        margin: 0 auto;
    }


    /* =====================================================
       Heading
    ===================================================== */

    .ts_customer_journey_title {
        max-width: 100%;

        margin: 0 0 12px;

        color: #000000;

        font-size: 20px;
        font-weight: 400;
        line-height: 1.35;
    }

    .ts_customer_journey_title span {
        display: block;

        color: #345C9A;

        font-weight: 700;
    }


    /* =====================================================
       Description
    ===================================================== */

    .ts_customer_journey_description_desktop {
        display: none;
    }

    .ts_customer_journey_description_mobile {
        display: block;

        max-width: 100%;

        margin: 0 auto 12px;

        color: #000000;

        font-size: 16px;
        font-weight: 400;
        line-height: 26px;
    }


    /* =====================================================
       Gold Button
    ===================================================== */

    .ts_journey_gold_btn {
        width: 100%;

        min-height: 58px;

        padding: 8px 12px;

        background: linear-gradient(
            180deg,
            #D49C12 0%,
            #936E12 100%
        );

        border: 2px solid #D49C12;
        border-radius: 6px;

        color: #ffffff;

        font-size: 16px;
        font-weight: 700;
        line-height: 1.45;

        box-shadow:
            0 3px 7px rgba(0, 0, 0, 0.16);
    }


    /*
     * Mobile screenshot:
     *
     * KEEP WHAT ALREADY WORKS.
     * ADD THE PROTECTION THAT'S MISSING.
     */

    .ts_journey_gold_btn_mobile_break {
        display: block;
    }


    /* Keep existing animation */

    .ts_journey_gold_btn:hover {
        color: #D49C12;
        border-color: #D49C12;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 380px) {

    .ts_customer_journey_section {
        padding:
            26px 16px 30px;
    }

    .ts_customer_journey_title {
        margin-bottom: 18px;

        font-size: 20px;
    }

    .ts_customer_journey_description_mobile {
        margin-bottom: 20px;

        font-size: 16px;
        line-height: 1.5;
    }

    .ts_journey_gold_btn {
        padding: 8px 8px;

        font-size: 15px;
    }

}







/* =========================================================
   Protection Solutions
   Travel Solutions - Desktop Only
========================================================= */

.ts_protection_matrix_section {
    background: #F4F9FF;
    padding: 40px 0 40px;
}


/* =========================================================
   Header
========================================================= */

.ts_protection_matrix_header {
    margin-bottom: 34px;
}

.ts_protection_matrix_title {
    margin: 0 0 8px;

    color: #000000;

    font-size: 30px;
    font-weight: 400;
    line-height: 1.2;
}

.ts_protection_matrix_title span {
    color: #345C9A;
    font-weight: 700;
}

.ts_protection_matrix_subtitle {
    margin: 0;

    color: #000000;

    font-size: 18px;
    font-weight: 400;
    line-height: 1.45;
}


/* =========================================================
   Grid
========================================================= */

.ts_protection_matrix_grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);

    column-gap: 24px;
    row-gap: 22px;
}


/* =========================================================
   Card
========================================================= */

.ts_protection_matrix_card {
    min-height: 311px;
    display: flex;
    flex-direction: column;
    padding: 20px 22px 18px;
    background: #ffffff;
    border: 1px solid #C5D6EA;
    border-radius: 12px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.03);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}


/* Same subtle hover as previous sections */

.ts_protection_matrix_card:hover {
    transform: translateY(-2px);

    box-shadow:
        0 6px 16px rgba(52, 92, 154, 0.18),
        0 2px 5px rgba(0, 0, 0, 0.08);
}


/* =========================================================
   Logo / Heading Row
========================================================= */

.ts_protection_matrix_top_row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
}

.ts_protection_matrix_logo_wrap {
    flex: 0 0 auto;

    display: flex;
    align-items: center;
    justify-content: center;
}

.ts_protection_matrix_logo {
    display: block;

    width: auto;
    height: auto;

    object-fit: contain;
}

.ts_protection_matrix_global_logo {
    max-width: 183px;
    max-height: 53px;
}

.ts_protection_matrix_skymed_logo {
    max-width: 178px;
    max-height: 45px;
}


/* Heading beside logo */

.ts_protection_matrix_product_heading {
    min-width: 0;
}

.ts_protection_matrix_product_heading h3 {
    margin: 0 0 2px;
    color: #000000;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.2;
}

.ts_protection_matrix_product_heading p {
    margin: 0;

    color: #000000;

    font-size: 16px;
    font-weight: 400;
    line-height: 28px;
}


/* =========================================================
   Text-only Heading
========================================================= */

.ts_protection_matrix_text_heading {
    margin-bottom: 14px;
}

.ts_protection_matrix_text_heading h3 {
    margin: 0 0 2px;

    color: #000000;

    font-size: 18px;
    font-weight: 600;
    line-height: 1.2;
}

.ts_protection_matrix_text_heading p {
    margin: 0;

    color: #000000;

    font-size: 16px;
    font-weight: 400;
    line-height: 28px;
}


/* =========================================================
   Description
========================================================= */

.ts_protection_matrix_description {
    margin: 0 0 14px;

    color: #000000;

    font-size: 18px;
    font-weight: 400;
    line-height: 25px;
}


/* =========================================================
   Ideal For
========================================================= */

.ts_protection_matrix_ideal {
    margin-bottom: 13px;
}

.ts_protection_matrix_ideal h4 {
    margin: 0 0 7px;
    color: #000000;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.2;
}

.ts_protection_matrix_ideal_grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);

    column-gap: 3px;
    row-gap: 5px;

    color: #000000;

    font-size: 15.5px;
    font-weight: 400;
    line-height: 28px;
}


/* 3-column cards */

.ts_protection_matrix_ideal_three {
    grid-template-columns: repeat(3, 1fr);
}


/* =========================================================
   CTA
========================================================= */

.ts_protection_matrix_link {
    display: inline-flex;
    align-items: center;

    gap: 9px;

    width: fit-content;

    margin-top: auto;

    padding: 0;

    border: 0;
    background: transparent;

    color: #345C9A;

    font-size: 18px;
    font-weight: 600;

    cursor: pointer;
}

.ts_protection_matrix_link_text {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.ts_protection_matrix_link_arrow {
    display: inline-block;

    font-size: 23px;
    line-height: 1;

    transition: transform 0.25s ease;
}

.ts_protection_matrix_link:hover
.ts_protection_matrix_link_arrow {
    transform: translateX(5px);
}


/* =========================================================
   Bottom Text
========================================================= */

.ts_protection_matrix_bottom {
    margin: 28px 0 0;
    color: #000000;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.4;
}
/* =========================================================
   Accordion Helpers
   Desktop remains visually unchanged
========================================================= */

.ts_protection_matrix_toggle {
    display: block;
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: default;
}

.ts_protection_matrix_body {
    display: flex;
    flex: 1;
    flex-direction: column;
    width: 100%;
}

.ts_protection_matrix_mobile_logo_line {
    display: contents;
}

.ts_protection_matrix_mobile_title_line {
    display: block;
}

.ts_protection_matrix_mobile_arrow {
    display: none;
}


/* Existing CTA works on <a> too */

.ts_protection_matrix_link {
    text-decoration: none;
}
/* =========================================================
   SMALL DESKTOP
========================================================= */

@media (min-width: 992px) and (max-width: 1399.98px) {
.ts_protection_matrix_ideal_grid {
    column-gap: 0px;
    font-size: 13.5px;
}
.ts_protection_matrix_card {
    padding: 20px 18px 18px;
}
.ts_protection_matrix_product_heading p {
    margin: 0;
    color: #000000;
    font-size: 14px;
}
.ts_protection_matrix_skymed_logo {
    max-width: 178px;
    max-height: 39px;
}
.ts_protection_matrix_global_logo {
    max-width: 183px;
    max-height: 43px;
}


}   
/* =========================================================
   TABLET
========================================================= */

@media (min-width: 768px) and (max-width: 991.98px) {

    .ts_protection_matrix_section {
        padding: 42px 20px 38px;
    }

    .ts_protection_matrix_section .container {
        width: 100%;
        max-width: 100%;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }


    /* Header */

    .ts_protection_matrix_header {
        margin-bottom: 22px;
    }

    .ts_protection_matrix_title {
        margin: 0 0 14px;
        font-size: 30px;
        line-height: 1.2;
    }

    .ts_protection_matrix_title span {
        color: #345C9A;
        font-weight: 700;
    }

    .ts_protection_matrix_subtitle {
        margin: 0 auto;
        font-size: 18px;
        line-height: 28px;
    }


    /* One card per row */

    .ts_protection_matrix_grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }


    /* Card */

    .ts_protection_matrix_card {
        min-height: 0;
        padding: 25px 24px 22px;
        border-radius: 12px;
    }

    .ts_protection_matrix_card:hover {
        transform: none;
    }


    /* Top Logo Row */

    .ts_protection_matrix_top_row {
        gap: 22px;
        margin-bottom: 20px;
    }

    .ts_protection_matrix_global_logo {
        max-width: 235px;
        max-height: 63px;
    }

    .ts_protection_matrix_skymed_logo {
        max-width: 225px;
        max-height: 63px;
    }


    /* Product title */

    .ts_protection_matrix_product_heading h3,
    .ts_protection_matrix_text_heading h3 {
        font-size: 18px;
        line-height: 1.2;
    }

    .ts_protection_matrix_product_heading p,
    .ts_protection_matrix_text_heading p {
        font-size: 16px;
        line-height: 1.35;
    }


    /* Text-only cards */

    .ts_protection_matrix_text_heading {
        margin-bottom: 16px;
    }


    /* Description */

    .ts_protection_matrix_description {
        margin-bottom: 16px;
        font-size: 18px;
        line-height: 27px;
    }


    /* Ideal */

    .ts_protection_matrix_ideal {
        margin-bottom: 16px;
    }

    .ts_protection_matrix_ideal h4 {
        margin-bottom: 8px;
        font-size: 20px;
    }

    .ts_protection_matrix_ideal_grid {
        column-gap: 24px;
        row-gap: 5px;
        font-size: 16px;
        line-height: 28px;
    }

    .ts_protection_matrix_ideal_three {
        grid-template-columns: repeat(3, 1fr);
    }


    /* CTA */

    .ts_protection_matrix_link {
        gap: 10px;
        font-size: 18px;
    }

    .ts_protection_matrix_link_arrow {
        font-size: 18px;
    }


    /* Bottom */

    .ts_protection_matrix_bottom {
        margin: 28px auto 0;
        font-size: 18px;
        line-height: 28px;
    }

}
/* =========================================================
   MOBILE - Accordion
========================================================= */

@media (max-width: 767.98px) {

    .ts_protection_matrix_section {
        padding: 35px 12px 35px;
    }

    .ts_protection_matrix_section .container {
        width: 100%;
        max-width: 100%;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }


    /* =====================================================
       Header
    ===================================================== */

    .ts_protection_matrix_header {
        margin-bottom: 16px;
    }

    .ts_protection_matrix_title {
        margin: 0;
        font-size: 20px;
        line-height: 1.3;
    }

    .ts_protection_matrix_title span {
        display: block;
        margin-bottom: 3px;
    }

    .ts_protection_matrix_subtitle {
        display: none;
    }


    /* =====================================================
       Grid
    ===================================================== */

    .ts_protection_matrix_grid {
        display: flex;
        flex-direction: column;
        gap: 10px;
    }


    /* =====================================================
       Card
    ===================================================== */

    .ts_protection_matrix_card {
        display: block;

        width: 100%;
        min-height: 0;

        padding: 0;

        overflow: hidden;

        background: #ffffff;

        border: 1px solid #C5D6EA;
        border-radius: 9px;

        box-shadow: none;

        text-align: left;
    }

    .ts_protection_matrix_card:hover {
        transform: none;
        box-shadow: none;
    }


    /* =====================================================
       Accordion Toggle
    ===================================================== */

    .ts_protection_matrix_toggle {
        position: relative;

        display: block;

        width: 100%;

        padding: 12px 12px 11px;

        cursor: pointer;

        text-align: left;
    }


    /* =====================================================
       Logo Cards
    ===================================================== */

    .ts_protection_matrix_top_row {
        display: block;
        margin: 0;
    }

    .ts_protection_matrix_mobile_logo_line {
        display: inline-flex;
        align-items: center;
        gap: 13px;
        max-width: 100%;
                margin-bottom: 6px;
    }

    .ts_protection_matrix_logo_wrap {
        display: flex;
        align-items: center;
        justify-content: flex-start;
    }

    .ts_protection_matrix_global_logo {
        max-width: 175px;
        max-height: 48px;
    }

    .ts_protection_matrix_skymed_logo {
        max-width: 175px;
        max-height: 48px;
    }


    /* =====================================================
       Arrow Triangle
    ===================================================== */

    .ts_protection_matrix_mobile_arrow {
        display: inline-block;

        width: 0;
        height: 0;

        flex: 0 0 auto;

        border-left: 6px solid transparent;
        border-right: 6px solid transparent;
        border-top: 9px solid #000000;

        transition: transform 0.25s ease;
    }


    /* Open = arrow points upward */

    .ts_protection_matrix_card.is-open
    .ts_protection_matrix_mobile_arrow {
        transform: rotate(180deg);
    }


    /* =====================================================
       Logo Card Headings
    ===================================================== */

    .ts_protection_matrix_product_heading {
        margin-top: 6px;
    }

    .ts_protection_matrix_product_heading h3 {
        margin: 0 0 4px;

        color: #345C9A;

        font-size: 16px;
        font-weight: 600;
        line-height: 1.2;
    }

    .ts_protection_matrix_product_heading p {
        margin: 0;

        color: #000000;

        font-size: 16px;
        font-weight: 500;
        line-height: 25px;
    }


    /* =====================================================
       Text-only Cards
    ===================================================== */

    .ts_protection_matrix_text_heading {
        margin: 0;
    }

    .ts_protection_matrix_mobile_title_line {
        display: flex;
        align-items: center;
        gap: 10px;
    }

    .ts_protection_matrix_text_heading h3 {
        margin: 0;

        color: #345C9A;

        font-size: 16px;
        font-weight: 600;
        line-height: 1.2;
    }

    .ts_protection_matrix_text_heading p {
        margin: 4px 0 0;

        color: #000000;

        font-size: 16px;
        font-weight: 500;
        line-height: 1.3;
    }


    /* =====================================================
       Accordion Body
    ===================================================== */

    .ts_protection_matrix_body {
        display: none;

        padding:
            0 12px 15px;
    }

    .ts_protection_matrix_card.is-open
    .ts_protection_matrix_body {
        display: flex;
    }


    /* =====================================================
       Description
    ===================================================== */

    .ts_protection_matrix_description {
        margin: -4px 0 13px;

        color: #000000;

        font-size: 16px;
        font-weight: 400;
        line-height: 1.55;
    }


    /* =====================================================
       Ideal For
       Hidden in mobile design
    ===================================================== */

    .ts_protection_matrix_ideal {
        display: none;
    }


    /* =====================================================
       CTA
    ===================================================== */

    .ts_protection_matrix_link {
        display: inline-flex;
        align-items: center;

        gap: 9px;

        width: fit-content;

        margin: 0;

        color: #345C9A;

        font-size: 16px;
        font-weight: 600;

        text-decoration: none;
    }

    .ts_protection_matrix_link_text {
        text-decoration: underline;
        text-underline-offset: 3px;
    }

    .ts_protection_matrix_link_arrow {
        font-size: 22px;
    }


    /* =====================================================
       Bottom Text
    ===================================================== */

    .ts_protection_matrix_bottom {
        margin: 16px auto 0;
        color: #000000;
        font-size: 16px;
        line-height: 1.4;
    }

}









/* =========================================================
   Direct Booking Protection Flow
   Travel Solutions - Desktop Only
========================================================= */

.ts_booking_flow_section {
    background: #ffffff;
    padding: 43px 0 50px;
}


/* =========================================================
   Header
========================================================= */

.ts_booking_flow_header {
    margin-bottom: 32px;
}

.ts_booking_flow_title {
    margin: 0 0 8px;

    color: #000000;

    font-size: 30px;
    font-weight: 400;
    line-height: 1.2;
}

.ts_booking_flow_title span {
    color: #345C9A;
    font-weight: 700;
}

.ts_booking_flow_subtitle {
    margin: 0 auto;

    color: #000000;

    font-size: 18px;
    font-weight: 400;
    line-height: 28px;
}

.ts_booking_flow_subtitle strong {
    font-weight: 600;
}


/* =========================================================
   Flow Layout
========================================================= */

.ts_booking_flow_track {
    display: flex;
    align-items: center;

    width: 100%;
}


/* =========================================================
   Animation Wrappers
========================================================= */

.ts_booking_flow_reveal {
    flex: 1 1 0;

    min-width: 0;

    opacity: 0;

    transform: translateX(-28px);
}

.ts_booking_flow_arrow_reveal {
    flex: 0 0 46px;

    display: flex;
    align-items: center;
    justify-content: center;

    opacity: 0;

    transform: translateX(-18px);

    position: relative;
    z-index: 3;
}


/* =========================================================
   Card
========================================================= */

.ts_booking_flow_card {
    display: flex;
    flex-direction: column;

    padding: 12px 9px 10px;

    background: #F4F9FF;

    border: 1px solid #CADBEF;
    border-radius: 12px;

    overflow: hidden;

    text-align: center;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}


/* Same subtle card hover */

.ts_booking_flow_card:hover {
    transform: translateY(-2px);

    box-shadow:
        0 6px 16px rgba(52, 92, 154, 0.18),
        0 2px 5px rgba(0, 0, 0, 0.08);
}


/* =========================================================
   Step Number
========================================================= */

.ts_booking_flow_number {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 41px;
    height: 41px;

    margin: 0 auto 9px;

    background: #345C9A;

    border-radius: 50%;

    color: #ffffff;

    font-size: 27px;
    font-weight: 600;
    line-height: 1;
}


/* Slight variations like screenshot */

.ts_booking_flow_reveal:nth-of-type(1)
.ts_booking_flow_number {
    background: #A7BAD7;
}
.ts_booking_flow_reveal:nth-of-type(3)
.ts_booking_flow_number {
    background: #819BC2;
}
.ts_booking_flow_reveal:nth-of-type(5)
.ts_booking_flow_number {
    background: #5A7BAE;
}



/* =========================================================
   Card Heading
========================================================= */

.ts_booking_flow_card h3 {
    display: flex;
    align-items: center;
    justify-content: center;;

    margin: 0 0 9px;

    color: #000000;

    font-size: 18px;
    font-weight: 400;
    line-height: 21px;
}


/* =========================================================
   Card Image
========================================================= */

.ts_booking_flow_media {
    width: 100%;
    height: 215px;

    margin-top: auto;

    overflow: hidden;

    border-radius: 0 0 11px 11px;
}

.ts_booking_flow_image {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}


/* =========================================================
   SVG Arrows
========================================================= */

.ts_booking_flow_arrow {
    display: block;

    width: 35px;
    height: 24px;

    object-fit: contain;
}


/* =========================================================
   Scroll Animation
========================================================= */

.ts_booking_flow_section.ts_booking_flow_visible
.ts_booking_flow_reveal {
    animation:
        tsBookingFlowCardIn 0.55s ease forwards;

    animation-delay: var(--ts-flow-delay);
}

.ts_booking_flow_section.ts_booking_flow_visible
.ts_booking_flow_arrow_reveal {
    animation:
        tsBookingFlowArrowIn 0.45s ease forwards;

    animation-delay: var(--ts-flow-delay);
}


/* Card enters left -> right */

@keyframes tsBookingFlowCardIn {

    from {
        opacity: 0;
        transform: translateX(-28px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }

}


/* Arrow enters and moves slightly right */

@keyframes tsBookingFlowArrowIn {

    0% {
        opacity: 0;
        transform: translateX(-18px);
    }

    70% {
        opacity: 1;
        transform: translateX(5px);
    }

    100% {
        opacity: 1;
        transform: translateX(0);
    }

}
/* =========================================================
   Responsive Helpers
========================================================= */

.ts_booking_flow_title_mobile {
    display: none;
}

.ts_booking_flow_tablet_break {
    display: none;
}


/* =========================================================
   TABLET
   768px - 991.98px
========================================================= */

@media (min-width: 768px) and (max-width: 991.98px) {

    .ts_booking_flow_section {
        background: #ffffff;
        padding: 52px 20px 46px;
    }


    .ts_booking_flow_section .container {
        width: 100%;
        max-width: 100%;

        padding-left: 0 !important;
        padding-right: 0 !important;
    }


    /* =====================================================
       Header
    ===================================================== */

    .ts_booking_flow_header {
        max-width: 100%;

        margin: 0 auto 42px;
    }


    .ts_booking_flow_title_desktop {
        display: block;
    }


    .ts_booking_flow_title_mobile {
        display: none;
    }


    .ts_booking_flow_title {
        max-width: 900px;

        margin: 0 auto 16px;

        color: #000000;

        font-size: 30px;
        font-weight: 400;
        line-height: 1.25;
    }


    .ts_booking_flow_title span {
        color: #345C9A;

        font-weight: 700;
    }


    /*
     * Screenshot:
     *
     * Turn a Direct Booking Into an Opportunity
     * to Add Protection
     */

    .ts_booking_flow_tablet_break {
        display: block;
    }


    .ts_booking_flow_subtitle {
        margin: 0 auto;

        color: #000000;

        font-size: 18px;
        font-weight: 400;
        line-height: 1.5;
    }


    .ts_booking_flow_subtitle br {
        display: none;
    }


    .ts_booking_flow_subtitle strong {
        font-weight: 600;
    }


    /* =====================================================
       Flow
       4 Cards In One Row
    ===================================================== */

    .ts_booking_flow_track {
        display: grid;

        grid-template-columns:
            repeat(4, minmax(0, 1fr));

        gap: 14px;

        align-items: stretch;
    }


    /* No arrows in supplied tablet design */

    .ts_booking_flow_arrow_reveal {
        display: none;
    }


    /* =====================================================
       Reveal Wrapper
    ===================================================== */

    .ts_booking_flow_reveal {
        min-width: 0;
        width: 100%;
    }


    /* =====================================================
       Card
    ===================================================== */

    .ts_booking_flow_card {
        position: relative;

        display: flex;
        flex-direction: column;

        width: 100%;

        padding: 0 0 15px;

        background: #F4F9FF;

        border: 1px solid #CADBEF;
        border-radius: 12px;

        overflow: visible;

        text-align: center;

        box-shadow: none;
    }


    .ts_booking_flow_card:hover {
        transform: none;
        box-shadow: none;
    }


    /* =====================================================
       Number
    ===================================================== */

    .ts_booking_flow_number {
        position: absolute;

        top: -11px;
        left: 11px;

        z-index: 5;

        width: 41px;
        height: 41px;

        margin: 0;

        border: 2px solid #F4F9FF;

        font-size: 27px;
        font-weight: 600;
    }


    /* =====================================================
       Image First
    ===================================================== */

    .ts_booking_flow_media {
        order: 1;

        width: 100%;
        height: 152px;

        margin: 0;

        overflow: hidden;

        border-radius:
            12px 12px 0 0;
    }


    .ts_booking_flow_image {
        width: 100%;
        height: 100%;
        padding: 5px;
        object-fit: cover;
    }


    /* =====================================================
       Heading Under Image
    ===================================================== */

    .ts_booking_flow_card h3 {
        order: 2;

        display: flex;
        align-items: center;
        justify-content: center;

        flex: 1;

        margin: 0;

        padding:
            12px 8px 2px;

        color: #000000;

        font-size: 16px;
        font-weight: 400;
        line-height: 20px;
    }

}


/* =========================================================
   MOBILE
   Up to 767.98px
========================================================= */

@media (max-width: 767.98px) {

    .ts_booking_flow_section {
        background: #ffffff;

        padding: 30px 12px 24px;
    }


    .ts_booking_flow_section .container {
        width: 100%;
        max-width: 100%;

        padding-left: 0 !important;
        padding-right: 0 !important;
    }


    /* =====================================================
       Header
    ===================================================== */

    .ts_booking_flow_header {
        margin: 0 0 17px;

        text-align: center;
    }


    .ts_booking_flow_title_desktop {
        display: none;
    }


    .ts_booking_flow_title_mobile {
        display: block;

        margin: 0 auto;

        color: #000000;

        font-size: 20px;
        font-weight: 400;
        line-height: 1.25;
    }


    .ts_booking_flow_title_mobile span {
        color: #345C9A;

        font-weight: 700;
    }


    /* Mobile screenshot has no description */

    .ts_booking_flow_subtitle {
        display: none;
    }


    /* =====================================================
       Vertical Flow
    ===================================================== */

    .ts_booking_flow_track {
        display: flex;
        flex-direction: column;

        width: 100%;

        gap: 0;
    }


    .ts_booking_flow_reveal {
        flex: none;

        width: 100%;
        min-width: 0;
    }


    /* =====================================================
       Horizontal Mobile Card
    ===================================================== */

    .ts_booking_flow_card {
        display: grid;

        grid-template-columns:
            46% 54%;

        grid-template-rows:
            53px 1fr;

        width: 100%;
        min-height: 130px;

        padding: 0;

        background: #F4F9FF;

        border: 1px solid #CADBEF;
        border-radius: 10px;

        overflow: hidden;

        text-align: left;

        box-shadow: none;
    }


    .ts_booking_flow_card:hover {
        transform: none;
        box-shadow: none;
    }


    /* =====================================================
       Number
    ===================================================== */

    .ts_booking_flow_number {
        grid-column: 1;
        grid-row: 1;

        display: flex;
        align-items: center;
        justify-content: center;

        width: 36px;
        height: 36px;

        margin:
            16px 0 0 11px;

        border-radius: 50%;

        color: #ffffff;

        font-size: 22px;
        font-weight: 600;
        line-height: 1;
    }


    /* =====================================================
       Heading Left
    ===================================================== */

    .ts_booking_flow_card h3 {
        grid-column: 1;
        grid-row: 2;

        display: flex;
        align-items: flex-start;
        justify-content: flex-start;

        min-height: 0;

        margin: 0;

        padding:
            11px 8px 12px 11px;

        color: #000000;

        font-size: 16px;
        font-weight: 400;
        line-height: 1.15;

        text-align: left;
    }


    /* =====================================================
       Image Right
    ===================================================== */

    .ts_booking_flow_media {
        grid-column: 2;
        /* grid-row: 1 / 3; */

        width: 100%;
        height: 100%;

        min-height: 123px;

        margin: 0;

        overflow: hidden;

        border-radius: 2px;
    }


    .ts_booking_flow_image {
        display: block;

        width: 100%;
        height: 100%;

        object-fit: cover;        
        padding: 5px 10px 5px 5px;
        border-radius: 2px;

    }


    /* =====================================================
       Mobile Down Arrow
    ===================================================== */

    .ts_booking_flow_arrow_reveal {
        flex: none;

        display: flex;
        align-items: center;
        justify-content: center;

        width: 100%;
        height: 19px;

        opacity: 0;

        transform: translateY(-5px);
    }


    .ts_booking_flow_arrow_picture {
        display: flex;
        align-items: center;
        justify-content: center;
    }


    .ts_booking_flow_arrow {
        display: block;

        width: 15px;
        height: 15px;

        object-fit: contain;
    }


    /* =====================================================
       Mobile Animation
    ===================================================== */

    .ts_booking_flow_reveal {
        opacity: 0;

        transform: translateY(14px);
    }


    .ts_booking_flow_section.ts_booking_flow_visible
    .ts_booking_flow_reveal {
        animation:
            tsBookingFlowMobileCardIn
            0.45s ease forwards;

        animation-delay:
            var(--ts-flow-delay);
    }


    .ts_booking_flow_section.ts_booking_flow_visible
    .ts_booking_flow_arrow_reveal {
        animation:
            tsBookingFlowMobileArrowIn
            0.35s ease forwards;

        animation-delay:
            var(--ts-flow-delay);
    }

}


/* =========================================================
   Mobile Card Animation
========================================================= */

@keyframes tsBookingFlowMobileCardIn {

    from {
        opacity: 0;

        transform:
            translateY(14px);
    }

    to {
        opacity: 1;

        transform:
            translateY(0);
    }

}


/* =========================================================
   Mobile Arrow Animation
========================================================= */

@keyframes tsBookingFlowMobileArrowIn {

    from {
        opacity: 0;

        transform:
            translateY(-5px);
    }

    to {
        opacity: 1;

        transform:
            translateY(0);
    }

}







/* =========================================================
   Protection Across the Customer Journey
   Travel Solutions - Desktop Only
========================================================= */

.ts_journey_protection_section {
    background: #F4F9FF;
    padding: 42px 0 34px;
}


/* =========================================================
   Header
========================================================= */

.ts_journey_protection_header {
    margin-bottom: 34px;
}

.ts_journey_protection_title {
    margin: 0 0 12px;

    color: #000000;

    font-size: 30px;
    font-weight: 400;
    line-height: 1.2;
}

.ts_journey_protection_title span {
    color: #345C9A;
    font-weight: 700;
}

.ts_journey_protection_subtitle {
    margin: 0 auto;

    color: #000000;

    font-size: 18px;
    font-weight: 400;
    line-height: 28px;
}


/* =========================================================
   Grid
========================================================= */

.ts_journey_protection_grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);

    gap: 22px 24px;
}


/* =========================================================
   Card
========================================================= */

.ts_journey_protection_card {
    display: grid;
    grid-template-columns: 58% 42%;

    min-height: 198px;

    padding: 14px;

    background: #ffffff;

    border: 1px solid #bfd2e8;
    border-radius: 6px;

    overflow: hidden;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}


/* Same subtle hover used on previous cards */

.ts_journey_protection_card:hover {
    transform: translateY(-2px);

    box-shadow:
        0 6px 16px rgba(52, 92, 154, 0.18),
        0 2px 5px rgba(0, 0, 0, 0.08);
}


/* =========================================================
   Card Content
========================================================= */

.ts_journey_protection_content {
    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 12px 14px 12px 10px;
}

.ts_journey_protection_content h4 {
    margin: 0 0 6px;

    color: #345C9A;

    font-size: 16px;
    font-weight: 600;
    line-height: 1.2;
}

.ts_journey_protection_content h3 {
    margin: 0 0 17px;

    color: #000000;

    font-size: 20px;
    font-weight: 500;
    line-height: 1.2;
}

.ts_journey_protection_content p {
    margin: 0;

    color: #000000;

    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
}


/* =========================================================
   Image
========================================================= */

.ts_journey_protection_media {
    width: 100%;
    height: 100%;

    min-height: 174px;

    overflow: hidden;

    border-radius: 5px;
}

.ts_journey_protection_image {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}


/* =========================================================
   Bottom Text
========================================================= */

.ts_journey_protection_bottom_text {
    margin: 28px 0 0;

    color: #000000;

    font-size: 18px;
    font-weight: 400;
    line-height: 1.4;
}

/* Mobile content hidden on desktop / tablet */

.ts_journey_protection_mobile_content {
    display: none;
}
/* =========================================================
   TABLET
   Protection Across the Customer Journey
========================================================= */

@media (min-width: 768px) and (max-width: 991.98px) {

    .ts_journey_protection_section {
        padding: 48px 20px 40px;
    }

    .ts_journey_protection_section .container {
        width: 100%;
        max-width: 100%;

        padding-left: 0 !important;
        padding-right: 0 !important;
    }


    /* =====================================================
       Header
    ===================================================== */

    .ts_journey_protection_header {
        margin-bottom: 26px;
    }

    .ts_journey_protection_title {
        margin: 0 0 18px;

        font-size: 30px;
        line-height: 1.2;
    }

    .ts_journey_protection_title span {
        color: #345C9A;
        font-weight: 700;
    }

    .ts_journey_protection_subtitle {
        max-width: 1050px;

        margin: 0 auto;

        font-size: 18px;
        line-height: 1.5;
    }

    .ts_journey_protection_subtitle br {
        display: none;
    }


    /* =====================================================
       Grid
       One Card Per Row
    ===================================================== */

    .ts_journey_protection_grid {
        display: grid;

        grid-template-columns: 1fr;

        gap: 18px;
    }


    /* =====================================================
       Card
    ===================================================== */

    .ts_journey_protection_card {
        display: grid;

        grid-template-columns: 60% 40%;

        padding: 14px;

        background: #ffffff;

        border: 1px solid #bfd2e8;
        border-radius: 8px;

        overflow: hidden;
    }

    .ts_journey_protection_card:hover {
        transform: none;
    }


    /* =====================================================
       Content
    ===================================================== */

    .ts_journey_protection_desktop_content {
        display: flex;
    }

    .ts_journey_protection_mobile_content {
        display: none;
    }

    .ts_journey_protection_content {
        justify-content: center;

        padding: 18px 24px 18px 14px;
    }

    .ts_journey_protection_content h4 {
        margin: 0 0 7px;

        font-size: 16px;
        line-height: 1.2;
    }

    .ts_journey_protection_content h3 {
        margin: 0 0 18px;

        font-size: 20px;
        line-height: 1.2;
    }

    .ts_journey_protection_content p {
        margin: 0;

        font-size: 18px;
        line-height: 1.5;
    }


    /* =====================================================
       Image
    ===================================================== */

    .ts_journey_protection_media {
        width: 100%;
        height: 100%;

        min-height: 160px;

        border-radius: 8px;
    }

    .ts_journey_protection_image {
        width: 100%;
        height: 100%;

        object-fit: cover;
    }


    /* =====================================================
       Bottom
    ===================================================== */

    .ts_journey_protection_bottom_text {
        margin: 32px 0 0;

        font-size: 18px;
        line-height: 1.4;
    }

}
/* =========================================================
   MOBILE
   Protection Across the Customer Journey
========================================================= */

@media (max-width: 767.98px) {

    .ts_journey_protection_section {
        padding: 28px 12px 30px;
    }

    .ts_journey_protection_section .container {
        width: 100%;
        max-width: 100%;

        padding-left: 0 !important;
        padding-right: 0 !important;
    }


    /* =====================================================
       Header
    ===================================================== */

    .ts_journey_protection_header {
        margin-bottom: 20px;
    }

    .ts_journey_protection_title {
        margin: 0;

        color: #000000;

        font-size: 20px;
        font-weight: 400;
        line-height: 1.3;
    }

    .ts_journey_protection_title span {
        display: block;

        margin-top: 2px;

        color: #345C9A;

        font-weight: 700;
    }


    /* Mobile screenshot has no subtitle */

    .ts_journey_protection_subtitle {
        display: none;
    }


    /* =====================================================
       Grid
    ===================================================== */

    .ts_journey_protection_grid {
        display: flex;
        flex-direction: column;

        gap: 10px;
    }


    /* =====================================================
       Mobile Card
    ===================================================== */

    .ts_journey_protection_card {
        display: grid;

        grid-template-columns: 34% 66%;

        width: 100%;
        min-height: 116px;

        padding: 8px;

        background: #ffffff;

        border: 0;
        border-radius: 9px;

        overflow: hidden;

        box-shadow:
            0 3px 8px rgba(0, 0, 0, 0.15);
    }

    .ts_journey_protection_card:hover {
        transform: none;

        box-shadow:
            0 3px 8px rgba(0, 0, 0, 0.15);
    }


    /* Hide Desktop Content */

    .ts_journey_protection_desktop_content {
        display: none;
    }


    /* =====================================================
       Image Left
    ===================================================== */

    .ts_journey_protection_media {
        grid-column: 1;

        width: 100%;
        height: 100%;

        min-height: 100px;

        border-radius: 6px;

        overflow: hidden;
    }

    .ts_journey_protection_image {
        display: block;

        width: 100%;
        height: 100%;

        object-fit: cover;
    }


    /* =====================================================
       Mobile Content Right
    ===================================================== */

    .ts_journey_protection_mobile_content {
        grid-column: 2;

        display: flex;
        flex-direction: column;
        justify-content: center;

        padding: 4px 6px 4px 12px;

        color: #000000;
    }

    .ts_journey_protection_mobile_content h3 {
        margin: 0 0 5px;

        color: #000000;

        font-size: 16px;
        font-weight: 400;
        line-height: 1.2;
    }

    .ts_journey_protection_mobile_content h3 span {
        color: #345C9A;

        font-weight: 700;
    }

    .ts_journey_protection_mobile_content p {
        margin: 0;

        color: #000000;

        font-size: 16px;
        font-weight: 400;
        line-height: 1.32;
    }


    /* =====================================================
       Bottom Text
       Hidden in mobile reference
    ===================================================== */

    .ts_journey_protection_bottom_text {
        display: none;
    }

}








/* =========================================================
   Embedded Distribution
   Travel Solutions - Desktop Only
========================================================= */

.ts_embedded_distribution_section {
    background: #ffffff;
    padding: 42px 0 40px;
}


/* =========================================================
   Header
========================================================= */

.ts_embedded_distribution_header {
    margin-bottom: 34px;
}

.ts_embedded_distribution_title {
    margin: 0 0 12px;
    color: #345C9A;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.2;
}
.ts_embedded_distribution_heading {
    color: #000000;
    font-size: 30px;
    font-weight: 400;
    line-height: 1.2;
}
.ts_embedded_distribution_subheading {
    margin: 0 0 12px;
    color: #000000;
    font-size: 28px;
    font-weight: 400;
    line-height: 1.2;
}

.ts_embedded_distribution_subtitle {
    margin: 0 auto;
    color: #000000;
    font-size: 18px;
    font-weight: 400;
    line-height: 28px;
}


/* =========================================================
   Grid
========================================================= */

.ts_embedded_distribution_grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 22px 18px;
}


/* =========================================================
   Card
========================================================= */

.ts_embedded_distribution_card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    padding: 18px 8px 16px;

    background: #ffffff;

    border-radius: 7px;

    box-shadow: 0 3px 9px rgba(0, 0, 0, 0.13);

    text-align: center;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}


/* Same hover effect */

.ts_embedded_distribution_card:hover {
    transform: translateY(-2px);

    box-shadow:
        0 6px 16px rgba(52, 92, 154, 0.18),
        0 2px 5px rgba(0, 0, 0, 0.08);
}


/* =========================================================
   Icon
========================================================= */

.ts_embedded_distribution_icon_wrap {
    height: 90px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin-bottom: 8px;
}

.ts_embedded_distribution_icon {
    display: block;

    max-width: 126px;
    max-height: 90px;

    width: auto;
    height: auto;

    object-fit: contain;
}


/* =========================================================
   Card Heading
========================================================= */

.ts_embedded_distribution_card h4 {
    margin: 0;

    color: #000000;

    font-size: 18px;
    font-weight: 400;
    line-height: 1.25;
}


/* =========================================================
   Bottom Text
========================================================= */

.ts_embedded_distribution_bottom_text {
    margin: 30px 0 0;

    color: #000000;

    font-size: 18px;
    font-weight: 400;
    line-height: 1.4;
}

.ts_embedded_distribution_bottom_text strong {
    font-weight: 600;
}
/* =========================================================
   Responsive Helpers
========================================================= */

.ts_embedded_distribution_subtitle_mobile {
    display: none;
}


/* =========================================================
   TABLET
   768px - 991.98px
========================================================= */

@media (min-width: 768px) and (max-width: 991.98px) {

    .ts_embedded_distribution_section {
        background: #ffffff;
        padding: 32px 20px 40px;
    }

    .ts_embedded_distribution_section .container {
        width: 100%;
        max-width: 100%;

        padding-left: 0 !important;
        padding-right: 0 !important;
    }


    /* =====================================================
       Header
    ===================================================== */

    .ts_embedded_distribution_header {
        margin-bottom: 28px;
    }

    .ts_embedded_distribution_title {
        margin: 0 0 10px;
        color: #345C9A;
        font-size: 30px;
        font-weight: 700;
        line-height: 1.2;
    }

    .ts_embedded_distribution_heading {
        display: none;
    }

    .ts_embedded_distribution_subtitle_desktop {
        display: block;

        max-width: 720px;

        margin: 0 auto;

        color: #000000;

        font-size: 18px;
        font-weight: 400;
        line-height: 1.45;
    }

    .ts_embedded_distribution_subtitle_mobile {
        display: none;
    }


    /* =====================================================
       Grid
       4 + 4 + 2
    ===================================================== */

    .ts_embedded_distribution_grid {
        display: grid;

        grid-template-columns:
            repeat(4, minmax(0, 1fr));

        gap: 20px 14px;
    }


    /* Center Last Two Cards */

    .ts_embedded_distribution_card:nth-child(9) {
        grid-column: 2;
    }

    .ts_embedded_distribution_card:nth-child(10) {
        grid-column: 3;
    }


    /* =====================================================
       Cards
    ===================================================== */

    .ts_embedded_distribution_card {

        padding: 14px 8px 13px;

        border-radius: 7px;

        box-shadow:
            0 3px 9px rgba(0, 0, 0, 0.13);
    }

    .ts_embedded_distribution_card:hover {
        transform: none;

        box-shadow:
            0 3px 9px rgba(0, 0, 0, 0.13);
    }


    /* =====================================================
       Icon
    ===================================================== */

    .ts_embedded_distribution_icon_wrap {
        height: 67px;

        margin-bottom: 7px;
    }

    .ts_embedded_distribution_icon {
        max-width: 92px;
        max-height: 67px;
    }


    /* =====================================================
       Card Heading
    ===================================================== */

    .ts_embedded_distribution_card h4 {
        margin: 0;

        color: #000000;

        font-size: 18px;
        font-weight: 400;
        line-height: 1.25;
    }


    /* =====================================================
       Bottom
    ===================================================== */

    .ts_embedded_distribution_bottom_text {
        margin: 28px 0 0;

        color: #000000;

        font-size: 18px;
        line-height: 1.4;
    }

}


/* =========================================================
   MOBILE
   Up to 767.98px
========================================================= */

@media (max-width: 767.98px) {

    .ts_embedded_distribution_section {
        background: #ffffff;

        padding: 35px 12px 40px;
    }

    .ts_embedded_distribution_section .container {
        width: 100%;
        max-width: 100%;

        padding-left: 0 !important;
        padding-right: 0 !important;
    }


    /* =====================================================
       Header
    ===================================================== */

    .ts_embedded_distribution_header {
        margin-bottom: 15px;

        padding: 0 11px;
    }

    .ts_embedded_distribution_title {
        margin: 0 0 7px;

        color: #345C9A;

        font-size: 20px;
        font-weight: 700;
        line-height: 1.2;
    }

    .ts_embedded_distribution_heading {
        display: none;
    }


    /* Desktop/Tablet Subtitle Hidden */

    .ts_embedded_distribution_subtitle_desktop {
        display: none;
    }


    /* Mobile-specific Text */

    .ts_embedded_distribution_subtitle_mobile {
        display: block;

        margin: 0 auto;

        color: #000000;

        font-size: 16px;
        font-weight: 400;
        line-height: 1.4;
    }


    /* =====================================================
       Grid
       2 Columns x 5 Rows
    ===================================================== */

    .ts_embedded_distribution_grid {
        display: grid;

        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 10px;
    }


    /*
     * Cancel tablet positioning
     */

    .ts_embedded_distribution_card:nth-child(9),
    .ts_embedded_distribution_card:nth-child(10) {
        grid-column: auto;
    }


    /* =====================================================
       Card
    ===================================================== */

    .ts_embedded_distribution_card {
  
        padding: 8px 35px 7px;

        background: #ffffff;

        border-radius: 6px;

        box-shadow:
            0 2px 7px rgba(0, 0, 0, 0.14);
    }

    .ts_embedded_distribution_card:hover {
        transform: none;

        box-shadow:
            0 2px 7px rgba(0, 0, 0, 0.14);
    }


    /* =====================================================
       Icon
    ===================================================== */

    .ts_embedded_distribution_icon_wrap {
        height: 55px;

        margin-bottom: 3px;
    }

    .ts_embedded_distribution_icon {
        max-width: 66px;
        max-height: 55px;
    }


    /* =====================================================
       Heading
    ===================================================== */

    .ts_embedded_distribution_card h4 {
        margin: 0;

        color: #000000;

        font-size: 16px;
        font-weight: 400;
        line-height: 19px;
    }


    /* =====================================================
       Bottom Text
       Not shown in mobile reference
    ===================================================== */

    .ts_embedded_distribution_bottom_text {
        display: none;
    }

}










/* =========================================================
   Program Development & Integration
   Travel Solutions
========================================================= */

.ts_program_integration_section {
    background: #F4F9FF;
    padding: 40px 0;
}


/* =========================================================
   Header
========================================================= */

.ts_program_integration_header {
    margin-bottom: 32px;
}

.ts_program_integration_title {
    margin: 0 0 12px;

    color: #000000;

    font-size: 30px;
    font-weight: 400;
    line-height: 1.2;
}

.ts_program_integration_title span {
    color: #345C9A;
    font-weight: 700;
}

.ts_program_integration_title_tablet,
.ts_program_integration_title_mobile {
    display: none;
}

.ts_program_integration_subtitle {
    max-width: 85%;

    margin: 0 auto;

    color: #000000;

    font-size: 18px;
    font-weight: 400;
    line-height: 28px;
}


/* =========================================================
   Grid
========================================================= */

.ts_program_integration_grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    column-gap: 20px;
    row-gap: 28px;
}


/* =========================================================
   Card
========================================================= */

.ts_program_integration_card {
    background: #ffffff;

    border: 1px solid #dddddd;
    border-radius: 9px;

    overflow: hidden;

    box-shadow:
        0 3px 9px rgba(0, 0, 0, 0.16);

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.ts_program_integration_card:hover {
    transform: translateY(-2px);

    box-shadow:
        0 6px 16px rgba(52, 92, 154, 0.18),
        0 2px 5px rgba(0, 0, 0, 0.08);
}


/* =========================================================
   Image
========================================================= */

.ts_program_integration_media {
    width: 100%;
    height: 223px;

    overflow: hidden;
}

.ts_program_integration_image {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}


/* =========================================================
   Card Content
========================================================= */

.ts_program_integration_content {
    padding: 20px 20px 18px;

    text-align: center;
}

.ts_program_integration_content h3 {
    margin: 0 0 5px;

    color: #345C9A;

    font-size: 20px;
    font-weight: 600;
    line-height: 21px;
}

.ts_program_integration_content p {
    margin: 0 auto;

    color: #000000;

    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
}


/* =========================================================
   Bottom Text
========================================================= */

.ts_program_integration_bottom_text {
    margin: 28px 0 0;

    color: #000000;

    font-size: 18px;
    font-weight: 400;
    line-height: 1.4;
}

.ts_program_integration_bottom_text strong {
    font-weight: 600;
}


/* =========================================================
   TABLET
   768px - 991.98px
========================================================= */

@media (min-width: 768px) and (max-width: 991.98px) {

    .ts_program_integration_section {
        padding: 42px 20px 38px;
    }

    .ts_program_integration_section .container {
        width: 100%;
        max-width: 100%;

        padding-left: 0 !important;
        padding-right: 0 !important;
    }


    /* =====================================================
       Header
    ===================================================== */

    .ts_program_integration_header {
        margin-bottom: 32px;
    }

    .ts_program_integration_title_desktop {
        display: none;
    }

    .ts_program_integration_title_tablet {
        display: block;

        margin: 0 0 20px;

        color: #000000;

        font-size: 30px;
        font-weight: 400;
        line-height: 1.25;
    }

    .ts_program_integration_title_tablet span {
        color: #345C9A;
        font-weight: 700;
    }

    .ts_program_integration_title_mobile {
        display: none;
    }

    .ts_program_integration_subtitle {
        display: block;

        max-width: 920px;

        margin: 0 auto;

        color: #000000;

        font-size: 18px;
        font-weight: 400;
        line-height: 1.5;
    }


    /* =====================================================
       Grid
       2 Columns
    ===================================================== */

    .ts_program_integration_grid {
        display: grid;

        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 28px 22px;
    }


    /* =====================================================
       Card
    ===================================================== */

    .ts_program_integration_card {
        border: 0;

        border-radius: 9px;

        background: #ffffff;

        box-shadow:
            0 4px 11px rgba(0, 0, 0, 0.14);
    }

    .ts_program_integration_card:hover {
        transform: none;

        box-shadow:
            0 4px 11px rgba(0, 0, 0, 0.14);
    }


    /* =====================================================
       Image
    ===================================================== */

    .ts_program_integration_media {
        width: 100%;
        height: 197px;
    }

    .ts_program_integration_image {
        width: 100%;
        height: 100%;

        object-fit: cover;
    }


    /* =====================================================
       Card Content
    ===================================================== */

    .ts_program_integration_content {
        display: flex;
        flex-direction: column;
        justify-content: center;

        padding: 18px 18px 17px;
    }

    .ts_program_integration_content h3 {
        margin: 0 0 7px;

        font-size: 20px;
        font-weight: 600;
        line-height: 1.2;
    }

    .ts_program_integration_content p {
        margin: 0 auto;

        font-size: 16px;
        line-height: 1.4;
    }


    /* =====================================================
       Bottom
    ===================================================== */

    .ts_program_integration_bottom_text {
        margin: 34px 0 0;

        font-size: 18px;
        line-height: 1.45;
    }

    .ts_program_integration_bottom_text strong {
        font-weight: 700;
    }

}


/* =========================================================
   MOBILE
   Up to 767.98px
========================================================= */

@media (max-width: 767.98px) {

    .ts_program_integration_section {
        padding: 30px 12px 34px;
    }

    .ts_program_integration_section .container {
        width: 100%;
        max-width: 100%;

        padding-left: 0 !important;
        padding-right: 0 !important;
    }


    /* =====================================================
       Header
    ===================================================== */

    .ts_program_integration_header {
        margin-bottom: 20px;
    }

    .ts_program_integration_title_desktop,
    .ts_program_integration_title_tablet {
        display: none;
    }

    .ts_program_integration_title_mobile {
        display: block;

        margin: 0;

        color: #000000;

        font-size: 20px;
        font-weight: 400;
        line-height: 1.35;
    }

    .ts_program_integration_title_mobile span {
        display: block;

        margin-top: 2px;

        color: #345C9A;

        font-weight: 700;
    }


    /* Mobile screenshot mein description nahi hai */

    .ts_program_integration_subtitle {
        display: none;
    }


    /* =====================================================
       Grid
       2 Columns
    ===================================================== */

    .ts_program_integration_grid {
        display: grid;

        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 20px 9px;
    }


    /* =====================================================
       Card
    ===================================================== */

    .ts_program_integration_card {
        min-width: 0;

        border: 0;

        border-radius: 8px;

        background: #ffffff;

        box-shadow:
            0 3px 9px rgba(0, 0, 0, 0.16);

        overflow: hidden;
    }

    .ts_program_integration_card:hover {
        transform: none;

        box-shadow:
            0 3px 9px rgba(0, 0, 0, 0.16);
    }


    /* =====================================================
       Image
    ===================================================== */

    .ts_program_integration_media {
        width: 100%;
        height: 115px;

        aspect-ratio: 1.48 / 1;
    }

    .ts_program_integration_image {
        display: block;

        width: 100%;
        height: 100%;

        object-fit: cover;
    }


    /* =====================================================
       Content
    ===================================================== */

    .ts_program_integration_content {
        display: flex;
        align-items: center;
        justify-content: center;

        padding: 8px 35px;

        text-align: center;
    }

    .ts_program_integration_content h3 {
        margin: 0;

        color: #000000;

        font-size: 16px;
        font-weight: 400;
        line-height: 17px;
    }


    /*
     * Mobile screenshot mein card descriptions nahi hain
     */

    .ts_program_integration_content p {
        display: none;
    }


    /* =====================================================
       Bottom Text
    ===================================================== */

    .ts_program_integration_bottom_text {
        max-width: 340px;

        margin: 24px auto 0;

        color: #000000;

        font-size: 16px;
        font-weight: 400;
        line-height: 1.4;
    }

    .ts_program_integration_bottom_text strong {
        font-weight: 700;
    }

}








/* =========================================================
   Looking for a Better Way to Add Protection
   Travel Solutions
========================================================= */

.ts_ready_journey_section {
    background: #ffffff;
    padding: 40px 0 45px;
}


/* =========================================================
   Main Banner
========================================================= */

.ts_ready_journey_box {
    position: relative;
    display: grid;
    grid-template-columns: 74% 31%;
    min-height: 227px;
    background: linear-gradient(90deg, #244A84 0%, #1755B4 100%);
    border-radius: 9px;
    overflow: hidden;
    box-shadow: 0 3px 9px rgba(0, 0, 0, 0.18);
}


/* =========================================================
   Left Content
========================================================= */

.ts_ready_journey_content {
    position: relative;
    z-index: 5;
    padding: 33px 12px 33px 36px;
    color: #ffffff;
}


/* =========================================================
   Heading
========================================================= */

.ts_ready_journey_title {
    margin: 0;
    color: #ffffff;
    font-size: 30px;
    font-weight: 400;
    line-height: 1.2;
}

.ts_ready_journey_title_desktop {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 5px 10px;
    margin-bottom: 18px;
}

.ts_ready_journey_title_desktop strong {
    display: block;
    width: 100%;
    font-weight: 700;
}

.ts_ready_journey_title_desktop .ts_ready_journey_title_second {
    display: inline-block;
    font-weight: 400;
}

.ts_ready_journey_title_line {
    display: inline-block;
    width: 105px;
    height: 5px;
    margin-left: 10px;
    background: linear-gradient(
        90deg,
        rgba(255, 255, 255, 0.95) 0%,
        rgba(255, 255, 255, 0.08) 100%
    );
}

.ts_ready_journey_title_responsive {
    display: none;
}

.ts_ready_journey_title_responsive strong {
    display: block;
    font-weight: 700;
}

.ts_ready_journey_title_responsive .ts_ready_journey_title_second {
    display: block;
    font-weight: 400;
}


/* =========================================================
   Description
========================================================= */

.ts_ready_journey_description {
    max-width: 900px;
    margin: 0 0 18px;
    color: #ffffff;
    font-size: 18px;
    font-weight: 400;
    line-height: 26px;
}


/* =========================================================
   Discuss Button
========================================================= */

.ts_ready_journey_btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #ffffff;
    font-size: 18px;
    font-weight: 600;
    cursor: pointer;
}

.ts_ready_journey_btn_text {
    text-decoration: underline;
    text-underline-offset: 4px;
}

.ts_ready_journey_btn_arrow {
    display: inline-block;
    font-size: 25px;
    font-weight: 400;
    line-height: 1;
    transition: transform 0.25s ease;
}

.ts_ready_journey_btn:hover .ts_ready_journey_btn_arrow {
    transform: translateX(6px);
}


/* =========================================================
   Right Image
========================================================= */

.ts_ready_journey_media {
    position: relative;
    width: 100%;
    min-height: 227px;
    overflow: hidden;
}

.ts_ready_journey_media picture {
    display: block;
    width: 100%;
    height: 100%;
}

.ts_ready_journey_image {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/* =========================================================
   Small Laptop
========================================================= */

@media (min-width: 992px) and (max-width: 1399.98px) {

    .ts_ready_journey_description {
        margin: 0 0 15px;
        font-size: 16px;
    }

    .ts_ready_journey_title {
        font-size: 26px;
    }

    .ts_ready_journey_title_desktop {
        gap: 8px 10px;
        margin-bottom: 12px;
    }

    .ts_ready_journey_content {
        padding: 36px 20px 36px 26px;
    }

    .ts_ready_journey_box {
        grid-template-columns: 74% 26%;
    }
}


/* =========================================================
   Tablet
========================================================= */

@media (min-width: 768px) and (max-width: 991.98px) {

    .ts_ready_journey_section {
        padding: 0;
                margin: 55px 0px;
    }

    .ts_ready_journey_box {
        display: block;
        min-height: auto;
        border-radius: 0;
        box-shadow: none;
    }

    .ts_ready_journey_content {
        padding: 54px 32px 28px;
        text-align: center;
    }

    .ts_ready_journey_title_desktop {
        display: none;
    }

    .ts_ready_journey_title_responsive {
        display: block;
        margin: 0 0 22px;
        font-size: 30px;
        line-height: 1.28;
        text-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
    }

    .ts_ready_journey_title_responsive strong {
        margin-bottom: 2px;
    }

    .ts_ready_journey_description {
        max-width: 100%;
        margin: 0 0 22px;
        font-size: 18px;
        line-height: 1.55;
        text-align: center;
    }

    .ts_ready_journey_btn {
        justify-content: center;
        font-size: 18px;
    }

    .ts_ready_journey_media {
        min-height: auto;
        padding: 0 20px 28px;
    }

    .ts_ready_journey_media picture {
        display: block;
        width: 100%;
        height: auto;
    }

    .ts_ready_journey_image {
        position: static;
        width: 100%;
        height: auto;
        display: block;
        object-fit: cover;
        border-radius: 18px;
    }
}


/* =========================================================
   Mobile
========================================================= */

@media (max-width: 767.98px) {

    .ts_ready_journey_section {
        padding: 0;
        margin: 40px 0px;
    }

    .ts_ready_journey_box {
        display: block;
        min-height: auto;
        border-radius: 0;
        box-shadow: none;
    }

    .ts_ready_journey_content {
        padding: 34px 22px 24px;
        text-align: center;
    }

    .ts_ready_journey_title_desktop {
        display: none;
    }

    .ts_ready_journey_title_responsive {
        display: block;
        margin: 0 0 12px;
        font-size: 20px;
        line-height: 1.35;
        text-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
    }

    .ts_ready_journey_title_responsive strong {
        margin-bottom: 2px;
    }

    .ts_ready_journey_description {
        max-width: 100%;
        margin: 0 0 12px;
        font-size: 16px;
        line-height: 1.48;
        text-align: center;
    }

    .ts_ready_journey_btn {
        justify-content: center;
        font-size: 16px;
        gap: 10px;
    }

    .ts_ready_journey_btn_arrow {
        font-size: 22px;
    }

    .ts_ready_journey_media {
        min-height: auto;
        padding: 0 12px 30px;
    }

    .ts_ready_journey_media picture {
        display: block;
        width: 100%;
        height: auto;
    }

    .ts_ready_journey_image {
        position: static;
        width: 100%;
        height: auto;
        display: block;
        object-fit: cover;
        border-radius: 7px;
    }
}
