/* =========================
   RESET / BASE
========================= */
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial;
  background:#f7f7f7;
  color:#333;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;vertical-align:middle;border:0}
a{color:#337ab7;text-decoration:none;outline:0;background:transparent}

:root{
	--line: rgba(17,24,39,.12);
  --muted:#6b7280;
  --card:#fff;
  --soft:#f3f4f6;
  --blue:#3d95fb;
  --greenDark:#16a34a;
}

/* =========================
   HEADER / GRID HELPERS (legacy)
========================= */
header{
  color:#fff;
  position:relative;
  margin-bottom:0;
  background:#305b95 url(/img/back.png) repeat-x;
  display:block;
}
header .main-info{padding:20px 0 8px}

:before,:after{box-sizing:border-box}
.wrap{max-width:1200px;margin:0 auto;padding:22px 18px;overflow-x:hidden}
.wrap:before,.wrap:after{display:table;content:" "}
.wrap:after{clear:both}

.col-xs-3{width:25%;float:left}
.col-xs-9{width:75%;float:left;position:relative;min-height:1px}
.pull-right{float:right}
.pull-left{float:left!important}
.hidden{display:none!important}

.header .header-info{padding-top:9px;padding-left:0;padding-right:0}
.header .phone-info{
  background:url(/img/phone2.png) no-repeat center left;
  padding-left:34px;
  width:214px;
  min-height:60px;
}
.header-phone-info{display:inline;font-size:11px}
.header-info-gold{color:#ffd971}
.pseudo-link{text-decoration:none!important;display:inline-block;line-height:1.1;border-bottom:1px dashed}
.gotham-medium{font-family:Gotham,"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500!important}
.header-block-height{display:block;min-height:20px}
.header-info .site-phone{
  color:#fff;
  text-decoration:none;
  font-weight:700;
  display:block;
}
.site-phone,.show-hidden-phone{white-space:nowrap}
.header-clbk{cursor:pointer}
.header-info .current-city-phone-wrapper{font-size:18px;line-height:18px;padding-top:3px}
.CoverFooter_toursAmountWrapper__W1f7Z {color: white;}

.header .city-info{background:url(/img/marker2.png) no-repeat center left;min-width:245px}
header .city-info{padding-left:30px;margin-right:20px}

.content{
	max-width: 1200px;
    margin: 0 auto;
    padding: 18px 14px;
}
.content_container {
    padding-top: 50px;
    padding-bottom: 100px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}
.content_left{width:300px;}
.content_left .moduletable{padding:6px;border:1px dashed #1dbbc0;}
.content_left h3{font-size:34px;line-height:38px;color:#1dbbc0;padding:5px;margin:0px;}
.content_left ul{padding:0px;margin:0px;}
.content_left ul li{display:block;border-top:1px dotted #fff;}
.content_left ul li:first-child{border-top:none;}
.content_left ul li a{display:block;font-size:16px;line-height:20px;color:#fff;position:relative;padding:8px 22px;}
.content_left ul li a:before{content:'';display:block;width:5px;height:1px;background:#fff;position:absolute;top:17px;left:7px;}
.content_left ul li a:hover{text-decoration:underline;}
.content_left ul li.active a{background:#454445;color:#1dbbc0;}
.content_left ul li.active a:before{background:#1dbbc0;}
.content_left-module{background:#120e27;margin-bottom:20px;padding:4px;}
.content_right{width:calc(100% - 330px);}
.content_right h1{font-size:30px;line-height:34px;margin:0px;margin-bottom:20px;color:#098ad3;font-weight:normal;border-bottom:1px dashed #000;padding-bottom:10px;}
.content_right p{margin-top:15px;font-size:14px;line-height:18px;}
.content_right b{font-weight:bold;}
.content_right p a{text-decoration:underline;}
.content_right img.float-left{border:5px solid #31363b;display:block;margin:0px 20px 20px 0px;}
.content_right img.float-right{border:5px solid #31363b;display:block;margin:0px 0px 20px 20px;}
.text-block_left{background:#e3e2e2;position:relative;}
.text-block_left:before{content:'';background:#f1efed;width:100%;height:50px;position:absolute;z-index:1;top:0;left:0;}
.text-block_left:after{content:'';border:1px dashed #0989d3;width:calc(100% - 9px);height:calc(100% - 9px);top:3px;left:3px;position:absolute;z-index:2;}
.text-block_left-title{position:relative;z-index:3;font-size:20px;color:#098ad3;height:60px;line-height:52px;padding:0 20px;}
.text-block_left-menu{position:relative;z-index:3;padding:20px;display:flex;flex-direction:column;align-items:flex-start;padding-top:0;}
.text-block_left-menu a{display:flex;align-items:center;width:100%;padding:10px 0;border-bottom:1px solid #c0bfbf;color:#213067;}
.text-block_left-menu svg{display:block;width:28px;height:28px;margin-right:10px;}
.text-block_left-menu a:hover{background:#0989d3;color:#fff;}
.text-block_left-menu a:hover svg g{fill:#fff;}
.text-block_text-3 {
    font-size: 18px;
    line-height: 1.4;
    margin-bottom: 20px;
}
/* =========================
   MOBILE MENU
========================= */
.mobMenu{
  position:fixed;
  inset:0;
  z-index:10050;
  display:none;
}
body.mobMenuOpen .mobMenu{display:block}
.mobMenu__overlay{position:absolute;inset:0;background:rgba(17,24,39,.35)}
.mobMenu__panel{
  position:absolute;top:0;right:0;
  width:min(92vw,420px);
  height:100%;
  background:#fff;
  box-shadow:-18px 0 50px rgba(16,24,40,.25);
  display:flex;flex-direction:column;
}
.mobMenu__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px;
  border-bottom:1px solid rgba(17,24,39,.12);
}
.mobMenu__logo img{height:28px;width:auto;display:block}
.mobMenu__close{
  border:0;background:transparent;
  font-size:22px;cursor:pointer;
  padding:10px;line-height:1;
}
.mobMenu__nav{overflow:auto;padding:10px 0}
.mobNav{list-style:none;margin:0;padding:0}
.mobNav>li{border-bottom:1px solid rgba(17,24,39,.08)}
.mobNav a{
  display:block;
  padding:14px 16px;
  color:#111827;
  font-weight:800;
  text-decoration:none;
}
.mobNav a:active{background:#f3f4f6}

/* accordion */
.mobBurger{display:none}
.mobDrop__btn{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px;
  border:0;
  background:transparent;
  cursor:pointer;
  font-weight:900;
  font-size:16px;
  color:#111827;
}
.mobDrop__chev{opacity:.7}
.mobDrop__box{display:none;padding:0 0 10px}
.mobDrop.is-open .mobDrop__box{display:block}
.mobDrop__list{list-style:none;margin:0;padding:0}
.mobDrop__list a{
  font-weight:650;
  padding:10px 16px 10px 26px;
  color:#374151;
}

/* =========================
   NAVBAR (legacy)
========================= */
.navbar-main{
  border:1px solid #ecc455;
  background:#ffd971;
  height:48px;
  margin-top:12px;
  margin-bottom:0;
  color:#655640;
  border-radius:0;
  font-size:15px;
  font-weight:700;
}
.navbar-main.tt-nav-fixed{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:10030;
  margin-top:0;
  box-shadow:0 4px 14px rgba(0,0,0,.12);
}
.navbar-main .wrap{padding:0}
.navbar-main .navbar{margin:0;min-height:46px;width:100%;display:table}
.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}
.navbar-main .navbar-collapse{padding-left:0;padding-right:0}
.navbar-main .navbar-nav>li{
  float:none;
  display:table-cell;
  text-align:center;
  vertical-align:middle;
}
.navbar-main .navbar-nav>li>a{
  color:#655640;
}
.navbar-main .navbar-brand{height:auto;font-size:15px}
.navbar-nav{margin:0}
.nav>li>a{position:relative;display:block;padding:10px 15px}
.r8{border-radius:8px}

.marked{list-style:disc;margin-left:27px}
.marked>a{color:#4a4d4d;font-size:13px}
.navbar-main ul.dropdown-menu>li.marked>a>span{border-bottom-color:#a49669}

.bordered-brown{text-decoration:none;border-bottom:1px solid #baa164}

.navbar-main img.country-icon{
  height:16px;
  margin-right:5px;
  vertical-align:text-top;
  border-radius:3px;
}

/* dropdowns */
.navbar-nav>li.dropdown{position:relative}
.navbar-nav>li.dropdown>.dropdown-menu{
  position:absolute;
  top:100%;
  left:0;
  display:none;
  min-width:260px;
  max-width:720px;
  padding:14px 12px;
  margin-top:0;
  border-radius:0 0 8px 8px;
  background:#fede85;
  box-shadow:0 10px 22px rgba(0,0,0,.18);
}
.header .wrap{overflow:visible}

.dropdown-menu{
  position:absolute;
  top:100%;
  left:0;
  z-index:1000;
  display:none;
  float:left;
  min-width:160px;
  padding:5px 0;
  margin:2px 0 0;
  font-size:14px;
  text-align:left;
  list-style:none;
  background:#fff;
  background-clip:padding-box;
  border:1px solid rgba(0,0,0,.15);
  border-radius:4px;
  box-shadow:0 6px 12px rgba(0,0,0,.175);
}
.dropdown-menu>li.divider{
  margin:9px 14px;
  overflow:hidden;
  height:0;
  border-top:1px solid #f2ce79;
  border-bottom:1px solid #f9d780;
  background:transparent;
}
.dropdown-menu li>a{padding:0}
  /* ПОЯВЛЕНИЕ при наведении */
.navbar-nav > li.dropdown:hover > .dropdown-menu{
  display: block;                /* показываем */
  opacity: 1;                    /* делаем видимым */
  pointer-events: auto;          /* снова кликабельно */
  transform: translateY(0);      /* возвращаем на место */
}

#tours-menu{width:556px}
#tours-menu li{width:262px;min-height:25px}
#tours-menu .menu-country-show-all{width:100%;min-height:auto}
.country-show-all-decoration{
  height:0;
  margin:4px 14px;
  border-top:1px solid #f2ce79;
  border-bottom:1px solid #f9d780;
  background:transparent;
}
#countries-menu-list{width:462px}
#countries-menu-list>li{width:230px;min-height:25px}

/* =========================
   FILTERS (generic)
========================= */
.flt{border-top:1px solid var(--line);padding-top:12px;margin-top:12px}
.flt__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.flt__head span{font-weight:500}
.flt__clear{border:0;background:transparent;color:var(--muted);cursor:pointer}
.flt__clear:hover{color:#111827}
.flt__lbl{font-size:12px;color:var(--muted);margin-bottom:6px;display:block}
.flt__two{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.flt__input{
  width:100%;
  padding:10px;
  border-radius:10px;
  border:1px solid var(--line);
  background:#fff;
  color:#111827;
}
.flt__list{display:grid;gap:8px;max-height:220px;overflow:auto;padding-right:6px}
.fltItem{display:flex;justify-content:space-between;align-items:center;gap:10px}
.fltItem label{display:flex;gap:10px;align-items:center;cursor:pointer}
.fltCount{color:var(--muted);font-size:12px}

/* rating radio */
.radioList{display:grid;gap:10px}
.radioItem{display:flex;gap:10px;align-items:center}

/* footer */
.footer{margin-top:30px;border-top:1px solid var(--line);background:#fff}
.footer__wrap{max-width:1200px;margin:0 auto;padding:18px;color:var(--muted);display:grid;gap:6px}
.footer__muted{font-size:12px;opacity:.8}

/* pagination */
.pagination{
  display:flex;
  gap:8px;
  align-items:center;
  justify-content:center;
  margin:18px 0 6px;
  flex-wrap:wrap;
}
.pgBtn{
  border:1px solid var(--line);
  background:#fff;
  color:#111827;
  border-radius:10px;
  padding:10px 12px;
  font-weight:950;
  cursor:pointer;
  min-width:44px;
}
.pgBtn:hover{background:var(--soft)}
.pgBtn:disabled{opacity:.5;cursor:not-allowed}
.pgBtn.active{border-color:var(--blue);background:#eef4ff}
.pgDots{color:var(--muted);font-weight:950;padding:0 6px}

/* =========================
   RESULTS PAGE
========================= */
.resultsWrap{max-width:1200px;margin:0 auto;padding:18px 14px}
.resultsGrid{
  display:grid;
  grid-template-columns:360px 1fr;
  gap:18px;
  align-items:start;
}
.filters{
  position:sticky;
  top:14px;
  z-index:40;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  padding:12px;
  max-height: calc(100vh - 28px); 
  overflow: auto;                
  overscroll-behavior: contain;
}
body.tt-nav-is-fixed .filters{
  top:62px;
  max-height:calc(100vh - 76px);
}
.sidebarSearch{margin-bottom:12px}

/* right head */
.rightCol__head{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  margin-bottom:12px;
  gap:12px;
  flex-wrap:wrap;
}
.rightCol{
  position:relative;
  z-index:1;
}
.filters .sidebarSearch{
  position:relative;
  z-index:50;
}
.filters .sidebarSearch .SearchBlock_fieldsOutlineContainer__JN44L{
  z-index:60;
}
.filters .sidebarSearch .DefaultField_container__zFkF9.is-open{
  z-index:70;
}
.rightCol__title{font-weight:950;font-size:20px}
.rightCol__muted{color:var(--muted);font-size:12px}
.sortBox{display:flex;align-items:center;gap:10px}
.sortBox__label{font-weight:900;color:#111827}
.sortBox__select{
  padding:10px 12px;
  border-radius:10px;
  border:1px solid var(--line);
  background:#fff;
  font-weight:900;
  color:#111827;
}

/* list cards */
.list{display:grid;gap:14px}

.hotelTextBlock{padding: 0 10px;}
.hotelTextBlock h2{
	margin-bottom: 2px;
	background: linear-gradient(120deg, #f97316, #ea580c);
    -webkit-background-clip: text;
    color: transparent;
}

/* card */
.item{
  width:100%;
  overflow:hidden;
  border-radius:12px;
  border:1px solid var(--line);
  background:var(--card);
  box-shadow:0 10px 26px rgba(16,24,40,.06);
}
.itemGrid{
  display:grid;
  grid-template-columns:260px 1fr;
  gap:14px;
  align-items:start;
  padding:12px;
  width:100%;
  max-width:100%;
}
.thumbWrap{
  position:relative; 
  /* width:240px; */
  height:180px;
  border-radius:5px;
  overflow:hidden;
  background:#eef2ff;
  /* border:1px solid var(--line); */
}
/* .thumb{width:320px;height:240px;object-fit:cover;display:block} */
.thumb{width:100%;height:100%;object-fit:cover;display:block}

.itemMain{min-width:0}
.hotelHead{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
}
.hotelHeadMain{min-width:0;flex:1 1 auto}
.hotelHeadRating{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:6px;
  flex:0 0 auto;
}
.ratingBadge{
  min-width:18px;
  padding:6px 8px;
  border-radius:3px;
  background:#72cb01;
  color:#ffffff;
  font-weight:650;
  font-size:18px;
  display:flex;
  align-items:center;
  gap:6px;
  justify-content:center;
  text-align:center;
  box-shadow:1px 1px 3px #555;
  z-index:10;
}
.ratingOverlay{
  position:absolute;
  top:13px;
  right:13px;
}
.ratingBadgeIcon{
  width:16px;
  height:16px;
  display:block;
}
.ratingMeta{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:4px;
  padding-right: 10px;
}
.ratingMetaIcon{
  width:15px;
  height:15px;
  display:block;
}
.ratingBadge--green-strong{background:#26a641}
.ratingBadge--green{background:#72cb01}
.ratingBadge--lime{background:#b7e11a;color:#1f2937}
.ratingBadge--yellow{background:#f2c700;color:#1f2937}
.ratingBadge--orange{background:#f59e0b}
.ratingBadge--red{background:#ef4444}
.ratingReviews{
  font-size:12px;
  color:var(--muted);
  white-space:nowrap;
}
.starsRow{
  display:inline-flex;
  gap:1px;
  align-items:center;
  margin-left:6px;
  font-size:.78em;
  line-height:1;
  vertical-align:text-top;
  position:relative;
  top:-2px;
}
.starOn{color:#f5b301}
.starOff{
  color:#d1d5db;
  text-shadow:
    0 0 0 #f5b301,
    0 0 0 #f5b301,
    0 0 0 #f5b301;
}
.itemMain h3{
  margin:0;
  display:inline;
}
.hotelTitleLink{
  color:inherit;
  text-decoration:none;
}
.hotelTitleLink:hover{
  text-decoration:underline;
}
.placeLine{color:var(--muted)}

.itemBody{
  display:grid;
  grid-template-columns:1fr 190px;
  gap:14px;
  margin-top:8px;
  align-items:start;
}

.facts{display:grid;margin-top:2px}
.fact{
  display:flex;
  align-items:center;
  gap:10px;
  border-radius:999px;
  width:max-content;
  max-width:100%;
}
.fact__ico{width:17px;height:20px;display:inline-block;flex:0 0 auto}
.fact__txt{font-size:13px;color:#111827;font-weight: 500;}
.fact__txt b{font-weight:550}
.factWide{width:100%}

.roomTag{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:0 10px;
  border-radius:999px;
  background:#ecfdf5;
  border:1px solid rgba(34,197,94,.25);
  color:#065f46;
  font-size:13px;
  margin-top:6px;
  max-width:100%;
}
.roomTag span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:3px}

.itemSide{
  display:flex;
  flex-direction:column;
  gap:10px;
  min-width:0;
}
.priceBox{
  text-align:right;
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:2px 2px 0;
}
.priceTop{
  padding-right: 10px;
}
.priceTop,
.priceBottom{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  justify-content:center;
  /* min-height:58px; */
}
.priceTop .priceLabel,
.priceBottom .priceLabel{
  font-size:11px;
  color:#6b7280;
  line-height:1.25;
}
.priceTop .priceVal{
  display:block;
  width:100%;
  text-align:right;
  font-size:21px;
  font-weight:450;
  margin-top:2px;
  line-height:1;
  color:#111827;
  font-variant-numeric:tabular-nums;
}
.priceBottom .priceVal{
  font-size:28px;
  font-weight:650;
  margin-top:2px;
  line-height:1;
  color:#0f172a;
}
.priceCta{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  justify-content:flex-end;
  gap:2px;
  width:100%;
  text-decoration:none;
  color:#1f2937;
  font-weight:700;
  border-radius:5px;
  background:#f2d36a;
  border:1px solid rgba(184,134,11,.2);
  box-shadow:0 8px 18px rgba(184,134,11,.18);
  padding:10px 10px;
  cursor:pointer;
  transition:transform .12s ease, box-shadow .12s ease, background-color .12s ease;
}
.priceBottom .priceCta{
  margin-top:0;
}
.priceCtaLead{
  font-size:12px;
  font-weight:500;
  color:#5b4a1a;
}
.priceCtaVal{
  display:block;
  width:100%;
  text-align:right;
  font-size: 24px;
  font-weight:550;
  line-height:1;
  text-decoration:none;
  color:#1f2937;
  font-variant-numeric:tabular-nums;
}
.priceCtaPrefix{
  font-size:14px;
  font-weight:600;
  color:#5b4a1a;
}
.priceCta:hover{
  background:#eecb56;
  box-shadow:0 10px 22px rgba(184,134,11,.24);
  transform:translateY(-1px);
}
.priceCta:active .priceCtaVal{
  opacity:1;
}
.priceCta:focus-visible{
  outline:2px solid #b8860b;
  outline-offset:2px;
}

/* results responsive */
/* @media (max-width:1100px){
  .resultsGrid{grid-template-columns:1fr}
  .filters{position:relative;top:auto}
  .itemGrid{grid-template-columns:1fr}
  .thumbWrap,.thumb{width:100%}
  .thumbWrap{height:240px}
  .thumb{height:240px}
  .itemSide{
    border-left:0;
    padding-left:0;
    border-top:1px solid var(--line);
    padding-top:12px;
  }
} */
@media (max-width:1100px){
  .itemBody{
    grid-template-columns:1fr 170px;
  }
}

@media (max-width:1100px){
  .itemGrid{
    grid-template-columns:1fr; /* вместо 240 / 1fr / 160 */
  }

  .thumbWrap{
    width:100%;
    height:240px;
  }

.thumb{
    width:100%;
    height:100%;
    object-fit:cover;
  }

  .hotelHead{
    gap:10px;
  }
  .hotelHeadRating{
    align-items:flex-end;
  }
  .ratingBadgeIcon{
    width:14px;
    height:14px;
  }
  .ratingMetaIcon{
    width:14px;
    height:14px;
  }
  .ratingReviews{
    font-size:11px;
  }

  .itemBody{
    grid-template-columns:1fr 1fr;
    gap:12px;
  }

  .itemSide{
    border:0;
    border-radius:0;
    padding:0;
    background:transparent;
  }
  .priceBox{
    padding:2px 0 0;
  }
  .priceTop .priceVal{
    font-size:22px;
  }
  .priceBottom .priceVal{
    font-size:24px;
  }
  .priceCtaLead{
    font-size:11px;
  }
  .priceCtaVal{
    font-size:24px;
  }
}
@media (max-width:700px){
  .priceCtaPrefix{
    display:none;
  }
}

/* =========================
   SEARCH PANEL (main + sidebar)
========================= */
.Cover_cover__euqUT{
  position:relative;
  display:flex;
  justify-content:center;
  width:100%;
  max-width:100vw;
  padding:.75rem .625rem 1.5rem;
  background:#3d95fb;
}
.Cover_imagesWrapper___8qdk{
  position:absolute;
  top:0;left:0;
  overflow:hidden;
  width:100%;
  height:100%;
  pointer-events:none;
  background:#305b95 url(/img/back.png) repeat-x;
}
.Cover_content__0gI_5{
  position:relative;
  display:flex;
  flex-direction:column;
  width:100%;
  max-width:1200px;
  height:100%;
  border-radius:8px;
}
.Cover_searchFormWrapper__a7BO8{position:relative}
.MainTitle_title__qBKeT{
  font-size:1.25rem;
  font-weight:800;
  line-height:1.2;
  margin:1.5rem 0;
  text-align:center;
  color:#fff;
}
.SearchBlock_container__zNJl0{position:relative;width:100%}

/* switcher */
.SearchType_switcher__ezOGP{
  position:relative;
  display:flex;
  flex-shrink:0;
  width:346px;
  margin-right:1rem;
  border-radius:12px 12px 0 0;
  background:rgba(243,249,255,.3);
  backdrop-filter:blur(4px);
}
.SearchType_switcherInner__hDQgM{
  display:flex;
  box-sizing:border-box;
  margin:.25rem;
  padding:.25rem;
  border-radius:8px;
  background:#fff;
}
.SearchType_button__6PMA5{
  font:inherit;
  cursor:pointer;
  background:transparent;
  font-size:.875rem;
  font-weight:650;
  line-height:1.14;
  z-index:2;
  display:flex;
  align-items:center;
  flex-shrink:0;
  justify-content:center;
  box-sizing:border-box;
  width:163px;
  height:32px;
  padding:0 .5rem;
  color:#313140;
  border:0;
  border-radius:4px;
  transition:all .2s ease;
}
.SearchType_button__6PMA5:first-child{margin-right:2px}
.SearchType_button__6PMA5:hover{background:#eef4ff}
.SearchType_button__6PMA5.SearchType_active__91uCy{color:#fff;background:#3d95fb}
.SearchType_button__6PMA5.SearchType_active__91uCy:hover{background:#2f86f7}

.SearchBlock_fieldsOutlineContainer__JN44L{
  position:relative;
  z-index:5;
  padding:4px;
  border-radius:0 12px 12px 12px;
  background:rgba(243,249,255,.3);
  backdrop-filter:blur(4px);
}
.SearchBlock_aiRow{
  display:flex;
  align-items:center;
  gap:8px;
  margin:8px 10px 10px;
  color:#fff;
  font-size:13px;
  font-weight:600;
}
.SearchBlock_aiRow input[type="checkbox"]{
  width:16px;
  height:16px;
  accent-color:#ffd971;
}
.filters .sidebarSearch .SearchBlock_aiRow{display:none}
.SearchBlock_fieldsContainer__B78jo{
  display:flex;
  align-items:center;
  flex-direction:column; /* mobile first */
}

.DefaultField_container__zFkF9{
  position:relative;
  width:100%;
  height:56px;
  margin-bottom:.5rem;
  padding:.625rem .75rem;
  cursor:pointer;
  border-radius:8px;
  background:#fff;
  user-select:none;
}
.DefaultField_label__ZQLeE{
  pointer-events:none;
  font-size:.75rem;
  font-weight:400;
  line-height:1.33;
  color:#a1a1a1;
}
.DefaultField_containerTitle__AbRgh{display:flex;flex-direction:column}
.DefaultField_title__a5XO_{
  font-size:1rem;
  font-weight:400;
  line-height:1.25;
  white-space:nowrap;
  color:#313140;
}

.SearchBlock_containerForNightsAndTourists__z0pXY{display:flex;width:100%}
/* .NightsAmount_container__Bc41J{width:calc(50% - 4px)}
.TouristsAmount_container__gUjoC{width:calc(50% - 4px)} */
.SearchBlock_divider__VZo3e{width:8px}


/* button (legacy classes) */
.kqXRuv{font-size:1rem;line-height:1.25;font-weight:600;padding:16px 20px;height:56px}
.hdYtFb{
  font-size:.75rem;
  line-height:1.33;
  font-weight:650;
  position:relative;
  width:fit-content;
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#ffd971;
  color:rgb(49,49,64);
  font-family:"Open Sans",sans-serif;
  border:0;
  border-radius:8px;
  cursor:pointer;
  transition:.5s ease-in-out;
  overflow:hidden;
}
.SearchButton_searchButton__EaReB{width:100%}
.hdYtFb>span{position:relative;display:flex;align-items:center;white-space:nowrap}
.ixxyVm{margin:0 .25rem 0 0}
svg.SearchButton_buttonIcon__dZpeU path{fill:#313140}

/* top tabs links */
.Cover_desktopLinks__zD_PL{position:absolute;top:2px;left:356px}
.LinkTabs_linkTabs__5I0Me{
  display:flex;
  overflow-x:scroll;
  flex-shrink:0;
  width:calc(100% + 20px);
  margin:2px 0 0;
  padding-left:10px;
  scrollbar-width:none;
}
.LinkTab_linkTab__WGGSJ{list-style:none}
.LinkTab_link__TF7_y{
  display:flex;
  align-items:center;
  justify-content:center;
  height:32px;
  margin-right:.5rem;
  padding:0 1.5rem 0 1rem;
  white-space:nowrap;
  text-decoration:none;
  color:#fff;
  border:1px solid hsla(0,0%,100%,.2);
  border-radius:8px;
  background:rgba(243,249,255,.3);
  transition:all .2s ease;
  backdrop-filter:blur(4px);
  font-size:.75rem;
  font-weight:650;
  line-height:1.33;
}

/* footer buttons */
.CoverFooter_footer__gV2V7{
  display:grid;
  width:100%;
  margin-top:1.5rem;
  grid-template-columns:1fr 1fr;
  grid-template-rows:1fr 1fr;
  grid-template-areas:
    "logos tours"
    "buttons buttons";
  grid-gap:1rem 0;
}
.Buttons_buttons__9fr2k{display:flex;grid-area:buttons}
.Buttons_buttons__9fr2k a.Buttons_buttonLink__YDbLX:first-child{margin-right:.5rem}
.Buttons_buttons__9fr2k a.Buttons_buttonLink__YDbLX{
  width:100%;
  color:#fff;
  border-color:#fff;
  background:transparent;
  backdrop-filter:blur(4px);
}
.lgZukj.lgZukj{
  background:#fff;
  color:rgb(61,149,251);
  border:1px solid rgb(61,149,251);
  font-size:.75rem;
  line-height:1.33;
  font-weight:650;
  padding:8px 16px;
  height:32px;
}
.Buttons_buttons__9fr2k a.Buttons_buttonLink__YDbLX svg{margin-right:.25rem;fill:#ffd709}

@media (min-width:1200px){
  .MainTitle_title__qBKeT{font-size:2.5rem;font-weight:800;line-height:1.2}
  .CoverFooter_footer__gV2V7{margin-top:1.5rem}
  .CoverFooter_countryOffersWrapper__vraxy{padding-left:.25rem}
}

/* ===== TABLET+ (but still VERTICAL form) ===== */
@media (min-width:768px){
  .Cover_cover__euqUT{padding:1.5rem 3.875rem}
  .CoverFooter_footer__gV2V7{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-top:1rem
  }
  .MainTitle_title__qBKeT{
    font-size:2rem;
    font-weight:800;
    line-height:1.25;
    margin:2.25rem 0
  }

  /* ВАЖНО: до 960 панель остаётся ВЕРТИКАЛЬНОЙ */
  .SearchBlock_fieldsContainer__B78jo{
    display:flex;
    flex-direction:column;
    background:transparent;
  }
}

/* ===== DESKTOP (HORIZONTAL from 960+) ===== */
@media (min-width:960px){
  .Cover_cover__euqUT{padding:4.25rem 1.5rem 2rem}
  .MainTitle_title__qBKeT{margin:0 0 2.5rem}

  /* GRID вместо flex-row */
  .SearchBlock_fieldsContainer__B78jo{
    display:grid;
    align-items:stretch;
    gap:0;
    background:#fff;
    border-radius:.5rem;
    grid-template-columns: 16% 16% 20% 33% 15%; /* dep, dest, dates, nights+pax, btn */
    grid-auto-rows:auto;
  }
  .SearchBlock_fieldsContainer__B78jo > *{min-width:0}

  /* HOTELS tab grid */
  body.tt-type-hotels .SearchBlock_fieldsContainer__B78jo{
    grid-template-columns: 28% 32% 20% 20%; /* dest, dates, pax, btn */
  }


  /* nights/tourists inside */
  .SearchBlock_containerForNightsAndTourists__z0pXY{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
  }

  /* divider not needed */
  .SearchBlock_divider__VZo3e{display:none}

  /* separators between fields */
  .DefaultField_container__zFkF9{
    margin-bottom:0;
    padding:.625rem 1rem;
    cursor:auto;
  }
  .DefaultField_container__zFkF9:before{
    position:absolute;
    bottom:8px;
    left:0;
    width:1px;
    height:38px;
    content:"";
    border-left:1px solid #a1a1a1;
  }
  .SearchBlock_fieldsContainer__B78jo > :first-child:before{display:none}
  body.tt-type-hotels .SearchBlock_fieldsContainer__B78jo > :first-child:before{display:none}

  .DefaultField_containerTitle__AbRgh{cursor:pointer}
  .DefaultField_title__a5XO_{font-weight:400;line-height:1.33}

  .LinkTabs_linkTabs__5I0Me{overflow-x:hidden;margin-left:0;padding-left:0}
  .LinkTab_link__TF7_y{height:40px}
  .CoverFooter_footer__gV2V7{margin-top:2.125rem}
  .CoverFooter_countryOffersWrapper__vraxy{width:33%}
  .Buttons_buttons__9fr2k{flex:1 1 auto;justify-content:center;width:30%}
  .Buttons_buttons__9fr2k a.Buttons_buttonLink__YDbLX{width:156px}
}

@media (max-width:767px){
  .content{
    padding:14px 10px;
  }
  .content_container{
    padding-top:18px;
    padding-bottom:28px;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:14px;
  }
  .content_left {
    width:100%;
  }
  .content_right{
    width:100%;
    min-width:0;
  }
  .content_right h1{
    font-size:28px;
    line-height:1.2;
    margin-bottom:12px;
    word-break:break-word;
  }
  .text-block_left{
    width:100%;
  }
  .text-block_left-menu{
    padding:14px;
    padding-top:0;
  }
  .text-block_left-menu a{
    font-size:15px;
    line-height:1.25;
  }
  .SearchBlock_fieldsContainer__B78jo{box-sizing:border-box}
  .header .city-info{display:none}
  .navbar-main{display:none}
  .Cover_desktopLinks__zD_PL{display:none}
  .pull-right{float:none}
  .main-info{padding:0!important}
  .wrap{padding-left:14px;padding-right:14px}
  .filters{
    position: relative;
    top: auto;
    max-height: none;
    overflow: visible;
  }
  .SearchBlock_containerForNightsAndTourists__z0pXY{
    display:flex;
    gap:8px;
  }
  .SearchBlock_divider__VZo3e{display:none}

  .resultsGrid{grid-template-columns:1fr}

  .mobBurger{
    position:absolute;
    top:18px;
    right:14px;
    z-index:30;
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:10px 12px;
    border-radius:12px;
    border:1px solid rgba(255,255,255,.25);
    background:rgba(0,0,0,.12);
    color:#fff;
    cursor:pointer;
  }
  .mobBurger__txt{font-weight:800;font-size:14px}
  .mobBurger__icon{font-size:18px;line-height:1}
  
}


/* =========================
   SIDEBAR SEARCH (RESULTS) 

========================= */
.filters .sidebarSearch .SearchBlock_fieldsOutlineContainer__JN44L{
  padding:8px;
  border-radius:16px;
  background:#305b95;
  backdrop-filter:none;
}
.filters .sidebarSearch .SearchBlock_fieldsContainer__B78jo{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  background:transparent;
  gap:8px;
}

/* make fields full width inside sidebar */
.filters .sidebarSearch .DepartureCity_container__xiPzS,
.filters .sidebarSearch .WhereDirection_container__lwAht,
.filters .sidebarSearch .DepartureDates_container__opV43,
.filters .sidebarSearch .SearchButton_searchButton__EaReB{
  width:100%;
}

/* field look in sidebar */
.filters .sidebarSearch .DefaultField_container__zFkF9,
.filters .sidebarSearch .WhereDirection_container__lwAht{
  margin:0;
  height:56px;
  padding:.625rem .75rem;
  border-radius:12px;
  background:#fff;
  cursor:pointer;
}

/* remove desktop separators inside sidebar */
.filters .sidebarSearch .DefaultField_container__zFkF9:before,
.filters .sidebarSearch .WhereDirection_container__lwAht:before{display:none}

/* nights/tourists in sidebar = 2 columns with ровный отступ (как на мобиле) */
.filters .sidebarSearch .SearchBlock_containerForNightsAndTourists__z0pXY{
  width:100%;
  display:flex;
  gap:8px;
}
.filters .sidebarSearch .NightsAmount_container__Bc41J,
.filters .sidebarSearch .TouristsAmount_container__gUjoC{
  width:calc(50% - 4px);
  margin:0;
}
.filters .sidebarSearch .SearchBlock_divider__VZo3e{display:none}

/* search button in sidebar */
.filters .sidebarSearch .SearchButton_searchButton__EaReB{height:56px;border-radius:12px}

/* hide extra stuff in sidebar */
.filters .sidebarSearch .Cover_desktopLinks__zD_PL,
.filters .sidebarSearch .CoverFooter_footer__gV2V7{display:none}

/* search type switcher in results sidebar */
.filters .sidebarSearch .SearchType_switcher__ezOGP{
  width:100%;
  max-width:100%;
  margin:0 0 8px;
}
.filters .sidebarSearch .SearchType_switcherInner__hDQgM{
  width:100%;
}
.filters .sidebarSearch .SearchType_button__6PMA5{
  flex:1 1 50%;
  width:auto;
}

/* =========================
   POPUPS / MODALS (SP_)
========================= */
.SP_hiddenInput{position:absolute;inset:0;opacity:0;pointer-events:none}
.SP_modal{
  position:absolute;
  top:calc(100% + 6px);
  z-index:2147483000;
  display:none;
  background:transparent;
  padding:0;
  min-width: 250px;
}
#depModal,#destModal{
	left:0;right:0;
}
#nightsModal{
left:0;
}
#paxModal{
right:0;
}
.SP_modal--calendar{
  position:fixed;
  inset:0;
  background:rgba(17,24,39,.20);
  padding:16px;
  z-index:2147483000;
}
.DefaultField_container__zFkF9.is-open .SP_modal{display:block}
.DefaultField_container__zFkF9.is-open .SP_modal--calendar{
  display:flex;
  align-items:center;
  justify-content:center;
}
.SP_modalInner{
  background:#fff;
  border-radius:12px;
  border:1px solid rgba(17,24,39,.12);
  box-shadow:0 18px 50px rgba(16,24,40,.18);
  overflow:hidden;
  width:unset;
}
.SP_modalInner--calendar{padding:0}

/* daterangepicker inside modal */
.SP_modalInner--calendar .daterangepicker{
  position:static;
  margin:0;
  box-shadow:none;
  border:0;
  z-index:2147483001 !important;
}

.SP_calendarHint{font-size:12px;color:#6b7280;margin-bottom:10px}

/* lists */
.SP_list{max-height:260px;overflow:auto;padding:6px}
.SP_item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 12px;
  border-radius:10px;
  cursor:pointer;
  font-size:14px;
  color:#111827;
}
.SP_item:hover{background:#f3f4f6}
.SP_item.is-active{background:#eef4ff;color:#3d95fb;font-weight:800}

/* counters */
.SP_counterBox{padding:12px}
.SP_counterRow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 6px;
  border-radius:12px;
  background:#f9fafb;
  border:1px solid rgba(17,24,39,.08);
}
.SP_counterRow + .SP_counterRow{margin-top:10px}
.SP_btnMinus,.SP_btnPlus{
  width:38px;height:38px;
  border-radius:10px;
  border:1px solid rgba(17,24,39,.14);
  background:#fff;
  font-size:20px;
  line-height:1;
  cursor:pointer;
  color:#3d95fb;
  font-weight:950;
}
.SP_btnMinus:disabled,.SP_btnPlus:disabled{opacity:.4;cursor:not-allowed}
.SP_counterTxt{font-size:14px;color:#111827;font-weight:650}
.SP_counterNum{font-weight:950}

/* pax children */
.SP_addChildBtn{
  width:100%;
  margin-top:10px;
  padding:12px 14px;
  border-radius:12px;
  border:1px solid rgba(29,78,216,.35);
  background:#eef4ff;
  color:#3d95fb;
  font-weight:950;
  cursor:pointer;
}
.SP_childrenWrap{margin-top:12px}
.SP_childrenTitle{font-size:12px;color:#6b7280;margin:2px 0 10px}
.SP_agesGrid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.SP_age{
  padding:10px 0;
  border-radius:10px;
  border:1px solid rgba(17,24,39,.14);
  background:#fff;
  cursor:pointer;
  font-weight:900;
  color:#111827;
  text-align:center;
  font-size:12px;
}
.SP_age:hover{background:#f3f4f6}
.SP_age.is-active{background:#e8f0ff;border-color:#3d95fb;color:#1d4ed8}
.SP_childrenFooter{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:10px;
}
.SP_linkDanger{border:0;background:transparent;color:#b91c1c;font-weight:950;cursor:pointer}
.SP_childrenCount{font-size:12px;color:#6b7280;font-weight:800}

/* daterangepicker: hide off-month days */
.daterangepicker td.ends,
.daterangepicker td.off.in-range,
.daterangepicker td.off.start-date,
.daterangepicker td.off.end-date{
  visibility:hidden;
  pointer-events:none;
}
.daterangepicker .weekend{color:red}
.daterangepicker td.off:hover{background:transparent}


/* =========================
   OFFER PAGE
========================= */

.ttCrumbs{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  color:var(--muted);
  font-size:12px;
  margin:6px 0 14px;
}
.ttBackBtn{
  border:1px solid var(--line);
  background:#fff;
  color:#1f2937;
  border-radius:8px;
  padding:5px 10px;
  font-weight:800;
  font-size:12px;
  line-height:1;
  cursor:pointer;
  margin-right:4px;
}
.ttBackBtn:hover{
  background:#f9fafb;
}
.ttCrumbs a{color:#305b95;font-weight:800}
.ttCrumbs span{opacity:.8}

.offerTopGrid{
  display:grid;
  grid-template-columns: 2fr 1fr;
  gap:14px;
  align-items:start;
  margin-bottom:14px;
}
.offerSliderCard, .offerSummaryCard{
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  box-shadow:0 10px 26px rgba(16,24,40,.06);
  overflow:hidden;
}
.offerSummaryCard{
  overflow:visible;
}
.offerSliderCard .post_car{
  position:relative;
}
.offerImageBadges{
  position:absolute;
  top:12px;
  left:12px;
  right:12px;
  z-index:7;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  pointer-events:none;
}
.offerImageBadgeLeft{
  font-size:12px;
  padding:6px 10px;
  border-radius:8px;
  box-shadow:0 2px 8px rgba(0,0,0,.22);
}
.offerImageRating{
  min-width:50px;
  padding:8px 10px;
  border-radius:6px;
  font-size:20px;
  line-height:1;
  font-weight:800;
  box-shadow:0 2px 8px rgba(0,0,0,.22);
  border-width: thin;
  border-color: white;
  border-style: solid;
}

.offerSliderStub{
  height:360px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  background:#f3f4f6;
}
.offerSliderStub__title{font-weight:950;color:#111827}
.offerSliderStub__hint{color:var(--muted);font-size:12px}

.offerSummaryHead{padding:14px;border-bottom:1px solid var(--line)}
.offerSummaryTitle{font-weight:950}
.offerSummaryMuted{color:var(--muted);font-size:12px;margin-top:4px}
.offerSummaryBody{padding:12px 14px;display:grid;gap:10px}
.offerTopMeta{display:grid;gap:6px}
.offerTopMetaTitle{font-size:21px;line-height:1.2;font-weight:650;color:#111827}
.offerTopMeta .starsRow{
  font-size:1.02em;
  top:0;
  margin-left:8px;
  vertical-align:baseline;
}
.offerTopMetaRating{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#374151;
  font-size:15px;
}
.offerTopMetaRatingVal b{
  font-weight:900;
}
.offerTopMetaRatingReviews{
  font-size:13px;
  color:var(--muted);
  white-space:nowrap;
}
.offerBadge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  padding:4px 10px;
  border-radius:999px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.2px;
}
.offerBadge--last{
  background:#ff6a00;
  color:#fff;
}
.offerSummaryRow{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:8px 10px;
  border:1px solid #e5e7eb;
  border-radius:10px;
  background:#fafafa;
}
.offerSummaryRow span{
  color:#6b7280;
  font-size:12px;
  line-height:1.3;
  min-width:108px;
}
.offerSummaryRow b{
  color:#111827;
  font-size:15px;
  line-height:1.35;
  text-align:right;
  font-weight:800;
}
.offerSummaryRow--price{
  background:#f3f8ff;
  border-color:#dbeafe;
}
.offerSummaryRow--op{
  background:#ebf9ef;
  border-color:#b7e7c1;
}
.offerInfoList{display:grid;gap:8px}
.offerInfoRow{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:0;
  border:0;
  background:transparent;
}
.offerInfoRow--switch{
  appearance:none;
  width:100%;
  text-align:left;
  font:inherit;
  color:inherit;
  cursor:pointer;
  align-items:center;
  border:1px solid #e5e7eb;
  border-radius:8px;
  padding:7px 9px;
  transition:background-color .15s ease,border-color .15s ease;
}
.offerInfoRow--switch:hover{
  background:#f8fafc;
  border-color:#cfd5df;
}
.offerInfoRow--switch .fact__txt{
  flex:1 1 auto;
}
.offerInfoChevron{
  color:#6b7280;
  font-size:11px;
  line-height:1;
  margin-left:6px;
}
.offerInfoRow .fact__ico{
  width:18px;
  height:18px;
  margin-top:1px;
}
.offerInfoRow .fact__txt{
  font-size:14px;
  line-height:1.35;
  font-weight:500;
}
.offerInfoRow .fact__sub{
  display:block;
  margin-top:2px;
  font-size:13px;
  color:#4b5563;
  font-weight:400;
}
.offerSummaryTotal{
  margin-top:6px;
  padding:10px 12px;
  border-radius:6px;
  border:1px solid #b7e7c1;
  background:#ebf9ef;
  font-size:22px;
  line-height:1.2;
  font-weight:650;
  color:#464a48;
  text-align:center;
}
.offerSummaryTotal b{font-weight:900}
.offerRow{display:flex;justify-content:space-between;gap:10px}
.offerK{color:var(--muted);font-size:12px}
.offerV{color:#111827;font-size:12px;text-align:right}

.offerReserveBtn{
  width:calc(100% - 28px);
  margin:0 14px 14px;
  height:46px;
  border-radius:6px;
  border:0;
  background:#ffca00;
  color:#313140;
  font-weight:950;
  cursor:pointer;
}
.offerReserveBtn:hover{filter:brightness(.98)}

.offerTabs{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin:10px 0;
}
.offerTab{
  border:1px solid var(--line);
  background:#fff;
  border-radius:6px;
  padding:10px 14px;
  cursor:pointer;
  font-weight:900;
  color:#111827;
}
.offerTab.is-active{
  background: #fffcf7;
  border-color: #fba33d;
  color: #f57317;
}

.offerPanel{display:none}
.offerPanel.is-active{display:block}

.ttBooking{
  width: 100%;
  max-width: none;
  margin: 0 auto;
}
.ttBookingForm{
  display: flex;
  flex-direction: column;
  gap: 18px;
  width: 100%;
  margin-top: 20px;
}
.ttBookingProg{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 10px;
}
.ttBookingProgItem{
  position: relative;
  padding-top: 4px;
}
.ttBookingProgItem::before{
  content: "";
  position: absolute;
  left: 34px;
  right: 0;
  top: 18px;
  height: 2px;
  background: #d6dde8;
}
.ttBookingProgItem:last-child::before{
  display: none;
}
.ttBookingProgNum{
  position: relative;
  z-index: 1;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 14px;
  border: 2px solid #d6dde8;
  color: #334155;
  background: #fff;
}
.ttBookingProgText{
  display: block;
  margin-top: 8px;
  color: #5b6677;
  font-size: 14px;
  font-weight: 700;
}
.ttBookingProgItem.is-active .ttBookingProgNum,
.ttBookingProgItem.is-done .ttBookingProgNum{
  border-color: #1d6fd6;
  background: #1d6fd6;
  color: #fff;
}
.ttBookingProgItem.is-done::before{
  background: #1d6fd6;
}
.ttBookingProgItem.is-active .ttBookingProgText{
  color: #111827;
}
.ttBookingStep{
  display: none;
}
.ttBookingStep.is-active{
  display: block;
  width: 100%;
}
.ttBookingTitle{
  margin: 0 0 10px;
  font-size: 35px;
  line-height: 1.1;
  font-weight: 700;
  color: #171a21;
}
.ttBookingHint{
  margin: 0 0 16px;
  padding: 14px 16px;
  border-radius: 12px;
  background: #eef3fa;
  color: #2b3648;
  font-size: 16px;
}
.ttFormGrid2{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.ttField{
  display: block;
  margin: 0 0 14px;
}
.ttField > span{
  display: block;
  margin: 0 0 7px;
  font-size: 13px;
  color: #1f2937;
  font-weight: 800;
}
.ttField input,
.ttField textarea{
  width: 100%;
  height: 48px;
  border: 1px solid #c4cfdf;
  border-radius: 10px;
  padding: 0 13px;
  font-size: 22px;
  line-height: 1.2;
  color: #16243a;
  background: #fff;
}
.ttField textarea{
  min-height: 96px;
  height: auto;
  padding-top: 12px;
  padding-bottom: 12px;
  font-size: 15px;
  resize: vertical;
}
.ttField input:focus,
.ttField textarea:focus{
  outline: none;
  border-color: #1d6fd6;
  box-shadow: 0 0 0 3px rgba(29, 111, 214, .14);
}
.ttConsent{
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: start;
  margin: 6px 0 14px;
}
.ttConsent p{
  margin: 0;
  font-size: 15px;
  line-height: 1.4;
  color: #253145;
}
.ttCheckbox{
  width: 30px;
  height: 30px;
  display: inline-block;
  position: relative;
}
.ttCheckbox input{
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}
.ttCheckbox span{
  position: absolute;
  inset: 0;
  border: 1px solid #7ca8e2;
  border-radius: 7px;
  background: #fff;
}
.ttCheckbox input:checked + span{
  background: #1d6fd6;
  border-color: #1d6fd6;
}
.ttCheckbox input:checked + span::after{
  content: "";
  position: absolute;
  left: 8px;
  top: 4px;
  width: 9px;
  height: 14px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.ttBookingBtn{
  border: 0;
  border-radius: 10px;
  height: 52px;
  padding: 0 24px;
  background: #ffca00;
  color: #2d2d2d;
  font-size: 16px;
  font-weight: 900;
  cursor: pointer;
}
.ttBookingBtn[disabled]{
  background: #f2e7bf;
  color: #a3a9b6;
  cursor: not-allowed;
}
.ttBookingBtnGhost{
  background: #fff;
  color: #2a3850;
  border: 1px solid #c4cfdf;
}
.ttPopularQ{
  margin-top: 18px;
  border-radius: 14px;
  background: #dceafe;
  padding: 16px 58px 16px 18px;
  position: relative;
}
.ttPopularQClose{
  position: absolute;
  right: 14px;
  top: 10px;
  border: 0;
  background: transparent;
  font-size: 22px;
  color: #7b8798;
  cursor: pointer;
}
.ttPopularQText{
  color: #16243a;
  font-size: 20px;
  line-height: 1.35;
  font-weight: 700;
}
.ttPopularQText a{
  color: #2f80ed;
  text-decoration: none;
}
.ttTravellersWrap{
  display: grid;
  gap: 14px;
}
.ttTravellerCard{
  border: 1px solid #d2dbe9;
  border-radius: 12px;
  background: #fff;
  padding: 14px;
  margin: 0;
}
.ttTravellerLegend{
  padding: 0 8px;
  font-size: 16px;
  font-weight: 800;
  color: #1f2937;
}
.ttGender{
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 4px;
}
.ttGender > span{
  font-size: 13px;
  font-weight: 800;
  color: #1f2937;
}
.ttGender label{
  display: inline-flex;
  gap: 6px;
  align-items: center;
  font-size: 14px;
  color: #1f2937;
}
.ttActions{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.ttOrderResult{
  margin-top: 10px;
  font-size: 14px;
  min-height: 20px;
}
@media (max-width: 900px){
  .Cover_desktopLinks__zD_PL{display: none}
  .ttBookingTitle{
    font-size: 36px;
  }
}
@media (max-width: 720px){
  .ttBookingProg{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 12px;
  }
  .ttBookingProgItem:nth-child(2)::before,
  .ttBookingProgItem:nth-child(4)::before{
    display: none;
  }
  .ttFormGrid2{
    grid-template-columns: 1fr;
  }
  .ttField input{
    font-size: 18px;
  }
  .ttBookingTitle{
    font-size: 30px;
  }
  .ttPopularQText{
    font-size: 18px;
  }
}

.ttReviewsList{
  display:grid;
  gap:16px;
}
.ttReviewCard{
  border:1px solid #9dc896;
  border-radius:0;
  background:#edfde6;
  padding:14px;
  box-shadow:none;
}
.ttReviewHead{
  display:flex;
  align-items:flex-start;
  justify-content:flex-start;
  gap:12px;
}
.ttReviewAuthorWrap{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  flex:1 1 auto;
}
.ttReviewAuthorMeta{
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width:0;
}
.ttReviewAvatar{
  display:none;
}
.ttReviewAuthor{
  font-size:inherit;
  line-height:1.25;
  font-weight:500;
  color:#0d1117;
}
.ttReviewRate{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:11px 12px;
  border-radius:2px;
  background:#219106;
  border:0;
  color:#fff;
  font-family:poppinssemi,sans-serif;
  font-weight:700;
  font-size:18px;
  line-height:1;
  white-space:nowrap;
  margin-top:2px;
}
.ttReviewRate--5{background:#219106;color:#fff}
.ttReviewRate--4{background:#8bcf4b;color:#fff}
.ttReviewRate--3{background:#f4cf4f;color:#1f2937}
.ttReviewRate--2{background:#f39a3f;color:#fff}
.ttReviewRate--1{background:#e14b4b;color:#fff}
.ttReviewDate{
  margin:0;
  font-size:inherit;
  line-height:1.2;
  color:#525a65;
  display:flex;
  align-items:center;
  gap:10px;
}
/* .ttReviewDate::before{
  content:"";
  width:14px;
  height:14px;
  border:2px solid #9aa0a6;
  border-radius:50%;
  flex:0 0 14px;
} */
.ttReviewTitle{
  margin:18px 0 10px;
  font-size:24px;
  line-height:1.15;
  color:#0d1117;
}
.ttReviewText{
  margin:0;
  color:#1f2937;
  font-size:inherit;
  line-height:1.45;
}
.ttReviewPhotos{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
}
.ttReviewPhoto{
  display:block;
  width:120px;
  height:120px;
  object-fit:cover;
  border-radius:4px;
  border:0;
}
.ttReviewLink{
  display:inline-block;
  margin-top:12px;
  color:#06892b;
  font-weight:700;
}
.ttReviewLink:hover{text-decoration:underline}

@media (max-width: 700px){
  .ttReviewAuthor{font-size:inherit}
  .ttReviewDate{font-size:inherit}
  .ttReviewTitle{font-size:22px}
  .ttReviewText{font-size:inherit}
  .ttReviewRate{
    padding:9px 10px;
    font-size:16px;
  }
}

@media (max-width: 1100px){
  .offerTopGrid{grid-template-columns:1fr}
  .offerSliderStub{height:240px}
  .offerTopMetaTitle{font-size:18px}
  .offerInfoRow .fact__txt{font-size:13px}
  .offerSummaryTotal{font-size:20px}
}



/* Calendar */
.ttCalBtn{
  display:inline-flex;align-items:center;justify-content:center;
  width:38px;height:34px;border-radius:10px;border:1px solid #eaecf0;
  background:#fff;cursor:pointer
}
.ttCalBtn:hover{background:#f8fafc}
.ttCalBtn[aria-disabled="true"]{opacity:.45;pointer-events:none}
.ttCalMonth{font-weight:800}
.ttCalCard{background:#fff;border:1px solid #e7e9f2;border-radius:14px;box-shadow:0 1px 6px rgba(0,0,0,.04)}
.ttCalTableWrap{overflow:auto}
.ttCalTable{border-collapse:separate;border-spacing:0;width:100%;min-width:980px}
.ttCalTable th,.ttCalTable td{border-bottom:1px solid #eef0f7;border-right:1px solid #eef0f7;padding:10px 10px;vertical-align:middle}
.ttCalTable th:first-child,.ttCalTable td:first-child{border-left:1px solid #eef0f7}
.ttCalTable tr:first-child th{border-top:1px solid #eef0f7}
.ttCalTable th{background:#fbfbfd;position:sticky;top:0;z-index:5;font-size:12px;color:#344054;text-align:center}
.ttCalRowHdr{font-weight:500;text-align:left;background:#fbfbfd;position:sticky;left:0;z-index:4;min-width:80px}
.ttCalCell{
  display:flex;
  flex-direction:column;
  gap:4px;
  align-items:center;
  justify-content:center;
  min-height:64px;
  padding:8px 10px;
  border:1px solid #d9dde6;
  border-radius:8px;
  background:#fff;
  text-decoration:none;
  color:inherit;
  transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.ttCalCell--click{cursor:pointer}
.ttCalCell--click:hover{
  background:#f3f4f6;
  border-color:#cfd5df;
}
.ttCalCell--best{
  background:#e7f4e8;
  border-color:#c5dec8;
}
.ttCalCell--best.ttCalCell--click:hover{
  background:#dfeee1;
}
.ttCalCell--current{
  border-color:#ff7a00;
  box-shadow:inset 0 0 0 1px #ff7a00;
}
.ttCalPrice{font-weight:700;white-space:nowrap}
.ttCalHint{font-size:12px;color:#667085}
.ttCalTag{font-size:11px;white-space:nowrap;padding:2px 6px;border-radius:999px;border:1px solid #eaecf0;background:#f8fafc;color:#475467}
.ttCalEmpty{color:#c0c6d4; text-align: center;}

/* Calendar2 */
.ttCal2Layout{
  display:grid;
  grid-template-columns:200px 1fr;
  gap:12px;
  align-items:start;
}
.ttCal2Tabs{
  display:grid;
  justify-content: stretch;
  gap:8px;
}
.ttCal2Tab{
  border:1px solid #eaecf0;
  background:#fff;
  color:#1f2937;
  border-radius:10px;
  padding:10px 12px;
  font-weight:800;
  cursor:pointer;
  text-align:left;
}
.ttCal2Tab.is-active{
  border-color:#f59e0b;
  color:#f97316;
  background:#fffbeb;
}
.ttCal2List{
  display:grid;
  gap:8px;
}
.ttCal2Item{
  display:grid;
  grid-template-columns:minmax(520px,1fr) auto auto;
  align-items:center;
  gap:12px;
  padding:10px 12px;
  border:1px solid #eaecf0;
  border-radius:10px;
  background:#fff;
  color:#111827;
  text-decoration:none;
}
.ttCal2Item:hover{
  background:#f8fafc;
}
.ttCal2Item.is-current{
  border-color:#ff7a00;
  box-shadow:inset 0 0 0 1px #ff7a00;
}
.ttCal2Item.is-best{
  background:#e7f4e8;
  border-color:#c5dec8;
}
.ttCal2Left{
  display:grid;
  grid-template-columns:minmax(130px,auto) 34px minmax(80px,auto) minmax(140px,1fr) minmax(140px,1fr);
  align-items:center;
  gap:12px;
  min-width:0;
}
.ttCal2Date{
  font-weight:700;
}
.ttCal2Dow{
  color:#64748b;
  min-width:22px;
  text-transform:lowercase;
}
.ttCal2Duration{
  color:#111827;
}
.ttCal2Op{
  color:#475467;
  text-align:left;
}
.ttCal2Meal{
  color:#475467;
  text-align:left;
}
.ttCal2Price{
  white-space:nowrap;
  font-weight:900;
}
.ttCal2Arrow{
  color:#98a2b3;
  font-size:20px;
  line-height:1;
}
.ttCal2Empty{
  padding:14px;
  border:1px dashed #d0d5dd;
  border-radius:10px;
  color:#667085;
  background:#fff;
}
.ttCal2Err{
  color:#b00020;
}

@media (max-width: 900px){
  .ttCal2Layout{
    grid-template-columns:1fr;
  }
  .ttCal2Tabs{
    display:flex;
    flex-wrap:wrap;
  }
  .ttCal2Item{
    grid-template-columns:1fr;
    gap:6px;
  }
  .ttCal2Left{
    grid-template-columns:1fr;
    gap:4px;
  }
  .ttCal2Arrow{
    display:none;
  }
}

@media (max-width: 700px){
  .ttCal2Item{
    grid-template-columns:minmax(120px,1fr) auto auto;
    align-items:center;
    gap:10px;
    padding:12px;
  }
  .ttCal2Left{
    display:contents;
    min-width:0;
  }
  .ttCal2Date{
    display:block;
    grid-column:1;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .ttCal2Dow,
  .ttCal2Duration,
  .ttCal2Op,
  .ttCal2Arrow{
    display:none;
  }
  .ttCal2Meal{
    display:block;
    grid-column:2;
    margin-top:0;
    font-size:14px;
    color:#475467;
    white-space:nowrap;
  }
  .ttCal2Price{
    grid-column:3;
    white-space:nowrap;
    font-size:18px;
    line-height:1.1;
  }
}



.benefits {/*  padding: 60px 0; */ }
.benefits__container { max-width: 1200px; margin: 0 auto; padding: 0 16px; }

.benefits__title {
  text-align: center;
  font-size: 28px;
  line-height: 1.2;
  margin: 0 0 32px;
}

.benefits__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

.card {
  background: #f6f6f7;
  border-radius: 16px;
  padding: 28px 22px;
  text-align: center;
}

.card__icon img { width: 56px; height: 56px; object-fit: contain; }
.card__title { margin: 14px 0 10px; font-size: 18px; line-height: 1.2; }
.card__text { margin: 0 0 18px; font-size: 15px; line-height: 1.4; color: #4a4a4a; }

.card__widget { margin: 10px 0 0; display: flex; justify-content: center; }

.btn {
  display: inline-block;
  padding: 12px 22px;
  border-radius: 999px;
  color: #fff;
  text-decoration: none;
  background: linear-gradient(90deg, #1476d4, #7a3a9c);
  font-size: 13px;
  font-weight: 600;
}

/* адаптив */
@media (max-width: 960px) {
  .benefits__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .benefits__grid { grid-template-columns: 1fr; }
}

.safety {
  padding: 50px 0;
  background: #305b95 url(/img/back.png) repeat-x;
}

.safety__container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 16px;
}

.safety__header {
  display: flex;
  align-items: center;
  gap: 14px;
  color: #fff;
  margin-bottom: 18px;
}

.safety__badge {
  width: 52px;
  height: 52px;
  object-fit: contain;
}

.safety__title {
  margin: 0;
  font-size: 30px;
  line-height: 1.2;
  font-weight: 700;
}

.safety__subtitle {
  margin: 6px 0 0;
  font-size: 18px;
  opacity: 0.95;
}

.safety__card {
  background: #fff;
  border-radius: 18px;
  padding: 26px;
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 18px;
  align-items: center;
}

.safety__content p { margin: 0 0 12px; }
.safety__list { margin: 0 0 14px; padding-left: 18px; }
.safety__list li { margin: 6px 0; }

.safety__note { margin-top: 10px; }

.safety__media img {
  width: 100%;
  height: auto;
  display: block;
}


/* адаптив */
@media (max-width: 960px) {
  .safety__card { grid-template-columns: 1fr; }
  .safety__media { order: 2; }
}
@media (max-width: 480px) {
  .safety__title { font-size: 24px; }
  .safety__subtitle { font-size: 16px; }
}

.ttStaleToast{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:10060;
  width:min(420px,calc(100vw - 24px));
  background:#fff7ed;
  border:1px solid #fed7aa;
  border-radius:12px;
  box-shadow:0 14px 35px rgba(15,23,42,.22);
  padding:12px 12px 10px;
  opacity:0;
  transform:translateY(14px);
  pointer-events:none;
  transition:opacity .2s ease,transform .2s ease;
}
.ttStaleToast.is-visible{
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}
.ttStaleToast__title{
  font-size:14px;
  font-weight:800;
  color:#9a3412;
  margin:0 0 6px;
}
.ttStaleToast__text{
  font-size:13px;
  color:#7c2d12;
  margin:0 0 10px;
}
.ttStaleToast__btn{
  border:0;
  border-radius:8px;
  background:#ea580c;
  color:#fff;
  font-size:13px;
  font-weight:700;
  padding:8px 12px;
  cursor:pointer;
}
.ttStaleToast__btn:hover{ background:#c2410c; }
@media (max-width: 640px){
  .ttStaleToast{
    left:12px;
    right:12px;
    bottom:12px;
    width:auto;
  }
}
