
/* Витрина экскурсий liberty-tur.ru, модуль «Доска объявлений». Divly 34366 */
.lv { padding-top: 0; }
.lv-hero { text-align: center; margin: 0 auto 2.5rem; max-width: 900px; }
.lv-hero h1 { font-size: 2.6rem; font-weight: 800; line-height: 1.2; margin-bottom: .8rem; }
.lv-hero h1::after { content: ''; display: block; width: 120px; height: 5px; background: var(--yellow); margin: .8rem auto 0; border-radius: 2px; }
.lv-hero p { color: var(--gray-medium); font-size: 1.1rem; }
.lv-hero-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: .8rem; margin-top: 1.4rem; }
.lv-action { display: inline-flex; align-items: center; justify-content: center; gap: .55rem; min-height: 46px; padding: .75rem 1.2rem; border: 2px solid var(--yellow); border-radius: 12px; color: var(--black); background: #fff; font-family: 'Montserrat', sans-serif; font-weight: 700; text-decoration: none; box-shadow: 0 5px 16px rgba(0,0,0,.08); }
.lv-action:hover { color: var(--black); background: var(--yellow); transform: translateY(-1px); }
.lv-action-primary { background: var(--yellow); }
.lv-h2 { font-size: 2rem; font-weight: 800; margin: 4rem 0 1.5rem; scroll-margin-top: 90px; }
.lv-h2::after { content: ''; display: block; width: 90px; height: 4px; background: var(--yellow); margin-top: .6rem; border-radius: 2px; }

/* Плитки разделов */
.lv-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 2rem; scroll-margin-top: 110px; }
.lv-tile { display: flex; flex-direction: column; color: inherit; }
.lv-tile .destination-img { height: 190px; position: relative; overflow: hidden; }
.lv-tile .destination-content { padding: 1.3rem 1.5rem 1.5rem; display: flex; flex-direction: column; gap: .4rem; flex: 1; }
.lv-tile .destination-name { font-size: 1.3rem; margin: 0; line-height: 1.25; }
.lv-tile-meta { display: flex; justify-content: space-between; align-items: baseline; gap: .5rem; margin-top: auto; color: var(--gray-medium); font-size: .95rem; }
.lv-tile-price { color: var(--red); font-weight: 700; font-size: 1.1rem; white-space: nowrap; font-family: 'Montserrat', sans-serif; }
.lv-tile-badge { position: absolute; top: 12px; left: 12px; background: var(--red); color: #fff; font-size: .8rem; font-weight: 700; padding: .25rem .7rem; border-radius: 20px; font-family: 'Montserrat', sans-serif; z-index: 2; }
.lv-tiles-empty { grid-column: 1 / -1; text-align: center; color: var(--gray-medium); padding: 2rem 0; }

/* Заглушка без фото: название на цветном фоне */
.lv-ph { display: flex; align-items: flex-end; padding: 1.1rem 1.2rem; color: #fff; position: relative; overflow: hidden; background: linear-gradient(135deg, #2a3f93, #1a1a1a); }
.lv-ph::before { content: '\f207'; font-family: 'Font Awesome 6 Free'; font-weight: 900; position: absolute; right: -10px; top: -12px; font-size: 7rem; opacity: .12; line-height: 1; }
.lv-ph span { position: relative; font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 1.35rem; line-height: 1.2; text-shadow: 0 2px 8px rgba(0,0,0,.35); }
.lv-ph-0 { background: linear-gradient(135deg, #2a3f93, #121c45); }
.lv-ph-1 { background: linear-gradient(135deg, #e31e25, #7a0f13); }
.lv-ph-2 { background: linear-gradient(135deg, #fec70a, #e0750a); }
.lv-ph-2 span { color: #1a1a1a; text-shadow: none; }
.lv-ph-3 { background: linear-gradient(135deg, #1a1a1a, #3d3d3d); }
.lv-ph-4 { background: linear-gradient(135deg, #2a3f93, #e31e25); }
.lv-ph-5 { background: linear-gradient(135deg, #0f7a6b, #0b3d52); }
.lv-ph-6 { background: linear-gradient(135deg, #6b2fa3, #2a3f93); }
.lv-ph-7 { background: linear-gradient(135deg, #e0750a, #e31e25); }
.lv-ph-ny { background: radial-gradient(circle at 25% 20%, #3c5bd1 0, #14205a 55%, #0b1236 100%); }
.lv-ph-ny::before { content: '\f2dc'; opacity: .18; }
.lv-ph-lim { background: linear-gradient(135deg, #1a1a1a 0, #1a1a1a 55%, #e31e25 100%); }
.lv-ph-lim::before { content: '\f005'; opacity: .16; }
.lv-ph.lv-ph-img { background-size: cover; background-position: center; }
.lv-ph.lv-ph-img::before { content: none; }
.lv-ph.lv-ph-img span { color: #fff; text-shadow: 0 2px 10px rgba(0,0,0,.55); }

/* Карточки туров */
.lv-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 2rem; }
.lv-cards #allEntries, .lv-cards [id^="entryID"] { display: contents; }
#po-mesyacam, #lvTiles { scroll-margin-top: 110px; }
.lv-item { display: flex; flex-direction: column; position: relative; }
.lv-item .tour-img { height: 210px; display: block; }
.lv-item .lv-ph { height: 210px; }
.lv-item .lv-card-img { display: block; color: #fff; text-decoration: none; }
.lv-item .tour-content { display: flex; flex-direction: column; gap: .55rem; flex: 1; padding: 1.4rem 1.5rem 1.5rem; }
.lv-item .tour-title { font-size: 1.2rem; line-height: 1.3; margin: 0; }
.lv-item .tour-title a { color: inherit; text-decoration: none; }
.lv-item .tour-title a:hover { color: var(--red); }
.lv-row { color: var(--gray-medium); font-size: .95rem; display: flex; gap: .55rem; align-items: baseline; }
.lv-row i { color: var(--red); width: 16px; text-align: center; flex-shrink: 0; }
.lv-chips { display: flex; flex-wrap: wrap; gap: .4rem; }
.lv-chips .tour-dates { margin: 0; font-size: .88rem; }
.lv-chips .lv-chip-none { color: var(--gray-medium); font-size: .9rem; }
.lv-card-foot { display: flex; align-items: center; justify-content: space-between; gap: .8rem; flex-wrap: wrap; margin-top: auto; padding-top: .6rem; }
.lv-price { color: var(--red); font-weight: 700; font-size: 1.25rem; font-family: 'Montserrat', sans-serif; white-space: nowrap; }
.lv-price small { font-size: .8rem; color: var(--gray-medium); font-weight: 500; }
.lv-card-foot .tour-button { margin-top: 0; }
.lv-moder { position: absolute; top: 8px; right: 8px; z-index: 3; background: #fff; border-radius: 8px; padding: 2px 4px; }
.lv-js .lv-hide-js { display: none !important; }
.lv-nojs-only { display: none; }
.lv-brief { color: var(--gray-medium); font-size: 1.02rem; margin: .2rem 0 1rem; }
.lv-empty { text-align: center; color: var(--gray-medium); padding: 3rem 0; font-size: 1.1rem; }
.lv-back { display: inline-flex; align-items: center; gap: .5rem; color: var(--red); font-weight: 600; text-decoration: none; margin-top: 2.5rem; }
.lv-back:hover { text-decoration: underline; }
.lv-pages { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .45rem; margin: 2rem 0; padding: .85rem 1rem; border: 1px solid rgba(0,0,0,.08); border-radius: 14px; background: var(--gray-light); text-align: center; }
.lv-pages-top { margin-top: -1rem; margin-bottom: 2rem; }
.lv-pages-label { margin-right: .35rem; color: var(--gray-medium); font-weight: 600; }
.lv-pages a, .lv-pages > span:not(.lv-pages-label) { display: inline-flex; align-items: center; justify-content: center; min-width: 42px; height: 42px; padding: 0 .75rem; border: 2px solid transparent; border-radius: 10px; background: #fff; color: var(--black); font-family: 'Montserrat', sans-serif; font-weight: 800; text-decoration: none; box-shadow: 0 2px 8px rgba(0,0,0,.08); }
.lv-pages a:hover { border-color: var(--yellow); color: var(--black); }
.lv-pages > span:not(.lv-pages-label), .lv-pages b { background: var(--yellow); color: var(--black); }

/* Шапка категории */
.lv-cat-hero { position: relative; border-radius: 16px; overflow: hidden; margin-bottom: 2.5rem; min-height: 220px; display: flex; align-items: flex-end; background: linear-gradient(135deg, #2a3f93, #1a1a1a) center/cover no-repeat; }
.lv-cat-hero::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0,0,0,.65), rgba(0,0,0,.1)); }
.lv-cat-hero-in { position: relative; z-index: 1; padding: 2rem 2.2rem; color: #fff; }
.lv-cat-hero h1 { font-size: 2.4rem; font-weight: 800; line-height: 1.2; margin: 0; }
.lv-cat-hero p { margin-top: .5rem; font-size: 1.05rem; opacity: .92; max-width: 800px; }

/* Новый год и Рождество */
.lv-ny .lv-cat-hero { background: radial-gradient(circle at 20% 15%, #3c5bd1 0, #14205a 55%, #0b1236 100%) center/cover no-repeat; }
.lv-snow { position: absolute; inset: 0; pointer-events: none; overflow: hidden; z-index: 1; }
.lv-snow i { position: absolute; top: -20px; color: #fff; opacity: .8; animation: lvSnow linear infinite; font-style: normal; }
@keyframes lvSnow { to { transform: translateY(260px) rotate(180deg); } }
.lv-ny-garland { position: absolute; left: 0; right: 0; bottom: 0; height: 10px; z-index: 2; background: repeating-linear-gradient(90deg, #e31e25 0 18px, #fec70a 18px 36px, #2fbf71 36px 54px, #3c8bff 54px 72px); opacity: .9; }
@media (prefers-reduced-motion: reduce) { .lv-snow i { animation: none; display: none; } }

/* Таблица по месяцам */
.lv-file { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; margin: 0 0 1.5rem; }
.lv-file a { display: inline-flex; align-items: center; gap: .6rem; background: var(--gray-light); border: 1px solid rgba(0,0,0,.08); padding: .7rem 1.2rem; border-radius: 12px; color: var(--black); font-weight: 600; text-decoration: none; }
.lv-file a i { color: var(--red); }
.lv-file a:hover { border-color: var(--yellow); }
.lv-table-wrap { border-radius: 12px; overflow: hidden; box-shadow: 0 5px 20px rgba(0,0,0,.08); }
.lv-table { width: 100%; border-collapse: collapse; background: #fff; }
.lv-table th { background: var(--yellow); color: var(--black); text-align: left; padding: 1rem; font-family: 'Montserrat', sans-serif; font-weight: 700; }
.lv-table td { padding: .9rem 1rem; border-bottom: 1px solid #eee; vertical-align: top; }
.lv-table tr.lv-month td { background: var(--gray-dark); color: var(--yellow); font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 1.05rem; text-transform: uppercase; letter-spacing: .5px; padding: .75rem 1rem; }
.lv-table tbody tr:not(.lv-month):hover td { background: rgba(254,199,10,.07); }
.lv-table td a { color: var(--black); text-decoration: none; }
.lv-table td a:hover { color: var(--red); text-decoration: underline; }
.lv-table .lv-t-cat { font-weight: 800; text-transform: uppercase; }
.lv-table .lv-t-dates { white-space: nowrap; color: var(--blue); font-weight: 600; }
.lv-table .lv-t-price { white-space: nowrap; color: var(--red); font-weight: 700; font-family: 'Montserrat', sans-serif; }
.lv-table-note { color: var(--gray-medium); font-size: .95rem; margin-top: 1rem; }

/* Страница тура */
.lv-tour-top { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 2.5rem; align-items: start; }
.lv-tour-photo { border-radius: 16px; overflow: hidden; box-shadow: 0 12px 25px rgba(0,0,0,.1); }
.lv-tour-photo img { display: block; width: 100%; height: auto; max-height: 520px; object-fit: cover; }
.lv-tour-photo .lv-ph { min-height: 320px; }
.lv-tour-photo .lv-ph span { font-size: 1.8rem; }
.lv-tour-info h1 { font-size: 2.2rem; font-weight: 800; line-height: 1.2; margin-bottom: 1.2rem; }
.lv-tour-info .lv-row { font-size: 1.05rem; margin-bottom: .6rem; }
.lv-tour-info .lv-chips { margin: .8rem 0 1.2rem; }
.lv-tour-info .lv-chips .tour-dates { font-size: .95rem; }
.lv-tour-price { color: var(--red); font-weight: 800; font-size: 1.9rem; font-family: 'Montserrat', sans-serif; margin: .4rem 0 1.2rem; }
.lv-tour-price small { font-size: 1rem; color: var(--gray-medium); font-weight: 500; }
.lv-bron { background: var(--gray-light); border-radius: 16px; padding: 1.4rem 1.5rem; margin-top: 1rem; scroll-margin-top: 90px; }
.lv-bron .tour-button { margin: 0 0 1rem; font-size: 1.05rem; padding: .85rem 2rem; }
.lv-bron-phones { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; font-weight: 600; }
.lv-bron-phones a { color: var(--black); text-decoration: none; white-space: nowrap; }
.lv-bron-phones a i { color: var(--red); margin-right: .35rem; }
.lv-bron-note { color: var(--gray-medium); font-size: .92rem; margin-bottom: .6rem; }
.lv-prog-file { display: inline-flex; align-items: center; gap: .6rem; margin-top: 1rem; color: var(--blue); font-weight: 600; text-decoration: none; }
.lv-prog-file i { color: var(--red); }
.lv-print { display: inline-flex; align-items: center; gap: .6rem; margin: 1rem 0 0 .75rem; padding: .7rem 1rem; border: 1px solid rgba(0,0,0,.12); border-radius: 10px; background: #fff; color: var(--black); font-family: 'Montserrat', sans-serif; font-weight: 700; cursor: pointer; }
.lv-print i { color: var(--red); }
.lv-print:hover { border-color: var(--yellow); }
.lv-program { margin-top: 3rem; font-size: 1.02rem; line-height: 1.7; overflow-wrap: anywhere; }
.lv-program h2.lv-h2 { margin-top: 0; }
.lv-program-body { min-width: 0; overflow-x: auto; }
.lv-program-body, .lv-program-body * { font-family: 'Inter', sans-serif !important; max-width: 100% !important; }
.lv-program-body * { font-size: inherit !important; line-height: inherit !important; color: inherit; background: none !important; }
.lv-program-body b, .lv-program-body strong { font-weight: 700; }
.lv-program-body h3, .lv-program-body h4 { font-family: 'Montserrat', sans-serif !important; font-weight: 800; font-size: 1.15rem !important; line-height: 1.35 !important; margin: 1.8rem 0 .7rem; padding-left: .7rem; border-left: 4px solid var(--yellow, #fec70a); }
.lv-program-body > h3:first-child { margin-top: 0; }
.lv-program-body p, .lv-program-body div { margin: 0 0 .7rem; }
.lv-program-body table { width: 100% !important; border-collapse: collapse; margin: 1rem 0; }
.lv-program-body td, .lv-program-body th { border: 1px solid #e5e5e5; padding: .5rem .7rem; vertical-align: top; width: auto !important; }
.lv-program-body tr > td:first-child { min-width: 4.8rem; }
.lv-program-body img { height: auto !important; border-radius: 10px; }
.lv-program-body ul, .lv-program-body ol { padding-left: 1.4rem; margin: 0 0 .8rem; }
.lv-program-body ul { list-style: disc; }
.lv-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 1rem; margin-top: 2rem; }
.lv-gallery a { display: block; border-radius: 12px; overflow: hidden; aspect-ratio: 4 / 3; background: var(--gray-light); }
.lv-gallery img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s; }
.lv-gallery a:hover img { transform: scale(1.05); }
.lv-box { position: fixed; inset: 0; background: rgba(0,0,0,.9); z-index: 3000; display: flex; align-items: center; justify-content: center; padding: 2rem; cursor: zoom-out; }
.lv-box img { max-width: 100%; max-height: 100%; border-radius: 8px; }
.lv-tour-cats { margin-top: 2.5rem; color: var(--gray-medium); }
.lv-tour-cats a { color: var(--red); text-decoration: none; font-weight: 600; }

@media (max-width: 992px) {
 .lv-tour-top { grid-template-columns: 1fr; gap: 1.5rem; }
}
@media (max-width: 768px) {
 .lv-hero h1, .lv-cat-hero h1 { font-size: 1.8rem; }
 .lv-tour-info h1 { font-size: 1.7rem; }
 .lv-h2 { font-size: 1.6rem; margin-top: 3rem; }
 .lv-tiles, .lv-cards { gap: 1.2rem; }
 .lv-cat-hero-in { padding: 1.4rem 1.3rem; }
 .lv-table thead { display: none; }
 .lv-table, .lv-table tbody, .lv-table tr, .lv-table td { display: block; width: 100%; }
 .lv-table tr:not(.lv-month) { padding: .8rem 1rem; border-bottom: 1px solid #eee; }
 .lv-table tr:not(.lv-month) td { border: 0; padding: .15rem 0; }
 .lv-table .lv-t-dates, .lv-table .lv-t-price { display: inline-block; width: auto; margin-right: 1rem; }
}
@media (max-width: 576px) {
 .lv-tiles, .lv-cards { grid-template-columns: 1fr; }
 .lv-tour-price { font-size: 1.6rem; }
 .lv-hero-actions, .lv-action { width: 100%; }
 .lv-print { margin-left: 0; }
}
@media print {
 @page { margin: 14mm; }
 body { background: #fff !important; color: #000 !important; }
 body > header, body > footer, .site-header, .header, .footer, .breadcrumbs, .lv-tour-photo, .lv-bron, .lv-prog-file, .lv-print, .lv-gallery, .lv-tour-cats, .lv-tour-moder, .lv-back, .max-float, .bottomInfoData, [id*="uSocial"], [class*="moder"] { display: none !important; }
 .container, .lv, .lv-tour { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
 .lv-tour-top { display: block !important; }
 .lv-tour-info h1 { margin: 0 0 8mm !important; font-size: 20pt !important; color: #000 !important; }
 .lv-tour-info .lv-row, .lv-tour-info .lv-datebox, .lv-tour-price { display: block !important; margin: 0 0 3mm !important; color: #000 !important; }
 .lv-program { margin-top: 8mm !important; font-size: 10.5pt !important; line-height: 1.35 !important; }
 .lv-program h2.lv-h2 { font-size: 16pt !important; margin: 0 0 5mm !important; }
 .lv-program h2.lv-h2::after { display: none !important; }
 .lv-program-body { overflow: visible !important; }
 .lv-program-body h3, .lv-program-body h4 { break-after: avoid; page-break-after: avoid; margin: 5mm 0 2mm !important; }
 .lv-program-body p, .lv-program-body li, .lv-program-body tr, .lv-program-body img { break-inside: avoid; page-break-inside: avoid; }
 .lv-program-body table { font-size: 9pt !important; }
 .lv-program-body a { color: #000 !important; text-decoration: none !important; }
}

.breadcrumbs a [itemprop="name"]{color:inherit}.breadcrumbs [itemprop="itemListElement"]>[itemprop="name"]{color:var(--black)}.lv-tile-photo{display:block;width:100%;height:100%;object-fit:cover}.lv-index-links{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin:1.5rem 0;line-height:1.7}.lv-index-links a{white-space:normal;overflow-wrap:anywhere;margin:0;max-width:100%}.lv-video-help{margin:2rem 0;scroll-margin-top:110px}.lv-video-help iframe{width:100%;max-width:480px;aspect-ratio:9/16;border:0;border-radius:12px}
