/* -------------------------------------------------------------------------- */
/* --------------------------- Import Google Fonts -------------------------- */

@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Nothing+You+Could+Do&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');



/* -------------------------------------------------------------------------- */
/* -------------------- CSS Custom Properties (Variables) ------------------- */

:root {
    /* Fonts  */
    --font-inter: 'Inter', sans-serif;
    --font-brand: 'Nothing You Could Do', cursive;
    --font-roboto: 'Roboto', sans-serif;

    /* Official Colors */
    --ic-blue: #1E414B;
    --ic-blue-light: #415358;
    --ic-blue-lighter: #96A8AB;
    --ic-heliblau: #D5DCDD;
    --ic-dark-grau: #2F2F2F;
    --ic-light-grau: #494F51;
    --ic-gold: #C5A35B;
    --ic-gold-darker: #776132;
    --ic-cream: #D4CDC3;
    --ic-cream-deschis: #EFECE6;
    --ic-cream-f-deschis: #F8F7F6;
    --ic-glacier-white: #FAFAFA;
    --ic-white: #ffffff;
    --ic-skyblue-bg: #EAF4FC;
    --ic-skyblue-border: #CEE6F9;
    --ic-gold-star: #F5D60C;
    --ic-range-bg: #EEEEEE;
}



/* -------------------------------------------------------------------------- */
/* ---------------------- Basic Reset and Global Styles --------------------- */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: var(--font-inter);
}

html {
    /* 10px */
    font-size: 62.5%;
}

@media (max-width: 1440px) {
    html {
        /* 10px */
        font-size: 62.5%;
    }
}

@media (max-width: 1200px) {
    html {
        /* 9px */
        font-size: 56.25%;
    }
}

@media (max-width: 992px) {
    html {
        /* 8.48px */
        font-size: 53%;
    }
}

@media (max-width: 768px) {
    html {
        /* 8px */
        font-size: 50%;
    }
}

@media (max-width: 576px) {
    html {
        /* 7.5px */
        font-size: 46.875%;
    }
}

@media (max-width: 480px) {
    html {
        /* 7px */
        font-size: 43.75%;
    }
}

@media (max-width: 368px) {
    html {
        /* 6.4px */
        font-size: 40%;
    }
}

body {
    font-family: var(--font-inter);
    background-color: var(--ic-white);
    overflow-x: hidden;
}

img {
    -webkit-user-drag: none;
    -khtml-user-drag: none;
    -moz-user-drag: none;
    -o-user-drag: none;
    user-drag: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    pointer-events: auto;
}

ul,
ol {
    list-style: none;
    margin: 0;
    padding: 0;
    font-weight: 500;
}

a {
    text-decoration: none;
}

p {
    font-weight: 500;
}

.no-scroll {
    overflow: hidden;
}

.container {
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 2rem;
}

.section {
    padding-top: 4rem;
    padding-bottom: 4rem;
}

.section-py-8 {
    padding-top: 8rem;
    padding-bottom: 8rem;
}

.section-py-11 {
    padding-top: 11rem;
    padding-bottom: 11rem;
}

.section-pt-8 {
    padding-top: 8rem;
}

.section-pb-8 {
    padding-bottom: 8rem;
}

.empty_section_divier_4 {
    width: 100%;
    height: 4rem;
    flex-shrink: 0;
}



/* -------------------------------------------------------------------------- */
/* -------------------------- Reusable Button Styles ------------------------ */

.btn_primary_fill,
.btn_primary_outline,
.btn_white_outline {
    padding: 0rem 2.4rem;
    border-radius: 5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    cursor: pointer;
    transition: 0.3s ease;
    border: 1px solid transparent;
    white-space: nowrap;
    flex-shrink: 0;
    font-family: var(--font-roboto);
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 0%;
}

.btn_primary_fill {
    background: var(--ic-blue);
    color: var(--ic-white);
}

.btn_primary_fill:hover {
    opacity: 0.9;
}

.btn_primary_outline {
    background: transparent;
    border-color: var(--ic-blue);
    color: var(--ic-blue);
}

.btn_primary_outline:hover {
    background: var(--ic-blue);
    color: var(--ic-white);
}

.btn_white_outline {
    background: transparent;
    border-color: var(--ic-white);
    color: var(--ic-white);
}

.btn_white_outline:hover {
    background: var(--ic-white);
    color: var(--ic-blue);
}



/* -------------------------------------------------------------------------- */
/* ------------------------ Reusable Components Styles ---------------------- */

/* ----- CUSTOM SELECT ----- */

.custom_select {
    position: relative;
    width: 100%;
}

.custom_select_trigger {
    width: 100%;
    height: 5.2rem;
    padding: 0 2.4rem;
    border: 1px solid var(--ic-blue);
    border-radius: 5rem;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    cursor: pointer;
    color: var(--ic-blue);
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 0%;
}

.custom_select_arrow {
    color: var(--ic-blue);
    font-size: 1.4rem;
    transition: 0.3s ease;
}

.custom_select.active .custom_select_arrow {
    transform: rotate(180deg);
}

.custom_select_dropdown {
    position: absolute;
    top: calc(100% + .4rem);
    left: 0;
    width: 100%;
    background: var(--ic-white);
    border: 1px solid var(--ic-blue);
    border-radius: 2rem;
    padding: .8rem;
    box-shadow: 0 .8rem 2rem rgba(0, 0, 0, .08);
    display: none;
    z-index: 50;
}

.custom_select.active .custom_select_dropdown {
    display: block;
}

.custom_select_option {
    width: 100%;
    border: none;
    background: transparent;
    text-align: left;
    padding: 1.2rem 1.4rem;
    border-radius: 1.2rem;
    cursor: pointer;
    color: var(--ic-blue);
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 0%;
}

.custom_select_option:hover,
.custom_select_option.active {
    background: var(--ic-cream-deschis);
}

/* ----- CUSTOM RADIO GROUP ----- */

.custom_radio_group {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
}

.custom_radio_option {
    height: 4rem;
    padding: 0 2rem;
    border-radius: 5rem;
    border: 1px solid var(--ic-blue);
    background: transparent;
    cursor: pointer;
    color: var(--ic-blue);
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 150%;
    letter-spacing: 2%;
    transition: .3s ease;
}

.custom_radio_option.active {
    background: var(--ic-blue);
    color: var(--ic-white);
}

/* ----- CUSTOM CHECKBOX ----- */

.custom_check_item {
    display: flex;
    align-items: center;
    gap: 1.4rem;
    cursor: pointer;
}

.custom_check_item input {
    width: 1.8rem;
    height: 1.8rem;
    cursor: pointer;
    accent-color: var(--ic-blue);
}

.custom_check_item span {
    color: var(--ic-blue);
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 0%;
}

/* ----- CUSTOM RADIO ----- */

.custom_choice_item {
    display: flex;
    align-items: center;
    gap: 1.4rem;
    cursor: pointer;
}

.custom_choice_item input {
    appearance: none;
    -webkit-appearance: none;
    width: 1.8rem;
    height: 1.8rem;
    border: 0.2rem solid var(--ic-blue-light);
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
    margin: 0;
    flex-shrink: 0;
}

.custom_choice_item input:checked {
    border: 0.6rem solid var(--ic-blue-light);
}

.custom_choice_item span {
    color: var(--ic-blue);
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 0%;
}

/* ----- CUSTOM RANGE ----- */

.custom_range {
    width: 100%;
    --range-progress: 30%;
}

.custom_range input[type="range"] {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 2.8rem;
    background: transparent;
    cursor: pointer;
    margin: 0;
}

.custom_range input[type="range"]::-webkit-slider-runnable-track {
    height: 0.4rem;
    border-radius: 5rem;
    background: linear-gradient(to right,
            var(--ic-gold) 0%,
            var(--ic-gold) var(--range-progress),
            var(--ic-range-bg) var(--range-progress),
            var(--ic-range-bg) 100%);
}

.custom_range input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 2.2rem;
    height: 2.2rem;
    border-radius: 50%;
    background: var(--ic-white);
    border: 0.3rem solid var(--ic-heliblau);
    margin-top: -0.9rem;
    box-shadow: 0 0.2rem 0.6rem rgba(0, 0, 0, 0.08);
}

.custom_range input[type="range"]::-moz-range-track {
    height: 0.4rem;
    border-radius: 5rem;
    background: var(--ic-glacier-white);
}

.custom_range input[type="range"]::-moz-range-progress {
    height: 0.4rem;
    border-radius: 5rem;
    background: var(--ic-gold);
}

.custom_range input[type="range"]::-moz-range-thumb {
    width: 2.4rem;
    height: 2.4rem;
    border-radius: 50%;
    background: var(--ic-white);
    border: 0.2rem solid var(--ic-cream);
    box-shadow: 0 0.2rem 0.6rem rgba(0, 0, 0, 0.08);
}

.custom_range_values {
    margin-top: 1rem;
    display: flex;
    justify-content: space-between;
}

.custom_range_values span {
    font-size: 1.6rem;
    color: var(--ic-blue);
}

/* ----- CUSTOM SWITCH ----- */

.custom_switch {
    position: relative;
    display: inline-block;
    width: 5rem;
    height: 2.8rem;
}

.custom_switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.custom_switch_slider {
    position: absolute;
    inset: 0;
    background: var(--ic-blue-lighter);
    border-radius: 5rem;
    cursor: pointer;
    transition: .3s ease;
}

.custom_switch_slider::before {
    content: "";
    position: absolute;
    width: 2rem;
    height: 2rem;
    left: .4rem;
    top: .4rem;
    background: var(--ic-white);
    border-radius: 50%;
    transition: .3s ease;
}

.custom_switch input:checked+.custom_switch_slider {
    background: var(--ic-blue);
}

.custom_switch input:checked+.custom_switch_slider::before {
    transform: translateX(2.2rem);
}

/* ----- CUSTOM TABS ----- */

.custom_tabs {
    margin-top: 2.4rem;
    padding: 0.4rem;
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--ic-heliblau);
    border-radius: 5rem;
    background: transparent;
}

.custom_tabs.bg_white {
    background: var(--ic-white);
}

.custom_tab {
    min-width: fit-content;
    height: 4rem;
    padding: 0 2rem;
    border: none;
    border-radius: 5rem;
    background: transparent;
    color: var(--ic-blue);
    font-size: 1.6rem;
    cursor: pointer;
    transition: 0.3s ease;
}

.custom_tab.active {
    background: var(--ic-blue);
    color: var(--ic-white);
}



/* -------------------------------------------------------------------------- */
/* --------------------------------- Header --------------------------------- */

.header {
    position: relative;
    z-index: 10;
    width: 100%;
    background: var(--ic-white);
    border-top: 1px solid var(--ic-blue-lighter);
}

/* Header Navbar */
.header .header_navbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    padding-top: 1.8rem;
    padding-bottom: 1.8rem;
}

/* Header Brand */
.header .header_brand {
    flex: 1;
}

.header .header_brand_link,
.header .header_brand_picture {
    display: flex;
}

.header .header_brand_logo {
    display: block;
    width: auto;
    max-height: 4.2rem;
}

/* Header Actions */
.header .header_actions {
    display: flex;
    align-items: center;
    gap: 2.8rem;
}


.header .header_icon_btn,
.header .header_menu_btn,
.header .header_close_btn {
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    background: transparent;
    cursor: pointer;
    color: var(--ic-blue);
    transition: 0.3s ease;
}

.header .header_icon_btn:hover,
.header .header_menu_btn:hover,
.header .header_close_btn:hover {
    color: var(--ic-gold);
}

.header .header_icon_btn svg,
.header .header_menu_btn svg {
    width: 2rem;
    height: 2rem;
    display: block;
    fill: currentColor;
    transition: 0.3s ease;
}

.header .header_close_btn svg {
    width: 3rem;
    height: 3rem;
    display: block;
    fill: currentColor;
    transition: 0.3s ease;
}

.header .header_contact_btn {
    width: fit-content;
    height: 4rem;
}

/* Header Overlay */
.header .header_overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    opacity: 0;
    visibility: hidden;
    cursor: pointer;
    transition: 0.3s ease;
}

/* Header Sidebar */
.header .header_sidebar {
    position: fixed;
    top: 0;
    right: -68rem;
    width: 48rem;
    max-width: 100%;
    height: 100dvh;
    background: var(--ic-glacier-white);
    border-left: 1px solid var(--ic-blue-lighter);
    overflow-y: auto;
    transition: 0.1s ease;
}

.header .header_close_btn {
    position: absolute;
    top: 2.8rem;
    right: 2.8rem;
}

.header .header_sidebar_inner {
    padding: 8rem 5.8rem 4rem;
}

.header .header_sidebar_nav {
    display: flex;
    flex-direction: column;
    gap: 2.8rem;
}

.header .header_sidebar_nav a {
    color: var(--ic-blue);
    font-size: 2.4rem;
    font-weight: 600;
    line-height: 1.25;
    transition: 0.3s ease;
}

.header .header_sidebar_nav a:hover {
    color: var(--ic-blue-lighter);
}

.header .header_sidebar_info {
    margin-top: 4.2rem;
}

.header .header_sidebar_info a,
.header .header_sidebar_info p {
    display: block;
    margin-bottom: 0.8rem;
    color: var(--ic-blue);
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.5;
}

.header .header_sidebar_info a {
    text-decoration: underline;
}

.header .header_sidebar_social {
    display: flex;
    align-items: center;
    gap: 2rem;
    margin-top: 2.6rem;
}

.header .header_sidebar_social a {
    color: var(--ic-blue);
    transition: 0.3s ease;
}

.header .header_sidebar_social a:hover {
    color: var(--ic-gold);
}

.header .header_sidebar_social a svg {
    width: 2.2rem;
    height: 2.2rem;
    display: block;
    fill: currentColor;
}

/* Nav Drill Down */
.nav_panel {
    display: none;
}

.nav_panel.nav_panel_active {
    display: block;
}

.nav_panel.nav_slide_in_right {
    display: block;
    animation: nav_slide_in_right 0.28s ease forwards;
}

.nav_panel.nav_slide_in_left {
    display: block;
    animation: nav_slide_in_left 0.28s ease forwards;
}

.nav_panel.nav_slide_out_left {
    display: block;
    animation: nav_slide_out_left 0.28s ease forwards;
}

.nav_panel.nav_slide_out_right {
    display: block;
    animation: nav_slide_out_right 0.28s ease forwards;
}

@keyframes nav_slide_in_right {
    from { transform: translateX(100%); opacity: 0; }
    to   { transform: translateX(0);    opacity: 1; }
}

@keyframes nav_slide_in_left {
    from { transform: translateX(-20%); opacity: 0; }
    to   { transform: translateX(0);    opacity: 1; }
}

@keyframes nav_slide_out_left {
    from { transform: translateX(0);    opacity: 1; }
    to   { transform: translateX(-20%); opacity: 0; }
}

@keyframes nav_slide_out_right {
    from { transform: translateX(0);   opacity: 1; }
    to   { transform: translateX(100%); opacity: 0; }
}

.nav_back_btn {
    display: flex;
    align-items: center;
    gap: 1rem;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    margin-bottom: 2.8rem;
    color: var(--ic-blue);
    font-size: 1.6rem;
    font-weight: 600;
    transition: 0.3s ease;
}

.nav_back_btn:hover {
    color: var(--ic-blue-lighter);
}

.nav_drill_btn {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    background: none;
    border: none;
    cursor: pointer;
    text-align: left;
    color: var(--ic-blue);
    font-size: 2.4rem;
    font-weight: 600;
    line-height: 1.25;
    transition: 0.3s ease;
    padding: 0;
}

.nav_drill_btn:hover {
    color: var(--ic-blue-lighter);
}

/* Header Active */
.header.header_active .header_overlay {
    opacity: 1;
    visibility: visible;
}

.header.header_active .header_sidebar {
    right: 0;
}

/* ---------- Header Responsive ---------- */

@media (max-width: 768px) {

    /* Header Actions */
    .header .header_icon_btn svg,
    .header .header_menu_btn svg {
        width: 2.2rem;
        height: 2.2rem;
    }

    /* Header Brand */
    .header .header_brand_logo {
        max-height: 5rem;
    }

    /* Header Sidebar */
    .header .header_sidebar_inner {
        padding: 8rem 4.5rem 4rem;
    }
}

@media (max-width: 480px) {

    /* Header Actions */
    .header .header_contact_btn {
        display: none;
    }

    .header .header_icon_btn svg,
    .header .header_menu_btn svg {
        width: 2.4rem;
        height: 2.4rem;
    }

    /* Header Sidebar */
    .header .header_sidebar {
        width: 100%;
    }

    .header .header_sidebar_inner {
        padding: 8rem 3.8rem 4rem;
    }
}



/* -------------------------------------------------------------------------- */
/* --------------------------------- Footer --------------------------------- */

.footer {
    padding-top: 8rem;
    padding-bottom: 3.2rem;
    background: var(--ic-blue);
    color: var(--ic-white);
}

/* Footer Main */
.footer .footer_main {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 6.2rem;
    padding-bottom: 8rem;
    border-bottom: 1px solid var(--ic-blue-light);
}

/* Footer Newsletter */
.footer .footer_newsletter {
    max-width: 56rem;
}

.footer .footer_brand_logo {
    display: block;
    width: auto;
    height: 3.2rem;
}

.footer .footer_newsletter_text {
    max-width: 56rem;
    margin-top: 2.4rem;
    font-weight: 300;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 0.5px;
}

.footer .footer_form {
    display: flex;
    align-items: center;
    gap: 1.6rem;
    margin-top: 2.4rem;
}

.footer .footer_input {
    flex: 1;
    height: 4.8rem;
    padding: 0 2.4rem;
    outline: none;
    border: 1px solid var(--ic-glacier-white);
    border-radius: 5rem;
    background: transparent;
    cursor: pointer;
    color: var(--ic-white);
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 0%;
}

.footer .footer_input::placeholder {
    color: var(--ic-blue-lighter);
}

.footer .footer_submit_btn {
    width: fit-content;
    align-self: stretch;
}

.footer .footer_policy_text {
    margin-top: 1.2rem;
    font-weight: 300;
    font-size: 1.2rem;
    line-height: 150%;
    letter-spacing: 0.5px;
}

.footer .footer_policy_text a {
    color: var(--ic-white);
    text-decoration: underline;
}

/* Footer Links */
.footer .footer_links {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3.2rem;
}

.footer .footer_links .footer_column {
    max-width: 17.8rem;
}

.footer .footer_title {
    margin-bottom: 2.4rem;
    font-weight: 300;
    font-size: 2.4rem;
    line-height: 24px;
    letter-spacing: 0.5px;
}

.footer .footer_list,
.footer .footer_social_list {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.footer .footer_list a,
.footer .footer_social_list a {
    color: var(--ic-white);
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 150%;
    letter-spacing: 0.5px;
    white-space: nowrap;
}

.footer .footer_list a:hover,
.footer .footer_bottom_links a:hover {
    color: var(--ic-blue-lighter);
}

.footer .footer_social_list a {
    display: flex;
    align-items: center;
    gap: 1.8rem;
    color: var(--ic-white);
    transition: 0.3s ease;
}

.footer .footer_social_list a:hover {
    color: var(--ic-gold);
}

.footer .footer_social_list svg {
    width: 2rem;
    height: 2rem;
    display: block;
    fill: currentColor;
    flex-shrink: 0;
    transition: 0.3s ease;
}

/* Footer Bottom */
.footer .footer_bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 3rem;
    padding-top: 3.2rem;
}

.footer .footer_copy {
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 150%;
    letter-spacing: 0.5px;
}

.footer .footer_bottom_links {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 3.2rem;
}

.footer .footer_bottom_links a {
    color: var(--ic-white);
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 150%;
    letter-spacing: 0.5px;
    text-decoration: underline;
    transition: 0.3s ease;
}

/* ---------- Footer Responsive ---------- */

@media (max-width: 991px) {

    .footer {
        text-align: center;
    }

    /* Footer Main */
    .footer .footer_main {
        grid-template-columns: 1fr;
        gap: 4.2rem;
        padding-bottom: 6.2rem;
    }

    /* Footer Newsletter */
    .footer .footer_newsletter {
        display: flex;
        flex-direction: column;
        align-items: center;
        max-width: 80rem;
        margin: auto;
    }

    .footer .footer_form {
        width: 100%;
        flex-direction: row;
    }

    .footer .footer_submit_btn {
        flex-shrink: 0;
    }

    .footer .footer_policy_text {
        margin-left: auto;
        margin-right: auto;
    }

    /* Footer Links */
    .footer .footer_links {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-around;
        gap: 0;
        width: 100%;
        text-align: start;
        max-width: 80rem;
        margin: auto;
    }

    .footer .footer_links .footer_column {
        flex: 0 0 auto;
    }

    /* Footer Bottom */
    .footer .footer_bottom {
        flex-direction: column;
        text-align: center;
    }

    .footer .footer_bottom_links {
        justify-content: center;
        gap: 2rem;
    }
}

@media (max-width: 768px) {

    /* Footer Newsletter */
    .footer .footer_newsletter {
        max-width: 60rem;
        margin: auto;
    }

    .footer .footer_form {
        flex-direction: column;
        align-items: stretch;
    }

    .footer .footer_form .footer_input,
    .footer .footer_form .footer_submit_btn {
        width: 100%;
        height: 5.2rem;
        flex: none;
    }

    /* Footer Links */
    .footer .footer_links {
        display: grid;
        grid-template-columns: 1fr;
        text-align: center;
        gap: 4.2rem;
    }

    .footer .footer_links .footer_column {
        min-width: auto;
        max-width: 100%;
    }

    .footer .footer_column:nth-child(3) .footer_social_list {
        flex-direction: row;
        justify-content: center;
        flex-wrap: wrap;
        gap: 2rem;
    }

    .footer .footer_column:nth-child(3) .footer_social_list span {
        display: none;
    }

    .footer .footer_column:nth-child(3) .footer_social_list a {
        justify-content: center;
    }

    .footer .footer_column:nth-child(3) .footer_social_list svg {
        width: 2.2rem;
        height: 2.2rem;
    }
}



/* -------------------------------------------------------------------------- */
/* ------------------------------ Hero Section ------------------------------ */

.hero_section {
    overflow: hidden;
}

.hero_section .hero_section_container {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: stretch;
    min-height: 50rem;
}

/* Hero Content */
.hero_section .hero_section_content {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.hero_section .hero_section_content_inner {
    width: 100%;
    max-width: 72rem;
    padding-left: 2rem;
    padding-right: 8rem;
}

.hero_section .hero_section_title {
    max-width: 52rem;
    color: var(--ic-blue);
    font-weight: 500;
    font-size: 4.8rem;
    line-height: 120%;
    letter-spacing: 1%;
}

.hero_section .hero_section_text {
    max-width: 52rem;
    margin-top: 2.4rem;
    color: var(--ic-blue-light);
    font-weight: 300;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 2%;
}

.hero_section .hero_section_actions {
    margin-top: 3.2rem;
    display: flex;
    align-items: center;
    gap: 2rem;
}

.hero_section .hero_section_actions a {
    width: fit-content;
    height: 4.8rem;
}


/* Hero Image */
.hero_section .hero_section_media {
    min-height: 50rem;
}

.hero_section .hero_section_image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: left;
}

/* ---------- Hero Section Responsive ---------- */

@media (max-width: 991px) {

    .hero_section .hero_section_container {
        display: block;
        min-height: initial;
    }

    /* Hero Content */
    .hero_section .hero_section_content {
        align-items: center;
        justify-content: flex-start;
    }

    .hero_section .hero_section_content_inner {
        max-width: 100%;
        padding: 10rem 2rem;
    }

    .hero_section .hero_section_title {
        color: var(--ic-white);
    }

    .hero_section .hero_section_text {
        color: var(--ic-white);
    }

    .hero_section .hero_section_btn_primary {
        background: var(--ic-white);
        color: var(--ic-blue);
    }

    .hero_section .hero_section_btn_outline {
        color: var(--ic-white);
        border-color: var(--ic-white);
    }

    .hero_section .hero_section_btn_outline:hover {
        background: var(--ic-white);
        color: var(--ic-blue);
        border-color: var(--ic-white);
    }

    /* Hero Image */
    .hero_section .hero_section_media {
        position: absolute;
        inset: 0;
        min-height: auto;
    }

    .hero_section .hero_section_image {
        position: absolute;
        inset: 0;
    }

    .hero_section .hero_section_media::after {
        content: "";
        position: absolute;
        inset: 0;
        background: rgba(0, 0, 0, 0.65);
    }
}

@media (max-width: 768px) {

    /* Hero Content */
    .hero_section .hero_section_title {
        font-size: 4.2rem;
    }

    .hero_section .hero_section_actions {
        flex-wrap: wrap;
    }
}



/* -------------------------------------------------------------------------- */
/* ---------------------------- Hero Full Section --------------------------- */

.hero_full_section {
    overflow: hidden;
}

/* Hero Image */
.hero_full_section .hero_full_section_media {
    width: 100%;
    height: 60rem;
}

.hero_full_section .hero_full_section_image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hero_full_section .hero_full_section_image.image_position_bottom {
    object-position: center bottom;
}

/* Hero Content */
.hero_full_section .hero_full_section_content {
    padding-top: 4rem;
    padding-bottom: 4rem;
}

.hero_full_section .hero_full_section_content_inner {
    max-width: 76rem;
    text-align: center;
    position: relative;
}

.hero_full_section .hero_full_section_partner_logo {
    position: absolute;
    top: 0rem;
    right: -32rem;
    z-index: 2;
    max-width: 22rem;
}

.hero_full_section .hero_full_section_partner_logo img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
}


.hero_full_section .hero_full_section_title {
    color: var(--ic-blue);
    font-weight: 500;
    font-size: 4.8rem;
    line-height: 120%;
    letter-spacing: 1%;
}

.hero_full_section .hero_full_section_text {
    margin-top: 3.2rem;
    color: var(--ic-blue-light);
    font-weight: 300;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 2%;
}

.hero_full_section .hero_full_section_text p {
    margin: 0;
    color: var(--ic-blue-light);
    font-weight: 300;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 2%;
}

.hero_full_section .hero_full_section_actions {
    margin-top: 3.2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.6rem;
    width: 100%;
}

.hero_full_section .hero_full_section_actions .hero_section_btn_primary,
.hero_full_section .hero_full_section_actions .hero_section_btn_outline {
    width: fit-content;
    height: 4.8rem;
}

/* ---------- Hero Full Section Responsive ---------- */

@media (max-width: 1440px) {

    .hero_full_section .hero_full_section_partner_logo {
        right: -20rem;
    }

}

@media (max-width: 1200px) {

    .hero_full_section .hero_full_section_partner_logo {
        right: -16rem;
    }

}

@media (max-width: 991px) {

    /* Hero Image */
    .hero_full_section .hero_full_section_media {
        height: 44rem;
    }

    /* Hero Content */
    .hero_full_section .hero_full_section_title {
        font-size: 4rem;
    }

    .hero_full_section .hero_full_section_partner_logo {
        position: static;
        margin: 0 auto 2rem;
        max-width: 16rem;
    }
}

@media (max-width: 768px) {

    /* Hero Image */
    .hero_full_section .hero_full_section_media {
        height: 30rem;
    }

    /* Hero Content */
    .hero_full_section .hero_full_section_title {
        font-size: 3.2rem;
    }

}



/* -------------------------------------------------------------------------- */
/* ------------------------- Holiday Search Section ------------------------- */

.holiday_search_section {
    margin-top: 1.6rem;
    padding-top: 4.8rem;
    padding-bottom: 4.8rem;
    position: relative;
    background-color: var(--ic-cream-deschis);
    background-image: url("../assets/backgrounds/logo-pattern-bg.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.holiday_search_section .holiday_search_title {
    text-align: center;
    color: var(--ic-blue);
    font-weight: 500;
    font-size: 4rem;
    line-height: 120%;
    letter-spacing: 1%;
}

/* Holiday Search Form */
.holiday_search_section .holiday_search_form {
    display: grid;
    grid-template-columns: repeat(4, 1fr) auto;
    align-items: center;
    gap: 1.6rem;
    margin-top: 3.2rem;
    padding: 1.6rem;
    border: 1px solid var(--ic-cream);
    border-radius: 6rem;
    background: var(--ic-white);
}

/* Holiday Search Group */
.holiday_search_section .holiday_search_group {
    height: 4.8rem;
}

.holiday_search_section .holiday_search_group .custom_select_trigger {
    height: 100%;
    border-color: var(--ic-blue-lighter);
}

.holiday_search_section .holiday_search_group .custom_select_dropdown {
    border-color: var(--ic-blue-lighter);
}


.holiday_search_section .holiday_search_group .custom_select_placeholder {
    display: flex;
    align-items: center;
    gap: 1.2rem;
}

.holiday_search_section .custom_select_placeholder svg {
    width: 2rem;
    height: 2rem;
    color: var(--ic-blue-light);
    fill: currentColor;
    flex-shrink: 0;
    display: block;
}

.holiday_search_section .holiday_search_group .custom_select_trigger .custom_select_arrow {
    color: var(--ic-blue-light);
}

/* Holiday Search Btn */
.holiday_search_section .holiday_search_btn {
    height: 4.8rem;
}

/* ---------- Holiday Search Section Responsive ---------- */

@media (max-width: 991px) {

    /* Holiday Search Form */
    .holiday_search_section .holiday_search_form {
        grid-template-columns: repeat(2, 1fr);
        border-radius: 3rem;
    }

    /* Holiday Search Btn */
    .holiday_search_section .holiday_search_btn {
        grid-column: span 2;
    }
}

@media (max-width: 768px) {

    /* Holiday Search Form */
    .holiday_search_section .holiday_search_form {
        grid-template-columns: 1fr;
    }

    /* Holiday Search Btn */
    .holiday_search_section .holiday_search_btn {
        grid-column: auto;
        width: 100%;
    }
}

@media (max-width: 480px) {

    /* Holiday Search Group */
    .holiday_search_section .holiday_search_group {
        height: 5.2rem;
    }

    /* Holiday Search Btn */
    .holiday_search_section .holiday_search_btn {
        height: 5.2rem;
    }
}



/* -------------------------------------------------------------------------- */
/* --------------------------- About Story Section -------------------------- */

.about_story_section {
    overflow: hidden;
}

/* Shared Grid */
.about_story_section .about_story_grid {
    display: grid;
    align-items: center;
    gap: 9.6rem;
    grid-template-columns: 52rem 1fr;
}

/* Shared Media */
.about_story_section .about_story_media {
    display: flex;
    justify-content: flex-start;
}

.about_story_section .about_story_image_wrap {
    position: relative;
}

.about_story_section .about_story_image_back,
.about_story_section .about_story_image_front {
    position: absolute;
    display: block;
    object-fit: cover;
}

/* Default Two Images */
.about_story_section .about_story_image_wrap {
    width: 56rem;
    height: 54rem;
}

.about_story_section .about_story_image_back {
    top: 0;
    left: 0;
    width: 33rem;
    height: 44rem;
}

.about_story_section .about_story_image_front {
    right: 0;
    bottom: 0;
    width: 33rem;
    height: 44rem;
}

/* Shared Content */
.about_story_section .about_story_content {
    width: 100%;
    padding-right: 2rem;
}

.about_story_section .about_story_label {
    display: inline-block;
    padding-bottom: 0.4rem;
    border-bottom: 0.2rem solid var(--ic-blue-light);
    color: var(--ic-blue-light);
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 3%;
}

.about_story_section .about_story_title {
    margin-top: 1.6rem;
    color: var(--ic-blue);
    font-weight: 500;
    font-size: 4rem;
    line-height: 120%;
    letter-spacing: 1%;
}

.about_story_section .about_story_text {
    margin-top: 2.4rem;
    color: var(--ic-blue-light);
    font-weight: 300;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 2%;
}

.about_story_section .about_story_signature {
    margin-top: 1.6rem;
    color: var(--ic-gold);
    font-family: var(--font-brand);
    font-weight: 400;
    font-size: 3.3rem;
    line-height: 150%;
    letter-spacing: 0px;
}

.about_story_section .about_story_btn {
    margin-top: 4.8rem;
    width: fit-content;
    height: 4.8rem;
}

/* Layout 2 : Single Left */
.about_story_section.about_story_single_left .about_story_grid {
    grid-template-columns: 36rem 1fr;
    gap: 8rem;
}

.about_story_section.about_story_single_left .about_story_image_wrap {
    width: 33rem;
    height: 44rem;
}

.about_story_section.about_story_single_left .about_story_image_front {
    inset: 0;
    width: 100%;
    height: 100%;
}

.about_story_section.about_story_single_left .about_story_image_back {
    display: none;
}

/* Layout 3 : Single Right */
.about_story_section.about_story_single_right .about_story_grid {
    grid-template-columns: 1fr 36rem;
    gap: 8rem;
}

.about_story_section.about_story_single_right .about_story_image_wrap {
    width: 33rem;
    height: 44rem;
}

.about_story_section.about_story_single_right .about_story_image_front {
    inset: 0;
    width: 100%;
    height: 100%;
}

.about_story_section.about_story_single_right .about_story_image_back {
    display: none;
}

/* ---------- About Story Section Responsive ---------- */

@media (max-width:991px) {

    /* All Layouts = Single Column */
    .about_story_section .about_story_grid,
    .about_story_section.about_story_single_left .about_story_grid,
    .about_story_section.about_story_single_right .about_story_grid {
        grid-template-columns: 1fr;
        gap: 4rem;
    }

    /* Center Media */
    .about_story_section .about_story_media {
        justify-content: center;
    }

    /* Content */
    .about_story_section .about_story_content {
        padding-right: 0;
        text-align: center;
    }

    .about_story_section .about_story_title,
    .about_story_section .about_story_text,
    .about_story_section .about_story_btn {
        margin-left: auto;
        margin-right: auto;
    }

    .about_story_section .about_story_btn {
        margin-top: 2.8rem;
    }

    /* Right Layout Image First */
    .about_story_section.about_story_single_right .about_story_media {
        order: 1;
    }

    .about_story_section.about_story_single_right .about_story_content {
        order: 2;
    }
}

@media (max-width:480px) {

    /* Default Two Image */
    .about_story_section .about_story_image_wrap {
        width: 42rem;
        height: 39rem;
    }

    .about_story_section .about_story_image_back {
        width: 25rem;
        height: 33rem;
    }

    .about_story_section .about_story_image_front {
        width: 25rem;
        height: 33rem;
    }

    /* Single Layouts */
    .about_story_section.about_story_single_left .about_story_image_wrap,
    .about_story_section.about_story_single_right .about_story_image_wrap {
        width: 25rem;
        height: 33rem;
    }
}



/* -------------------------------------------------------------------------- */
/* --------------------------- Why Choose Section --------------------------- */

.why_choose_section {
    overflow: hidden;
}

/* Why Choose Title */
.why_choose_section .why_choose_title {
    color: var(--ic-blue);
    font-weight: 500;
    font-size: 4rem;
    line-height: 120%;
    letter-spacing: 1%;
}

/* Why Choose Grid */
.why_choose_section .why_choose_grid {
    margin-top: 4.8rem;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 4.8rem;
}

/* Why Choose Item */
.why_choose_section .why_choose_item {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
}

.why_choose_section .why_choose_icon {
    display: flex;
}

.why_choose_section .why_choose_icon svg {
    color: var(--ic-gold);
    width: 4rem;
    height: 4rem;
    line-height: 1;
}

.why_choose_section .why_choose_icon img {
    width: 4rem;
    height: 4rem;
    object-fit: contain;
}

.why_choose_section .why_choose_item_title {
    color: var(--ic-blue);
    font-weight: 500;
    font-size: 2.4rem;
    line-height: 140%;
    letter-spacing: 1%;
}

.why_choose_section .why_choose_item_text {
    color: var(--ic-blue-light);
    font-weight: 300;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 2%;
}

/* ----------  Why Choose Section Responsive ---------- */

@media (max-width: 991px) {

    /* Why Choose Grid */
    .why_choose_section .why_choose_grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 568px) {

    /* Why Choose Title */
    .why_choose_section .why_choose_title {
        text-align: center;
    }

    /* Why Choose Grid */
    .why_choose_section .why_choose_grid {
        grid-template-columns: 1fr;
    }

    /* Why Choose Item */
    .why_choose_section .why_choose_item {
        max-width: 50rem;
        margin: auto;
        align-items: center;
        text-align: center;
    }
}



/* -------------------------------------------------------------------------- */
/* ------------------------- Partners Logo Section ------------------------- */

.partners_logo_section {
    overflow: hidden;
}

/* Partners Logo Container */
.partners_logo_section .partners_logo_container {
    width: 100%;
}

/* Partners Logo Title */
.partners_logo_section .partners_logo_title {
    text-align: center;
    color: var(--ic-blue);
    font-weight: 500;
    font-size: 2.4rem;
    line-height: 140%;
    letter-spacing: 1%;
}

/* Partners Logo Slider */
.partners_logo_section .partners_logo_slider {
    width: 100%;
    margin-top: 4.8rem;
    overflow: hidden;
}

.partners_logo_section .partners_logo_track {
    display: flex;
    align-items: center;
    width: max-content;
    animation: partnersLogoSlide 40s linear infinite;
}

.partners_logo_section .partners_logo_item {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    padding: 0 3.2rem;
}

.partners_logo_section .partners_logo_image {
    max-width: 100%;
    width: auto;
    height: 4rem;
    object-fit: contain;
    object-position: center;
    opacity: 0.9;
}

/* Partners Logo Actions */
.partners_logo_section .partners_logo_actions {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 2.4rem;
    margin-top: 4.8rem;
}

.partners_logo_section .partners_logo_actions a {
    width: fit-content;
    height: 4.8rem;
}

/* Animation */
@keyframes partnersLogoSlide {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-50%);
    }
}



/* -------------------------------------------------------------------------- */
/* --------------------------- Showcase Slider Section ---------------------- */

.showcase_slider_section {
    overflow: hidden;
}

.showcase_slider_section.bg_cream {
    background-color: var(--ic-cream-deschis);
}

.showcase_slider_section .showcase_slider_section_container {
    padding-left: 0;
    padding-right: 0;
}

/* Showcase Slider Section Head */
.showcase_slider_section .showcase_slider_section_head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 4rem;
    margin-bottom: 4.8rem;
}

.showcase_slider_section .showcase_slider_section_label {
    display: inline-block;
    padding-bottom: 0.4rem;
    border-bottom: 0.2rem solid var(--ic-blue-light);
    color: var(--ic-blue-light);
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 3%;
}

.showcase_slider_section .showcase_slider_section_title {
    margin-top: 1.6rem;
    color: var(--ic-blue);
    font-weight: 500;
    font-size: 4rem;
    line-height: 120%;
    letter-spacing: 1%;
}

.showcase_slider_section .showcase_slider_section_text {
    margin-top: 2.4rem;
    color: var(--ic-blue-light);
    font-weight: 300;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 2%;
}

.showcase_slider_section .showcase_slider_section_top_btn {
    align-self: center;
    width: fit-content;
    height: 4.8rem;
}

/* Showcase Horizontal Slider */
.showcase_slider_section .showcase_slider {
    width: calc(100% + ((100vw - 144rem) / 2));
    max-width: none;
    margin-left: 0;
    margin-right: calc(((100vw - 144rem) / -2));
    overflow: visible;
}

.showcase_slider_section .swiper-slide {
    height: auto !important;
}

.showcase_slider_section .showcase_slider_card {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    border: 1px solid var(--ic-heliblau);
    border-radius: 1.2rem;
    background: var(--ic-white);
}

.showcase_slider_section .showcase_slider_card_image {
    display: block;
    width: 100%;
    height: 27rem;
    object-fit: cover;
}

.showcase_slider_section .showcase_slider_card_content {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    flex: 1;
    padding: 2.4rem 2.4rem 3.4rem 2.4rem;
}

.showcase_slider_section .room_cards_slider .rooms_cards_code {
    color: var(--ic-blue-light);
    font-weight: 300;
    font-size: 1.4rem;
    line-height: 150%;
    letter-spacing: 2%;
    margin-bottom: 0.8rem;
}

.showcase_slider_section .showcase_slider_card_label {
    color: var(--ic-blue-light);
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 150%;
    letter-spacing: 2%;
}

.showcase_slider_section .showcase_slider_card_title {
    color: var(--ic-blue);
    font-weight: 500;
    font-size: 2.4rem;
    line-height: 140%;
    letter-spacing: 1%;
}

.showcase_slider_section .showcase_slider_card_text {
    color: var(--ic-blue-light);
    font-weight: 300;
    font-size: 1.4rem;
    line-height: 150%;
    letter-spacing: 2%;
}

.showcase_slider_section .showcase_slider_card_points {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
}

.showcase_slider_section .showcase_slider_card_points li {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 2rem;
    color: var(--ic-blue-light);
    font-weight: 300;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 2%;
}

.showcase_slider_section .showcase_slider_card_points strong {
    text-align: right;

    color: var(--ic-blue);
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 2%;
}

.showcase_slider_section .showcase_slider_card_btn {
    width: fit-content;
    height: 4rem;
    margin-top: auto;
    position: relative;
    top: 0.8rem;
}

/* Showcase Horizontal Slider Controls */
.showcase_slider_section .showcase_slider_section_controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 3rem;
    margin-top: 6.4rem;
}

.showcase_slider_section .showcase_slider_section_pagination {
    display: flex;
    align-items: center;
    gap: 0.8rem;
}

.showcase_slider_section .showcase_slider_section_pagination .swiper-pagination-bullet {
    width: 0.8rem;
    height: 0.8rem;
    margin: 0 !important;
    opacity: 1;
    background: color-mix(in srgb, var(--ic-blue) 20%, transparent);
}

.showcase_slider_section .showcase_slider_section_pagination .swiper-pagination-bullet-active {
    background: var(--ic-blue);
}

.showcase_slider_section .showcase_slider_section_nav {
    display: flex;
    gap: 1.2rem;
}

.showcase_slider_section .showcase_slider_section_prev,
.showcase_slider_section .showcase_slider_section_next {
    width: 4.8rem;
    height: 4.8rem;
    border: 1px solid var(--ic-blue-lighter);
    border-radius: 50%;
    background: transparent;
    color: var(--ic-blue);
    cursor: pointer;
    transition: 0.3s ease;
}

.showcase_slider_section .showcase_slider_section_prev i,
.showcase_slider_section .showcase_slider_section_next i {
    font-size: 1.6rem;
}

.showcase_slider_section .showcase_slider_section_prev:hover,
.showcase_slider_section .showcase_slider_section_next:hover {
    background: var(--ic-blue);
    color: var(--ic-white);
}

/* Showcase Room Cards Slider */
.showcase_slider_section .room_cards_slider {
    width: 100%;
}

.showcase_slider_section .room_cards_slider .rooms_cards_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3.2rem;
}

.showcase_slider_section .room_cards_slider .rooms_cards_item {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    border: 1px solid var(--ic-heliblau);
    border-radius: 1.2rem;
    background: var(--ic-white);
}

.showcase_slider_section .room_cards_slider .rooms_cards_media {
    position: relative;
}

.showcase_slider_section .room_cards_slider .rooms_cards_gallery {
    position: relative;
    overflow: hidden;
}

.showcase_slider_section .room_cards_slider .rooms_cards_gallery .swiper-slide {
    height: auto !important;
}

.showcase_slider_section .room_cards_slider .rooms_cards_image {
    display: block;
    width: 100%;
    height: 27rem;
    object-fit: cover;
}

.rooms_cards_gallery .rooms_cards_pagination {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 1.4rem;
    z-index: 5;
    display: flex;
    justify-content: center;
    align-items: center;
}

.rooms_cards_gallery .swiper-pagination-bullet {
    width: 1rem;
    height: 1rem;
    background: var(--ic-white);
    opacity: 0.4;
}

.rooms_cards_gallery .swiper-pagination-bullet-active {
    background: var(--ic-white);
    opacity: 1;
}

.showcase_slider_section .room_cards_slider .rooms_cards_prev,
.showcase_slider_section .room_cards_slider .rooms_cards_next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 5;
    width: 4rem;
    height: 4rem;
    border: 1px solid var(--ic-blue-lighter);
    border-radius: 50%;
    background: var(--ic-white);
    color: var(--ic-blue);
    cursor: pointer;
    transition: 0.3s ease;
}

.showcase_slider_section .room_cards_slider .rooms_cards_prev {
    left: 1rem;
}

.showcase_slider_section .room_cards_slider .rooms_cards_next {
    right: 1rem;
}

.showcase_slider_section .room_cards_slider .rooms_cards_body {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    flex: 1;
    padding: 2.4rem 2.4rem 3.4rem 2.4rem;
}

/* ---------- Showcase Slider Section Responsive ---------- */

@media (max-width: 1440px) {

    /* Showcase Slider Section Head */
    .showcase_slider_section .showcase_slider_section_head {
        padding-left: 2rem;
        padding-right: 2rem;
    }

    /* Showcase Horizontal Slider */
    .showcase_slider_section .showcase_slider {
        width: 100%;
        margin-right: 0;
        overflow: hidden;
        padding-left: 2rem;
        padding-right: 2rem;
    }

    /* Showcase Horizontal Slider Controls  */
    .showcase_slider_section .showcase_slider_section_controls {
        padding-left: 2rem;
        padding-right: 2rem;
    }

    /* Showcase Room Cards Slider */
    .showcase_slider_section .room_cards_slider {
        padding-left: 2rem;
        padding-right: 2rem;
    }
}

@media (max-width:1200px) {

    /* Showcase Room Cards Slider */
    .showcase_slider_section .room_cards_slider .rooms_cards_grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {

    /* Showcase Slider Section Head */
    .showcase_slider_section .showcase_slider_section_head {
        flex-direction: column;
    }

    /* Showcase Horizontal Slider Controls */
    .showcase_slider_section .showcase_slider_section_controls {
        margin-top: 4rem;
        gap: 2rem;
    }
}

@media (max-width: 568px) {

    /* Showcase Room Cards Slider */
    .showcase_slider_section .room_cards_slider .rooms_cards_grid {
        grid-template-columns: 1fr;
    }

    .showcase_slider_section .room_cards_slider .rooms_cards_prev,
    .showcase_slider_section .room_cards_slider .rooms_cards_next {
        font-size: 1.4rem;
    }
}



/* -------------------------------------------------------------------------- */
/* ---------------------------- Offers Cards Section ------------------------ */

.offers_cards_section {
    background: var(--ic-cream-deschis);
    overflow: hidden;
}

/* Offers Cards Section Head */
.offers_cards_section .offers_cards_section_head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 4rem;
    margin-bottom: 4.8rem;
}

.offers_cards_section .offers_cards_section_label {
    display: inline-block;
    padding-bottom: 0.4rem;
    border-bottom: 0.2rem solid var(--ic-blue-light);
    color: var(--ic-blue-light);
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 3%;
}

.offers_cards_section .offers_cards_section_title {
    margin-top: 1.6rem;
    color: var(--ic-blue);
    font-weight: 500;
    font-size: 4rem;
    line-height: 120%;
    letter-spacing: 1%;
}

.offers_cards_section .offers_cards_section_text {
    margin-top: 2.4rem;
    color: var(--ic-blue-light);
    font-weight: 300;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 2%;
}

.offers_cards_section .offers_cards_section_top_btn {
    align-self: flex-end;
    width: fit-content;
    height: 4.8rem;
}

/* Offers Cards Grid */
.offers_cards_section .offers_cards_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3.2rem;
}

/* Offers Cards Item */
.offers_cards_section .offers_cards_item {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    border: 1px solid var(--ic-heliblau);
    border-radius: 1.2rem;
    background: var(--ic-white);
}

.offers_cards_section .offers_cards_image_wrap {
    position: relative;
}

.offers_cards_section .offers_cards_image {
    display: block;
    width: 100%;
    height: 24rem;
    object-fit: cover;
}

.offers_cards_section .offers_cards_tag {
    position: absolute;
    top: 1.6rem;
    right: 1.6rem;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.8rem;
    height: 3rem;
    padding: 0 1.4rem;
    border-radius: 5rem;
    background: color-mix(in srgb, var(--ic-white) 80%, transparent);

    color: var(--ic-blue);
    font-weight: 600;
    font-size: 1.4rem;
    line-height: 150%;
    letter-spacing: 0%;
}

.offers_cards_section .offers_cards_tag svg {
    width: 1.4rem;
    height: 1.4rem;
    display: block;
    flex-shrink: 0;
    fill: currentColor;
}

/* Offers Cards Content */
.offers_cards_section .offers_cards_content {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 2.4rem;
}

.offers_cards_section .offers_cards_code {
    color: var(--ic-blue-light);
    font-weight: 500;
    font-size: 1.2rem;
    line-height: 150%;
    letter-spacing: 2%;
}

.offers_cards_section .offers_cards_item_title {
    margin-top: 0.4rem;
    color: var(--ic-blue);
    font-weight: 600;
    font-size: 2rem;
    line-height: 140%;
    letter-spacing: 1%;
}

/* Offers Cards Points */
.offers_cards_section .offers_cards_points {
    margin-top: 1.2rem;
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
}

.offers_cards_section .offers_cards_points_row strong {
    display: block;
    margin-bottom: 0.2rem;
    color: var(--ic-blue);
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 2%;
}

.offers_cards_section .offers_cards_points_row span {
    color: var(--ic-blue-light);
    font-weight: 300;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 2%;
}

.offers_cards_section .offers_cards_points_logo_row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1.6rem;
}

.offers_cards_section .offers_cards_logo_wrap {
    display: flex;
    justify-content: center;
    align-items: center;
}

.offers_cards_section .offers_cards_logo {
    width: auto;
    height: 3.2rem;
}

/* Offers Cards Price */
.offers_cards_section .offers_cards_price {
    margin-top: 1.2rem;
    margin-bottom: 1.6rem;
    padding-top: 1.4rem;
    padding-bottom: 1.4rem;
    border-top: 1px solid var(--ic-heliblau);
    border-bottom: 1px solid var(--ic-heliblau);
    color: var(--ic-blue);
    font-weight: 500;
    font-size: 2.4rem;
    line-height: 120%;
    letter-spacing: 4%;
}

.offers_cards_section .offers_cards_btn {
    width: fit-content;
    height: 4rem;
    margin-top: auto;
}

/* ---------- Offers Cards Section Responsive ---------- */

@media (max-width: 991px) {

    /* Offers Cards Section Head */
    .offers_cards_section .offers_cards_section_head {
        flex-direction: column;
        align-items: flex-start;
    }

    /* Offers Cards Grid */
    .offers_cards_section .offers_cards_grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {

    /* Offers Cards Grid */
    .offers_cards_section .offers_cards_grid {
        grid-template-columns: 1fr;
    }
}



/* -------------------------------------------------------------------------- */
/* -------------------------- Testimonials Section -------------------------- */

.testimonials_section {
    overflow: hidden;
}

/* Testimonials Grid */
.testimonials_section .testimonials_grid {
    display: grid;
    grid-template-columns: 1fr 60rem;
    align-items: center;
    gap: 6rem;
}

/* Testimonials Content */
.testimonials_section .testimonials_content {
    min-width: 0;
}

.testimonials_section .testimonials_title {
    color: var(--ic-blue);
    font-weight: 500;
    font-size: 4rem;
    line-height: 120%;
    letter-spacing: 1%;
}

.testimonials_section .testimonials_text {
    margin-top: 1.6rem;
    color: var(--ic-blue-light);
    font-weight: 300;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 2%;
}

/* Testimonials Slider */
.testimonials_section .testimonials_slider_wrap {
    width: 100%;
    min-width: 0;
}

.testimonials_section .testimonials_slider {
    width: 100%;
    overflow: hidden;
}

/* Testimonials Card */
.testimonials_section .testimonials_card {
    padding: 3.2rem;
    border: 1px solid var(--ic-heliblau);
    border-radius: 1.2rem;
    background: var(--ic-white);
}

.testimonials_section .testimonials_rating {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.4rem;
    color: var(--ic-gold);
    font-size: 1.8rem;
    line-height: 1;
}

.testimonials_section .testimonials_quote {
    margin-top: 2.4rem;
    color: var(--ic-blue);
    font-weight: 400;
    font-size: 1.8rem;
    line-height: 150%;
    letter-spacing: 2%;
}

.testimonials_section .testimonials_user {
    margin-top: 2.4rem;
    display: flex;
    align-items: center;
    gap: 1.6rem;
}

.testimonials_section .testimonials_user_image {
    display: block;
    flex-shrink: 0;
    width: 4.8rem;
    height: 4.8rem;
    border-radius: 50%;
    object-fit: cover;
}

.testimonials_section .testimonials_user_info {
    min-width: 0;
}

.testimonials_section .testimonials_user_name {
    color: var(--ic-blue);
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 2%;
}

.testimonials_section .testimonials_user_meta {
    display: block;
    color: var(--ic-blue-light);
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 2%;
}

/* Testimonials Controls */
.testimonials_section .testimonials_controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 3rem;
    margin-top: 4rem;
}

.testimonials_section .testimonials_pagination {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.8rem;
}

.testimonials_section .testimonials_pagination .swiper-pagination-bullet {
    width: 0.8rem;
    height: 0.8rem;
    margin: 0 !important;
    opacity: 1;
    background: color-mix(in srgb, var(--ic-blue) 20%, transparent);
}

.testimonials_section .testimonials_pagination .swiper-pagination-bullet-active {
    background: var(--ic-blue);
}

.testimonials_section .testimonials_nav {
    display: flex;
    gap: 1.2rem;
}

.testimonials_section .testimonials_prev,
.testimonials_section .testimonials_next {
    width: 4.8rem;
    height: 4.8rem;
    border: 1px solid var(--ic-blue-lighter);
    border-radius: 50%;
    background: transparent;
    color: var(--ic-blue);
    cursor: pointer;
    flex-shrink: 0;
    transition: 0.3s ease;
    font-size: 1.6rem;
}

.testimonials_section .testimonials_prev:hover,
.testimonials_section .testimonials_next:hover {
    background: var(--ic-blue);
    color: var(--ic-white);
}

/* ---------- Testimonials Section Responsive ---------- */

@media (max-width: 991px) {

    /* Testimonials Grid */
    .testimonials_section .testimonials_grid {
        grid-template-columns: 1fr;
    }

    /* Testimonials Content */
    .testimonials_section .testimonials_content {
        text-align: center;
    }

    /* Testimonials Slider */
    .testimonials_section .testimonials_slider_wrap {
        max-width: 72rem;
        margin: 0 auto;
    }

    .testimonials_section .testimonials_slider_wrap .testimonials_slider {
        max-width: 71.5rem;
    }
}

@media (max-width: 480px) {

    /* Testimonials Grid */
    .testimonials_section .testimonials_grid {
        gap: 4rem;
    }

    /* Testimonials Content */
    .testimonials_section .testimonials_user {
        align-items: flex-start;
    }
}



/* -------------------------------------------------------------------------- */
/* ---------------------------- Newsletter Section -------------------------- */

.newsletter_section {
    background-color: var(--ic-cream-deschis);
    overflow: hidden;
    position: relative;
    background-image: url("../assets/backgrounds/logo-pattern-bg.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

/* Newsletter Banner */
.newsletter_section .newsletter_banner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    overflow: hidden;
    border-radius: 1.2rem;
    background: var(--ic-white);
}

.newsletter_section .newsletter_banner_content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 4.8rem;
}

.newsletter_section .newsletter_banner_title {
    color: var(--ic-blue);
    font-weight: 500;
    font-size: 4rem;
    line-height: 120%;
    letter-spacing: 1%;
}

.newsletter_section .newsletter_banner_text {
    margin-top: 2.4rem;
    color: var(--ic-blue-light);
    font-weight: 300;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 2%;
}

.newsletter_section .newsletter_banner_actions {
    margin-top: 3.2rem;
    display: flex;
    align-items: center;
    gap: 1.6rem;
}

.newsletter_section .newsletter_banner_btn_primary,
.newsletter_section .newsletter_banner_btn_outline {
    width: fit-content;
    height: 4.8rem;
}

.newsletter_section .newsletter_banner_media {
    min-height: 41.6rem;
}

.newsletter_section .newsletter_banner_image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Newsletter Subscribe */
.newsletter_section .newsletter_subscribe {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 3.2rem;
    margin-top: 8rem;
    padding: 4.8rem;
    border-radius: 1.2rem;
    background: var(--ic-white);
}

.newsletter_section .newsletter_subscribe_title {
    color: var(--ic-blue);
    font-weight: 500;
    font-size: 4rem;
    line-height: 120%;
    letter-spacing: 1%;
}

.newsletter_section .newsletter_subscribe_text {
    margin-top: 1.6rem;
    color: var(--ic-blue-light);
    font-weight: 300;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 2%;
}

.newsletter_section .newsletter_subscribe_form {
    display: flex;
    align-items: center;
    gap: 1.6rem;
}

.newsletter_section .newsletter_subscribe_input {
    flex: 1;
    height: 4.8rem;
    padding: 0 2.4rem;
    outline: none;
    border: 1px solid var(--ic-blue-lighter);
    border-radius: 5rem;
    background: transparent;
    cursor: pointer;
    color: var(--ic-blue);
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 0%;
}

.newsletter_section .newsletter_subscribe_input::placeholder {
    color: var(--ic-blue-lighter);
}

.newsletter_section .newsletter_subscribe_btn {
    width: fit-content;
    height: 4.8rem;
}

.newsletter_section .newsletter_subscribe_note {
    margin-top: 1.6rem;
    color: var(--ic-blue-light);
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 150%;
    letter-spacing: 2%;
}

.newsletter_section .newsletter_subscribe_note a {
    color: var(--ic-blue-light);
    text-decoration: underline;
}

/* ---------- Newsletter Section Responsive ---------- */

@media (max-width: 991px) {

    /* Newsletter Banner */
    .newsletter_section .newsletter_banner {
        grid-template-columns: 1fr;
    }

    .newsletter_section .newsletter_banner_media {
        min-height: initial;
        max-height: 38rem;
    }

    /* Newsletter Subscribe */
    .newsletter_section .newsletter_subscribe {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {

    .newsletter_section .newsletter_banner_content,
    .newsletter_section .newsletter_subscribe {
        padding: 4rem 2.4rem;
    }

    .newsletter_section .newsletter_subscribe {
        margin-top: 6rem;
    }

    .newsletter_section .newsletter_banner_title,
    .newsletter_section .newsletter_subscribe_title {
        font-size: 3rem;
    }

    /* Newsletter Banner */
    .newsletter_section .newsletter_banner_content {
        align-items: center;
        text-align: center;
    }

    .newsletter_section .newsletter_banner_actions {
        flex-wrap: wrap;
        justify-content: center;
    }

    /* Newsletter Subscribe */
    .newsletter_section .newsletter_subscribe {
        text-align: center;
    }

    .newsletter_section .newsletter_subscribe_input {
        height: 5.2rem;
    }
}



/* -------------------------------------------------------------------------- */
/* ------------------------ Destination Cards Section ----------------------- */

.destination_cards {
    overflow: hidden;
}

/* Destination Section Grid */
.destination_cards .destination_section_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3.2rem;
}

.destination_cards .destination_section_grid.four_grid {
    grid-template-columns: repeat(4, 1fr);
}

/* Destination Section Card */
.destination_cards .destination_section_card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--ic-heliblau);
    border-radius: 1.2rem;
    background: var(--ic-white);
}

/* Destination Card Image */
.destination_cards .destination_card_image_link {
    display: block;
    overflow: hidden;
}

.destination_cards .destination_card_image {
    display: block;
    width: 100%;
    height: 20rem;
    object-fit: cover;
}

/* Destination Card Content */
.destination_cards .destination_card_content {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    flex: 1;
    padding: 2.4rem 2.4rem 3.4rem 2.4rem;
}

.destination_cards .destination_card_label {
    color: var(--ic-blue-light);
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 150%;
    letter-spacing: 2%;
}

.destination_cards .destination_card_title {
    color: var(--ic-blue);
    font-weight: 500;
    font-size: 2.4rem;
    line-height: 140%;
    letter-spacing: 1%;
}

.destination_cards .destination_card_text {
    color: var(--ic-blue-light);
    font-weight: 300;
    font-size: 1.4rem;
    line-height: 150%;
    letter-spacing: 2%;
}

/* Destination Card Footer */
.destination_cards .destination_card_footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    margin-top: auto;
}

.destination_cards .destination_btn {
    width: fit-content;
    height: 4rem;
    margin-top: auto;
    position: relative;
    top: 0.8rem;
}

.destination_cards .destination_partner_logo {
    flex-shrink: 0;
    width: auto;
    height: 3.2rem;
    object-fit: contain;
}

/* ---------- Destination Cards Section Responsive ---------- */

@media (max-width: 1200px) {

    /* Destination Section Grid */
    .destination_cards .destination_section_grid.four_grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 991px) {

    /* Destination Section Grid */
    .destination_cards .destination_section_grid,
    .destination_cards .destination_section_grid.four_grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 680px) {

    /* Destination Section Grid */
    .destination_cards .destination_section_grid,
    .destination_cards .destination_section_grid.four_grid {
        grid-template-columns: 1fr;
    }
}



/* -------------------------------------------------------------------------- */
/* -------------------------- Gallery Slider Section ------------------------ */

.gallery_slider_section {
    overflow: hidden;
}

/* Gallery Slider Container */
.gallery_slider_section .gallery_slider_container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 8rem;
}

/* Gallery Slider */
.gallery_slider_section .gallery_slider_wrap {
    width: 100%;
    min-width: 0;
}

.gallery_slider_section .gallery_slider {
    width: 100%;
    overflow: hidden;
}

.gallery_slider_section .gallery_slider .swiper-slide {
    height: auto;
}

.gallery_slider_section .gallery_slider_image {
    display: block;
    width: 100%;
    height: 58rem;
    object-fit: cover;
}

/* Gallery Slider Controls */
.gallery_slider_section .gallery_slider_controls {
    display: grid;
    grid-template-columns: 5rem 1fr 5rem;
    align-items: center;
    gap: 2rem;
    margin-top: 2.4rem;
}

.gallery_slider_section .gallery_slider_prev,
.gallery_slider_section .gallery_slider_next {
    width: 5rem;
    height: 5rem;
    border: 1px solid var(--ic-blue-lighter);
    border-radius: 50%;
    background: transparent;
    color: var(--ic-blue);
    font-size: 1.8rem;
    cursor: pointer;
    transition: 0.3s ease;
}

.gallery_slider_section .gallery_slider_prev:hover,
.gallery_slider_section .gallery_slider_next:hover {
    background: var(--ic-blue);
    color: var(--ic-white);
}

.gallery_slider_section .gallery_slider_pagination {
    text-align: center;
}

.gallery_slider_section .gallery_slider_pagination .swiper-pagination-bullet {
    width: 0.8rem;
    height: 0.8rem;
    margin: 0 0.5rem !important;
    opacity: 1;
    background: color-mix(in srgb, var(--ic-blue) 20%, transparent);
}

.gallery_slider_section .gallery_slider_pagination .swiper-pagination-bullet-active {
    background: var(--ic-blue);
}

/* Gallery Slider Content */
.gallery_slider_section .gallery_slider_text {
    color: var(--ic-blue);
    font-weight: 500;
    font-size: 2.4rem;
    line-height: 120%;
    letter-spacing: 1%;
}

.gallery_slider_section .gallery_slider_text p {
    margin: 0;
    color: var(--ic-blue);
    font-weight: 500;
    font-size: 2.4rem;
    line-height: 120%;
    letter-spacing: 1%;
}

/* ---------- Gallery Slider Section Responsive ---------- */

@media (max-width: 991px) {

    /* Gallery Slider Container */
    .gallery_slider_section .gallery_slider_container {
        grid-template-columns: 1fr;
        gap: 4rem;
    }

    /* Gallery Slider */
    .gallery_slider_section .gallery_slider_wrap {
        width: 100%;
        max-width: 48rem;
        margin: 0 auto;
    }

    /* Gallery Slider Content */
    .gallery_slider_section .gallery_slider_text {
        text-align: center;
    }
}

@media (max-width: 768px) {

    /* Gallery Slider */
    .gallery_slider_section .gallery_slider_wrap,
    .gallery_slider_section .gallery_slider {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        overflow: hidden;
    }

    .gallery_slider_section .gallery_slider .swiper-wrapper {
        width: 100%;
    }

    .gallery_slider_section .gallery_slider .swiper-slide {
        width: 100% !important;
        flex-shrink: 0;
    }

    .gallery_slider_section .gallery_slider_image {
        height: 52rem;
    }
}

@media (max-width: 480px) {

    /* Gallery Slider */
    .gallery_slider_section .gallery_slider_image {
        height: 38rem;
    }

    .gallery_slider_section .gallery_slider_controls {
        grid-template-columns: 4.4rem 1fr 4.4rem;
        gap: 1.2rem;
        margin-top: 2rem;
    }

    .gallery_slider_section .gallery_slider_prev,
    .gallery_slider_section .gallery_slider_next {
        width: 4.4rem;
        height: 4.4rem;
        font-size: 1.5rem;
    }
}



/* -------------------------------------------------------------------------- */
/* ------------------------------ Content Section --------------------------- */

.content_section {
    background: var(--ic-cream-deschis);
    overflow: hidden;
}

/* Content Section Title */
.content_section .content_section_title {
    max-width: 76rem;
    color: var(--ic-blue);
    font-weight: 500;
    font-size: 4rem;
    line-height: 120%;
    letter-spacing: 1%;
}

/* Content Section Text Wrap */
.content_section .content_section_text_wrap,
.content_section_text_wrap {
    max-width: 76rem;
    margin-top: 1.6rem;
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
}

.content_section .content_section_text,
.content_section_text {
    color: var(--ic-blue-light);
    font-weight: 300;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 2%;
}

.content_section .content_section_text p,
.content_section_text p {
    margin: 0;
    color: var(--ic-blue-light);
    font-weight: 300;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 2%;
}

/* ---------- Content Section Responsive ---------- */

@media (max-width: 768px) {

    /* Content Section Title */
    .content_section .content_section_title {
        text-align: center;
    }

    /* Content Section Text Wrap */
    .content_section .content_section_text_wrap {
        text-align: center;
    }
}



/* -------------------------------------------------------------------------- */
/* ---------------------------- Travel Time Section ------------------------- */

.travel_time_section {
    background: var(--ic-white);
    overflow: hidden;
}

/* Travel Time Title */
.travel_time_section .travel_time_title {
    color: var(--ic-blue);
    font-weight: 500;
    font-size: 2.4rem;
    line-height: 120%;
    letter-spacing: 1%;
}

/* Travel Time Months */
.travel_time_section .travel_time_months {
    margin-top: 4.8rem;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    align-items: center;
    padding-bottom: 1.2rem;
    border-bottom: 1px solid var(--ic-heliblau);
}

.travel_time_section .travel_time_month {
    color: var(--ic-blue-light);
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 2%;
}

/* Travel Time Line */
.travel_time_section .travel_time_line {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    height: 4rem;
}

.travel_time_section .travel_time_range {
    height: 100%;
}

.travel_time_section .travel_time_range_light {
    background: var(--ic-blue-lighter);
}

.travel_time_section .travel_time_range_dark {
    background: var(--ic-blue);
}

.travel_time_section .travel_time_line .travel_time_range_light:first-child {
    grid-column: 3 / 5;
}

.travel_time_section .travel_time_line .travel_time_range_dark {
    grid-column: 5 / 7;
}

.travel_time_section .travel_time_line .travel_time_range_light:last-child {
    grid-column: 7 / 9;
}

/* ---------- Travel Time Section Responsive ---------- */

@media (max-width: 991px) {

    /* Travel Time Months */
    .travel_time_section .travel_time_months {
        gap: 0.6rem;
    }

    /* Travel Time Line */
    .travel_time_section .travel_time_line {
        height: 3.4rem;
    }
}

@media (max-width: 768px) {

    /* Travel Time Title */
    .travel_time_section .travel_time_title {
        text-align: center;
        font-size: 2rem;
    }

    /* Travel Time Months */
    .travel_time_section .travel_time_months {
        margin-top: 2.8rem;
        gap: 0.4rem;
    }

    .travel_time_section .travel_time_month {
        text-align: center;
        font-size: 1.2rem;
    }

    /* Travel Time Line */
    .travel_time_section .travel_time_line {
        height: 2.8rem;
    }
}

@media (max-width: 480px) {

    /* Travel Time Months */
    .travel_time_section .travel_time_months {
        gap: 0.2rem;
        padding-bottom: 0.8rem;
    }

    /* Travel Time Line */
    .travel_time_section .travel_time_line {
        height: 2.2rem;
    }
}



/* -------------------------------------------------------------------------- */
/* -------------------------------- FAQ Section ----------------------------- */

.faq_section {
    background-color: var(--ic-cream-deschis);
    overflow: hidden;
    position: relative;
    background-color: var(--ic-cream-deschis);
    background-image: url("../assets/backgrounds/faq-pattern-bg.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

/* FAQ Head */
.faq_section .faq_head {
    margin-bottom: 4.8rem;
}

.faq_section .faq_title {
    color: var(--ic-blue);
    font-weight: 500;
    font-size: 4rem;
    line-height: 120%;
    letter-spacing: 1%;
}

.faq_section .faq_text {
    margin-top: 1.6rem;
    color: var(--ic-blue-light);
    font-weight: 300;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 2%;
}

/* FAQ List */
.faq_section .faq_list {
    border-top: 1px solid var(--ic-cream);
}

.faq_section .faq_item {
    border-bottom: 1px solid var(--ic-cream);
}

.faq_section .faq_question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    width: 100%;
    padding: 2rem 0;
    border: none;
    background: transparent;
    text-align: left;
    cursor: pointer;
}

.faq_section .faq_question span {
    color: var(--ic-blue);
    font-weight: 500;
    font-size: 2rem;
    line-height: 140%;
    letter-spacing: 1%;
}

.faq_section .faq_toggle {
    flex-shrink: 0;
    color: var(--ic-blue);
    font-size: 2;
    line-height: 1;
}

/* FAQ Answer */
.faq_section .faq_answer {
    display: none;
    max-width: 90rem;
    padding-bottom: 2.4rem;
}

.faq_section .faq_item_active .faq_answer {
    display: block;
}

.faq_section .faq_answer p {
    color: var(--ic-blue-light);
    font-weight: 300;
    font-size: 1.4rem;
    line-height: 150%;
    letter-spacing: 2%;
}

/* ---------- FAQ Section Responsive ---------- */

@media (max-width: 768px) {

    /* FAQ Head */
    .faq_section .faq_head {
        margin-bottom: 3rem;
    }
}



/* -------------------------------------------------------------------------- */
/* --------------------------- Contact Page Section ------------------------- */

.contact_page_section {
    overflow: hidden;
}

/* Contact Container */
.contact_page_section .contact_container {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    align-items: start;
    gap: 8rem;
}

/* Contact Content */
.contact_page_section .contact_title {
    color: var(--ic-blue);
    font-weight: 500;
    font-size: 4.8rem;
    line-height: 120%;
    letter-spacing: 1%;
}

.contact_page_section .contact_text {
    margin-top: 1.6rem;
    color: var(--ic-blue-light);
    font-weight: 300;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 2%;
}

/* Contact Gallery */
.contact_page_section .contact_gallery {
    position: relative;
    height: 54rem;
    margin-top: 3.2rem;
}

.contact_page_section .contact_gallery_item {
    position: absolute;
    overflow: hidden;
}

.contact_page_section .contact_gallery_item img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.contact_page_section .contact_gallery_item_one {
    top: 0;
    left: 0;
    width: 33rem;
    height: 44rem;
}

.contact_page_section .contact_gallery_item_two {
    right: 0;
    bottom: 0;
    width: 33rem;
    height: 44rem;
}

/* Contact Info */
.contact_page_section .contact_info {
    margin-top: 3.2rem;
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
}

.contact_page_section .contact_info_item {
    display: flex;
    align-items: center;
    gap: 1.6rem;
}

.contact_page_section .contact_info_item svg {
    width: 1.6rem;
    height: 1.6rem;
    display: block;
    flex-shrink: 0;
    color: var(--ic-blue);
    fill: currentColor;
}

.contact_page_section .contact_info_item a,
.contact_page_section .contact_info_item p {
    color: var(--ic-blue);
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 150%;
    letter-spacing: 0%;
}

.contact_page_section .contact_info_item a {
    text-decoration: underline;
}

.contact_page_section .contact_about_btn {
    margin-top: 3.2rem;
    width: fit-content;
    height: 4.8rem;
}

/* Contact Form */
.contact_page_section .contact_form {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
}

.contact_page_section .contact_form_grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2.4rem;
}

.contact_page_section .contact_form_group {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
}

.contact_page_section .contact_label {
    color: var(--ic-blue-light);
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 2%;
}

.contact_page_section .contact_input {
    flex: 1;
    min-height: 4.8rem;
    padding: 0 2.4rem;
    outline: none;
    border: 1px solid var(--ic-blue-light);
    border-radius: 5rem;
    background: transparent;
    cursor: pointer;
    color: var(--ic-blue);
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 0%;
}

.contact_page_section .contact_input::placeholder {
    color: var(--ic-blue-lighter);
}

.contact_page_section .contact_date {
    color: var(--ic-blue-lighter);
}

.contact_page_section .contact_date:focus,
.contact_page_section .contact_date:valid {
    color: var(--ic-blue);
}

.contact_page_section .contact_date::-webkit-calendar-picker-indicator {
    opacity: 1;
    cursor: pointer;
}

.contact_page_section .contact_textarea {
    min-height: 18rem;
    padding-top: 1.8rem;
    border-radius: 2rem;
    resize: none;
}

/* Contact Options */
.contact_page_section .contact_options {
    margin-top: 1.6rem;
}

.contact_page_section .contact_options_title {
    color: var(--ic-blue);
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 2%;
}

.contact_page_section .contact_options_grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.4rem;
    margin-top: 2rem;
}

.contact_page_section .contact_check_single {
    margin-top: 4rem;
    margin-bottom: 1.6rem;
}

.contact_page_section .contact_submit_btn {
    width: fit-content;
    height: 4.8rem;
}

.contact_page_section .contact_note {
    color: var(--ic-blue);
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 150%;
    letter-spacing: 0%;
}

/* ---------- Contact Page Section Responsive ---------- */

@media (max-width: 991px) {

    /* Contact Container */
    .contact_page_section .contact_container {
        grid-template-columns: 1fr;
        gap: 6rem;
    }

    /* Contact Gallery */
    .contact_page_section .contact_gallery {
        height: 48rem;
    }

    .contact_page_section .contact_gallery_item_one,
    .contact_page_section .contact_gallery_item_two {
        width: 80%;
        height: 38rem;
    }
}

@media (max-width: 768px) {

    /* Contact Form */
    .contact_page_section .contact_form_grid {
        grid-template-columns: 1fr;
    }

    .contact_page_section .contact_input {
        min-height: 5.2rem;
    }

    .contact_page_section .contact_textarea {
        min-height: 16rem;
    }
}

@media (max-width: 480px) {

    /* Contact Content */
    .contact_page_section .contact_title {
        font-size: 4.2rem;
    }

    /* Contact Gallery */
    .contact_page_section .contact_gallery {
        height: 40rem;
    }

    .contact_page_section .contact_gallery_item_one {
        width: 68%;
        height: 33rem;
    }

    .contact_page_section .contact_gallery_item_two {
        width: 68%;
        height: 33rem;
    }
}

@media (max-width: 380px) {

    /* Contact Options */
    .contact_page_section .contact_options_grid {
        grid-template-columns: 1fr;
    }
}



/* -------------------------------------------------------------------------- */
/* ------------------------- Travel Search Section -------------------------- */

/* Travel Search Head */
.travel_search_section .travel_search_head {
    margin-bottom: 8rem;
}

.travel_search_section .travel_search_title {
    color: var(--ic-blue);
    font-weight: 500;
    font-size: 4.8rem;
    line-height: 120%;
    letter-spacing: 1%;
}

.travel_search_section .travel_search_text {
    margin-top: 1.6rem;
    color: var(--ic-blue-light);
    font-weight: 300;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 2%;
}

/* Travel Search Layout */
.travel_search_section .travel_search_layout {
    display: grid;
    grid-template-columns: 28rem 1fr;
    align-items: start;
    gap: 6.4rem;
}

/* Travel Search Sidebar */
.travel_search_section .travel_search_sidebar {
    position: sticky;
    top: 2rem;
    align-self: start;
}

.travel_search_section .travel_search_sidebar_head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
}

.travel_search_section .travel_search_sidebar_title {
    color: var(--ic-blue);
    font-weight: 600;
    font-size: 2.4rem;
    line-height: 150%;
    letter-spacing: 2%;
}

.travel_search_section .travel_search_clear {
    padding: 0;
    border: none;
    background: transparent;
    cursor: pointer;
    color: var(--ic-blue);
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 0%;
    transition: 0.3s ease;
}

.travel_search_section .travel_search_clear:hover {
    text-decoration: underline;
}

.travel_search_section .travel_search_count {
    margin-top: 2.4rem;
    color: var(--ic-blue);
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 150%;
    letter-spacing: 2%;
}

/* Travel Search Menu */
.travel_search_section .travel_search_menu {
    margin-top: 2.4rem;
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
}

.travel_search_section .travel_search_menu_item {
    color: var(--ic-blue);
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 2%;
}

/* Travel Search Filters */
.travel_search_section .sidebar_filters {
    display: flex;
    flex-direction: column;
    margin-top: 2rem;
}

.travel_search_section .travel_search_filter {
    border-top: 1px solid var(--ic-heliblau);
}

.travel_search_section .travel_search_filter_head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    width: 100%;
    height: 6.7rem;
    padding: 0;
    border: none;
    background: transparent;
    cursor: pointer;
}

.travel_search_section .travel_search_filter_title {
    color: var(--ic-blue);
    font-size: 1.8rem;
    font-weight: 600;
}

.travel_search_section .travel_search_filter_icon {
    color: var(--ic-blue);
    font-size: 1.2rem;
    transition: 0.3s ease;
}

.travel_search_section .travel_search_filter_active .travel_search_filter_icon {
    transform: rotate(180deg);
}

.travel_search_section .travel_search_filter_body {
    margin-bottom: 3rem;
    overflow: visible;
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
}

.travel_search_section .travel_search_filter:not(.travel_search_filter_active) .travel_search_filter_body {
    display: none;
}

/* Travel Search Input */
.travel_search_section .travel_search_input_wrap,
.travel_search_section .travel_search_search {
    display: flex;
    align-items: center;
    gap: 1.6rem;
    height: 4.8rem;
    padding: 0 2rem;
    border: 1px solid var(--ic-blue-light);
    border-radius: 5rem;
    background: var(--ic-white);
    cursor: pointer;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 150%;
}

.travel_search_section .travel_search_input_wrap svg,
.travel_search_section .travel_search_search svg {
    width: 1.6rem;
    height: 1.6rem;
    display: block;
    flex-shrink: 0;
    color: var(--ic-blue);
    fill: currentColor;
}

.travel_search_section .travel_search_input_wrap input,
.travel_search_section .travel_search_search input {
    width: 100%;
    border: none;
    outline: none;
    background: transparent;
    color: var(--ic-blue);
    font-size: inherit;
    font-weight: inherit;
}

.travel_search_section .custom_select_trigger {
    border: 1px solid var(--ic-blue-light);
    font-size: 1.4rem;
}

.travel_search_section .custom_select_option {
    font-size: 1.4rem;
}

/* Travel Search Content */
.travel_search_section .travel_search_content_head {
    display: flex;
    justify-content: space-between;
    gap: 2.4rem;
    margin-bottom: 4.8rem;
}

.travel_search_section .travel_search_content_title {
    color: var(--ic-blue);
    font-weight: 600;
    font-size: 2.4rem;
    line-height: 140%;
    letter-spacing: 0%;
}

.travel_search_section .travel_search_content_text {
    margin-top: 0.8rem;
    max-width: 58rem;
    color: var(--ic-blue-light);
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 0%;
}

/* Travel Search Toolbar */
.travel_search_section .travel_search_toolbar {
    display: flex;
    align-items: flex-end;
    gap: 1.6rem;
}

.travel_search_section .travel_search_search {
    width: 100%;
}

.travel_search_section .travel_search_sort_select {
    width: 20rem;
    max-width: 20rem;
}

.travel_search_section .travel_search_sidebar_open,
.travel_search_section .travel_search_sidebar_close {
    display: none;
}

/* Travel Cards */
.travel_search_section .travel_cards_section .travel_cards_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3.2rem;
}

.travel_search_section .travel_cards_section .travel_cards_item {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    border: 1px solid var(--ic-heliblau);
    border-radius: 1.2rem;
    background: var(--ic-white);
}

.travel_search_section .travel_cards_section .travel_cards_image_wrap {
    position: relative;
}

.travel_search_section .travel_cards_section .travel_cards_image {
    display: block;
    width: 100%;
    height: 24rem;
    object-fit: cover;
}

.travel_search_section .travel_cards_section .travel_cards_tag {
    position: absolute;
    top: 1.6rem;
    right: 1.6rem;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.8rem;
    height: 3rem;
    padding: 0 1.4rem;
    border-radius: 5rem;
    background: color-mix(in srgb, var(--ic-white) 80%, transparent);
    color: var(--ic-blue);
    font-weight: 600;
    font-size: 1.4rem;
    line-height: 150%;
    letter-spacing: 0%;
}

.travel_search_section .travel_cards_section .travel_cards_tag svg {
    width: 1.4rem;
    height: 1.4rem;
    display: block;
    flex-shrink: 0;
    fill: currentColor;
}

.travel_search_section .travel_cards_section .travel_cards_content {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 2.4rem;
}

.travel_search_section .travel_cards_section .travel_cards_code {
    color: var(--ic-blue-light);
    font-weight: 500;
    font-size: 1.2rem;
    line-height: 150%;
    letter-spacing: 2%;
}

.travel_search_section .travel_cards_section .travel_cards_item_title {
    margin-top: 0.4rem;
    color: var(--ic-blue);
    font-weight: 600;
    font-size: 2rem;
    line-height: 140%;
    letter-spacing: 1%;
}

.travel_search_section .travel_cards_section .travel_cards_points {
    margin-top: 1.2rem;
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
}

.travel_search_section .travel_cards_section .travel_cards_points_row strong,
.travel_search_section .travel_cards_section .travel_cards_points_row span {
    display: block;
    margin-bottom: 0.2rem;
    color: var(--ic-blue-light);
    font-weight: 300;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 2%;
}

.travel_search_section .travel_cards_section .travel_cards_points_row strong {
    color: var(--ic-blue);
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 2%;
}

.travel_search_section .travel_cards_section .travel_cards_points_logo_row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1.6rem;
}

.travel_search_section .travel_cards_section .travel_cards_logo_wrap {
    display: flex;
    justify-content: center;
    align-items: center;
}

.travel_search_section .travel_cards_section .travel_cards_logo {
    width: auto;
    height: 3.2rem;
}

.travel_search_section .travel_cards_section .travel_cards_price {
    margin-top: 1.2rem;
    margin-bottom: 1.6rem;
    padding-top: 1.4rem;
    padding-bottom: 1.4rem;
    border-top: 1px solid var(--ic-heliblau);
    border-bottom: 1px solid var(--ic-heliblau);
    color: var(--ic-blue);
    font-weight: 500;
    font-size: 2.4rem;
    line-height: 120%;
    letter-spacing: 4%;
}

.travel_search_section .travel_cards_section .travel_cards_btn {
    width: fit-content;
    height: 4rem;
    margin-top: auto;
}

/* Cruise Cards */
.cruise_deals_section .cruise_deals_list {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
}

.cruise_deals_section .cruise_deal_card {
    display: grid;
    grid-template-columns: 34rem 1fr;
    border: 1px solid var(--ic-heliblau);
    border-radius: 1.2rem;
    overflow: hidden;
    background: var(--ic-white);
}

.cruise_deals_section .cruise_deal_media {
    position: relative;
    min-height: 48rem;
}

.cruise_deals_section .cruise_deal_image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.cruise_deals_section .cruise_deal_ship {
    position: absolute;
    top: 1.2rem;
    left: 1.2rem;
    right: 1.2rem;
    padding: 1.2rem;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.2rem;
    background: var(--ic-white);
    border-radius: 1.2rem;
}

.cruise_deals_section .cruise_deal_ship_name {
    display: flex;
    align-items: center;
    gap: 0.8rem;
}

.cruise_deals_section .cruise_deal_ship_name svg {
    width: 1.8rem;
    height: 1.8rem;
    display: block;
    flex-shrink: 0;
    color: var(--ic-blue-light);
    fill: currentColor;
}

.cruise_deals_section .cruise_deal_ship_name span {
    color: var(--ic-blue);
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 2%;
}

.cruise_deals_section .cruise_deal_ship_meta {
    display: flex;
    flex-wrap: wrap;
    gap: 1.4rem;
    margin-top: 1rem;
}

.cruise_deals_section .cruise_deal_ship_meta div {
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.cruise_deals_section .cruise_deal_ship_meta svg {
    width: 1.4rem;
    height: 1.4rem;
    display: block;
    flex-shrink: 0;
    color: var(--ic-blue-light);
    fill: currentColor;
}

.cruise_deals_section .cruise_deal_ship_meta div:last-child i {
    font-size: 1.2rem;
    color: var(--ic-gold-star);
}

.cruise_deals_section .cruise_deal_ship_meta span {
    color: var(--ic-blue-light);
    font-weight: 300;
    font-size: 1.2rem;
    line-height: 150%;
    letter-spacing: 2%;
}

.cruise_deals_section .cruise_deal_logo {
    width: auto;
    height: 2.8rem;
}

.cruise_deals_section .cruise_deal_content {
    padding: 2.4rem;
}

.cruise_deals_section .cruise_deal_head {
    display: flex;
    justify-content: space-between;
    gap: 2.4rem;
}

.cruise_deals_section .cruise_deal_title {
    color: var(--ic-blue);
    font-weight: 600;
    font-size: 2rem;
    line-height: 140%;
    letter-spacing: 1%;
}

.cruise_deals_section .cruise_deal_subtitle {
    margin-top: 0.6rem;
    color: var(--ic-blue-light);
    font-weight: 300;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 2%;
}

.cruise_deals_section .cruise_deal_price {
    text-align: right;
    flex-shrink: 0;
}

.cruise_deals_section .cruise_deal_from {
    display: block;
    color: var(--ic-blue-light);
    font-weight: 300;
    font-size: 1.4rem;
    line-height: 150%;
    letter-spacing: 2%;
}

.cruise_deals_section .cruise_deal_price strong {
    display: block;
    color: var(--ic-blue-light);
    font-weight: 500;
    font-size: 2.4rem;
    line-height: 150%;
    letter-spacing: 2%;
}

.cruise_deals_section .cruise_deal_price small {
    display: block;
    color: var(--ic-blue-light);
    font-weight: 300;
    font-size: 1.4rem;
    line-height: 150%;
    letter-spacing: 2%;
}

.cruise_deals_section .cruise_deal_route {
    display: flex;
    align-items: center;
    gap: 1.2rem;
    margin-top: 1.6rem;
    padding: 0.8rem 1.2rem;
    border: 1px solid var(--ic-skyblue-border);
    border-radius: 1.2rem;
    background: var(--ic-skyblue-bg);
}

.cruise_deals_section .cruise_deal_route svg {
    width: 1.8rem;
    height: 1.8rem;
    margin-top: 0.2rem;
    display: block;
    flex-shrink: 0;
    color: var(--ic-blue);
    fill: currentColor;
}

.cruise_deals_section .cruise_deal_route strong {
    display: block;
    color: var(--ic-blue);
    font-weight: 600;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 1%;
}

.cruise_deals_section .cruise_deal_route span {
    display: block;
    margin-top: 0.2rem;
    color: var(--ic-blue-light);
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 150%;
    letter-spacing: 2%;
}

.cruise_deals_section .cruise_deal_dates {
    margin-top: 2rem;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.2rem;
}

.cruise_deals_section .cruise_deal_date {
    min-height: 9.2rem;
    border-radius: 1.2rem;
    border: 2px solid var(--ic-heliblau);
    background: transparent;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.2rem;
    cursor: pointer;
}

.cruise_deals_section .cruise_deal_dates .cruise_deal_date {
    position: relative;
    padding: 1.2rem;
}

.cruise_deals_section .cruise_deal_dates .cruise_deal_badge {
    position: absolute;
    top: -1rem;
    left: 50%;
    transform: translateX(-50%);
    height: 2rem;
    padding: 0 1rem;
    border-radius: 5rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: var(--ic-gold);
    color: var(--ic-white);
    font-weight: 600;
    font-size: 1.2rem;
    line-height: 150%;
    letter-spacing: 0%;
    white-space: nowrap;
}

.cruise_deals_section .cruise_deal_date span,
.cruise_deals_section .cruise_deal_date small {
    color: var(--ic-blue-light);
    font-weight: 300;
    font-size: 1.4rem;
    line-height: 150%;
    letter-spacing: 2%;
}

.cruise_deals_section .cruise_deal_date strong {
    color: var(--ic-blue-light);
    font-weight: 500;
    font-size: 2rem;
    line-height: 150%;
    letter-spacing: 4%;
}

.cruise_deals_section .cruise_deal_date.active {
    border-color: var(--ic-blue);
}

.cruise_deals_section .cruise_deal_date:hover {
    border-color: var(--ic-blue);
}

.cruise_deals_section .cruise_deal_cabin {
    margin-top: 1.6rem;
}

.cruise_deals_section .cruise_deal_cabin .cruise_deal_label {
    color: var(--ic-blue);
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 150%;
    letter-spacing: 2%;
}

/* Pricing Grid */
.cruise_deals_section .cruise_deal_cabin_grid {
    margin-top: 0.8rem;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.2rem;
}

.cruise_deals_section .cruise_deal_cabin_grid .cruise_deal_cabin_item {
    padding: 1.6rem;
    border-radius: 0.8rem;
    background: var(--ic-glacier-white);
}

.cruise_deals_section .cruise_deal_cabin_grid .cruise_deal_cabin_item span {
    display: block;
    color: var(--ic-blue-light);
    font-weight: 300;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 2%;
}

.cruise_deals_section .cruise_deal_cabin_grid .cruise_deal_cabin_item strong {
    margin-top: 0.2rem;
    display: block;
    color: var(--ic-blue);
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 2%;
}

/* Pricing List */
.cruise_deals_section .cruise_deal_cabin_list {
    margin-top: 0.8rem;
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
}

.cruise_deals_section .cruise_deal_cabin_list .cruise_deal_cabin_row {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.2rem;
}

.cruise_deals_section .cruise_deal_cabin_list .cruise_deal_cabin_row span {
    color: var(--ic-blue);
    font-weight: 300;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 2%;
}

.cruise_deals_section .cruise_deal_cabin_list .cruise_deal_cabin_row strong {
    color: var(--ic-blue);
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 2%;
}

.cruise_deals_section .cruise_deal_actions {
    margin-top: 1.6rem;
    display: flex;
    gap: 1.6rem;
}

.cruise_deals_section .cruise_deal_btn_outline,
.cruise_deals_section .cruise_deal_btn_fill {
    height: 4.8rem;
}

.cruise_deals_section .cruise_deal_btn_fill {
    flex: 1;
}

/* ---------- Travel Search Section Responsive ---------- */

@media (max-width: 1440px) {

    /* Travel Search Content */
    .travel_search_section .travel_search_content_head {
        flex-direction: column;
    }

    /* Travel Cards */
    .travel_search_section .travel_cards_section .travel_cards_grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Cruise Cards */
    .cruise_deals_section .cruise_deal_cabin_grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 1200px) {

    /* Travel Search Layout */
    .travel_search_section .travel_search_layout {
        grid-template-columns: 1fr;
        gap: 4.4rem;
    }

    /* Travel Search Sidebar */
    .travel_search_section .travel_search_sidebar {
        position: fixed;
        top: 0;
        left: -100%;
        z-index: 100;
        width: 100%;
        height: 100vh;
        padding: 8rem 2.4rem 3rem;
        background: var(--ic-white);
        overflow-y: auto;
        transition: 0.3s ease;
        box-shadow: 0 0 2rem rgba(0, 0, 0, 0.08);
    }

    .travel_search_section.travel_search_sidebar_active .travel_search_sidebar {
        left: 0;
    }

    .travel_search_section .travel_search_sidebar_open {
        height: 5.2rem;
        padding: 0 2.4rem;
        border-radius: 5rem;
        flex-shrink: 0;
    }

    .travel_search_section .travel_search_sidebar_close,
    .travel_search_section .travel_search_sidebar_open {
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .travel_search_section .travel_search_sidebar_close {
        position: absolute;
        top: 2rem;
        right: 1rem;
        width: 4rem;
        height: 4rem;
        border: 1px solid var(--ic-blue-lighter);
        border-radius: 50%;
        background: transparent;
        cursor: pointer;
    }

    .travel_search_section .travel_search_sidebar_close svg {
        width: 2.4rem;
        height: 2.4rem;
        display: block;
        flex-shrink: 0;
        fill: currentColor;
    }

    .travel_search_section .travel_search_sidebar_close:hover {
        color: var(--ic-white);
        border: 1px solid var(--ic-blue);
        background-color: var(--ic-blue);
    }

    /* Travel Cards */
    .travel_search_section .travel_cards_section .travel_cards_grid {
        grid-template-columns: repeat(3, 1fr);
    }

    /* Cruise Cards */
    .cruise_deals_section .cruise_deal_cabin_grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (max-width: 991px) {

    /* Travel Search Head */
    .travel_search_section .travel_search_head {
        margin-bottom: 5rem;
    }

    .travel_search_section .travel_search_content_text {
        max-width: 100%;
    }

    /* Travel Search Toolbar */
    .travel_search_section .travel_search_toolbar {
        display: grid;
        grid-template-columns: 1fr auto;
        gap: 1.2rem;
        width: 100%;
    }

    .travel_search_section .travel_search_search {
        grid-column: 1 / -1;
        width: 100%;
        min-width: 100%;
    }

    .travel_search_section .travel_search_sort_select {
        width: 100%;
        max-width: none;
    }

    /* Travel Cards */
    .travel_search_section .travel_cards_section .travel_cards_grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 2rem;
    }

    /* Cruise Cards */
    .cruise_deals_section .cruise_deal_card {
        grid-template-columns: 1fr;
    }

    .cruise_deals_section .cruise_deal_media {
        min-height: initial;
        max-height: 40rem;
    }
}

@media (max-width: 768px) {

    /* Travel Search Head */
    .travel_search_section .travel_search_title {
        font-size: 4.2rem;
    }

    /* Travel Search Sidebar */
    .travel_search_section .travel_search_input_wrap,
    .travel_search_section .travel_search_search {
        height: 5.2rem;
        font-size: 1.6rem;
    }

    .travel_search_section .custom_select_trigger {
        font-size: 1.6rem;
    }

    .travel_search_section .custom_select_option {
        font-size: 1.6rem;
    }

    /* Travel Cards */
    .travel_search_section .travel_cards_section .travel_cards_image {
        height: 24rem;
    }

    /* Cruise Cards */
    .cruise_deals_section .cruise_deal_price {
        text-align: left;
    }

    .cruise_deals_section .cruise_deal_actions {
        flex-direction: column;
    }

    .cruise_deals_section .cruise_deal_actions {
        flex-direction: column;
        gap: 1.2rem;
    }

    .cruise_deals_section .cruise_deal_btn_outline,
    .cruise_deals_section .cruise_deal_btn_fill {
        height: 5.2rem;
        min-height: 5.2rem;
    }
}

@media (max-width: 568px) {

    /* Travel Cards */
    .travel_search_section .travel_cards_section .travel_cards_grid {
        grid-template-columns: 1fr;
    }

    /* Cruise Cards */
    .cruise_deals_section .cruise_deal_cabin_grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .cruise_deals_section .cruise_deal_media {
        max-height: 30rem;
    }
}

@media (max-width: 480px) {

    /* Travel Search Sidebar */
    .travel_search_section .travel_search_sidebar {
        padding: 8rem 1.8rem 2.4rem;
    }
}



/* -------------------------------------------------------------------------- */
/* --------------------------- Story Split Section -------------------------- */

.story_split_section {
    overflow: hidden;
}

/* Layout 1 */
.story_split_section .story_split_grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8rem;
    align-items: center;
}

/* Layout 2 */
.story_split_section.story_split_reverse .story_split_grid {
    grid-template-columns: 1fr 1fr;
}

/* Media */
.story_split_section .story_split_media {
    width: 100%;
}

.story_split_section .story_split_image {
    width: 100%;
    height: 60rem;
    object-fit: cover;
    display: block;
}

/* Content */
.story_split_section .story_split_title {
    color: var(--ic-blue);
    font-weight: 500;
    font-size: 4rem;
    line-height: 120%;
    letter-spacing: 1%;
}

.story_split_section .story_split_text {
    margin-top: 2.4rem;
    color: var(--ic-blue-light);
    font-weight: 300;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 2%;
}

/* ---------- Story Split Section Responsive ---------- */

@media (max-width:1200px) {

    /* Both Layouts = Two Equal Columns */
    .story_split_section .story_split_grid,
    .story_split_section.story_split_reverse .story_split_grid {
        gap: 6rem;
    }
}

@media (max-width:991px) {

    /* Both Layouts = Single Column */
    .story_split_section .story_split_grid,
    .story_split_section.story_split_reverse .story_split_grid {
        grid-template-columns: 1fr;
        gap: 4rem;
    }

    /* Reverse Layout = Show Image First */
    .story_split_section.story_split_reverse .story_split_media {
        order: 1;
    }

    .story_split_section.story_split_reverse .story_split_content {
        order: 2;
    }
}

@media (max-width:768px) {

    /* Image Height */
    .story_split_section .story_split_image {
        height: 42rem;
    }

    /* Title */
    .story_split_section .story_split_title {
        font-size: 3.2rem;
    }
}

@media (max-width:480px) {

    /* Image Height */
    .story_split_section .story_split_image {
        height: 30rem;
    }
}



/* -------------------------------------------------------------------------- */
/* ---------------------------- Feature Panel Section ----------------------- */

.feature_panel_section {
    overflow: hidden;
    background-color: var(--ic-cream-deschis);
}

/* Layout Grid */
.feature_panel_section .feature_panel_grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4.8rem;
    align-items: stretch;
}

.feature_panel_section.feature_panel_reverse .feature_panel_grid {
    grid-template-columns: 1fr 1fr;
}

/* Content Box */
.feature_panel_section .feature_panel_box {
    position: relative;
    padding: 4.8rem 3.2rem;
    border: 1px solid var(--ic-gold);
    min-height: 65rem;
}

.feature_panel_section .feature_panel_badge {
    position: absolute;
    top: -3rem;
    left: 50%;
    transform: translateX(-50%);
    padding: 0 4rem;
    background: var(--ic-cream-deschis);
    display: flex;
    align-items: center;
    justify-content: center;
}

.feature_panel_section .feature_panel_badge_logo {
    width: auto;
    height: 6rem;
    display: block;
}

.feature_panel_section .feature_panel_title {
    color: var(--ic-blue);
    font-weight: 500;
    font-size: 4rem;
    line-height: 120%;
    letter-spacing: 1%;
}

.feature_panel_section .feature_panel_list {
    margin-top: 3.2rem;
    padding-left: 2rem;
    list-style: disc;
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
}

.feature_panel_section .feature_panel_list li {
    color: var(--ic-blue-light);
    font-weight: 300;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 2%
}

.feature_panel_section .feature_panel_list li::marker {
    color: var(--ic-blue-light);
    opacity: 1;
}

.feature_panel_section .feature_panel_box p,
.feature_panel_section .feature_panel_box li {
    color: var(--ic-blue-light);
    font-weight: 300;
    font-size: 2.4rem;
    line-height: 150%;
    letter-spacing: 2%;
    margin-top: 3.2rem;
}

.feature_panel_section .feature_panel_box ul,
.feature_panel_section .feature_panel_box ol {
    list-style: none;
    padding: 0;
    margin: 0;
}

/* Media */
.feature_panel_section .feature_panel_media {
    width: 100%;
}

.feature_panel_section .feature_panel_image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Full Width Layout */
.feature_panel_section.feature_panel_full .feature_panel_box {
    min-height: auto;
}

.feature_panel_section.feature_panel_full .feature_panel_title {
    max-width: 100%;
    text-align: left;
}

.feature_panel_section.feature_panel_full .feature_panel_box p {
    text-align: left;
}

/* ---------- Feature Panel Section Responsive ---------- */

@media (max-width:991px) {

    /* Layout Grid */
    .feature_panel_section .feature_panel_grid,
    .feature_panel_section.feature_panel_reverse .feature_panel_grid {
        grid-template-columns: 1fr;
        gap: 2.8rem;
    }

    /* Always Show Content First */
    .feature_panel_section .feature_panel_box {
        min-height: fit-content;
        order: 1;
    }

    /* Always Show Image Second */
    .feature_panel_section .feature_panel_media {
        order: 2;
    }

    /* Image */
    .feature_panel_section .feature_panel_image {
        height: 50rem;
    }
}

@media (max-width:768px) {

    /* Content Box */
    .feature_panel_section .feature_panel_box {
        padding: 4rem 2.4rem 3rem;
        min-height: auto;
    }

    /* Image */
    .feature_panel_section .feature_panel_image {
        height: 40rem;
    }

    /* Title */
    .feature_panel_section .feature_panel_title {
        font-size: 3.2rem;
    }
}

@media (max-width:480px) {

    /* Image */
    .feature_panel_section .feature_panel_image {
        height: 28rem;
    }
}



/* -------------------------------------------------------------------------- */
/* ---------------------------- Promo Story Section ------------------------ */

.promo_story_section {
    background: var(--ic-blue);
    overflow: hidden;
}

/* Layout Grid */
.promo_story_section .promo_story_grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8rem;
    align-items: stretch;
}

/* Media */
.promo_story_section .promo_story_media {
    position: relative;
}

.promo_story_section .promo_story_image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.promo_story_section .promo_story_badge {
    position: absolute;
    top: 3.5rem;
    right: 3.5rem;
    width: 8rem;
    height: 8rem;
    border-radius: 50%;
    background: var(--ic-white);
    display: flex;
    align-items: center;
    justify-content: center;
}

.promo_story_section .promo_story_badge svg {
    width: 3rem;
    height: 3rem;
    display: block;
    flex-shrink: 0;
    color: var(--ic-gold);
    fill: currentColor;
}

/* Content */
.promo_story_section .promo_story_content {
    min-height: 60rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.promo_story_section .promo_story_title {
    color: var(--ic-white);
    font-weight: 500;
    font-size: 4rem;
    line-height: 120%;
    letter-spacing: 1%;
}

.promo_story_section .promo_story_text {
    margin-top: 2.4rem;
    color: var(--ic-white);
    font-weight: 300;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 2%;
}

.promo_story_section .promo_story_list {
    margin-top: 2.4rem;
    padding-left: 2.2rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    list-style: disc;
}

.promo_story_section .promo_story_list li {
    color: var(--ic-white);
    font-weight: 300;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 2%;
}

.promo_story_section .promo_story_btn {
    margin-top: 3.2rem;
    width: fit-content;
    height: 4.8rem;
}

/* ---------- Promo Story Section Responsive ---------- */

@media (max-width:1200px) {

    /* Grid */
    .promo_story_section .promo_story_grid {
        gap: 6rem;
    }
}

@media (max-width:991px) {

    /* Grid */
    .promo_story_section .promo_story_grid {
        grid-template-columns: 1fr;
        gap: 4rem;
    }

    /* Image */
    .promo_story_section .promo_story_image {
        height: 50rem;
    }

    /* Content */
    .promo_story_section .promo_story_content {
        max-width: 100%;
        min-height: fit-content;
        justify-content: start;
    }
}

@media (max-width:768px) {

    /* Image */
    .promo_story_section .promo_story_image {
        height: 40rem;
    }

    /* Badge */
    .promo_story_section .promo_story_badge {
        width: 6rem;
        height: 6rem;
        top: 2rem;
        right: 2rem;
    }

    .promo_story_section .promo_story_badge i {
        font-size: 2rem;
    }

    /* Title */
    .promo_story_section .promo_story_title {
        font-size: 3.2rem;
    }
}

@media (max-width:480px) {

    /* Image */
    .promo_story_section .promo_story_image {
        height: 28rem;
    }
}



/* -------------------------------------------------------------------------- */
/* ------------------------- Article Content Section ------------------------ */

.article_content_section {
    overflow: hidden;
}

/* Cream Background Version */
.article_content_section.article_content_cream {
    background: var(--ic-cream-deschis);
}

/* Wrapper */
.article_content_section .article_content_wrap {
    max-width: 90rem;
    margin: 0 auto;
}

/* Headings */
.article_content_section .article_content_title {
    color: var(--ic-blue);
    font-weight: 500;
    font-size: 4rem;
    line-height: 120%;
    letter-spacing: 0%;
}

.article_content_section .article_content_title.inner_heading {
    margin-top: 4rem;
}

.article_content_section .article_content_subtitle {
    margin-top: 6.2rem;
    color: var(--ic-blue);
    font-weight: 600;
    font-size: 2rem;
    line-height: 140%;
    letter-spacing: 0%;
}

/* Text */
.article_content_section .article_content_text {
    margin-top: 1.6rem;
    color: var(--ic-blue-light);
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 0%;
}

/* Lists */
.article_content_section .article_content_list,
.article_content_section .article_content_ordered {
    margin-top: 1.6rem;
    padding-left: 2.4rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.article_content_section .article_content_list {
    list-style: disc;
}

.article_content_section .article_content_ordered {
    list-style: decimal;
}

.article_content_section .article_content_list li,
.article_content_section .article_content_ordered li {
    display: list-item;
    list-style-position: outside;
    color: var(--ic-blue-light);
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 0%;
}

.article_content_section .article_content_list li::marker,
.article_content_section .article_content_ordered li::marker {
    color: var(--ic-blue);
    opacity: 1;
}

/* Image */
.article_content_section .article_content_figure {
    margin-top: 4.8rem;
}

.article_content_section .article_content_image {
    width: 100%;
    height: 40rem;
    object-fit: cover;
    display: block;
}

.article_content_section .article_content_caption {
    margin-top: 0.8rem;
    padding-left: 1.2rem;
    border-left: 0.3rem solid var(--ic-heliblau);
    color: var(--ic-blue);
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 150%;
    letter-spacing: 0%;
}

/* Quote */
.article_content_section .article_content_quote {
    margin-top: 3.6rem;
    margin-bottom: 3.6rem;
    padding-left: 2.4rem;
    border-left: 0.3rem solid var(--ic-heliblau);
    color: var(--ic-blue);
    font-style: italic;
    font-size: 2rem;
    line-height: 2.8rem;
    letter-spacing: 0%;
}

/* Buttons */
.article_content_section .article_content_actions {
    margin-top: 2.4rem;
    display: flex;
    flex-wrap: wrap;
    gap: 1.6rem;
}

.article_content_section .article_content_actions a {
    width: fit-content;
    height: 4.8rem;
}

/* ---------- Article Content Section Responsive ---------- */

@media (max-width:768px) {

    /* Image */
    .article_content_section .article_content_image {
        height: 40rem;
    }
}



/* -------------------------------------------------------------------------- */
/* ---------------------------- Video Split Section ------------------------- */

.video_split_section {
    overflow: hidden;
}

/* Layout */
.video_split_section .video_split_grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8rem;
    align-items: center;
}

/* Content */
.video_split_section .video_split_title {
    color: var(--ic-blue);
    font-weight: 500;
    font-size: 5.6rem;
    line-height: 120%;
    letter-spacing: 0%;
}

.video_split_section .video_split_text {
    margin-top: 2.4rem;
    color: var(--ic-blue-light);
    font-weight: 400;
    font-size: 1.8rem;
    line-height: 150%;
    letter-spacing: 0%;
}

.video_split_section .video_split_actions {
    margin-top: 3.2rem;
    display: flex;
    flex-wrap: wrap;
    gap: 1.6rem;
}

.video_split_section .video_split_actions a {
    width: fit-content;
    height: 4.8rem;
}

/* Media */
.video_split_section .video_split_media {
    position: relative;
}

.video_split_section .video_split_video {
    width: 100%;
    height: 60rem;
    object-fit: cover;
    display: block;
}

/* Play Button */
.video_split_section .video_split_play_btn {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 7rem;
    height: 7rem;
    border: none;
    border-radius: 50%;
    background: var(--ic-white);
    color: var(--ic-blue);
    font-size: 2.2rem;
    cursor: pointer;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
}

.video_split_section .video_split_play_btn:hover {
    transform: translate(-50%, -50%) scale(1.08);
}

/* ---------- Video Split Section Responsive ---------- */

@media (max-width:991px) {

    /* Layout */
    .video_split_section .video_split_grid {
        grid-template-columns: 1fr;
        gap: 6rem;
    }

    /* Title */
    .video_split_section .video_split_title {
        font-size: 4.8rem;
    }

    /* Video */
    .video_split_section .video_split_content {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        text-align: center;
    }
}

@media (max-width:768px) {

    /* Layout */
    .video_split_section .video_split_grid {
        gap: 4rem;
    }

    /* Title */
    .video_split_section .video_split_title {
        font-size: 3.2rem;
    }

    /* Video */
    .video_split_section .video_split_video {
        height: 40rem;
    }
}

@media (max-width:480px) {

    /* Video */
    .video_split_section .video_split_video {
        height: 28rem;
    }

    /* Play Button */
    .video_split_section .video_split_play_btn {
        height: 5.2rem;
    }
}



/* -------------------------------------------------------------------------- */
/* ---------------------------- Video Banner Section ------------------------ */

.video_banner_section {
    overflow: hidden;
}

/* Media */
.video_banner_section .video_banner_media {
    position: relative;
}

.video_banner_section .video_banner_video {
    width: 100%;
    height: 72rem;
    object-fit: cover;
    display: block;
}

/* Play Button */
.video_banner_section .video_banner_play_btn {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 7rem;
    height: 7rem;
    border: none;
    border-radius: 50%;
    background: var(--ic-heliblau);
    color: var(--ic-blue);
    font-size: 2.2rem;
    cursor: pointer;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
}

.video_banner_section .video_banner_play_btn:hover {
    transform: translate(-50%, -50%) scale(1.08);
}

/* ---------- Video Banner Section Responsive ---------- */

@media (max-width:768px) {

    /* Video */
    .video_banner_section .video_banner_video {
        height: 38rem;
    }
}

@media (max-width:480px) {

    /* Video */
    .video_banner_section .video_banner_video {
        height: 28rem;
    }

    /* Play Button */
    .video_banner_section .video_banner_play_btn {
        width: 5.4rem;
        height: 5.4rem;
        font-size: 1.8rem;
    }
}

/* -------------------------------------------------------------------------- */
/* ----------- Logo-Größen-Anpassung (part_logo.twig hat class="logo") ------- */

.header .header_brand_picture .logo,
.header .header_brand_picture img {
    display: block;
    width: auto;
    max-height: 4.2rem;
    height: auto;
}

.footer .footer_brand .logo,
.footer .footer_brand img {
    display: block;
    width: auto;
    height: 3.2rem;
}
