/* Турлидер 2026 — стили по прототипу (prototype/src/*.theme.css + разметка index/pages). */

/* ---------- цвета: тёмная схема по умолчанию, светлая — data-theme="light" ---------- */
:root,[data-theme="dark"]{--bg:#0f1417;--surface:#161d21;--surface2:#1c252a;--line:#263138;--ink:#eef2f3;--muted:#9aa9b0;--accent:#fcc235;--onAccent:#19262c;--link:#1ed1f1;--sale:#ea705a;--gold:#c9a24a;--header:rgba(15,20,23,.8);--shadow:0 30px 70px -30px rgba(0,0,0,.75);color-scheme:dark}
[data-theme="light"]{--bg:#f5efe0;--surface:#fdf9ee;--surface2:#f1e9d6;--line:#e4d9c0;--ink:#1d2a2f;--muted:#5f6a66;--accent:#fcc235;--onAccent:#19262c;--link:#0a86a0;--sale:#dc5a44;--gold:#a8822c;--header:rgba(245,239,224,.88);--shadow:0 30px 70px -30px rgba(70,55,25,.28);color-scheme:light}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.55 'Golos Text',Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;transition:background .3s,color .3s}
a{color:inherit;text-decoration:none}
a:hover{color:var(--link)}
img{max-width:100%;height:auto}
input,button,select,textarea{font:inherit}
input::placeholder,textarea::placeholder{color:var(--muted)}
:focus-visible{outline:2px solid var(--link);outline-offset:3px}
[hidden]{display:none!important}

.tl-wrap{max-width:1320px;margin:0 auto;padding-left:clamp(16px,3vw,32px);padding-right:clamp(16px,3vw,32px)}
.tl-main{min-height:60vh}
.tl-inner .tl-main{padding-top:96px}

@keyframes heartbeat{0%{box-shadow:0 0 0 0 rgba(255,250,215,.5),0 8px 20px -8px rgba(252,194,53,.8)}14%{box-shadow:0 0 0 1.5px rgba(255,250,215,.45),0 8px 20px -8px rgba(252,194,53,.8)}42%{box-shadow:0 0 0 2px rgba(255,250,215,.4),0 8px 20px -8px rgba(252,194,53,.8)}70%,100%{box-shadow:0 0 0 3px rgba(255,250,215,0),0 8px 20px -8px rgba(252,194,53,.8)}}
@keyframes ctaSheen{0%,70%{background-position:100% 0}100%{background-position:0% 0}}
@keyframes globeTxt{0%,100%{opacity:.88;filter:drop-shadow(0 0 0 rgba(255,236,160,0))}50%{opacity:1;filter:drop-shadow(0 0 4px rgba(255,236,160,.85))}}
@keyframes tlWave{0%,100%{transform:translateY(0)}50%{transform:translateY(-5%)}}
@keyframes tlShine{0%{background-position:160% 0,0 0}45%,100%{background-position:-60% 0,0 0}}
@keyframes tlSpin{to{transform:rotate(360deg)}}
@keyframes tlRise{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}

/* ---------- кнопки, подписи ---------- */
.tl-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 24px;border-radius:999px;border:0;font-size:15px;font-weight:700;cursor:pointer;white-space:nowrap;transition:transform .2s,box-shadow .2s,background .2s,opacity .2s;color:var(--ink);background:var(--surface2)}
.tl-btn:hover{transform:translateY(-1px)}
.tl-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
.tl-btn--accent{background:var(--accent);color:var(--onAccent)}
.tl-btn--accent:hover{color:var(--onAccent);box-shadow:0 10px 26px -12px rgba(252,194,53,.9)}
.tl-btn--gold{background:linear-gradient(90deg,#e6c56e,#c9a24a);color:#19150a}
.tl-btn--gold:hover{color:#19150a}
.tl-btn--ghost{background:rgba(255,255,255,.06);border:1px solid color-mix(in srgb,var(--ink) 40%,transparent);color:var(--ink)}
.tl-btn--lg{height:54px;padding:0 28px;font-size:16px}
.tl-btn--small{height:38px;padding:0 16px;font-size:14px}
.tl-btn--wide{width:100%}
.tl-btn--cta{height:44px;padding:0 20px;font-size:14px;color:#19262c;background-image:linear-gradient(100deg,#fcc235 40%,#fff2be 50%,#fcc235 60%);background-size:260% 100%;box-shadow:0 8px 22px -10px rgba(252,194,53,.9);animation:ctaSheen 7s ease-in-out 2s infinite}
.tl-btn--cta:hover{color:#19262c}
.tl-cta-short{display:none}
.tl-link{color:var(--link);font-weight:600;border-bottom:1px solid currentColor;padding-bottom:1px}
.tl-more{font-size:15px;font-weight:600;color:var(--link);border-bottom:1px solid;padding-bottom:2px}
.tl-eyebrow{font-size:13px;letter-spacing:.24em;text-transform:uppercase;color:var(--accent)}
.tl-eyebrow--sale{color:var(--sale)}
.tl-eyebrow--gold{color:var(--gold);letter-spacing:.3em;font-size:12px}
.tl-label{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.tl-h1{font-family:'Tenor Sans',serif;font-weight:400;font-size:clamp(56px,9vw,128px);line-height:1;margin:14px 0 0;letter-spacing:-.01em;overflow:hidden;padding-bottom:.06em}
.tl-h1 span{display:inline-block;animation:tlRise .9s cubic-bezier(.2,.8,.2,1) both}
.tl-h2{font-family:'Tenor Sans',serif;font-weight:400;font-size:clamp(34px,4.5vw,60px);line-height:1.05;margin:12px 0 0;text-wrap:balance}
.tl-empty{color:var(--muted);font-size:17px}

/* ---------- шапка ---------- */
.tl-header{position:fixed;top:0;left:0;right:0;z-index:50;color:var(--ink);background:var(--header);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border-bottom:1px solid var(--line);transition:background .5s,border-color .5s}
.tl-header--over{color:#fff;background:linear-gradient(180deg,rgba(0,0,0,.45),rgba(0,0,0,0));backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom-color:transparent}
.tl-header--over.is-scrolled{background:rgba(8,28,34,.62);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border-bottom-color:rgba(30,209,241,.22)}
.tl-header__in{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:18px;padding-bottom:18px;transition:padding .4s}
.tl-header.is-scrolled .tl-header__in,.tl-inner .tl-header__in{padding-top:12px;padding-bottom:12px}
.tl-logo{display:flex;flex-shrink:0;background:#fff;border-radius:12px;padding:6px 12px;box-shadow:0 6px 20px -8px rgba(0,0,0,.5)}
.tl-logo img{height:34px;width:auto;display:block}
.tl-nav{display:flex;gap:26px;flex:1 1 auto;justify-content:center;min-width:0;font-size:15px;font-weight:500;white-space:nowrap}
.tl-nav a{padding:8px 0;background-image:linear-gradient(90deg,#1ed1f1,#fcc235);background-repeat:no-repeat;background-position:50% 100%;background-size:0% 2px;transition:background-size .45s cubic-bezier(.2,.7,.2,1),color .3s}
.tl-header--over .tl-nav a{color:#d4f3f8;text-shadow:0 1px 10px rgba(0,0,0,.35)}
.tl-nav a:hover,.tl-nav a.is-current{background-size:100% 2px}
.tl-header__phone{font-size:15px;font-weight:600;white-space:nowrap}
.tl-header--over .tl-header__phone{color:#fdf3d4;text-shadow:0 1px 10px rgba(0,0,0,.35)}
.tl-header__actions{display:flex;gap:8px;align-items:center;flex-shrink:0}
.tl-theme-toggle{width:44px;height:44px;border-radius:50%;border:1px solid color-mix(in srgb,currentColor 35%,transparent);background:rgba(255,255,255,.06);color:inherit;cursor:pointer;display:flex;align-items:center;justify-content:center}
.tl-theme-toggle span{width:16px;height:16px;border-radius:50%;background:currentColor;box-shadow:inset -6px -2px 0 0 #1b2a30}
[data-theme="light"] .tl-header:not(.tl-header--over) .tl-theme-toggle span{box-shadow:inset -6px -2px 0 0 #f5efe0}
.tl-burger{display:none;width:44px;height:44px;border-radius:50%;border:1px solid color-mix(in srgb,currentColor 35%,transparent);background:transparent;color:inherit;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:4px}
.tl-burger span{display:block;width:18px;height:2px;background:currentColor;border-radius:2px}

/* ---------- главный слайдер ---------- */
.tl-hero{position:relative;min-height:max(640px,100vh);overflow:hidden;background:#0b0f11;color:#fff;display:flex;flex-direction:column;justify-content:flex-end}
.tl-hero__bg{position:absolute;inset:-40px;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.tl-hero__slide{position:absolute;inset:0;opacity:0;transition:opacity 1.4s}
.tl-hero__slide.is-on{opacity:1}
.tl-hero__img{position:absolute;inset:0;background-size:cover;filter:saturate(1.3) contrast(1.08) brightness(1.05);transform:scale(1.08);transition:transform 1.4s}
.tl-hero__slide.is-on .tl-hero__img{transform:scale(1);transition:transform var(--zoom,8s) linear}
.tl-hero__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,12,14,.42) 0%,rgba(8,12,14,0) 22%,rgba(8,12,14,0) 50%,rgba(8,12,14,.78) 100%),linear-gradient(90deg,rgba(8,12,14,.42) 0%,rgba(8,12,14,0) 50%)}
.tl-hero__in{position:relative;width:100%;padding-top:120px;padding-bottom:clamp(28px,5vw,56px);display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:32px 56px;align-items:end}
.tl-hero__text{min-width:0}
.tl-hero__num{font-size:13px;letter-spacing:.24em;text-transform:uppercase;color:#fcc235}
.tl-hero__title{font-family:'Tenor Sans',serif;font-weight:400;font-size:clamp(56px,10vw,150px);line-height:1;margin:18px 0 0;letter-spacing:-.01em;display:flex;flex-wrap:wrap;column-gap:.25em;overflow:hidden;padding-bottom:.08em}
.tl-hero__word{display:inline-flex;white-space:nowrap}
.tl-hero__ch{display:inline-block;opacity:0;transform:translateY(60%) rotate(4deg);filter:blur(8px);transition:opacity .7s ease var(--d,0ms),transform .9s cubic-bezier(.2,.8,.2,1) var(--d,0ms),filter .7s ease var(--d,0ms)}
.tl-hero__title.is-in .tl-hero__ch{opacity:1;transform:none;filter:drop-shadow(0 4px 18px rgba(0,40,60,.55))}
.tl-hero__ch i{font-style:normal;display:inline-block;background-image:linear-gradient(100deg,rgba(255,255,255,0) 42%,rgba(255,255,255,.95) 50%,rgba(255,255,255,0) 58%),var(--g);background-size:300% 100%,100% 100%;background-repeat:no-repeat;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:tlWave 3.6s ease-in-out var(--wd,0s) infinite,tlShine 5s ease-in-out var(--sd,1.5s) infinite}
.tl-hero__sub{margin-top:18px;font-size:clamp(16px,1.5vw,19px);line-height:1.5;color:#dfe5e7;max-width:560px;opacity:0;transform:translateY(16px);transition:opacity .8s ease .35s,transform .9s cubic-bezier(.2,.8,.2,1) .35s}
.tl-hero__sub.is-in{opacity:1;transform:none}
.tl-hero__btns{margin-top:28px;display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.tl-hero .tl-btn--ghost{color:#fff;border-color:rgba(255,255,255,.5)}
.tl-hero__list{display:flex;flex-direction:column;margin:0 -4px;padding:0 4px}
.tl-hero__item{position:relative;overflow:hidden;flex-shrink:0;display:flex;align-items:baseline;gap:14px;padding:13px 10px 15px 0;border:0;background:none;color:#6fdcef;cursor:pointer;text-align:left;text-shadow:0 1px 12px rgba(0,0,0,.45);opacity:0;transform:translateX(40px);transition:color .3s,opacity .8s var(--d),transform .9s cubic-bezier(.2,.7,.2,1) var(--d)}
.tl-hero.is-ready .tl-hero__item{opacity:1;transform:none}
.tl-hero__item.is-on{color:#b8f5ff}
.tl-hero__glow{position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(90deg,rgba(252,194,53,0),rgba(252,194,53,.22) 70%,rgba(252,194,53,0));transition:width .7s cubic-bezier(.2,.7,.2,1);pointer-events:none}
.tl-hero__item.is-on .tl-hero__glow{width:100%}
.tl-hero__name{position:relative;flex:1;font-size:20px;font-weight:500;white-space:nowrap;transition:transform .5s cubic-bezier(.2,.7,.2,1),letter-spacing .5s}
.tl-hero__item.is-on .tl-hero__name{transform:translateX(12px);letter-spacing:.02em}
.tl-hero__arrow{position:relative;font-size:16px;color:#fcc235;opacity:0;transform:translateX(-12px);transition:opacity .3s,transform .5s cubic-bezier(.2,.7,.2,1)}
.tl-hero__item.is-on .tl-hero__arrow{opacity:1;transform:none}
.tl-hero__line{position:absolute;left:0;right:0;bottom:0;height:1px;background:rgba(255,255,255,.28)}
.tl-hero__bar{position:absolute;left:0;bottom:0;height:2px;width:0;background:#fcc235}
.tl-hero__item.is-on .tl-hero__bar{width:100%;transition:width var(--sec,6s) linear}
.tl-hero.is-paused .tl-hero__item.is-on .tl-hero__bar{transition:none}
.tl-hero__all{display:flex;align-items:center;gap:10px;padding:18px 0 4px;font-size:15px;font-weight:600;color:#fcc235;white-space:nowrap}


/* ---------- секции главной ---------- */
.tl-section{padding-top:clamp(72px,9vw,120px)}
.tl-section--tight{padding-top:clamp(32px,4vw,56px)}
.tl-section__head{display:flex;justify-content:space-between;align-items:end;gap:16px 32px;flex-wrap:wrap;margin-bottom:32px}
.tl-reveal{opacity:0;transform:translateY(40px);transition:opacity .9s,transform .9s cubic-bezier(.2,.7,.2,1)}
.tl-reveal.is-seen{opacity:1;transform:none}
.tl-search{background:var(--surface);border-bottom:1px solid var(--line)}
.tl-search>.tl-wrap{padding-top:28px;padding-bottom:28px}
.tl-search--page{margin-top:32px;border-top:1px solid var(--line)}
.tl-quote{margin:0;max-width:980px;font-family:'Tenor Sans',serif;font-size:clamp(24px,2.8vw,38px);line-height:1.35;text-wrap:pretty}

/* ---------- модули Tourvisor: скин в стиле темы (сами модули рисуют свою разметку) ---------- */
.tl-tv{min-height:80px;color:var(--ink)}
.tl-tv--search{min-height:72px}
:is(.tl-tv,.TVResultPanel) [class*="tv-"]{font-family:'Golos Text',Helvetica,Arial,sans-serif!important}
:is(.tl-tv,.TVResultPanel) input,:is(.tl-tv,.TVResultPanel) select{border-radius:6px}
:is(.tl-tv,.TVResultPanel) button,:is(.tl-tv,.TVResultPanel) .tv-search-button,:is(.tl-tv,.TVResultPanel) [class*="button"]{border-radius:999px}
.tl-tv{max-width:100%}
/* Широкая форма Tourvisor жёстко 900px — на узких экранах делаем её резиновой */
@media (max-width:960px){
  :is(.tl-tv,.TVResultPanel,.tl-content) .TVWideForm,:is(.tl-tv,.TVResultPanel,.tl-content) .TVFullForm,:is(.tl-tv,.TVResultPanel,.tl-content) .TVInterfaceWrapper{width:auto!important;min-width:0!important;max-width:100%}
  :is(.tl-tv,.TVResultPanel,.tl-content) .TVMainForm,:is(.tl-tv,.TVResultPanel,.tl-content) .TVSearchFormMode,:is(.tl-tv,.TVResultPanel,.tl-content) .TVSearchModeControl{width:auto!important;min-width:0!important;max-width:100%;flex-wrap:wrap}
  :is(.tl-tv,.TVResultPanel,.tl-content) .TVRadioGroup{width:auto!important;flex-wrap:wrap}
  :is(.tl-tv,.TVResultPanel,.tl-content) .TVMainForm{flex-direction:column!important}
  :is(.tl-tv,.TVResultPanel,.tl-content) .TVMainForm>*{width:100%!important;min-width:0!important;max-width:100%!important;flex-wrap:wrap!important;height:auto!important}
  :is(.tl-tv,.TVResultPanel,.tl-content) .TVMainForm>*>div:not(.TVHide){flex:1 1 calc(50% - 2px)!important;width:auto!important;min-width:0!important;max-width:none!important}
  :is(.tl-tv,.TVResultPanel,.tl-content) .TVSearchingFormFlexBlock{width:auto!important;flex-wrap:wrap!important;height:auto!important}
  :is(.tl-tv,.TVResultPanel,.tl-content) .TVSearchingFormFlexBlock>div:not(.TVHide){flex:1 1 calc(50% - 2px)!important;width:auto!important;min-width:0!important;max-width:none!important}
  :is(.tl-tv,.TVResultPanel,.tl-content) .TVSearchingFormFlexBlock>div>div{width:auto!important}
  :is(.tl-tv,.TVResultPanel,.tl-content) .TVSearchButton{flex:1 1 100%!important;min-height:52px}
}
@media (max-width:420px){
  :is(.tl-tv,.TVResultPanel,.tl-content) .TVSearchingFormFlexBlock>div:not(.TVHide){flex-basis:100%!important}
}

/* ---------- астролог ---------- */
.tl-astro{position:relative;overflow:hidden;border-radius:28px;background:radial-gradient(at 30% 50%,#1b2544 0%,#0b1020 60%,#070a14 100%);color:#fff;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));align-items:center;gap:24px 56px;padding:clamp(36px,6vw,80px)}
.tl-astro__globe{display:flex;justify-content:center;cursor:pointer;min-height:340px;align-items:center}
.tl-astro__text p{margin:18px 0 0;font-size:17px;line-height:1.6;color:#c9cde6;max-width:520px}
.tl-astro__text .tl-btn{margin-top:28px}
.tl-globe{position:relative;max-width:100%}
.tl-globe__canvas{position:absolute;border-radius:50%;box-shadow:0 0 60px rgba(120,180,255,.35);background:radial-gradient(circle at 40% 35%,#2b4a8a,#0b1530)}
.tl-globe__stand{position:absolute;left:0;top:0;overflow:visible;pointer-events:none}
.tl-globe__txt{animation:globeTxt 3.2s ease-in-out infinite}

/* ---------- окна ---------- */
.tl-modal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(5,9,11,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.tl-modal__box{position:relative;width:min(520px,100%);max-height:calc(100vh - 32px);overflow:auto;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:24px;padding:clamp(24px,5vw,40px);box-shadow:var(--shadow)}
.tl-modal__close{position:absolute;right:12px;top:10px;width:40px;height:40px;border:0;border-radius:50%;background:transparent;color:var(--muted);font-size:28px;line-height:1;cursor:pointer}
.tl-modal__title{font-family:'Tenor Sans',serif;font-weight:400;font-size:clamp(26px,4vw,34px);line-height:1.1;margin:10px 0 20px}
.tl-modal__title small{display:block;font-family:'Golos Text',sans-serif;font-size:15px;color:var(--muted);margin-top:6px}
.tl-form{display:flex;flex-direction:column;gap:12px}
.tl-field{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}
.tl-field input,.tl-field textarea,.tl-field select{width:100%;padding:12px 16px;border-radius:14px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font-size:16px}
.tl-field textarea{resize:vertical;min-height:84px}
.tl-consent{display:block;font-size:13px;line-height:1.4;color:var(--muted)}
.tl-consent input{margin:0 6px 0 0;vertical-align:middle;accent-color:var(--accent)}
.tl-consent a{text-decoration:underline}
.tl-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.tl-form__msg{font-size:15px}
.tl-form__msg.is-ok{color:#3fe0c5}
.tl-form__msg.is-fail{color:var(--sale)}

.tl-modal--astro .tl-modal__box{width:min(820px,100%);background:radial-gradient(at 20% 0%,#1b2544 0%,#0b1020 70%);color:#fff;border-color:rgba(201,162,74,.35)}
.tl-modal--astro .tl-modal__close{color:#c9cde6}
.tl-modal--astro .tl-field{color:#c9cde6}
.tl-modal--astro .tl-field input,.tl-modal--astro .tl-field select{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.22);color:#fff;color-scheme:dark}
.tl-astro-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px;margin-bottom:16px}
.tl-quiz{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}
.tl-quiz__row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.tl-quiz__row span{flex:1 1 180px;font-size:14px;color:#c9cde6}
.tl-quiz__row button{height:36px;padding:0 14px;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.05);color:#fff;cursor:pointer;font-size:14px}
.tl-quiz__row button.is-on{background:#c9a24a;border-color:#c9a24a;color:#19150a;font-weight:700}
.tl-astro-note,.tl-astro-src{font-size:12.5px;color:#9ea6cc;margin:12px 0 0}
.tl-astro-loading{text-align:center;padding:60px 0;color:#c9cde6}
.tl-astro-spinner{width:56px;height:56px;margin:0 auto 18px;border-radius:50%;border:3px solid rgba(201,162,74,.25);border-top-color:#e6c56e;animation:tlSpin 1s linear infinite}
.tl-astro-result{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:24px}
.tl-astro-result__photo{height:150px;border-radius:8px;background-size:cover;background-position:center}
.tl-astro-map{position:relative;margin-top:12px;aspect-ratio:2/1;border-radius:8px;overflow:hidden;background:#0b1530 center/cover}
.tl-astro-map i{position:absolute;top:0;bottom:0;width:2px;opacity:.8}
.tl-astro-map__pin{position:absolute;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.3),0 0 14px #fff}
.tl-astro-legend{display:flex;gap:14px;margin-top:8px;font-size:12px;color:#c9cde6}
.tl-astro-legend span::before{content:'';display:inline-block;width:10px;height:3px;background:var(--c);margin-right:6px;vertical-align:middle}
.tl-astro-result__text p{color:#dfe3f5;line-height:1.6;margin:0 0 14px}
.tl-astro-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin:0 0 14px}
.tl-astro-facts div{background:rgba(255,255,255,.06);border-radius:8px;padding:8px 10px}
.tl-astro-facts dt{font-size:11.5px;color:#9ea6cc}
.tl-astro-facts dd{margin:2px 0 0;font-weight:700}
.tl-astro-sky{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:14px;color:#dfe3f5}
.tl-astro-sky b{color:#e6c56e;font-weight:600}
.tl-astro-sky small{display:block;color:#9ea6cc}
.tl-astro-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.tl-astro-actions .tl-btn--ghost{color:#fff;border-color:rgba(255,255,255,.4)}

/* ---------- cookie ---------- */
.tl-cookie{position:fixed;left:16px;bottom:16px;z-index:60;width:min(340px,calc(100vw - 32px));color:#fff;border-radius:16px 10px 18px 12px;padding:14px 16px;background:radial-gradient(60% 40% at 12% 0%,rgba(255,255,255,.4),rgba(255,255,255,0) 70%),radial-gradient(40% 30% at 95% 100%,rgba(255,236,160,.35),rgba(255,236,160,0) 70%),linear-gradient(150deg,rgba(18,150,170,.88),rgba(20,110,140,.9));backdrop-filter:blur(12px) saturate(1.4);-webkit-backdrop-filter:blur(12px) saturate(1.4);border:1px solid rgba(255,255,255,.45);box-shadow:0 24px 50px -24px rgba(0,50,70,.7),inset 0 1px 0 rgba(255,255,255,.5)}
.tl-cookie p{margin:0;font-size:12.5px;line-height:1.5;color:#f2fdff}
.tl-cookie__more{margin-top:6px!important}
.tl-cookie a{text-decoration:underline;color:#fff3b0}
.tl-cookie__link{margin-top:4px;padding:0;border:0;background:none;color:#fff3b0;font-size:12.5px;text-decoration:underline;cursor:pointer}
.tl-cookie__btns{margin-top:12px;display:grid;grid-template-columns:1.4fr 1fr;gap:8px}
.tl-cookie__ok{height:42px;border-radius:999px;border:0;background:#fcc235;color:#19262c;font-size:14px;font-weight:700;cursor:pointer;animation:heartbeat .9s ease-out infinite}
.tl-cookie__no{height:42px;border-radius:999px;border:1px solid rgba(255,255,255,.6);background:transparent;color:#fff;font-size:14px;font-weight:600;cursor:pointer}

/* ---------- внутренние страницы ---------- */
.tl-pagehead{padding-top:clamp(40px,6vw,80px);padding-bottom:clamp(24px,3vw,40px)}
.tl-intro{margin-top:28px;max-width:820px;font-size:17px;line-height:1.65;color:var(--muted)}
.tl-intro__cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px 48px;max-width:none}
.tl-intro p{margin:0}
.tl-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:24px}
.tl-chips{display:flex;gap:8px;flex-wrap:wrap}
.tl-chip{height:42px;padding:0 18px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--ink);font-size:15px;font-weight:600;cursor:pointer;transition:background .2s,color .2s}
.tl-chip.is-on{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.tl-variant{display:flex;align-items:center;gap:4px;padding:4px;border:1px solid var(--line);border-radius:999px;font-size:13px}
.tl-variant span{padding:0 10px;color:var(--muted)}
.tl-variant button{height:34px;padding:0 14px;border-radius:999px;border:0;background:transparent;color:var(--ink);font-weight:700;cursor:pointer}
.tl-variant button.is-on{background:var(--accent);color:#19262c}
.tl-tvswitch{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}
.tl-tvswitch>*{min-width:0}
.tl-tvswitch__seg{justify-self:start;max-width:100%}
.tl-tvswitch__seg button{font-size:14px}
.tl-tvswitch__seg button:focus-visible{outline:2px solid var(--link);outline-offset:2px}
@media (max-width:420px){.tl-tvswitch__seg{justify-self:stretch}.tl-tvswitch__seg button{flex:1 1 50%;padding:0 8px;font-size:13px}}

.tl-countries{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr));gap:20px}
.tl-country{position:relative;display:block;aspect-ratio:4/5;border-radius:22px;overflow:hidden;color:#fff;animation:tlRise .8s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(min(var(--i),12) * 70ms);transition:transform .5s,box-shadow .5s}
.tl-country:hover{color:#fff;transform:translateY(-8px);box-shadow:0 30px 50px -24px rgba(0,0,0,.6)}
.tl-countries .tl-country.is-hidden{display:none!important}
.tl-country__img{position:absolute;inset:0}
.tl-country__bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:saturate(1.2);transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.tl-country:hover .tl-country__bg{transform:scale(1.06)}
.tl-country::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.72))}
.tl-country__num,.tl-country__name,.tl-country__meta,.tl-country__price{position:absolute;z-index:1;left:18px;right:18px}
.tl-country__num{top:16px;font-size:13px;letter-spacing:.2em;opacity:.8}
.tl-country__name{bottom:86px;font-family:'Tenor Sans',serif;font-size:34px;line-height:1}
.tl-country__meta{bottom:38px;display:flex;flex-direction:column;font-size:13px;color:#e3eaec}
.tl-country__price{bottom:14px;font-weight:700;color:#fcc235}
.tl-countries[data-view="list"]{grid-template-columns:minmax(0,1fr);gap:0}
.tl-countries[data-view="list"] .tl-country{aspect-ratio:auto;display:grid;grid-template-columns:110px 52px minmax(0,1fr) auto;align-items:center;gap:20px;padding:14px 0;border-bottom:1px solid var(--line);border-radius:0;color:var(--ink);transform:none;box-shadow:none}
.tl-countries[data-view="list"] .tl-country::after{display:none}
.tl-countries[data-view="list"] .tl-country__img{position:relative;height:72px;border-radius:6px;overflow:hidden}
.tl-countries[data-view="list"] .tl-country__num,.tl-countries[data-view="list"] .tl-country__name,.tl-countries[data-view="list"] .tl-country__meta,.tl-countries[data-view="list"] .tl-country__price{position:static;color:inherit}
.tl-countries[data-view="list"] .tl-country__num{color:var(--muted)}
.tl-countries[data-view="list"] .tl-country__name{font-size:28px;display:flex;flex-direction:column}
.tl-countries[data-view="list"] .tl-country__meta{color:var(--muted);grid-column:3;grid-row:2;margin-top:-14px}
.tl-countries[data-view="list"] .tl-country__price{color:var(--accent);grid-column:4;grid-row:1/3}
.tl-countries[data-view="list"] .tl-country:hover .tl-country__name{color:var(--link)}

.tl-resorts{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr));gap:18px}
.tl-resort{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;aspect-ratio:1/1;padding:18px;border-radius:22px;overflow:hidden;color:#fff;animation:tlRise .8s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(min(var(--i),12) * 70ms)}
.tl-resort:hover{color:#fff}
.tl-resort__bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:saturate(1.2);transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.tl-resort:hover .tl-resort__bg{transform:scale(1.06)}
.tl-resort::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 50%,rgba(0,0,0,.65))}
.tl-resort__name,.tl-resort__arrow{position:relative;z-index:1}
.tl-resort__name{font-family:'Tenor Sans',serif;font-size:28px;line-height:1.05}
.tl-resort__arrow{color:#fcc235;font-size:18px;transition:transform .4s}
.tl-resort:hover .tl-resort__arrow{transform:translateX(6px)}

.tl-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:24px}
.tl-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:6px;overflow:hidden}
.tl-card__img{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:var(--surface2)}
.tl-card__bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.tl-card:hover .tl-card__bg{transform:scale(1.06)}
.tl-card__body{padding:18px;display:flex;flex-direction:column;gap:10px;flex:1}
.tl-card__title{margin:0;font-size:19px;font-weight:600;line-height:1.3}
.tl-card__text{color:var(--muted);font-size:14.5px;flex:1}
.tl-card__actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px}
.tl-back{margin:0 0 20px}
.tl-cta-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:32px}
.tl-single__img{margin-bottom:28px;border-radius:6px;overflow:hidden}
.tl-single__img img{display:block;width:100%;max-height:520px;object-fit:cover}

.tl-contacts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px 56px;align-items:start}
.tl-contacts__phones{display:flex;flex-direction:column;font-family:'Tenor Sans',serif;font-size:clamp(30px,3.6vw,48px);line-height:1.18}
.tl-contacts__mail{display:inline-block;margin-top:12px;font-size:19px;color:var(--link)}
.tl-contacts__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 32px;margin-top:32px}
.tl-contacts__grid p{margin:0;line-height:1.55}
.tl-contacts__map{position:sticky;top:96px;border-radius:6px;overflow:hidden;border:1px solid var(--line);aspect-ratio:1/1;background:var(--surface2)}
.tl-contacts__map iframe{width:100%;height:100%;border:0;display:block}

/* ---------- содержимое из редактора ---------- */
.tl-content{max-width:880px;font-size:17px;line-height:1.7}
.tl-content--page{max-width:none}
.tl-content>*:first-child{margin-top:0}
.tl-content h2,.tl-content h3{font-family:'Tenor Sans',serif;font-weight:400;line-height:1.15}
.tl-content h2{font-size:clamp(26px,3vw,38px);margin:1.6em 0 .6em}
.tl-content h3{font-size:clamp(22px,2.4vw,28px);margin:1.4em 0 .5em}
.tl-content a{color:var(--link);text-decoration:underline;text-underline-offset:3px}
.tl-content img{border-radius:6px}
.tl-content table{width:100%;border-collapse:collapse;margin:1.2em 0;font-size:15px;display:block;overflow-x:auto}
.tl-content th,.tl-content td{border:1px solid var(--line);padding:8px 10px;text-align:left}
.tl-content blockquote{margin:1.2em 0;padding:4px 0 4px 18px;border-left:3px solid var(--accent);color:var(--muted)}
.tl-content .alignleft{float:left;margin:0 24px 16px 0}
.tl-content .alignright{float:right;margin:0 0 16px 24px}
.tl-content .aligncenter{display:block;margin:0 auto}
.tl-content::after{content:'';display:block;clear:both}
.tl-content [style*="text-align: center"]{text-align:left!important}
.tl-content .boxed-container{max-width:none;padding:0}
.tl-content .col2{width:auto}
/* спойлеры из старых статей */
.spoiler_ttl{position:relative;padding:14px 44px 14px 18px;margin-top:10px;background:var(--surface);border:1px solid var(--line);border-radius:6px;font-weight:600;cursor:pointer}
.spoiler_ttl::after{content:'+';position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:22px;color:var(--accent);transition:transform .3s}
.spoiler_ttl.active::after{transform:translateY(-50%) rotate(45deg)}
.spoiler_content{display:none;padding:14px 18px;border:1px solid var(--line);border-top:0;border-radius:0 0 6px 6px}
.spoiler_ttl.active+.spoiler_content{display:block}
.nav-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:32px}
.nav-links .page-numbers{min-width:42px;height:42px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:999px}
.nav-links .current{background:var(--ink);color:var(--bg)}

/* ---------- подвал ---------- */
.tl-footer{margin-top:clamp(72px,9vw,120px);background:#19262c;color:#e9eff1}
.tl-footer__in{padding-top:40px;padding-bottom:28px;display:flex;flex-direction:column;gap:24px}
.tl-footer__top{display:flex;justify-content:space-between;gap:20px 40px;flex-wrap:wrap;font-size:15px;line-height:1.6}
.tl-footer__phones{display:flex;flex-direction:column;gap:2px;font-weight:600;white-space:nowrap}
.tl-footer__addr{color:#c7d3d8}
.tl-footer__addr a{color:#1ed1f1}
.tl-footer__vk{align-self:flex-start;padding:10px 18px;border-radius:999px;border:1px solid #33454d;font-size:14px;white-space:nowrap}
.tl-footer__widgets{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;font-size:14px;color:#c7d3d8}
.tl-footer__widgets ul{list-style:none;margin:0;padding:0}
.tl-footer__widgets .widget-title{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#9fb1b8;margin:0 0 8px}
.tl-footer__bottom{padding-top:20px;border-top:1px solid #2b3c44;display:flex;justify-content:space-between;gap:10px 24px;flex-wrap:wrap;font-size:13px;color:#9fb1b8;line-height:1.5}
.tl-footer__legal{display:flex;gap:8px 20px;flex-wrap:wrap}
.tl-footer__legal a,.tl-footer__legal button{color:#9fb1b8;text-decoration:underline;background:none;border:0;padding:0;font-size:13px;cursor:pointer}

/* ---------- адаптив ---------- */
@media (max-width:1180px){.tl-nav{gap:14px;font-size:14px}}
@media (max-width:1100px){.tl-cta-long{display:none}.tl-cta-short{display:inline}.tl-header__phone{display:none}}
@media (max-width:900px){
	.tl-burger{display:flex}
	.tl-nav{position:fixed;left:0;right:0;top:68px;flex-direction:column;gap:0;padding:8px 20px 20px;background:var(--surface);color:var(--ink);border-bottom:1px solid var(--line);box-shadow:var(--shadow);transform:translateY(-120%);transition:transform .35s;justify-content:flex-start}
	.tl-header--over .tl-nav a{color:var(--ink);text-shadow:none}
	.tl-nav.is-open{transform:none}
	.tl-nav a{padding:14px 0;border-bottom:1px solid var(--line);font-size:17px}
	.tl-hero__in{grid-template-columns:minmax(0,1fr)}
	.tl-hero__list{flex-direction:row;gap:22px;overflow-x:auto;scrollbar-width:none}
	.tl-hero__name{font-size:16px}
	.tl-hero__item.is-on .tl-hero__name{transform:none;letter-spacing:0}
	.tl-astro-result{grid-template-columns:minmax(0,1fr)}
	.tl-contacts{grid-template-columns:minmax(0,1fr)}
	.tl-contacts__map{position:static}
	.tl-countries[data-view="list"] .tl-country{grid-template-columns:80px minmax(0,1fr);gap:4px 14px}
	.tl-countries[data-view="list"] .tl-country__img{grid-row:1/4;height:80px}
	.tl-countries[data-view="list"] .tl-country__num{display:none}
	.tl-countries[data-view="list"] .tl-country__name,.tl-countries[data-view="list"] .tl-country__meta,.tl-countries[data-view="list"] .tl-country__price{grid-column:2;grid-row:auto;margin:0}
	.tl-countries[data-view="list"] .tl-country__name{font-size:22px}
}
@media (max-width:600px){
	.tl-logo img{height:28px}
	.tl-header__in{gap:10px}
	.tl-btn--cta{padding:0 14px}
	.tl-contacts__grid{grid-template-columns:minmax(0,1fr)}
	.tl-globe{transform:scale(.82);transform-origin:center}
	.tl-astro__globe{min-height:300px}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* «Избранное» Tourvisor (сердечко у туров в результатах поиска → список отложенных туров).
   Кнопку рисует модуль Tourvisor; перекрашиваем её в стиль сайта. */
.TVCartStickyButton{left:20px!important;bottom:20px!important;top:auto!important;width:auto!important;height:auto!important;padding:0!important;border-radius:999px!important;background:var(--header)!important;border:1px solid var(--line)!important;box-shadow:var(--shadow)!important;backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);z-index:55!important;transition:transform .2s,border-color .2s,opacity .2s}
.TVCartStickyButton:hover{transform:translateY(-2px);border-color:var(--accent)!important}
.TVCartStickyButton .TVCartStickyButtonPreview{flex-direction:row!important;align-items:center!important;gap:8px!important;width:auto!important;height:auto!important;padding:10px 18px 10px 12px!important;cursor:pointer}
.TVCartStickyButton .TVCartPreviewCompactIconWrapper{position:relative!important;width:28px!important;height:28px!important}
.TVCartStickyButton .TVCartPreviewCompactIcon{width:28px!important;height:28px!important;color:var(--accent)!important;fill:var(--accent)!important;align-items:center;justify-content:center}
.TVCartStickyButton .TVCartPreviewCompactIcon svg{width:22px!important;height:22px!important}
.TVCartStickyButton .TVCartPreviewCompactTitle{font:700 14px/1 'Golos Text',Helvetica,Arial,sans-serif!important;color:var(--ink)!important;text-transform:none!important;letter-spacing:0!important}
.TVCartStickyButton .TVCartPreviewCompactCount{position:absolute!important;top:-6px!important;right:-8px!important;min-width:18px!important;height:18px!important;padding:0 5px!important;border-radius:999px!important;background:var(--sale)!important;color:#fff!important;font:700 11px/18px 'Golos Text',Arial,sans-serif!important;text-align:center;border:2px solid var(--bg)}
[data-theme="light"] .TVCartStickyButton .TVCartPreviewCompactIcon{color:var(--gold)!important;fill:var(--gold)!important}
/* пока висит cookie-баннер (он в том же углу) — кнопку не показываем */
body:has(#tl-cookie:not([hidden])) .TVCartStickyButton{opacity:0;pointer-events:none}
@media (max-width:600px){
  .TVCartStickyButton{left:12px!important;bottom:12px!important}
  .TVCartStickyButton .TVCartStickyButtonPreview{padding:10px!important}
  .TVCartStickyButton .TVCartPreviewCompactTitle{display:none!important}
}
@media (prefers-reduced-motion:reduce){.TVCartStickyButton{transition:none}}

/* Плавающие кнопки внизу: «Избранное» Tourvisor слева, чат справа — одного вида */
.tl-float{position:fixed;right:20px;bottom:20px;z-index:55;display:flex;align-items:center;gap:8px;padding:10px 18px 10px 12px;border-radius:999px;background:var(--header);border:1px solid var(--line);box-shadow:var(--shadow);backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);color:var(--ink);font:700 14px/1 'Golos Text',Helvetica,Arial,sans-serif;cursor:pointer;transition:transform .2s,border-color .2s,opacity .2s}
.tl-float:hover{transform:translateY(-2px);border-color:var(--accent);color:var(--ink)}
.tl-float__icon{position:relative;display:grid;place-items:center;width:28px;height:28px;color:var(--accent)}
[data-theme="light"] .tl-float__icon{color:var(--gold)}
.tl-float__badge{position:absolute;top:-6px;right:-8px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--sale);color:#fff;font:700 11px/18px 'Golos Text',Arial,sans-serif;font-style:normal;text-align:center;border:2px solid var(--bg)}
.tl-chat.is-open{opacity:0;pointer-events:none}
/* стандартные кнопки Jivo прячем, когда работает наша */
html.tl-jivo #jvLabelWrap,html.tl-jivo jdiv.__jivoMobileButton{display:none!important}
@media (max-width:600px){
  .tl-float{right:12px;bottom:12px;padding:10px}
  .tl-float__label{display:none}
}
@media (prefers-reduced-motion:reduce){.tl-float{transition:none}}

/* ---------- Горящие туры Tourvisor: карточки в стиле сайта ---------- */
.tl-tv--hot .TVVisibleArea{margin-bottom:18px;overflow:visible!important}
.tl-tv--hot .TVTableView,.tl-tv--hot .TVListHotsControl{overflow:visible!important}
.tl-tv--hot .TVHotItem{border-radius:22px!important;background:var(--surface)!important;border:1px solid var(--line);box-shadow:0 18px 40px -26px rgba(0,0,0,.7)!important;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,border-color .35s;isolation:isolate;-webkit-mask-image:-webkit-radial-gradient(white,black)}
.tl-tv--hot .TVHotItem:hover{transform:translateY(-6px);border-color:color-mix(in srgb,var(--accent) 55%,transparent);box-shadow:0 26px 50px -24px rgba(0,0,0,.8),0 0 0 1px color-mix(in srgb,var(--accent) 25%,transparent)!important}
.tl-tv--hot .TVHotImageWrap{overflow:hidden;border-radius:21px 21px 0 0}
.tl-tv--hot .TVHotImg{transition:transform 1.2s cubic-bezier(.2,.8,.2,1),filter .6s;filter:saturate(1.05)}
.tl-tv--hot .TVHotItem:hover .TVHotImg{transform:scale(1.08);filter:saturate(1.2)}
.tl-tv--hot .TVHotImageWrap::after{content:"";position:absolute;inset:auto 0 0 0;height:55%;background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--surface) 85%,transparent));pointer-events:none}
.tl-tv--hot .TVHotInfoBlock{background:var(--surface)!important;color:var(--ink)!important;font-family:'Golos Text',Helvetica,Arial,sans-serif!important}
.tl-tv--hot .TVHotInfoBlock *{font-family:'Golos Text',Helvetica,Arial,sans-serif!important}
.tl-tv--hot .TVHotTitle,.tl-tv--hot .TVHotResort.TVHotTitle{color:var(--ink)!important;font-weight:700!important}
.tl-tv--hot .TVHotText,.tl-tv--hot .TVHotH3{color:var(--muted)!important}
.tl-tv--hot .TVHotOldPrice,.tl-tv--hot .TVHotOldPrice *{color:var(--muted)!important;opacity:.8}
/* скидка: коралловая пилюля со стеклом */
.tl-tv--hot .TVHotDiscountWrapper{top:12px!important;left:12px!important;width:auto!important;height:auto!important;padding:5px 11px!important;border-radius:999px!important;background:color-mix(in srgb,var(--sale) 92%,transparent)!important;box-shadow:0 8px 20px -8px rgba(234,112,90,.9);backdrop-filter:blur(6px)}
.tl-tv--hot .TVHotDiscountWrapper::before,.tl-tv--hot .TVHotDiscountWrapper::after{display:none!important}
.tl-tv--hot .TVHotDiscount{color:#fff!important;font:800 13px/1 'Golos Text',Arial,sans-serif!important}
.tl-tv--hot .TVHotDiscount::before{content:"−"}
/* цена: жёлтая пилюля вместо оранжевой стрелки */
.tl-tv--hot .TVHotPriceBlock{right:12px!important;border-radius:999px!important;background:var(--accent)!important;padding:0 14px!important;box-shadow:0 10px 22px -10px rgba(252,194,53,.8)}
.tl-tv--hot .TVHotPriceBlock::before,.tl-tv--hot .TVHotPriceBlock::after{display:none!important}
.tl-tv--hot .TVHotPriceBlock,.tl-tv--hot .TVHotPriceBlock *{color:var(--onAccent)!important;font-weight:800!important}
/* панель подробностей при наведении: тёмное стекло, кнопка — жёлтая пилюля */
.tl-tv--hot .TVHotOverflow{border-radius:21px;overflow:hidden;transition:top .45s cubic-bezier(.2,.8,.2,1)!important}
.tl-tv--hot .TVHotOverflow .TVHotInfoBlock{background:linear-gradient(160deg,color-mix(in srgb,var(--surface2) 96%,transparent),var(--surface))!important}
.tl-tv--hot .TVHotOverflow .TVHotHotel{text-transform:none!important;font-size:16px!important;line-height:1.25!important}
.tl-tv--hot .TVHotBigPrice,.tl-tv--hot .TVHotPriceSuffix,.tl-tv--hot .TVHotPriceSuffix *{color:var(--ink)!important}
.tl-tv--hot .TVHotButton{border-radius:999px!important;background:var(--accent)!important;color:var(--onAccent)!important;font-weight:800!important;border:0!important;box-shadow:0 10px 22px -10px rgba(252,194,53,.8);transition:transform .2s}
.tl-tv--hot .TVHotButton:hover{transform:translateY(-1px)}
.tl-tv--hot .TVHotButton *{color:var(--onAccent)!important}
@media (prefers-reduced-motion:reduce){.tl-tv--hot .TVHotItem,.tl-tv--hot .TVHotImg{transition:none}.tl-tv--hot .TVHotItem:hover{transform:none}.tl-tv--hot .TVHotItem:hover .TVHotImg{transform:none}}

/* ---------- Никаких прямых углов: всё, что рисует Tourvisor и содержимое страниц ---------- */
:is(.tl-tv,.TVResultPanel) input,:is(.tl-tv,.TVResultPanel) select,:is(.tl-tv,.TVResultPanel) textarea,:is(.tl-tv,.TVResultPanel) button{border-radius:12px!important}
:is(.tl-tv,.TVResultPanel) .TVInterfaceWrapper,:is(.tl-tv,.TVResultPanel) .TVMainForm,:is(.tl-tv,.TVResultPanel) .TVFilterForm{border-radius:18px!important}
:is(.tl-tv,.TVResultPanel) .TVMainFilter{border-radius:14px!important;overflow:hidden}
:is(.tl-tv,.TVResultPanel) .TVFilterForm>div>div,:is(.tl-tv,.TVResultPanel) .TVAddSelect,:is(.tl-tv,.TVResultPanel) .TVStarsSelect,:is(.tl-tv,.TVResultPanel) .TVHotelsSearch,:is(.tl-tv,.TVResultPanel) .TVSearchingFormColumnFlexBlock>div{border-radius:12px!important}
:is(.tl-tv,.TVResultPanel) .TVSearchButton{border-radius:14px!important}
:is(.tl-tv,.TVResultPanel) [class*="Popup"],:is(.tl-tv,.TVResultPanel) [class*="Dropdown"],:is(.tl-tv,.TVResultPanel) [class*="Tooltip"],[class^="TV"][class*="Popup"],[class^="TV"][class*="Modal"]{border-radius:16px!important}
:is(.tl-tv,.TVResultPanel) [class*="Card"],:is(.tl-tv,.TVResultPanel) [class*="ResultItem"],:is(.tl-tv,.TVResultPanel) [class*="HotelItem"],:is(.tl-tv,.TVResultPanel) [class*="TourItem"]{border-radius:18px!important;overflow:hidden}
:is(.tl-tv,.TVResultPanel) img{border-radius:12px}
.tl-content img,.tl-content iframe,.tl-content video,.tl-content table,.tl-content figure,.tl-content .wp-caption{border-radius:16px;overflow:hidden}
.tl-content table{border-collapse:separate;border-spacing:0;border:1px solid var(--line)}
iframe{border-radius:16px}
.tl-hero__glow{border-radius:16px}
.tl-nav a{background-clip:padding-box}
.tl-tv--hot .TVHotOverflow .TVHotDiscountWrapper{left:auto!important;right:12px!important;top:12px!important;width:auto!important}
.tl-tv--hot .TVHotOverflow .TVHotStarWrap{padding-right:70px}
.tl-tv--hot .TVHotPriceBlock *,.tl-tv--hot .TVHotButton,.tl-tv--hot .TVHotButton *,.tl-tv--hot .TVHotDiscount{text-shadow:none!important}

/* ---------- Tourvisor: всплывающие окна полей, результаты поиска, окна ---------- */
.TVTooltip{border-radius:18px!important;overflow:hidden!important;box-shadow:0 24px 60px -20px rgba(0,0,0,.55)!important}
.TVTooltip input,.TVTooltip button,.TVTooltip [class*="Item"],.TVTooltip [class*="Day"]{border-radius:10px!important}
.TVResultNavigationControl,.TVResultContentNavigationWrapper{border-radius:16px!important;overflow:hidden}
.TVResultListViewBody,.TVResultContentList{border-radius:20px!important;overflow:hidden}
.TVResultToolbar,.TVResultToolbarFloat{border-radius:16px!important}
.TVResultToolbar button,.TVResultToolbar [class*="Button"],.TVResultToolbar [class*="Sort"]{border-radius:999px!important}
[class*="TVResultItem"] img,[class*="TVResultItem"] [class*="Image"],[class*="TVResultItem"] [class*="Photo"]{border-radius:14px!important;overflow:hidden}
[class*="TVResultItem"] [class*="Rating"],[class*="TVResultItem"] [class*="Badge"]{border-radius:6px!important}
[class*="TVModal"],[class*="TVPopup"],[class*="TVDialog"],[class*="TVToursCart"],[class*="TVHotelCard"],[class*="TVHotelInfo"]{border-radius:20px!important}
[class*="TVModal"],[class*="TVPopup"],[class*="TVDialog"],.TVToursCart{overflow:hidden}
.TVToursCartHeader{border-radius:20px 20px 0 0!important}
.TVSideNav{border-radius:16px!important}
[class*="TVMap"],.TVResultNavigationMap{border-radius:16px!important;overflow:hidden}
.TVProgressLine,[class*="TVProgress"]{border-radius:999px!important}
.TVCartTourHotelLoupe,.TVGallLoupe{border-radius:10px!important}

/* ================= Tourvisor в цветах сайта (форма, окна полей, результаты, окна) ================= */
:is(.tl-tv,.TVResultPanel,.TVTooltip,.TVModalContainer) :is(div,span,a,label,p,h1,h2,h3,h4,td,th,li,b,strong){color:var(--ink)}
:is(:is(.tl-tv,.TVResultPanel) .TVMainForm,:is(.tl-tv,.TVResultPanel) .TVFilterForm,.TVTooltip,.tl-tvswitch__seg) *{font-family:'Golos Text',Helvetica,Arial,sans-serif!important}
/* форма */
:is(.tl-tv,.TVResultPanel) .TVMainForm{background:linear-gradient(135deg,var(--surface2),var(--surface))!important;border:1px solid var(--line)}
:is(.tl-tv,.TVResultPanel) .TVInputRadioContent,:is(.tl-tv,.TVResultPanel) .TVInputRadioContent *{color:var(--ink)!important}
:is(.tl-tv,.TVResultPanel) .TVInputRadioLabel{background:var(--bg)!important;border:2px solid var(--line)!important}
:is(.tl-tv,.TVResultPanel) .TVMainFilter{background:var(--bg)!important;border:1px solid var(--line)!important}
:is(.tl-tv,.TVResultPanel) .TVMainFilter>div{border-color:var(--line)!important}
:is(.tl-tv,.TVResultPanel) .TVMainSelect{background:transparent!important}
:is(.tl-tv,.TVResultPanel) .TVMainSelect:hover,:is(.tl-tv,.TVResultPanel) .TVMainFilter>div:hover{background:var(--surface2)!important}
:is(.tl-tv,.TVResultPanel) .TVMainSelectContent,:is(.tl-tv,.TVResultPanel) .TVMainSelectContent *{color:var(--ink)!important}
:is(.tl-tv,.TVResultPanel) [class*="SelectTitle"],:is(.tl-tv,.TVResultPanel) [class*="SelectTitle"] *,:is(.tl-tv,.TVResultPanel) .TVMainSelectTitle{color:var(--muted)!important}
:is(.tl-tv,.TVResultPanel) .TVMainFilter svg,:is(.tl-tv,.TVResultPanel) .TVMainFilterIcon,:is(.tl-tv,.TVResultPanel) .TVMainFilterIcon *{color:var(--accent)!important;fill:var(--accent)!important}
:is(.tl-tv,.TVResultPanel) .TVFilterForm{background:var(--surface)!important;border:1px solid var(--line);border-top:0}
:is(.tl-tv,.TVResultPanel) :is(.TVStarsSelect,.TVAddSelect,.TVResortListWrapper,.TVHotelsSearch,.TVHotelListWrapper,.TVHotelList){background:var(--bg)!important;border-color:var(--line)!important}
:is(.tl-tv,.TVResultPanel) :is(.TVStarsFilter,.TVResortTreeFilter,.TVBudgetFilter,.TVAccommodationFilter,.TVMealFilter,.TVHotelRatingFilter,.TVHotelListFilter,.TVFlightTypeFilter,.TVInstantConfirmationFilter,.TVAdvancedFilters,.TVDetailsFilter)>*{border-color:var(--line)!important}
:is(.tl-tv,.TVResultPanel) :is(.TVStarsFilter,.TVResortTreeFilter,.TVBudgetFilter,.TVAccommodationFilter,.TVMealFilter,.TVHotelRatingFilter,.TVHotelListFilter,.TVFlightTypeFilter,.TVInstantConfirmationFilter){border-color:var(--line)!important}
:is(.tl-tv,.TVResultPanel) :is(.TVStarsSelectTitle,.TVCheckBox,.TVAddSelectPlaceholder,.TVCheckboxContent,.TVCheckboxContent *){color:var(--muted)!important}
:is(.tl-tv,.TVResultPanel) .TVCheckboxTreeItemArrow{background:var(--surface2)!important}
:is(.tl-tv,.TVResultPanel) input,.TVTooltip input{background:transparent!important;color:var(--ink)!important;border-color:var(--line)!important}
:is(.tl-tv,.TVResultPanel) input::placeholder,.TVTooltip input::placeholder{color:var(--muted)!important;opacity:1}
:is(.tl-tv,.TVResultPanel) .TVHotelsSearch input{background:var(--surface2)!important;border-radius:10px!important;padding:6px 10px!important}
:is(.tl-tv,.TVResultPanel) svg path[fill="#000"],:is(.tl-tv,.TVResultPanel) svg path[fill="black"]{fill:currentColor}
/* главные кнопки Tourvisor — жёлтые, как у сайта */
.TVSearchButton,.TVButtonColor,:is(.tl-tv,.TVResultPanel) .TVButtonColor,.TVTooltip .TVButtonControl,.TVModalContainer .TVButtonColor,[class*="TVColorBlue"]{background:var(--accent)!important;color:var(--onAccent)!important;border-color:var(--accent)!important;box-shadow:0 12px 26px -14px rgba(252,194,53,.9)}
:is(.TVSearchButton,.TVButtonColor,.TVButtonControl,[class*="TVColorBlue"]) *{color:var(--onAccent)!important;fill:var(--onAccent)!important}
.TVSearchButton:hover,.TVButtonColor:hover{filter:brightness(1.05)}
/* окна у полей: календарь, туристы, списки */
.TVTooltip{background:var(--surface)!important;border:1px solid var(--line)!important;color:var(--ink)!important}
.TVTooltip :is([class*="Header"],[class*="Options"],[class*="ListControl"],[class*="Item"]:not([class*="Active"]):not([class*="Selected"])){background-color:transparent!important}
.TVTooltip [class*="Item"]:hover{background:var(--surface2)!important}
.TVTooltip :is([class*="Active"],[class*="Selected"],[class*="Checked"]){color:var(--ink)}
.TVCalendarAvailableDayCell{background:var(--surface2)!important;border-radius:10px!important}
.TVCalendarAvailableDayCell:hover{background:color-mix(in srgb,var(--accent) 35%,var(--surface2))!important}
.TVCalendarAvailableDayCell:is(.TVSelected,.TVActive,[class*="Select"],[class*="Range"],[class*="Active"]){background:var(--accent)!important}
.TVCalendarAvailableDayCell:is(.TVSelected,.TVActive,[class*="Select"],[class*="Range"],[class*="Active"]) *{color:var(--onAccent)!important}
.TVCalendarTableCell,.TVCalendarTitleControlMonth{color:var(--ink)!important}
.TVCalendarFlyAvailablePrice,.TVCalendarTitleControlYear{color:var(--muted)!important}
.TVCalendarTableHeadCell{color:var(--muted)!important}
.TVCalendarTableHeadCell:nth-child(n+6){color:var(--sale)!important}
:is(.TVCalendarSliderViewLeftButton,.TVCalendarSliderViewRightButton){background:var(--surface2)!important;border-radius:999px!important}
.TVTouristElement,.TVTouristButton{background:var(--surface2)!important;border-radius:12px!important}
.TVTouristAction{background:var(--surface2)!important;border:1px solid var(--line)!important;border-radius:999px!important;color:var(--ink)!important}
.TVTouristAction *{color:var(--ink)!important;fill:var(--ink)!important}
.TVTouristsSelectTooltipTitle,.TVTouristCount{color:var(--ink)!important}
/* результаты поиска */
:is(.TVResultListViewBody,.TVResultContentList,.TVResultToolbar,.TVResultToolbarFloat){background:var(--surface)!important;border:1px solid var(--line)}
:is(.tl-tv,.TVResultPanel) [class*="TVResult"],:is(.tl-tv,.TVResultPanel) [class*="TVTourResult"]{border-color:var(--line)!important}
.TVResultNavigationControl,.TVHelpRequestControl{background:var(--surface2)!important}
.TVResultNavButton,.TVResultToolbar [class*="Sort"],.TVResultToolbar [class*="Button"],.TVResultNavigationResortsContent,.TVResultNavigationMapContent{background:var(--surface2)!important;color:var(--ink)!important;border:1px solid var(--line)!important}
.TVResultNavButton:hover{border-color:var(--accent)!important}
.TVResultNavButton *,.TVResultNavigationResortsContent *,.TVResultNavigationMapContent *{color:var(--ink)!important}
.TVHotelInfoTitleLink,.TVResultItemPriceValue,.TVHelpRequestControlTitle,.TVTourResultItemRegular,.TVTourResultItemDate,.TVTourResultItemTourists{color:var(--ink)!important}
.TVResultItemSubTitle,.TVResultItemSubTitle *,.TVHelpRequestControlSubtitle,.TVResultItemDescription,.TVResultItemPriceCurrency,.TVResultItemPriceType,[class*="TVTourResultItem"] [class*="Sub"]{color:var(--muted)!important}
.TVTourResultItemRoom,.TVTourResultItemRoom *{color:var(--link)!important}
.TVResultItemButton,.TVHelpRequestControl button,.TVHelpRequestControl [class*="Button"]{background:var(--accent)!important;color:var(--onAccent)!important;border-radius:999px!important}
.TVResultItemButton *,.TVHelpRequestControl [class*="Button"] *{color:var(--onAccent)!important;fill:var(--onAccent)!important}
.TVResultPriceButton{background:var(--surface2)!important;border:1px solid var(--line)}
.TVResultPriceButton:hover{border-color:var(--accent)}
.TVResultPriceButtonValue,.TVResultPriceButton *{color:var(--ink)!important}
.TVAddCartButtonUi,.TVHotelInfoAddCart{background:var(--surface2)!important;border-color:var(--line)!important;color:var(--accent)!important}
.TVAddCartButtonUi *{color:var(--accent)!important;fill:var(--accent)!important}
.TVResultItemImage,.TVPhotoGalleryImage{background-color:var(--surface2)!important}
.TVHotelInfoRating{color:#fff!important}
/* окна: карточка тура, «Избранное», «Поделиться», карта */
.TVModalContainer{background:var(--surface)!important;border:1px solid var(--line)!important;color:var(--ink)!important}
.TVModalContainer .TVMainColor,.TVToursCartHeader{background:linear-gradient(135deg,var(--surface2),var(--surface))!important;color:var(--ink)!important;border-bottom:1px solid var(--line)}
.TVModalContainer .TVMainColor *,.TVToursCartHeader *{color:var(--ink)!important}
.TVModalContainer [class*="Panel"],.TVModalContainer [class*="Card"],.TVModalContainer [class*="Body"]>div,.TVModalContainer [class*="Content"]>div{border-color:var(--line)!important}
.TVModalContainer [class*="CartTour"]:not([class*="Button"]){background-color:var(--bg)!important}
.TVModalContainer [class*="Tab"]{border-radius:12px!important}
.TVSideNav{background:var(--surface)!important;border-color:var(--line)!important}
.TVSideNav *{color:var(--ink)!important}
/* дочистка белых пятен Tourvisor */
:is(.tl-tv,.TVResultPanel) .TVAdvancedFilters,:is(.tl-tv,.TVResultPanel) .TVTabListWithSearch,.TVComplexListItemContentWrapper,.TVDepartureTableBody,.TVAdvancedFiltersTabsWrapper,.TVAdvancedFiltersListSection,.TVRoomInfo,.TVTourFlightControl{border-color:var(--line)!important}
:is(.tl-tv,.TVResultPanel) .TVHotelsControl,:is(.tl-tv,.TVResultPanel) .TVTabListWithSearch{background:var(--bg)!important}
.TVCheckboxControl{background:var(--bg)!important;border:1.5px solid var(--muted)!important;border-radius:6px!important}
.TVInputRadioLabel{background:var(--bg)!important;border-color:var(--muted)!important}
.TVChipControl{background:var(--surface2)!important;border-color:var(--line)!important;color:var(--ink)!important;border-radius:999px!important}
.TVChipControl:is([class*="Active"],[class*="Selected"],[class*="Checked"]){background:var(--accent)!important;color:var(--onAccent)!important}
.TVRangeTableCell{border-radius:10px!important}
.TVRangeTableCell:is(.TVRangeCellHovered,.TVRangeCellHightlighted){background:color-mix(in srgb,var(--accent) 30%,var(--surface2))!important}
.TVRangeTableCell.TVRangeCellSelected{background:var(--accent)!important}
.TVRangeTableCell.TVRangeCellSelected *{color:var(--onAccent)!important}
.TVHotelResultItem,.TVHotelResulItemDetail,.TVHotelResulItemDetail t-table,.TVTourCardInfoContent,.TVTourCardInfoRightBlock{background:var(--surface)!important}
.TVTourCardInfoRightBlock{background:var(--surface2)!important}
.TVTabListItem{background:var(--surface2)!important;color:var(--ink)!important}
.TVTabListItem:is([class*="Active"],[class*="Selected"]){background:var(--accent)!important;color:var(--onAccent)!important}
:is(.tl-tv,.TVResultPanel,.TVTooltip,.TVModalContainer) .tv-button{background:var(--surface2)!important;color:var(--ink)!important;border:1px solid var(--line)!important;border-radius:999px!important}
:is(.tl-tv,.TVResultPanel,.TVTooltip,.TVModalContainer) .tv-button *{color:var(--ink)!important}
:is(.tl-tv,.TVResultPanel,.TVTooltip,.TVModalContainer) .tv-button:hover{border-color:var(--accent)!important}
:is(.tl-tv,.TVResultPanel,.TVTooltip,.TVModalContainer) .tv-button.tv-button--tone-primary,:is(.tl-tv,.TVResultPanel,.TVTooltip,.TVModalContainer) .tv-button[class*="main"]:not(.tv-button--tone-secondary){background:var(--accent)!important;border-color:var(--accent)!important}
:is(.tl-tv,.TVResultPanel,.TVTooltip,.TVModalContainer) .tv-button.tv-button--tone-primary *{color:var(--onAccent)!important}
.TVInstantConfirmationFilter>*,.TVInstantConfirmationFilter [class*="Select"]{background:var(--bg)!important}
.TVCountrySelectTooltip [class*="Tab"],.TVCountrySelectTooltip [class*="Chip"],.TVCountrySelectTooltip button{border-radius:999px!important}
.TVCountrySelectTooltip [class*="Active"],.TVCountrySelectTooltip [class*="Selected"]{background:var(--accent)!important;color:var(--onAccent)!important}

.TVCheckBox::before{background-color:var(--bg)!important;border-color:var(--muted)!important;border-radius:5px!important}
.TVCheckBox:is([class*="Checked"],[class*="Active"],[class*="Selected"])::before{background-color:var(--accent)!important;border-color:var(--accent)!important}
:is(.tl-tv,.TVResultPanel,.TVTooltip,.TVModalContainer) .tv-button.tv-button--tone-accent{background:var(--accent)!important;border-color:var(--accent)!important;box-shadow:0 12px 26px -14px rgba(252,194,53,.9)}
:is(.tl-tv,.TVResultPanel,.TVTooltip,.TVModalContainer) .tv-button.tv-button--tone-accent *{color:var(--onAccent)!important}
.TVModalContainer [class*="Button"].TVMainColor,.TVModalContainer [class*="Tab"].TVMainColor,.TVModalContainer [class*="Tab"][class*="Active"]{background:var(--accent)!important;color:var(--onAccent)!important;border:0!important}
.TVModalContainer [class*="Button"].TVMainColor *,.TVModalContainer [class*="Tab"].TVMainColor *,.TVModalContainer [class*="Tab"][class*="Active"] *{color:var(--onAccent)!important}
.TVTourCardOperatorControlWrapper,.TVTourCardOptionsWrapper,.TVTourCardPriceValueWrapper,.TVTourCardWindowAltToursWrapper{background:transparent!important}
.TVInputRadioLabelCheck{background:var(--accent)!important}
.TVProgressLine,.TVProgressLine.TVActive{background:var(--accent)!important;color:var(--onAccent)!important}
.TVProgressLine *{color:var(--onAccent)!important}
.TVToursCartFooterBtn,.TVToursCartFooterBtn *{color:var(--onAccent)!important;-webkit-text-fill-color:var(--onAccent)}
.TVToursCartFooterBtn{background:var(--accent)!important}
.TVToursCartFooter,[class*="TVToursCartFooter"]:not(.TVToursCartFooterBtn){background:linear-gradient(135deg,var(--surface2),var(--surface))!important}
.TVCheckBox:not([class*="Checked"]):not([class*="Active"]):not([class*="Selected"])::before{color:transparent!important}
.TVCheckBox:is([class*="Checked"],[class*="Active"],[class*="Selected"])::before{color:var(--onAccent)!important}
/* шрифт сайта — только в форме и окнах полей; в результатах и окнах остаётся родной шрифт Tourvisor, чтобы не обрезались цены */
/* результаты Tourvisor на телефоне: фото сверху, текст и цена под ним */
@media (max-width:600px){
  :is(.tl-tv,.TVResultPanel) :has(> .TVResultItemImageWrapper){display:flex!important;flex-direction:column!important;align-items:stretch!important;height:auto!important}
  :is(.tl-tv,.TVResultPanel) .TVResultItemImageWrapper{width:100%!important;max-width:none!important;min-width:0!important;height:210px!important;flex:none!important}
  :is(.tl-tv,.TVResultPanel) .TVResultItemImageWrapper *{width:100%!important;max-width:none!important}
  :is(.tl-tv,.TVResultPanel) .TVResultItemImage,:is(.tl-tv,.TVResultPanel) .TVResultItemImage *{height:210px!important}
  :is(.tl-tv,.TVResultPanel) .TVResultItemBodyWrapper{width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;padding:14px 6px 4px!important;overflow:visible!important}
  :is(.tl-tv,.TVResultPanel) .TVResultItemFooter{flex-wrap:wrap;gap:10px}
  :is(.tl-tv,.TVResultPanel) .TVResultItemPrice{white-space:nowrap;min-width:max-content;margin-left:auto}
}
@media (max-width:600px){
  :is(.tl-tv,.TVResultPanel) .TVResultItemImageWrapper .TVGallLoupe,:is(.tl-tv,.TVResultPanel) .TVResultItemImageWrapper .TVGallLoupe *{width:32px!important;height:32px!important}
  :is(.tl-tv,.TVResultPanel) .TVResultItemImageWrapper :is(.TVGallLeft,.TVGallRight,.TVGallCount,.TVPhotoGalleryCountDot){width:auto!important}
}
/* первая буква в строках Tourvisor обрезалась (ошибка модуля) */
:is(.tl-tv,.TVResultPanel) :is(.TVResultItemSubTitle,.TVResultItemDescription,.TVResultItemTitle,[class*="TVTourResultItem"]){padding-left:3px!important}

/* ---------- Горящие туры, шаблон theme2 (страница «Горящие туры»: панель фильтров + карточки TVHotTour) ---------- */
.tl-tv--hot .TVModuleFilter{background:linear-gradient(135deg,var(--surface2),var(--surface))!important;border:1px solid var(--line);border-radius:20px!important;height:auto!important;padding:12px 14px!important;box-shadow:0 18px 40px -28px rgba(0,0,0,.6)}
.tl-tv--hot .TVModuleFilter :is(.TVAddSelect,.TVStarsSelect){background:var(--bg)!important;border:1px solid var(--line)!important;border-radius:14px!important}
.tl-tv--hot .TVModuleFilter :is(.TVAddSelect,.TVStarsSelect):hover{border-color:var(--accent)!important}
.tl-tv--hot .TVModuleFilter svg{color:var(--muted)}
.tl-tv--hot .TVModuleFilter .TVCheckboxControl{border-radius:6px!important}
.tl-tv--hot .TVHotTourContainer{border:0!important;overflow:visible!important}
.tl-tv--hot .TVHotMainColor-ES{background:var(--surface)!important;color:var(--ink)!important;border:1px solid var(--line);border-radius:22px!important;overflow:hidden;isolation:isolate;-webkit-mask-image:-webkit-radial-gradient(white,black);box-shadow:0 18px 40px -26px rgba(0,0,0,.7);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,border-color .35s}
.tl-tv--hot .TVHotTourContainer:hover .TVHotMainColor-ES{transform:translateY(-6px);border-color:color-mix(in srgb,var(--accent) 55%,transparent);box-shadow:0 26px 50px -24px rgba(0,0,0,.8),0 0 0 1px color-mix(in srgb,var(--accent) 25%,transparent)}
.tl-tv--hot .TVHotTourImageWrap{position:relative;border-radius:16px;overflow:hidden}
.tl-tv--hot .TVHotTourImage{transition:transform 1.2s cubic-bezier(.2,.8,.2,1),filter .6s}
.tl-tv--hot .TVHotTourContainer:hover .TVHotTourImage{transform:scale(1.08);filter:saturate(1.2)}
.tl-tv--hot .TVHotTourDiscount{top:10px!important;left:10px!important;width:auto!important;height:auto!important;padding:5px 11px!important;border-radius:999px!important;background:color-mix(in srgb,var(--sale) 92%,transparent)!important;color:#fff!important;font:800 13px/1 'Golos Text',Arial,sans-serif!important;box-shadow:0 8px 20px -8px rgba(234,112,90,.9)}
.tl-tv--hot .TVHotTourDiscount::before{content:"−"}
.tl-tv--hot .TVHotTourDiscount::after{content:"%"}
.tl-tv--hot .TVHotTourInfo *{font-family:'Golos Text',Helvetica,Arial,sans-serif!important}
.tl-tv--hot .TVHotTourInfoHotelName{color:var(--ink)!important;font-weight:700!important;text-transform:none!important;font-size:16px!important}
.tl-tv--hot :is(.TVHotTourInfoResort,.TVHotTourInfoCountry,.TVHotTourInfoDateNight,.TVHotTourInfoDeparture){color:var(--muted)!important}
.tl-tv--hot .TVHotTourInfoResort{color:var(--ink)!important;font-weight:600}
.tl-tv--hot .TVHotTourInfoHotelStars .TVHotStarB,.tl-tv--hot .TVHotStarB{color:var(--accent)!important}
.tl-tv--hot .TVHotTourInfoOldPrice,.tl-tv--hot .TVHotTourInfoOldPrice *{color:var(--muted)!important}
.tl-tv--hot .TVHotTourInfoNewPrice{background:var(--accent)!important;border-radius:999px!important;padding:5px 14px!important;box-shadow:0 10px 22px -10px rgba(252,194,53,.8);align-items:baseline}
.tl-tv--hot .TVHotTourInfoNewPrice *{color:var(--onAccent)!important;font-weight:800!important}
.tl-tv--hot .TVHotTourInfoPriceIcon{background:var(--surface2)!important;color:var(--accent)!important;border:1px solid var(--line);transition:background .2s,color .2s}
.tl-tv--hot .TVHotTourContainer:hover .TVHotTourInfoPriceIcon{background:var(--accent)!important;color:var(--onAccent)!important}
.tl-tv--hot .TVHotTourInfoPriceIcon *{color:inherit!important;fill:currentColor!important}
@media (prefers-reduced-motion:reduce){.tl-tv--hot .TVHotMainColor-ES,.tl-tv--hot .TVHotTourImage{transition:none}.tl-tv--hot .TVHotTourContainer:hover .TVHotMainColor-ES,.tl-tv--hot .TVHotTourContainer:hover .TVHotTourImage{transform:none}}
.tl-tv--hot .TVHotTourDiscount{margin:0!important;bottom:auto!important}
.tl-tv--hot .TVHotTourInfoHotelName{text-transform:capitalize!important}
.tl-tv--hot .TVModuleFilter .TVFormControl{border-color:var(--line)!important;border-radius:14px!important}
.tl-tv--hot .TVModuleFilter .TVFiltersHideButton{background:var(--surface2)!important;border-color:var(--line)!important;color:var(--ink)!important}
.tl-tv--hot .TVModuleFilter .TVVisaFilter [class*="Check"],.tl-tv--hot .TVModuleFilter input[type="checkbox"]{background:var(--bg)!important;border-color:var(--muted)!important;border-radius:6px!important}
.tl-tv--hot .TVModuleFilter .TVCheckboxControl{border-color:var(--line)!important;border-radius:14px!important;background:var(--bg)!important}
.TVCheckboxControl::before{background-color:var(--bg)!important;border:1.5px solid var(--muted)!important;border-radius:5px!important}
.TVCheckboxControl:is([class*="Checked"],[class*="Active"])::before{background-color:var(--accent)!important;border-color:var(--accent)!important}
.TVStarsSelectItem.TVActive,.TVStarsSelectItem.TVActive *{color:var(--accent)!important;fill:var(--accent)!important}
/* у модуля свои стили с привязкой к #TVHotTours…, поэтому здесь приоритет через #tl-main */
#tl-main .tl-tv--hot .TVModuleFilter .TVCheckboxControl{border-color:var(--line)!important}
#tl-main .TVCheckboxControl:not([class*="Checked"]):not([class*="Active"])::before{color:transparent!important}
#tl-main .TVCheckboxControl:is([class*="Checked"],[class*="Active"])::before{color:var(--onAccent)!important}
#tl-main .TVStarsSelectItem.TVActive::before{color:var(--accent)!important}
#tl-main .tl-tv--hot :is(.TVHotMainColor-ES,.TVHotTourContainer,.TVHotItem,.TVModuleFilter){--card-border-radius:22px}

/* ---------- Tourvisor на настоящих телефонах: мобильная форма TVMobileForm ---------- */
#tl-main .TVMobileForm .TVFormBody{background:linear-gradient(135deg,var(--surface2),var(--surface))!important;border:1px solid var(--line);border-radius:22px!important;color:var(--ink)!important}
#tl-main .TVMobileForm .TVToggleSwitch{background:var(--bg)!important;border:1px solid var(--line);border-radius:999px!important}
#tl-main .TVMobileForm .TVToggleSwitchSelection{background:var(--accent)!important;border-radius:999px!important}
#tl-main .TVMobileForm .TVToggleSwitchItem{color:var(--muted)!important}
#tl-main .TVMobileForm .TVToggleSwitchItem.TVActive{color:var(--onAccent)!important;font-weight:700}
#tl-main .TVMobileForm .TVDepartureSelect,#tl-main .TVMobileForm .TVSelectContent{color:var(--ink)!important}
#tl-main .TVMobileForm .TVSelectArrow{border-color:var(--ink)!important;color:var(--ink)!important}
#tl-main .TVMobileForm .TVCartPreviewCompact{background:var(--bg)!important;border:1px solid var(--line);color:var(--accent)!important}
#tl-main .TVMobileForm .TVCartPreviewCompact svg{color:var(--accent)!important;fill:var(--accent)!important}
#tl-main .TVMobileForm .TVMobileFormMainFilter{background:var(--bg)!important;border:1px solid var(--line)!important;border-radius:16px!important}
#tl-main .TVMobileForm .TVMainSelectContent,#tl-main .TVMobileForm .TVMainSelectContent *{color:var(--ink)!important}
#tl-main .TVMobileForm .TVMainSelectPlaceholder,#tl-main .TVMobileForm .TVMainSelectPlaceholder svg{color:var(--accent)!important;fill:var(--accent)!important}
#tl-main .TVMobileForm .TVSearchButton{border-radius:16px!important}
[data-theme="light"] #tl-main .TVMobileForm .TVMainSelectPlaceholder,[data-theme="light"] #tl-main .TVMobileForm .TVMainSelectPlaceholder svg{color:var(--gold)!important;fill:var(--gold)!important}

/* ---------- Tourvisor на телефонах: выезжающие окна выбора и экраны (результаты, фильтры, отель).
   Модуль вставляет их прямо в body, вне #tl-main ---------- */
html body :is(.TVActionSheetBody,.TVMobilePanel,.TVMobilePanelBody,.TVMobileAddFiltersFormWrapper,.TVListBox,.TVSelectCountryListControl,.TVCalendarListViewWeekdays,.TVAdvancedFiltersListSectionContent){background:var(--surface)!important;color:var(--ink)!important}
html body .TVActionSheetBody{border-radius:24px 24px 0 0!important;border-top:1px solid var(--line)}
html body :is(.TVActionSheetBody,.TVMobilePanel) :is(div,span,a,label,p,li,b,td,th,h1,h2,h3){color:var(--ink)}
html body :is(.TVActionSheetBody,.TVMobilePanel) :is([class*="Sub"],[class*="Hint"],[class*="Placeholder"],[class*="Description"],[class*="Muted"],[class*="Regular"]){color:var(--muted)}
html body :is(.TVActionSheetBody,.TVMobilePanel) :is([class*="Item"],[class*="Row"],[class*="Line"]){border-color:var(--line)!important}
html body :is(.TVActionSheetBody,.TVMobilePanel) input{background:var(--bg)!important;color:var(--ink)!important;border:1px solid var(--line)!important;border-radius:14px!important}
html body :is(.TVTabListWithSearchInput,.TVComplexListItemButton,.TVCountrySelectTooltipFlightTypeOptions,.TVFlyDatesSelectTooltipFlightType,.TVTouristsSelectTooltipRemember){background:var(--surface2)!important;color:var(--ink)!important;border-radius:14px!important}
html body :is(.TVActionSheetBody,.TVMobilePanel) [class*="Handle"],html body .TVActionSheetBody>div:first-child>div:empty{background:var(--line)!important}
/* шапка экрана результатов/фильтров — вместо синей */
html body :is(.TVMobileHeaderWrapper,.TVMobilePanelHeader,.TVMobilePanelHeader.TVMainColor){background:var(--surface)!important;color:var(--ink)!important;border-bottom:1px solid var(--line)}
html body :is(.TVMobilePanelHeader,.TVMobileHeaderWrapper) :is(div,span){color:var(--ink)!important}
html body :is(.TVResultPageCaption,.TVMobilePanelClose,.TVMenuButton,.TVMobilePanelHeader .TVCartPreviewCompact){background:var(--surface2)!important;color:var(--ink)!important;border:1px solid var(--line);border-radius:999px!important}
html body :is(.TVMobilePanelClose,.TVMenuButton,.TVMobilePanelHeader .TVCartPreviewCompact) svg{color:var(--ink)!important;fill:currentColor!important}
html body .TVMobilePanelHeader .TVCartPreviewCompact svg{color:var(--accent)!important}
html body .TVResultMobileNavigationPanel{background:var(--surface)!important;border-bottom:1px solid var(--line)}
html body .TVResultMobileNavigationPanel *{color:var(--ink)!important}
html body .TVResultMobileNavigationPanel svg{color:var(--accent)!important;fill:none}
html body .TVResultListViewBody{background:var(--bg)!important;border:0!important}
html body .TVResultListViewItem,html body .TVMTourResultItem{background:var(--surface)!important;border:1px solid var(--line)!important;border-radius:20px!important;overflow:hidden}
html body .TVMTourResultItem{background:var(--surface2)!important}
html body .TVMResultItemImage{background-color:var(--surface2)!important;border-radius:16px!important;overflow:hidden}
html body .TVPhotoGalleryCountDot{background:rgba(255,255,255,.45)!important}
html body .TVPhotoGalleryCountDot.TVActive{background:var(--accent)!important}
html body :is(.TVMobileResultBtn,.TVMobileResultBtn.TVHotelContentDescription,.TVMobileResultBtn.TVHotelContentReviews,.TVMobileResultBtn.TVHotelContentMap){background:var(--surface2)!important;color:var(--ink)!important;border:1px solid var(--line)!important;border-radius:999px!important}
html body [class*="TVMResultItem"] [class*="Title"],html body [class*="TVMResultItem"] [class*="Price"]:not([class*="Old"]){color:var(--ink)!important}
html body [class*="TVMResultItem"] [class*="Sub"],html body [class*="TVMResultItem"] [class*="Description"]{color:var(--muted)!important}
html body .TVSideNavContent.TVMainColor{background:var(--surface2)!important;color:var(--ink)!important}
html body .TVSideNavContent.TVMainColor *{color:var(--ink)!important}
html body .TVMobilePanel :is(.TVStarsSelect,.TVAddSelect){background:var(--bg)!important;border:1px solid var(--line)!important;border-radius:14px!important}
html body :is(.TVActionSheetBody,.TVMobilePanel) [class*="Button"]:not([class*="Color"]):not(.TVResultItemButton):not(.TVMobilePanelClose){border-radius:999px!important}
html body :is(.TVActionSheetBody,.TVMobilePanel,.TVModalContainer) .tv-button{background:var(--surface2)!important;color:var(--ink)!important;border:1px solid var(--line)!important;border-radius:999px!important}
html body :is(.TVActionSheetBody,.TVMobilePanel,.TVModalContainer) .tv-button *{color:var(--ink)!important}
html body :is(.TVActionSheetBody,.TVMobilePanel,.TVModalContainer) .tv-button.tv-button--tone-accent{background:var(--accent)!important;border-color:var(--accent)!important}
html body :is(.TVActionSheetBody,.TVMobilePanel,.TVModalContainer) .tv-button.tv-button--tone-accent *{color:var(--onAccent)!important}
html body .TVActionSheetOverlay{background:rgba(5,8,10,.6)!important;backdrop-filter:blur(3px)}
html body :is(.TVMobileAddFiltersFormWrapper,.TVAdvancedFiltersListSectionContent){border-color:var(--line)!important;border-radius:18px!important}
html body .TVStarsSelectItem.TVActive::before{color:var(--accent)!important}
html body .TVHotelTitleName{color:var(--ink)!important}
html body .TVCheckboxControl:not([class*="Checked"]):not([class*="Active"])::before{color:transparent!important}
html body .TVCheckboxControl:is([class*="Checked"],[class*="Active"])::before{color:var(--onAccent)!important;background-color:var(--accent)!important;border-color:var(--accent)!important}
html body .TVModalContainer :is(.TVPhotoSlider,.TVHotelRatingBlock){background:var(--surface2)!important;color:var(--ink)!important;border-radius:16px!important}
html body .TVModalContainer .TVHotelRatingBlock *{color:var(--ink)}
html body .TVModalContainer .TVDescriptionItem{border-color:var(--line)!important;border-radius:14px}
html body .TVMHotelInfoRating{border-color:transparent!important}

/* ---------- Модуль стран Tourvisor (страница «Страны») ---------- */
#tl-main .tv-country .TVCountryLayout{background:transparent!important}
#tl-main .tv-country .TVCountryListComponent{display:grid;gap:16px}
#tl-main .tv-country .TVCountryListItemComponent{background:var(--surface)!important;border:1px solid var(--line)!important;border-radius:22px!important;overflow:hidden;padding:10px!important;box-shadow:0 18px 40px -28px rgba(0,0,0,.6);transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .35s,box-shadow .35s}
#tl-main .tv-country .TVCountryListItemComponent:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--accent) 55%,transparent)!important;box-shadow:0 26px 50px -26px rgba(0,0,0,.75)}
#tl-main .tv-country .TVCountryListItemMainImageWrapper,#tl-main .tv-country .TVCountryListItemGallery,#tl-main .tv-country .TVGallery{border-radius:16px!important;overflow:hidden}
#tl-main .tv-country .TVPhotoGalleryImage{transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}
#tl-main .tv-country .TVCountryListItemComponent:hover .TVPhotoGalleryImage{transform:scale(1.06)}
#tl-main .tv-country .TVCountryListItemTitle,#tl-main .tv-country .TVCountryListItemTitle *{color:var(--ink)!important;font-family:'Tenor Sans',Georgia,serif!important;font-size:24px!important;font-weight:400!important}
#tl-main .tv-country .TVCountryListItemComponent :is(p,div,span){font-family:'Golos Text',Helvetica,Arial,sans-serif}
#tl-main .tv-country [class*="Description"],#tl-main .tv-country [class*="Description"] *{color:var(--muted)!important;font-size:15px!important;line-height:1.6!important}
#tl-main .tv-country :is(.TVNavButtonComponent,.TVCountryButtonComponent){background:var(--surface2)!important;color:var(--ink)!important;border:1px solid var(--line)!important;border-radius:999px!important;transition:border-color .2s}
#tl-main .tv-country :is(.TVNavButtonComponent,.TVCountryButtonComponent) *{color:var(--ink)!important}
#tl-main .tv-country :is(.TVNavButtonComponent,.TVCountryButtonComponent):hover{border-color:var(--accent)!important}
#tl-main .tv-country [class*="Price"]:not([class*="Old"]),#tl-main .tv-country [class*="Price"]:not([class*="Old"]) *{color:var(--ink)!important}
#tl-main .tv-country [class*="Arrow"],#tl-main .tv-country [class*="PriceButton"]{background:var(--accent)!important;color:var(--onAccent)!important;border-radius:999px!important}
#tl-main .tv-country [class*="Arrow"] *{color:var(--onAccent)!important;fill:currentColor!important}
#tl-main .tv-country .TVCountryMoreButtonComponent>*{background:var(--accent)!important;color:var(--onAccent)!important;border:0!important;border-radius:999px!important;font-weight:700}
#tl-main .tv-country .TVCountryMoreButtonComponent *{color:var(--onAccent)!important}
/* фильтр над списком стран — как у горящих туров */
#tl-main .tv-country :is(.TVModuleFilter,.TVModuleFiltersHeader,.TVModuleFilterHeaderBlock){background:linear-gradient(135deg,var(--surface2),var(--surface))!important;border:1px solid var(--line)!important;border-radius:20px!important;color:var(--ink)!important;height:auto!important;padding:10px 12px!important}
#tl-main .tv-country :is(.TVAddSelect,.TVStarsSelect,.TVModuleFiltersButton,.TVModuleFiltersHeaderHideButton,.TVFormControl){background:var(--bg)!important;border:1px solid var(--line)!important;border-radius:14px!important;color:var(--ink)!important}
#tl-main .tv-country :is(.TVAddSelect,.TVModuleFiltersButton) *{color:var(--ink)!important}

/* светлая тема: жёлтые подписи над заголовками на слоновой кости читались плохо */
[data-theme="light"] .tl-eyebrow:not(.tl-eyebrow--sale){color:#8a5d00}
/* старые тексты из редактора с жёстко заданным цветом (например, чёрным) — берут цвет темы */
.tl-content [style*="color"]:not(a):not([class*="TV"]):not([class*="tv-"]){color:inherit!important}
/* горящие туры: подложка выезжающей панели и оценка отеля в результатах */
.tl-tv--hot .TVHotOverflow{background:var(--surface)!important}
html body .TVRatingNormal{color:#19262c!important}

/* ================= Тёмная тема: «Морская ночь» для всего, что рисует Tourvisor =================
   Формы, окна выбора, результаты, «Избранное», горящие туры и страны — бирюзово-синие,
   чтобы блоки отделялись от чёрного фона страницы (выбор владельца, 2026-10-12). */
html:not([data-theme="light"]) :is(.tl-tv,.TVResultPanel,.tl-tvswitch,.tv-country,.TVTooltip,.TVModalContainer,.TVActionSheet,.TVMobileContainer,.TVMobilePanel){--surface:#103540;--surface2:#154350;--bg:#1b5160;--line:#2b6e7e;--ink:#f2fbfc;--muted:#a9d0d8}
/* переключатель «Короткий / Расширенный поиск» стоит на фоне страницы — оставляем ему цвета страницы */
html:not([data-theme="light"]) .tl-tvswitch__seg{--ink:#eef2f3;--line:#263138}
/* подписи над полями («Город вылета», «Страна»…) у модуля жёстко тёмно-серые — делаем читаемыми в обеих темах */
:is(.tl-tv,.TVResultPanel) :is(.TVMainFilter,.TVMobileForm) :is([class*="Title"],[class*="Label"],.TVMainSelectPlaceholder){color:var(--muted)!important;opacity:1!important}
#tl-main .tv-country :is(.TVCheckboxContent,.TVCheckboxContent *,.TVCheckBox){color:var(--ink)!important}

/* ---------- Окна Tourvisor: заголовки, подписи галочек, ночи, «Избранное» (проверка check-popups) ---------- */
html body :is(.TVTooltip,.TVActionSheetBody,.TVMobilePanel,.TVModalContainer) :is([class*="TooltipTitle"],[class*="SectionTitle"],.TVComplexListItemSeparator,[class*="ListSeparator"]){color:var(--ink)!important;opacity:1!important}
html body :is(.TVTooltip,.TVActionSheetBody,.TVMobilePanel) :is(.TVCheckBox,.TVCheckboxContent,.TVCheckboxContent *){color:var(--ink)!important}
html body .TVRangeTableCell:not(.TVRangeCellSelected){background:var(--bg)!important;border:1px solid var(--line)}
html body .TVRangeTableCell:not(.TVRangeCellSelected):hover{border-color:var(--accent)}
html body .TVRangeTableCell:not(.TVRangeCellSelected) *{color:var(--ink)!important}
html body .TVModalContainer :is(.TVCartHotelDescVal,.TVCartHotelDescVal *){color:var(--muted)!important}
html body .TVModalContainer .TVCounterBadge{background:var(--accent)!important;color:var(--onAccent)!important;border:0!important}
html body .TVModalContainer .TVCartRangeFavorite{background:var(--surface2)!important;border:1px solid var(--line)!important}
html body .TVModalContainer [class*="CountryName"],html body .TVModalContainer [class*="CartCountry"]{color:var(--ink)!important}
html body .TVCalendarListViewWeekdays>*{color:var(--muted)!important}
html body .TVCalendarListViewWeekdays>*:nth-child(n+6){color:var(--sale)!important}
html body :is(.TVMobilePanel,.TVActionSheetBody,.TVTooltip) .TVStarsSelectTitle{color:var(--ink)!important}
/* «Избранное» на телефоне — отдельный мобильный экран TVCartMobile */
html body .TVCartMobile{background:var(--surface)!important;color:var(--ink)!important}
html body .TVCartMobile :is(div,span,a){color:var(--ink)}
html body .TVCartTourContainer{background:var(--surface2)!important;border:1px solid var(--line)!important;border-radius:20px!important;overflow:hidden}
html body :is(.TVCartTourCountry,.TVCartTourMeal,.TVCartTourContainer [class*="Desc"],.TVCartTourContainer [class*="Desc"] *){color:var(--muted)!important}
html body .TVCartTourContainer :is([class*="Room"],[class*="Room"] *){color:var(--link)!important}
html body .TVCountryItemLink{color:var(--link)!important;border-color:var(--link)!important}
html body .TVCounterBadge{background:var(--accent)!important;color:var(--onAccent)!important;border:0!important}
html body .TVCartButton.TVCartFavorite{background:var(--bg)!important;border:1px solid var(--line)!important}
html body .TVCartButton.TVCartBook{background:var(--accent)!important;color:var(--onAccent)!important;border:0!important}
html body .TVCartButton.TVCartBook *{color:var(--onAccent)!important}
html body .TVCartMobile :is([class*="Footer"],[class*="HelpRequest"],.TVMainColor):not(button):not([class*="Btn"]):not([class*="Button"]){background:linear-gradient(135deg,var(--surface2),var(--surface))!important;color:var(--ink)!important}
html body .TVCartMobile :is(.TVCartTourDate,.TVCartTourPriceValue,[class*="CountryName"],[class*="CountryTitle"]){color:var(--ink)!important;opacity:1!important}
html body .TVCartMobile .TVCartTourCurrency{color:var(--muted)!important}
html body .TVCartMobile [class*="Tab"]:is([class*="Active"],[class*="Selected"]),html body .TVCartMobile [class*="Tab"]:is([class*="Active"],[class*="Selected"]) *:not(.TVCounterBadge){color:var(--onAccent)!important}

/* ссылка WebGuardReport в подвале — отдельная жёлтая плашка в два ряда (подвал тёмный в обеих темах) */
.tl-footer__wgrow{flex:0 0 100%}
.tl-footer__legal a.tl-footer__wg{width:fit-content;max-width:100%;display:flex;flex-direction:column;gap:4px;padding:12px 18px;border-radius:16px;border:1px solid rgba(255,214,10,.55);background:linear-gradient(135deg,rgba(255,214,10,.14),rgba(255,214,10,.04));color:#ffd60a;text-decoration:none;font-size:14px;line-height:1.4;box-shadow:0 10px 30px -18px rgba(255,214,10,.6);transition:border-color .2s,background .2s,transform .2s}
.tl-footer__legal a.tl-footer__wg span{color:#fff1a8;font-weight:500;text-wrap:balance}
.tl-footer__legal a.tl-footer__wg b{color:#ffd60a;font-weight:800;font-size:15px}
.tl-footer__legal a.tl-footer__wg:hover{border-color:#ffd60a;background:linear-gradient(135deg,rgba(255,214,10,.22),rgba(255,214,10,.08));transform:translateY(-1px)}
@media (prefers-reduced-motion:reduce){.tl-footer__legal a.tl-footer__wg{transition:none}.tl-footer__legal a.tl-footer__wg:hover{transform:none}}

/* Кнопка-модуль Tourvisor «Подберите мне тур» (tv-free-button) — как главные кнопки сайта */
#tl-main .TVBButton{background:var(--accent)!important;border-radius:999px!important;overflow:hidden;box-shadow:0 12px 26px -14px rgba(252,194,53,.9);border:0!important}
#tl-main .TVBButton,#tl-main .TVBButton *{color:var(--onAccent)!important;text-transform:none!important;font-family:'Golos Text',Helvetica,Arial,sans-serif!important;font-weight:700!important}
#tl-main .TVBGradient{background:none!important;padding:14px 28px!important}
#tl-main .TVBHover{background:rgba(255,255,255,.18)!important}
#tl-main .tl-tv--inline{min-height:0}
/* низ подвала не прячется под плавающими кнопками «Избранное» и «Написать нам» */
.tl-footer{padding-bottom:84px}
@media (max-width:600px){.tl-footer{padding-bottom:76px}}
/* длинные слова в заголовке страницы («бронирование», «Достопримечательности») не обрезаются на телефоне */
@media (max-width:600px){.tl-h1{font-size:clamp(34px,11.5vw,56px)}}
.tl-h1,.tl-h1 span{overflow-wrap:break-word;max-width:100%}
@media (max-width:600px){.tl-h1,.tl-h1 span{overflow-wrap:anywhere;hyphens:auto}}
.tl-h1 span{display:inline-block}

/* ---------- Старые тексты из редактора: таблицы и слайдеры (проверка всех 189 страниц) ---------- */
/* таблицы не шире колонки текста; заданная в редакторе ширина (117% и т.п.) игнорируется */
.tl-content table{width:100%!important;max-width:100%;height:auto!important}
/* фон и рамки ячеек, заданные в редакторе (светло-серые), — в цветах темы */
.tl-content :is(table,thead,tbody,tr,th,td)[style*="background"]{background:var(--surface2)!important}
.tl-content :is(table,th,td)[style*="border"]{border-color:var(--line)!important}
.tl-content :is(th,td){border-color:var(--line)}
.tl-content table :is(h1,h2,h3,h4){font-size:clamp(18px,2.2vw,26px);overflow-wrap:anywhere}
@media (max-width:700px){
  /* таблица-раскладка (с заголовками внутри, как на «Визах») — ячейки друг под другом */
  .tl-content table:has(:is(h1,h2,h3,h4,img)),.tl-content table:has(:is(h1,h2,h3,h4,img)) :is(tbody,thead,tr,td,th){display:block;width:100%!important}
  .tl-content table:has(:is(h1,h2,h3,h4,img)) :is(td,th){border-left:0!important;border-right:0!important;padding:12px 14px!important}
  /* таблица с данными — прокручивается внутри себя, страница не уезжает */
  .tl-content table:not(:has(:is(h1,h2,h3,h4,img))){display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
}
/* слайдер Master Slider в записях не вылезает за колонку */
.tl-content :is(.master-slider,.master-slider-parent,.ms-container,.ms-inner-controls-cont){max-width:100%!important;overflow:hidden}
.tl-content{overflow-x:clip;overflow-wrap:break-word}
.tl-content :is(tr,td,th){height:auto!important}

/* ---------- Tourvisor: подписи, нарисованные псевдоэлементами (::before «Общая информация», «Телефон:»…) ---------- */
html body :is(.tl-tv,.TVResultPanel,.TVModalContainer,.TVMobilePanel,.TVActionSheetBody) :is([class*="TVDescription"],[class*="TVHotel"],[class*="TVTour"],[class*="TVResult"])::before{color:var(--muted)!important}
html body :is(.tl-tv,.TVResultPanel,.TVModalContainer,.TVMobilePanel) .TVDescriptionItem::before{color:var(--ink)!important;font-weight:700}
html body :is(.tl-tv,.TVResultPanel,.TVModalContainer,.TVMobilePanel) .TVDescriptionItem{color:var(--ink)!important;border-color:var(--line)!important}
html body .TVModalContainer [class*="RatingBlock"] :is(div,span){color:var(--ink)}
/* экран «В выбранные даты предложений не найдено» / «фильтры скрыли» */
html body :is(.TVResultHelpFormControl,[class*="TVHelpFormEmpty"]){background:var(--surface)!important;border-color:var(--line)!important;border-radius:20px!important;color:var(--ink)!important}
html body .TVResultHelpFormControl :is(div,span,p){color:var(--ink)}
html body .TVResultHelpFormControl [class*="Subtitle"],html body .TVResultHelpFormControl [class*="Description"]{color:var(--muted)!important}

/* ---------- Выпадающее меню «Наши услуги» (подпункты главного меню WordPress) ---------- */
.tl-nav__drop{position:relative;display:flex;align-items:center}
.tl-nav__toggle{display:inline-flex;align-items:center;gap:6px;padding:8px 0;border:0;background:none;color:inherit;font:inherit;cursor:pointer;background-image:linear-gradient(90deg,#1ed1f1,#fcc235);background-repeat:no-repeat;background-position:50% 100%;background-size:0% 2px;transition:background-size .45s cubic-bezier(.2,.7,.2,1)}
.tl-nav__toggle svg{transition:transform .25s}
.tl-nav__toggle:hover,.tl-nav__toggle.is-current,.tl-nav__drop.is-open .tl-nav__toggle{background-size:100% 2px}
.tl-header--over .tl-nav__toggle{color:#d4f3f8;text-shadow:0 1px 10px rgba(0,0,0,.35)}
.tl-nav__sub{position:absolute;top:calc(100% + 10px);left:50%;min-width:260px;padding:8px;display:grid;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translate(-50%,6px);transition:opacity .2s,transform .2s,visibility 0s .2s;z-index:80;white-space:nowrap}
.tl-nav__sub::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.tl-nav__sub a{padding:10px 14px!important;border-radius:12px;color:var(--ink)!important;background-image:none!important;text-shadow:none!important;font-weight:500}
.tl-nav__sub a:hover,.tl-nav__sub a.is-current{background:var(--surface2)!important;color:var(--ink)!important}
.tl-nav__sub a.is-current{box-shadow:inset 3px 0 0 var(--accent)}
@media (min-width:901px){
  .tl-nav__drop:hover .tl-nav__sub,.tl-nav__drop:focus-within .tl-nav__sub,.tl-nav__drop.is-open .tl-nav__sub{opacity:1;visibility:visible;transform:translate(-50%,0);transition:opacity .2s,transform .2s}
  .tl-nav__drop:hover .tl-nav__toggle svg,.tl-nav__drop.is-open .tl-nav__toggle svg{transform:rotate(180deg)}
}
@media (max-width:900px){
  .tl-nav{max-height:calc(100vh - 68px);overflow-y:auto}
  .tl-nav__drop{display:block}
  .tl-nav__toggle{width:100%;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line);font-size:17px;background-image:none;color:var(--ink)!important;text-shadow:none!important}
  .tl-nav__sub{position:static;transform:none;opacity:1;visibility:visible;display:none;min-width:0;box-shadow:none;border:0;border-radius:0;padding:4px 0 8px 14px;background:transparent;white-space:normal}
  .tl-nav__sub::before{display:none}
  .tl-nav__drop.is-open .tl-nav__sub{display:grid}
  .tl-nav__drop.is-open .tl-nav__toggle svg{transform:rotate(180deg)}
  .tl-nav__sub a{border-bottom:0!important;font-size:16px!important;padding:10px 12px!important}
}
@media (prefers-reduced-motion:reduce){.tl-nav__sub,.tl-nav__toggle svg{transition:none}}

/* ---------- Подписи вариантов в окнах Tourvisor (питание, рейтинг, тип отеля, перелёт…): модуль красит их в #333 ---------- */
html body :is(.tl-tv,.TVResultPanel,.TVTooltip,.TVModalContainer,.TVActionSheetBody,.TVMobilePanel) :is(.TVInputRadioContent,.TVInputRadioContent *,.TVCheckboxContent,.TVCheckboxContent *,.TVRadioGroupItem,.TVCheckboxListItem,[class*="ListItemContent"],[class*="ItemTitle"]){color:var(--ink)!important}
html body :is(.TVTooltip,.TVActionSheetBody,.TVMobilePanel) [class*="ItemSubTitle"],html body :is(.TVTooltip,.TVActionSheetBody,.TVMobilePanel) [class*="ItemDescription"]{color:var(--muted)!important}
html body :is(.TVTooltip,.TVActionSheetBody,.TVMobilePanel) .TVInputRadioLabel{border-color:var(--muted)!important}
/* ---------- Результаты короткой формы: Tourvisor открывает их отдельным слоем .TVResultPanel прямо в body ---------- */
html:not([data-theme="light"]) .TVResultPanel{--surface:#103540;--surface2:#154350;--bg:#1b5160;--line:#2b6e7e;--ink:#f2fbfc;--muted:#a9d0d8}
.TVResultPanel .TVResultContent{background:var(--surface)!important;color:var(--ink)}
.TVResultPanel .TVMainForm{background:linear-gradient(135deg,var(--surface2),var(--surface))!important}
.TVResultPanel .TVMainFilter,.TVResultPanel .TVMainSelect{background:var(--bg)!important}
.TVResultPanel .TVFilterForm{background:var(--surface)!important}

/* ---------- Новые окна Tourvisor (tv-window-popup / tv-modal-v2: «Отзывы» и др.) ---------- */
html:not([data-theme="light"]) .tv-window-popup{--surface:#103540;--surface2:#154350;--bg:#1b5160;--line:#2b6e7e;--ink:#f2fbfc;--muted:#a9d0d8}
.tv-window-popup :is(.tv-window-popup-container,.tv-modal-v2-sticky-header,[class*="PanelMainTop"],[class*="ReviewsPanel"]){background:var(--surface)!important;color:var(--ink)!important;border-color:var(--line)!important}
.tv-window-popup-container{border-radius:22px!important;overflow:hidden}
.tv-window-popup :is(div,span,p,a,b,strong,h1,h2,h3,h4,label){color:var(--ink)}
.tv-window-popup :is([class*="Date"],[class*="Sub"],[class*="Hint"],[class*="Muted"],small){color:var(--muted)}
.tv-window-popup a[href],.tv-window-popup [class*="Link"]{color:var(--link)!important}
.tv-window-popup :is(.tv-select-field-container,.tv-input-container,input,select){background:var(--bg)!important;color:var(--ink)!important;border-color:var(--line)!important;border-radius:12px!important}
.tv-window-popup .tv-button{background:var(--surface2)!important;color:var(--ink)!important;border:1px solid var(--line)!important;border-radius:999px!important}
.tv-window-popup .tv-button *{color:var(--ink)!important}
.tv-window-popup [class*="Card"],.tv-window-popup [class*="Item"]:not([class*="Rating"]){border-color:var(--line)!important}
/* подписи и цены, которые модуль красит тёмным/бледным */
html body :is(.TVResultAboutHotelInfoItemTitle,.TVResultAboutHotelInfoItemTitle *){color:var(--muted)!important;opacity:1!important}
html body .TVTouristElement::after,html body .TVTouristElement::before{color:var(--ink)!important}
html body .TVCalendarTableCell .TVCalendarFlyAvailablePrice{color:var(--muted)!important}
html body :is(.TVCalendarSelectedCell,[class*="CalendarRange"],[class*="CalendarSelected"]) :is(.TVCalendarFlyAvailablePrice,*){color:var(--onAccent)!important}
html body .TVMarkerPrice{color:#19262c!important}
#tl-main .tv-country :is(strong,b,h2,h3,h4){color:var(--ink)!important}
#tl-main .tv-country .TVInputNew,#tl-main .tv-country input{background:var(--bg)!important;color:var(--ink)!important;border:1px solid var(--line)!important;border-radius:12px!important}
html body :is(.tv-window-popup,.TVModalContainer,.TVResultPanel) [class*="SectionTitle"]{color:var(--ink)!important;opacity:1!important}

/* ---------- Карточка тура на телефоне (TVTourCard…, вне #tl-main) ---------- */
html body .TVTourCardOptionHeader{color:var(--ink)!important;font-weight:700}
html body :is(.TVTourCardOptionFooter,.TVAreaContentText,.TVHotelTitleResort){color:var(--muted)!important}
html body .TVRoomInfo{color:var(--link)!important}
html body :is(.TVTourCardFooter,.TVTourCardActionPriceBlock){background:var(--surface)!important;border-top:1px solid var(--line)}
html body :is(.TVTourCardPriceValue,.TVTourCardPriceCurrency,.TVTourCardPriceType){color:var(--ink)!important}
html body .TVMobileTourFlightsListControl.TVMainColor{background:var(--surface2)!important;color:var(--ink)!important}
html body .TVMobileTourFlightsListControl.TVMainColor *:not(.tv-button):not(.tv-button *){color:var(--ink)}
html body :is(.TVTourFlightMessage,.TVTourFlightDummy,[class*="TVTourFlightCard"],[class*="TVMobileTourFlight"] [class*="Item"]){background:var(--surface)!important;color:var(--ink)!important;border:1px solid var(--line)!important;border-radius:16px!important}
html body :is(.TVTourFlightDuration,.TVTourFlightInfo,.TVTourFlightInfo::before,[class*="TVTourFlight"] [class*="Date"]){color:var(--muted)!important}
html:not([data-theme="light"]) body :is(.TVMobileContainer,.TVMobilePanel,.TVMobilePanelBody){--surface:#103540;--surface2:#154350;--bg:#1b5160;--line:#2b6e7e;--ink:#f2fbfc;--muted:#a9d0d8}
.tl-content a.tl-btn,.tl-content a.tl-btn:hover{text-decoration:none;color:var(--ink)}

/* ---------- «Поиск тура»: шапка с картой (вариант D) ---------- */
:root,[data-theme="dark"]{--map-sea:#164b58;--map-land:#3f6b77;--map-stroke:#6a96a1;--map-grat:#1f5a68;--map-dest:#fcc235;--map-dest-stroke:#fff3c4;--map-arc:#1ed1f1;--map-fade:15,20,23;--map-card:rgba(15,20,23,.84)}
[data-theme="light"]{--map-sea:#cfe6ea;--map-land:#efe5cc;--map-stroke:#cbb991;--map-grat:#bcd9de;--map-dest:#f0a500;--map-dest-stroke:#8a5d00;--map-arc:#0a86a0;--map-fade:245,239,224;--map-card:rgba(253,249,238,.92)}
.tl-maphead{position:relative;min-height:440px;overflow:hidden;border-bottom:1px solid var(--line);background:var(--map-sea)}
.tl-maphead__map{position:absolute;inset:0}
.tl-maphead__map svg{display:block;width:100%;height:100%}
.tl-maphead__map::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(var(--map-fade),.94) 0%,rgba(var(--map-fade),.7) 30%,rgba(var(--map-fade),0) 52%),linear-gradient(0deg,var(--bg) 0%,transparent 22%)}
.tl-map-sea{fill:var(--map-sea)}
.tl-map-grat{fill:none;stroke:var(--map-grat);stroke-width:.5;vector-effect:non-scaling-stroke}
.tl-map-land{fill:var(--map-land);stroke:var(--map-stroke);stroke-width:.5;vector-effect:non-scaling-stroke;transition:fill .4s}
.tl-map-land.is-dest{fill:var(--map-dest);stroke:var(--map-dest-stroke)}
.tl-map-arc{fill:none;stroke:var(--map-arc);stroke-width:1.6;stroke-dasharray:5 6;vector-effect:non-scaling-stroke}
.tl-map-home{fill:var(--map-arc)}
.tl-maphead__txt{position:relative;z-index:1;padding-top:clamp(36px,5vw,64px);padding-bottom:40px;max-width:min(1320px,100%)}
.tl-maphead__txt>*{max-width:540px}
.tl-maphead__title{font-family:'Tenor Sans',serif;font-weight:400;font-size:clamp(40px,5.4vw,68px);line-height:1;margin:10px 0 0;color:var(--ink)}
.tl-maphead__sub{color:var(--muted);margin:14px 0 0}
.tl-maphead__chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.tl-maphead__chips .tl-chip{background:rgba(var(--map-fade),.55);backdrop-filter:blur(4px)}
.tl-maphead__chips .tl-chip.is-on{background:var(--accent);color:var(--onAccent);border-color:var(--accent)}
.tl-maphead__card{position:absolute;right:max(24px,calc((100vw - 1320px)/2 + 32px));bottom:28px;z-index:2;background:var(--map-card);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:18px;padding:14px 18px;display:grid;gap:6px;max-width:380px;box-shadow:var(--shadow)}
.tl-maphead__name{font-family:'Tenor Sans',serif;font-size:26px;color:var(--ink)}
.tl-maphead__info{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:14px;color:var(--muted)}
.tl-maphead__info b{color:var(--ink)}
.tl-maphead__info .tl-maphead__price{color:var(--accent)}
[data-theme="light"] .tl-maphead__info .tl-maphead__price,[data-theme="light"] .tl-maphead .tl-eyebrow{color:#8a5d00}
.tl-maphead.is-nomap{background:var(--bg)}
@media (max-width:820px){
  .tl-maphead{min-height:0;display:grid;background:var(--bg);padding-bottom:16px}
  .tl-maphead__map{position:relative;inset:auto;order:2;height:230px;margin:0 16px;border-radius:20px;overflow:hidden;border:1px solid var(--line);background:var(--map-sea)}
  .tl-maphead__map::after{display:none}
  .tl-maphead__txt{order:1;padding-bottom:18px}
  .tl-maphead__card{position:static;order:3;margin:10px 16px 0;max-width:none}
  .tl-maphead__title{font-size:clamp(34px,10vw,48px)}
}
.tl-maphead__chips .tl-chip{height:36px;padding:0 14px;font-size:13px}
.tl-maphead__miss{font-size:13px;color:var(--muted);border-top:1px solid var(--line);padding-top:8px;margin-top:2px}
.tl-maphead__ask{border:0;background:none;padding:0;color:var(--link);font:inherit;font-weight:700;text-decoration:underline;cursor:pointer}
.tl-maphead+.tl-search--page{margin-top:0;border-top:0}
.tl-maphead{margin-top:0}
.tl-inner .tl-main:has(> .tl-maphead){padding-top:70px}

/* ---------- Рейсы в карточке тура (телефон и ПК) и окно рейсов ---------- */
html body :is(.TVTourFlightControl,.TVTourFlightPreview,.TVMobileTourFlightPreview,.TVMobileTourFlightControl,.TVFlightDetailControl,.TVFlightSelectionBlock,.TVFlightsCardControl,.TVFlightsWindowWrapper){background:var(--surface)!important;color:var(--ink)!important;border:1px solid var(--line)!important;border-radius:16px!important}
html body :is(.TVTourFlightPortName,.TVTourFlightPortNames,.TVTourFlightTime,.TVTourFlightAirlineName,.TVFlightDetailDepartureTime,.TVFlightDetailArrivalTime,.TVFlightDetailTimeCity,.TVFlightDetailAirlineName,.TVFlightsCardTitle,.TVFlightsWindowTitle){color:var(--ink)!important}
html body :is(.TVTourFlightDepartureDate,.TVTourFlightArrivalDate,.TVTourFlightDuration,.TVTourFlightType,.TVTourFlightBaggageText,.TVTourFlightPortId,.TVFlightDetailDepartureDate,.TVFlightDetailArrivalDate,.TVFlightDetailDuration,.TVFlightDetailBaggageText,.TVFlightDetailNumber){color:var(--muted)!important}
html body .TVTourFlightLine,html body .TVFlightDetailLine{border-color:var(--line)!important}
html body .TVUndoButton{background:var(--surface2)!important;color:var(--ink)!important;border:1px solid var(--line)!important;border-radius:999px!important}
html body .TVHotelReviewsFilterChipCount{color:var(--muted)!important;opacity:1!important}
.tl-h1--long{font-size:clamp(34px,5.2vw,76px)}
@media (max-width:600px){.tl-h1--long{font-size:clamp(26px,7.6vw,34px)}.tl-h1--long,.tl-h1--long span{hyphens:manual}}
/* значки в карточке тура (страна, даты, питание, номер, услуги) — кружок в цвет темы, значок жёлтый */
html body .TVTourCardOption.TVTourCardOption::before,html body div[class*="TVTourCardOption"]::before{background:var(--surface2)!important;color:var(--accent)!important;-webkit-text-fill-color:var(--accent);border:1px solid var(--line)}
[data-theme="light"] .TVTourCardOption::before{color:var(--gold)!important}
/* полноэкранный просмотр фото Tourvisor — всегда на чёрном, подписи белые в любой теме */
html body .TVGalleryWindow{background:#000!important}
html body .TVGalleryWindow :is(.TVPhotoGalleryTitle,[class*="GallCount"],[class*="Counter"],[class*="Title"]){color:#fff!important}
html body .TVGalleryWindow [class*="Close"],html body .TVGalleryWindow [class*="Close"] *{color:#fff!important;fill:#fff}

/* пока тема сама выбирает страну в форме Tourvisor (кнопки над картой, «Туры по России») — окно выбора не показываем */
html.tl-tv-autopick :is(.TVCountrySelectTooltip,.TVActionSheet,.TVActionSheetOverlay){opacity:0!important;pointer-events:none!important;transition:none!important}
