:root {
    --tts-turquoise: #08b8c4;
    --tts-turquoise-dark: #058894;
    --tts-navy: #071d2b;
    --tts-ink: #102a36;
    --tts-soft: #eefafa;
}

body {
    color: var(--tts-ink);
    background: #fff;
}

.promo-countdown-bar {
    background: var(--tts-navy) !important;
    padding: 7px 12px !important;
}

.promo-countdown-title {
    color: #fff;
    font-size: 14px !important;
    margin: 0 !important;
}

.promo-countdown-subtitle {
    color: #9eeef1;
    font-size: 12px !important;
}

.navbar {
    position: relative;
    z-index: 3000;
    border-bottom: 3px solid var(--tts-turquoise);
    background: #fff !important;
    overflow: visible !important;
}

.tts-navbar-container {
    position: relative;
    display: grid !important;
    grid-template-columns: minmax(120px, 1fr) minmax(600px, 3fr) minmax(120px, 1fr);
    align-items: center;
    min-height: 82px;
    overflow: visible !important;
}

.tts-centered-brand {
    position: absolute;
    z-index: 5;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.tts-navbar-language {
    grid-column: 1;
    justify-self: start;
    margin-right: 0 !important;
}

.lang-label {
    display: none !important;
}

.tts-navbar-collapse {
    grid-column: 2 / 4;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 640px minmax(0, 1fr);
    align-items: center;
    width: 100%;
}

.tts-nav-left {
    grid-column: 1;
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: nowrap;
    justify-self: end;
    padding-right: 0;
}

.tts-nav-right {
    grid-column: 3;
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: nowrap;
    justify-self: start;
    padding-left: 0;
}

.tts-nav-left .nav-link,
.tts-nav-right .nav-link {
    white-space: nowrap;
}

.tts-navbar-logo {
    width: 205px;
    height: 76px;
    padding: 2px 4px;
    object-fit: contain;
    background: transparent;
}

.navbar .nav-link:hover,
.navbar .nav-link.active {
    color: var(--tts-turquoise-dark) !important;
}

.whatsapp-link,
.mobile-wa-link {
    color: var(--tts-turquoise-dark) !important;
}

.hero-section {
    min-height: 760px;
    padding: 68px 0 54px !important;
    background:
        linear-gradient(105deg, rgba(4, 22, 34, .95), rgba(5, 63, 73, .80)),
        url('../images/vehicle_doga.jpeg') center / cover no-repeat !important;
}

.hero-copy {
    padding-top: 80px;
}

.tts-hero-grid {
    justify-content: center;
}

.hero-copy-left {
    padding-right: 28px;
}

.hero-copy-right {
    padding-left: 28px;
}

.hero-copy-left,
.hero-copy-right {
    display: flex;
    min-height: 620px;
    flex-direction: column;
    justify-content: center;
}

.tts-hero-side-title {
    margin: 0 0 18px;
    color: #fff;
    font-size: clamp(1.55rem, 1.8vw, 2rem);
    font-weight: 800;
    line-height: 1.15;
}

.tts-hero-service-list {
    display: grid;
    gap: 13px;
    margin: 27px 0 0;
    padding: 0;
    color: #fff;
    list-style: none;
    font-weight: 700;
}

.tts-hero-service-list i {
    margin-right: 8px;
    color: #8ceff2;
}

.hero-reservation-column {
    display: flex;
    justify-content: center;
}

.hero-reservation-column .search-box {
    width: 100%;
    max-width: 620px;
}

.tts-hero-eyebrow {
    display: inline-flex;
    margin-bottom: 20px;
    padding: 8px 13px;
    border: 1px solid rgba(140, 239, 242, .45);
    border-radius: 999px;
    color: #aaf2f4;
    font-size: .82rem;
    font-weight: 800;
    letter-spacing: .12em;
}

.tts-hero-title {
    max-width: 520px;
    margin: 0 0 20px;
    color: #fff;
    font-size: clamp(2rem, 2.35vw, 2.8rem);
    font-weight: 800;
    line-height: 1.08;
    overflow-wrap: normal;
    word-break: normal;
}

.tts-hero-description {
    max-width: 620px;
    color: #d8eff2;
    font-size: 1rem;
    line-height: 1.65;
}

.tts-airport-code-list {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 28px;
}

.tts-airport-code-list span {
    padding: 8px 12px;
    border-radius: 7px;
    background: rgba(255,255,255,.10);
    color: #fff;
    font-size: .8rem;
    font-weight: 800;
}

.search-box.airport-theme-shell,
.reservation-form.airport-theme-shell {
    padding: 22px !important;
    border: 1px solid rgba(255,255,255,.65) !important;
    border-radius: 18px !important;
    background: rgba(255,255,255,.97) !important;
    box-shadow: 0 28px 70px rgba(0,0,0,.30) !important;
}

.search-box.airport-theme-shell .form-label,
.reservation-form.airport-theme-shell .form-label,
.airport-theme-shell .quote-form-panel .form-label {
    color: var(--tts-ink) !important;
    text-shadow: none !important;
}

.quote-title-bar {
    border-left-color: var(--tts-turquoise) !important;
    box-shadow: none !important;
    background: var(--tts-soft) !important;
}

.home-res-tab-switcher,
.res-tab-switcher {
    background: #e9f7f7 !important;
    border-color: #c6eaea !important;
}

.home-res-tab.active,
.res-tab-btn.active {
    color: var(--tts-turquoise-dark) !important;
}

.select-airport-label {
    color: var(--tts-turquoise-dark) !important;
}

.airport-tabs-wrap,
.search-box .quote-airport-buttons {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 9px !important;
}

.airport-tab,
.search-box .quote-airport-buttons .airport-tab {
    min-height: 82px !important;
    padding: 10px 8px !important;
    border: 2px solid #bce8e9 !important;
    border-radius: 12px !important;
    background: #f5ffff !important;
    color: var(--tts-ink) !important;
    box-shadow: none !important;
    grid-template-columns: 28px minmax(0, 1fr) !important;
}

.airport-tab.active,
.search-box .quote-airport-buttons .airport-tab.active {
    border-color: var(--tts-turquoise) !important;
    background: var(--tts-turquoise) !important;
    color: #fff !important;
    transform: translateY(-2px);
}

.airport-tab:hover:not(.active),
.search-box .quote-airport-buttons .airport-tab:hover:not(.active) {
    border-color: var(--tts-turquoise) !important;
    border-width: 4px !important;
    background: #fff !important;
    color: var(--tts-ink) !important;
    box-shadow: 0 12px 28px rgba(8, 184, 196, .28) !important;
    transform: translateY(-2px);
}

.airport-tab-icon {
    width: 29px !important;
    height: 29px !important;
}

.airport-tab-title {
    color: var(--tts-ink) !important;
    font-size: .75rem;
    line-height: 1.18;
}

.airport-tab-code {
    color: var(--tts-ink) !important;
    font-size: .72rem !important;
}

.airport-tab.active .airport-tab-title,
.airport-tab.active .airport-tab-code {
    color: #fff !important;
}

.airport-tab:hover:not(.active) .airport-tab-title,
.airport-tab:hover:not(.active) .airport-tab-code,
.search-box .quote-airport-buttons .airport-tab:hover:not(.active) .airport-tab-title,
.search-box .quote-airport-buttons .airport-tab:hover:not(.active) .airport-tab-code {
    color: var(--tts-ink) !important;
}

.airport-tab:hover:not(.active) .airport-tab-icon img {
    filter: none !important;
    opacity: 1 !important;
}

.airport-tab-icon img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.loc-item-icon-wrap {
    width: 48px !important;
    height: 48px !important;
    flex: 0 0 48px !important;
    overflow: hidden;
}

.loc-item-icon-wrap img {
    display: block !important;
    width: 36px !important;
    height: 36px !important;
    max-width: 36px !important;
    max-height: 36px !important;
    object-fit: contain !important;
}

.loc-trigger-icon {
    display: block !important;
    width: 30px !important;
    height: 30px !important;
    max-width: 30px !important;
    max-height: 30px !important;
    flex: 0 0 30px !important;
    object-fit: contain !important;
}

.loc-trigger {
    min-height: 58px !important;
}

.loc-trigger-text {
    display: flex;
    min-width: 0;
    flex: 1;
    flex-direction: column;
    justify-content: center;
}

.loc-trigger-name {
    color: var(--tts-ink) !important;
    font-size: .95rem !important;
    font-weight: 800 !important;
}

.loc-trigger-sub {
    color: #6c7a80 !important;
    font-size: .76rem !important;
}

.loc-item-name {
    color: var(--tts-ink) !important;
    font-weight: 800 !important;
}

.loc-item-sub {
    color: #728087 !important;
}

.loc-group-heading {
    padding: 10px 16px 8px;
    border-top: 1px solid #e0eded;
    background: #eafafa;
    color: var(--tts-turquoise-dark);
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.airport-tab::after {
    display: none !important;
}

.airport-theme-shell .form-select,
.airport-theme-shell .form-control,
.airport-theme-shell .loc-trigger {
    border-color: #b9dddd !important;
    background: #fff !important;
}

.btn-hoppa {
    border-radius: 9px !important;
    background: var(--tts-turquoise) !important;
    color: #fff !important;
    font-weight: 800 !important;
}

.btn-hoppa:hover {
    background: var(--tts-turquoise-dark) !important;
}

.transfer-benefits-section {
    background: #fff;
}

.transfer-benefit__icon {
    filter: hue-rotate(118deg) saturate(.85);
}

.vehicle-card {
    border-top: 4px solid var(--tts-turquoise) !important;
}

.vehicle-card__features li i,
.feature-icon {
    color: var(--tts-turquoise-dark) !important;
}

.custom-footer {
    border-top: 4px solid var(--tts-turquoise);
    background: var(--tts-navy) !important;
}

.footer-logo-img {
    width: min(100%, 120px);
    height: auto;
    padding: 4px;
    border-radius: 12px;
    background: #0d0f11;
}

@media (max-width: 1199px) {
    .airport-tabs-wrap,
    .search-box .quote-airport-buttons {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 991px) {
    .tts-navbar-container {
        display: grid !important;
        grid-template-columns: 122px minmax(0, 1fr) auto;
        gap: 10px;
        align-items: center;
        min-height: 78px;
        padding-right: 14px;
        padding-left: 14px;
    }

    .tts-centered-brand {
        position: static;
        grid-column: 1;
        justify-self: start;
        transform: none;
    }

    .tts-navbar-language {
        grid-column: 2;
        justify-self: center;
        margin-left: 0 !important;
        position: relative;
        z-index: 3400;
        transform: translateX(-18px);
    }

    .tts-navbar-container > .d-flex.d-lg-none {
        grid-column: 3;
        justify-self: end;
        gap: 10px;
        transform: translateX(-6px);
    }

    .tts-navbar-collapse {
        grid-column: 1 / -1;
        order: 4;
        display: none !important;
        width: 100%;
        padding: 18px 0 22px;
    }

    .tts-navbar-collapse.show {
        display: flex !important;
        flex-direction: column;
        align-items: center;
        gap: 18px;
    }

    .tts-nav-left,
    .tts-nav-right {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 16px;
        width: 100%;
        padding: 0;
        margin: 0;
        transform: none !important;
    }

    .tts-nav-right {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        max-width: 330px;
    }

    .tts-navbar-collapse .nav-link {
        padding: 6px 12px !important;
        text-align: center;
    }

    .tts-nav-right .nav-item,
    .tts-nav-left .nav-item {
        display: flex;
        justify-content: center;
        width: 100%;
    }

    .tts-nav-right .nav-auth-item {
        width: auto;
        margin-top: 4px;
    }

    .tts-nav-right .nav-auth-item .nav-link {
        min-width: 112px;
    }

    .tts-nav-right .discover-dropdown .dropdown-menu {
        position: static !important;
        width: min(280px, 86vw);
        margin: 8px auto 0 !important;
        text-align: left;
    }

    .tts-nav-right .whatsapp-link {
        display: none !important;
    }

    .hero-section {
        padding-top: 32px !important;
    }

    .hero-reservation-column {
        order: 1 !important;
    }

    .hero-copy {
        order: 2 !important;
        min-height: auto;
        padding-top: 38px;
        padding-right: 12px;
        padding-left: 12px;
    }

    .hero-copy-right {
        order: 3 !important;
    }
}

@media (max-width: 767px) {
    .tts-navbar-logo {
        width: 118px;
        height: 58px;
    }

    .hero-section {
        min-height: auto;
    }

    .tts-hero-title {
        font-size: 2.25rem;
    }

    .airport-tabs-wrap,
    .search-box .quote-airport-buttons {
        display: flex !important;
        gap: 10px !important;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        padding: 3px 2px 12px;
    }

    .airport-tab,
    .search-box .quote-airport-buttons .airport-tab {
        flex: 0 0 155px;
        scroll-snap-align: start;
    }
}

@media (min-width: 992px) {
    .navbar .tts-navbar-collapse {
        grid-template-columns: minmax(390px, 1fr) 680px minmax(590px, 1fr) !important;
    }

    .navbar .tts-nav-left {
        width: 390px !important;
        justify-content: flex-end !important;
        gap: 8px !important;
        transform: none !important;
    }

    .navbar .tts-nav-right {
        width: 590px !important;
        justify-content: flex-start !important;
        gap: 8px !important;
        transform: none !important;
    }

    .navbar .tts-nav-left > .nav-item {
        width: 124px !important;
        flex: 0 0 124px !important;
        text-align: center !important;
    }

    .navbar .tts-nav-right > .nav-item {
        flex: 0 0 auto !important;
        text-align: center !important;
    }

    .navbar .tts-nav-right > .discover-dropdown {
        width: 162px !important;
        flex-basis: 162px !important;
    }

    .navbar .tts-nav-right > .nav-item:not(.discover-dropdown):not(.nav-auth-item):not(.d-none) {
        width: 124px !important;
        flex-basis: 124px !important;
    }

    .navbar .tts-nav-right > .nav-auth-item {
        width: 116px !important;
        flex-basis: 116px !important;
    }

    .navbar .tts-nav-right > .d-lg-block {
        width: 150px !important;
        flex-basis: 150px !important;
    }

    .navbar .tts-nav-left .nav-link,
    .navbar .tts-nav-right .nav-link {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        min-height: 42px !important;
        padding-right: 6px !important;
        padding-left: 6px !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    .navbar .tts-nav-right .nav-auth-outline,
    .navbar .tts-nav-right .nav-auth-link {
        margin-left: 0 !important;
    }
}

/* Final navbar layout: logo left, language beside it, menu on the right. */
@media (min-width: 992px) {
    .navbar .tts-navbar-container {
        display: grid !important;
        grid-template-columns: auto auto minmax(0, 1fr) !important;
        column-gap: 18px !important;
        align-items: center !important;
    }

    .navbar .tts-centered-brand {
        position: static !important;
        grid-column: 1 !important;
        justify-self: start !important;
        transform: none !important;
    }

    .navbar .tts-navbar-language {
        grid-column: 2 !important;
        justify-self: start !important;
        margin: 0 !important;
        transform: none !important;
    }

    .navbar .tts-navbar-collapse {
        grid-column: 3 !important;
        display: flex !important;
        justify-content: flex-end !important;
        align-items: center !important;
        width: 100% !important;
        grid-template-columns: none !important;
    }

    .navbar .tts-nav-left,
    .navbar .tts-nav-right {
        width: auto !important;
        flex-direction: row !important;
        justify-content: flex-start !important;
        align-items: center !important;
        gap: 22px !important;
        margin: 0 !important;
        padding: 0 !important;
        transform: none !important;
    }

    .navbar .tts-nav-left {
        margin-right: 22px !important;
    }

    .navbar .tts-nav-left > .nav-item,
    .navbar .tts-nav-right > .nav-item,
    .navbar .tts-nav-right > .discover-dropdown,
    .navbar .tts-nav-right > .nav-auth-item,
    .navbar .tts-nav-right > .d-lg-block {
        width: auto !important;
        flex: 0 0 auto !important;
        flex-basis: auto !important;
        text-align: center !important;
    }

    .navbar .tts-nav-left .nav-link,
    .navbar .tts-nav-right .nav-link {
        width: auto !important;
        min-height: 42px !important;
        overflow: visible !important;
        text-overflow: clip !important;
        white-space: nowrap !important;
    }
}

@media (max-width: 991px) {
    .navbar .tts-navbar-container {
        grid-template-columns: auto auto minmax(0, 1fr) !important;
        column-gap: 10px !important;
    }

    .navbar .tts-centered-brand {
        grid-column: 1 !important;
        justify-self: start !important;
    }

    .navbar .tts-navbar-language {
        grid-column: 2 !important;
        justify-self: start !important;
        transform: none !important;
    }

    .navbar .tts-navbar-container > .d-flex.d-lg-none {
        grid-column: 3 !important;
        justify-self: end !important;
        transform: none !important;
    }
}

/* Navbar polish: no top white gap, logo/language left, tighter right menu. */
body {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.promo-countdown-bar {
    margin-top: 0 !important;
}

@media (min-width: 992px) {
    .navbar .tts-navbar-container {
        max-width: none !important;
        width: 100% !important;
        padding-left: 56px !important;
        padding-right: 56px !important;
        grid-template-columns: 220px 126px minmax(0, 1fr) !important;
        column-gap: 12px !important;
    }

    .navbar .tts-centered-brand {
        justify-self: start !important;
        transform: translateX(-18px) !important;
    }

    .navbar .tts-navbar-language {
        justify-self: start !important;
        transform: translateX(-36px) !important;
    }

    .navbar .tts-navbar-collapse {
        justify-content: flex-end !important;
    }

    .navbar .tts-nav-left,
    .navbar .tts-nav-right {
        gap: 18px !important;
    }

    .navbar .tts-nav-left {
        margin-right: 18px !important;
    }

    .navbar .tts-nav-right > .discover-dropdown {
        margin-right: 4px !important;
    }

    .navbar .tts-nav-right > .nav-item:not(.discover-dropdown):not(.nav-auth-item):not(.d-none) {
        margin-left: 0 !important;
    }
}

@media (min-width: 992px) {
    .navbar .tts-navbar-container {
        grid-template-columns: 220px 110px minmax(0, 1fr) !important;
    }

    .navbar .tts-navbar-language {
        transform: translateX(-78px) !important;
    }

    .navbar .tts-nav-left,
    .navbar .tts-nav-right {
        gap: 16px !important;
    }

    .navbar .tts-nav-left {
        margin-right: 16px !important;
    }
}
