/* Homepage hero and booking redesign. This sheet loads after homepage.css. */
.home-hero-redesign {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    border-radius: 0;
    background: #f3f6f2;
}

.home-hero-redesign .home-hero-slider,
.home-hero-redesign .home-hero-slider .swiper-wrapper,
.home-hero-redesign .home-hero-slider .swiper-slide,
.home-hero-redesign .home-hero-slide {
    min-height: 610px;
}

.home-hero-redesign .home-hero-slider {
    border-radius: 0;
}

.home-hero-redesign .home-hero-slide {
    position: relative;
    display: flex;
    align-items: center;
    overflow: hidden;
    border-radius: 0;
}

.home-hero-redesign .home-hero-image,
.home-hero-redesign .home-hero-image::after,
.home-hero-redesign .home-hero-image img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.home-hero-redesign .home-hero-image img {
    display: block;
    object-fit: cover;
    object-position: center;
}

.home-hero-redesign .home-hero-image::after {
    content: "";
    background: linear-gradient(180deg, rgba(12,31,30,.28), rgba(12,31,30,.48));
}

.home-hero-redesign .home-hero-copy-wrap {
    position: absolute !important;
    inset: 0 !important;
    display: flex !important;
    z-index: 1;
    width: 100% !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    background: transparent !important;
    color: #fff;
}

.home-hero-redesign .home-hero-copy-container {
    width: 100% !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 0 24px !important;
    box-sizing: border-box;
    background: transparent !important;
    text-align: center !important;
    transform: translateY(-42px);
}

.home-hero-redesign .home-hero-copy {
    width: 100% !important;
    max-width: none !important;
    margin: 0 auto !important;
    background: transparent !important;
    text-align: center !important;
    animation: home-enter .45s ease-out both;
}

.home-hero-redesign .home-hero-copy .home-primary-heading {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 14px !important;
    background: transparent !important;
    color: rgba(255,255,255,.9);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .13em;
    line-height: 1.4;
    text-transform: uppercase;
}

.home-hero-redesign .home-hero-copy h2 {
    display: block;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    background: transparent !important;
    color: #fff;
    font-size: clamp(38px, 5vw, 64px);
    font-weight: 700;
    line-height: 1.08;
    text-align: center !important;
    text-wrap: balance;
}

.home-hero-redesign .home-hero-copy p {
    width: 100% !important;
    max-width: min(60ch, 100%) !important;
    margin: 18px auto 0;
    background: transparent !important;
    color: rgba(255,255,255,.94);
    font-size: 17px;
    line-height: 1.65;
    text-align: center !important;
}

body #main-content .home-booking-redesign {
    position: relative;
    z-index: 3;
    margin: -190px 0 0;
    padding: 0 0 12px;
}

body #main-content .home-booking-redesign > .home-booking-container {
    width: min(100% - 48px, 1320px);
    max-width: 1320px;
}

body #main-content .home-booking-redesign .home-booking-card {
    display: grid;
    gap: 0;
    padding: 0 !important;
    overflow: visible;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent;
    box-shadow: none !important;
}

body #main-content .home-booking-redesign .home-booking-tabs {
    display: flex !important;
    width: fit-content;
    max-width: 100%;
    gap: 8px;
    margin: 0 0 -1px 12px !important;
    padding: 0 !important;
    border: 0;
    background: transparent;
}

body #main-content .home-booking-redesign .home-booking-tab {
    display: inline-flex;
    min-width: 172px;
    min-height: 54px;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 0 22px;
    border: 1px solid #e2eae4;
    border-bottom: 0;
    border-radius: 16px 16px 0 0;
    background: rgba(255,255,255,.82);
    color: #557068;
    font: inherit;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    transition: color .18s ease, background-color .18s ease;
}

body #main-content .home-booking-redesign .home-booking-tab i { display: none; }
body #main-content .home-booking-redesign .home-booking-tab:hover,
body #main-content .home-booking-redesign .home-booking-tab.active { color: #184c43; }
body #main-content .home-booking-redesign .home-booking-tab.active {
    background: #fff;
    box-shadow: 0 -5px 18px rgba(27,63,53,.05);
}

body #main-content .home-booking-redesign .booking-form .form-container {
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 22px;
    border: 1px solid #e2eae4;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 18px 46px rgba(30,62,52,.12);
}

body #main-content .home-booking-redesign .booking-form .form-container.booking-panel-hidden {
    display: none !important;
}

body #main-content .home-booking-redesign .booking-trip-options {
    display: flex;
    flex-wrap: wrap;
    gap: 22px;
    margin: 0 0 18px;
}

body #main-content .home-booking-redesign .booking-trip-options .radio-item {
    position: relative;
    display: inline-flex;
    min-height: 30px;
    align-items: center;
    gap: 10px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: #334e47;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
}

body #main-content .home-booking-redesign .booking-trip-options .custom-radio input {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    clip-path: inset(50%);
    white-space: nowrap;
}

body #main-content .home-booking-redesign .booking-trip-options .radio-check {
    position: relative;
    display: inline-block;
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    border: 2px solid #96aaa0;
    border-radius: 50%;
    background: #fff;
}

body #main-content .home-booking-redesign .booking-trip-options input:checked + .radio-check {
    border-color: #2b8065;
}

body #main-content .home-booking-redesign .booking-trip-options input:checked + .radio-check::after {
    position: absolute;
    inset: 4px;
    border-radius: 50%;
    background: #2b8065;
    content: "";
}

body #main-content .home-booking-redesign .booking-trip-options input:focus-visible + .radio-check {
    outline: 3px solid rgba(43,128,101,.2);
    outline-offset: 2px;
}

body #main-content .home-booking-redesign .booking-form .input-wrapper-row {
    position: relative;
    display: grid !important;
    grid-template-columns: minmax(205px,1.38fr) 0 minmax(205px,1.38fr) minmax(180px,.96fr) minmax(145px,.72fr) minmax(150px,.72fr) !important;
    align-items: stretch;
    gap: 10px;
}

body #main-content .home-booking-redesign .booking-form .input-wrapper-row > .nereden {
    grid-column: 1 !important;
    grid-row: 1 !important;
    border-radius: 22px;
}
body #main-content .home-booking-redesign .booking-form .input-wrapper-row > .swap-button {
    z-index: 2;
    grid-column: 1 / 4 !important;
    grid-row: 1 !important;
    justify-self: center;
    align-self: center;
    width: 48px;
    height: 48px;
    border: 3px solid #e2eae4;
    background: #fff;
    box-shadow: 0 4px 14px rgba(29,62,51,.12);
}
body #main-content .home-booking-redesign .booking-form .input-wrapper-row > .swap-button:hover {
    transform: rotate(180deg);
}
body #main-content .home-booking-redesign .booking-form .input-wrapper-row > .swap-button img {
    width: 24px;
    height: 24px;
}
body #main-content .home-booking-redesign .booking-form .input-wrapper-row > .nereye {
    grid-column: 3 !important;
    grid-row: 1 !important;
    border-radius: 22px;
}
body #main-content .home-booking-redesign .booking-form .input-wrapper-row > .date-box:not(.return-date-box) { grid-column: 4 !important; grid-row: 1 !important; }
body #main-content .home-booking-redesign .booking-form .input-wrapper-row > .passenger-group { grid-column: 5 !important; grid-row: 1 !important; }
body #main-content .home-booking-redesign .booking-form .input-wrapper-row > .search-button { grid-column: 6 !important; grid-row: 1 !important; }

body #main-content .home-booking-redesign .booking-form .input-wrapper-row > .box,
body #main-content .home-booking-redesign .booking-form .input-wrapper-row > .passenger-group,
body #main-content .home-booking-redesign .booking-form .input-wrapper-row > .search-button {
    min-width: 0;
    min-height: 82px;
    margin: 0;
    border: 1px solid #e1e9e3;
    border-radius: 14px;
    background: #fff;
}

body #main-content .home-booking-redesign .booking-form .input-wrapper-row > .box {
    display: flex;
    align-items: center;
    padding: 0 14px;
    transition: border-color .18s ease, box-shadow .18s ease;
}

body #main-content .home-booking-redesign .booking-form .input-wrapper-row > .box:focus-within {
    border-color: #83ad9a;
    box-shadow: 0 0 0 3px rgba(53,126,94,.1);
}

body #main-content .home-booking-redesign .booking-form .input-container {
    position: relative;
    display: flex;
    width: 100%;
    min-width: 0;
    min-height: 80px;
    align-items: center;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

body #main-content .home-booking-redesign .booking-form .input-container > label {
    position: absolute;
    top: 15px;
    left: 43px;
    max-width: calc(100% - 48px);
    margin: 0;
    overflow: hidden;
    color: #286050;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .07em;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body #main-content .home-booking-redesign .booking-form .input-container > .icon2 {
    position: absolute;
    left: 0;
    width: 30px;
    height: 30px;
    object-fit: contain;
}

body #main-content .home-booking-redesign .booking-form .input-container > input {
    width: 100%;
    min-width: 0;
    height: 48px;
    margin: 17px 0 0;
    padding: 10px 24px 0 43px;
    border: 0;
    outline: 0;
    background: transparent;
    box-shadow: none;
    color: #334c45;
    font: inherit;
    font-size: 13px;
    font-weight: 600;
    text-overflow: ellipsis;
}

body #main-content .home-booking-redesign .booking-form .input-container > input::placeholder {
    color: #8b9992;
    font-weight: 500;
    opacity: 1;
}

body #main-content .home-booking-redesign .booking-form .clear-button {
    top: 54%;
    right: 0;
    transform: translateY(-10%);
    background: #f0f4f1;
    color: #48685a;
}

body #main-content .home-booking-redesign .booking-form .swap-button {
    display: grid;
    width: 40px;
    min-height: 40px;
    align-self: center;
    justify-self: center;
    place-items: center;
    padding: 8px;
    border: 1px solid #e1e9e3;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 5px 14px rgba(29,62,51,.08);
    cursor: pointer;
    transition: transform .2s ease, background-color .2s ease;
}

body #main-content .home-booking-redesign .booking-form .swap-button:hover {
    transform: rotate(180deg);
    background: #f3f8f4;
}

body #main-content .home-booking-redesign .booking-form .swap-button img {
    width: 22px;
    height: 22px;
    object-fit: contain;
}

body #main-content .home-booking-redesign .booking-form .passenger-group {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 4px;
    padding: 8px;
}

body #main-content .home-booking-redesign .booking-form .btn-count {
    display: grid;
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #32845f !important;
    cursor: pointer;
    font-size: 24px;
    line-height: 1;
}

body #main-content .home-booking-redesign .booking-form .btn-count:hover { background: #edf5ef; }
body #main-content .home-booking-redesign .booking-form .label-stack { min-width: 0; text-align: center; }
body #main-content .home-booking-redesign .booking-form .passenger-label { color: #286050; font-size: 10px; font-weight: 800; letter-spacing: .06em; }
body #main-content .home-booking-redesign .booking-form .passenger-count { display: inline-block; margin-top: 3px; color: #52685f; font-size: 13px; font-weight: 650; white-space: nowrap; }

body #main-content .home-booking-redesign .booking-form .search-button {
    display: flex !important;
    align-items: center;
    justify-content: center;
    align-self: stretch;
    height: 100%;
    min-height: 82px !important;
    box-sizing: border-box;
    gap: 9px;
    padding: 0 14px;
    border: 0;
    border-radius: 14px;
    background: #2e8064 !important;
    color: #fff !important;
    cursor: pointer;
    font: inherit;
    font-size: 15px;
    font-weight: 750;
    transition: background-color .18s ease, transform .18s ease;
}

body #main-content .home-booking-redesign .booking-form .search-button:hover {
    transform: none;
    background: #246c53 !important;
}

@media (min-width: 1181px) {
    body #main-content .home-booking-redesign .booking-form .input-wrapper-row > .search-button {
        height: 64px;
        min-height: 64px !important;
    }
}

body #main-content .home-booking-redesign .booking-form .search-button img {
    width: 19px;
    height: 19px;
    object-fit: contain;
    filter: brightness(0) invert(1);
}

body #main-content .home-booking-redesign .booking-form .return-date-box { display: none; }
body #main-content .home-booking-redesign .booking-form.is-round-trip .return-date-box { display: flex; }
body #main-content .home-booking-redesign .booking-form.is-round-trip .input-wrapper-row {
    grid-template-columns: minmax(170px,1.2fr) 0 minmax(170px,1.2fr) minmax(150px,.86fr) minmax(150px,.86fr) minmax(135px,.68fr) minmax(140px,.68fr) !important;
}
body #main-content .home-booking-redesign .booking-form.is-round-trip .input-wrapper-row > .return-date-box { grid-column: 5 !important; grid-row: 1 !important; }
body #main-content .home-booking-redesign .booking-form.is-round-trip .input-wrapper-row > .passenger-group { grid-column: 6 !important; }
body #main-content .home-booking-redesign .booking-form.is-round-trip .input-wrapper-row > .search-button { grid-column: 7 !important; }

@media (max-width: 1180px) {
    .home-hero-redesign .home-hero-slider,
    .home-hero-redesign .home-hero-slider .swiper-wrapper,
    .home-hero-redesign .home-hero-slider .swiper-slide,
    .home-hero-redesign .home-hero-slide { min-height: 560px; }

    body #main-content .home-booking-redesign > .home-booking-container { width: min(100% - 40px, 1000px); }
    body #main-content .home-booking-redesign .booking-form .input-wrapper-row,
    body #main-content .home-booking-redesign .booking-form.is-round-trip .input-wrapper-row {
        position: relative;
        grid-template-columns: repeat(2,minmax(0,1fr)) !important;
        gap: 10px;
    }

    body #main-content .home-booking-redesign .booking-form .input-wrapper-row > .nereden { grid-column: 1 !important; grid-row: 1 !important; }
    body #main-content .home-booking-redesign .booking-form .input-wrapper-row > .nereye { grid-column: 2 !important; grid-row: 1 !important; }
    body #main-content .home-booking-redesign .booking-form .input-wrapper-row > .swap-button {
        position: absolute;
        z-index: 2;
        top: 21px;
        left: 50%;
        grid-column: auto !important;
        grid-row: auto !important;
        transform: translateX(-50%);
    }
    body #main-content .home-booking-redesign .booking-form .input-wrapper-row > .swap-button {
        transform: translateX(-50%);
    }
    body #main-content .home-booking-redesign .booking-form .input-wrapper-row > .swap-button:hover {
        transform: translateX(-50%) rotate(180deg);
    }
    body #main-content .home-booking-redesign .booking-form .input-wrapper-row > .date-box:not(.return-date-box) { grid-column: 1 !important; grid-row: 2 !important; }
    body #main-content .home-booking-redesign .booking-form.is-round-trip .input-wrapper-row > .return-date-box { grid-column: 2 !important; grid-row: 2 !important; }
    body #main-content .home-booking-redesign .booking-form .input-wrapper-row > .passenger-group { grid-column: 1 !important; grid-row: 3 !important; }
    body #main-content .home-booking-redesign .booking-form .input-wrapper-row > .search-button { grid-column: 2 !important; grid-row: 3 !important; }
    body #main-content .home-booking-redesign .booking-form:not(.is-round-trip) .input-wrapper-row > .passenger-group {
        grid-column: 2 !important;
        grid-row: 2 !important;
    }
    body #main-content .home-booking-redesign .booking-form:not(.is-round-trip) .input-wrapper-row > .search-button {
        grid-column: 1 / -1 !important;
        grid-row: 3 !important;
    }
    body #main-content .home-booking-redesign .booking-form .tahsis-input-wrapper-row > .date-box:not(.return-date-box) { grid-column: 1 !important; grid-row: 2 !important; }
    body #main-content .home-booking-redesign .booking-form .tahsis-input-wrapper-row > .passenger-group { grid-column: 2 !important; grid-row: 2 !important; }
    body #main-content .home-booking-redesign .booking-form .tahsis-input-wrapper-row > .search-button { grid-column: 1 / -1 !important; grid-row: 3 !important; }
}

@media (max-width: 640px) {
    .home-hero-redesign .home-hero-slider,
    .home-hero-redesign .home-hero-slider .swiper-wrapper,
    .home-hero-redesign .home-hero-slider .swiper-slide,
    .home-hero-redesign .home-hero-slide {
        min-height: 500px;
    }
    .home-hero-redesign .home-hero-image img { object-position: 58% center; }
    .home-hero-redesign .home-hero-image::after {
        background: linear-gradient(180deg, rgba(12,31,30,.3), rgba(12,31,30,.52));
    }
    .home-hero-redesign .home-hero-copy-container {
        padding: 0 18px !important;
        transform: translateY(-28px) !important;
    }
    .home-hero-redesign .home-hero-copy { width: 100% !important; max-width: none !important; }
    .home-hero-redesign .home-hero-copy .home-primary-heading { margin-bottom: 10px; font-size: 10px; }
    .home-hero-redesign .home-hero-copy h2 { font-size: clamp(34px,10vw,46px); }
    .home-hero-redesign .home-hero-copy p { max-width: 40ch !important; margin-top: 12px; font-size: 14px; }

    body #main-content .home-booking-redesign {
        margin-top: -155px;
        padding-bottom: 0;
    }
    body #main-content .home-booking-redesign > .home-booking-container { width: calc(100% - 24px); }
    body #main-content .home-booking-redesign .home-booking-tabs {
        width: calc(100% - 12px);
        gap: 6px;
        margin-left: 6px !important;
    }
    body #main-content .home-booking-redesign .home-booking-tab {
        min-width: 0;
        min-height: 48px;
        flex: 1 1 0;
        padding: 0 8px;
        border-radius: 13px 13px 0 0;
        font-size: 13px;
    }
    body #main-content .home-booking-redesign .booking-form .form-container {
        padding: 15px;
        border-radius: 16px;
    }
    body #main-content .home-booking-redesign .booking-trip-options {
        gap: 17px;
        margin-bottom: 13px;
    }
    body #main-content .home-booking-redesign .booking-trip-options .radio-item {
        gap: 8px;
        font-size: 13px;
    }

    body #main-content .home-booking-redesign .booking-form .input-wrapper-row {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        grid-auto-flow: row;
        align-items: stretch;
        gap: 8px;
        position: relative;
    }

    body #main-content .home-booking-redesign .booking-form .input-wrapper-row > .box,
    body #main-content .home-booking-redesign .booking-form .input-wrapper-row > .passenger-group,
    body #main-content .home-booking-redesign .booking-form .input-wrapper-row > .search-button {
        box-sizing: border-box;
        min-width: 0;
        width: 100%;
        min-height: 64px;
    }

    body #main-content .home-booking-redesign .booking-form .input-wrapper-row > .nereden {
        grid-column: 1 / -1 !important;
        grid-row: 1 !important;
        border-radius: 22px;
    }
    body #main-content .home-booking-redesign .booking-form .input-wrapper-row > .swap-button {
        position: absolute;
        z-index: 3;
        top: 68px;
        left: auto;
        right: 12px;
        bottom: auto;
        display: grid;
        width: 48px;
        min-width: 48px;
        height: 48px;
        min-height: 48px;
        place-items: center;
        padding: 8px;
        border: 3px solid #e2eae4;
        border-radius: 50%;
        background: #fff;
        box-shadow: 0 4px 14px rgba(29,62,51,.12);
        transform: translateY(-50%) rotate(90deg);
    }
    body #main-content .home-booking-redesign .booking-form .input-wrapper-row > .swap-button img {
        width: 24px;
        height: 24px;
        object-fit: contain;
    }
    body #main-content .home-booking-redesign .booking-form .input-wrapper-row > .swap-button:hover {
        transform: translateY(-50%) rotate(270deg);
    }
    body #main-content .home-booking-redesign .booking-form .input-wrapper-row > .nereye {
        grid-column: 1 / -1 !important;
        grid-row: 2 !important;
        border-radius: 22px;
    }
    body #main-content .home-booking-redesign .booking-form .input-wrapper-row > .date-box:not(.return-date-box) {
        grid-column: 1 !important;
        grid-row: 3 !important;
    }
    body #main-content .home-booking-redesign .booking-form .input-wrapper-row > .return-date-box {
        grid-column: 2 !important;
        grid-row: 3 !important;
    }
    body #main-content .home-booking-redesign .booking-form.is-round-trip .input-wrapper-row > .return-date-box {
        grid-column: 2 !important;
        grid-row: 3 !important;
    }
    body #main-content .home-booking-redesign .booking-form:not(.is-round-trip) .input-wrapper-row:not(.tahsis-input-wrapper-row) > .passenger-group,
    body #main-content .home-booking-redesign .booking-form .tahsis-input-wrapper-row > .passenger-group {
        grid-column: 2 !important;
        grid-row: 3 !important;
    }
    body #main-content .home-booking-redesign .booking-form.is-round-trip .input-wrapper-row:not(.tahsis-input-wrapper-row) > .passenger-group {
        grid-column: 1 / -1 !important;
        grid-row: 4 !important;
    }
    body #main-content .home-booking-redesign .booking-form .input-wrapper-row > .search-button {
        grid-column: 1 / -1 !important;
        grid-row: 4 !important;
        min-height: 58px !important;
    }
    body #main-content .home-booking-redesign .booking-form:not(.is-round-trip) .input-wrapper-row:not(.tahsis-input-wrapper-row) > .search-button {
        grid-column: 1 / -1 !important;
        grid-row: 4 !important;
    }
    body #main-content .home-booking-redesign .booking-form.is-round-trip .input-wrapper-row:not(.tahsis-input-wrapper-row) > .search-button {
        grid-column: 1 / -1 !important;
        grid-row: 5 !important;
    }
    body #main-content .home-booking-redesign .booking-form .tahsis-input-wrapper-row > .date-box {
        grid-column: 1 !important;
        grid-row: 3 !important;
    }
    body #main-content .home-booking-redesign .booking-form .tahsis-input-wrapper-row > .passenger-group {
        grid-column: 2 !important;
        grid-row: 3 !important;
    }
    body #main-content .home-booking-redesign .booking-form .tahsis-input-wrapper-row > .search-button {
        grid-row: 4 !important;
    }
    body #main-content .home-booking-redesign .booking-form .input-container { min-height: 62px; }
    body #main-content .home-booking-redesign .booking-form .input-container > label { top: 10px; left: 40px; font-size: 9px; }
    body #main-content .home-booking-redesign .booking-form .input-container > .icon2 { width: 25px; height: 25px; }
    body #main-content .home-booking-redesign .booking-form .input-container > input { height: 43px; margin-top: 14px; padding: 9px 26px 0 40px; font-size: 12px; }
}

@media (prefers-reduced-motion: reduce) {
    .home-hero-redesign .home-hero-copy { animation: none; }
    body #main-content .home-booking-redesign *,
    body #main-content .home-booking-redesign *::before,
    body #main-content .home-booking-redesign *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }
}