/* ==== Твой Тур — единый стиль страниц-направлений (богатый, глубокий) ==== */
:root{
  --paper:#EDE8DF;--panel:#FFFCF8;--deep:#0C2230;--ink:#1C3546;--ink-soft:#3E545E;
  --line:#E1DACE;--sea:#2C7FB8;--sea2:#4CA3D8;--gold:#BE9A55;--gold-soft:#D6B877;--badge:#E6E0D4;
  --shadow:0 30px 80px -46px rgba(12,34,48,.45);
}
@media (prefers-color-scheme:dark){:root{
  --paper:#08161E;--panel:#13232E;--deep:#061119;--ink:#EDE7D6;--ink-soft:#9DB0B6;
  --line:#22333F;--sea:#4CA3D8;--sea2:#6FBBE8;--gold:#C9A863;--gold-soft:#E2C888;--badge:#12232D;--shadow:0 30px 80px -44px rgba(0,0,0,.7);
}}
:root[data-theme="light"]{--paper:#EDE8DF;--panel:#FFFCF8;--deep:#0C2230;--ink:#1C3546;--ink-soft:#3E545E;--line:#E1DACE;--sea:#2C7FB8;--sea2:#4CA3D8;--gold:#BE9A55;--gold-soft:#D6B877;--badge:#E6E0D4;--shadow:0 30px 80px -46px rgba(12,34,48,.45);}
:root[data-theme="dark"]{--paper:#08161E;--panel:#13232E;--deep:#061119;--ink:#EDE7D6;--ink-soft:#9DB0B6;--line:#22333F;--sea:#4CA3D8;--sea2:#6FBBE8;--gold:#C9A863;--gold-soft:#E2C888;--badge:#12232D;--shadow:0 30px 80px -44px rgba(0,0,0,.7);}

*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.7;overflow-x:hidden}
.serif{font-family:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif}
.wrap{max-width:1100px;margin:0 auto;padding:0 clamp(18px,4vw,44px)}
.narrow{max-width:760px;margin:0 auto;padding:0 clamp(18px,4vw,44px)}
.eyebrow{font-size:12px;letter-spacing:.34em;text-transform:uppercase;color:var(--gold);font-weight:600}
a{color:inherit;text-decoration:none}

nav{position:sticky;top:0;z-index:50;background:rgba(237,232,223,.96);background:color-mix(in srgb,var(--paper) 98%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav-in{display:flex;align-items:center;gap:16px;height:64px}
.back{font-size:14px;color:var(--ink-soft);display:inline-flex;align-items:center;gap:7px}
.back:hover{color:var(--gold)}
.brand{margin:0 auto;font-family:"Iowan Old Style",Georgia,serif;font-weight:600;font-size:18px;letter-spacing:.01em}
.brand small{display:block;font-size:8px;letter-spacing:.28em;text-transform:uppercase;color:#96762F;font-weight:700;text-align:center}
.nav-cta{font-size:13px;font-weight:600;padding:9px 17px;border:1px solid var(--sea);border-radius:17px;white-space:nowrap}
.nav-cta:hover{background:linear-gradient(135deg,var(--sea2),var(--sea));color:#fff;border-color:transparent}
@media(max-width:640px){.brand{display:none}}

/* HERO — картинку задаём инлайном на .hero-img */
.hero{position:relative;min-height:62vh;display:flex;align-items:flex-end;color:#F3EEE1;overflow:hidden}
.hero-img{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center 42%;transform:none}

.hero-img::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,17,25,.86),rgba(6,17,25,.12) 64%)}
.hero-frame{position:absolute;inset:16px;border:1px solid rgba(199,167,104,.3);border-radius:17px;z-index:-1}
.hero-in{padding:0 0 clamp(40px,6vw,64px);max-width:800px}
.hero h1{font-family:"Iowan Old Style",Georgia,serif;font-weight:500;font-size:clamp(44px,8vw,88px);line-height:1;letter-spacing:-.01em;margin:12px 0 0;color:#FBF7EC}
.hero .sub{margin:16px 0 0;font-size:clamp(15px,2vw,19px);max-width:46ch;color:#E7E2D5;line-height:1.55}
.hero .eyebrow{color:var(--gold-soft)}

/* ARTICLE */
.lede{font-family:"Iowan Old Style",Georgia,serif;font-size:clamp(20px,2.6vw,27px);line-height:1.55;color:var(--ink);margin:clamp(40px,6vw,64px) 0 0;letter-spacing:-.005em}
.lede::first-letter{initial-letter:2;-webkit-initial-letter:2;font-weight:600;color:var(--gold);margin-right:10px}
p.body{font-size:17px;color:var(--ink);margin:22px 0 0}
p.body.soft{color:var(--ink-soft)}
.sec{margin-top:clamp(52px,8vw,86px)}
.sec h2{font-family:"Iowan Old Style",Georgia,serif;font-weight:500;font-size:clamp(27px,4vw,40px);line-height:1.1;letter-spacing:-.01em}
.sec h2 .em{color:var(--gold)}
.sec .kick{margin-top:8px;color:var(--ink-soft);font-size:16px}
.rule{width:54px;height:2px;background:var(--gold);margin:0 0 6px;opacity:.8}

/* пул-цитата — придаёт «глубину» и воздух */
.pullquote{margin:clamp(46px,7vw,72px) auto;max-width:640px;text-align:center}
.pullquote p{font-family:"Iowan Old Style",Georgia,serif;font-style:italic;font-size:clamp(21px,3vw,30px);line-height:1.4;color:var(--ink)}
.pullquote .by{margin-top:14px;font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);font-weight:600}
.pullquote::before{content:"";display:block;width:40px;height:2px;background:var(--gold);margin:0 auto 26px}

/* список курортов / мест */
.resorts{margin-top:30px;display:grid;gap:12px}
.rz{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:22px clamp(18px,3vw,28px);display:grid;grid-template-columns:200px 1fr;gap:6px 26px;align-items:baseline}
.rz h4{font-size:19px;font-family:"Iowan Old Style",Georgia,serif;font-weight:600}
.rz .tag{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-top:4px}
.rz p{font-size:15.5px;color:var(--ink-soft);line-height:1.6}
@media(max-width:640px){.rz{grid-template-columns:1fr;gap:8px}}

/* факты */
.facts{margin-top:30px;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}
.fact{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:24px 22px}
.fact .n{font-family:"Iowan Old Style",Georgia,serif;font-size:32px;color:var(--gold);line-height:1}
.fact h4{margin-top:12px;font-size:17px}
.fact p{margin-top:7px;font-size:14.5px;color:var(--ink-soft);line-height:1.6}

/* вкус и ритуалы — маленькая богатая полоса */
.taste{margin-top:30px;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}
.ti{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:22px 20px}
.ti .ic{font-size:24px}
.ti h4{margin-top:10px;font-size:16px;font-family:"Iowan Old Style",Georgia,serif}
.ti p{margin-top:6px;font-size:14px;color:var(--ink-soft);line-height:1.55}
/* единая деликатная тень для всех контентных карточек */
.rz,.fact,.ti,.ssn,.wh,.callout,.place,.tour{box-shadow:0 16px 40px -28px rgba(20,45,55,.33)}

/* сезоны */
.seasons{margin-top:30px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.ssn{border:1px solid var(--line);border-radius:20px;padding:22px;background:var(--panel)}
.ssn .mo{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:600}
.ssn h4{margin-top:8px;font-size:18px;font-family:"Iowan Old Style",Georgia,serif}
.ssn p{margin-top:8px;font-size:14.5px;color:var(--ink-soft);line-height:1.6}
.ssn .load{margin-top:12px;font-size:12.5px;color:var(--sea);font-weight:600}

/* для кого */
.whom{margin-top:30px;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.wh{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:26px 24px}
.wh h4{font-size:18px;font-family:"Iowan Old Style",Georgia,serif}
.wh .price{color:var(--gold);font-weight:600;font-size:14px;margin-top:4px}
.wh p{margin-top:10px;font-size:15px;color:var(--ink-soft);line-height:1.65}

/* callout — лагуны (море) и безопасность (забота) */
.callout{margin-top:34px;border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:22px;background:var(--panel);padding:26px clamp(20px,3vw,30px)}
.callout--sea{border-left-color:var(--sea)}
.callout h3{font-family:"Iowan Old Style",Georgia,serif;font-weight:600;font-size:20px;margin-top:6px}
.callout>p{margin-top:10px;font-size:15.5px;color:var(--ink-soft);line-height:1.65}
.callout ul{margin:12px 0 0;padding-left:20px}
.callout li{font-size:15px;color:var(--ink-soft);margin-top:8px;line-height:1.55}
.callout li b{color:var(--ink)}
.callout .hint{margin-top:14px;font-size:13.5px;color:var(--sea);font-weight:600}

/* поиск (слот TourVisor) */
.searchband{margin-top:clamp(52px,8vw,86px);background:var(--deep);border-radius:24px;padding:clamp(30px,5vw,52px);color:#F3EEE1;box-shadow:var(--shadow)}
.searchband .eyebrow{color:var(--gold-soft)}
.searchband h2{font-family:"Iowan Old Style",Georgia,serif;font-weight:500;font-size:clamp(24px,3.4vw,34px);margin-top:10px;color:#FBF7EC}
.searchband p{margin-top:10px;color:#CBD4D6;max-width:54ch;font-size:15.5px}
.tv-slot{margin-top:26px;min-height:120px;background:rgba(255,255,255,.05);border:1px dashed rgba(199,167,104,.4);border-radius:20px;display:flex;align-items:center;justify-content:center;text-align:center;color:#AEB9BB;font-size:14px;padding:26px;line-height:1.6}

/* горящие туры */
.tours{margin-top:30px;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.tour{background:var(--panel);border:1px solid var(--line);border-radius:22px;overflow:hidden;display:flex;flex-direction:column}
.tour .ph{height:170px;background-size:cover;background-position:center;position:relative;background-color:var(--badge)}
.tour .fire{position:absolute;top:10px;left:10px;background:var(--gold);color:#12222b;font-size:11px;font-weight:700;letter-spacing:.05em;padding:4px 9px;border-radius:17px}
.tour .bd{padding:16px 17px 18px;display:flex;flex-direction:column;flex:1}
.tour h4{font-size:16px;line-height:1.3}
.tour .meta{font-size:13px;color:var(--ink-soft);margin-top:6px;flex:1}
.tour .pr{margin-top:12px;font-family:"Iowan Old Style",Georgia,serif;font-size:22px;color:var(--gold)}
.tour .pr small{font-size:12px;color:var(--ink-soft);font-family:inherit}
.tour a.more{margin-top:12px;font-size:13px;font-weight:600;color:var(--sea);border:1px solid var(--line);border-radius:17px;padding:10px;text-align:center}
.tour a.more:hover{border-color:var(--gold);color:var(--gold)}

/* финал */
.cta{margin:clamp(52px,8vw,90px) 0 0;text-align:center;padding:clamp(40px,7vw,70px) 0;border-top:1px solid var(--line)}
.cta h2{font-family:"Iowan Old Style",Georgia,serif;font-weight:500;font-size:clamp(26px,4vw,38px)}
.cta p{margin-top:12px;color:var(--ink-soft);max-width:52ch;margin-inline:auto}

footer{margin-top:clamp(40px,6vw,70px);border-top:1px solid var(--line);padding:34px 0;color:var(--ink-soft);font-size:13px;text-align:center}

.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s ease}
.reveal.in{opacity:1;transform:none}

/* ==== Впечатления путешественников (отзывы о стране) ==== */
.reviews .rv-list{margin-top:26px;display:grid;gap:16px}
.rv{background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:22px 24px}
.rv .top{display:flex;align-items:center;gap:12px}
.rv .av{width:40px;height:40px;border-radius:50%;background:var(--badge);color:var(--gold);display:flex;align-items:center;justify-content:center;font-family:"Iowan Old Style",Georgia,serif;font-size:18px;font-weight:600;flex:0 0 auto}
.rv .who b{font-size:15px}
.rv .who span{display:block;font-size:12px;color:var(--ink-soft)}
.rv .stars{margin-left:auto;color:var(--gold);font-size:13px;letter-spacing:2px}
.rv p{margin-top:12px;font-size:15.5px;color:var(--ink);line-height:1.65}
.rv-empty{background:var(--panel);border:1px dashed var(--line);border-radius:24px;padding:34px;text-align:center;color:var(--ink-soft);font-size:15px}
.rv-empty b{color:var(--ink);font-family:"Iowan Old Style",Georgia,serif;font-weight:600;font-size:18px;display:block;margin-bottom:6px}
.rv-form{margin-top:22px;background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:clamp(22px,3vw,30px)}
.rv-form h3{font-family:"Iowan Old Style",Georgia,serif;font-size:20px}
.rv-form .grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.rv-form .full{grid-column:1/-1}
.rv-form label{display:block;font-size:12px;letter-spacing:.05em;color:var(--ink-soft);margin-bottom:5px}
.rv-form input,.rv-form textarea{width:100%;border:1px solid var(--line);border-radius:17px;background:var(--paper);color:var(--ink);padding:11px 13px;font:inherit;font-size:15px}
.rv-form textarea{min-height:110px;resize:vertical}
.rv-form .go{margin-top:14px;border:0;background:linear-gradient(135deg,var(--sea2),var(--sea));color:#fff;box-shadow:0 12px 26px -12px var(--sea);font-weight:600;font-size:14px;padding:14px 26px;border-radius:17px;cursor:pointer;transition:transform .2s}
.rv-form .go:hover{transform:translateY(-2px)}
.rv-form .note{margin-top:12px;font-size:12.5px;color:var(--ink-soft);line-height:1.55}
.rv-form .ok{margin-top:14px;font-size:14px;color:var(--sea);font-weight:600;display:none}
@media(max-width:560px){.rv-form .grid{grid-template-columns:1fr}}

/* ==== Города/курорты — раскрывающийся аккордеон ==== */
.places{margin-top:24px}
.places .grp{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:600;margin:28px 0 12px;display:flex;align-items:center;gap:12px}
.places .grp::before{content:"";width:26px;height:1px;background:var(--gold)}
.place{border:1px solid var(--line);border-radius:22px;background:var(--panel);margin-bottom:10px;overflow:hidden;transition:border-color .2s}
.place[open]{border-color:var(--gold-soft)}
.place>summary{list-style:none;cursor:pointer;padding:18px 22px;display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.place>summary::-webkit-details-marker{display:none}
.place>summary .nm{font-family:"Iowan Old Style",Georgia,serif;font-weight:600;font-size:19px}
.place>summary .tg{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:600}
.place>summary .ar{margin-left:auto;color:var(--gold);transition:transform .3s;font-size:13px;align-self:center}
.place[open]>summary .ar{transform:rotate(180deg)}
.place .in{padding:2px 22px 22px;color:var(--ink-soft);font-size:15.5px;line-height:1.68}
.place .in p{margin:0}
.place .in h5{color:var(--ink);font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin:16px 0 7px;font-weight:600}
.place .in ul{margin:0;padding-left:19px}
.place .in li{margin-top:6px}
.place .in .who{margin-top:14px;font-size:14px;color:var(--ink)}
.place .in .who b{color:var(--gold)}

/* AIRY-CARDS: мягкая тень для воздуха и объёма */
.fact,.wh,.ssn,.ti,.place,.tour,.rv,.rv-empty,.rv-form,.callout,.resorts,.taste{box-shadow:0 14px 36px -26px rgba(20,45,55,.42)}
.place[open]{box-shadow:0 18px 44px -24px rgba(20,45,55,.5)}

/* ==== сквозная навигация по направлениям (склейка сайта) ==== */
.dirs-all{margin:clamp(50px,7vw,80px) 0 0;padding:clamp(34px,5vw,52px) 0 clamp(30px,4vw,44px);border-top:1px solid var(--line);background:rgba(255,254,251,.7);background:color-mix(in srgb,var(--panel) 60%,transparent)}
.dirs-all h2{font-family:"Iowan Old Style",Georgia,serif;font-weight:500;font-size:clamp(24px,3.4vw,34px);margin:2px 0 18px}
.dir-row{display:flex;flex-wrap:wrap;gap:9px}
.dir-chip{display:inline-block;padding:9px 17px;border:1px solid var(--line);border-radius:19px;background:var(--panel);font-size:14px;font-weight:500;color:var(--ink);transition:.18s;box-shadow:0 6px 18px -14px rgba(12,34,48,.5)}
.dir-chip:hover{border-color:transparent;background:linear-gradient(135deg,var(--sea2),var(--sea));color:#fff;transform:translateY(-1px)}
.dir-chip.on{background:var(--badge);border-color:var(--gold);color:var(--gold);cursor:default}
.dir-chip.on:hover{transform:none;background:var(--badge);color:var(--gold)}
.dir-sub{margin:22px 0 10px;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft);font-weight:600}
.dir-home{margin-top:24px;font-size:14px}
.dir-home a{color:var(--sea);font-weight:600}
.dir-home a:hover{color:var(--gold)}

/* ==== запасной блок вместо модуля TourVisor, пока он не оплачен/не на своём домене ==== */
.tv-fallback{margin-top:8px;padding:clamp(22px,3.4vw,30px);border:1px solid var(--line);border-radius:20px;background:var(--panel);box-shadow:var(--shadow)}
.tv-fallback b{font-family:"Iowan Old Style",Georgia,serif;font-size:20px;font-weight:600;display:block}
.tv-fallback p{margin:8px 0 16px;color:var(--ink-soft);font-size:15px;max-width:56ch}
.tv-fb-btn{display:inline-block;padding:12px 24px;border-radius:20px;background:linear-gradient(135deg,var(--sea2),var(--sea));color:#fff;font-weight:600;font-size:14px;box-shadow:0 14px 30px -16px var(--sea)}
.tv-fb-btn:hover{filter:brightness(1.06)}

/* ==== живые горящие туры на странице страны ==== */
.hl-upd{color:var(--ink-soft);font-size:13px;opacity:.85}
.hl-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:clamp(14px,2vw,22px);margin-top:22px}
.hl-card{background:var(--panel);border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:.2s}
.hl-card:hover{transform:translateY(-3px)}
.hl-ph{position:relative;height:170px;background-size:cover;background-position:center;background-color:var(--badge)}
.hl-noph{background:linear-gradient(135deg,var(--badge),var(--panel))}
.hl-fire{position:absolute;left:12px;top:12px;background:rgba(12,34,48,.72);color:#FBF7EC;font-size:12px;font-weight:600;padding:5px 11px;border-radius:13px;backdrop-filter:blur(4px)}
.hl-bd{padding:15px 17px 18px;display:flex;flex-direction:column;gap:6px;flex:1}
.hl-bd h4{font-size:16px;font-weight:600;line-height:1.3}
.hl-st{color:var(--gold);font-size:13px;white-space:nowrap}
.hl-meta,.hl-when{color:var(--ink-soft);font-size:13px}
.hl-price{margin-top:auto;padding-top:8px;font-size:20px;font-weight:600;color:var(--sea)}
.hl-price small{display:block;font-size:12px;font-weight:400;color:var(--ink-soft)}
.hl-go{margin-top:10px;display:inline-block;padding:10px 18px;border-radius:17px;background:linear-gradient(135deg,var(--sea2),var(--sea));color:#fff;font-size:13px;font-weight:600;text-align:center;box-shadow:0 12px 26px -16px var(--sea)}
.hl-go:hover{filter:brightness(1.06)}

/* если скрипты отключены — контент виден сразу */
@media (scripting: none){.reveal{opacity:1 !important;transform:none !important}}

/* ОТКЛЮЧЕНО: контент виден всегда, анимация появления больше ничего не прячет */
.reveal{opacity:1 !important;transform:none !important}

/* ==== карточки «парят»: мягкая глубокая тень, лёгкий подъём, отклик на наведение ==== */
.cell,.svc a,.expc,.fact,.tour,.rv,.hl-card,.pband,.dir{
  box-shadow:0 22px 48px -26px rgba(12,34,48,.42), 0 3px 10px -6px rgba(12,34,48,.16);
  transition:transform .28s cubic-bezier(.2,.7,.3,1), box-shadow .28s ease;
}
.cell:hover,.svc a:hover,.expc:hover,.fact:hover,.tour:hover,.rv:hover,.hl-card:hover,.dir:hover{
  transform:translateY(-6px);
  box-shadow:0 36px 70px -28px rgba(12,34,48,.5), 0 6px 16px -8px rgba(12,34,48,.2);
}
@media (prefers-color-scheme:dark){
  .cell,.svc a,.expc,.fact,.tour,.rv,.hl-card,.pband,.dir{box-shadow:0 24px 54px -26px rgba(0,0,0,.72), 0 3px 10px -6px rgba(0,0,0,.5)}
  .cell:hover,.svc a:hover,.expc:hover,.fact:hover,.tour:hover,.rv:hover,.hl-card:hover,.dir:hover{box-shadow:0 40px 78px -28px rgba(0,0,0,.8), 0 6px 18px -8px rgba(0,0,0,.55)}
}
@media (prefers-reduced-motion:reduce){
  .cell,.svc a,.expc,.fact,.tour,.rv,.hl-card,.dir{transition:none}
  .cell:hover,.svc a:hover,.expc:hover,.fact:hover,.tour:hover,.rv:hover,.hl-card:hover,.dir:hover{transform:none}
}

/* ==== обложка: фото не увеличивается, кадр спокойный и чёткий ==== */
.hero{min-height:56vh;max-height:640px}
.hero-img{animation:none !important;transform:none !important;background-size:cover;background-position:center 42%;image-rendering:auto}
.hero h1{font-size:clamp(34px,6vw,62px)}
@media(max-width:640px){.hero{min-height:44vh}.hero-img{background-position:center 45%}}

/* ==== телефон: крупнее текст и кнопки, чтобы попадать пальцем ==== */
@media(max-width:640px){
  body{font-size:16px}
  p,.kick,.body,.note,.tnote,.fact p,.rv p{font-size:15px;line-height:1.7}
  a,button,.btn,.qbtn,.tab,.nav-login,.dir-chip,.hl-go,.tv-fb-btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
  .dir-chip{padding:11px 18px}
  .nav-in{gap:10px}
  .nav-login{font-size:13px}
}

/* ==== экскурсии ==== */
.exc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:clamp(14px,2vw,20px);margin-top:22px}
.exc{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:20px 22px;display:flex;flex-direction:column;gap:8px;box-shadow:0 22px 48px -26px rgba(12,34,48,.42);transition:.25s}
.exc:hover{transform:translateY(-5px)}
.exc h4{font-family:"Iowan Old Style",Georgia,serif;font-weight:500;font-size:19px;line-height:1.25}
.exc p{color:var(--ink-soft);font-size:14px;line-height:1.6}
.exc-price{margin-top:auto;padding-top:6px;font-size:17px;font-weight:600;color:var(--sea)}
.exc-go{font-size:13px;font-weight:600;color:var(--sea);text-decoration:underline}
#sputnik-widget{margin-top:22px}

/* === блок поиска шире колонки чтения: форме TourVisor нужно не меньше 670px === */
.narrow > .searchband{
  --sb: min(1060px, calc(100vw - 36px));
  width: var(--sb);
  margin-inline: calc((100% - var(--sb)) / 2);
}
.searchband .tv-search-form{max-width:100%;overflow-x:auto}
@media (max-width:900px){
  .narrow > .searchband{padding-left:16px;padding-right:16px}
}

/* ══════════════════════════════════════════════════════════════════════
   СКИН МОДУЛЕЙ TOURVISOR под палитру «Океан» — 12.08.2026
   Модуль приходит со своим стилем: плоская панель #428AAF, углы 0px,
   оранжевая кнопка #FCA32D, серая полоса фильтров #EDF2F5.
   Приводим к нашему виду: наш синий с градиентом, мягкие скругления,
   градиентная кнопка со свечением. !important обязателен — их правила
   специфичнее наших и грузятся позже.
   ══════════════════════════════════════════════════════════════════════ */

/* контейнер: обрезаем углы, чтобы панель модуля скруглялась заодно */
.tv-search-form,.tv-hot-tours,.tv-min-price,.tv-calendar,.tv-country{
  border-radius:26px!important;overflow:hidden!important;
  box-shadow:0 26px 56px -32px rgba(12,34,48,.5)!important;
}

/* верхняя синяя панель — наш градиент вместо плоского #428AAF */
.tv-search-form .TVMainForm,.tv-hot-tours .TVMainForm,.tv-min-price .TVMainForm{
  background:linear-gradient(135deg,var(--sea2),var(--sea))!important;
  border:0!important;border-radius:26px 26px 0 0!important;
  padding:clamp(16px,2vw,22px)!important;
}

/* полоса фильтров под панелью — наш «бумажный» тон, скругление снизу */
.tv-search-form .TVFilterForm,.tv-hot-tours .TVFilterForm{
  background:var(--panel)!important;
  border-top:1px solid var(--line)!important;
  border-radius:0 0 26px 26px!important;
  padding:clamp(14px,1.8vw,20px)!important;
}

/* поля, селекты, «плитки» параметров — мягкие углы вместо прямых */
.tv-search-form .TVMainSelect,.tv-search-form .TVMainFilter,
.tv-search-form .TVDepartureFilter,.tv-search-form .TVCountryFilter,
.tv-search-form .TVDatesFilter,.tv-search-form .TVNightsFilter,
.tv-search-form .TVTouristsFilter,.tv-search-form .TVHotelsSearch,
.tv-search-form input,.tv-search-form select,.tv-search-form textarea,
.tv-hot-tours .TVMainSelect,.tv-min-price .TVMainSelect{
  border-radius:16px!important;
}
.tv-search-form .TVMainFilter,.tv-hot-tours .TVMainFilter{
  border-color:var(--line)!important;
}

/* кнопка «Найти туры» — наш градиент со свечением вместо оранжевой */
.tv-search-form .TVSearchButton,.tv-hot-tours .TVSearchButton,
.tv-search-form button[class*=TVButton],.tv-search-form .TVButtonColor{
  background:linear-gradient(135deg,var(--sea2),var(--sea))!important;
  background-color:var(--sea)!important;
  color:#fff!important;border:0!important;
  border-radius:19px!important;font-weight:600!important;
  box-shadow:0 16px 34px -18px var(--sea)!important;
  transition:transform .18s ease,box-shadow .18s ease!important;
}
.tv-search-form .TVSearchButton:hover,.tv-hot-tours .TVSearchButton:hover{
  transform:translateY(-1px)!important;
  box-shadow:0 20px 40px -18px var(--sea)!important;
}

/* мелочи: радио-точка, стрелки списков, бейдж корзины — в нашей гамме */
.tv-search-form .TVInputRadioLabelCheck{background:var(--sea)!important}
.tv-search-form .TVCheckboxTreeItemArrow{background:var(--badge)!important;border-radius:14px!important}
.tv-search-form .TVCartPreviewCount{background:var(--gold)!important;color:#12222b!important;border-radius:15px!important}

/* внутри тёмной полосы .searchband панель не должна спорить с фоном */
.searchband .tv-search-form{box-shadow:0 30px 64px -34px rgba(0,0,0,.6)!important}

/* плашка «Вы смотрели» — появляется над поиском, когда гость нажал горящий тур */
.pick-note{background:var(--badge);border:1px solid var(--line);border-radius:18px;
  padding:14px 17px;margin-bottom:16px;font-size:14.5px;color:var(--ink);line-height:1.55}
.pick-note b{color:var(--sea)}
.pick-note span{display:block;margin-top:6px;font-size:13.5px;color:var(--ink-soft)}
.searchband .pick-note{background:rgba(255,255,255,.08);border-color:rgba(199,167,104,.35);color:#EFE9DA}
.searchband .pick-note b{color:var(--gold-soft)}
.searchband .pick-note span{color:#C6D0D2}


/* ══ Блок поиска: было чёрное полотно — стало белая карточка с тенью ══
   Причина: чёрный бросался в глаза и спорил с персиковым фоном страницы.
   Теперь как остальные блоки сайта: белая парящая карточка, голубые акценты,
   золотая надстрочная строка. 12.08.2026 */
.searchband{
  background:var(--panel)!important;color:var(--ink)!important;
  border:1px solid var(--line)!important;
  box-shadow:0 34px 74px -42px rgba(12,34,48,.40)!important;
}
.searchband h2{color:var(--ink)!important}
.searchband p{color:var(--ink-soft)!important}
.searchband .eyebrow{color:var(--gold)!important}
.searchband .rule i,.searchband .rule{background:var(--line)!important}
.searchband .tv-slot{
  background:var(--badge)!important;border:1px dashed var(--gold-soft)!important;
  color:var(--ink-soft)!important;
}
/* плашка «Вы смотрели» на светлом фоне — как обычная карточка */
.searchband .pick-note{background:var(--badge)!important;border-color:var(--line)!important;color:var(--ink)!important}
.searchband .pick-note b{color:var(--sea)!important}
.searchband .pick-note span{color:var(--ink-soft)!important}
.searchband .tv-search-form{box-shadow:0 26px 56px -32px rgba(12,34,48,.42)!important}

/* каталог отелей, минимальные цены, календарь, слайдер — приподнять тенью */
.tv-country,.tv-min-price,.tv-calendar,.tv-image-slider,.tv-hot-tours{
  background:var(--panel)!important;border:1px solid var(--line)!important;
  box-shadow:0 30px 66px -38px rgba(12,34,48,.40)!important;
}

/* в тёмной теме карточка остаётся тёмной — это нормально, фон там тоже тёмный */
@media (prefers-color-scheme:dark){
  .searchband{background:var(--panel)!important;border-color:var(--line)!important}
}
:root[data-theme="dark"] .searchband{background:var(--panel)!important;border-color:var(--line)!important}

/* главная: модуль поиска — в такой же парящей карточке, как на страницах стран.
   Без обёртки он лежал плоско прямо на фоне. 12.08.2026 */
#tvLive{
  background:var(--panel);border:1px solid var(--line);border-radius:28px;
  padding:clamp(16px,2.4vw,26px);
  box-shadow:0 34px 74px -42px rgba(12,34,48,.40);
}
#tvLive .note{margin-top:15px;color:var(--ink-soft);font-size:14.5px;text-align:center}
#tvLive .note a{color:var(--sea);border-bottom:1px solid rgba(44,127,184,.4);border-bottom:1px solid color-mix(in srgb,var(--sea) 40%,transparent)}
#tvLive .pick-note{margin-bottom:18px}


/* ══ Премиальная отделка 12.08.2026: единая тёмно-золотая рамка на карточках ══ */
.cell,.svc a,.expc,.dir,.tcard,.tour,.hl-card,.fact,.rv,.pband,
.tv-min-price,.tv-country,.tv-calendar,.tv-search-form,.searchband{
  border:1px solid rgba(190,154,85,.38)!important}
.cell:hover,.svc a:hover,.tcard:hover,.dir:hover{border-color:rgba(190,154,85,.75)!important}
.svc .ic{color:var(--gold)!important}


/* кнопка «Поделиться впечатлением» — в стиле «Подобрать тур»: светлая с синей обводкой,
   при наведении заливается синим. 12.08.2026 */
.rv-form .go{
  background:transparent!important;color:var(--sea)!important;
  border:1px solid var(--sea)!important;box-shadow:none!important;
  font-weight:600!important;transition:background .2s ease,color .2s ease,transform .2s ease!important}
.rv-form .go:hover{
  background:linear-gradient(135deg,var(--sea2),var(--sea))!important;color:#fff!important;
  border-color:transparent!important;transform:translateY(-2px)!important;
  box-shadow:0 14px 30px -16px var(--sea)!important}


/* «Расширенные фильтры» — золотая обводка и подсветка: иначе гость не замечает,
 что фильтры вообще можно открыть. 12.08.2026 */
.tv-search-form .TVAdvancedFilters{
border:1.5px solid var(--gold)!important;background:var(--badge)!important;
border-radius:16px!important;font-weight:600!important;color:var(--ink)!important;
box-shadow:0 0 0 3px rgba(190,154,85,.14)!important;cursor:pointer!important;
transition:box-shadow .2s ease,background .2s ease!important}
.tv-search-form .TVAdvancedFilters:hover{
background:#fff!important;box-shadow:0 0 0 4px rgba(190,154,85,.24)!important}
.tv-search-form .TVAdvancedFilters svg,.tv-search-form .TVAdvancedFilters i{color:var(--gold)!important}

/* парящие иконки и картинки на страницах стран — 13.08.2026 */
.cell .ic,.svc .ic,.expc .ic,.fact .ic{filter:drop-shadow(0 6px 12px rgba(190,154,85,.35))}
.dir .img,.hl-card img,.hl-photo,.cover img{box-shadow:0 14px 34px -22px rgba(12,34,48,.5)}
.rv .ic,.fact strong{filter:none}
