/* =========================================================
   TM TRAVEL — DARK PROFESSIONAL THEME v12.0 (CLEAN)
   Палитра: глубокий синий + тёмно-оранжевый + глянцевый чёрный
   Файл: assets/css/dark-theme.css
   Подключается ПОСЛЕ style.css
   
   ✅ Очищенная версия — удалены дубли и неиспользуемые переменные
   ========================================================= */

/* =========================================================
   РАЗДЕЛ 1. ПЕРЕМЕННЫЕ И БАЗА
   ========================================================= */

:root {
    /* ===== ФОНЫ (глубокий синий) ===== */
    --primary: #0a0e1a;
    --dark-bg-1: #0a0e1a;
    --dark-bg-2: #111827;
    --dark-bg-3: #1a2235;
    --dark-bg-4: #252f45;

    /* ===== АКЦЕНТЫ ===== */
    --secondary: #d97706;
    --accent-orange: #d97706;
    --accent-orange-hover: #f59e0b;
    --accent-orange-deep: #b45309;
    --accent-blue: #3b82f6;
    --accent-blue-hover: #60a5fa;

    /* ===== ТЕКСТ ===== */
    --body-color: #94a3b8;
    --body-bgcolor: #0a0e1a;
    --heading-color: #f1f5f9;
    --light: #1a2235;

    /* ===== ГРАНИЦЫ ===== */
    --border-color: #1e293b;

    /* ===== СТАТУСЫ ===== */
    --success: #10b981;
    --danger: #ef4444;
    --warning: #f59e0b;
}

html, body {
    background-color: var(--dark-bg-1) !important;
    color: var(--body-color) !important;
}

body {
    background-image: none !important;
}

h1, h2, h3, h4, h5, h6 {
    color: var(--heading-color) !important;
}

a {
    color: var(--accent-blue);
    transition: color 0.3s ease;
}
a:hover {
    color: var(--accent-orange-hover);
}

.text-primary,
.text-heading,
.text-darkcyan,
.text-emeraldblue {
    color: #f1f5f9 !important;
}
.text-secondary {
    color: var(--accent-orange-hover) !important;
}
.text-bodycolor,
.text-\[\#545454\],
.text-\[\#787878\],
.text-\[\#346065\] {
    color: #94a3b8 !important;
}

/* =========================================================
   РАЗДЕЛ 2. HEADER — глянцевая тёмная карточка
   ========================================================= */

.site-header {
    background-color: transparent !important;
    padding: 0 !important;
}

.site-header::before,
.site-header::after {
    display: none !important;
    content: none !important;
}

.site-header .main-bar-wraper > div {
    background: linear-gradient(135deg,
        rgba(10, 14, 26, 0.95) 0%,
        rgba(17, 24, 39, 0.9) 100%) !important;
    backdrop-filter: blur(20px) saturate(1.5);
    -webkit-backdrop-filter: blur(20px) saturate(1.5);
    border: 1px solid rgba(217, 119, 6, 0.2) !important;
    border-radius: 24px !important;
    box-shadow:
        0 8px 32px rgba(0, 0, 0, 0.5),
        inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
    transition: all 0.35s ease;
    padding-left: 20px !important;
    padding-right: 20px !important;
}

.site-header .main-bar-wraper > div:hover {
    border-color: rgba(217, 119, 6, 0.35) !important;
    box-shadow:
        0 12px 40px rgba(0, 0, 0, 0.6),
        inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
}

.site-header.is-fixed {
    background: linear-gradient(180deg,
        rgba(10, 14, 26, 0.98) 0%,
        rgba(17, 24, 39, 0.95) 100%) !important;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-radius: 0 0 24px 24px !important;
    border-bottom: 1px solid rgba(217, 119, 6, 0.25);
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.5);
}

.site-header.is-fixed .main-bar-wraper > div {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    backdrop-filter: none;
}

.site-header img[alt*="TRAVEL"],
.site-header img[alt*="TM"] {
    filter: drop-shadow(0 2px 8px rgba(217, 119, 6, 0.2));
    transition: filter 0.3s ease;
}
.site-header img[alt*="TRAVEL"]:hover,
.site-header img[alt*="TM"]:hover {
    filter: drop-shadow(0 4px 16px rgba(217, 119, 6, 0.5));
}

/* Основные ссылки меню */
.site-header .navbar-nav li a {
    color: #e2e8f0 !important;
    transition: color 0.3s ease;
    position: relative;
}
.site-header .navbar-nav li a:hover,
.site-header .navbar-nav li a.active {
    color: var(--accent-orange-hover) !important;
}

/* Glass Pill Navigation (актуальная версия) */
.site-header .navbar-nav {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px;
    background: rgba(217, 119, 6, 0.05);
    border: 1px solid rgba(217, 119, 6, 0.12);
    border-radius: 50px;
    backdrop-filter: blur(10px);
}

.site-header .navbar-nav li a {
    padding: 10px 22px !important;
    border-radius: 50px;
    color: #cbd5e1 !important;
    font-weight: 600;
    font-size: 15px;
    transition: all 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    position: relative;
    overflow: hidden;
}

.site-header .navbar-nav li a::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, #d97706 0%, #b45309 100%);
    border-radius: 50px;
    opacity: 0;
    transform: scale(0.8);
    transition: all 0.35s ease;
    z-index: -1;
}

.site-header .navbar-nav li a:hover::before,
.site-header .navbar-nav li a.active::before,
.site-header .navbar-nav li a.font-bold::before {
    opacity: 1;
    transform: scale(1);
}

.site-header .navbar-nav li a:hover,
.site-header .navbar-nav li a.active,
.site-header .navbar-nav li a.font-bold {
    color: #fff !important;
    box-shadow: 0 6px 20px rgba(217, 119, 6, 0.4);
}

.site-header .navbar-nav li a.active,
.site-header .navbar-nav li a.font-bold {
    background: linear-gradient(135deg, #d97706 0%, #b45309 100%);
    color: #fff !important;
}

/* Иконки бургера */
.site-header .xmenu-toggler span {
    background-color: #f1f5f9 !important;
}

.site-header .bg-white {
    background-color: rgba(10, 14, 26, 0.9) !important;
}

/* Мобильное меню */
.header-nav.max-lg\:bg-white,
.header-nav[class*="max-lg:bg-white"] {
    background-color: var(--dark-bg-2) !important;
    border-right: 1px solid rgba(217, 119, 6, 0.2);
}
.header-nav.max-lg\:bg-white .navbar-nav li,
.header-nav[class*="max-lg:bg-white"] .navbar-nav li {
    border-bottom-color: rgba(217, 119, 6, 0.15) !important;
}
.header-nav.max-lg\:bg-white .navbar-nav li a,
.header-nav[class*="max-lg:bg-white"] .navbar-nav li a {
    color: #e2e8f0 !important;
}
.header-nav.max-lg\:bg-white .fab,
.header-nav[class*="max-lg:bg-white"] .fab {
    color: #f1f5f9 !important;
    border-color: rgba(217, 119, 6, 0.3) !important;
}

/* =========================================================
   РАЗДЕЛ 3. ЯЗЫКОВОЙ ПЕРЕКЛЮЧАТЕЛЬ
   ========================================================= */

/* Desktop */
.lang-selector-desktop {
    display: flex;
    align-items: center;
    gap: 6px;
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(10px);
    padding: 5px 10px 5px 14px;
    border-radius: 60px;
    border: 1px solid rgba(255, 255, 255, 0.25);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
    margin-left: 12px;
    transition: all 0.3s ease;
}
.lang-selector-desktop:hover {
    background: rgba(255, 255, 255, 0.22);
    border-color: rgba(255, 255, 255, 0.4);
}
.lang-selector-desktop .lang-btn {
    color: rgba(255, 255, 255, 0.85);
    font-size: 13px;
    font-weight: 600;
    padding: 6px 12px;
    border-radius: 40px;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-family: 'Figtree', sans-serif;
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    display: inline-block;
}
.lang-selector-desktop .lang-btn:hover {
    color: #fff;
    background: rgba(255, 255, 255, 0.15);
    transform: translateY(-1px);
}
.lang-selector-desktop .lang-btn.active {
    color: #1a2b3c;
    background: #e67e22;
    font-weight: 700;
    box-shadow: 0 4px 14px rgba(230, 126, 34, 0.5);
    transform: scale(1.05);
}
.lang-selector-desktop .lang-divider {
    width: 1px;
    height: 20px;
    background: rgba(255, 255, 255, 0.3);
}
.lang-selector-desktop .lang-short { display: none !important; }
.lang-selector-desktop .lang-full { display: inline !important; }

/* Mobile — скрыть desktop */
@media (max-width: 991px) {
    .lang-selector-desktop,
    #languageSelector {
        display: none !important;
        visibility: hidden !important;
        width: 0 !important;
        height: 0 !important;
        overflow: hidden !important;
        position: absolute !important;
        pointer-events: none !important;
    }
}

/* Мобильные языки внутри гамбургер-меню */
.lang-selector-mobile {
    padding: 20px 20px 24px;
    border-top: 1px solid rgba(217, 119, 6, 0.2);
    margin-top: 16px;
    background: linear-gradient(180deg, transparent 0%, rgba(217, 119, 6, 0.04) 100%);
}
.lang-selector-mobile .lang-mobile-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: 'Figtree', sans-serif;
    font-size: 12px;
    font-weight: 700;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    margin-bottom: 12px;
    padding-left: 4px;
}
.lang-selector-mobile .lang-mobile-title i {
    color: #f59e0b;
    font-size: 14px;
}
.lang-selector-mobile .lang-mobile-list {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.lang-selector-mobile .lang-mobile-btn {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    border-radius: 12px;
    text-decoration: none;
    font-family: 'Figtree', sans-serif;
    font-size: 15px;
    font-weight: 600;
    color: #cbd5e1;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(217, 119, 6, 0.1);
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    position: relative;
}
.lang-selector-mobile .lang-mobile-btn:hover {
    background: rgba(217, 119, 6, 0.08);
    border-color: rgba(217, 119, 6, 0.3);
    color: #f59e0b;
    transform: translateX(4px);
}
.lang-selector-mobile .lang-mobile-btn.active {
    background: linear-gradient(135deg, rgba(217, 119, 6, 0.2), rgba(217, 119, 6, 0.08));
    border-color: #d97706;
    color: #f59e0b;
    font-weight: 700;
    box-shadow:
        0 4px 15px rgba(217, 119, 6, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.05);
}
.lang-selector-mobile .lang-mobile-btn .lang-flag {
    font-size: 22px;
    line-height: 1;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
}
.lang-selector-mobile .lang-mobile-btn .fa-check {
    margin-left: auto;
    font-size: 14px;
    color: #f59e0b;
    filter: drop-shadow(0 0 8px rgba(217, 119, 6, 0.6));
}
@media (min-width: 992px) {
    .lang-selector-mobile {
        display: none !important;
    }
}

/* =========================================================
   РАЗДЕЛ 4. МОБИЛЬНЫЙ HEADER — гамбургер
   ========================================================= */

@media (max-width: 991px) {
    .site-header .xmenu-toggler,
    .site-header button.xmenu-toggler {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: relative !important;
        z-index: 100 !important;
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        max-width: 44px !important;
        flex-shrink: 0 !important;
    }
    .site-header .xmenu-toggler span {
        display: block !important;
        background-color: #f1f5f9 !important;
    }
    .site-header .flex.lg\:justify-end,
    .site-header .flex[class*="lg:justify-end"] {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        width: auto !important;
        flex-shrink: 0 !important;
        min-width: 0 !important;
        padding-left: 0 !important;
    }
    .site-header .main-bar-wraper > div {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 8px !important;
        padding: 0 12px !important;
    }
    .site-header .h-20.lg\:w-44,
    .site-header [class*="h-20"] img {
        max-width: 110px !important;
        height: auto !important;
    }
}

@media (max-width: 480px) {
    .site-header .xmenu-toggler {
        width: 40px !important;
        height: 40px !important;
        min-width: 40px !important;
        max-width: 40px !important;
    }
    .site-header .main-bar-wraper > div {
        padding: 0 8px !important;
    }
}

/* Мобильное меню — вертикальная раскладка */
@media (max-width: 991px) {
    .site-header .navbar-nav {
        flex-direction: column;
        background: transparent;
        border: none;
        border-radius: 0;
        padding: 20px 0;
        gap: 0;
    }
    .site-header .navbar-nav li {
        width: 100%;
    }
    .site-header .navbar-nav li a {
        display: block;
        width: 100%;
        border-radius: 12px;
        padding: 14px 20px !important;
        margin: 4px 0;
    }
}

/* =========================================================
   РАЗДЕЛ 5. БАННЕРЫ внутренних страниц
   ========================================================= */

div[style*="inr-banner.jpg"] {
    background-image: none !important;
    background: linear-gradient(135deg, #0a0e1a 0%, #111827 50%, #1a2235 100%) !important;
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid rgba(217, 119, 6, 0.2);
    padding-top: 140px !important;
}
div[style*="inr-banner.jpg"]::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(217, 119, 6, 0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(217, 119, 6, 0.04) 1px, transparent 1px);
    background-size: 50px 50px;
    mask-image: radial-gradient(ellipse 80% 60% at 50% 50%, #000 20%, transparent 80%);
    -webkit-mask-image: radial-gradient(ellipse 80% 60% at 50% 50%, #000 20%, transparent 80%);
    pointer-events: none;
    z-index: 0;
}
div[style*="inr-banner.jpg"]::after {
    content: '';
    position: absolute;
    bottom: -100px;
    left: 50%;
    transform: translateX(-50%);
    width: 600px;
    height: 300px;
    background: radial-gradient(ellipse, rgba(217, 119, 6, 0.18), transparent 70%);
    pointer-events: none;
    z-index: 0;
}
div[style*="inr-banner.jpg"] h2 {
    position: relative;
    z-index: 5;
}
div[style*="inr-banner.jpg"] h2 > span {
    background: rgba(217, 119, 6, 0.1) !important;
    border: 1px solid rgba(217, 119, 6, 0.35) !important;
    backdrop-filter: blur(12px);
    box-shadow:
        0 20px 60px rgba(0, 0, 0, 0.6),
        0 0 0 1px rgba(255, 255, 255, 0.03),
        inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
    padding: 16px 45px !important;
    border-radius: 20px !important;
}
div[style*="inr-banner.jpg"] h2 span[style*="27ae60"],
div[style*="inr-banner.jpg"] h2 span[style*="color: #27ae60"] {
    color: var(--accent-orange-hover) !important;
    text-shadow: 0 2px 20px rgba(217, 119, 6, 0.5);
}
div[style*="inr-banner.jpg"] h2 span[style*="ffffff"] {
    color: #f1f5f9 !important;
}
div[style*="inr-banner.jpg"] img[src*="cloud"],
div[style*="inr-banner.jpg"] img[src*="airplane"],
div[style*="inr-banner.jpg"] .animate-moveCloud,
div[style*="inr-banner.jpg"] .animate-slide-right {
    display: none !important;
}

/* =========================================================
   РАЗДЕЛ 6. ФОРМЫ
   ========================================================= */

.form-control-custom,
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="date"],
select,
textarea {
    background-color: var(--dark-bg-3) !important;
    border: 2px solid var(--border-color) !important;
    color: var(--heading-color) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

.form-control-custom:focus,
input:focus,
select:focus,
textarea:focus {
    border-color: var(--accent-orange) !important;
    box-shadow:
        0 0 0 4px rgba(217, 119, 6, 0.15),
        0 0 20px rgba(217, 119, 6, 0.15),
        inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
    background-color: var(--dark-bg-3) !important;
    outline: none;
}

.form-control-custom::placeholder,
input::placeholder,
textarea::placeholder {
    color: #64748b !important;
    opacity: 1;
}

select.form-control-custom {
    background-color: var(--dark-bg-3) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23d97706' d='M6 8L1 3h10z'/%3E%3C/svg%3E") !important;
    color: var(--heading-color) !important;
    border-color: var(--border-color) !important;
}
select.form-control-custom:hover {
    border-color: rgba(217, 119, 6, 0.4) !important;
}
select.form-control-custom:focus {
    background-color: var(--dark-bg-3) !important;
    border-color: var(--accent-orange) !important;
}
select option {
    background-color: var(--dark-bg-3);
    color: var(--heading-color);
    padding: 8px;
}
select optgroup {
    background-color: var(--dark-bg-2);
    color: var(--accent-orange);
    font-weight: 700;
    padding: 6px;
}

label,
.form-label {
    color: var(--heading-color) !important;
}
.form-label .required {
    color: var(--danger) !important;
}

/* Автозаполнение Chrome */
.form-control-custom:-webkit-autofill,
.form-control-custom:-webkit-autofill:hover,
.form-control-custom:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0 1000px #1a2235 inset !important;
    -webkit-text-fill-color: #f1f5f9 !important;
    caret-color: #f1f5f9;
}

/* Date input — тёмный календарь */
input[type="date"] {
    color-scheme: dark;
}

/* =========================================================
   РАЗДЕЛ 7. КНОПКИ
   ========================================================= */

.btn-submit,
.site-button,
.butn-bg-shape {
    background: linear-gradient(135deg, var(--accent-orange) 0%, var(--accent-orange-deep) 100%) !important;
    color: #fff !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    box-shadow:
        0 6px 20px rgba(217, 119, 6, 0.35),
        inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
    position: relative;
    overflow: hidden;
    transition: all 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.btn-submit::before,
.site-button::before,
.butn-bg-shape::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
    transition: left 0.7s ease;
    pointer-events: none;
}

.btn-submit:hover::before,
.site-button:hover::before,
.butn-bg-shape:hover::before {
    left: 100%;
}

.btn-submit:hover,
.site-button:hover,
.butn-bg-shape:hover {
    background: linear-gradient(135deg, var(--accent-orange-hover) 0%, var(--accent-orange) 100%) !important;
    box-shadow:
        0 12px 35px rgba(217, 119, 6, 0.55),
        inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
    transform: translateY(-2px);
    color: #fff !important;
}

.btn-submit:focus,
.site-button:focus,
.butn-bg-shape:focus {
    outline: none;
    box-shadow:
        0 0 0 4px rgba(217, 119, 6, 0.3),
        0 6px 20px rgba(217, 119, 6, 0.4),
        inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
}

/* =========================================================
   РАЗДЕЛ 8. ФИЛЬТРЫ
   ========================================================= */

.filter-section {
    background-color: var(--dark-bg-2) !important;
    border: 1px solid var(--border-color) !important;
    box-shadow:
        0 4px 20px rgba(0, 0, 0, 0.4),
        inset 0 1px 0 rgba(255, 255, 255, 0.03) !important;
}
.filter-section .filter-title,
.filter-group label {
    color: var(--heading-color) !important;
}
.filter-group select {
    background-color: var(--dark-bg-3) !important;
    color: var(--heading-color) !important;
}
.filter-btn {
    background: linear-gradient(135deg, var(--accent-orange), var(--accent-orange-deep)) !important;
    color: #fff !important;
}
.filter-btn:hover {
    background: linear-gradient(135deg, var(--accent-orange-hover), var(--accent-orange)) !important;
}
.filter-reset-btn {
    color: var(--body-color) !important;
    border-color: var(--border-color) !important;
}
.filter-reset-btn:hover {
    border-color: var(--accent-orange) !important;
    color: var(--accent-orange-hover) !important;
    background-color: var(--dark-bg-3) !important;
}

/* Кнопки-фильтры (галерея) */
.filter-buttons .filter-btn {
    background-color: transparent !important;
    border: 2px solid var(--border-color) !important;
    color: var(--body-color) !important;
    background-image: none !important;
}
.filter-buttons .filter-btn:hover {
    border-color: var(--accent-orange) !important;
    color: var(--accent-orange-hover) !important;
}
.filter-buttons .filter-btn.active {
    background: linear-gradient(135deg, var(--accent-orange), var(--accent-orange-deep)) !important;
    border-color: var(--accent-orange) !important;
    color: #fff !important;
    box-shadow: 0 4px 20px rgba(217, 119, 6, 0.45) !important;
}

/* =========================================================
   РАЗДЕЛ 9. КАРТОЧКИ (общие)
   ========================================================= */

.tour-card,
.hotel-card,
.guide-card,
.topic-card,
.contact-card,
.faq-item,
.booking-details,
.similar-card {
    background: linear-gradient(145deg, var(--dark-bg-2) 0%, var(--dark-bg-3) 100%) !important;
    border: 1px solid rgba(217, 119, 6, 0.15) !important;
    color: var(--body-color) !important;
    box-shadow:
        0 4px 20px rgba(0, 0, 0, 0.45),
        inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
    transition: all 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    position: relative;
}

.tour-card:hover,
.hotel-card:hover,
.guide-card:hover,
.topic-card:hover,
.contact-card:hover,
.similar-card:hover {
    border-color: rgba(217, 119, 6, 0.5) !important;
    box-shadow:
        0 16px 45px rgba(217, 119, 6, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
    transform: translateY(-4px);
}

/* Глянцевый блик */
.tour-card::after,
.hotel-card::after,
.guide-card::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.04), transparent);
    transition: left 0.8s ease;
    pointer-events: none;
    border-radius: inherit;
}
.tour-card:hover::after,
.hotel-card:hover::after,
.guide-card:hover::after {
    left: 100%;
}

.hotel-card .hotel-body,
.tour-card .tour-body {
    background-color: transparent !important;
}
.hotel-card .hotel-name,
.tour-card .tour-name,
.guide-card h4,
.topic-card .tc-title,
.contact-card h3,
.similar-card h4 {
    color: var(--heading-color) !important;
}
.hotel-card .hotel-location,
.tour-card .tour-meta,
.guide-card p,
.topic-card .tc-desc,
.contact-card p {
    color: var(--body-color) !important;
}
.hotel-card .hotel-divider,
.tour-card .hotel-divider {
    border-top-color: var(--border-color) !important;
}

/* =========================================================
   РАЗДЕЛ 10. ТУРЫ (специфика)
   ========================================================= */

.tour-card .p-7\.5.bg-white,
.tour-card > div[class*="bg-white"] {
    background-color: transparent !important;
}
.tour-card h3 a {
    color: var(--heading-color) !important;
    transition: color 0.3s ease;
}
.tour-card h3 a:hover {
    color: var(--accent-orange-hover) !important;
}
.tour-card p,
.tour-card .font-title {
    color: #94a3b8 !important;
}
.tour-card .tour-meta {
    color: #64748b !important;
}
.tour-card .tour-meta i {
    color: var(--accent-orange-hover) !important;
}
.tour-card .tour-price {
    color: var(--accent-orange-hover) !important;
}
.tour-card .bg-primary {
    background: linear-gradient(135deg, var(--accent-orange) 0%, var(--accent-orange-deep) 100%) !important;
    color: #fff !important;
    box-shadow: 0 4px 15px rgba(217, 119, 6, 0.45);
}
.tour-card .btn-book {
    background: linear-gradient(135deg, var(--accent-orange) 0%, var(--accent-orange-deep) 100%) !important;
    color: #fff !important;
    box-shadow: 0 6px 20px rgba(217, 119, 6, 0.35);
}
.tour-card .btn-book:hover {
    background: linear-gradient(135deg, var(--accent-orange-hover) 0%, var(--accent-orange) 100%) !important;
    box-shadow: 0 10px 30px rgba(217, 119, 6, 0.6);
    transform: translateY(-2px);
}
.tour-card .tour-rating i {
    color: var(--accent-orange-hover) !important;
}

/* =========================================================
   РАЗДЕЛ 11. МОДАЛЬНЫЕ ОКНА
   ========================================================= */

.hotel-modal,
.hotel-modal-overlay .hotel-modal,
.embassy-modal-content,
.lightbox-overlay .lightbox-content {
    background: linear-gradient(145deg, var(--dark-bg-2) 0%, var(--dark-bg-1) 100%) !important;
    color: var(--body-color) !important;
    border: 1px solid rgba(217, 119, 6, 0.2) !important;
    box-shadow:
        0 30px 80px rgba(0, 0, 0, 0.8),
        inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
}
.hotel-modal .modal-name,
.embassy-modal h3 {
    color: var(--heading-color) !important;
}
.hotel-modal .modal-desc,
.hotel-modal .modal-location,
.hotel-modal .modal-meta {
    color: var(--body-color) !important;
}
.hotel-modal .modal-price {
    color: var(--accent-orange-hover) !important;
}
.hotel-modal .modal-amenities span {
    background-color: var(--dark-bg-3) !important;
    color: var(--heading-color) !important;
}
.hotel-modal .modal-btn {
    background: linear-gradient(135deg, var(--accent-orange) 0%, var(--accent-orange-deep) 100%) !important;
    color: #fff !important;
}

/* Модальное окно поиска */
#myModalContent {
    background: linear-gradient(145deg, #111827 0%, #0a0e1a 100%) !important;
    color: #cbd5e1 !important;
    border: 1px solid rgba(217, 119, 6, 0.2) !important;
    box-shadow:
        0 30px 80px rgba(0, 0, 0, 0.8),
        0 0 0 1px rgba(217, 119, 6, 0.1),
        inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
}
#myModalContent h3 {
    color: #f1f5f9 !important;
    font-size: 22px !important;
    font-weight: 700 !important;
}
#myModalContent > div > div[style*="background:#f8fafc"],
#myModalContent > div > div[style*="background: #f8fafc"] {
    background: linear-gradient(145deg, #1a2235 0%, #111827 100%) !important;
    border-left: 4px solid #d97706 !important;
    color: #cbd5e1 !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4) !important;
}
#myModalContent div[style*="font-weight:700"],
#myModalContent div[style*="font-weight: 700"],
#myModalContent div[style*="color:#1a2b3c"] {
    color: #f1f5f9 !important;
}
#myModalContent div[style*="color:#666"],
#myModalContent div[style*="color: #666"] {
    color: #94a3b8 !important;
}
#myModalContent div[style*="color:#2989B9"],
#myModalContent div[style*="color: #2989B9"] {
    color: #f59e0b !important;
    font-weight: 800 !important;
}
#myModalContent button[style*="background:#2989B9"],
#myModalContent button[style*="background: #2989B9"] {
    background: linear-gradient(135deg, #d97706 0%, #b45309 100%) !important;
    color: #fff !important;
    box-shadow: 0 6px 20px rgba(217, 119, 6, 0.4) !important;
}
#myModalContent > button[onclick*="closeSearchModal"] {
    color: #94a3b8 !important;
}
#myModalContent > button[onclick*="closeSearchModal"]:hover {
    color: #f59e0b !important;
}
#myModalContent span[style*="background:#27ae60"],
#myModalContent span[style*="background:#e67e22"] {
    color: #fff !important;
    font-weight: 700 !important;
}

/* =========================================================
   РАЗДЕЛ 12. ГАЛЕРЕЯ
   ========================================================= */

.gallery-grid .gallery-item {
    background-color: var(--dark-bg-2) !important;
    border: 1px solid rgba(217, 119, 6, 0.15);
}
.gallery-grid .gallery-item:hover {
    border-color: rgba(217, 119, 6, 0.5);
    box-shadow: 0 20px 60px rgba(217, 119, 6, 0.2) !important;
}

.gallery-stats {
    border-top-color: var(--border-color) !important;
    border-bottom-color: var(--border-color) !important;
}
.gallery-stats .stat-item .number {
    color: var(--accent-orange-hover) !important;
}
.gallery-stats .stat-item .label {
    color: var(--body-color) !important;
}

/* =========================================================
   РАЗДЕЛ 13. ГАЙД (guides.php)
   ========================================================= */

.qa-item {
    background: linear-gradient(145deg, var(--dark-bg-2) 0%, var(--dark-bg-3) 100%) !important;
    border: 2px solid var(--border-color) !important;
    color: var(--heading-color) !important;
}
.qa-item:hover {
    border-color: var(--accent-orange) !important;
    background: rgba(217, 119, 6, 0.1) !important;
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(217, 119, 6, 0.25) !important;
}
.qa-item .qa-label {
    color: var(--heading-color) !important;
}

/* Emergency блок */
.emergency-block {
    background: linear-gradient(135deg,
        rgba(239, 68, 68, 0.08) 0%,
        rgba(217, 119, 6, 0.06) 100%) !important;
    border: 1px solid rgba(217, 119, 6, 0.3) !important;
    box-shadow:
        0 8px 30px rgba(0, 0, 0, 0.4),
        inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
}
.emergency-title {
    color: #f1f5f9 !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    letter-spacing: 0.3px;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.5);
    margin-bottom: 18px !important;
    display: flex;
    align-items: center;
    gap: 12px;
}
.emergency-title span {
    font-size: 24px;
    filter: drop-shadow(0 0 12px rgba(239, 68, 68, 0.5));
    animation: emergencyPulse 2s ease-in-out infinite;
}
@keyframes emergencyPulse {
    0%, 100% { transform: scale(1); opacity: 1; }
    50% { transform: scale(1.08); opacity: 0.9; }
}

.emergency-item {
    background-color: var(--dark-bg-3) !important;
    border-color: var(--border-color) !important;
}
.emergency-item .e-number {
    color: var(--heading-color) !important;
}
.emergency-item .e-label {
    color: #64748b !important;
}
.emergency-item.ambulance { background: rgba(239, 68, 68, 0.12) !important; border-color: #ef4444 !important; }
.emergency-item.ambulance .e-number { color: #ef4444 !important; }
.emergency-item.police { background: rgba(59, 130, 246, 0.12) !important; border-color: #3b82f6 !important; }
.emergency-item.police .e-number { color: #60a5fa !important; }
.emergency-item.fire { background: rgba(217, 119, 6, 0.12) !important; border-color: #d97706 !important; }
.emergency-item.fire .e-number { color: #f59e0b !important; }
.emergency-item.tm { background: rgba(16, 185, 129, 0.12) !important; border-color: #10b981 !important; }
.emergency-item.tm .e-number { color: #10b981 !important; }

/* Embassy */
.embassy-row {
    margin-top: 16px;
    padding-top: 20px;
    border-top: 1px dashed rgba(217, 119, 6, 0.35) !important;
}
.embassy-row .emb-title {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #f59e0b !important;
    font-family: 'Figtree', sans-serif;
    margin-bottom: 14px !important;
    display: flex;
    align-items: center;
    gap: 8px;
    text-shadow:
        0 0 20px rgba(217, 119, 6, 0.4),
        0 2px 8px rgba(0, 0, 0, 0.5);
    letter-spacing: 0.3px;
}
.embassy-row .emb-title span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background: linear-gradient(135deg, rgba(217, 119, 6, 0.25), rgba(217, 119, 6, 0.1));
    border: 1px solid rgba(217, 119, 6, 0.4);
    border-radius: 10px;
    font-size: 16px;
    box-shadow:
        0 4px 15px rgba(217, 119, 6, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);
}
.embassy-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 10px;
}
.embassy-item,
.embassy-modal-item {
    background: linear-gradient(145deg, #1a2235 0%, #111827 100%) !important;
    border: 1px solid rgba(217, 119, 6, 0.2) !important;
    border-radius: 12px !important;
    padding: 12px 16px !important;
    color: #cbd5e1 !important;
    transition: all 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    box-shadow:
        0 4px 15px rgba(0, 0, 0, 0.4),
        inset 0 1px 0 rgba(255, 255, 255, 0.04);
    text-decoration: none;
}
.embassy-item:hover,
.embassy-modal-item:hover {
    border-color: rgba(217, 119, 6, 0.6) !important;
    background: linear-gradient(145deg, #1e293b 0%, #1a2235 100%) !important;
    transform: translateX(4px);
    box-shadow:
        0 8px 25px rgba(217, 119, 6, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.06);
}
.embassy-item .em-flag,
.embassy-modal-item .em-flag {
    font-size: 22px !important;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.4));
}
.embassy-item .em-name,
.embassy-modal-item .em-name {
    color: #f1f5f9 !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    letter-spacing: 0.2px;
    margin-bottom: 2px !important;
}
.embassy-item .em-phone,
.embassy-modal-item .em-phone {
    color: #94a3b8 !important;
    font-size: 12px !important;
    font-weight: 500;
    transition: color 0.3s ease;
}
.embassy-item:hover .em-phone {
    color: #f59e0b !important;
}
.embassy-more-btn {
    background: linear-gradient(135deg, var(--accent-orange) 0%, var(--accent-orange-deep) 100%) !important;
    color: #fff !important;
}

/* Секции гайда */
.guide-section-title {
    color: var(--heading-color) !important;
    border-bottom-color: var(--accent-orange) !important;
}
.guide-section-intro {
    color: var(--body-color) !important;
}
.guide-card ul li {
    border-bottom-color: var(--border-color) !important;
}
.guide-card ul li i {
    color: var(--success) !important;
}

.step-item {
    border-bottom-color: var(--border-color) !important;
}
.step-num {
    background: linear-gradient(135deg, var(--accent-orange), var(--accent-orange-deep)) !important;
    box-shadow: 0 4px 15px rgba(217, 119, 6, 0.4);
}
.step-body h4 {
    color: var(--heading-color) !important;
}
.step-body p {
    color: var(--body-color) !important;
}

.checklist-interactive .checklist-item {
    border-bottom-color: var(--border-color) !important;
}
.checklist-interactive .checklist-item:hover {
    background-color: rgba(217, 119, 6, 0.06) !important;
}
.checklist-interactive .checklist-item .check-box {
    color: var(--accent-orange) !important;
}
.checklist-interactive .checklist-item .check-text {
    color: var(--body-color) !important;
}
.checklist-interactive .checklist-item.done .check-box {
    color: var(--success) !important;
}

/* Калькулятор валют */
.calc-box {
    background: linear-gradient(135deg, rgba(217, 119, 6, 0.1), rgba(59, 130, 246, 0.06)) !important;
    border: 2px solid var(--accent-orange) !important;
    box-shadow: 0 8px 30px rgba(217, 119, 6, 0.15);
}
.calc-box h4 {
    color: var(--heading-color) !important;
}
.calc-inputs input,
.calc-inputs select {
    background-color: var(--dark-bg-3) !important;
    border-color: var(--border-color) !important;
    color: var(--heading-color) !important;
}
.calc-result {
    background-color: var(--dark-bg-1) !important;
}
.calc-result .rate-value {
    color: var(--success) !important;
}

/* Money wrap */
.money-wrap .guide-card {
    background: linear-gradient(145deg, #111827 0%, #1a2235 100%) !important;
    border: 1px solid rgba(217, 119, 6, 0.15) !important;
}
.money-wrap .guide-card h4 {
    color: #f1f5f9 !important;
}
.money-wrap .guide-card ul li {
    color: #cbd5e1 !important;
    border-bottom-color: rgba(217, 119, 6, 0.1) !important;
}
.money-wrap .guide-card ul li i {
    color: #10b981 !important;
}
.money-wrap .guide-card > div[style*="background:#fef9e7"],
.guide-card div[style*="border-left:4px solid #e67e22"],
.guide-card div[style*="border-left: 4px solid #e67e22"] {
    background: linear-gradient(135deg, rgba(217, 119, 6, 0.15), rgba(217, 119, 6, 0.05)) !important;
    border-left: 4px solid var(--accent-orange) !important;
    color: #cbd5e1 !important;
    box-shadow:
        0 4px 15px rgba(217, 119, 6, 0.15),
        inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
    border-radius: 12px !important;
}
.money-wrap .guide-card > div[style*="background:#fef9e7"] h4,
.guide-card div[style*="border-left:4px solid #e67e22"] h4 {
    color: #f59e0b !important;
    font-weight: 700 !important;
}
.money-wrap .guide-card > div[style*="background:#fef9e7"] p,
.guide-card div[style*="border-left:4px solid #e67e22"] p {
    color: #cbd5e1 !important;
    line-height: 1.6;
}

/* Phrasebook */
.phrasebook-about {
    background: linear-gradient(135deg, rgba(217, 119, 6, 0.12), rgba(59, 130, 246, 0.06)) !important;
    border-left: 4px solid var(--accent-orange) !important;
    color: #cbd5e1 !important;
}
.phrasebook-about h4 {
    color: #f1f5f9 !important;
}
.phrasebook-about p {
    color: #cbd5e1 !important;
}
.phrasebook-block-title {
    color: var(--heading-color) !important;
    border-left-color: var(--accent-orange) !important;
}
.phrasebook-table-wrapper {
    background-color: var(--dark-bg-2) !important;
    border-color: var(--border-color) !important;
}
.phrasebook-table thead {
    background: linear-gradient(135deg, var(--accent-orange) 0%, var(--accent-orange-deep) 100%) !important;
}
.phrasebook-table tbody tr {
    border-bottom-color: var(--border-color) !important;
}
.phrasebook-table tbody tr:hover {
    background-color: rgba(217, 119, 6, 0.06) !important;
}
.phrasebook-table-compact .ph-en {
    color: var(--heading-color) !important;
}
.phrasebook-table-compact .ph-tk {
    color: var(--accent-orange-hover) !important;
}
.phrasebook-table-compact .ph-pron {
    color: var(--accent-blue-hover) !important;
    background-color: rgba(217, 119, 6, 0.05) !important;
}
.phrasebook-download {
    background: linear-gradient(135deg, rgba(217, 119, 6, 0.12), rgba(217, 119, 6, 0.03)) !important;
    border-color: var(--accent-orange) !important;
}
.phrasebook-download-content h4 {
    color: var(--heading-color) !important;
}
.phrasebook-download-content p {
    color: var(--body-color) !important;
}
.phrasebook-download-btn {
    background: linear-gradient(135deg, var(--accent-orange) 0%, var(--accent-orange-deep) 100%) !important;
    color: #fff !important;
}

/* Guide help link */
.guide-help-link {
    background: linear-gradient(135deg, rgba(217, 119, 6, 0.1), rgba(59, 130, 246, 0.06)) !important;
    border-color: rgba(217, 119, 6, 0.35) !important;
}
.guide-help-link .ghl-title {
    color: var(--heading-color) !important;
}
.guide-help-link .ghl-desc {
    color: var(--body-color) !important;
}
.guide-help-link .ghl-icon {
    background: linear-gradient(135deg, var(--accent-orange), var(--accent-orange-deep)) !important;
    color: #fff !important;
}
.guide-help-link .ghl-btn {
    background: linear-gradient(135deg, var(--accent-orange) 0%, var(--accent-orange-deep) 100%) !important;
    color: #fff !important;
}
.guide-cta {
    background: linear-gradient(135deg, rgba(217, 119, 6, 0.1), rgba(59, 130, 246, 0.06)) !important;
}
.guide-cta h3 {
    color: var(--heading-color) !important;
}
.guide-cta p {
    color: var(--body-color) !important;
}
.btn-guide {
    background: linear-gradient(135deg, var(--accent-orange) 0%, var(--accent-orange-deep) 100%) !important;
    color: #fff !important;
}

/* =========================================================
   РАЗДЕЛ 14. HELP (help.php)
   ========================================================= */

.help-hero {
    background: linear-gradient(135deg, #0a0e1a 0%, #111827 50%, #1a2235 100%) !important;
    position: relative;
    overflow: hidden;
    padding-top: 180px !important;      
    padding-bottom: 60px !important;    
}
.help-hero h1 {
    color: var(--heading-color) !important;
}
.help-hero p {
    color: var(--body-color) !important;
}

.help-section-title {
    color: var(--heading-color) !important;
}
.help-section-title .hs-badge {
    background: rgba(217, 119, 6, 0.18) !important;
    color: var(--accent-orange-hover) !important;
}
.help-section-sub {
    color: var(--body-color) !important;
}

.topic-card .tc-icon {
    background-color: rgba(217, 119, 6, 0.18) !important;
    color: var(--accent-orange-hover) !important;
}

.faq-group-head {
    border-bottom-color: rgba(217, 119, 6, 0.25) !important;
}
.faq-group-head .fg-icon {
    background-color: rgba(217, 119, 6, 0.18) !important;
    color: var(--accent-orange-hover) !important;
}
.faq-group-head .fg-title {
    color: var(--heading-color) !important;
}
.faq-group-head .fg-count {
    color: #64748b !important;
}

.faq-question {
    color: var(--heading-color) !important;
}
.faq-question:hover {
    background-color: rgba(217, 119, 6, 0.06) !important;
}
.faq-item.active .faq-question {
    background: linear-gradient(135deg, rgba(217, 119, 6, 0.15), rgba(217, 119, 6, 0.04)) !important;
    color: var(--accent-orange-hover) !important;
    border-bottom-color: rgba(217, 119, 6, 0.25) !important;
}
.faq-question i {
    background-color: var(--dark-bg-3) !important;
    color: var(--accent-orange-hover) !important;
}
.faq-item.active .faq-question i {
    background: linear-gradient(135deg, var(--accent-orange), var(--accent-orange-deep)) !important;
    color: #fff !important;
}
.faq-answer {
    background-color: var(--dark-bg-2) !important;
    color: var(--body-color) !important;
}
.faq-answer a {
    color: var(--accent-orange-hover) !important;
    border-bottom-color: var(--accent-orange-hover) !important;
}

.contact-card a {
    background-color: rgba(217, 119, 6, 0.12) !important;
    color: var(--accent-orange-hover) !important;
}
.contact-card a:hover {
    background: linear-gradient(135deg, var(--accent-orange), var(--accent-orange-deep)) !important;
    color: #fff !important;
}

.help-cta {
    background: linear-gradient(135deg, var(--dark-bg-2) 0%, #1a2235 100%) !important;
    border: 1px solid rgba(217, 119, 6, 0.25);
}
.guide-link-card {
    background: linear-gradient(135deg, rgba(217, 119, 6, 0.1), rgba(59, 130, 246, 0.06)) !important;
    border-color: rgba(217, 119, 6, 0.35) !important;
}
.guide-link-card .gl-icon {
    background: linear-gradient(135deg, var(--accent-orange), var(--accent-orange-deep)) !important;
    color: #fff !important;
}
.guide-link-card .gl-title {
    color: var(--heading-color) !important;
}
.guide-link-card .gl-desc {
    color: var(--body-color) !important;
}

/* =========================================================
   РАЗДЕЛ 15. LEGAL (privacy.php, terms.php)
   ========================================================= */

.legal-section {
    background-color: var(--dark-bg-1) !important;
}
.legal-section h1,
.legal-section h2,
.legal-section h3 {
    color: var(--heading-color) !important;
}
.legal-section p,
.legal-section ul li {
    color: var(--body-color) !important;
}
.legal-section strong {
    color: #e2e8f0 !important;
}
.legal-section .highlight-box {
    background: linear-gradient(135deg, rgba(217, 119, 6, 0.1), rgba(217, 119, 6, 0.02)) !important;
    border-left-color: var(--accent-orange) !important;
}
.legal-section .highlight-box p {
    color: var(--body-color) !important;
}
.legal-section a {
    color: var(--accent-orange-hover) !important;
}

/* =========================================================
   РАЗДЕЛ 16. THANK-YOU
   ========================================================= */

.thanks-section {
    background: linear-gradient(135deg, #0a0e1a 0%, #111827 50%, #1a2235 100%) !important;
}
.thanks-card {
    background: linear-gradient(145deg, var(--dark-bg-2) 0%, var(--dark-bg-1) 100%) !important;
    border: 1px solid rgba(217, 119, 6, 0.2);
    box-shadow:
        0 30px 80px rgba(0, 0, 0, 0.6),
        inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
}
.thanks-icon {
    background: linear-gradient(135deg, #10b981, #059669) !important;
    box-shadow: 0 15px 40px rgba(16, 185, 129, 0.4);
}
.thanks-title {
    color: var(--heading-color) !important;
}
.thanks-subtitle {
    color: var(--body-color) !important;
}
.thanks-subtitle strong {
    color: var(--accent-orange-hover) !important;
}
.booking-details {
    background: linear-gradient(135deg, rgba(217, 119, 6, 0.08), rgba(217, 119, 6, 0.02)) !important;
    border-left-color: var(--accent-orange) !important;
}
.booking-details .det-header {
    color: var(--accent-orange-hover) !important;
}
.booking-details .det-row {
    border-bottom-color: rgba(217, 119, 6, 0.18) !important;
}
.booking-details .det-row .det-label {
    color: #64748b !important;
}
.booking-details .det-row .det-value {
    color: var(--heading-color) !important;
}
.booking-details .det-row .det-value.total {
    color: var(--success) !important;
}
.next-steps .step-title {
    color: var(--heading-color) !important;
}
.next-steps .step-item {
    color: var(--body-color) !important;
}
.next-steps .step-item .num {
    background: linear-gradient(135deg, var(--accent-orange), var(--accent-orange-deep)) !important;
}
.btn-primary-thanks {
    background: linear-gradient(135deg, var(--accent-orange) 0%, var(--accent-orange-deep) 100%) !important;
}
.btn-outline-thanks {
    background-color: transparent !important;
    color: var(--heading-color) !important;
    border-color: var(--border-color) !important;
}
.btn-outline-thanks:hover {
    border-color: var(--accent-orange) !important;
    color: var(--accent-orange-hover) !important;
}
.contact-block {
    background: linear-gradient(135deg, rgba(217, 119, 6, 0.1), rgba(217, 119, 6, 0.02)) !important;
    border-left-color: var(--accent-orange) !important;
}
.contact-block .cb-title {
    color: var(--heading-color) !important;
}
.contact-block .cb-text {
    color: var(--body-color) !important;
}
.contact-block a {
    color: var(--accent-orange-hover) !important;
}
.share-section {
    border-top-color: var(--border-color) !important;
}
.share-section .share-label {
    color: #64748b !important;
}

/* =========================================================
   РАЗДЕЛ 17. 404
   ========================================================= */

.error-section {
    background: linear-gradient(135deg, #0a0e1a 0%, #111827 50%, #1a2235 100%) !important;
}
.error-big,
.error-title {
    color: var(--heading-color) !important;
}
.error-text {
    color: var(--body-color) !important;
}
.btn-home {
    background: linear-gradient(135deg, var(--accent-orange) 0%, var(--accent-orange-deep) 100%) !important;
    color: #fff !important;
}
.btn-secondary {
    background-color: transparent !important;
    color: var(--heading-color) !important;
    border-color: var(--border-color) !important;
}
.btn-secondary:hover {
    border-color: var(--accent-orange) !important;
    color: var(--accent-orange-hover) !important;
}

/* =========================================================
   РАЗДЕЛ 18. ФОРМЫ БРОНИРОВАНИЯ (contact.php / hotel-booking.php)
   ========================================================= */

.max-w-437\.5.bg-white,
div[class*="rounded-6xl"][class*="bg-white"] {
    background: linear-gradient(145deg, var(--dark-bg-2) 0%, var(--dark-bg-1) 100%) !important;
    border: 1px solid rgba(217, 119, 6, 0.15);
    box-shadow:
        0 30px 80px rgba(0, 0, 0, 0.6),
        inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
}

.bg-gradient-to-br.from-\[\#FFF8EB\].to-\[\#FFFDF5\],
div[class*="from-\[\#FFF8EB\]"] {
    background: linear-gradient(135deg, #1a2235 0%, #1e293b 100%) !important;
    border: 1px solid rgba(217, 119, 6, 0.2) !important;
    box-shadow:
        0 20px 60px rgba(0, 0, 0, 0.5),
        inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
}

.hotel-info-box {
    background: linear-gradient(135deg, #1a2235 0%, #1e293b 100%) !important;
    border: 2px solid var(--accent-orange) !important;
    box-shadow: 0 4px 20px rgba(217, 119, 6, 0.2) !important;
}
.hotel-info-box .hotel-name {
    color: var(--heading-color) !important;
}
.hotel-info-box .hotel-details .item .label {
    color: #64748b !important;
}
.hotel-info-box .hotel-details .item .value {
    color: var(--heading-color) !important;
}
.hotel-info-box .hotel-details .item i {
    color: var(--accent-orange-hover) !important;
}
.hotel-info-box .hotel-amenities-mini span {
    background: rgba(217, 119, 6, 0.18) !important;
    color: var(--body-color) !important;
    border: 1px solid rgba(217, 119, 6, 0.25);
}
.hotel-info-box .badge-hotel {
    background: linear-gradient(135deg, var(--accent-orange) 0%, var(--accent-orange-deep) 100%) !important;
    color: #fff !important;
}
.price-calculator {
    background: rgba(217, 119, 6, 0.1) !important;
    border: 1px solid rgba(217, 119, 6, 0.25) !important;
}
.price-calculator .calc-label {
    color: var(--heading-color) !important;
}
.price-calculator .calc-total {
    color: var(--success) !important;
}
.price-calculator .calc-detail {
    color: #64748b !important;
}

.form-section-title {
    color: var(--heading-color) !important;
}
.form-section-title .step-number {
    background: linear-gradient(135deg, var(--accent-orange) 0%, var(--accent-orange-deep) 100%) !important;
    color: #fff !important;
    box-shadow: 0 4px 12px rgba(217, 119, 6, 0.4);
}

.traveler-control button {
    background-color: var(--dark-bg-3) !important;
    border: 2px solid var(--border-color) !important;
    color: var(--heading-color) !important;
}
.traveler-control button:hover {
    border-color: var(--accent-orange) !important;
    background-color: rgba(217, 119, 6, 0.15) !important;
    color: var(--accent-orange-hover) !important;
}
.traveler-control input {
    color: var(--heading-color) !important;
    background-color: transparent !important;
}

.service-item {
    background-color: var(--dark-bg-3) !important;
    border-color: var(--border-color) !important;
}
.service-item:hover,
.service-item.selected {
    border-color: var(--accent-orange) !important;
    background-color: rgba(217, 119, 6, 0.12) !important;
}
.service-item .service-name {
    color: var(--heading-color) !important;
}
.service-item .service-price {
    color: var(--accent-orange-hover) !important;
}
.service-item input[type="checkbox"] {
    accent-color: var(--accent-orange) !important;
}

.contact-method-item {
    background-color: var(--dark-bg-3) !important;
    border-color: var(--border-color) !important;
}
.contact-method-item:hover {
    border-color: var(--accent-orange) !important;
    transform: translateY(-4px);
    box-shadow: 0 12px 35px rgba(217, 119, 6, 0.25) !important;
}
.contact-method-item.selected {
    background: linear-gradient(145deg, rgba(217, 119, 6, 0.18), rgba(217, 119, 6, 0.06)) !important;
    border-color: var(--accent-orange) !important;
    box-shadow: 0 6px 28px rgba(217, 119, 6, 0.3) !important;
}
.contact-method-item .method-name {
    color: var(--heading-color) !important;
}
.contact-method-item .method-icon {
    background-color: var(--dark-bg-1) !important;
}
.contact-method-item .method-icon svg {
    stroke: #64748b;
}
.contact-method-item:hover .method-icon svg,
.contact-method-item.selected .method-icon svg {
    stroke: var(--accent-orange-hover);
}
.contact-method-item.selected::after {
    background: linear-gradient(135deg, var(--accent-orange) 0%, var(--accent-orange-deep) 100%) !important;
    color: #fff !important;
}

.form-help-notice {
    background: linear-gradient(135deg, rgba(217, 119, 6, 0.12), rgba(59, 130, 246, 0.06)) !important;
    border-left: 4px solid #d97706 !important;
    color: #cbd5e1 !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
}
.form-help-notice .help-title {
    color: var(--heading-color) !important;
}
.form-help-notice .help-text {
    color: var(--body-color) !important;
}

/* Инфо-бейдж выбранного тура */
.tour-info-badge,
#tourInfoBadge {
    background: linear-gradient(135deg, #1a2235 0%, #252f45 100%) !important;
    border: 1px solid rgba(217, 119, 6, 0.4) !important;
    color: #cbd5e1 !important;
    box-shadow:
        0 8px 25px rgba(0, 0, 0, 0.4),
        inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
}
.tour-info-badge span,
#tourInfoBadge span {
    color: #cbd5e1 !important;
}
.tour-info-badge #infoTourName,
#tourInfoBadge #infoTourName {
    color: #f59e0b !important;
    font-weight: 700 !important;
}
.tour-info-badge #infoLocation,
#tourInfoBadge #infoLocation {
    color: #f1f5f9 !important;
    font-weight: 600 !important;
}
.tour-info-badge #infoDate,
#tourInfoBadge #infoDate {
    color: #f59e0b !important;
    font-weight: 700 !important;
}
.tour-info-badge #infoTravelers,
#tourInfoBadge #infoTravelers {
    color: #f1f5f9 !important;
    font-weight: 600 !important;
}
.tour-info-badge #infoPrice,
#tourInfoBadge #infoPrice {
    color: #10b981 !important;
    font-weight: 700 !important;
}
.tour-info-badge span[style*="background:#e67e22"],
#tourInfoBadge span[style*="background:#e67e22"] {
    background: linear-gradient(135deg, #d97706, #b45309) !important;
    color: #fff !important;
    box-shadow: 0 4px 12px rgba(217, 119, 6, 0.4);
}

/* Booking summary */
.booking-summary {
    background: linear-gradient(135deg, #1a2235 0%, #252f45 100%) !important;
    border-left: 5px solid #d97706 !important;
    color: #cbd5e1 !important;
    box-shadow:
        0 8px 25px rgba(0, 0, 0, 0.4),
        inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
}
.booking-summary h4,
.booking-summary strong {
    color: #f1f5f9 !important;
}
.booking-summary p {
    color: #94a3b8 !important;
}

/* Floating invoice */
.float-invoice {
    background: linear-gradient(145deg, #111827 0%, #0a0e1a 100%) !important;
    border: 1px solid rgba(217, 119, 6, 0.25) !important;
    box-shadow:
        0 20px 60px rgba(0, 0, 0, 0.8),
        inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
}

/* Правая колонка контактов (contact.php) */
.relative.z-1 h2 {
    font-size: 26px !important;
    font-weight: 700 !important;
    color: #f1f5f9 !important;
    margin-bottom: 8px !important;
    letter-spacing: -0.01em;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    gap: 10px;
}
.relative.z-1 h2 .text-citrusyellow,
.relative.z-1 h2 span[class*="citrusyellow"] {
    color: #f59e0b !important;
    font-weight: 800;
}
.relative.z-1 h2::after {
    content: '';
    display: block;
    width: 50px;
    height: 3px;
    background: linear-gradient(90deg, #f59e0b, transparent);
    border-radius: 2px;
    margin-top: 12px;
    box-shadow: 0 0 12px rgba(217, 119, 6, 0.5);
}
.relative.z-1 h2 + .text-base,
.relative.z-1 .text-base {
    font-size: 14px !important;
    line-height: 1.6 !important;
    color: #94a3b8 !important;
    max-width: 420px;
    margin-bottom: 28px;
}
.relative.z-1 ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.relative.z-1 ul > li {
    margin-bottom: 18px !important;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(217, 119, 6, 0.1);
    transition: all 0.3s ease;
}
.relative.z-1 ul > li:last-child {
    border-bottom: none;
}
.relative.z-1 ul > li:hover {
    transform: translateX(4px);
}
.relative.z-1 ul > li > div > div:first-child {
    width: 64px !important;
    height: 64px !important;
    min-width: 64px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow:
        0 8px 25px rgba(0, 0, 0, 0.4),
        inset 0 1px 0 rgba(255, 255, 255, 0.1) !important;
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    position: relative;
}
.relative.z-1 ul > li:hover > div > div:first-child {
    transform: scale(1.08) rotate(-5deg);
    box-shadow:
        0 12px 35px rgba(0, 0, 0, 0.5),
        inset 0 1px 0 rgba(255, 255, 255, 0.15) !important;
}
.relative.z-1 ul > li > div > div:first-child > div {
    width: 44px !important;
    height: 44px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #fff !important;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.06);
}
.relative.z-1 ul > li > div > div:first-child > div > i {
    font-size: 22px !important;
    line-height: 1 !important;
}
.relative.z-1 ul > li > div > div:last-child > span:first-child,
.relative.z-1 ul > li span.text-lg {
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #94a3b8 !important;
    text-transform: uppercase;
    letter-spacing: 1px;
    display: block;
    margin-bottom: 4px;
}
.relative.z-1 ul > li h6,
.relative.z-1 ul > li h6 a,
.relative.z-1 ul > li .md\:text-28 {
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #f1f5f9 !important;
    letter-spacing: 0.2px;
    line-height: 1.3;
    transition: color 0.3s ease;
    text-decoration: none;
    word-break: break-word;
}
.relative.z-1 ul > li h6 a:hover,
.relative.z-1 ul > li:hover h6 a {
    color: #f59e0b !important;
}
.relative.z-1 ul > li > div {
    gap: 16px !important;
    align-items: center;
}
.relative.z-1 ul > li > div > div:last-child {
    padding-left: 4px !important;
}
.relative.z-1 ul > li > div > div:first-child.bg-\[\#25D366\] {
    background: linear-gradient(135deg, #25D366 0%, #128C7E 100%) !important;
    box-shadow:
        0 8px 25px rgba(37, 211, 102, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
}
.relative.z-1 ul > li > div > div:first-child.bg-\[\#0088cc\] {
    background: linear-gradient(135deg, #0088cc 0%, #006699 100%) !important;
    box-shadow:
        0 8px 25px rgba(0, 136, 204, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
}
.relative.z-1 ul > li > div > div:first-child.bg-\[\#CE8594\] {
    background: linear-gradient(135deg, #CE8594 0%, #a86474 100%) !important;
    box-shadow:
        0 8px 25px rgba(206, 133, 148, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
}
.relative.z-1 ul > li > div > div:first-child.bg-\[\#047881\] {
    background: linear-gradient(135deg, #047881 0%, #0a5961 100%) !important;
    box-shadow:
        0 8px 25px rgba(4, 120, 129, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
}

@media (max-width: 768px) {
    .relative.z-1 h2 {
        font-size: 22px !important;
        justify-content: center;
    }
    .relative.z-1 h2::after {
        margin-left: auto;
        margin-right: auto;
    }
    .relative.z-1 h2 + .text-base,
    .relative.z-1 .text-base {
        font-size: 13px !important;
        text-align: center;
        margin-left: auto;
        margin-right: auto;
    }
    .relative.z-1 ul > li > div {
        flex-direction: column !important;
        text-align: center;
        align-items: center !important;
    }
    .relative.z-1 ul > li > div > div:first-child {
        width: 58px !important;
        height: 58px !important;
        min-width: 58px !important;
        margin-bottom: 10px;
    }
    .relative.z-1 ul > li > div > div:first-child > div {
        width: 40px !important;
        height: 40px !important;
    }
    .relative.z-1 ul > li > div > div:first-child > div > i {
        font-size: 20px !important;
    }
    .relative.z-1 ul > li h6,
    .relative.z-1 ul > li h6 a,
    .relative.z-1 ul > li .md\:text-28 {
        font-size: 15px !important;
    }
}

/* =========================================================
   РАЗДЕЛ 19. FOOTER
   ========================================================= */

footer,
footer.bg-eggshell {
    position: relative !important;
    background: linear-gradient(180deg, #111827 0%, #0f172a 50%, #0a0e1a 100%) !important;
    background-image: linear-gradient(180deg, #111827 0%, #0f172a 50%, #0a0e1a 100%) !important;
    color: #94a3b8 !important;
    border-top: none !important;
    overflow: hidden;
    isolation: isolate;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
footer > .container {
    position: relative;
    z-index: 2;
}
footer::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg,
        transparent 0%,
        var(--accent-orange) 20%,
        var(--accent-orange-hover) 50%,
        var(--accent-orange) 80%,
        transparent 100%);
    z-index: 10;
    box-shadow: 0 0 30px rgba(217, 119, 6, 0.5);
}
footer::after {
    content: '';
    position: absolute;
    bottom: -200px;
    left: 50%;
    transform: translateX(-50%);
    width: 800px;
    height: 400px;
    background: radial-gradient(ellipse, rgba(217, 119, 6, 0.15), transparent 70%);
    pointer-events: none;
    z-index: 0;
    filter: blur(60px);
}

.footer-logo img,
footer .widget_about img {
    max-width: 200px !important;
    margin-bottom: 24px;
    filter: brightness(1.1) drop-shadow(0 4px 15px rgba(217, 119, 6, 0.2));
    transition: all 0.3s ease;
}
.footer-logo img:hover,
footer .widget_about img:hover {
    filter: brightness(1.2) drop-shadow(0 6px 20px rgba(217, 119, 6, 0.4));
}

.footer-tagline,
footer .widget_about > p {
    font-size: 15px !important;
    color: #cbd5e1 !important;
    margin-bottom: 24px !important;
    line-height: 1.6;
    max-width: 280px;
}

/* Соцсети */
.footer-socials,
footer ul.mt-5 {
    display: flex;
    gap: 14px !important;
    list-style: none;
    padding: 0;
    margin: 0;
    flex-wrap: wrap;
}
.footer-socials li,
footer ul.mt-5 li {
    list-style: none;
    display: inline-flex;
    background: transparent !important;
    width: auto !important;
    height: auto !important;
}
.footer-socials li a,
footer ul.mt-5 li a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 56px !important;
    height: 56px !important;
    background: linear-gradient(135deg, #1a2235 0%, #252f45 100%) !important;
    border: 1.5px solid rgba(217, 119, 6, 0.4) !important;
    border-radius: 50% !important;
    color: #f1f5f9 !important;
    font-size: 24px !important;
    transition: all 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    text-decoration: none;
    position: relative;
    overflow: hidden;
    box-shadow:
        0 6px 20px rgba(0, 0, 0, 0.4),
        inset 0 1px 0 rgba(255, 255, 255, 0.06);
}
.footer-socials li a:hover,
footer ul.mt-5 li a:hover {
    transform: translateY(-6px) scale(1.1);
    border-color: #f59e0b !important;
    color: #fff !important;
    background: linear-gradient(135deg, #d97706, #b45309) !important;
    box-shadow:
        0 15px 35px rgba(217, 119, 6, 0.6),
        0 0 30px rgba(217, 119, 6, 0.4),
        inset 0 1px 0 rgba(255, 255, 255, 0.3);
}
.footer-socials li a::before,
footer ul.mt-5 li a::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
    transition: left 0.6s ease;
    pointer-events: none;
}
.footer-socials li a:hover::before,
footer ul.mt-5 li a:hover::before {
    left: 100%;
}

/* Заголовки колонок */
footer h3,
footer h4,
footer .widget_about h3 {
    color: #f1f5f9 !important;
    font-weight: 700 !important;
    font-size: 18px;
    margin-bottom: 20px;
    letter-spacing: 0.3px;
    position: relative;
    padding-bottom: 12px;
}
footer h3::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 40px;
    height: 2px;
    background: linear-gradient(90deg, var(--accent-orange), transparent);
    border-radius: 2px;
}

/* Ссылки в футере */
footer ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
footer ul li a {
    color: #94a3b8 !important;
    font-size: 15px;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.3s ease;
    position: relative;
    padding-left: 0;
    display: inline-block;
}
footer ul li a::before {
    content: '→';
    position: absolute;
    left: -18px;
    opacity: 0;
    color: var(--accent-orange-hover);
    transition: all 0.3s ease;
    font-weight: 700;
}
footer ul li a:hover {
    color: var(--accent-orange-hover) !important;
    padding-left: 18px;
}
footer ul li a:hover::before {
    opacity: 1;
    left: 0;
}

/* Контакты в футере */
footer .widget_address {
    list-style: none;
    padding: 0;
    margin: 0;
}
footer .widget_address li {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 12px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    transition: all 0.3s ease;
    list-style: none;
}
footer .widget_address li:last-child {
    border-bottom: none;
}
footer .widget_address li:hover {
    transform: translateX(4px);
}
footer .widget_address li > div:first-child {
    width: 44px;
    height: 44px;
    min-width: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(217, 119, 6, 0.18), rgba(217, 119, 6, 0.05)) !important;
    border: 1px solid rgba(217, 119, 6, 0.3);
    color: var(--accent-orange-hover) !important;
    transition: all 0.3s ease;
    font-size: 20px;
    flex-shrink: 0;
}
footer .widget_address li:hover > div:first-child {
    background: linear-gradient(135deg, var(--accent-orange), var(--accent-orange-deep)) !important;
    color: #fff !important;
    border-color: var(--accent-orange) !important;
    box-shadow: 0 8px 20px rgba(217, 119, 6, 0.5);
}
footer .widget_address li > div:last-child,
footer .widget_address li > a,
footer .widget_address li > span {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding-top: 4px;
}
footer .widget_address li a,
footer .widget_address li span {
    color: #f1f5f9 !important;
    font-weight: 600 !important;
    font-size: 15px;
    text-decoration: none;
    transition: color 0.3s ease;
}
footer .widget_address li a:hover {
    color: var(--accent-orange-hover) !important;
}

/* Копирайт */
footer .py-3\.75 {
    border-top: 1px solid rgba(217, 119, 6, 0.15) !important;
    padding: 28px 0 !important;
    margin-top: 30px !important;
    position: relative;
}
footer .text-center.text-sm {
    display: flex !important;
    justify-content: center;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    font-size: 14px !important;
    letter-spacing: 0.5px;
    text-align: center;
    line-height: 1.8;
    color: #cbd5e1 !important;
    font-weight: 500 !important;
}
footer .text-citrusyellow,
footer span.text-citrusyellow {
    color: #f59e0b !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    letter-spacing: 1.2px;
    text-transform: uppercase;
}
.footer-legal-name {
    color: #f59e0b !important;
    font-weight: 700 !important;
    letter-spacing: 0.3px;
    text-shadow:
        0 0 15px rgba(217, 119, 6, 0.35),
        0 1px 3px rgba(0, 0, 0, 0.4);
    transition: text-shadow 0.3s ease;
    padding: 0 2px;
    display: inline;
}
.footer-legal-name:hover {
    text-shadow:
        0 0 25px rgba(217, 119, 6, 0.6),
        0 0 40px rgba(217, 119, 6, 0.3),
        0 1px 3px rgba(0, 0, 0, 0.5);
}

@media (max-width: 768px) {
    footer h3 {
        font-size: 16px !important;
        margin-bottom: 15px !important;
    }
    .footer-socials li a,
    footer ul.mt-5 li a {
        width: 50px !important;
        height: 50px !important;
        font-size: 22px !important;
    }
    footer .widget_address li > div:first-child {
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
    }
    footer .text-center.text-sm {
        gap: 6px;
        font-size: 12.5px !important;
        padding: 0 16px;
    }
    .footer-legal-name {
        display: block;
        margin-top: 4px;
        font-size: 12.5px;
    }
}
@media (max-width: 480px) {
    .footer-socials li a,
    footer ul.mt-5 li a {
        width: 46px !important;
        height: 46px !important;
        font-size: 20px !important;
    }
    footer .text-center.text-sm {
        flex-direction: column;
        gap: 4px;
    }
}

/* =========================================================
   РАЗДЕЛ 20. STAY UPDATED (старый блок подписки в footer.php)
   ========================================================= */

.trv-subscribe-nl-st2 {
    padding: 40px 20px 20px !important;
    margin-top: 20px;
}
.trv-subscribe-nl-st2 .container-subscribe {
    max-width: 1200px;
    margin: 0 auto;
    padding: 36px 48px !important;
    background: linear-gradient(135deg, #1a2235 0%, #252f45 100%) !important;
    border-radius: 24px !important;
    border: none !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    position: relative;
    overflow: hidden;
}
.trv-subscribe-nl-st2 .container-subscribe::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, transparent, var(--accent-orange), var(--accent-blue), transparent);
}
.subscribe-heading {
    font-family: 'Figtree', sans-serif;
    font-size: 2.25rem;
    font-weight: 800;
    color: #ffffff;
    margin: 0 0 8px 0;
    line-height: 1.15;
    letter-spacing: -0.02em;
    display: flex;
    align-items: center;
    gap: 14px;
}
.subscribe-heading::before {
    content: '✉';
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    background: linear-gradient(135deg, var(--accent-orange), var(--accent-orange-deep));
    border-radius: 50%;
    color: #fff;
    font-size: 22px;
    flex-shrink: 0;
    box-shadow: 0 8px 20px rgba(217, 119, 6, 0.45);
}
.subscribe-desc {
    font-family: 'Figtree', sans-serif;
    font-size: 15px;
    line-height: 1.6;
    color: #94a3b8;
    margin: 0;
    max-width: 460px;
}
#subscribeEmail {
    width: 100%;
    height: 58px;
    padding: 0 70px 0 24px;
    font-family: 'Figtree', sans-serif;
    font-size: 15px;
    font-weight: 500;
    color: #f1f5f9;
    background: #1a2235;
    border: 1.5px solid rgba(217, 119, 6, 0.25);
    border-radius: 100px;
    outline: none;
    transition: all 0.3s ease;
}
#subscribeEmail::placeholder {
    color: #64748b;
}
#subscribeEmail:focus {
    border-color: var(--accent-orange);
    box-shadow: 0 0 0 4px rgba(217, 119, 6, 0.18);
    background: #1e293b;
}
#subscribeBtn {
    position: absolute;
    top: 50%;
    right: 6px;
    transform: translateY(-50%);
    width: 46px;
    height: 46px;
    padding: 0;
    background: linear-gradient(135deg, var(--accent-orange), var(--accent-orange-deep));
    color: #ffffff;
    border: none;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    box-shadow: 0 6px 20px rgba(217, 119, 6, 0.5);
    font-size: 16px;
}
#subscribeBtn:hover {
    background: linear-gradient(135deg, var(--accent-orange-hover), var(--accent-orange));
    transform: translateY(-50%) scale(1.08);
    box-shadow: 0 10px 30px rgba(217, 119, 6, 0.65);
}
#subscribeBtn i {
    font-size: 15px;
    color: #fff;
}

@media (max-width: 768px) {
    .trv-subscribe-nl-st2 .container-subscribe {
        flex-direction: column;
        align-items: flex-start;
        gap: 24px;
        padding: 28px 24px !important;
    }
    .subscribe-heading {
        font-size: 1.75rem;
    }
}
@media (max-width: 640px) {
    .trv-subscribe-nl-st2 .container-subscribe {
        padding: 22px 18px !important;
        border-radius: 20px !important;
    }
    .subscribe-heading {
        font-size: 1.5rem;
        gap: 10px;
    }
    .subscribe-desc {
        font-size: 14px;
    }
    #subscribeEmail {
        height: 52px;
        padding: 0 60px 0 18px;
        font-size: 14px;
    }
    #subscribeBtn {
        width: 40px;
        height: 40px;
        right: 6px;
    }
}

/* =========================================================
   РАЗДЕЛ 21. HERO SECTION (index.php)
   ========================================================= */

.hero-section {
    position: relative;
    background: #0a0e1a;
    overflow: hidden;
    min-height: 780px;
    isolation: isolate;
    border-bottom: 1px solid rgba(217, 119, 6, 0.15);
}
.hero-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 80% 60% at 20% 0%, rgba(217, 119, 6, 0.18), transparent 60%),
        radial-gradient(ellipse 70% 50% at 90% 30%, rgba(59, 130, 246, 0.15), transparent 60%),
        radial-gradient(ellipse 100% 80% at 50% 100%, rgba(10, 14, 26, 0.9), transparent 50%),
        linear-gradient(180deg, #06080f 0%, #0a0e1a 50%, #111827 100%);
    z-index: -2;
}
.hero-section::after {
    content: '';
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(217, 119, 6, 0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(217, 119, 6, 0.04) 1px, transparent 1px);
    background-size: 60px 60px;
    mask-image: radial-gradient(ellipse 100% 70% at 50% 50%, #000 20%, transparent 80%);
    -webkit-mask-image: radial-gradient(ellipse 100% 70% at 50% 50%, #000 20%, transparent 80%);
    z-index: -1;
    pointer-events: none;
}
.hero-glow {
    position: absolute;
    border-radius: 50%;
    filter: blur(120px);
    pointer-events: none;
    z-index: 0;
    opacity: 0.5;
}
.hero-glow-1 {
    width: 500px;
    height: 500px;
    background: radial-gradient(circle, rgba(217, 119, 6, 0.55), transparent 70%);
    top: -100px;
    left: -100px;
    animation: floatGlow 15s ease-in-out infinite;
}
.hero-glow-2 {
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(59, 130, 246, 0.45), transparent 70%);
    bottom: -150px;
    right: -150px;
    animation: floatGlow 20s ease-in-out infinite reverse;
}
@keyframes floatGlow {
    0%, 100% { transform: translate(0, 0) scale(1); }
    50% { transform: translate(30px, -30px) scale(1.1); }
}
.hero-lines {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    overflow: hidden;
}
.hero-line {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(217, 119, 6, 0.5), transparent);
    animation: lineFloat 8s linear infinite;
}
.hero-line-1 { top: 20%; left: 0; width: 40%; animation-delay: 0s; }
.hero-line-2 { top: 55%; right: 0; width: 35%; animation-delay: 2s; }
.hero-line-3 { bottom: 25%; left: 10%; width: 30%; animation-delay: 4s; }
@keyframes lineFloat {
    0% { transform: translateX(-100%); opacity: 0; }
    50% { opacity: 1; }
    100% { transform: translateX(100%); opacity: 0; }
}
.hero-content {
    position: relative;
    z-index: 10;
    max-width: 1400px;
    margin: 0 auto;
    padding: 180px 40px 120px;
}
.hero-inner {
    display: grid;
    grid-template-columns: 1fr;
    gap: 60px;
    align-items: center;
}
@media (min-width: 1024px) {
    .hero-inner {
        grid-template-columns: 1.2fr 1fr;
        gap: 80px;
    }
}
.hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 20px;
    border-radius: 50px;
    background: rgba(217, 119, 6, 0.12);
    border: 1px solid rgba(217, 119, 6, 0.35);
    color: var(--accent-orange-hover);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    margin-bottom: 30px;
    backdrop-filter: blur(10px);
    font-family: 'Figtree', sans-serif;
}
.hero-badge-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--accent-orange-hover);
    box-shadow: 0 0 12px var(--accent-orange-hover);
    animation: pulseDot 2s ease-in-out infinite;
}
@keyframes pulseDot {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.6; transform: scale(1.3); }
}
.hero-title {
    font-family: 'Figtree', sans-serif;
    font-size: clamp(2.5rem, 6vw, 5rem);
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -0.02em;
    color: #f1f5f9;
    margin: 0 0 28px 0;
}
.hero-title-accent {
    background: linear-gradient(135deg, var(--accent-orange-hover) 0%, var(--accent-orange) 40%, var(--accent-blue) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    display: inline-block;
}
.hero-subtitle {
    font-family: 'Figtree', sans-serif;
    font-size: 1.15rem;
    line-height: 1.75;
    color: #e2e8f0;
    max-width: 580px;
    margin: 0 0 40px 0;
    font-weight: 400;
    letter-spacing: 0.01em;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
}
@media (max-width: 640px) {
    .hero-subtitle {
        color: #cbd5e1;
        font-size: 1rem;
    }
}
.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 50px;
}
.hero-btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 18px 36px;
    background: linear-gradient(135deg, var(--accent-orange) 0%, var(--accent-orange-deep) 100%);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 50px;
    font-family: 'Figtree', sans-serif;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.3px;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    box-shadow:
        0 10px 30px rgba(217, 119, 6, 0.4),
        inset 0 1px 0 rgba(255, 255, 255, 0.2);
    position: relative;
    overflow: hidden;
}
.hero-btn-primary::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, var(--accent-orange-hover) 0%, var(--accent-orange) 100%);
    opacity: 0;
    transition: opacity 0.35s ease;
    z-index: 0;
}
.hero-btn-primary:hover::before {
    opacity: 1;
}
.hero-btn-primary:hover {
    transform: translateY(-3px);
    box-shadow:
        0 16px 45px rgba(217, 119, 6, 0.6),
        inset 0 1px 0 rgba(255, 255, 255, 0.3);
    color: #fff;
}
.hero-btn-primary > * {
    position: relative;
    z-index: 1;
}
.hero-btn-secondary {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 18px 36px;
    background: rgba(255, 255, 255, 0.03);
    color: #f1f5f9;
    border: 1.5px solid rgba(255, 255, 255, 0.18);
    border-radius: 50px;
    font-family: 'Figtree', sans-serif;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.3px;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    backdrop-filter: blur(10px);
}
.hero-btn-secondary:hover {
    background: rgba(217, 119, 6, 0.15);
    border-color: var(--accent-orange);
    color: var(--accent-orange-hover);
    transform: translateY(-3px);
}
.hero-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    padding-top: 30px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.hero-stat {
    display: flex;
    flex-direction: column;
}
.hero-stat-value {
    font-family: 'Figtree', sans-serif;
    font-size: 2rem;
    font-weight: 800;
    color: #f1f5f9;
    line-height: 1;
    margin-bottom: 6px;
    background: linear-gradient(135deg, #f1f5f9, #94a3b8);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.hero-stat-value span {
    color: var(--accent-orange-hover);
    -webkit-text-fill-color: var(--accent-orange-hover);
}
.hero-stat-label {
    font-family: 'Figtree', sans-serif;
    font-size: 13px;
    font-weight: 500;
    color: #94a3b8;
    letter-spacing: 0.5px;
}
.hero-search-card {
    background: linear-gradient(145deg, #111827 0%, #1a2235 100%);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 24px;
    padding: 32px;
    box-shadow:
        0 25px 70px rgba(0, 0, 0, 0.6),
        0 0 0 1px rgba(217, 119, 6, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(20px);
    position: relative;
    overflow: visible;
    z-index: 50;
}
.hero-search-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, transparent, var(--accent-orange), var(--accent-blue), transparent);
    opacity: 0.8;
    border-radius: 24px 24px 0 0;
}
.hero-search-title {
    font-family: 'Figtree', sans-serif;
    font-size: 20px;
    font-weight: 700;
    color: #f1f5f9;
    margin: 0 0 6px 0;
    display: flex;
    align-items: center;
    gap: 10px;
}
.hero-search-title i {
    color: var(--accent-orange-hover);
    font-size: 18px;
}
.hero-search-desc {
    font-family: 'Figtree', sans-serif;
    font-size: 13px;
    color: #94a3b8;
    margin: 0 0 24px 0;
}

/* Hero dropdown search */
.hero-search-card .trv-search-form,
.hero-search-card .trv-search-inner,
.hero-search-card .trv-search-field {
    overflow: visible !important;
}
.hero-search-card .trv-search-field {
    position: relative;
    z-index: 100;
}
.hero-search-card .trv-search-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 14px 18px;
    background-color: #1a2235 !important;
    border: 1px solid #252f45 !important;
    border-radius: 12px;
    color: #f1f5f9 !important;
    font-family: 'Figtree', sans-serif;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
}
.hero-search-card .trv-search-trigger:hover {
    border-color: var(--accent-orange) !important;
    background-color: #1e293b !important;
}
.hero-search-card .trv-search-field.open .trv-search-trigger {
    border-color: var(--accent-orange) !important;
    box-shadow: 0 0 0 3px rgba(217, 119, 6, 0.18);
}
.hero-search-card .trv-search-value {
    color: #f1f5f9 !important;
    flex: 1;
    text-align: left;
}
.hero-search-card .trv-search-arrow {
    color: #94a3b8;
    transition: transform 0.3s ease, color 0.3s ease;
}
.hero-search-card .trv-search-field.open .trv-search-arrow {
    transform: rotate(180deg);
    color: var(--accent-orange-hover);
}
.hero-search-card .trv-search-dropdown {
    position: absolute !important;
    top: calc(100% + 8px) !important;
    left: 0 !important;
    right: 0 !important;
    min-width: 100% !important;
    background-color: #111827 !important;
    border: 1px solid #252f45 !important;
    border-radius: 14px !important;
    box-shadow:
        0 20px 60px rgba(0, 0, 0, 0.8),
        0 0 0 1px rgba(217, 119, 6, 0.1) !important;
    z-index: 99999 !important;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s;
    pointer-events: none;
    overflow: hidden;
}
.hero-search-card .trv-search-field.open .trv-search-dropdown {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
    pointer-events: auto !important;
}
.hero-search-card .trv-search-dropdown-list {
    max-height: 280px;
    overflow-y: auto;
    padding: 6px;
    scrollbar-width: thin;
    scrollbar-color: var(--accent-orange) #1a2235;
}
.hero-search-card .trv-search-option {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 11px 14px;
    border-radius: 10px;
    color: #cbd5e1 !important;
    background-color: transparent !important;
    font-family: 'Figtree', sans-serif;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
    user-select: none;
}
.hero-search-card .trv-search-option:hover {
    background-color: #1a2235 !important;
    color: var(--accent-orange-hover) !important;
    transform: translateX(3px);
}
.hero-search-card .trv-search-option.selected {
    background: linear-gradient(135deg, rgba(217, 119, 6, 0.18), rgba(217, 119, 6, 0.06)) !important;
    color: var(--accent-orange-hover) !important;
    font-weight: 700;
}
.hero-search-card .trv-search-option-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    background-color: #1a2235;
    border-radius: 8px;
    flex-shrink: 0;
    transition: all 0.2s ease;
}
.hero-search-card .trv-search-option-icon i {
    font-size: 12px;
    color: #94a3b8;
    transition: color 0.2s ease;
}
.hero-search-card .trv-search-option:hover .trv-search-option-icon,
.hero-search-card .trv-search-option.selected .trv-search-option-icon {
    background-color: var(--accent-orange);
}
.hero-search-card .trv-search-option:hover .trv-search-option-icon i,
.hero-search-card .trv-search-option.selected .trv-search-option-icon i {
    color: #fff;
}
.hero-search-card .trv-search-option-text {
    flex: 1;
    color: inherit !important;
}
.hero-search-card .trv-search-option-check {
    font-size: 12px;
    color: var(--accent-orange-hover);
    opacity: 0;
    transform: scale(0.5);
    transition: all 0.2s ease;
}
.hero-search-card .trv-search-option.selected .trv-search-option-check {
    opacity: 1;
    transform: scale(1);
}
.hero-search-card .trv-search-dropdown-header,
.hero-search-card .trv-search-label {
    display: none !important;
}

@media (max-width: 1023px) {
    .hero-content {
        padding: 130px 24px 80px;
    }
    .hero-inner {
        gap: 50px;
    }
    .hero-stats {
        gap: 24px;
    }
    .hero-stat-value {
        font-size: 1.5rem;
    }
}
@media (max-width: 640px) {
    .hero-section {
        min-height: auto;
    }
    .hero-content {
        padding: 110px 20px 60px;
    }
    .hero-badge {
        font-size: 11px;
        padding: 6px 14px;
    }
    .hero-title {
        font-size: 2.25rem;
    }
    .hero-subtitle {
        font-size: 1rem;
    }
    .hero-actions {
        flex-direction: column;
        gap: 12px;
    }
    .hero-btn-primary,
    .hero-btn-secondary {
        width: 100%;
        justify-content: center;
        padding: 16px 24px;
    }
    .hero-search-card {
        padding: 24px 20px;
    }
    .hero-stats {
        gap: 20px;
    }
    .hero-stat-value {
        font-size: 1.35rem;
    }
    .hero-glow {
        filter: blur(80px);
        opacity: 0.35;
    }
    .hero-line {
        display: none;
    }
}

/* =========================================================
   РАЗДЕЛ 22. TOP DESTINATIONS (index.php)
   ========================================================= */

.bg-primary,
[class*="bg-primary"] {
    background-color: #111827 !important;
    background-image: none !important;
}
.bg-primary h1, .bg-primary h2, .bg-primary h3,
.bg-primary h4, .bg-primary h5, .bg-primary h6 {
    color: #f1f5f9 !important;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.5);
}
.bg-primary p,
.bg-primary li,
.bg-primary span:not(.text-citrusyellow):not([class*="citrusyellow"]),
.bg-primary div[class*="text-base"] {
    color: #94a3b8 !important;
    line-height: 1.7;
}
.bg-primary [class*="text-30xl"],
.bg-primary [class*="text-8xl"],
.bg-primary [class*="uppercase"][class*="font-black"] {
    color: #f1f5f9 !important;
}
.bg-primary .text-citrusyellow,
.bg-primary [class*="text-citrusyellow"],
.bg-primary span.text-citrusyellow {
    color: var(--accent-orange-hover) !important;
    text-shadow: 0 2px 20px rgba(217, 119, 6, 0.5);
}
.bg-primary .site-button,
.bg-primary .butn-bg-shape {
    background: linear-gradient(135deg, var(--accent-orange) 0%, var(--accent-orange-deep) 100%) !important;
    color: #fff !important;
    box-shadow: 0 8px 25px rgba(217, 119, 6, 0.4) !important;
}
.bg-primary .site-button:hover,
.bg-primary .butn-bg-shape:hover {
    background: linear-gradient(135deg, var(--accent-orange-hover) 0%, var(--accent-orange) 100%) !important;
    box-shadow: 0 12px 35px rgba(217, 119, 6, 0.6) !important;
    transform: translateY(-3px);
}

.trv-mf-tour-swiper .swiper-slide .bg-primary {
    background-color: #111827 !important;
    border: 1px solid rgba(217, 119, 6, 0.25) !important;
    transition: all 0.4s ease;
}
.trv-mf-tour-swiper .swiper-slide .bg-primary:hover {
    background-color: #1a2235 !important;
    border-color: rgba(217, 119, 6, 0.55) !important;
    box-shadow: 0 20px 50px rgba(217, 119, 6, 0.2);
}
.trv-mf-tour-swiper .swiper-slide h3 a {
    color: #f1f5f9 !important;
    transition: color 0.3s ease;
}
.trv-mf-tour-swiper .swiper-slide h3 a:hover {
    color: var(--accent-orange-hover) !important;
}
.trv-mf-tour-swiper .swiper-slide h3 span {
    color: #94a3b8 !important;
}
.trv-mf-tour-swiper .swiper-button-next,
.trv-mf-tour-swiper .swiper-button-prev {
    background-color: var(--accent-orange) !important;
    color: #fff !important;
}
.trv-mf-tour-swiper .swiper-button-next:hover,
.trv-mf-tour-swiper .swiper-button-prev:hover {
    background-color: #fff !important;
    color: var(--accent-orange) !important;
}

/* =========================================================
   РАЗДЕЛ 23. WE RECOMMEND (index.php)
   ========================================================= */

.xl\:pt-30.pt-12\.5.bg-white,
div.bg-white.xl\:pt-30 {
    background-color: #0a0e1a !important;
    background-image: none !important;
}
.trv-we-recommend2-row h2,
.trv-we-recommend2-row h2 *,
.xl\:pt-30 h2 {
    color: #ffffff !important;
}
.trv-we-recommend2-row h2 .text-citrusyellow,
.xl\:pt-30 h2 .text-citrusyellow,
h2 span.text-citrusyellow {
    color: var(--accent-orange-hover) !important;
    text-shadow: 0 2px 15px rgba(217, 119, 6, 0.4);
}
.trv-we-recommend2-row .text-base,
.trv-we-recommend2-row .lg\:mb-12\.5,
.trv-we-recommend2-row p,
.xl\:pt-30 .text-base {
    color: #cbd5e1 !important;
}
.trv-we-recommend2-row .bg-white,
.trv-we-recommend2-row .flex.items-center.max-w-104 {
    background: linear-gradient(145deg, var(--dark-bg-2) 0%, var(--dark-bg-3) 100%) !important;
    border: 1px solid rgba(217, 119, 6, 0.25) !important;
    box-shadow:
        0 8px 30px rgba(0, 0, 0, 0.5),
        inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
    transition: all 0.4s ease;
}
.trv-we-recommend2-row .bg-white:hover,
.trv-we-recommend2-row .flex.items-center.max-w-104:hover {
    border-color: rgba(217, 119, 6, 0.55) !important;
    box-shadow:
        0 15px 45px rgba(217, 119, 6, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
    transform: translateY(-3px);
}
.trv-we-recommend2-row .bg-white h4,
.trv-we-recommend2-row .flex.items-center.max-w-104 h4 {
    color: #ffffff !important;
}
.trv-we-recommend2-row .bg-white p,
.trv-we-recommend2-row .flex.items-center.max-w-104 p {
    color: #94a3b8 !important;
    line-height: 1.6;
}
.trv-we-recommend2-row .font-black.sm\:text-63,
.trv-we-recommend2-row h2.font-black {
    color: var(--accent-orange-hover) !important;
    text-shadow:
        0 4px 20px rgba(217, 119, 6, 0.5),
        0 0 40px rgba(217, 119, 6, 0.2) !important;
}
.trv-we-recommend2-row .text-28.font-black,
.trv-we-recommend2-row .sm\:text-28 {
    color: #ffffff !important;
}
.trv-we-recommend2-row .site-button,
.trv-we-recommend2-row .butn-bg-shape {
    background: linear-gradient(135deg, var(--accent-orange) 0%, var(--accent-orange-deep) 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 8px 25px rgba(217, 119, 6, 0.4) !important;
}
.trv-we-recommend2-row .site-button:hover,
.trv-we-recommend2-row .butn-bg-shape:hover {
    background: linear-gradient(135deg, var(--accent-orange-hover) 0%, var(--accent-orange) 100%) !important;
    box-shadow: 0 12px 35px rgba(217, 119, 6, 0.6) !important;
    transform: translateY(-3px);
    color: #ffffff !important;
}
.trv-we-recommend2-row .rounded-full,
.trv-we-recommend2-row img.rounded-full {
    border-color: var(--dark-bg-2) !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.7) !important;
}
.trv-we-recommend2-row img.rounded-s-3xl,
.trv-we-recommend2-row img.rounded-e-25xl {
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.6);
    filter: brightness(0.95) contrast(1.05);
}

/* =========================================================
   РАЗДЕЛ 24. EXPLORE GALLERY (index.php)
   ========================================================= */

.gallery-section {
    position: relative !important;
    background: #06080f !important;
    background-image: none !important;
    overflow: hidden;
    isolation: isolate;
    padding-top: 140px;
    padding-bottom: 140px;
}
.gallery-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 80% 60% at 15% 15%, rgba(217, 119, 6, 0.18), transparent 55%),
        radial-gradient(ellipse 70% 55% at 85% 85%, rgba(59, 130, 246, 0.14), transparent 55%),
        radial-gradient(ellipse 100% 80% at 50% 50%, rgba(217, 119, 6, 0.04), transparent 70%),
        linear-gradient(180deg, #06080f 0%, #0a0e1a 50%, #111827 100%);
    z-index: -2;
}
.gallery-section::after {
    content: '';
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(217, 119, 6, 0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(217, 119, 6, 0.04) 1px, transparent 1px);
    background-size: 60px 60px;
    mask-image: radial-gradient(ellipse 90% 70% at 50% 50%, #000 25%, transparent 85%);
    -webkit-mask-image: radial-gradient(ellipse 90% 70% at 50% 50%, #000 25%, transparent 85%);
    z-index: -1;
    pointer-events: none;
}
.gallery-section .gallery-glow-1 {
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(217, 119, 6, 0.5), transparent 70%);
    filter: blur(120px);
    opacity: 0.6;
}
.gallery-section .gallery-glow-2 {
    width: 700px;
    height: 700px;
    background: radial-gradient(circle, rgba(59, 130, 246, 0.4), transparent 70%);
    filter: blur(140px);
    opacity: 0.5;
}
.gallery-title {
    background: linear-gradient(135deg, #f59e0b 0%, #d97706 40%, #b45309 70%, #f59e0b 100%);
    background-size: 200% 200%;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: goldShimmer 4s ease-in-out infinite;
    text-shadow: none !important;
    filter: drop-shadow(0 4px 30px rgba(217, 119, 6, 0.5));
    font-weight: 900;
    letter-spacing: -0.02em;
}
@keyframes goldShimmer {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}
.gallery-eyebrow {
    color: #94a3b8 !important;
    font-weight: 600;
    letter-spacing: 2px;
}
.gallery-section .site-button,
.gallery-section .butn-bg-shape {
    background: linear-gradient(135deg, #d97706 0%, #b45309 100%) !important;
    box-shadow:
        0 12px 35px rgba(217, 119, 6, 0.45),
        inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
    position: relative;
    overflow: hidden;
}
.gallery-section .site-button:hover,
.gallery-section .butn-bg-shape:hover {
    background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%) !important;
    box-shadow:
        0 18px 50px rgba(217, 119, 6, 0.65),
        inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
    transform: translateY(-4px);
}

.trv-tr-cat-swiper .trv-cat-sld .rounded-3xl {
    background: linear-gradient(145deg, #111827 0%, #1a2235 100%) !important;
    border: 1.5px solid rgba(217, 119, 6, 0.25);
    box-shadow:
        0 25px 60px rgba(0, 0, 0, 0.7),
        0 0 0 1px rgba(255, 255, 255, 0.04),
        inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
    padding: 14px !important;
    transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.trv-tr-cat-swiper .trv-cat-sld:hover .rounded-3xl {
    border-color: rgba(217, 119, 6, 0.6);
    box-shadow:
        0 35px 90px rgba(0, 0, 0, 0.8),
        0 0 0 2px rgba(217, 119, 6, 0.35),
        0 0 80px rgba(217, 119, 6, 0.3) !important;
    transform: translateY(-8px) scale(1.02);
}
.trv-tr-cat-swiper .swiper-slide-active .rounded-3xl {
    border-color: rgba(217, 119, 6, 0.7);
    box-shadow:
        0 35px 90px rgba(0, 0, 0, 0.8),
        0 0 0 2px rgba(217, 119, 6, 0.5),
        0 0 100px rgba(217, 119, 6, 0.35) !important;
}
.trv-tr-cat-swiper .trv-cat-sld img {
    border-radius: 12px !important;
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    filter: brightness(0.95) contrast(1.08) saturate(1.1);
}
.trv-tr-cat-swiper .trv-cat-sld:hover img {
    filter: brightness(1.08) contrast(1.12) saturate(1.15);
    transform: scale(1.05);
}
.trv-tr-cat-swiper .swiper-button-next,
.trv-tr-cat-swiper .swiper-button-prev {
    background: linear-gradient(135deg, #d97706, #b45309) !important;
    color: #ffffff !important;
    width: 56px !important;
    height: 56px !important;
    box-shadow:
        0 10px 30px rgba(217, 119, 6, 0.5),
        inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
    border: 1px solid rgba(255, 255, 255, 0.1);
    transition: all 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.trv-tr-cat-swiper .swiper-button-next:hover,
.trv-tr-cat-swiper .swiper-button-prev:hover {
    background: linear-gradient(135deg, #f59e0b, #d97706) !important;
    transform: scale(1.15);
    box-shadow:
        0 15px 40px rgba(217, 119, 6, 0.7),
        inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
}

@media (max-width: 768px) {
    .gallery-section {
        padding-top: 80px;
        padding-bottom: 80px;
    }
    .gallery-title {
        font-size: 2.5rem !important;
    }
    .gallery-eyebrow {
        font-size: 13px;
    }
    .gallery-section-heading {
        text-align: center;
        padding-right: 0;
    }
    .gallery-section .site-button,
    .gallery-section .butn-bg-shape {
        width: 100%;
        justify-content: center;
    }
}

/* =========================================================
   РАЗДЕЛ 25. ДЕТАЛИ ТУРА (tour.php)
   ========================================================= */

.trv-detail-main-wrap .bg-white,
.rounded-3xl.p-5.sm\:p-7\.5.bg-white {
    background-color: var(--dark-bg-2) !important;
    border: 1px solid rgba(217, 119, 6, 0.15);
}
.trv-detail-main-wrap h3 {
    color: var(--heading-color) !important;
}
.trv-detail-main-wrap ul li span.text-primary,
.trv-detail-main-wrap .text-xl.text-primary {
    color: var(--accent-orange-hover) !important;
}
.trv-detail-main-wrap ul li > span:last-child {
    color: #94a3b8 !important;
}
.trv-detail-main-wrap .text-28.font-black.text-citrusyellow {
    color: var(--accent-orange-hover) !important;
    text-shadow: 0 2px 20px rgba(217, 119, 6, 0.5);
}
.trv-detail-main-wrap .site-button {
    background: linear-gradient(135deg, var(--accent-orange) 0%, var(--accent-orange-deep) 100%) !important;
    color: #fff !important;
}
.trv-detail-main-wrap .bg-eggshell {
    background: linear-gradient(135deg, #1a2235 0%, #1e293b 100%) !important;
    border: 1px solid rgba(217, 119, 6, 0.2);
}
.trv-detail-main-wrap .bg-eggshell h4 {
    color: var(--accent-orange-hover) !important;
}
.trv-detail-main-wrap .bg-eggshell p,
.trv-detail-main-wrap .bg-eggshell li {
    color: #cbd5e1 !important;
}
.trv-detail-main-wrap .bg-eggshell ul li i.text-\[\#85D200\] {
    color: var(--success) !important;
}
.trv-detail-main-wrap .bg-eggshell ul li i.text-\[\#cacaca\] {
    color: #64748b !important;
}

.itinerary-day {
    background: linear-gradient(145deg, var(--dark-bg-2) 0%, var(--dark-bg-1) 100%) !important;
    border-color: rgba(217, 119, 6, 0.2) !important;
}
.itinerary-day:hover {
    border-color: rgba(217, 119, 6, 0.4) !important;
}
.itinerary-day.active {
    border-color: var(--accent-orange) !important;
    box-shadow: 0 8px 30px rgba(217, 119, 6, 0.2) !important;
}
.itinerary-day-header:hover {
    background-color: var(--dark-bg-3) !important;
}
.itinerary-day.active .itinerary-day-header {
    background: linear-gradient(135deg, rgba(217, 119, 6, 0.12), rgba(217, 119, 6, 0.03)) !important;
}
.itinerary-day-title {
    color: var(--heading-color) !important;
}
.itinerary-day-label {
    color: var(--accent-orange-hover) !important;
}
.itinerary-day-content {
    color: #94a3b8 !important;
    border-top-color: var(--border-color) !important;
}
.itinerary-day-num {
    background: linear-gradient(135deg, var(--accent-orange), var(--accent-orange-deep)) !important;
    box-shadow: 0 4px 12px rgba(217, 119, 6, 0.4) !important;
}
.itinerary-day-toggle {
    background: var(--dark-bg-3) !important;
    color: var(--accent-orange-hover) !important;
}
.itinerary-day.active .itinerary-day-toggle {
    background: var(--accent-orange) !important;
    color: #fff !important;
}

.similar-card .info > div:not(.price) {
    color: #64748b !important;
}
.similar-card .price {
    color: var(--accent-orange-hover) !important;
}

.trv_d-slider .swiper-pagination-bullet {
    background-color: var(--accent-orange) !important;
    border-color: var(--accent-orange) !important;
}
.trv_d-slider .swiper-pagination-bullet-active {
    background-color: var(--accent-orange-hover) !important;
    border-color: var(--accent-orange-hover) !important;
}

.journey-container {
    background-color: var(--dark-bg-2) !important;
    border-color: var(--border-color) !important;
}
.journey-header {
    background-color: var(--dark-bg-1) !important;
    border-bottom-color: var(--border-color) !important;
}
.journey-header h2 {
    color: var(--heading-color) !important;
}
.journey-header .subtitle {
    color: #64748b !important;
}
.route-panel {
    background-color: var(--dark-bg-1) !important;
    border-right-color: var(--border-color) !important;
}
.map-panel {
    background-color: #06080f !important;
}

/* =========================================================
   РАЗДЕЛ 26. СЕКЦИЯ "HAPPY TRAVELERS" (отзывы)
   ========================================================= */

div.bg-lightturquoise,
div[class*="lightturquoise"],
div[style*="Map.png"] {
    background: #0a0e1a !important;
    background-image: none !important;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    padding-top: 120px;
    padding-bottom: 120px;
}
div[class*="lightturquoise"]::before,
div[style*="Map.png"]::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 70% 50% at 20% 20%, rgba(217, 119, 6, 0.15), transparent 60%),
        radial-gradient(ellipse 60% 50% at 85% 80%, rgba(59, 130, 246, 0.12), transparent 60%),
        linear-gradient(180deg, #0a0e1a 0%, #111827 100%);
    z-index: -2;
    pointer-events: none;
}
div[class*="lightturquoise"]::after,
div[style*="Map.png"]::after {
    content: '';
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(217, 119, 6, 0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(217, 119, 6, 0.03) 1px, transparent 1px);
    background-size: 50px 50px;
    mask-image: radial-gradient(ellipse 80% 60% at 50% 50%, #000 20%, transparent 80%);
    -webkit-mask-image: radial-gradient(ellipse 80% 60% at 50% 50%, #000 20%, transparent 80%);
    z-index: -1;
    pointer-events: none;
}
div[class*="lightturquoise"] h2,
div[style*="Map.png"] h2 {
    color: #f1f5f9 !important;
    text-shadow: 0 2px 20px rgba(0, 0, 0, 0.5);
}
div[class*="lightturquoise"] h2 .text-citrusyellow,
div[style*="Map.png"] h2 .text-citrusyellow {
    color: #f59e0b !important;
    text-shadow: 0 4px 25px rgba(217, 119, 6, 0.5);
}
div[class*="lightturquoise"] .text-base,
div[style*="Map.png"] .text-base {
    color: #cbd5e1 !important;
}
div[style*="Map.png"] img[src*="Title-Separator"] {
    filter: brightness(0.5) invert(1) sepia(1) saturate(5) hue-rotate(345deg) opacity(0.4);
}
div[class*="lightturquoise"] img[src*="hotballon"],
div[style*="Map.png"] img[src*="hotballon"] {
    opacity: 0.15 !important;
    filter: hue-rotate(-20deg) saturate(1.5) brightness(0.7);
}

.trv-t-monial-swiper .swiper-slide {
    color: #cbd5e1 !important;
}
.trv-t-monial-swiper .swiper-slide img[src*="trv-testimonial"] {
    border: 2px solid rgba(217, 119, 6, 0.3);
    box-shadow:
        0 15px 40px rgba(0, 0, 0, 0.6),
        0 0 0 1px rgba(217, 119, 6, 0.15);
}
.trv-t-monial-swiper h4,
.trv-t-monial-swiper .font-display {
    color: #f1f5f9 !important;
}
.trv-t-monial-swiper .text-citrusyellow {
    color: #f59e0b !important;
}
.trv-t-monial-swiper p,
.trv-t-monial-swiper .font-title {
    color: #cbd5e1 !important;
    line-height: 1.7;
}
.trv-t-monial-swiper .bg-primary {
    background: linear-gradient(135deg, #d97706, #b45309) !important;
    box-shadow: 0 6px 18px rgba(217, 119, 6, 0.4);
}
.trv-t-monial-swiper .bg-primary .fa-star {
    color: #fff !important;
}
.trv-t-monial-swiper img[src*="Quote"] {
    filter: brightness(0) saturate(100%) invert(60%) sepia(80%) saturate(1500%) hue-rotate(360deg) brightness(95%) contrast(95%) !important;
    opacity: 0.6;
}
.trv-t-monial-swiper .swiper-button-next,
.trv-t-monial-swiper .swiper-button-prev {
    background: linear-gradient(135deg, #d97706, #b45309) !important;
    color: #fff !important;
    box-shadow: 0 8px 25px rgba(217, 119, 6, 0.4) !important;
    transition: all 0.3s ease;
}
.trv-t-monial-swiper .swiper-button-next:hover,
.trv-t-monial-swiper .swiper-button-prev:hover {
    background: #ffffff !important;
    color: #d97706 !important;
    transform: scale(1.1);
    box-shadow: 0 12px 35px rgba(217, 119, 6, 0.6) !important;
}

/* =========================================================
   РАЗДЕЛ 27. UPCOMING DEPARTURES (index.php)
   ========================================================= */

.bg-light {
    background-color: var(--dark-bg-1) !important;
}
.bg-light .bg-white,
.bg-light [class*="rounded-3xl"][class*="bg-white"] {
    background: linear-gradient(145deg, var(--dark-bg-2) 0%, var(--dark-bg-1) 100%) !important;
    border: 1px solid rgba(217, 119, 6, 0.15);
}
.departure-card {
    background: linear-gradient(145deg, var(--dark-bg-2) 0%, var(--dark-bg-3) 100%) !important;
    border-left: 4px solid var(--accent-orange) !important;
    border-top: 1px solid rgba(217, 119, 6, 0.15);
    border-right: 1px solid rgba(217, 119, 6, 0.15);
    border-bottom: 1px solid rgba(217, 119, 6, 0.15);
    color: var(--body-color) !important;
    box-shadow:
        0 8px 30px rgba(0, 0, 0, 0.5),
        inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
}
.departure-card:hover {
    border-left-color: var(--accent-orange-hover) !important;
    box-shadow:
        0 12px 40px rgba(217, 119, 6, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
}
.departure-card .departure-title {
    color: var(--heading-color) !important;
}
.departure-card .departure-meta {
    color: #94a3b8 !important;
}
.departure-card .departure-meta i {
    color: var(--accent-orange-hover) !important;
}
.departure-card .departure-price {
    color: var(--accent-orange-hover) !important;
}
.departure-card .departure-badge {
    background: linear-gradient(135deg, var(--accent-orange), var(--accent-orange-deep)) !important;
    color: #fff !important;
}
.departure-card .departure-badge.orange {
    background: linear-gradient(135deg, #f59e0b, #d97706) !important;
}
.departure-card .departure-btn {
    background: linear-gradient(135deg, var(--accent-orange), var(--accent-orange-deep)) !important;
    color: #fff !important;
}
.departure-card .departure-btn-outline {
    background: transparent !important;
    border: 2px solid var(--accent-orange) !important;
    color: var(--accent-orange-hover) !important;
}
.departure-card .departure-btn-outline:hover {
    background: var(--accent-orange) !important;
    color: #fff !important;
}

/* =========================================================
   РАЗДЕЛ 28. БЛОК "PLAN YOUR ADVENTURE" (3 шага)
   ========================================================= */

.trv-step-bx1-section .bg-white,
.trv-step-bx1-section [class*="bg-white"] {
    background: linear-gradient(145deg, var(--dark-bg-2) 0%, var(--dark-bg-3) 100%) !important;
    border: 1px solid rgba(217, 119, 6, 0.2) !important;
    box-shadow:
        0 20px 50px rgba(0, 0, 0, 0.5),
        inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
    color: var(--body-color) !important;
    transition: all 0.4s ease;
}
.trv-step-bx1-section .bg-white:hover {
    border-color: rgba(217, 119, 6, 0.5) !important;
    box-shadow:
        0 30px 70px rgba(217, 119, 6, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
    transform: translateY(-5px);
}
.trv-step-bx1-section .bg-primary {
    background: linear-gradient(135deg, var(--accent-orange) 0%, var(--accent-orange-deep) 100%) !important;
    color: #fff !important;
    box-shadow: 0 8px 25px rgba(217, 119, 6, 0.45);
}
.trv-step-bx1-section .font-title,
.trv-step-bx1-section [class*="text-2xl"] {
    color: var(--heading-color) !important;
}
.trv-step-bx1-section p,
.trv-step-bx1-section .text-primary {
    color: var(--body-color) !important;
}
.trv-step-bx1-section .bg-citrusyellow {
    background: linear-gradient(135deg, var(--accent-orange), var(--accent-orange-deep)) !important;
    box-shadow: 0 8px 20px rgba(217, 119, 6, 0.4);
}
.trv-step-bx1-section .bg-citrusyellow .bg-white {
    background-color: #fff !important;
    border: 2px solid rgba(217, 119, 6, 0.3);
}

/* =========================================================
   РАЗДЕЛ 29. УНИВЕРСАЛЬНЫЕ ФИКСЫ БЕЛЫХ БЛОКОВ
   ========================================================= */

.page-content .bg-white,
.section-full .bg-white,
.section-content .bg-white {
    background-color: var(--dark-bg-2) !important;
    color: var(--body-color) !important;
}

.section-full {
    background-color: var(--dark-bg-1) !important;
}

section.bg-white,
div.bg-white:not(.site-header):not(.main-bar-wraper):not(.hero-search-card):not(.lang-selector),
.section-full.bg-white,
.xl\:pt-30.bg-white {
    background-color: var(--dark-bg-1) !important;
    background-image: none !important;
}

html, body,
.page-wraper,
#smooth-wrapper,
#smooth-content,
.page-content {
    background-color: var(--dark-bg-1) !important;
}

h1, h2, h3, h4, h5, h6 {
    color: var(--heading-color) !important;
}
h2 .text-citrusyellow,
h2 span[class*="citrusyellow"] {
    color: var(--accent-orange-hover) !important;
}

/* Все светлые inline-фоны → тёмные */
div[style*="background:#fef9e7"],
div[style*="background: #fef9e7"],
div[style*="background:#FEF9E7"],
div[style*="background:#FFF8EB"],
div[style*="background: #FFF8EB"],
div[style*="background:#FFFDF5"],
div[style*="background: #FFFDF5"],
div[style*="background:#FFFBF5"],
div[style*="background: #FFFBF5"],
div[style*="background:#f0f6fa"],
div[style*="background: #f0f6fa"],
div[style*="background:#f8fafc"],
div[style*="background: #f8fafc"],
div[style*="background:#e8f0fe"],
div[style*="background: #e8f0fe"],
div[style*="background:#d4e4f0"],
div[style*="background: #d4e4f0"],
div[style*="background:#f0f8ff"],
div[style*="background: #f0f8ff"],
div[style*="background:#e8f4fd"],
div[style*="background: #e8f4fd"],
div[style*="background:#fdfcf9"],
div[style*="background: #fdfcf9"] {
    background: linear-gradient(135deg, #1a2235 0%, #1e293b 100%) !important;
    color: #cbd5e1 !important;
    border: 1px solid rgba(217, 119, 6, 0.15) !important;
}

/* Блоки с левой оранжевой границей */
div[style*="border-left:4px solid #e67e22"],
div[style*="border-left: 4px solid #e67e22"],
div[style*="border-left:5px solid #2989B9"],
div[style*="border-left: 5px solid #2989B9"],
div[style*="border-left:4px solid #2989B9"],
div[style*="border-left: 4px solid #2989B9"] {
    background: linear-gradient(135deg, rgba(217, 119, 6, 0.12), rgba(217, 119, 6, 0.03)) !important;
    color: #cbd5e1 !important;
    border-left-color: var(--accent-orange) !important;
    box-shadow:
        0 4px 15px rgba(0, 0, 0, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
}

div[style*="background:#fef9e7"] h1,
div[style*="background:#fef9e7"] h2,
div[style*="background:#fef9e7"] h3,
div[style*="background:#fef9e7"] h4,
div[style*="background:#FFF8EB"] h4,
div[style*="background:#FFFBF5"] h4 {
    color: #f59e0b !important;
}
div[style*="background:#fef9e7"] p,
div[style*="background:#FFF8EB"] p,
div[style*="background:#FFFBF5"] p {
    color: #cbd5e1 !important;
}

/* Внутренние блоки guide-card */
.guide-card > div[style*="background"],
.guide-card > div[style*="padding:14px"] {
    background: linear-gradient(135deg, rgba(217, 119, 6, 0.1), rgba(217, 119, 6, 0.03)) !important;
    color: #cbd5e1 !important;
    border-radius: 12px !important;
    border-left: 4px solid var(--accent-orange) !important;
    padding: 14px 18px !important;
}
.guide-card > div[style*="background"] h4,
.guide-card > div[style*="padding:14px"] h4 {
    color: #f59e0b !important;
}
.guide-card > div[style*="background"] p,
.guide-card > div[style*="padding:14px"] p {
    color: #cbd5e1 !important;
}

/* =========================================================
   РАЗДЕЛ 30. ГЛОБАЛЬНАЯ КОНТРАСТНОСТЬ
   ========================================================= */

/* Тёмный текст на тёмном фоне → светлый */
[style*="color:#1a2b3c"],
[style*="color: #1a2b3c"],
[style*="color:#000"],
[style*="color: #000"],
[style*="color:black"],
[style*="color: black"],
[style*="color:#333"],
[style*="color: #333"],
[style*="color:#222"],
[style*="color: #222"],
[style*="color:#444"],
[style*="color: #444"],
[style*="color:#555"],
[style*="color: #555"],
[style*="color:#1a1a1a"],
[style*="color: #1a1a1a"],
[style*="color:#2c3e50"],
[style*="color: #2c3e50"] {
    color: #f1f5f9 !important;
}

[style*="color:#666"],
[style*="color: #666"],
[style*="color:#888"],
[style*="color: #888"],
[style*="color:#999"],
[style*="color: #999"],
[style*="color:#aaa"],
[style*="color: #aaa"] {
    color: #94a3b8 !important;
}

[style*="color:#2989B9"],
[style*="color: #2989B9"],
[style*="color:#066168"],
[style*="color: #066168"],
[style*="color:#0d1117"],
[style*="color: #0d1117"] {
    color: #f59e0b !important;
}

/* Карточки */
.hotel-card,
.tour-card,
.guide-card,
.topic-card,
.contact-card,
.faq-item,
.similar-card,
.departure-card,
.qa-item,
.emergency-item,
.embassy-item,
.embassy-modal-item {
    color: #cbd5e1 !important;
}

/* Формы */
.form-control-custom,
input,
select,
textarea {
    color: #f1f5f9 !important;
}

/* Модальные окна */
.hotel-modal,
.embassy-modal-content,
.lightbox-overlay .lightbox-content,
#myModalContent {
    color: #cbd5e1 !important;
}

/* FAQ ответы */
.faq-answer,
.faq-answer * {
    color: #cbd5e1 !important;
}
.faq-answer a {
    color: #f59e0b !important;
}

/* Guides */
.guide-card p,
.guide-card ul li,
.guide-section-intro {
    color: #cbd5e1 !important;
}
.guide-card h4,
.guide-section-title {
    color: #f1f5f9 !important;
}

/* Help */
.topic-card .tc-desc,
.help-section-sub,
.help-hero p {
    color: #cbd5e1 !important;
}

/* Legal */
.legal-section p,
.legal-section ul li {
    color: #cbd5e1 !important;
}
.legal-section h1,
.legal-section h2,
.legal-section h3 {
    color: #f1f5f9 !important;
}

/* 404 */
.error-text {
    color: #cbd5e1 !important;
}
.error-title {
    color: #f1f5f9 !important;
}

/* Thank you */
.thanks-subtitle,
.next-steps .step-item {
    color: #cbd5e1 !important;
}
.thanks-title {
    color: #f1f5f9 !important;
}

/* Phrasebook */
.phrasebook-about p,
.phrasebook-table tbody td {
    color: #cbd5e1 !important;
}
.phrasebook-table-compact .ph-en {
    color: #f1f5f9 !important;
}
.phrasebook-table-compact .ph-tk {
    color: #f59e0b !important;
}
.phrasebook-table-compact .ph-pron {
    color: #60a5fa !important;
}

/* Footer */
footer,
footer * {
    color: #94a3b8;
}
footer h3,
footer h4,
footer .footer-col-title {
    color: #f1f5f9 !important;
}
footer a {
    color: #94a3b8 !important;
}
footer a:hover {
    color: #f59e0b !important;
}

/* Select */
select {
    color: #f1f5f9 !important;
}
select option {
    background: #1a2235 !important;
    color: #f1f5f9 !important;
}

/* Placeholder */
::placeholder {
    color: #64748b !important;
    opacity: 1 !important;
}

/* Автозаполнение */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 1000px #1a2235 inset !important;
    -webkit-text-fill-color: #f1f5f9 !important;
    transition: background-color 5000s ease-in-out 0s;
}

/* Выделение текста */
::selection {
    background: rgba(217, 119, 6, 0.4);
    color: #fff;
}

/* =========================================================
   РАЗДЕЛ 31. СКРОЛЛБАР
   ========================================================= */

::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}
::-webkit-scrollbar-track {
    background: var(--dark-bg-1);
}
::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, var(--dark-bg-4), var(--accent-orange-deep));
    border-radius: 5px;
}
::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(180deg, var(--accent-orange), var(--accent-orange-deep));
}

/* =========================================================
   РАЗДЕЛ 32. ОБЩИЕ ЭЛЕМЕНТЫ
   ========================================================= */

.section-full.bg-white,
div.bg-white.xl\:pt-30 {
    background-color: var(--dark-bg-1) !important;
}

img[src*="Title-Separator"] {
    filter: brightness(0.5) invert(1) sepia(1) saturate(5) hue-rotate(345deg) opacity(0.35);
}

.counter-section .bg-primary,
div.bg-primary .border-dashed {
    border-color: rgba(217, 119, 6, 0.25) !important;
}
.counter-section h4 {
    color: var(--heading-color) !important;
}
.counter-section .value {
    color: var(--accent-orange-hover) !important;
}

h2[style*="color:#1a2b3c"] {
    color: var(--heading-color) !important;
}

/* Tour-bg — убрать фоновое изображение */
div[style*="tour-bg.jpg"],
div[style*="tour-bg"],
section[style*="tour-bg"],
.bg-tour-bg {
    background-image: none !important;
    background: #0a0e1a !important;
}

/* =========================================================
   РАЗДЕЛ 33. АДАПТАЦИЯ
   ========================================================= */

@media (max-width: 991px) {
    .site-header .main-bar-wraper > div {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
}

@media (max-width: 768px) {
    .site-header .lang-selector,
    .lang-selector {
        margin-left: 0;
        padding: 4px 8px 4px 10px;
    }
    .site-header .lang-selector .lang-btn,
    .lang-selector .lang-btn {
        font-size: 11px;
        padding: 4px 7px;
    }
    .footer-main {
        padding-top: 50px;
        padding-bottom: 20px;
    }
}

@media (max-width: 480px) {
    .site-header .lang-selector,
    .lang-selector {
        padding: 3px 6px 3px 8px;
        gap: 4px;
    }
    .site-header .lang-selector .lang-btn,
    .lang-selector .lang-btn {
        font-size: 10px;
        padding: 3px 5px;
        letter-spacing: 0.2px;
    }
    .site-header .lang-selector .lang-divider,
    .lang-selector .lang-divider {
        height: 16px;
    }
}
/* =========================================================
   ПОДСВЕТКА ОШИБОК В ТЁМНОЙ ТЕМЕ
   ========================================================= */

/* Обычные поля с ошибкой */
.form-control-custom.error,
input.error,
select.error,
textarea.error {
    border-color: #ef4444 !important;
    background-color: rgba(239, 68, 68, 0.08) !important;
    background-image: none !important;   /* убираем стрелочку/паттерн */
    color: #fecaca !important;
    box-shadow:
        0 0 0 4px rgba(239, 68, 68, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.03) !important;
    animation: shakeError 0.4s ease;
}

/* Select с ошибкой — вернуть стрелочку, но красную */
select.form-control-custom.error {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23ef4444' d='M6 8L1 3h10z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
    background-color: rgba(239, 68, 68, 0.08) !important;
}

/* Placeholder в ошибочном поле */
.form-control-custom.error::placeholder,
input.error::placeholder,
textarea.error::placeholder {
    color: #f87171 !important;
    opacity: 0.7;
}

/* Label с ошибкой */
.form-label.error,
label.error {
    color: #f87171 !important;
}

.form-label.error::after,
label.error::after {
    content: ' — ' attr(data-error-text);
    font-size: 12px;
    font-weight: 500;
    color: #f87171;
    margin-left: 4px;
}

/* Travelers (счётчик) */
.traveler-control.error input {
    color: #f87171 !important;
    border-bottom: 2px solid #ef4444;
}
.traveler-control.error button {
    border-color: #ef4444 !important;
    background: rgba(239, 68, 68, 0.1) !important;
    color: #f87171 !important;
}

/* Contact methods с ошибкой */
.contact-methods.error .contact-method-item {
    border-color: #ef4444 !important;
    background: rgba(239, 68, 68, 0.08) !important;
    animation: shakeError 0.4s ease;
}
.contact-methods.error .contact-method-item .method-icon {
    background: rgba(239, 68, 68, 0.15) !important;
}
.contact-methods.error .contact-method-item .method-icon svg {
    stroke: #ef4444 !important;
}
.contact-methods.error .contact-method-item .method-name {
    color: #f87171 !important;
}

/* Анимация тряски */
@keyframes shakeError {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-6px); }
    75% { transform: translateX(6px); }
}
/* Принудительно скрыть декоративные элементы в шапке */
.site-header::before,
.site-header::after,
.site-header > .main-bar-wraper::before,
.site-header > .main-bar-wraper::after {
    display: none !important;
    content: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
}
/* Скрываем точки */
.loading-pic .loader { display: none !important; }

/* Тёмный фон */
.loading-area .loading-box {
    background: linear-gradient(135deg, #0a0e1a 0%, #111827 100%) !important;
}

/* Логотип */
.loading-area .loading-pic::before {
    content: '';
    display: block;
    width: 200px;
    height: 100px;
    margin: 0 auto 24px;
    background-image: url('../images/load-logo.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    animation: logoFade 1.8s ease-in-out infinite;
}

/* Прогресс-бар */
.loading-area .loading-pic::after {
    content: '';
    display: block;
    width: 200px;
    height: 3px;
    margin: 0 auto;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 3px;
    position: relative;
    overflow: hidden;
}

/* Двигающаяся полоска */
.loading-area .loading-pic::after {
    background-image: linear-gradient(90deg,
        transparent 0%,
        #e67e22 50%,
        transparent 100%);
    background-size: 40% 100%;
    background-repeat: no-repeat;
    animation: progressBar 1.4s ease-in-out infinite;
}

@keyframes logoFade {
    0%, 100% { opacity: 0.75; transform: translateY(0); }
    50%      { opacity: 1;   transform: translateY(-4px); }
}

@keyframes progressBar {
    0%   { background-position: -100% 0; }
    100% { background-position: 200% 0; }
}
/* =========================================================
   ИСПРАВЛЕНИЕ ДЛЯ FLIGHT-BOOKING.PHP
   ========================================================= */

/* Убедимся, что заголовок в hero-секции виден */
.flight-hero-compact h1 {
    color: var(--heading-color) !important;
    position: relative;
    z-index: 10; /* Поднимаем заголовок над возможными перекрытиями */
}

/* Убедимся, что сама секция hero не перекрыта хедером */
.flight-hero-compact {
    padding-top: 140px !important; /* Увеличиваем отступ сверху, чтобы хедер не перекрывал */
    position: relative;
    z-index: 1;
}

/* Убедимся, что хедер не перекрывает контент */
.site-header {
    z-index: 9999 !important; /* Убедимся, что хедер поверх всего */
}
/* =========================================================
   ИСПРАВЛЕНИЕ РАЗМЕРОВ ИКОНОК В CONTACT METHOD
   ========================================================= */

.contact-method-item .method-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    margin: 0 auto 10px;
    border-radius: 50%;
    background: #f5f7fa;
    transition: all 0.4s;
}

.contact-method-item .method-icon svg {
    width: 28px !important;
    height: 28px !important;
    max-width: 28px !important;
    max-height: 28px !important;
    stroke: #8899aa;
    stroke-width: 1.8;
    fill: none;
    transition: all 0.4s;
}

.contact-method-item:hover .method-icon svg {
    stroke: #2989B9;
}

.contact-method-item.selected .method-icon svg {
    stroke: #2989B9;
}

/* Для мобильных */
@media (max-width: 768px) {
    .contact-method-item .method-icon {
        width: 40px;
        height: 40px;
    }
    .contact-method-item .method-icon svg {
        width: 22px !important;
        height: 22px !important;
        max-width: 22px !important;
        max-height: 22px !important;
    }
}
/* =========================================================
   ИСПРАВЛЕНИЕ ЦВЕТА ПОДЗАГОЛОВКА НА FLIGHT-BOOKING.PHP
   ========================================================= */

/* Подзаголовок в форме бронирования авиабилета */
.flight-compact-wrap .text-gray-600,
.flight-compact-wrap .text-base.text-gray-600,
div[class*="from-[#FFF8EB]"] .text-gray-600 {
    color: #cbd5e1 !important;
    font-weight: 400;
    line-height: 1.6;
}

/* Альтернативный селектор — на случай, если классы другие */
.flight-compact-wrap .text-base,
div[class*="from-[#FFF8EB]"] .text-base {
    color: #cbd5e1 !important;
}

/* Для мобильных — чуть светлее */
@media (max-width: 640px) {
    .flight-compact-wrap .text-gray-600,
    div[class*="from-[#FFF8EB]"] .text-gray-600 {
        color: #e2e8f0 !important;
    }
}