

/* Start:/local/components/china/travel/templates/.default/style.css?177405824044424*/
/* ==========================================================================
   TRAVEL SECTION - WEB 3.0 CORPORATE STYLE (COMBINED)
   ========================================================================== */

.travel-page {
    --travel-primary: #c62828;
    --travel-primary-hover: #b71c1c;
    --travel-accent: #ff6a00;
    --travel-bg-glass: #ffffff;
    --travel-border: #eeeeee;
    --travel-text-main: #333333;
    --travel-text-muted: #666666;
    --travel-shadow: 0 10px 40px rgba(0,0,0,0.05);
    --travel-shadow-hover: 0 15px 35px rgba(198, 40, 40, 0.1);

    max-width: 1280px;
    margin: 0 auto 60px;
    padding: 0; 
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    color: var(--travel-text-main);
}

/* ================================ */
/* Навигация (хлебные крошки)       */
/* ================================ */
.travel-nav {
    margin-bottom: 16px;
    padding: 0 20px;
}

.travel-nav__back {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--travel-primary);
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    transition: color 0.2s;
}

.travel-nav__back:hover {
    color: var(--travel-accent);
}

/* === Главный баннер (1280x300) === */
.travel-banner {
    position: relative;
    height: 300px;
    background-color: #1a1a1a;
    background-size: cover;
    background-position: center;
    border-radius: 24px;
    display: flex;
    align-items: center;
    padding: 0 48px;
    margin-bottom: 32px;
    overflow: hidden;
    box-shadow: var(--travel-shadow);
}

.travel-banner__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(198, 40, 40, 0.85) 0%, rgba(26, 26, 26, 0.8) 100%);
    z-index: 1;
}

.travel-banner__bg-char {
    position: absolute;
    right: -20px;
    top: -40px;
    font-size: 240px;
    font-weight: 900;
    color: #ffffff;
    opacity: 0.05;
    line-height: 1;
    pointer-events: none;
    user-select: none;
    z-index: 1;
}

.travel-banner__content {
    position: relative;
    z-index: 2;
    max-width: 750px;
    color: #ffffff;
}

.travel-banner__title {
    font-size: 42px;
    font-weight: 800;
    margin: 0 0 16px;
    line-height: 1.2;
    letter-spacing: -0.5px;
}

.travel-banner__subtitle {
    font-size: 18px;
    margin: 0;
    opacity: 0.9;
    line-height: 1.5;
}

/* Баннеры для внутренних страниц */
.travel-banner--avia { background: linear-gradient(135deg, #c62828 0%, #b71c1c 100%); height: auto; padding: 40px; }
.travel-banner--hotels { background: linear-gradient(135deg, #a72323 0%, #880e0e 100%); height: auto; padding: 40px; }
.travel-banner--tours { background: linear-gradient(135deg, #d32f2f 0%, #b71c1c 100%); height: auto; padding: 40px; }
.travel-banner--business { background: linear-gradient(135deg, #222222 0%, #111111 100%); height: auto; padding: 40px; }
.travel-banner--auto { background: linear-gradient(135deg, #333333 0%, #000000 100%); height: auto; padding: 40px; }
.travel-banner--insurance { background: linear-gradient(135deg, #880e0e 0%, #600000 100%); height: auto; padding: 40px; }
.travel-banner--city { background: linear-gradient(135deg, #c62828 0%, #1a1a1a 100%); height: auto; padding: 40px; }

.travel-banner__stats {
    display: flex;
    gap: 32px;
    margin-top: 24px;
}

.travel-banner__stat {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.travel-banner__stat-val {
    font-size: 24px;
    font-weight: 700;
}

.travel-banner__stat-label {
    font-size: 13px;
    opacity: 0.8;
}

/* === Прямоугольные кнопки навигации (Web 3.0) === */
.travel-nav-grid {
    display: grid;
    grid-template-columns: repeat(10, 1fr);
    gap: 12px;
    margin-bottom: 60px;
    width: 100%;
}

.travel-nav-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 10px;
    background: var(--travel-bg-glass);
    border: 1px solid var(--travel-border);
    border-radius: 16px;
    padding: 16px 8px;
    color: var(--travel-text-main);
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: var(--travel-shadow);
}

.travel-nav-btn svg {
    color: var(--travel-primary);
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    width: 32px;
    height: 32px;
}

.travel-nav-btn:hover {
    background: var(--travel-primary);
    color: #ffffff;
    border-color: var(--travel-primary);
    transform: translateY(-4px);
    box-shadow: var(--travel-shadow-hover);
}

.travel-nav-btn:hover svg {
    color: #ffffff;
    transform: scale(1.15);
}

/* === Общие секции === */
.travel-section {
    margin-bottom: 60px;
    padding: 0 0px;
}

.travel-section__header {
    margin-bottom: 24px;
}

.travel-section__title {
    font-size: 32px;
    font-weight: 800;
    color: #1a1a1a;
    margin: 0 0 8px;
    display: inline-flex;
    align-items: center;
    gap: 12px;
}

.travel-section__subtitle {
    font-size: 16px;
    color: var(--travel-text-muted);
    margin: 0 0 24px;
}

.text-center {
    text-align: center;
    width: 100%;
    justify-content: center;
}

.travel-icon-fire {
    color: var(--travel-accent);
    animation: fire-pulse 2s infinite ease-in-out;
}

@keyframes fire-pulse {
    0% { transform: scale(1); opacity: 0.9; }
    50% { transform: scale(1.1); opacity: 1; }
    100% { transform: scale(1); opacity: 0.9; }
}

/* ================================ */
/* Поиск (Внутренние страницы)      */
/* ================================ */
.travel-search {
    background: #fff;
    border-radius: 16px;
    box-shadow: var(--travel-shadow);
    padding: 24px;
    margin: 0 0px 32px;
}

.travel-search__tabs {
    display: flex;
    gap: 8px;
    margin-bottom: 20px;
}

.travel-search__tab {
    padding: 8px 20px;
    border: 2px solid #e0e0e0;
    border-radius: 8px;
    background: #fff;
    cursor: pointer;
    font-size: 14px;
    font-weight: 600;
    color: #666;
    transition: all 0.2s;
}

.travel-search__tab--active {
    border-color: var(--travel-primary);
    color: var(--travel-primary);
    background: rgba(198, 40, 40, 0.05);
}

.travel-search__form {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.travel-search__fields {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.travel-search__field {
    flex: 1;
    min-width: 140px;
}

.travel-search__field--pax {
    flex: 0 0 120px;
    min-width: 120px;
}

.travel-search__label {
    display: block;
    font-size: 12px;
    color: #888;
    margin-bottom: 4px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.travel-search__input {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid #ddd;
    border-radius: 8px;
    font-size: 14px;
    font-family: inherit;
    background: #fafafa;
    transition: border-color 0.2s;
    box-sizing: border-box;
}

.travel-search__input:focus {
    border-color: var(--travel-primary);
    outline: none;
    background: #fff;
}

.travel-search__pax {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 6px 0;
}

.travel-search__pax-btn {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 1px solid #ddd;
    background: #fff;
    cursor: pointer;
    font-size: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
}

.travel-search__pax-btn:hover {
    border-color: var(--travel-primary);
    color: var(--travel-primary);
}

.travel-search__pax-val {
    font-size: 18px;
    font-weight: 600;
    min-width: 20px;
    text-align: center;
}

.travel-search__submit {
    padding: 14px 32px;
    background: var(--travel-primary);
    color: #fff;
    border: none;
    border-radius: 10px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s;
    align-self: flex-end;
}

.travel-search__submit:hover {
    background: var(--travel-primary-hover);
}

/* === Горящие предложения === */
.travel-deals-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.travel-deal-card {
    background: var(--travel-bg-glass);
    border: 1px solid var(--travel-border);
    border-radius: 20px;
    padding: 24px;
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    transition: all 0.3s ease;
    box-shadow: var(--travel-shadow);
    position: relative;
    overflow: hidden;
}

.travel-deal-card:hover {
    border-color: var(--travel-primary);
    box-shadow: var(--travel-shadow-hover);
    transform: translateY(-4px);
}

.travel-deal-card__badge {
    position: absolute;
    top: 24px;
    right: 24px;
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.travel-deal-card__badge--flight { background: #e3f2fd; color: #1565c0; }
.travel-deal-card__badge--hotel { background: #f3e5f5; color: #6a1b9a; }
.travel-deal-card__badge--tour { background: #e8f5e9; color: #2e7d32; }

.travel-deal-card__route {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
    font-size: 18px;
    font-weight: 700;
    color: #111;
    padding-right: 80px; 
}

.travel-deal-card__route svg {
    color: #999;
}

.travel-deal-card__info {
    margin-bottom: 24px;
    flex-grow: 1;
}

.travel-deal-card__dates {
    font-size: 14px;
    color: var(--travel-text-main);
    font-weight: 600;
    margin-bottom: 4px;
}

.travel-deal-card__detail {
    font-size: 13px;
    color: var(--travel-text-muted);
}

.travel-deal-card__footer {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    border-top: 1px solid var(--travel-border);
    padding-top: 16px;
}

.travel-deal-card__price {
    display: flex;
    flex-direction: column;
}

.price-current {
    font-size: 20px;
    font-weight: 800;
    color: var(--travel-primary);
}

.price-old {
    font-size: 13px;
    color: #999;
    text-decoration: line-through;
}

.travel-deal-card__btn {
    font-size: 14px;
    font-weight: 600;
    color: var(--travel-primary);
}

/* === Популярные направления (с картинкой) === */
.travel-dest-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.travel-dest-card {
    background: var(--travel-bg-glass);
    border: 1px solid var(--travel-border);
    border-radius: 20px;
    text-decoration: none;
    color: inherit;
    transition: all 0.3s ease;
    box-shadow: var(--travel-shadow);
    display: flex;
    flex-direction: column;
    overflow: hidden; 
}

.travel-dest-card:hover {
    border-color: var(--travel-primary);
    box-shadow: var(--travel-shadow-hover);
    transform: translateY(-4px);
}

.travel-dest-card__image {
    width: 100%;
    height: 180px;
    background-color: #f5f5f5; 
    background-size: cover;
    background-position: center;
    position: relative;
    border-bottom: 1px solid var(--travel-border);
    display: block;
}

.travel-dest-card__image::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(0,0,0,0.4) 0%, transparent 100%);
}

.travel-dest-card__cn {
    position: absolute;
    top: 16px;
    left: 20px;
    font-size: 32px;
    font-weight: 800;
    color: #ffffff;
    opacity: 0.9;
    z-index: 2;
    text-shadow: 0 2px 10px rgba(0,0,0,0.3);
}

.travel-dest-card__body {
    padding: 20px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.travel-dest-card__name {
    font-size: 20px;
    font-weight: 700;
    margin: 0 0 8px;
    color: #111;
}

.travel-dest-card__desc {
    font-size: 13px;
    color: var(--travel-text-muted);
    margin: 0 0 20px;
    line-height: 1.5;
    flex-grow: 1;
}

.travel-dest-card__meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 13px;
    color: #888;
    padding-top: 16px;
    border-top: 1px dashed #eaeaea;
}

.travel-dest-card__meta span {
    display: flex;
    align-items: center;
    gap: 6px;
}

.travel-dest-card__price {
    font-weight: 700;
    color: var(--travel-primary);
    font-size: 15px;
}

/* === Преимущества === */
.travel-advantages {
    background: #fafafa;
    border-radius: 24px;
    padding: 40px;
    margin-top: 20px;
}
.travel-adv-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-top: 40px;
}
.travel-adv-card {
    text-align: center;
}
.travel-adv-card__icon {
    width: 64px;
    height: 64px;
    margin: 0 auto 16px;
    background: rgba(198, 40, 40, 0.08);
    color: var(--travel-primary);
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.travel-adv-card__title {
    font-size: 18px;
    font-weight: 700;
    margin: 0 0 10px;
    color: #111;
}
.travel-adv-card__desc {
    font-size: 14px;
    color: var(--travel-text-muted);
    line-height: 1.5;
    margin: 0;
}

/* === Динамика цен === */
.travel-dynamics {
    background: #fff;
    border-radius: 16px;
    box-shadow: var(--travel-shadow);
    padding: 24px;
}

.travel-dynamics__tabs {
    display: flex;
    gap: 8px;
    margin-bottom: 20px;
}

.travel-dynamics__tab {
    padding: 8px 16px;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    background: #fff;
    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
    transition: all 0.2s;
}

.travel-dynamics__tab--active {
    background: var(--travel-primary);
    color: #fff;
    border-color: var(--travel-primary);
}

.travel-dynamics__table-wrap {
    overflow-x: auto;
}

.travel-dynamics__table {
    width: 100%;
    border-collapse: collapse;
    text-align: center;
}

.travel-dynamics__table th {
    padding: 12px 6px;
    font-size: 13px;
    font-weight: 600;
    color: #888;
    border-bottom: 2px solid #eee;
}

.travel-dynamics__table td {
    padding: 16px 6px;
    font-size: 14px;
    font-weight: 600;
}

.travel-dynamics__th--current {
    color: var(--travel-accent) !important;
}

.travel-dynamics__td--current {
    background: #fff3e0;
    color: var(--travel-accent);
    border-radius: 8px;
}

/* ================================ */
/* FAQ                              */
/* ================================ */
.travel-faq-list, .travel-faq {
    display: flex;
    flex-direction: column;
    gap: 16px;
    max-width: 100%;
}
.travel-faq-item {
    background: var(--travel-bg-glass);
    border: 1px solid var(--travel-border);
    border-radius: 16px;
    overflow: hidden;
    transition: box-shadow 0.3s;
}
.travel-faq-item:hover {
    box-shadow: var(--travel-shadow);
}
.travel-faq-summary, .travel-faq__question {
    width: 100%;
    padding: 24px;
    font-weight: 600;
    font-size: 18px;
    cursor: pointer;
    list-style: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: var(--travel-text-main);
    background: none;
    border: none;
    font-family: inherit;
    text-align: left;
}
.travel-faq-summary::-webkit-details-marker {
    display: none;
}
.travel-faq__question svg {
    flex-shrink: 0;
    color: #999;
    transition: transform 0.3s;
}
.travel-faq__item--open .travel-faq__question svg {
    transform: rotate(180deg);
    color: var(--travel-primary);
}
.travel-faq-summary::after {
    content: '+';
    color: var(--travel-primary);
    font-size: 24px;
    font-weight: 400;
    transition: transform 0.3s;
}
.travel-faq-item[open] .travel-faq-summary::after {
    content: '−';
}
.travel-faq-content, .travel-faq__answer {
    padding: 0 24px 24px;
    color: var(--travel-text-muted);
    line-height: 1.6;
    font-size: 16px;
}
.travel-faq__answer p {
    margin: 0;
}

/* ================================ */
/* Маршруты (авиа)                  */
/* ================================ */
.travel-routes { display: flex; flex-direction: column; gap: 12px; }
.travel-route {
    display: flex; align-items: center; justify-content: space-between;
    background: #fff; border: 1px solid #eee; border-radius: 16px;
    padding: 20px 24px; text-decoration: none; color: #333;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.travel-route:hover { border-color: var(--travel-primary); box-shadow: var(--travel-shadow); }
.travel-route__cities { display: flex; align-items: center; gap: 16px; }
.travel-route__from { font-weight: 600; font-size: 16px; }
.travel-route__arrow { color: var(--travel-accent); }
.travel-route__to { font-weight: 700; color: var(--travel-primary); font-size: 16px; }
.travel-route__to small { color: #999; font-weight: 400; margin-left: 6px; font-size: 13px; }
.travel-route__info { display: flex; align-items: center; gap: 24px; }
.travel-route__time { font-size: 14px; color: #888; }
.travel-route__price { font-weight: 800; color: var(--travel-primary); font-size: 18px; }

/* ================================ */
/* Авиакомпании                     */
/* ================================ */
.travel-airlines { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.travel-airline { display: flex; gap: 20px; background: #fff; border: 1px solid #eee; border-radius: 16px; padding: 24px; }
.travel-airline__logo {
    width: 64px; height: 64px; border-radius: 16px; background: rgba(198, 40, 40, 0.05);
    display: flex; align-items: center; justify-content: center; flex-shrink: 0; color: var(--travel-primary);
}
.travel-airline__iata { font-size: 20px; font-weight: 800; }
.travel-airline__name { font-size: 18px; font-weight: 700; margin: 0 0 6px; }
.travel-airline__desc { font-size: 14px; color: #666; margin: 0 0 8px; line-height: 1.5; }
.travel-airline__hub { font-size: 13px; color: var(--travel-primary); font-weight: 600; }

/* Советы */
.travel-tips { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.travel-tip { padding: 24px; background: #fff; border: 1px solid #eee; border-radius: 16px; }
.travel-tip__num {
    width: 36px; height: 36px; border-radius: 50%; background: var(--travel-primary); color: #fff;
    display: flex; align-items: center; justify-content: center; font-size: 16px; font-weight: 700; margin-bottom: 16px;
}
.travel-tip__title { font-size: 18px; font-weight: 700; margin: 0 0 10px; }
.travel-tip__text { font-size: 14px; color: #666; line-height: 1.6; margin: 0; }

/* ================================ */
/* Отели — города                   */
/* ================================ */
.travel-hotel-cities { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.travel-hotel-city {
    display: flex; flex-direction: column; background: #fff; border: 1px solid #eee; border-radius: 16px; padding: 24px;
    text-decoration: none; color: #333; transition: border-color 0.2s, box-shadow 0.2s;
}
.travel-hotel-city:hover { border-color: var(--travel-primary); box-shadow: var(--travel-shadow); transform: translateY(-3px); }
.travel-hotel-city__header { display: flex; align-items: baseline; gap: 10px; margin-bottom: 12px; }
.travel-hotel-city__name { font-size: 20px; font-weight: 700; margin: 0; color: #111; }
.travel-hotel-city__cn { font-size: 16px; color: #999; }
.travel-hotel-city__price { font-size: 18px; font-weight: 800; color: var(--travel-primary); margin-bottom: 16px; }
.travel-hotel-city__types { display: flex; flex-direction: column; gap: 8px; }
.travel-hotel-city__type { font-size: 14px; color: #666; padding-left: 14px; position: relative; }
.travel-hotel-city__type::before {
    content: ''; position: absolute; left: 0; top: 50%; width: 5px; height: 5px; border-radius: 50%;
    background: var(--travel-accent); transform: translateY(-50%);
}

/* Типы размещения */
.travel-hotel-types { display: grid; grid-template-columns: repeat(5, 1fr); gap: 20px; }
.travel-hotel-type { background: #fff; border: 1px solid #eee; border-radius: 16px; padding: 24px; text-align: center; }
.travel-hotel-type__name { font-size: 18px; font-weight: 700; margin: 0 0 6px; }
.travel-hotel-type__stars { color: #ffc107; display: block; margin-bottom: 12px; font-size: 16px; }
.travel-hotel-type__price { font-size: 16px; font-weight: 800; color: var(--travel-primary); margin-bottom: 12px; display: block; }
.travel-hotel-type__desc { font-size: 13px; color: #666; line-height: 1.5; margin: 0; }

/* ================================ */
/* Туры                             */
/* ================================ */
.travel-tour-types { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; margin-bottom: 48px; }
.travel-tour-type { text-align: center; padding: 32px 20px; background: #fff; border: 1px solid #eee; border-radius: 20px; }
.travel-tour-type__icon {
    width: 64px; height: 64px; border-radius: 50%; background: rgba(198, 40, 40, 0.05); color: var(--travel-primary);
    display: flex; align-items: center; justify-content: center; margin: 0 auto 16px;
}
.travel-tour-type__name { font-size: 18px; font-weight: 700; margin: 0 0 10px; }
.travel-tour-type__desc { font-size: 14px; color: #666; line-height: 1.5; margin: 0; }

.travel-tours-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 32px; }
.travel-tour-card {
    display: flex; flex-direction: column; background: #fff; border-radius: 20px; box-shadow: var(--travel-shadow);
    padding: 32px; transition: box-shadow 0.3s, transform 0.3s; border: 1px solid transparent;
}
.travel-tour-card:hover { box-shadow: var(--travel-shadow-hover); transform: translateY(-4px); border-color: var(--travel-primary); }
.travel-tour-card__header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; }
.travel-tour-card__type {
    padding: 6px 12px; border-radius: 8px; font-size: 12px; font-weight: 700; text-transform: uppercase;
}
.travel-tour-card__type--excursion { background: #e3f2fd; color: #1565c0; }
.travel-tour-card__type--beach { background: #fff3e0; color: #e65100; }
.travel-tour-card__type--gastro { background: #fce4ec; color: #c62828; }
.travel-tour-card__type--adventure { background: #e8f5e9; color: #2e7d32; }
.travel-tour-card__days { font-size: 14px; font-weight: 600; color: #666; }
.travel-tour-card__name { font-size: 22px; font-weight: 800; margin: 0 0 12px; color: #111; }
.travel-tour-card__desc { font-size: 15px; color: #555; line-height: 1.6; margin: 0 0 16px; }
.travel-tour-card__cities { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.travel-tour-card__city { padding: 4px 12px; background: #f5f5f5; border-radius: 20px; font-size: 13px; font-weight: 600; color: #444; }
.travel-tour-card__highlights { display: flex; flex-direction: column; gap: 8px; margin-bottom: 16px; }
.travel-tour-card__highlight { display: flex; align-items: center; gap: 8px; font-size: 14px; color: #333; }
.travel-tour-card__highlight::before { content: '✓'; color: var(--travel-primary); font-weight: bold; }
.travel-tour-card__includes {
    display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; padding-top: 16px; border-top: 1px solid #f0f0f0;
}
.travel-tour-card__include { padding: 4px 12px; background: rgba(198, 40, 40, 0.05); border-radius: 20px; font-size: 12px; color: var(--travel-primary); font-weight: 600; }
.travel-tour-card__footer { display: flex; justify-content: space-between; align-items: center; margin-top: auto; }
.travel-tour-card__price-label { font-size: 13px; color: #888; display: block; margin-bottom: 2px; }
.travel-tour-card__price-val { font-size: 26px; font-weight: 800; color: var(--travel-primary); }
.travel-tour-card__price-per { font-size: 13px; color: #888; }
.travel-tour-card__btn {
    padding: 12px 28px; background: var(--travel-primary); color: #fff; border-radius: 10px; text-decoration: none;
    font-size: 15px; font-weight: 600; transition: background 0.2s;
}
.travel-tour-card__btn:hover { background: var(--travel-primary-hover); }

/* ================================ */
/* Бизнес-туры                      */
/* ================================ */
.travel-biz-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 32px; }
.travel-biz-card {
    display: flex; flex-direction: column; background: #fff; border-radius: 20px; box-shadow: var(--travel-shadow);
    padding: 32px; transition: transform 0.3s;
}
.travel-biz-card:hover { transform: translateY(-4px); }
.travel-biz-card__header { display: flex; justify-content: space-between; margin-bottom: 16px; }
.travel-biz-card__period {
    padding: 6px 14px; background: #fff3e0; border-radius: 8px; font-size: 13px; font-weight: 700; color: var(--travel-accent);
}
.travel-biz-card__days { font-size: 14px; font-weight: 600; color: #666; }
.travel-biz-card__name { font-size: 22px; font-weight: 800; margin: 0 0 8px; }
.travel-biz-card__city { font-size: 16px; color: var(--travel-primary); font-weight: 600; margin-bottom: 16px; }
.travel-biz-card__desc { font-size: 15px; color: #555; line-height: 1.6; margin: 0 0 20px; }
.travel-biz-card__includes { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 24px; }
.travel-biz-card__include { display: flex; align-items: center; gap: 6px; font-size: 14px; color: #333; font-weight: 500; }
.travel-biz-card__footer { display: flex; justify-content: space-between; align-items: center; margin-top: auto; padding-top: 20px; border-top: 1px solid #f0f0f0; }
.travel-biz-card__price { font-size: 26px; font-weight: 800; color: var(--travel-primary); }
.travel-biz-card__btn { padding: 12px 28px; background: #1a1a1a; color: #fff; border-radius: 10px; text-decoration: none; font-size: 15px; font-weight: 600; transition: background 0.2s; }
.travel-biz-card__btn:hover { background: #333; }

/* Услуги */
.travel-services { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.travel-service { padding: 32px 24px; background: #fff; border: 1px solid #eee; border-radius: 20px; text-align: center; }
.travel-service__icon { width: 56px; height: 56px; border-radius: 16px; background: rgba(198, 40, 40, 0.05); color: var(--travel-primary); display: flex; align-items: center; justify-content: center; margin: 0 auto 16px; }
.travel-service__name { font-size: 18px; font-weight: 700; margin: 0 0 10px; }
.travel-service__desc { font-size: 14px; color: #666; line-height: 1.5; margin: 0; }

/* Выставки */
.travel-exhibitions { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.travel-exhibition { padding: 24px; background: #fff; border: 1px solid #eee; border-radius: 16px; }
.travel-exhibition__name { font-size: 18px; font-weight: 700; margin: 0 0 12px; color: #111; }
.travel-exhibition__meta { display: flex; gap: 16px; margin-bottom: 12px; }
.travel-exhibition__city { font-size: 14px; color: var(--travel-primary); font-weight: 600; }
.travel-exhibition__period { font-size: 14px; color: var(--travel-accent); font-weight: 600; }
.travel-exhibition__desc { font-size: 14px; color: #555; margin: 0; line-height: 1.5; }

/* Форма заявки */
.travel-biz-form { background: #fff; border-radius: 20px; box-shadow: var(--travel-shadow); padding: 40px; margin: 0 20px; }
.travel-biz-form__fields { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-bottom: 24px; }
.travel-biz-form__field--full { grid-column: 1 / -1; }
.travel-biz-form__field label { display: block; font-size: 14px; color: #666; margin-bottom: 8px; font-weight: 600; }
.travel-biz-form__field input, .travel-biz-form__field select, .travel-biz-form__field textarea {
    width: 100%; padding: 14px 16px; border: 1px solid #ddd; border-radius: 10px; font-size: 15px; font-family: inherit; box-sizing: border-box; transition: border-color 0.2s;
}
.travel-biz-form__field input:focus, .travel-biz-form__field select:focus, .travel-biz-form__field textarea:focus { border-color: var(--travel-primary); outline: none; }
.travel-biz-form__submit { padding: 16px 48px; background: var(--travel-primary); color: #fff; border: none; border-radius: 12px; font-size: 16px; font-weight: 700; cursor: pointer; transition: background 0.2s; }
.travel-biz-form__submit:hover { background: var(--travel-primary-hover); }

/* ================================ */
/* Аренда авто                      */
/* ================================ */
.travel-auto-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.travel-auto-card { display: flex; flex-direction: column; align-items: center; background: #fff; border-radius: 20px; box-shadow: var(--travel-shadow); padding: 32px 24px; text-align: center; }
.travel-auto-card__icon { margin-bottom: 16px; color: var(--travel-primary); }
.travel-auto-card__name { font-size: 20px; font-weight: 700; margin: 0 0 6px; }
.travel-auto-card__example { font-size: 14px; color: #888; margin-bottom: 20px; }
.travel-auto-card__price { margin-bottom: 4px; }
.travel-auto-card__price-val { font-size: 32px; font-weight: 800; color: var(--travel-primary); }
.travel-auto-card__price-per { font-size: 14px; color: #888; }
.travel-auto-card__deposit { font-size: 13px; color: #999; margin-bottom: 24px; }
.travel-auto-card__features { list-style: none; padding: 0; margin: 0 0 24px; width: 100%; border-top: 1px solid #f0f0f0; padding-top: 16px; }
.travel-auto-card__features li { display: flex; align-items: center; gap: 10px; padding: 8px 0; font-size: 14px; color: #444; text-align: left; }
.travel-auto-card__btn { display: block; width: 100%; padding: 14px; background: var(--travel-primary); color: #fff; border-radius: 10px; text-decoration: none; font-size: 15px; font-weight: 600; text-align: center; transition: background 0.2s; margin-top: auto; }
.travel-auto-card__btn:hover { background: var(--travel-primary-hover); }

.travel-auto-cities { display: flex; flex-wrap: wrap; gap: 12px; }
.travel-auto-city { padding: 10px 20px; background: #fff; border: 1px solid #eee; border-radius: 10px; font-size: 15px; font-weight: 500; color: #333; }

/* Требования */
.travel-requirements { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.travel-requirement { padding: 32px 24px; background: #fff; border: 1px solid #eee; border-radius: 16px; }
.travel-requirement__icon { width: 56px; height: 56px; border-radius: 16px; background: rgba(198, 40, 40, 0.05); color: var(--travel-primary); display: flex; align-items: center; justify-content: center; margin-bottom: 16px; }
.travel-requirement h3 { font-size: 18px; font-weight: 700; margin: 0 0 10px; }
.travel-requirement p { font-size: 14px; color: #666; line-height: 1.6; margin: 0; }

/* ================================ */
/* Страховки                        */
/* ================================ */
.travel-insurance-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.travel-insurance-card { display: flex; flex-direction: column; background: #fff; border: 2px solid #eee; border-radius: 24px; padding: 40px 32px; position: relative; transition: border-color 0.2s, box-shadow 0.2s; }
.travel-insurance-card--popular { border-color: var(--travel-primary); box-shadow: var(--travel-shadow); }
.travel-insurance-card__badge { position: absolute; top: -14px; left: 50%; transform: translateX(-50%); background: var(--travel-primary); color: #fff; padding: 6px 20px; border-radius: 20px; font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; }
.travel-insurance-card__name { font-size: 26px; font-weight: 800; text-align: center; margin: 0 0 20px; color: #111; }
.travel-insurance-card__price { text-align: center; margin-bottom: 8px; }
.travel-insurance-card__price-val { font-size: 42px; font-weight: 800; color: var(--travel-primary); }
.travel-insurance-card__price-per { font-size: 16px; color: #888; font-weight: 500; }
.travel-insurance-card__coverage { text-align: center; font-size: 15px; font-weight: 600; color: #555; margin-bottom: 24px; padding-bottom: 20px; border-bottom: 1px solid #eee; }
.travel-insurance-card__includes { list-style: none; padding: 0; margin: 0 0 24px; flex-grow: 1; display: flex; flex-direction: column; gap: 12px; }
.travel-insurance-card__include, .travel-insurance-card__exclude { display: flex; align-items: center; gap: 10px; font-size: 15px; }
.travel-insurance-card__include { color: #222; font-weight: 500; }
.travel-insurance-card__exclude { color: #aaa; text-decoration: line-through; }
.travel-insurance-card__example { text-align: center; font-size: 14px; color: #888; margin-bottom: 24px; padding-top: 16px; border-top: 1px solid #eee; }
.travel-insurance-card__btn { display: block; text-align: center; padding: 16px; background: var(--travel-primary); color: #fff; border-radius: 12px; text-decoration: none; font-size: 16px; font-weight: 700; transition: background 0.2s; }
.travel-insurance-card__btn:hover { background: var(--travel-primary-hover); }

/* Покрытие */
.travel-coverage { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.travel-coverage__item { padding: 32px 24px; background: #fff; border: 1px solid #eee; border-radius: 20px; }
.travel-coverage__icon { width: 56px; height: 56px; border-radius: 16px; background: rgba(198, 40, 40, 0.05); color: var(--travel-primary); display: flex; align-items: center; justify-content: center; margin-bottom: 16px; }
.travel-coverage__item h3 { font-size: 18px; font-weight: 700; margin: 0 0 10px; }
.travel-coverage__item p { font-size: 14px; color: #666; line-height: 1.6; margin: 0; }

/* Шаги */
.travel-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.travel-step { text-align: center; padding: 24px; }
.travel-step__num { width: 56px; height: 56px; border-radius: 50%; background: var(--travel-primary); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 22px; font-weight: 800; margin: 0 auto 16px; }
.travel-step h3 { font-size: 18px; font-weight: 700; margin: 0 0 10px; }
.travel-step p { font-size: 14px; color: #666; line-height: 1.5; margin: 0; }

/* ================================ */
/* Страница города                  */
/* ================================ */
.travel-city-facts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.travel-city-fact { background: #fff; border: 1px solid #eee; border-radius: 16px; padding: 24px; text-align: center; }
.travel-city-fact__label { display: block; font-size: 14px; font-weight: 600; color: #888; margin-bottom: 8px; text-transform: uppercase; letter-spacing: 0.5px; }
.travel-city-fact__val { display: block; font-size: 24px; font-weight: 800; color: var(--travel-primary); }

.travel-city-highlights { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.travel-city-highlight { display: flex; align-items: center; gap: 12px; padding: 16px 20px; background: #fff; border: 1px solid #eee; border-radius: 12px; font-size: 16px; font-weight: 500; }

.travel-city-flights { background: #fff; border-radius: 20px; box-shadow: var(--travel-shadow); padding: 32px; }
.travel-city-flight-info { display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; }
.travel-city-flight-price__label { font-size: 15px; font-weight: 600; color: #888; display: block; margin-bottom: 4px; }
.travel-city-flight-price__val { font-size: 36px; font-weight: 800; color: var(--travel-primary); line-height: 1; }
.travel-city-flight-price__note { font-size: 13px; color: #999; display: block; margin-top: 6px; }
.travel-city-flight-meta { text-align: right; font-size: 15px; color: #555; line-height: 1.8; font-weight: 500; }
.travel-city-airlines__list { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; justify-content: flex-end; }
.travel-city-airline { padding: 6px 16px; background: rgba(198, 40, 40, 0.05); border-radius: 8px; font-size: 14px; color: var(--travel-primary); font-weight: 600; }

.travel-city-link { display: inline-block; margin-top: 24px; color: var(--travel-primary); text-decoration: none; font-weight: 700; font-size: 16px; border-bottom: 2px solid transparent; transition: border-color 0.2s; }
.travel-city-link:hover { border-bottom-color: var(--travel-primary); }

.travel-city-hotels { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.travel-city-hotel-type { padding: 16px 20px; background: #fff; border: 1px solid #eee; border-radius: 12px; font-size: 16px; font-weight: 500; display: flex; justify-content: space-between; }

/* Туры города */
.travel-city-tours { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.travel-city-tour { background: #fff; border: 1px solid #eee; border-radius: 16px; padding: 24px; transition: border-color 0.2s, box-shadow 0.2s; }
.travel-city-tour:hover { border-color: var(--travel-primary); box-shadow: var(--travel-shadow); }
.travel-city-tour__header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.travel-city-tour__type { font-size: 13px; font-weight: 700; color: var(--travel-primary); text-transform: uppercase; letter-spacing: 0.5px; }
.travel-city-tour__days { font-size: 14px; font-weight: 600; color: #888; }
.travel-city-tour__name { font-size: 20px; font-weight: 700; margin: 0 0 10px; color: #111; }
.travel-city-tour__desc { font-size: 14px; color: #666; line-height: 1.5; margin: 0 0 16px; }
.travel-city-tour__footer { display: flex; justify-content: space-between; align-items: center; border-top: 1px solid #eee; padding-top: 16px; }
.travel-city-tour__price { font-size: 22px; font-weight: 800; color: var(--travel-primary); }
.travel-city-tour__link { color: var(--travel-text-main); font-weight: 600; text-decoration: none; padding: 8px 16px; background: #f5f5f5; border-radius: 8px; transition: background 0.2s; }
.travel-city-tour__link:hover { background: #e0e0e0; }

/* Климат */
.travel-climate-bars { display: flex; justify-content: space-between; gap: 6px; padding: 24px 0; }
.travel-climate-bar { display: flex; flex-direction: column; align-items: center; flex: 1; gap: 6px; }
.travel-climate-bar__month { font-size: 13px; color: #888; font-weight: 600; }
.travel-climate-bar__track { width: 24px; height: 140px; background: #f5f5f5; border-radius: 12px; position: relative; overflow: hidden; }
.travel-climate-bar__fill { position: absolute; left: 0; right: 0; background: linear-gradient(to top, var(--travel-accent), var(--travel-primary)); border-radius: 12px; }
.travel-climate-bar__hi { font-size: 14px; font-weight: 800; color: var(--travel-primary); }
.travel-climate-bar__lo { font-size: 13px; font-weight: 600; color: #555; }
.travel-climate-bar--current .travel-climate-bar__month { color: var(--travel-primary); font-weight: 800; }
.travel-climate-bar--current .travel-climate-bar__track { background: rgba(198, 40, 40, 0.08); }

/* Другие города */
.travel-other-cities { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.travel-other-city { display: flex; flex-direction: column; align-items: center; padding: 20px; background: #fff; border: 1px solid #eee; border-radius: 16px; text-decoration: none; color: #333; transition: border-color 0.2s, box-shadow 0.2s; }
.travel-other-city:hover { border-color: var(--travel-primary); box-shadow: var(--travel-shadow); transform: translateY(-2px); }
.travel-other-city__name { font-size: 18px; font-weight: 700; margin-bottom: 4px; }
.travel-other-city__cn { font-size: 14px; color: #999; }
.travel-other-city__price { font-size: 16px; font-weight: 800; color: var(--travel-primary); margin-top: 8px; }

/* 404 */
.travel-404 { text-align: center; padding: 100px 20px; }
.travel-404 h1 { font-size: 32px; font-weight: 800; color: #111; margin: 0 0 16px; }
.travel-404 p { font-size: 18px; color: #666; margin: 0 0 32px; }
.travel-404 a { display: inline-block; padding: 14px 32px; background: var(--travel-primary); color: #fff; border-radius: 10px; text-decoration: none; font-weight: 700; transition: background 0.2s; }
.travel-404 a:hover { background: var(--travel-primary-hover); }

/* ================================ */
/* АДАПТИВНОСТЬ                     */
/* ================================ */

@media (max-width: 1024px) {
    .travel-nav-grid { grid-template-columns: repeat(5, 1fr); gap: 16px; }
    .travel-destinations, .travel-dest-grid { grid-template-columns: repeat(3, 1fr); }
    .travel-deals, .travel-deals-grid { grid-template-columns: repeat(2, 1fr); }
    .travel-hotel-cities { grid-template-columns: repeat(2, 1fr); }
    .travel-hotel-types { grid-template-columns: repeat(3, 1fr); }
    .travel-auto-grid { grid-template-columns: repeat(2, 1fr); }
    .travel-steps { grid-template-columns: repeat(2, 1fr); }
    .travel-exhibitions { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
    .travel-page { padding: 0 0 40px; }
    .travel-section { padding: 0 20px; }
    .travel-nav { padding: 0 20px; }
    .travel-search { margin: 0 20px 32px; }
    .travel-biz-form { margin: 0 20px; }
    
    .travel-banner { padding: 40px 24px; border-radius: 16px; margin-left: 20px; margin-right: 20px; height: auto; }
    .travel-banner__title { font-size: 28px; }
    .travel-banner__cn { font-size: 48px; }
    .travel-banner__stats { flex-direction: column; gap: 16px; }
    
    .travel-nav-grid { grid-template-columns: repeat(4, 1fr); padding: 0 20px; gap: 12px; }
    
    .travel-search__fields { flex-direction: column; }
    .travel-search__field { min-width: auto; }
    .travel-search__field--pax { flex: auto; }
    .travel-search__submit { align-self: stretch; }

    .travel-destinations, .travel-dest-grid { grid-template-columns: repeat(2, 1fr); }
    .travel-deals, .travel-deals-grid { grid-template-columns: 1fr; }
    .travel-advantages, .travel-adv-grid { grid-template-columns: repeat(2, 1fr); }
    .travel-tours-grid { grid-template-columns: 1fr; }
    .travel-biz-grid { grid-template-columns: 1fr; }
    .travel-services { grid-template-columns: repeat(2, 1fr); }
    .travel-airlines { grid-template-columns: 1fr; }
    .travel-tips { grid-template-columns: 1fr; }
    .travel-hotel-types { grid-template-columns: repeat(2, 1fr); }
    .travel-tour-types { grid-template-columns: repeat(2, 1fr); }
    .travel-insurance-grid { grid-template-columns: 1fr; }
    .travel-auto-grid { grid-template-columns: 1fr; }
    .travel-city-facts { grid-template-columns: repeat(2, 1fr); }
    .travel-city-highlights { grid-template-columns: 1fr; }
    .travel-city-flight-info { flex-direction: column; gap: 16px; align-items: flex-start; }
    .travel-city-flight-meta { text-align: left; }
    .travel-city-airlines__list { justify-content: flex-start; }
    .travel-city-tours { grid-template-columns: 1fr; }
    .travel-other-cities { grid-template-columns: repeat(2, 1fr); }
    .travel-coverage { grid-template-columns: repeat(2, 1fr); }
    .travel-requirements { grid-template-columns: 1fr; }
    .travel-exhibitions { grid-template-columns: 1fr; }
    .travel-biz-form__fields { grid-template-columns: 1fr; }
    .travel-route__info { flex-direction: column; align-items: flex-end; gap: 4px; }
    .travel-steps { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
    .travel-destinations, .travel-dest-grid { grid-template-columns: 1fr; }
    .travel-advantages, .travel-adv-grid { grid-template-columns: 1fr; gap: 24px; }
    .travel-hotel-cities { grid-template-columns: 1fr; }
    .travel-hotel-types { grid-template-columns: 1fr; }
    .travel-services { grid-template-columns: 1fr; }
    .travel-city-facts { grid-template-columns: 1fr; }
    .travel-other-cities { grid-template-columns: 1fr; }
    .travel-coverage { grid-template-columns: 1fr; }
    
    .travel-nav-grid { grid-template-columns: repeat(3, 1fr); gap: 10px; }
    .travel-tour-types { grid-template-columns: 1fr; }
    
    .travel-route { flex-direction: column; align-items: flex-start; gap: 12px; }
    .travel-route__info { flex-direction: row; width: 100%; justify-content: space-between; }
    
    .travel-climate-bar__track { height: 100px; }
    .travel-climate-bars { overflow-x: auto; padding-bottom: 12px; }
}

/* End */
/* /local/components/china/travel/templates/.default/style.css?177405824044424 */
