/* VIP Banner */
.vip-banner {
    width: 100%;
    position: relative;
    height: 18.4375rem;
    background: #ddd;
    margin-bottom: 0;
    display: flex;
    align-items: flex-end;
}
.vip-banner__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}
.vip-banner__title {
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    width: 40%;
    font-size: 3.75rem;
    font-weight: bold;
    color: #ffd600;
    letter-spacing: 0.125rem;
    line-height: 1.05;
    text-shadow: 0 0.1875rem 0.75rem rgba(0,0,0,0.18);
}
.vip-banner__title h1 {
    -webkit-text-stroke: 0.0625rem black;
    text-stroke: 0.0625rem black;
}
.vip-menu-list {
    background: #fff;
    border-radius: 2.5rem;
    box-shadow: 0 0.25rem 1.125rem rgba(0,0,0,0.06);
    padding: 2.25rem 3rem;
    min-width: 21.25rem;
    max-width: 25.625rem;
    position: absolute;
    top: 0.3125rem;
    right: 1.5rem;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.vip-menu-list ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.vip-menu-list li {
    margin-bottom: 1.125rem;
}
.vip-menu-list li:last-child {
    margin-bottom: 0;
}
.vip-menu-list a {
    font-size: 1.5rem;
    color: #111;
    font-weight: bold;
    text-decoration: none;
    transition: color 0.17s;
    display: block;
}
.vip-menu-list a:hover {
    color: #ffb840;
}

/* Tabs */
.vip-tabs {
    display: flex;
    background: #009FCB;
    padding-left: 2.5rem;
    gap: 0.625rem;
    justify-content: center;
}
.vip-tab {
    display: block;
    padding: 0.9375rem 2rem;
    font-size: 1.125rem;
    color: #fff;
    text-decoration: none;
    font-weight: 500;
    background: #2D7589;
    border-radius: 0;
    transition: background 0.15s, color 0.15s;
}
.vip-tab.active,
.vip-tab:hover {
    background: #ffb840;
    color: #fff;
}
/*blue block*/

.blue-block{
    background: linear-gradient(90deg, #009FCB 0%, #004F65 100%);
    height: 100px;
}

.blue-block-content{
    justify-content: space-between;
    align-items: center;
    margin: 0 auto;
    padding: 2.55rem 1.25rem;
    max-width: 81.25rem;
    position: relative;
}

.blue-block-content>img{
    position: absolute;
    top: 25%;
    left: 0;
}

.blue-block-content>h1{
    color: #FFFFFF;
    font-family: Montserrat;
    font-weight: bold;
    font-style: Regular;
    font-size: 36px;
    line-height: 100%;
    letter-spacing: 0;
    text-align: center;
}

.blue-block-content>h3{
    color: #FFFFFF;
    font-family: Montserrat;
    font-weight: bold;
    font-style: Regular;
    font-size: 34px;
    line-height: 100%;
    letter-spacing: 0;
    text-align: center;
}

/*focus*/
#focus-search-form{
    background-color: white;
    padding: 20px 0;
}

#search-form-cont{
    width: 100%;
    top: 296px;
    left: 34px;
    opacity: 1;
    border-radius: 30px;
    box-shadow: 0px 4px 4px 0px #0000004D;
    margin: auto;
    padding: 3.55rem 1.25rem;
    max-width: 81.25rem;
}

/* Search Bar */
.search-bar {
    display: flex;
    align-items: center;
    background: #fff;
    border-radius: 1.875rem;
    padding: 0.5rem 1.125rem;
    width: 100%;
    max-width: 68.75rem;
    margin: 1.25rem auto;
    box-sizing: border-box;
    box-shadow: none;
    border: 1px solid #d2d2d2;
}

.search-bar__field {
    display: flex;
    align-items: center;
    flex: 1 1 0;
    font-size: 1.25rem;
    color: #888;
    height: 3.5rem;
    padding: 0;
    background: transparent;
    border: none;
    box-sizing: border-box;
    position: relative;
}

.search-bar__field>.field{
    width: 100%;
}

.search-bar__field input{
    text-align: center;
}

.search-bar__field--from {
    border-radius: 1.5rem 0 0 1.5rem;
}
.search-bar__field--to {
    border-left: 0.0625rem solid #d2d2d2;
    border-right: 0.0625rem solid #d2d2d2;
}
.search-bar__icon {
    /*display: inline-flex;*/
    align-items: center;
    margin-right: 0.5rem;
    margin-left: -0.3125rem;
    position: absolute;
    left: 260px;
    z-index: 1;
}
.search-bar__field--date {
    border-right: 0.0625rem solid #d2d2d2;
    justify-content: center;
}
.search-bar__field--return {
    border-right: 0.0625rem solid #d2d2d2;
    justify-content: center;
}
.search-bar__button {
    background: #009FCB;
    color: #fff;
    font-size: 1.5rem;
    font-weight: 500;
    border: none;
    padding: 0.75rem 1.75rem;
    border-radius: 1.5rem;
    margin-left: 1.125rem;
    cursor: pointer;
    transition: background 0.2s;
    outline: none;
}
.search-bar__button:hover {
    background: #009FCB;
}

/* Search Bar main page */
.search-bar-landing {
    display: flex;
    align-items: center;
    background: #fff;
    padding: 0.5rem 1.125rem;
    width: 100%;
    max-width: 68.75rem;
    margin: 1.25rem auto;
}

.search-bar-landing__field {
    align-items: center;
    font-size: 1.25rem;
    color: #888;
    padding: 0;
    background: transparent;
    box-sizing: border-box;
    position: relative;
}

.search-bar-landing__field input{
    border: 1px solid #d2d2d2 !important;
    border-radius: 1.875rem !important;
    margin-right: 10px !important;
    box-shadow: 0px 4px 4px 0px #00000040 inset !important;
    background: rgba(236, 236, 236, 1) !important;
}

.search-bar-landing__field>.field{
    width: 100%;
}

.search-bar-landing__field input{
    text-align: center;
}
.search-bar-landing__icon {
    /*display: inline-flex;*/
    align-items: center;
    margin-right: 0.5rem;
    margin-left: -0.3125rem;
    position: absolute;
    left: 260px;
    z-index: 1;
}
.search-bar-landing__field--date {
    justify-content: center;
}
.search-bar-landing__field--return {
    justify-content: center;
}
.search-bar-landing__button {
    background: #009FCB;
    color: #fff;
    border: none;
    padding: 1.15rem 3.75rem !important;
    border-radius: 1.5rem;
    margin-left: 1.125rem;
    cursor: pointer;
    transition: background 0.2s;
    outline: none;

    font-family: Montserrat;
    font-weight: 700;
    font-style: Bold;
    font-size: 16px;
    line-height: 100%;
    letter-spacing: 0%;

}
.search-bar-landing__button:hover {
    background: #009FCB;
}

.search-bar-landing__field-label{
    font-family: Montserrat;
    font-weight: 700;
    font-style: Bold;
    font-size: 16px;
    line-height: 100%;
    letter-spacing: 0;
    margin: 10px 0;
    display: inline-block;
}

/* Tickets Section */

#vip-cards-title{
    font-family: Montserrat;
    font-weight: 700;
    font-style: Bold;
    font-size: 32px;
    line-height: 100%;
    letter-spacing: 0%;
    text-align: center;
    margin-bottom: 50px;
}

.vip-tickets {
    background: #009FCB;
    padding: 2.125rem 0 1.125rem 0;
    text-align: center;
}
.vip-tickets__title {
    color: #fff;
    font-size: 1.875rem;
    font-weight: bold;
    margin-bottom: 1.125rem;
    letter-spacing: 0.0625rem;
}
.vip-tickets__form {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0;
    background: none;
}
.vip-tickets__input {
    font-size: 1.1875rem;
    color: #444;
    background: #fff;
    border: none;
    outline: none;
    border-radius: 2.5rem 0 0 2.5rem;
    width: 100%;
    box-shadow: none;
    border-right: 0.0625rem solid #d3dbe2;
    border-left: none;
}
.vip-tickets__input:last-of-type {
    border-radius: 0;
}
.vip-tickets__input:not(:first-child) {
    border-radius: 0;
}
.vip-tickets__input:last-of-type {
    border-radius: 0;
    border-right: none;
}
.vip-tickets__swap {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 3.5rem;
    height: 3rem;
    background: #fff;
    border-right: 0.0625rem solid #d3dbe2;
    border-left: none;
    font-size: 1.5625rem;
    margin: 0;
    /* вставить иконку через img или background-image */
}
.vip-tickets__swap img {
    width: 1.625rem;
    height: 1.625rem;
    display: block;
}
.vip-tickets__buttons {
    background: #fff;
    width: 15%;
    height: 3.125rem;
    display: flex;
    align-items: center;
    border-top-right-radius: 1.875rem;
    border-bottom-right-radius: 1.875rem;
}
.vip-tickets__find-btn {
    height: 2.8125rem;
    border: none;
    text-align: center;
    border-radius: 1.875rem;
    background: #ffb840;
    color: #fff;
    font-size: 1.3125rem;
    font-weight: 400;
    cursor: pointer;
    transition: background 0.16s;
    box-shadow: none;
    line-height: 1;
}
.vip-tickets__find-btn:hover {
    background: #e89c1f;
}

/* Cards */
.vip-cards-row {
    display: flex;
    justify-content: center;
    gap: 1.125rem;
    padding: 2.25rem 0;
    background: #E6E6E6;
}
.vip-card {
    background: #fff;
    border-radius: 0.75rem;
    width: 24.063rem;
    height: 14.813rem;
    box-shadow: 0 0.125rem 0.5rem rgba(0,0,0,0.06);
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}
.vip-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Notifications */
#vip-notifications-title{
    font-family: Montserrat;
    font-weight: 700;
    font-style: Bold;
    font-size: 32px;
    line-height: 100%;
    letter-spacing: 0%;
    color: #454545;
    background-color: #ffffff;
    text-align: center;
    margin-bottom: 0;
    margin-top: 0;
    padding: 20px;
}

.vip-notifications {
    display: flex;
    justify-content: center;
    gap: 1.125rem;
    padding: 2rem 0 3rem 0;
    background-color: #ffffff;
}
.vip-notification {
    /*background: #e2f6fe;*/
    border-radius: 0.625rem;
    padding: 1.25rem 1.125rem 0.875rem 1.125rem;
    width: 24rem;
    height: 25.813rem;
    box-sizing: border-box;
    box-shadow: 0 0.125rem 0.5rem rgba(0,0,0,0.03);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background:#D9D9D9
}
.vip-notification__title {
    color: black;
    font-size: 1.25rem;
    font-weight: 400;
    margin-bottom: 0.5rem;
}
.vip-notification__desc {
    font-size: 0.9375rem;
    color: #232323;
    margin-bottom: 0.875rem;
}
.vip-notification__date {
    font-size: 1.25rem;
    color: black;
    font-family: Iceberg, sans-serif;
    font-weight: 400;
    line-height: 1;
}
.create-line {
    width: 100%;
    border-top: 0.125rem solid #00000030;
}

#all-news-btn-cont{
    text-align: center;
    margin: 0;
    padding: 20px 0 40px;
    background-color: #ffffff;
}

#all-news-btn-cont>a{
    font-family: Montserrat;
    font-weight: 700;
    font-style: Bold;
    font-size: 16px;
    leading-trim: NONE;
    line-height: 100%;
    letter-spacing: 0%;
    color: #ffffff;
    padding: 10px 20px;
    opacity: 1;
    border-radius: 30px;
    background: #01AEF0;
}


/*my*/
@media (min-width: 1024px) {
    .vip-banner h1{
        line-height: 94.5px;
        font-size: 90px;
    }
}


#route_search_form_forwardDepartureDate, #route_search_form_backwardDepartureDate{
    /*width: 100px !important;*/
    border: none;
    height: 45px;
    padding: 0!important;
}

.route-station-search {
    border: none !important;
    padding-left: 0;
    padding-right: 0;
    text-align: center !important;
}

.route-station-search input.search{
    border-left: none !important;
    border-bottom: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/**/
.promo-cont{
    padding: 0.5rem 7.125rem;
    margin: 1.25rem auto;
}

.search-tickets-wo-commission-text{
    font-weight: 400;
    font-size: 30px;
    line-height: 100%;
    letter-spacing: 0;
    color: #ffffff;
    margin: 30px 0;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}

.search-tickets-wo-commission-text>img{
    width: 66px;
}

/* ===================== АДАПТИВНОСТЬ ===================== */

/* ---- ПЛАНШЕТЫ (до 1024px) ---- */
@media (max-width: 1024px) {
    .vip-banner { height: 13rem; }
    /*.vip-tickets { height: 14rem; }*/
    .vip-banner__title { font-size: 1.6rem; width: 56%; }
    .vip-menu-list { position: static; margin-top: 0.5rem; max-width: 100%; padding: 1rem 0.8rem; display: none; }
    .vip-cards-row { gap: 0.7rem; }
    .vip-card { width: 15rem; height: 8.5rem; }
    .vip-notifications { gap: 0.7rem; }
    .vip-notification { width: 80%; height: 18rem; }
    .search-bar__field { width: 95%; }
}

/* ---- МОБИЛЬНЫЕ (до 768px) ---- */
@media (max-width: 768px) {
    .vip-banner { height: 8rem; }
    .vip-banner__title { font-size: 0.9rem; width: 70%; left: 1%; }
    .vip-menu-list { padding: 0.5rem; min-width: 0; width: 100%; box-shadow: none; border-radius: 1rem; }
    .vip-menu-list a { font-size: 1rem; }
    .vip-tabs { flex-wrap: wrap; padding-left: 0.2rem; gap: 0.2rem; }
    .vip-tab { font-size: 0.9rem; padding: 0.5rem 1rem; }

    .search-bar {
        flex-direction: column;
        padding: 0.4rem;
        gap: 0.3rem;
        max-width: 100%;
    }
    /*.search-bar__field { font-size: 1rem; height: 2.4rem; min-width: 90px; }
    .search-bar__button { font-size: 1rem; padding: 0.5rem 0.7rem; min-width: 70px; }*/
    .vip-cards-row { flex-direction: column; align-items: center; gap: 0.5rem; }
    .vip-card { width: 95vw; height: 19rem; }
    .vip-notifications { flex-direction: column; align-items: center; gap: 0.5rem; }
    .vip-notification {  min-height: 7rem; }
    .promo-cont{
        padding: 0;
        margin: 0;
    }
}

/* ---- СМАРТФОНЫ (до 425px) ---- */
@media (max-width: 425px) {
    .vip-banner { height: 5rem; }
    .vip-banner__title { font-size: 0.6rem; }
    .vip-menu-list, .vip-menu-list a { font-size: 0.8rem; display: none; }
    .vip-tab { font-size: 0.7rem; padding: 0.2rem 0.3rem; }


    /*.search-bar__field { font-size: 0.7rem; }
    .search-bar__button { font-size: 0.7rem; padding: 0.3rem 0.4rem; }*/

    .search-bar__field{
        flex: none;
    }

    .search-bar__field--from, .search-bar__field--to, .search-bar__field--date{
        border-bottom: 0.0625rem solid #d2d2d2;
        border-left: none;
        border-right: none;
        border-radius: unset;
    }

    .search-bar__field--return, .search-bar__field--date{
        height: 3.5rem;;
    }

    .search-bar__field--return{
        border: none;
    }

    #route_search_form_forwardDepartureDate, #route_search_form_backwardDepartureDate{
        width: 100% !important;
    }
}

/* ---- МАЛЫЕ ЭКРАНЫ (до 320px) ---- */
@media (max-width: 320px) {

}