.mainmenu-desktop .block-links {
    flex-flow: row wrap;
    max-height: 48px;
    gap: 0 1.5rem;
    padding-left: 28px;
}

.mainmenu-desktop .block-links > * {
    white-space: nowrap;
}
#ticket-search-form {
    color: #333;
}
#returnDateWrap {
    display: block !important;
}
#returnDateWrap.hidden {
    display: none !important;
}
#license_confirm + label {
    width: auto !important;
}
#orderFilterForm {
    position: sticky;
    top: 90px;
    bottom: 20px;
}
#orderFilterForm *::placeholder {
    color: #ccc !important;
}
@media (max-width: 767px) {
    #orderFilterForm {
        position: static;
    }
    body {
        animation: none;
    }
}
@media (max-width: 1000px) {
    .table-wmin-1000 tr,
    .table-wmin-1000 {
        display: block !important;
    }
    .table-wmin-1000 tr {
        border-top: 1px solid #999;
    }
    .table-wmin-1000 thead,
    .table-wmin-1000 th {
        display: none;
    }
    .table-wmin-1000 td {
        display: block !important;
    }
    .table-wmin-1000 td[data-head]:before {
        content: attr(data-head)': ';
        color: #999;
    }
}

/* ==========================================================================
   РЎС‚Р°С‚СЊРё (Р°РєС†РёРё/РЅРѕРІРѕСЃС‚Рё): Р°РєРєСѓСЂР°С‚РЅР°СЏ С€Р°РїРєР°
   Р—Р°РіРѕР»РѕРІРѕРє СЃС‚Р°С‚СЊРё С‚РµРїРµСЂСЊ H1 (SEO) вЂ” СЃРѕС…СЂР°РЅСЏРµРј РїСЂРµР¶РЅРёР№ СЂР°Р·РјРµСЂ, Р° СЃР»СѓР¶РµР±РЅС‹Рµ
   СЌР»РµРјРµРЅС‚С‹ Joomla (РџРµС‡Р°С‚СЊ / E-mail / РР·РјРµРЅРёС‚СЊ, Р·РІС‘Р·РґС‹ Рё С„РѕСЂРјР° РѕС†РµРЅРєРё)
   СЃРѕР±РёСЂР°РµРј РІ РѕРґРЅСѓ РєРѕРјРїР°РєС‚РЅСѓСЋ СЃС‚СЂРѕРєСѓ РІРјРµСЃС‚Рѕ РІРµСЂС‚РёРєР°Р»СЊРЅРѕРіРѕ СЃРїРёСЃРєР°.
   ========================================================================== */
.item-page .article-title,
.blog .article-title {
    font-size: 28px;
    line-height: 1.25;
    font-weight: 700;
    margin: 0 0 14px;
}
@media (max-width: 767px) {
    .item-page .article-title,
    .blog .article-title { font-size: 22px; }
}

/* СЃС‚СЂРѕРєР° СЃР»СѓР¶РµР±РЅС‹С… СЃСЃС‹Р»РѕРє: РџРµС‡Р°С‚СЊ / E-mail / РР·РјРµРЅРёС‚СЊ */
.item-page .icons,
.item-page .btn-group.pull-right,
.item-page ul.actions {
    float: none !important;
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    align-items: center;
    list-style: none;
    margin: 0 0 10px;
    padding: 0;
}
.item-page ul.actions li { margin: 0; padding: 0; }
.item-page .icons a,
.item-page ul.actions a {
    font-size: 12px;
    color: #6b7280;
    text-decoration: none;
    border-bottom: 1px dotted #c3c9d2;
}
.item-page .icons a:hover,
.item-page ul.actions a:hover { color: #2e7d32; border-bottom-color: #2e7d32; }
/* РІС‹РїР°РґР°СЋС‰РёР№ СЃРїРёСЃРѕРє В«РџРµС‡Р°С‚СЊ / E-mail / РР·РјРµРЅРёС‚СЊВ»: СЃРєСЂС‹С‚ РґРѕ РєР»РёРєР°,
   СЂР°СЃРєСЂС‹РІР°РµС‚СЃСЏ РїРѕ РЅР°РІРµРґРµРЅРёСЋ Рё СЃ РєР»Р°РІРёР°С‚СѓСЂС‹ вЂ” РЅР° СЃР»СѓС‡Р°Р№, РµСЃР»Рё JS Bootstrap
   РЅРµ РѕС‚СЂР°Р±РѕС‚Р°Р» (РёРЅР°С‡Рµ РїСѓРЅРєС‚С‹ РІРёСЃСЏС‚ РІРµСЂС‚РёРєР°Р»СЊРЅС‹Рј СЃРїРёСЃРєРѕРј РїРѕРґ Р·Р°РіРѕР»РѕРІРєРѕРј) */
.item-page .icons .dropdown-menu { display: none; }
.item-page .icons .btn-group:hover > .dropdown-menu,
.item-page .icons .btn-group:focus-within > .dropdown-menu,
.item-page .icons .btn-group.open > .dropdown-menu { display: block; }
.item-page .icons .dropdown-menu li { list-style: none; }

/* Р±Р»РѕРє СЂРµР№С‚РёРЅРіР° Рё С„РѕСЂРјС‹ РѕС†РµРЅРєРё вЂ” РѕРґРЅРѕР№ СЃС‚СЂРѕРєРѕР№, РЅРµРєСЂСѓРїРЅРѕ */
.item-page .content_rating,
.item-page .content_vote,
.item-page form.form-inline[action*="vote"] {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin: 0 0 12px;
    font-size: 12px;
    color: #6b7280;
}
.item-page .content_rating p,
.item-page .content_vote p,
.item-page .content_vote label { margin: 0; font-size: 12px; }
.item-page .content_vote select,
.item-page .content_vote input[type="submit"],
.item-page form.form-inline[action*="vote"] select,
.item-page form.form-inline[action*="vote"] input[type="submit"] {
    height: 28px;
    margin: 0;
    padding: 2px 8px;
    font-size: 12px;
    line-height: 1.2;
}
/* СЂР°Р·РґРµР»РёС‚РµР»СЊРЅР°СЏ Р»РёРЅРёСЏ РїРѕРґ СЃР»СѓР¶РµР±РЅРѕР№ С€Р°РїРєРѕР№ */
.item-page .content_rating + .content_vote,
.item-page .icons + .content_rating { margin-left: 4px; }


/* РџР°РіРёРЅР°С†РёСЏ (РіРѕСЂРёР·РѕРЅС‚Р°Р»СЊРЅС‹Р№ СЂСЏРґ, РєРЅРѕРїРєРё, СЃС‚СЂРµР»РєРё) */
.pagination,
.pagination-wrapper,
.pagination-list,
ul.pagination-list {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.pagination-list > li,
.pagination ul > li,
.pagination li {
    display: inline-flex !important;
    margin: 0 !important;
    padding: 0 !important;
}
.pagination-list a,
.pagination-list span,
.pagination a,
.pagination span,
.route_ul a {
    min-width: 36px !important;
    height: 36px !important;
    padding: 0 10px !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    background-color: #ffffff !important;
    color: #374151 !important;
    border: 1px solid #e5e7eb !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
    transition: all 0.15s ease !important;
    box-sizing: border-box !important;
}
.pagination-list a:hover,
.pagination a:hover,
.route_ul a:hover {
    background-color: #f9fafb !important;
    border-color: #d1d5db !important;
    color: #111827 !important;
}
.pagination-list .disabled a,
.pagination-list .disabled span,
.pagination .disabled a,
.pagination .disabled span {
    opacity: 0.35 !important;
    background-color: #f9fafb !important;
    border-color: #e5e7eb !important;
    color: #9ca3af !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
    box-shadow: none !important;
}
.pagination-list .active a,
.pagination-list .active span,
.pagination .active a,
.pagination .active span,
.route_ul .current a {
    background-color: #dc2626 !important;
    border-color: #dc2626 !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    box-shadow: 0 2px 4px rgba(220, 38, 38, 0.2) !important;
    cursor: default !important;
}
.icon-first:before {
    content: "\00AB" !important;
    font-size: 13px !important;
    line-height: 1 !important;
}
.icon-last:before {
    content: "\00BB" !important;
    font-size: 13px !important;
    line-height: 1 !important;
}
.icon-previous:before {
    content: "\2039" !important;
    font-size: 16px !important;
    line-height: 1 !important;
}
.icon-next:before {
    content: "\203A" !important;
    font-size: 16px !important;
    line-height: 1 !important;
}

/* РџР°РіРёРЅР°С†РёСЏ (РіРѕСЂРёР·РѕРЅС‚Р°Р»СЊРЅС‹Р№ СЂСЏРґ, РєРЅРѕРїРєРё, СЃС‚СЂРµР»РєРё) */
.pagination,
.pagination-wrapper,
.pagination-list,
ul.pagination-list {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.pagination-list > li,
.pagination ul > li,
.pagination li {
    display: inline-flex !important;
    margin: 0 !important;
    padding: 0 !important;
}
.pagination-list a,
.pagination-list span,
.pagination a,
.pagination span,
.route_ul a {
    min-width: 36px !important;
    height: 36px !important;
    padding: 0 10px !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    background-color: #ffffff !important;
    color: #374151 !important;
    border: 1px solid #e5e7eb !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
    transition: all 0.15s ease !important;
    box-sizing: border-box !important;
}
.pagination-list a:hover,
.pagination a:hover,
.route_ul a:hover {
    background-color: #f9fafb !important;
    border-color: #d1d5db !important;
    color: #111827 !important;
}
.pagination-list .disabled a,
.pagination-list .disabled span,
.pagination .disabled a,
.pagination .disabled span {
    opacity: 0.35 !important;
    background-color: #f9fafb !important;
    border-color: #e5e7eb !important;
    color: #9ca3af !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
    box-shadow: none !important;
}
.pagination-list .active a,
.pagination-list .active span,
.pagination .active a,
.pagination .active span,
.route_ul .current a {
    background-color: #dc2626 !important;
    border-color: #dc2626 !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    box-shadow: 0 2px 4px rgba(220, 38, 38, 0.2) !important;
    cursor: default !important;
}
.icon-first:before {
    content: "\00AB" !important;
    font-size: 13px !important;
    line-height: 1 !important;
}
.icon-last:before {
    content: "\00BB" !important;
    font-size: 13px !important;
    line-height: 1 !important;
}
.icon-previous:before {
    content: "\2039" !important;
    font-size: 16px !important;
    line-height: 1 !important;
}
.icon-next:before {
    content: "\203A" !important;
    font-size: 16px !important;
    line-height: 1 !important;
}

/* Пагинация (горизонтальный ряд, кнопки, стрелки) */
.pagination,
.pagination-wrapper,
.pagination-list,
ul.pagination-list {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.pagination-list > li,
.pagination ul > li,
.pagination li {
    display: inline-flex !important;
    margin: 0 !important;
    padding: 0 !important;
}
.pagination-list > li > a,
.pagination-list > li > span,
.pagination > li > a,
.pagination > li > span,
.route_ul > li > a {
    min-width: 36px !important;
    height: 36px !important;
    padding: 0 10px !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    background-color: #ffffff !important;
    color: #374151 !important;
    border: 1px solid #e5e7eb !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
    transition: all 0.15s ease !important;
    box-sizing: border-box !important;
}
.pagination-list > li > a:hover,
.pagination > li > a:hover,
.route_ul > li > a:hover {
    background-color: #f9fafb !important;
    border-color: #d1d5db !important;
    color: #111827 !important;
}
.pagination-list > li.disabled > a,
.pagination-list > li.disabled > span,
.pagination > li.disabled > a,
.pagination > li.disabled > span {
    opacity: 0.35 !important;
    background-color: #f9fafb !important;
    border-color: #e5e7eb !important;
    color: #9ca3af !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
    box-shadow: none !important;
}
.pagination-list > li.active > a,
.pagination-list > li.active > span,
.pagination > li.active > a,
.pagination > li.active > span,
.route_ul .current a {
    background-color: #dc2626 !important;
    border-color: #dc2626 !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    box-shadow: 0 2px 4px rgba(220, 38, 38, 0.2) !important;
    cursor: default !important;
}
/* Сброс стилей для внутреннего span иконки стрелки, чтобы не было двойной рамки */
.pagination-list a span,
.pagination-list span span,
.pagination-list span[class*="icon-"],
.pagination a span,
.pagination span[class*="icon-"] {
    min-width: 0 !important;
    width: auto !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.icon-first:before {
    content: "\00AB" !important;
    font-size: 13px !important;
    line-height: 1 !important;
}
.icon-last:before {
    content: "\00BB" !important;
    font-size: 13px !important;
    line-height: 1 !important;
}
.icon-previous:before {
    content: "\2039" !important;
    font-size: 16px !important;
    line-height: 1 !important;
}
.icon-next:before {
    content: "\203A" !important;
    font-size: 16px !important;
    line-height: 1 !important;
}

/* ==========================================================================
   Фильтр новостей по годам
   ========================================================================== */
.news-year-filter {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    padding: 12px 16px !important;
    margin: 0 0 28px 0 !important;
    background-color: #ffffff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 12px !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
}
.news-year-filter .filter-label {
    display: inline-flex !important;
    align-items: center !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #6b7280 !important;
    margin-right: 4px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    user-select: none !important;
}
.news-year-filter .filter-item {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 6px 14px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    color: #374151 !important;
    background-color: #f3f4f6 !important;
    border: 1px solid transparent !important;
    border-radius: 8px !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    transition: all 0.15s ease-in-out !important;
    box-sizing: border-box !important;
}
.news-year-filter .filter-item:hover {
    background-color: #e5e7eb !important;
    color: #111827 !important;
}
.news-year-filter .filter-item.active {
    background-color: #dc2626 !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    border-color: #dc2626 !important;
    box-shadow: 0 2px 4px rgba(220, 38, 38, 0.25) !important;
    cursor: default !important;
}

/* ==========================================================================
   Фильтр новостей по годам
   ========================================================================== */
.news-year-filter {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    padding: 12px 16px !important;
    margin: 0 0 28px 0 !important;
    background-color: #ffffff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 12px !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
}
.news-year-filter .filter-label {
    display: inline-flex !important;
    align-items: center !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #6b7280 !important;
    margin-right: 4px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    user-select: none !important;
}
.news-year-filter .filter-item {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 6px 14px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    color: #374151 !important;
    background-color: #f3f4f6 !important;
    border: 1px solid transparent !important;
    border-radius: 8px !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    transition: all 0.15s ease-in-out !important;
    box-sizing: border-box !important;
}
.news-year-filter .filter-item:hover {
    background-color: #e5e7eb !important;
    color: #111827 !important;
}
.news-year-filter .filter-item.active {
    background-color: #dc2626 !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    border-color: #dc2626 !important;
    box-shadow: 0 2px 4px rgba(220, 38, 38, 0.25) !important;
    cursor: default !important;
}

/* ==========================================================================
   Busconfirm & FrontBusForm Checkbox / Personal Data Consent Responsive Fix
   ========================================================================== */
#frontBusForm input[type="checkbox"],
#paymentForm input[type="checkbox"] {
    width: 20px !important;
    min-width: 20px !important;
    max-width: 20px !important;
    height: 20px !important;
    min-height: 20px !important;
    max-height: 20px !important;
    flex: 0 0 20px !important;
    padding: 0 !important;
    margin: 2px 8px 0 0 !important;
    display: inline-block !important;
    box-shadow: none !important;
    border: 1px solid #ccc !important;
    background-color: #fff !important;
    border-radius: 3px !important;
    vertical-align: top !important;
    cursor: pointer !important;
}
#frontBusForm label.pd-consent-label {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 10px !important;
    box-sizing: border-box !important;
    line-height: 1.45 !important;
    font-size: 13px !important;
    font-weight: normal !important;
}
#frontBusForm .pd-consent-wrap {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

/* ==========================================================================
   Компонентный вид (tmpl=component): печать билетов, отчеты, модальные окна.
   Сброс фоновой анимированной картинки дороги и установка чистого белого фона.
   ========================================================================== */
body.contentpane {
    background-color: #ffffff !important;
    background-image: none !important;
    animation: none !important;
}

.pdf-ticket-content,
.invoice,
.invoice_print {
    background-color: #ffffff !important;
}

@media print {
    body,
    body.contentpane {
        background-color: #ffffff !important;
        background-image: none !important;
        animation: none !important;
    }
    .pdf-ticket-content,
    .invoice,
    .invoice_print {
        background-color: #ffffff !important;
        box-shadow: none !important;
    }
}


