/* Тёмная тема сайта: только переопределение цветов светлых стилей (bootstrap.min.css, self.css,
   tour-catalog.css, tour-page.css). Правила без условий — когда применять файл, решает media у
   <link id="darkCss"> в макете main (app\helpers\Theme, кнопка — web/js/site.js).
   Новый цвет в светлых CSS — добавить сюда тёмную пару.

   Палитра: фон #15191c, полоса/подложка #1b2023, карточка #1e2428, поле/hover #262d32,
   рамка #333b41, текст #d6dbde, заголовки #e8ecee, приглушённый #9aa4aa, фирменный #13a0ff (ссылки #4db6ff). */

/* ===== основа и Bootstrap ===== */
html,
body {
    background: #15191c;
    color: #d6dbde;
}
h1, h2, h3, h4, h5, h6 {
    color: #e8ecee;
}
a {
    color: #4db6ff;
}
a:hover,
a:focus {
    color: #7cc9ff;
}
hr {
    border-top-color: #333b41;
}
.text-muted {
    color: #9aa4aa;
}
code,
pre {
    background: #262d32;
    border-color: #333b41;
    color: #d6dbde;
}
.form-control {
    background: #262d32;
    color: #d6dbde;
}
.form-control:focus {
    background: #1e2428;
    border-color: #333b41;
}
.form-control::placeholder {
    color: #7d878d;
}
.btn-default {
    background: #262d32;
    border-color: #333b41;
    color: #d6dbde;
}
.btn-default:hover,
.btn-default:focus,
.btn-default:active {
    background: #2e363c;
    border-color: #4a545b;
    color: #e8ecee;
}
.panel {
    background: #1e2428;
    border-color: #333b41;
}
.well {
    background: #1e2428;
    border-color: #333b41;
}
.modal-content {
    background: #1e2428;
    border-color: #333b41;
}
.modal-backdrop {
    background: #000000;
}
.table > thead > tr > th,
.table > tbody > tr > td,
.table > tbody > tr > th {
    border-color: #333b41;
}
.table-striped > tbody > tr:nth-of-type(odd) {
    background: #1b2023;
}
.table-hover > tbody > tr:hover {
    background: #262d32;
}
.pagination > li > a,
.pagination > li > span {
    background: #1e2428;
    border-color: #333b41;
    color: #4db6ff;
}
.pagination > li > a:hover,
.pagination > li > a:focus {
    background: #262d32;
    border-color: #333b41;
}
.pagination > .disabled > a,
.pagination > .disabled > span,
.pagination > .disabled > a:hover {
    background: #1b2023;
    border-color: #333b41;
    color: #6b767c;
}
.badge {
    background: #3a444b;
}
.tooltip-inner {
    background: #e8ecee;
    color: #15191c;
}
.tooltip.top .tooltip-arrow {
    border-top-color: #e8ecee;
}
.tooltip.bottom .tooltip-arrow {
    border-bottom-color: #e8ecee;
}

/* ===== шапка и меню ===== */
.header {
    background: #1e2428;
}
.header .header-contact-block address,
.header .header-contact-block span {
    color: #8b959b;
}
.header .header-contact-block a {
    color: #4db6ff;
}
.theme-switch {
    border-color: #3a444b;
    background: #262d32;
}
.header .theme-switch:focus {
    background-color: #262d32;
}
.theme-switch-sun {
    color: #6b767c;
}
.theme-switch-moon {
    color: #f0c75e;
}
.theme-switch-knob {
    background: #13a0ff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .5);
    transform: translateX(28px);
}
/* меню поверх фото — без светлой полосы (в светлой теме она остаётся) */
.header .navbar-default {
    background: transparent;
}
/* фото в шапках страниц — чуть приглушить, чтобы не слепили на тёмном фоне */
.country-header:before {
    background: rgba(0, 0, 0, .6);
}
.filter {
    box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, .25);
}
.country-header .header-section-subtitle,
.filter .header-section-subtitle {
    color: #9aa4aa;
}
@media (max-width: 768px) {
    .header .navbar-collapse {
        background: rgba(30, 36, 40, .95);
    }
    .header .navbar-collapse a {
        color: #d6dbde;
    }
}
@media (max-width: 767px) {
    .header .navbar .navbar-toggle,
    .header .navbar .navbar-toggle:hover,
    .header .navbar .navbar-toggle:focus {
        border-color: rgba(38, 45, 50, .8);
        background: rgba(38, 45, 50, .8);
        color: #d6dbde;
    }
    .header .navbar .navbar-toggle .icon-bar,
    .header .navbar .navbar-toggle:hover .icon-bar,
    .header .navbar .navbar-toggle:focus .icon-bar {
        background: #d6dbde;
    }
    .header .navbar .navbar-toggle:active,
    .header .navbar .navbar-toggle:not(.collapsed),
    .header .navbar .navbar-toggle:not(.collapsed):hover,
    .header .navbar .navbar-toggle:not(.collapsed):focus {
        border-color: #13a0ff;
        background: #13a0ff;
        color: #ffffff;
    }
    .header .navbar .navbar-toggle:active .icon-bar,
    .header .navbar .navbar-toggle:not(.collapsed) .icon-bar {
        background: #ffffff;
    }
    .header .navbar-default .navbar-collapse {
        background: rgba(30, 36, 40, .9);
        box-shadow: 0 8px 30px rgba(0, 0, 0, .5);
    }
    .header .navbar-default .navbar-nav + .navbar-nav {
        border-top-color: rgba(255, 255, 255, .1);
    }
    .header .navbar-default .navbar-nav > li > a {
        color: #d6dbde;
    }
    .header .navbar-default .navbar-nav > li > a::after {
        color: #5f6b72;
    }
    .header .navbar-default .navbar-nav > li > a:hover,
    .header .navbar-default .navbar-nav > li > a:focus {
        background: rgba(19, 160, 255, .18) !important;
        color: #4db6ff;
    }
    .header .navbar-default .navbar-nav > .active > a,
    .header .navbar-default .navbar-nav > .active > a:hover,
    .header .navbar-default .navbar-nav > .active > a:focus {
        color: #4db6ff;
    }
}

/* ===== блоки страниц (self.css) ===== */
.country-description,
.best-deals,
.related-deals {
    background: #1b2023;
}
.country-description .country-description-title,
.country-description .country-description-show-more a,
.best-deals .best-deals-title,
.related-deals .related-deals-title,
.countries .countries-title,
.contacts .contacts-title,
.contacts .contacts-block address,
.social-networks .social-networks-title,
.button-show-more a,
.filter-results .filter-results-title span {
    color: #e8ecee;
}
.country-description .country-description-text,
.filter-results .filter-results-title,
.contacts .contacts-block span {
    color: #9aa4aa;
}
.country-description-block {
    color: #d6dbde;
}
.button-close {
    color: #d6dbde;
}
.button-close:before,
.button-close:after {
    border-color: #9aa4aa;
}
.footer a {
    color: #d6dbde;
}
.social-icons .icon {
    color: #4db6ff;
}

/* текстовые страницы (договор, оплата, о нас, политики) */
.text-page {
    background: #1e2428;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .4);
    color: #d6dbde;
}
.text-page h3 {
    border-top-color: #333b41;
}
.text-page a {
    color: #4db6ff;
    border-bottom-color: rgba(77, 182, 255, .35);
}
.text-page a:hover {
    border-bottom-color: #4db6ff;
}
.text-page .text-page-note {
    background: #16293a;
}
.text-page .text-page-docs a {
    border-color: #333b41;
    color: #d6dbde;
}
.text-page .text-page-docs a:hover {
    border-color: #13a0ff;
}
.text-page .text-page-docs small {
    color: #9aa4aa;
}
.text-page .text-page-tabs a {
    border-color: #333b41;
    color: #b4bec4;
}
.text-page .text-page-tabs a.active,
.text-page .text-page-tabs a:hover {
    background: #13a0ff;
    border-color: #13a0ff;
    color: #ffffff;
}
/* логотипы платёжных систем — на светлой подложке, как задуманы */
.text-page .text-page-logos,
.footer-copyright img {
    padding: 6px;
    border-radius: 6px;
    background: #ffffff;
}

/* отзывы */
.review {
    border-color: #333b41;
    background: #1b2023;
}
.review-name {
    color: #e8ecee;
}
.review-date,
.review-link {
    color: #9aa4aa;
}
.text-page .review-text {
    color: #d6dbde;
}
.review.is-collapsible:not(.is-open) .review-text::after {
    background: linear-gradient(rgba(27, 32, 35, 0), #1b2023);
}
.review-more {
    color: #4db6ff;
}

/* окно согласия на cookie: палитра задана в макете (cookieconsent.initialise) — перекрываем */
.cc-window.cc-window {
    border-color: #333b41;
    background: #1e2428 !important;
    color: #d6dbde !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, .5);
}
.cc-window .cc-link {
    color: #4db6ff !important;
}
.cc-window .cc-btn.cc-deny {
    color: #d6dbde !important;
    border-color: transparent !important;
}

/* мессенджеры: подпись у кнопки */
.circle-btn[data-tooltip]:hover::after {
    background: rgba(232, 236, 238, .92);
    color: #15191c;
}

/* «скелет» модулей Турвизора (views/blocks/_tv_placeholder.php) — цвета заданы в SVG */
.tv-placeholder svg {
    filter: invert(.88) hue-rotate(180deg);
}
.tv-placeholder:after {
    background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, .06), rgba(255, 255, 255, 0));
}

/* ===== визовая поддержка (views/main/visa_help.php, Materialize с cdnjs) =====
   materialize.min.css подключается в самой странице — после dark.css, поэтому селекторы с html (специфичнее) */
html .card,
html .card-panel,
html .collection .collection-item {
    background-color: #1e2428;
    color: #d6dbde;
}
html .collection,
html .collection .collection-item {
    border-color: #333b41;
}
html .card .card-action {
    border-top-color: #333b41;
}
html .card.hoverable:hover {
    box-shadow: 0 8px 17px 2px rgba(0, 0, 0, .5);
}
html .grey-text {
    color: #9aa4aa !important;
}
html .card-panel.teal.lighten-5 {
    background-color: #16293a !important;
}
html .teal-text {
    color: #4db6ff !important;
}

/* ===== каталог автобусных туров (tour-catalog.css) ===== */
.tour-catalog,
.tc-found b,
.tc-price-num,
.tc-empty-title,
.tc-about h2 {
    color: #d6dbde;
}
.tc-filters {
    box-shadow: 0 1px 3px rgba(0, 0, 0, .4);
}
.tc-label,
.tc-card-group,
.tc-card-meta,
.tc-card-month-name,
.tc-price-from,
.tc-price-cur,
.tour-catalog .tc-dur span,
.tour-catalog .tc-reset {
    color: #9aa4aa;
}
.tc-slider-vals,
.tc-found,
.tc-route,
.tc-empty,
.tc-about {
    color: #a7b0b5;
}
.tour-catalog .tc-chip.btn-default {
    background: #262d32;
    border-color: #3a444b;
    color: #d6dbde;
}
.tour-catalog .tc-chip.btn-default:hover {
    background: #262d32;
    border-color: #13a0ff;
    color: #4db6ff;
}
.tour-catalog .tc-chip.btn-default:active,
.tour-catalog .tc-chip.btn-default:active:focus {
    background: #16293a;
    border-color: #13a0ff;
    color: #4db6ff;
}
.tour-catalog .tc-chip .badge {
    background: #333b41;
    color: #b4bec4;
}
.tc-slider-track {
    background: #333b41;
}
.tc-slider-fill {
    background: #2f6f9c;
}
.tc-slider-input::-webkit-slider-thumb {
    background: #1e2428;
}
.tc-slider-input::-moz-range-thumb {
    background: #1e2428;
}
.tour-catalog .tc-hot-toggle {
    border-color: #6b3a2c;
    background: #262d32;
    color: #ff8a65;
}
.tour-catalog .tc-hot-toggle:hover,
.tour-catalog .tc-hot-toggle.active {
    background: #e0532b;
    border-color: #e0532b;
    color: #ffffff;
}
.tour-catalog .tc-action-toggle {
    border-color: #6b2c2c;
    background: #262d32;
    color: #ff7a72;
}
.tour-catalog .tc-action-toggle:hover,
.tour-catalog .tc-action-toggle.active {
    background: #e0352b;
    border-color: #e0352b;
    color: #ffffff;
}
.tour-catalog .tc-hot-toggle .badge,
.tour-catalog .tc-action-toggle .badge {
    background: #3a2620;
    color: #ff8a65;
}
.tour-catalog .tc-hot-toggle:hover .badge,
.tour-catalog .tc-hot-toggle.active .badge,
.tour-catalog .tc-action-toggle:hover .badge,
.tour-catalog .tc-action-toggle.active .badge {
    background: rgba(255, 255, 255, .25);
    color: #ffffff;
}
.tc-card-month.is-hot .tc-card-month-name {
    color: #ff8a65;
}
.tc-active-chip {
    background: #16293a;
    color: #7cc9ff;
}
.tc-table-wrap,
.tc-empty,
.tc-card {
    background: #1e2428;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .4);
}
.tour-catalog .tc-table > thead > tr > th {
    background: #16293a;
    border-bottom-color: #2a3f52;
    color: #d6dbde;
}
.tour-catalog .tc-table th.tc-col-month {
    color: #b4bec4;
}
.tour-catalog .tc-table th.tc-col-month.is-selected {
    color: #4db6ff;
}
.tour-catalog .tc-table th.tc-col-month.is-hot {
    color: #ff8a65;
}
.tour-catalog .tc-table th.tc-col-month small,
.tour-catalog .tc-dur small,
.tc-card-month-name small {
    color: #7d878d;
}
.tc-arrow {
    border-color: #2a3f52;
    background: #1e2428;
    color: #4db6ff;
}
.tour-catalog .tc-table > tbody > tr > td {
    border-bottom-color: #2a3237;
}
.tour-catalog .tc-table > tbody > tr.tc-row:hover > td {
    background: #232a2f;
}
.tour-catalog .tc-table > tbody > tr.tc-group > td {
    background: #1b2023;
    color: #9aa4aa;
}
/* закреплённые шапка и строка страны (tour-catalog.css, от 992 px): линия под ними — тенью */
.tour-catalog .tc-table > thead > tr > th {
    box-shadow: inset 0 -1px 0 #2a3f52;
}
.tour-catalog .tc-table > tbody > tr.tc-group > td {
    box-shadow: inset 0 -1px 0 #333b41;
}
.tc-card-group,
.tc-toolbar {
    background: #15191c;
}
.tour-catalog .tc-group .badge,
.tour-catalog .tc-card-group .badge {
    background: #333b41;
    color: #b4bec4;
}
.tour-catalog .tc-title {
    color: #4db6ff;
}
.tour-catalog .tc-title:hover {
    color: #7cc9ff;
}
.tc-badge-hot {
    background: #3a2620;
    color: #ff8a65;
}
/* горящая / акционная дата: .tc-date.… — сильнее общего зелёного .tc-date ниже */
.tc-date.tc-date-hot {
    background: #3a2620;
    color: #ff8a65;
}
.tc-badge-action {
    background: #3a2224;
    color: #ff7a72;
}
.tc-visa-with {
    background: #16293a;
    color: #7cc9ff;
}
.tc-visa-multi {
    background: #2a2440;
    color: #b7a3f5;
}
.tc-visa-none,
.tc-date {
    background: #1d3326;
    color: #5fd08a;
}
.tc-date:hover,
.tc-date:focus {
    background: #2e8a4e;
    color: #ffffff;
}
.tc-date.tc-date-hot:hover,
.tc-date.tc-date-hot:focus {
    background: #e0532b;
    color: #ffffff;
}
.tc-tr-moons {
    color: #b4bec4;
}
.tc-tr-none {
    color: #4a545b;
}
.tc-price .icon {
    color: #6b767c;
}
.tc-card-price {
    border-bottom-color: #2a3237;
}
.tc-about a {
    color: #4db6ff;
}
.tour-catalog .tc-chip.btn-default.is-partial,
.tour-catalog .tc-chip.btn-default.is-related {
    background: #16293a;
    border-color: #13a0ff;
    color: #4db6ff;
}
.tc-modal-backdrop {
    background: rgba(0, 0, 0, .65);
}
.tc-modal-box {
    background: #1e2428;
    box-shadow: 0 10px 40px rgba(0, 0, 0, .6);
}
.tc-modal-title {
    color: #e8ecee;
}
.tc-modal-close:hover {
    color: #e8ecee;
    background: #262d32;
}
.tc-modal-hint,
.tc-modal-none,
.tc-city-country {
    color: #9aa4aa;
}
.tc-city-country.is-on,
.tc-city-country.is-partial,
.tc-city-country:hover {
    color: #4db6ff;
}
.tc-city-country .badge {
    background: #16293a;
    color: #4db6ff;
}
.tc-modal-foot,
.tc-city-table th,
.tc-city-table td {
    border-color: #2a3237;
}
.tc-city-table thead th {
    background: #16293a;
    box-shadow: inset 0 -1px 0 #2a3f52;
    color: #d6dbde;
}
.tc-city-country {
    color: #b4bec4;
}
.tc-modal-optional {
    color: #b4bec4;
}
/* ===== страницы направлений (destination.css) ===== */
.destination-page,
.destination-links h2,
.destination-country h2,
.destination-country h2 a {
    color: #d6dbde;
}
.destination-intro {
    color: #b4bec4;
}
.destination-breadcrumbs,
.destination-country h2 span {
    color: #9aa4aa;
}
a.destination-chip {
    background: #262d32;
    border-color: #3a444b;
    color: #d6dbde;
}
a.destination-chip:hover,
a.destination-chip:focus {
    border-color: #13a0ff;
    color: #4db6ff;
}
a.destination-chip span {
    background: #333b41;
    color: #b4bec4;
}
.destination-breadcrumbs a,
.destination-all a {
    color: #4db6ff;
}
@media (max-width: 767px) {
    .tc-filters-toggle {
        color: #d6dbde;
    }
}

/* ===== страница тура (tour-page.css) ===== */
.tour-page {
    background: #15191c;
    color: #d6dbde;
}
.tour-breadcrumbs,
.tour-breadcrumbs a,
.tour-back,
.tour-card-hint {
    color: #9aa4aa;
}
.tour-breadcrumbs li + li:before {
    color: #4a545b;
}
.tour-breadcrumbs a:hover,
.tour-back:hover {
    color: #4db6ff;
}
.tour-article,
.tour-terms-card,
.tour-card {
    background: #1e2428;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .4);
}
.tour-article {
    color: #d6dbde;
}
.tour-article strong,
.tour-article b,
.tour-article h2,
.tour-article .tour-section,
.tour-terms-card h2,
.tour-card-price-num {
    color: #e8ecee;
}
.tour-article a,
.tour-list a,
.tour-article .tour-day {
    color: #4db6ff;
}
.tour-article h4,
.tour-article .tour-extra,
.tour-list li.tour-list-group,
.tour-card-label,
.tour-card-price-from,
.tour-card-price-cur {
    color: #9aa4aa;
}
.tour-article .tour-fact {
    background: #16293a;
}
.tour-article .tour-extra + p {
    border-left-color: #333b41;
}
.tour-gallery img {
    background: #262d32;
}
.tour-table-wrap {
    border-color: #333b41;
}
.tour-table td,
.tour-table th {
    border-bottom-color: #2a3237;
    border-right-color: #262d32;
}
.tour-table td[colspan] {
    background: #16293a;
    color: #e8ecee;
}
.tour-table tr:nth-child(even) td:not([colspan]) {
    background: #1b2023;
}
.tour-list-plus li:before {
    background-color: #1d3326;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%235fd08a' d='M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z'/%3E%3C/svg%3E");
}
.tour-list-minus li:before {
    background-color: #3a2c17;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23f0a92e' d='M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 144L48 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l144 0 0 144c0 17.7 14.3 32 32 32s32-14.3 32-32l0-144 144 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-144 0 0-144z'/%3E%3C/svg%3E");
}
.tour-card .tc-badge-hot {
    background: #3a2620;
    color: #ff8a65;
}
.tour-card .tc-badge-action {
    background: #3a2224;
    color: #ff7a72;
}
.tour-card-original {
    color: #7d878d;
}
.tour-card-original:hover,
.tour-card-original:focus-visible {
    color: #4db6ff;
}
.tour-card-facts {
    border-top-color: #2a3237;
}
.tour-card-facts dt {
    color: #4db6ff;
}
.tour-card-date {
    background: #1d3326;
    color: #5fd08a;
}
.tour-card-date.is-hot {
    background: #3a2620;
    color: #ff8a65;
}
.tour-card-more {
    border-color: #2a3f52;
    color: #4db6ff;
}

/* «Маршрут на карте» (tour-route.js): кнопка и окно; сама карта OSM остаётся светлой */
.tour-route-btn {
    background: #1e2428;
    border-color: #4db6ff;
    color: #4db6ff;
}
.tour-route-btn:hover,
.tour-route-btn:focus-visible {
    background: #13a0ff;
    color: #ffffff;
}
.tour-route-modal .modal-header {
    border-bottom-color: #333b41;
}
.tour-route-modal .close {
    color: #d6dbde;
    text-shadow: none;
    opacity: .8;
}
.tour-route-legend {
    color: #b4bec4;
}
.tour-route-note {
    color: #9aa4aa;
}
.tour-route-opt {
    text-decoration-color: #7d878d;
}
.tour-article .tour-fact-label {
    color: #e8ecee;
}
