

/* Start:/local/templates/template/css/datepicker.css?17804237776939*/
.datepicker {
  display: none;
  font-family: "HelveticaNeueCyr";
  transition: height 500ms ease;
  overflow: hidden;
}
.datepicker.active {
  display: flex;
  justify-content: center;
}
.datepicker-dropdown {
  left: 0;
  padding-top: 4px;
  position: absolute;
  top: 0;
  z-index: 20;
}
.datepicker-dropdown.datepicker-orient-top {
  padding-bottom: 4px;
  padding-top: 0;
}
.datepicker-picker {
  background-color: #fff;
  display: inline-block;
 
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.25);
  border-radius: 10px;
  margin: 10px 0;
}
.datepicker-dropdown .datepicker-picker {
  box-shadow: 0 2px 3px hsla(0, 0%, 4%, 0.1), 0 0 0 1px hsla(0, 0%, 4%, 0.1);
}
.datepicker-picker span {
  -webkit-touch-callout: none;
  border: 0;
  border-radius: 4px;
  cursor: default;
  display: block;
  flex: 1;
  width: 100%;
  text-align: center;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.datepicker-main {
 
}
.datepicker-footer {
  background-color: #f5f5f5;
  box-shadow: inset 0 1px 1px hsla(0, 0%, 4%, 0.1);
}
.days {
  width: 100%;
}
.datepicker-controls,
.datepicker-grid,
.datepicker-view,
.datepicker-view .days-of-week {
  display: flex;
}
.days-of-week {
  margin-bottom: 20px;
}
.datepicker-grid {
  flex-wrap: wrap;
}
.datepicker-view.datepicker-grid .datepicker-cell {
  flex-basis: 25%;
}
.datepicker-cell,
.datepicker-view .week {
  height: 2.25rem;
  line-height: 2.25rem;
}
.datepicker-title {
  background-color: #f5f5f5;
  box-shadow: inset 0 -1px 1px hsla(0, 0%, 4%, 0.1);
  font-weight: 500;
  padding: 0.375rem 0.75rem;
  text-align: center;
}
.datepicker-header .datepicker-controls {
  background: #ffe500;
  padding: 0 60px;
 height: auto;
justify-content:center;
}
.datepicker-controls .button {
  align-items: center;
  background: #ffe500;
  border-radius: 4px;
  box-shadow: none;
  color: #161616;
  cursor: pointer;
  display: inline-flex;
  font-size: 1rem;
  height: 56px;
  justify-content: center;
  line-height: 1.5;
  margin: 0;
  padding: calc(0.375em - 1px) 0.75em;
  position: relative;
  text-align: center;
  vertical-align: top;
  white-space: nowrap;
}
.datepicker-controls .button:active,
.datepicker-controls .button:focus {
  outline: none;
}
.datepicker-controls .button:focus:not(:active) {
  box-shadow: 0 0 0 0.125em rgba(50, 115, 220, 0.25);
}
.datepicker-controls .button:active {
  border-color: #4a4a4a;
  color: #363636;
}
.datepicker-controls .button[disabled] {
  cursor: not-allowed;
}
.datepicker-header .datepicker-controls .button {
  border-color: transparent;
  font-weight: 500;
}
.datepicker-header .datepicker-controls .button:hover {
  background-color: #f3db02;
  color: inherit;
}
.datepicker-header .datepicker-controls .button:focus:not(:active) {
  box-shadow: 0 0 0 0.125em hsla(0, 0%, 100%, 0.25);
}
.datepicker-header .datepicker-controls .button:active {
  background-color: #e9d202;
}
.datepicker-header .datepicker-controls .button[disabled] {
  box-shadow: none;
}
.datepicker-footer .datepicker-controls .button {
  border-radius: 2px;
  font-size: 0.75rem;
  margin: calc(0.375rem - 1px) 0.375rem;
  width: 100%;
}
.datepicker-controls .view-switch {
  pointer-events: none;
  flex: auto;
  font-weight: 500;
  font-size: 18px;
}
.datepicker-controls .next-btn,
.datepicker-controls .prev-btn {
  padding-left: 0.375rem;
  padding-right: 0.375rem;
  width: 2.25rem;
  position: relative;
}

.datepicker-controls .next-btn::after,
.datepicker-controls .prev-btn::after {
  content: "";
  position: absolute;
  border: solid black;
  border-width: 0 1px 1px 0;
  display: inline-block;
  padding: 3px;
  transform: rotate(135deg);
  -webkit-transform: rotate(135deg);
}
.datepicker-controls .next-btn::after {
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}
.datepicker-controls .next-btn.disabled,
.datepicker-controls .prev-btn.disabled {
  visibility: hidden;
}
.datepicker-view .dow {
  font-size: 16px;
  font-weight: 400;
  color: #000;
  text-transform: uppercase;
}
.datepicker-view .week {
  color: #b5b5b5;
  font-size: 0.75rem;
  width: 2.25rem;
}
@media (max-width: 22.5rem) {
  .datepicker-view .week {
    width: 1.96875rem;
  }
}
.datepicker-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  width: 100%;
  row-gap: 20px;
  justify-content: space-between;
}
@media (max-width: 22.5rem) {
  .calendar-weeks + .days .datepicker-grid {
    width: 13.78125rem;
  }
}
.datepicker-cell:not(.disabled):hover {
  background-color: #f9f9f9;
  cursor: pointer;
}
.datepicker-cell.focused:not(.selected) {
  background-color: #e8e8e8;
}
.datepicker-cell.selected,.datepicker-cell.focused,
.datepicker-cell.selected:hover {
  color: #17aa00;
  font-weight: 500;
  border: 1px solid #17aa00;
}
.datepicker-cell.disabled {
  color: #dbdbdb;
}
.datepicker-cell.next:not(.disabled),
.datepicker-cell.prev:not(.disabled) {
  color: #7a7a7a;
}
.datepicker-cell.next.selected,
.datepicker-cell.prev.selected {
  color: #e6e6e6;
}
.datepicker-cell.prev {
  visibility: hidden;
}

.datepicker-cell.next {
  display: none;
}
.datepicker-cell.highlighted:not(.selected):not(.range):not(.today) {
  background-color: #f5f5f5;
  border-radius: 0;
}
.datepicker-cell.highlighted:not(.selected):not(.range):not(.today):not(.disabled):hover {
  background-color: #eee;
}
.datepicker-cell.highlighted:not(.selected):not(.range):not(.today).focused {
  background-color: #e8e8e8;
}
.datepicker-cell.today:not(.selected) {
  background-color: #00d1b2;
}
.datepicker-cell.today:not(.selected):not(.disabled) {
  color: #fff;
}
.datepicker-cell.today.focused:not(.selected) {
  background-color: #00c4a7;
}
.datepicker-cell.range-end:not(.selected),
.datepicker-cell.range-start:not(.selected) {
  background-color: #b5b5b5;
  color: #fff;
}
.datepicker-cell.range-end.focused:not(.selected),
.datepicker-cell.range-start.focused:not(.selected) {
  background-color: #afafaf;
}
.datepicker-cell.range-start {
  border-radius: 4px 0 0 4px;
}
.datepicker-cell.range-end {
  border-radius: 0 4px 4px 0;
}
.datepicker-cell.range {
  background-color: #dbdbdb;
  border-radius: 0;
}
.datepicker-cell.range:not(.disabled):not(.focused):not(.today):hover {
  background-color: #d5d5d5;
}
.datepicker-cell.range.disabled {
  color: #c2c2c2;
}
.datepicker-cell.range.focused {
  background-color: #cfcfcf;
}
.datepicker-view.datepicker-grid .datepicker-cell {
  height: 4.5rem;
  line-height: 4.5rem;
  font-size: 16px;
  color: #212121;
}
.datepicker-input.in-edit {
  border-color: #2366d1;
}
.datepicker-input.in-edit:active,
.datepicker-input.in-edit:focus {
  box-shadow: 0 0 0.25em 0.25em rgba(35, 102, 209, 0.2);
}


.catalog__bottom .catalog__price_old {
	text-decoration: line-through;
	display: flex;
    align-items: center;
	margin: 0;
}

@media (min-width: 320px) and (max-width: 500px) {
	.catalog__bottom .catalog__price_old {
font-size:16px;
color: #17aa00;
}
}
/* End */


/* Start:/local/templates/template/css/main.min.css?178523769322859*/
@charset "UTF-8";*{padding:0;margin:0;border:0}*,*:before,*:after{box-sizing:border-box}:focus,:active{outline:none}a:focus,a:active{outline:none}nav,footer,header,aside{display:block}html,body{height:100%;width:100%;font-size:100%;line-height:1;font-size:14px;-ms-text-size-adjust:100%;-moz-text-size-adjust:100%;-webkit-text-size-adjust:100%}input,button{font-family:inherit}input::-ms-clear{display:none}button,.button.submit{cursor:pointer}button::-moz-focus-inner{padding:0;border:0}a,a:visited{text-decoration:none}a:hover{text-decoration:none}a[href^="https://exaoffice.ru/"]{display:none!important}ul li{list-style:none}img{vertical-align:top}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}@font-face{font-family:'HelveticaNeueCyr';src:url(/local/templates/template/css/HelveticaNeueCyr-Light.eot);src:local('HelveticaNeueCyr-Light'),url('/local/templates/template/css/../fonts/HelveticaNeueCyr-Light.eot?#iefix') format('embedded-opentype'),url(/local/templates/template/css/../fonts/HelveticaNeueCyr-Light.woff2) format('woff2'),url(/local/templates/template/css/../fonts/HelveticaNeueCyr-Light.woff) format('woff'),url(/local/templates/template/css/../fonts/HelveticaNeueCyr-Light.ttf) format('truetype');font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:'HelveticaNeueCyr';src:url(/local/templates/template/css/HelveticaNeueCyr-Roman.eot);src:local('HelveticaNeueCyr-Roman'),url('/local/templates/template/css/../fonts/HelveticaNeueCyr-Roman.eot?#iefix') format('embedded-opentype'),url(/local/templates/template/css/../fonts/HelveticaNeueCyr-Roman.woff2) format('woff2'),url(/local/templates/template/css/../fonts/HelveticaNeueCyr-Roman.woff) format('woff'),url(/local/templates/template/css/../fonts/HelveticaNeueCyr-Roman.ttf) format('truetype');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:'HelveticaNeueCyr';src:url(/local/templates/template/css/HelveticaNeueCyr-Medium.eot);src:local('HelveticaNeueCyr-Medium'),url('/local/templates/template/css/../fonts/HelveticaNeueCyr-Medium.eot?#iefix') format('embedded-opentype'),url(/local/templates/template/css/../fonts/HelveticaNeueCyr-Medium.woff2) format('woff2'),url(/local/templates/template/css/../fonts/HelveticaNeueCyr-Medium.woff) format('woff'),url(/local/templates/template/css/../fonts/HelveticaNeueCyr-Medium.ttf) format('truetype');font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:'icomoon';src:url(/local/templates/template/css/icomoon.eot?mnda68);src:url('/local/templates/template/css/../fonts/icomoon.eot?mnda68#iefix') format('embedded-opentype'),url(/local/templates/template/css/../fonts/icomoon.ttf?mnda68) format('truetype'),url(/local/templates/template/css/../fonts/icomoon.woff?mnda68) format('woff'),url('/local/templates/template/css/../fonts/icomoon.svg?mnda68#icomoon') format('svg');font-weight:400;font-style:normal;font-display:block}@font-face{font-family:'Jost';src:url(/local/templates/template/css/Jost-Regular.eot);src:local('Jost-Regular'),url('/local/templates/template/css/../fonts/Jost-Regular.eot?#iefix') format('embedded-opentype'),url(/local/templates/template/css/../fonts/Jost-Regular.woff2) format('woff2'),url(/local/templates/template/css/../fonts/Jost-Regular.woff) format('woff'),url(/local/templates/template/css/../fonts/Jost-Regular.ttf) format('truetype');font-family:'Jost';font-weight:400;font-style:normal}@font-face{font-family:'Jost';src:url(/local/templates/template/css/Jost-Light.eot);src:local('Jost-Light'),url('/local/templates/template/css/../fonts/Jost-Light.eot?#iefix') format('embedded-opentype'),url(/local/templates/template/css/../fonts/Jost-Light.woff2) format('woff2'),url(/local/templates/template/css/../fonts/Jost-Light.woff) format('woff'),url(/local/templates/template/css/../fonts/Jost-Light.ttf) format('truetype');font-family:'Jost';font-weight:300}@font-face{font-family:'Jost';src:url(/local/templates/template/css/Jost-SemiBold.eot);src:local('Jost-SemiBold'),url('/local/templates/template/css/../fonts/Jost-SemiBold.eot?#iefix') format('embedded-opentype'),url(/local/templates/template/css/../fonts/Jost-SemiBold.woff2) format('woff2'),url(/local/templates/template/css/../fonts/Jost-SemiBold.woff) format('woff'),url(/local/templates/template/css/../fonts/Jost-SemiBold.ttf) format('truetype');font-family:'Jost';font-weight:600}[class^="icon-"],[class*=" icon-"]{font-family:'icomoon'!important;speak:never;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-Vector:before{content:"\e900";color:#17aa00;font-size:6px;position:absolute;top:12px;right:-6px}.bx-composite-btn{display:none}html{scroll-behavior:smooth;overflow-x:hidden}body{background-color:#fff;font-size:16px;font-weight:400;font-family:'HelveticaNeueCyr';line-height:1.2;font-style:normal;color:#000}input,button{background:none;font-size:inherit}button{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}a{color:inherit}a:active{opacity:.8}.wrapper{margin:0 auto;max-width:1170px}.logo{display:flex;align-items:flex-end;align-items:center}.logo svg:first-child{margin-right:10px}.burger__trigger{display:none}.burger__list{display:none}.menu,.nav{display:none}.menu__scroll,.nav__scroll{display:flex;align-items:center;justify-content:center;position:fixed;z-index:10;right:5%;bottom:-100px;width:100px;height:100px;border-radius:50%;background-color:#fff;transition:0.5s;box-shadow:0 1px 3px rgb(0 0 0 / .25)}.menu__scroll:hover,.nav__scroll:hover{transition:0.2s;background-color:#f7f7f7}.menu__scroll:active,.nav__scroll:active{transition:0.05s;opacity:.7}.menu__scroll-active,.nav__scroll-active{bottom:60px}.menu__scroll svg,.nav__scroll svg{height:50px;width:50px}.header__top{background:#3c3c3c;color:#fff;padding:12px 0}.header__wrapper{display:flex;justify-content:space-between;align-items:center}.header__informs,.header__phones{display:flex;align-items:center}.header__adress{margin-right:25px}.header__free-phone{display:flex;align-items:flex-start;flex-direction:column}.header__free-phone span{font-size:10px;font-weight:100}.header__menu-wrap{display:flex}.header__info{display:-ms-grid;display:grid;-ms-grid-columns:auto auto;grid-template-columns:auto auto;-moz-column-gap:10px;column-gap:10px;transition:0.2s;cursor:pointer;font-size:14px}.header__info svg{transition:0.2s}.header__info:hover,.header__free-phone:hover span,.header__free-phone:hover .header__info{color:#b9b9b9;transform:scale(1.1);transition:0.2s}.header__info:hover svg{fill:#b9b9b9}.header__info:active{transform:scale(1.07)}.header__phone{margin-right:46px;font-size:16px;font-weight:500}.header__button{border:1px solid #ffe600;box-sizing:border-box;border-radius:90px;font-size:14px;color:#ffe600;padding:10px 30px;transition:0.2s}.header__button:hover{color:#000;background:#ffe600}.header__button:active{background:#ccb800}.header__socials,.header__socials-mob{display:-ms-grid;display:grid;align-items:center;-ms-grid-columns:1fr 1fr 1fr;grid-template-columns:1fr 1fr 1fr;-moz-column-gap:19px;column-gap:19px}.header__socials-mob{margin-top:20px}.header__social svg{transition:0.2s}.header__socials.footer__socials svg:hover{fill:#fff}.header__social svg:hover{transform:scale(1.2)}.header__social svg:active{transform:scale(1.1)}.header__nav{padding:15px 0 20px;display:flex;align-items:center;justify-content:space-between}.header__list{display:flex;justify-content:flex-end;-webkit-column-gap:50px;align-items:center;-moz-column-gap:50px;column-gap:50px;margin-right:28px}.header__link{text-align:center}.header__item{min-width:50px;display:inline-block;color:#616161;font-size:16px;transition:0.2s}.header__item:hover{color:#000;text-decoration:underline;color:#17aa00}.line{background:url(/local/templates/template/css/../images/line.svg);position:absolute;height:1px;top:50%;width:100vw;z-index:1}.title{position:relative;z-index:2;display:inline-block;font-size:36px;text-transform:uppercase;text-align:center;padding:0 23px}@media screen and (max-width:768px){.main-wrapper .title{font-size:30px!important;font-family:'HelveticaNeueCyr'!important}div.title__wrapper{margin-bottom:23px}}.title-block{display:flex;align-items:center;justify-content:center;position:relative;width:100%}.breadcrumbs{padding:20px 0}.breadcrumbs__wrapper{display:flex;align-items:center;flex-wrap:wrap}.breadcrumbs__link{margin-right:10px;font-size:12px;color:#17aa00;transition:0.1s}.breadcrumbs__link-active{color:#a3a3a3}.breadcrumbs__link:hover{opacity:.8}.breadcrumbs__arrow{margin-right:10px}.button{display:flex;justify-content:center;align-items:center;-moz-column-gap:11px;column-gap:11px;color:#fff;font-size:16px;width:100%;background:#17aa00;box-shadow:0 0 10px rgb(0 0 0 / .25);border-radius:90px;padding:17px 0;border:1px solid #fff0;box-shadow:inset 0 0 10px #fff0;transition:0.4s}.button-wrapper{margin:0 32px 0 22px}.button svg{transition:0.4s}.button:hover{background:#fff;color:#17aa00;border:1px solid #17aa00}.button:hover svg{fill:#17aa00}.button:active{transition:0.1s;box-shadow:inset 0 0 10px rgb(0 0 0 / .25)}.button-x{background:#FFE500;color:#3B3B3B}.button-x svg{fill:#3B3B3B}.footer{background:#3b3b3b;color:#fff;position:relative}.footer__copyright{position:relative;z-index:2;text-align:center;margin-top:10px;font-size:12px;color:#D2D2D2}.footer::after{position:absolute;top:0;left:0;width:100%;height:100%;background:url(/local/templates/template/css/../images/index/footerBg.png) no-repeat 50% 100% / contain;z-index:1}.footer .header__link{text-align:start}.footer__block-4-title{color:#FFE600;font-size:16px;font-weight:500}.footer__block-4-wrap,.footer__block-5-wrap{display:flex;flex-direction:column}.footer__block-menu-wrap.footer__block:not(:last-child){margin-bottom:20px}.footer__block-5-wrap .footer__block-2:not(:last-child){margin-bottom:25px}.footer__block-5-wrap .footer__block-4-title,.footer__block-6-wrap .footer__block-4-title{margin-bottom:8px}.footer__block-5-wrap .footer__block-menu-wrap.footer__block{row-gap:0}@media screen and (max-width:425px){.footer .header__link{text-align:center}}.footer .header__list{justify-content:flex-start}.footer__logo{margin-bottom:15px}.footer__block{display:flex;flex-direction:column;row-gap:12px;font-size:14px}.footer__block-1{width:165px;max-width:200px}.footer__soc-card-wrap{display:flex;flex-direction:column}.footer__block-3-btn{display:block;background-color:#FFE600;color:#202020;font-size:12px;padding:7px 11px;border-radius:5px}.footer .footer__contacts{display:flex;flex-direction:column;font-size:14px;row-gap:16px;margin-bottom:14px}.footer__contacts-item{display:flex;align-items:flex-start;column-gap:7px}.footer-block:nth-child(2) .footer__item{padding-top:10px;margin-bottom:20px}.footer-block:nth-child(4){padding-top:10px}.footer-block:last-child{width:243px}.footer__payment{display:flex;align-items:center}.footer__payment-item img{vertical-align:middle}.footer-wrapper{display:flex;justify-content:space-between;position:relative;z-index:2}.footer__nav{padding:0}.footer__list{margin-left:65px}.footer__item{font-weight:300;font-size:17px;text-transform:uppercase;color:#fff;margin-bottom:15px}.footer__item:hover{color:#ffe600}.footer__bottom{display:flex;justify-content:space-between;margin-top:30px}.footer__phone{margin-bottom:20px}.footer__right{justify-content:end}.footer__adress{margin-right:0;margin-bottom:20px}.footer__socials{display:flex;-webkit-box-pack:end;-ms-flex-pack:end;-moz-column-gap:12px;column-gap:12px;margin-bottom:15px}.modal{position:fixed;top:0;left:0;right:0;padding:10px 0 80px;background:#fff0;transform:scale(0);transition:transform 0s 0.5s,background 0.5s;z-index:100;overflow-y:auto;height:100%}.modal-container{display:flex;align-items:center;justify-content:center}.modal__wrapper{transform:translateY(-150px);margin:0 15px;opacity:0;transition:0.5s;width:710px;max-width:710px;border-radius:10px;overflow:hidden}.modal-order .modal__wrapper{width:640px}.modal__top{position:relative;background:#ffe500;font-size:24px;color:#161616;font-weight:500;text-align:center;padding:14px 10px}.modal__close{position:absolute;top:10px;right:12px;color:#ff3d00;font-size:24px;font-weight:500;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;transition:0.2s}.modal__close.modal__menu-close{top:0;right:15px;background-color:#D9D9D9;width:26px;height:26px;border-radius:100%;display:flex;align-items:center;justify-content:center;top:0;color:#444}.modal__close:hover{color:#992500}.modal__close:active{transition:0.1s;opacity:.7}.modal__menu.modal{padding:70px 0 0}.modal__menu.modal .excursion__item-more{display:none}.modal__container-menu{background-color:#fff;margin:0 auto;box-shadow:0 4px 15px rgb(0 0 0 / 10%);border-radius:20px;margin-bottom:60px;padding:26px 0 16px 12px;width:1170px}.modal__main{padding:24px 26px 30px 22px;background:#fff url(/local/templates/template/css/../images/index/bg-catalog.webp)}.modal__wrapper-menu.modal__wrapper{max-width:none;width:auto}.modal__description{color:#161616;font-size:18px;text-align:center;margin-bottom:30px}.modal__name,.modal__phone{width:100%;background:#fff;border:1px solid #c5c5c5;transition:0.2s;box-sizing:border-box;border-radius:10px;padding:20px 33px}.modal__name::-webkit-input-placeholder,.modal__phone::-webkit-input-placeholder{color:#b6b6b6;font-size:16px;font-weight:300}.modal__name:-ms-input-placeholder,.modal__phone:-ms-input-placeholder{color:#b6b6b6;font-size:16px;font-weight:300}.modal__name::-ms-input-placeholder,.modal__phone::-ms-input-placeholder{color:#b6b6b6;font-size:16px;font-weight:300}.modal__name::-webkit-input-placeholder,.modal__phone::-webkit-input-placeholder{color:#b6b6b6;font-size:16px;font-weight:300}.modal__name::-moz-placeholder,.modal__phone::-moz-placeholder{color:#b6b6b6;font-size:16px;font-weight:300}.modal__name:-ms-input-placeholder,.modal__phone:-ms-input-placeholder{color:#b6b6b6;font-size:16px;font-weight:300}.modal__name::-ms-input-placeholder,.modal__phone::-ms-input-placeholder{color:#b6b6b6;font-size:16px;font-weight:300}.modal__name::placeholder,.modal__phone::placeholder{color:#b6b6b6;font-size:16px;font-weight:300}.modal__name:active,.modal__name:focus,.modal__phone:active,.modal__phone:focus{border:1px solid #000}.modal__name{margin-bottom:30px}.modal__phone{margin-bottom:24px}.modal__check-input{position:absolute;width:1px;height:1px;opacity:0;bottom:110px;left:30px}.modal__check-input:checked~.modal__label .modal__check{border:1px solid #C4C4C4}.modal__check-input:checked~.modal__label .modal__check::after{content:'';background:url(/local/templates/template/css/../images/ok.svg) no-repeat 60% 50%;position:absolute;display:block;min-width:15px;height:15px}.modal__label{display:flex;align-items:center;margin-bottom:40px;color:#b6b6b6;font-size:14px;font-weight:300}.modal__label a{color:rgb(23 170 0)}.modal__check{cursor:pointer;transition:0.2s;position:relative;display:flex;justify-content:center;align-items:center;min-width:15px;height:15px;border:1px solid #c4c4c4;margin-right:18px}.modal-active{background:rgb(59 59 59 / .7);transform:scale(1);transition:transform 0s,background 0.5s}.modal-active .modal__wrapper{opacity:1;transform:translateY(0)}.star-rate .stars svg{fill:grey}.header__logo img{width:227px;height:75px}@media screen and (max-width:1366px){.wrapper{width:90%}.header__phone{margin-right:30px}.header__list{margin-left:30px;-moz-column-gap:35px;column-gap:35px}.footer__list{margin-left:20px}.footer__item{font-size:14px}.nav__scroll{width:50px;height:50px;right:1%}.nav__scroll svg{width:25px;height:25px}}.p-area{margin-left:14px;display:none}@media screen and (max-width:1220px){.header-info{-moz-column-gap:5px;column-gap:5px}.header__adress{margin-right:15px}.header__phone{margin-right:20px;font-size:14px}}@media screen and (max-width:1170px){.header__list{-moz-column-gap:8px;column-gap:8px}}@media screen and (max-width:1050px){.header__wrapper .header__adress:nth-of-type(1){max-width:140px}.header__wrapper .header__adress:nth-of-type(2){max-width:100px}.header__phone{margin-right:14px}}@media screen and (max-width:1000px){.header__logo svg:nth-child(2){height:46px;width:200px}.header__adress{display:none}.header__button{display:none}.header__socials{display:none}.header__list{display:none}.header__nav{justify-content:center;padding:0}.p-area{display:block}.header__top{overflow:hidden}.burger__trigger{display:block;cursor:pointer;display:flex;justify-content:center;align-items:center;width:40px;height:20px;transition:0.1s}.burger__trigger:active{opacity:.8}.burger__button,.burger__button::after,.burger__button::before{background:#ecd400;border-radius:90px;width:40px;height:4px;position:relative;transition:0.3s;transform-origin:center}.burger__button::after{content:'';position:absolute;bottom:-8px}.burger__button::before{content:'';position:absolute;top:-8px}.burger__list{position:fixed;top:59px;left:100%;background-color:#fff;color:#000;z-index:100;height:auto;width:100%;margin:0 auto;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;row-gap:10px;transition:left 0.5s;overflow:hidden;padding:16px 16px 25px 16px}.burger__list-active{left:0;height:100vh;overflow-y:scroll}.burger__list li:first-child{margin-top:20px}.burger__list li:last-child{margin-bottom:10px}.burger__item{padding:5px;display:inline-block}.burger__link a[href="/other/"]{display:none}.burger-active .burger__button{background-color:#fff0}.burger-active .burger__button::after{transform:rotate(45deg);top:50%;width:30px;left:5px}.burger-active .burger__button::before{transform:rotate(-45deg);top:50%;width:30px;left:5px}.nav{position:fixed;bottom:0;left:0;right:0;z-index:101;display:flex;align-items:center;justify-content:space-between;background-color:#ffe600;border-radius:15px 15px 0 0;box-shadow:0 0 10px -4px rgb(0 0 0 / .25)}a.nav__phone{background-color:red;border-radius:18px 0 0 0}.nav__item{position:relative;display:flex;flex:2;align-items:center;justify-content:center;padding:14px 0;text-align:center;font-size:12px;transition:0.05s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;line-height:1}.nav__item svg{margin-right:6px}.nav__item::after{content:'';position:absolute;right:0;top:50%;transform:translateY(-50%);display:block;width:1px;height:28px;background-color:#2f2f2f13}.nav__chat{flex:1}.nav__menu-active{background-color:#e6cf00}.nav__burger,.nav__burger::after,.nav__burger::before{display:inline-block;text-align:left;background:#3c3c3c;border-radius:90px;width:9px;height:1px;position:relative;transition:0.3s;transform-origin:center;margin-right:6px}.nav__burger::after{content:'';position:absolute;bottom:-3px}.nav__burger::before{content:'';position:absolute;top:-3px}.nav__scroll{right:10px;bottom:-28px;width:27px;height:27px}.nav__scroll:hover{background-color:#fff}.nav__scroll svg{width:auto;height:auto}.nav__scroll-active{bottom:60px}.menu{display:block;position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgb(0 0 0 / .65);z-index:10;opacity:0;transform:scale(0);transition:transform 0s 0.4s,opacity 0.4s;z-index:99999!important}.menu-active{opacity:1;transform:scale(1);transition:transform 0s,opacity 0.4s}.menu__wrapper{width:100%}.menu__close{display:flex;align-items:center;justify-content:center;position:absolute;right:5%;top:20px;width:20px;height:20px}.menu__close::after,.menu__close::before{content:'';display:block;position:absolute;transform-origin:center;transform:rotate(45deg);width:15px;height:1px;border-radius:90px;background-color:#fff}.menu__close::after{transform:rotate(-45deg)}.menu__list{margin-top:50px;display:-ms-grid;display:grid;-ms-grid-columns:1fr;grid-template-columns:1fr}.menu__link{border-bottom:1px solid rgb(255 255 255 / .514)}.menu__item{display:block;width:90%;margin:0 auto;color:#fff;padding:15px 0}.modal{padding-top:50px;height:100vh}.modal__main{padding:30px 11px 36px}.modal__wrapper,.modal-order .modal__wrapper{width:100%}.modal__check-input{left:20px;bottom:115px}.title{font-size:30px}.footer .header__list,.header__button,.header__adress,.header__socials{display:flex}.footer-wrapper{flex-wrap:wrap}.footer-block{width:50%!important;margin-bottom:15px}.footer__list{margin-left:0}.footer .header__info:nth-child(1){display:flex}}.footer-mobile{display:none}@media screen and (max-width:920px){.header .header__button{display:none}}@media screen and (max-width:770px){.footer-wrapper{justify-content:space-between}.footer__block{margin-bottom:30px;width:200px}.footer__block-1{width:200px;padding-right:35px}.modal__close.modal__menu-close{right:0}}@media screen and (max-width:730px){.header .header__adress{display:none}.excursion__title{font-size:22px}}@media screen and (max-width:700px){.title-block .line{display:none}.header .header__phone{margin-bottom:0}.footer-block{width:100%!important;margin-bottom:0}.footer__list{align-items:flex-start}.footer .header__logo,.header__phone,header .header__adress{margin:0 auto 0 0;margin-bottom:18px}.header__phone.header__info{margin-bottom:0}.footer .header__button{text-align:center;margin:0 auto 0 0;padding:10px 90px;margin-bottom:27px}.footer .header__item{font-family:'Helvetica Neue';font-style:normal;font-weight:400;font-size:16px;line-height:40px;text-transform:uppercase;color:#fff;margin-bottom:0}.footer .footer-block:nth-child(4) .header__item{font-family:'Helvetica Neue';font-style:normal;font-weight:400;font-size:16px;line-height:40px;color:#fff;margin-bottom:0;text-transform:capitalize}.footer .header__item:hover{color:#ffe600!important;text-decoration:underline;color:#ffe600!important}.footer__soc-card-wrap{flex-direction:row;align-items:center;justify-content:space-between;margin-bottom:10px}.header__socials.footer__socials{margin-bottom:0;width:40%;justify-content:space-between}.footer__socials svg{width:25px;height:25px}.footer__payment{width:45%;justify-content:space-between}}@media screen and (min-width:600px){.header__phones-mob{display:none}}@media screen and (max-width:600px){.header__logo img{width:285px;height:95px}.header .header__socials,.header__phones{display:none}.header__phones-mob{display:flex;align-items:center}.header__free-phone{margin-left:10px}.header__free-phone .header__info{font-size:19px}.excursion__title-block .excursion__title.title{background-color:#fff0;font-family:'Helvetica'}.footer__block-1{width:100%;max-width:none;padding-right:0}.footer__logo img{width:290px;margin:0 auto}.footer__contacts .footer__contacts-item:last-child{order:-1;font-size:18px}.footer__contacts .footer__contacts-item:last-child svg{height:22px}.footer__contacts .footer__contacts-item svg{width:18px}.footer__contacts .footer__contacts-item:first-child{order:1;transform:translateX(2px);font-size:16px}.footer__block-3-btn{display:none}.footer__block{width:50%;padding-right:10px}.footer__block-4-wrap{flex-direction:row}.footer__block-menu-wrap{width:50%}.footer__block-4-wrap .footer__block{width:100%}.footer__block-4-title{margin-bottom:0}.footer__block{margin-bottom:10px}.footer__block-5-wrap .footer__block,.footer__block-6-wrap .footer__block,.footer__block-7-wrap .footer__block{width:100%}.footer__block-6-wrap{width:50%;padding-right:10px}.footer__block-3-wrap .footer__block-2 li:last-child{display:none}.footer__block-5-wrap{flex-direction:row}.footer__block-5-wrap .footer__block-menu-wrap.footer__block{row-gap:0}}@media screen and (max-width:370px){.button{font-size:15px;-moz-column-gap:5px;column-gap:5px}.button svg{width:16px}.footer__payment{width:52%}}@media screen and (max-width:350px){.title{padding:0 15px}}@media screen and (max-width:1000px){.breadcrumbs{line-height:23px;padding:0 0 20px 0}header .header__socials,.header__informs{display:none}}.excursion__title-block .excursion__title.title{padding:0 13px}#horizontal-multilevel-menu li a.root-item{min-width:50px;display:inline-block;color:#A0A0A0;font-size:16px;transition:0.2s}
/* End */


/* Start:/local/templates/template/css/features.min.css?17852444723813*/
.features{padding:0 0 50px}.features__title-block{margin-bottom:28px}.features__image{width:100%;-o-object-fit:cover;object-fit:cover;margin-bottom:40px;border-radius:20px}.features__text{color:#151515;font-size:18px;line-height:1.35;margin-bottom:20px}.features__button-wrapper{margin:30px 0 0 0;max-width:470px}.order__field{display:-ms-grid;display:grid;-ms-grid-columns:1fr 1fr;grid-template-columns:1fr 1fr;-webkit-column-gap:30px;column-gap:30px;margin-bottom:30px}.order__input-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.order__input-text{color:#212121;margin-bottom:10px}.order__red{color:red}.order__input{width:100%;background:#fff;border:1px solid #c5c5c5;-webkit-transition:0.2s;transition:0.2s;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:10px;padding:20px 33px}.order__input::-webkit-input-placeholder{color:#b6b6b6;font-size:16px;font-weight:300}.order__input:-ms-input-placeholder{color:#b6b6b6;font-size:16px;font-weight:300}.order__input::-ms-input-placeholder{color:#b6b6b6;font-size:16px;font-weight:300}.order__input::placeholder{color:#b6b6b6;font-size:16px;font-weight:300}.order__input:active,.order__input:focus{border:1px solid #000}.order__input-title{font-size:20px;font-weight:500;color:#161616;text-align:center;margin-bottom:15px}.order__numbers{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:1px solid #c5c5c5;border-radius:10px;overflow:hidden}.order__quantity{-webkit-box-flex:1;-ms-flex:1;flex:1;height:56px;background-color:#fff;text-align:center;font-size:16px;color:#17aa00;font-weight:500;width:100%}.order .select{position:relative;overflow:hidden}.order .select__button{width:100%;height:59px;border-radius:10px;position:absolute;bottom:0;left:0}.order .select__list{position:absolute;left:0;bottom:0;-webkit-transform:translateY(100%);transform:translateY(100%);opacity:0;overflow:hidden;background-color:#fff;width:100%;-webkit-box-shadow:0 2px 8px -4px rgb(0 0 0 / .35);box-shadow:0 2px 8px -4px rgb(0 0 0 / .35);cursor:pointer;-webkit-transition:0.3s;transition:0.3s}.order .select__list li:last-child{border-radius:0 0 10px 10px;border-bottom:1px solid #17aa00}.order .select__link{-webkit-transition:0.3s;transition:0.3s;border:1px solid #17aa00;border-bottom:none;border-top:none;text-align:center;width:100%;padding:10px 0;color:#17aa00}.order .select__link-active{background-color:#17aa00;font-weight:500;color:#1f1f1f}.order .select-active{overflow:visible}.order .select-active .select__list{opacity:1}.order .select-active input{border-radius:10px 10px 0 0;border-color:#000}.order__plus,.order__minus{width:56px;height:56px;background:#e5e5e5;-webkit-transition:0.2s;transition:0.2s;font-size:24px;color:#17aa00;font-weight:500}.order__plus:hover,.order__minus:hover{background:lightgray}.order__plus:active,.order__minus:active{-webkit-transition:0.1s;transition:0.1s;background:#bfbfbf}.order__label{margin-bottom:30px}.datepicker-picker{width:280px}.date__wrapper.wrapper .datepicker-picker{width:707px}.datepicker-main{padding:10px 0 20px}.datepicker-header .datepicker-controls{padding:0;height:40px}.datepicker-controls .button{height:40px}@media screen and (max-width:900px){.features__wrapper.wrapper{margin-top:0;box-shadow:none}}@media screen and (max-width:700px){.datepicker{width:100%;left:0!important;padding:0 15px}.datepicker-picker{width:100%}.features{padding-bottom:50px}.features__wrapper{width:100%}.features__image{border-radius:0;max-height:320px}.features__button-wrapper,.features__text{width:90%;margin:0 auto 20px}.order__field{-ms-grid-columns:1fr;grid-template-columns:1fr;margin-bottom:20px;row-gap:20px}}
/* End */


/* Start:/local/templates/template/css/index.min.css?178524015245117*/
.excursion{display:-ms-grid;display:grid;grid-template-areas:'nav' 'title' 'content'}.modal__menu.modal.modal-active{height:100%}.our__team-not-slider{display:none;flex-wrap:wrap;column-gap:15px;row-gap:20px}.excursion__wrapper-1{-ms-grid-row:1;-ms-grid-column:1;grid-area:nav}.excursion__wrapper-2{-ms-grid-row:3;-ms-grid-column:1;grid-area:content}.excursion__title-block{margin-bottom:48px;-ms-grid-row:2;-ms-grid-column:1;grid-area:title}.excursion__title-block .title span{color:#000}.excursion__list{width:100%;padding:6px 0;display:-webkit-box;display:-ms-flexbox;display:flex;flex-wrap:wrap;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:flex-start;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.excursion__mobile{display:none}.excursion__link-title{display:flex;align-items:center;height:48px;padding:0 18px;color:#17AA04;border-radius:90px;border:1px solid #17aa00;margin:4px 4px;transition:all 0.25s ease}.excursion__link-title:hover{background-color:#17aa00;color:#fff}.excursion__link-more{border:1px solid #232323;background-color:#FFE600}.excursion__item-title{font-family:'HelveticaNeue';font-style:normal;font-weight:500;font-size:14px;color:#17aa00}.excursion__item-more{font-family:'Helvetica Neue';font-style:normal;font-weight:500;font-size:14px;color:#252525}.intro-btn{transition:all 0.4s ease}.intro-btn:hover{color:#fff!important;background:#17aa00}.intro-btn svg{margin-right:10px;transition:all 0.4s ease}.intro-btn:hover svg{fill:#fff}.excursion__link-title:hover a{color:#fff}.excursion__block{border-radius:20px}.excursion__top{border-radius:20px 20px 0 0;background:rgb(255 255 255 / .7);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);-webkit-box-shadow:0 0 7px -5px #000;box-shadow:0 0 7px -5px #000;display:block;padding:17px 0 15px 26px;text-transform:uppercase}.excursion__date{display:inline-block;margin-right:12px}.excursion__main{border-radius:0 0 20px 20px;background:rgb(255 230 0 / .7);-webkit-box-shadow:0 0 15px rgb(0 0 0 / .15);box-shadow:0 0 15px rgb(0 0 0 / .15);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:10px 0 30px}.excursion__catalog{margin-bottom:38px;table-layout:fixed;width:100%;border-collapse:collapse}.excursion__link-container{border-bottom:1px dashed rgb(33 33 33 / .13)}.excursion__link-flex{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-column-gap:20px;column-gap:20px;padding:0 32px 0 22px}.excursion__link{height:70px;width:50%}.excursion__item-title{-webkit-transition:0.15s;transition:0.15s;text-decoration:none}.excursion__item:hover{text-decoration:none;-webkit-transition:0.1s;transition:0.1s}.excursion__item:hover:hover{text-decoration:underline;color:#17aa00;font-style:italic}.excursion__time{font-weight:500;color:#17aa00;white-space:nowrap}.excursion__button{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-column-gap:11px;column-gap:11px;color:#fff;font-size:16px;width:100%;background:#17aa00;-webkit-box-shadow:0 0 10px rgb(0 0 0 / .25);box-shadow:0 0 10px rgb(0 0 0 / .25);border-radius:90px;padding:17px 0;border:1px solid #fff0;-webkit-box-shadow:inset 0 0 10px #fff0;box-shadow:inset 0 0 10px #fff0;-webkit-transition:0.4s;transition:0.4s}.excursion__button-wrapper{margin:0 32px 0 22px}.excursion__button svg{-webkit-transition:0.4s;transition:0.4s}.excursion__button:hover{background:#fff;color:#17aa00;border:1px solid #17aa00}.excursion__button:hover svg{fill:#17aa00}.excursion__button:active{-webkit-transition:0.1s;transition:0.1s;-webkit-box-shadow:inset 0 0 10px rgb(0 0 0 / .25);box-shadow:inset 0 0 10px rgb(0 0 0 / .25)}.intro__wrapper{display:flex;align-items:center;justify-content:space-between;margin-bottom:35px}.intro__block-wrapper{max-width:476px}.intro__title{font-style:normal;font-weight:700;font-size:22px;line-height:27px;color:#ff3d00;text-align:center}.intro__block::-webkit-scrollbar{width:10px}.intro__block{overflow-y:scroll;position:relative}.intro-video{max-width:674px;height:522px;width:674px;margin-right:10px}.intro__block::-webkit-scrollbar{width:6px}.intro__block::-webkit-scrollbar-track{border:1px solid #f1f1f1;border-radius:90px;margin-top:75px;margin-bottom:50px}.intro__block::-webkit-scrollbar-thumb{background:#e9e9e9;border-radius:90px}.intro-timer{font-family:'Roboto';font-style:normal;font-weight:600;font-size:30px;line-height:35px;color:#363636;display:flex;align-items:center;justify-content:center;width:fit-content;margin:0 auto;background-color:#fff;transform:translateY(18px);position:relative;z-index:99}.intro-timer-wrapper{position:relative}.intro-timer-wrapper::after{content:'';position:absolute;left:5px;top:36px;z-index:1;width:98%;background-color:#fff;border-radius:12px 12px 0 0;height:16px}.intro-timer span{color:#fff;width:23px;background:#ff3d00;display:inline-block;text-align:center;border-radius:4px;margin-right:2px}.intro-timer p{display:inline-block;font-size:20px;margin:0 2px}.intro__block{padding:25px 13px;height:380px;overflow-y:auto}.intro-block-line{background:#fff;border:1px solid #ff3d00;box-shadow:0 0 15px rgb(0 0 0 / .1);border-radius:15px;margin-bottom:20px;padding-right:13px}.hideScroll{pointer-events:none!important}.intro__subtitle{font-style:normal;font-weight:600;font-size:20px;line-height:24px;color:#000;padding-bottom:13px;text-align:center}.intro-line{border:1px dashed #dfdfdf;margin-bottom:22px}.intro__card{display:flex;align-items:center;margin-bottom:25px}.intro__card-date{font-style:normal;font-weight:400;font-size:16px;line-height:19px;background:#ff3d00;border-radius:3px;color:#fff;padding:2px 14px;margin-right:23px}.intro__card:nth-of-type(4){margin-bottom:14px}.intro__card-text{font-style:normal;font-weight:400;font-size:16px;line-height:19px;text-decoration-line:underline;color:#424242}.intro__card-text:hover{font-style:normal;font-weight:500;text-decoration-line:underline;color:#ff3d00}.excursion__list-wrapper{background:#fff;box-shadow:0 0 15px rgb(0 0 0 / .1);width:100%;display:flex;flex-wrap:wrap;margin-bottom:22px}.intro-btn{font-style:normal;font-weight:400;font-size:16px;line-height:19px;color:#3b3b3b;background:#ffe500;box-shadow:0 0 10px rgb(0 0 0 / .15);border-radius:90px;padding:20px 0;width:100%}.intro-btn img{margin-right:10px}.catalog__title-block{margin-bottom:40px}.catalog__list{display:-ms-grid;display:grid;-ms-grid-columns:1fr 1fr 1fr 1fr;grid-template-columns:1fr 1fr 1fr 1fr;-webkit-column-gap:30px;column-gap:30px;row-gap:30px}.catalog__item{background:#fff;-webkit-box-shadow:0 0 15px rgb(0 0 0 / .15);box-shadow:0 0 15px rgb(0 0 0 / .15);border-radius:20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;overflow:hidden;-webkit-transition:0.2s;transition:0.2s;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.catalog__top{position:relative}.catalog__image{width:100%;max-width:270px;max-height:244px;height:244px;-o-object-fit:cover;object-fit:cover;border-radius:20px}.catalog__discount{position:absolute;top:0;left:20px;color:#222;width:39px;height:38px;background:url(/local/templates/template/css/../images/index/disc.svg) no-repeat center center;font-size:8px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;font-weight:300;-webkit-transform:scale(1.2);transform:scale(1.2);-webkit-transform-origin:top left;transform-origin:top left}.catalog__discount-text{margin-top:3px}.catalog__discount-price{font-weight:500;font-size:10px}.catalog__right{color:#b6b6b6;margin-top:12px;font-size:14px;font-weight:300;position:absolute;top:4px;right:4px;padding:8px 21px 3px 22px;background:rgb(255 255 255 / .49);backdrop-filter:blur(3px);border-radius:90px}.catalog__rating{display:-webkit-box;display:-ms-flexbox;display:flex;align-items:flex-start;line-height:14px}.catalog__rating-number{font-weight:300;font-size:14px;color:#fff;line-height:14px}.catalog__stars{margin-right:5px;text-align:center;display:flex;gap:7px}.catalog__stars img{width:8px;height:8px}.catalog__reviews{display:block;text-align:right;font-weight:300;font-size:14px;font-style:normal;text-decoration-line:underline;color:#ffe600}.catalog__main{padding:10px 20px 20px;-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;max-height:150px;min-height:150px}.catalog__title{-webkit-transition:0.2s;transition:0.2s;font-weight:400;font-size:17px;line-height:20px;color:#3b3b3b}.catalog__features{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-column-gap:5px;column-gap:5px;font-size:12px;font-weight:300;color:#444;margin-bottom:10px;-webkit-transition:0.2s;transition:0.2s;height:30px}.catalog__features .catalog__feature:nth-child(3){text-align:right}.catalog__feature{display:flex;align-items:center;white-space:nowrap}.catalog__feature img{padding-right:5px;width:20px;height:20px;object-fit:contain}.catalog__bottom{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.catalog__price-old{font-family:'Helvetica Neue';font-style:normal;font-weight:300;font-size:12px;line-height:14px;text-decoration-line:line-through;color:#878787;margin-right:10px}.catalog__price-old:hover{color:#878787;font-weight:300}.catalog__price{color:#17aa00;line-height:1;font-size:20px;font-weight:500;display:flex;align-items:center}.catalog__item:hover{-webkit-transform:scale(1.05);transform:scale(1.05);-webkit-box-shadow:0 0 25px rgb(0 0 0 / .35);box-shadow:0 0 25px rgb(0 0 0 / .35)}.catalog__item:hover .catalog__title{font-weight:400;font-size:17px;line-height:20px;text-decoration-line:underline;color:#17aa00}.catalog__item:active{-webkit-transform:scale(1.04);transform:scale(1.04)}.about:not('section'){background-color:#fff;max-width:1170px;margin:0 auto;box-shadow:0 4px 15px rgb(0 0 0 / .1);border-radius:20px;margin-bottom:60px;padding:49px 20px 17px 20px;overflow:hidden}.about__cat-date-wrapper p{margin-bottom:45px}.about__title-block{margin-bottom:35px}.about__title{background-color:#fff;padding:0 75px}.about__text{font-size:18px;line-height:135%;margin-bottom:20px}.about__text a{color:#17aa00}.about-text{font-family:'HelveticaNeue';font-style:normal;font-weight:400;font-size:18px;line-height:24px;color:#1e1e1e}.about__wrapper{position:relative}.about-text:nth-child(2){margin:15px 0}.about-img-c{position:absolute;top:105px;right:-30px;width:600px}.about__flex{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:end;-ms-flex-align:start;align-items:flex-start}.choice{background-color:#17aa00;color:#fff;font-family:'HelveticaNeue';border-radius:10px;padding:32px 46px;margin:0 auto 30px auto;max-width:1170px}.choice__wrapper{display:flex;margin-bottom:37px}.choice__item{text-align:center}.choice__item img{margin-bottom:10px}.choice__title{font-size:20px}.choice__main-title{font-size:30px;text-transform:uppercase;text-align:center;margin-bottom:55px}.choice__descr{font-size:16px;width:94%;text-align:center;line-height:24px;margin:0 auto}.questions__item{height:70px;transition:0.5s height}.questions-active{height:auto;transition:0.5s height}.questions .intro-video{width:476px;height:406px}.title__wrapper{position:relative;width:100%;margin-bottom:40px}.title-block .title{font-family:'Helvetica Neue';font-style:normal;font-weight:400!important;font-size:36px!important;line-height:36px;text-transform:uppercase;color:#000;margin-bottom:40px;width:fit-content;padding:0 40px;margin:0 auto!important;display:flex!important;align-items:center}.mapHide{pointer-events:none!important}.showing__block{margin-bottom:25px!important}#mapWrapper{z-index:99999999!important;width:49%;height:100%!important}.mapHide{pointer-events:none!important;height:460px}.catalog__title{margin-bottom:0!important}.map-andslider-wrapper{display:flex;justify-content:space-between}.map-slider{position:relative;height:460px;width:49%;overflow:hidden}.map-slider-wrapper img{height:460px;width:100%}.map-slider-prev,.map-slider-next{top:50%}.map-slider-next{right:16px}.map-slider-prev{left:16px}.seo__text{color:#939393}.seo__important .map__list{flex-direction:column}.seo__important .map__item{max-width:none}.seo__important .map__title{margin-bottom:0}.showing__indiv-label{width:100%;border:1px dashed #b3b3b3;padding:15px 0;text-align:center;color:#17AA00;background-color:rgb(100% 90% 0% / .6);;font-size:15px;margin-bottom:18px}.reviews__wrapper.wrapper form{position:relative}.reviews__all{color:#17AA00;text-decoration:underline;position:absolute;top:-90px;right:0}@media screen and (max-width:1200px){.map-andslider-wrapper{flex-direction:column;align-items:center;row-gap:20px}.map-slider,#mapWrapper{width:62%}}@media screen and (max-width:1200px){.map-slider,#mapWrapper{width:80%}}@media screen and (max-width:800px){.seo__wrapper.wrapper{padding:10px;width:100%}.reviews__all{display:none}.date__title.title{font-size:30px}}@media screen and (max-width:430px){.reviews__yandex-slider-item.swiper-slide{width:calc(100% - 10px)}.date__title-block.title-block{margin-bottom:33px}.showing__indiv-label{font-size:14px;padding:15px 35px}.mapHide{height:250px}.map-slider,#mapWrapper{width:100%;height:280px}.seo__wrapper.wrapper{padding:10px 0;background-color:#fff0;box-shadow:none}.choice__title{font-size:16px}}@media screen and (max-width:360px){.showing__groups-custom .showing__group-custom{width:124px}}@media screen and (min-width:800px){.title__wrapper::after{content:'';position:absolute;left:0;top:20px;border:1px dashed #585858;width:100%}.map .about__title.title{font-size:24px!important;font-weight:400!important}}.form{margin-bottom:100px}.questions__form.form{padding:0}.form-container{max-width:1176px;margin:0 auto}.form__blocks{display:flex;align-items:center;justify-content:space-between}.form__block{background:#fff;box-shadow:0 0 10px rgb(0 0 0 / .25);border-radius:10px;padding-bottom:20px;width:100%;max-width:470px;height:593px}.form__block .form__name{margin-bottom:20px}.form__info{background-color:#fff;padding:38px 60px 28px 28px;max-width:575px;width:100%;border-radius:10px;box-shadow:0 0 10px rgb(0 0 0 / .25);height:593px}.form-links{margin-bottom:34px}.form-links .questions__soc-buttons{justify-content:flex-start}.data__full-btn{max-width:1030px;height:58px;border-radius:90px;background-color:#17aa00;color:#fff;margin:0 auto;display:flex;justify-content:center;align-items:center;margin-bottom:53px}.data__full-btn svg{margin-right:10px;margin-bottom:5px}@media screen and (min-width:1020px){.form-links{margin-bottom:115px}}.form__subtitle:first-of-type{padding-top:18px}.form__text{margin-bottom:40px;font-size:18px;font-weight:400;width:498px}.form__subtitle{display:block;font-weight:400;font-size:20px;color:#17aa00;padding-top:23px;padding-bottom:5px}.form-link{margin-right:20px}.form__input:checked~.form__checkbox .form__check{transform:scale(1.6);color:#000;border:1px solid #000}.form__input:checked~.form__checkbox .form__check::after{content:'';background:url(/local/templates/template/css/../images/ok.svg) no-repeat center;width:15px;height:15px;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.form__checkbox{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-weight:300;font-size:14px;margin-bottom:20px}.form__check{-webkit-transition:0.2s;transition:0.2s;position:relative;display:inline-block;min-width:15px;height:15px;border:1px solid #c4c4c4;margin-right:15px;cursor:pointer}.form__btn{background:#ffe600;box-shadow:0 0 10px rgb(0 0 0 / .15);border-radius:90px;text-align:center;padding:20px;margin:0 auto;width:436px;color:#3c3c3c}.form__btn-link{display:block;width:100%}.form__wrapper{display:flex;flex-direction:column;padding:0 20px}.form__intro{background:#ffe500;border-radius:10px 10px 0 0;text-align:center;padding:19px 0;display:block;margin-bottom:31px;font-family:'Helvetica Neue';font-style:normal;font-weight:500;font-size:26px;line-height:32px;color:#161616;width:470px}.form__input-t{border:1px solid #c5c5c5;border-radius:10px;padding:17px;font-family:'Helvetica Neue';font-style:normal;font-weight:300;font-size:16px;line-height:14px;margin-bottom:20px;width:100%}.form__input-t::placeholder{font-family:'Helvetica Neue';font-style:normal;font-weight:300;font-size:16px;line-height:14px;color:#b6b6b6}.form__textarea::placeholder{font-family:'HelveticaNeueCyr';font-style:normal;font-weight:400;font-size:16px;line-height:14px;color:#b6b6b6}.form__textarea::-webkit-input-placeholder{font-family:'HelveticaNeueCyr';font-style:normal;font-weight:400;font-size:16px;line-height:14px;color:#b6b6b6}.form__textarea:-ms-input-placeholder{font-family:'HelveticaNeueCyr';font-style:normal;font-weight:400;font-size:16px;line-height:14px;color:#b6b6b6}.form__textarea::-ms-input-placeholder{font-family:'HelveticaNeueCyr';font-style:normal;font-weight:400;font-size:16px;line-height:14px;color:#b6b6b6}.form__textarea{border:1px solid #c5c5c5;border-radius:10px;padding:17px 35px;width:100%;height:158px;color:#b6b6b6}textarea{resize:none}.form__input{margin-bottom:20px}.form_btn-send{background:#17aa00;box-shadow:0 0 10px rgb(0 0 0 / .15);border-radius:90px;text-align:center;padding:18px;color:#fff;margin-top:20px}.form__btn-mob{display:none}.form__input-t{font-family:'Helvetica Neue'!important;font-style:normal!important;font-weight:300!important;font-size:16px!important;line-height:14px!important;color:#b6b6b6!important}@media screen and (max-width:1110px){.form__text{margin-bottom:40px;font-size:18px;font-weight:400;width:370px}}@media screen and (max-width:1050px){.form__btn{background:#ffe600;box-shadow:0 0 10px rgb(0 0 0 / 15%);border-radius:90px;text-align:center;padding:20px;margin:0 auto;width:100%}.form__intro{width:408px}}@media screen and (max-width:920px){.form__blocks{flex-direction:column}.form__info{margin-bottom:30px}.form__info{max-width:444px}.form__btn-desc{display:none}.form__btn-mob{display:block;max-width:444px;margin-bottom:30px;font-size:14px}.form__info{height:auto}.form__subtitle:first-of-type{padding-top:0}.form__intro{width:100%}}@media screen and (max-width:768px){.mapHide{height:300px}.showing__block{margin-bottom:0!important}}@media screen and (max-width:400px){.form__text{width:100%}}@media screen and (max-width:1280px){.about{position:relative}.about__right{-o-object-fit:contain;object-fit:contain;max-height:300px;max-width:300px;position:absolute;bottom:0;right:0;opacity:.2}.catalog__image{height:200px}}@media screen and (max-width:1200px){.about-img-c{width:500px;top:170px}}@media screen and (max-width:1150px){.intro-video{max-width:500px}}@media screen and (max-width:1100px){.about-img-c{width:400px;top:250px}}@media screen and (max-width:1000px){.about-img-c{width:300px;top:300px}.reviews__link{display:none}.about__wrapper p img{display:none}.excursion{grid-template-areas:'title' 'nav' 'content'}.excursion__list-wrapper{width:100%;margin:0 auto 11px}.excursion__title-block{margin-bottom:12px}.excursion__title-block .excursion__title.title{font-size:28px;padding:0 7px}.intro-btn.intro-btn-custom{margin-bottom:17px;z-index:1}.excursion__list{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;flex-wrap:nowrap;overflow:scroll;width:105%;margin-bottom:40px;row-gap:20px;margin-bottom:0}.excursion__list-wrapper .wrapper{position:relative}.excursion__list-wrapper button.excursion__item-more{position:absolute;top:12px;left:-6px;width:38px;height:33px;justify-content:center}.excursion__list{padding-left:37px;padding:12px 0 12px 37px}.excursion__list li:last-child{order:-1}.excursion__item-title{font-size:14px;white-space:nowrap}.excursion__item-more{font-size:12px}.excursion__mobile{background-color:#fff;width:100%;display:block;color:#17aa00;font-size:16px;border:1px solid #17aa00;border-radius:90px;padding:8px 17px;position:relative;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transition:0.3s;transition:0.3s}.excursion__mobile::after{content:'';position:absolute;right:17px;top:calc(50% - 2px);display:block;border:solid #17aa00;border-width:0 1px 1px 0;display:inline-block;padding:3px;-webkit-transform:translateY(-50%) rotate(45deg);transform:translateY(-50%) rotate(45deg);-webkit-transition:0.3s;transition:0.3s}.excursion__mobile:active{background-color:rgb(255 255 255 / .8)}.excursion__mobile-active{background-color:#17aa00;border:1px solid #fff0;color:#fff}.excursion__mobile-active::after{border-color:#fff;top:calc(50% + 2px);-webkit-transform:translateY(-50%) rotate(45deg) scale(-1);transform:translateY(-50%) rotate(45deg) scale(-1)}.excursion__list-link{height:0;overflow:hidden;-webkit-transition:height 0.3s;transition:height 0.3s}.excursion__list-link ul{padding:10px 0 20px}.excursion__list-link ul a:hover{color:#000}.catalog__list{-ms-grid-columns:1fr 1fr 1fr;grid-template-columns:1fr 1fr 1fr}.catalog__image{max-width:none;max-height:none;height:244px}}.intro__card:last-child{margin-bottom:0}@media screen and (max-width:960px){.intro__wrapper{flex-direction:column}.intro__block-wrapper{order:-1}.intro-video{max-width:700px}.intro__title{padding-bottom:0}.intro-btn{margin-bottom:17px}.about-img-c{display:none}.about-text:nth-child(3){max-width:100%}section.questions{margin-top:27px}.breadcrumbs~section.questions{margin-top:0;width:100%;margin-bottom:0}}@media screen and (max-width:800px){.form__info{padding:38px 14px 0 14px;margin-bottom:21px}.form__info .form__subtitle,.form__info .form__text{font-size:16px}.form__info .form__text{padding-right:45px}.form__btn-mob{margin-bottom:44px}.form__wrapper{padding:0 11px}.modal__menu{top:0}.questions .intro-video{width:400px}.excursion{padding-bottom:0}.excursion .wrapper{width:100%}.excursion__block{width:100%;border-radius:0}.excursion__top{border-radius:0}.excursion__link-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;border-bottom:none}.excursion__link-container .excursion__link:last-child .excursion__link-flex{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.excursion__main{border-radius:0;padding-bottom:20px}.excursion__catalog{margin-bottom:25px}.excursion__link{width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-bottom:1px dashed rgb(33 33 33 / .13)}.catalog__list{-ms-grid-columns:1fr 1fr;grid-template-columns:1fr 1fr}.intro-video{margin:0;padding:0 10px;max-height:300px}.choice{padding:20px 16px 35px 16px;margin-bottom:0}.choice__main-title{font-size:24px;margin-bottom:10px;padding:0 17px}.choice__wrapper{flex-wrap:wrap;row-gap:10px;justify-content:space-around;margin-bottom:28px}.choice__item{width:166px}.choice__item:last-of-type{display:none}.choice__descr{width:100%}}@media screen and (max-width:500px){.choice__item{width:135px}.catalog__list.wrapper{-ms-grid-columns:1fr;grid-template-columns:1fr;margin-bottom:22px}.about{padding-bottom:0;margin-bottom:0}.about__title{background-color:#fff0;font-style:normal;font-weight:500;font-size:24px;text-transform:uppercase;color:#000}.about__title.texttitle{font-size:34px}.about__title-block{margin-bottom:20px}.still__exc .about__title.title{padding:0}.about-text{font-family:'HelveticaNeueCyr';font-style:normal;font-weight:500;font-size:14px;line-height:20px;color:#1e1e1e}.exc-main .line{display:none}.intro__card-text{font-weight:400;font-size:14px}.intro-video{max-height:198px;width:100%}.still__exc-list{row-gap:10px}.exc-main .about{background-color:#fff0;box-shadow:none}.excursion__item-title{font-size:14px}.excursion__link-title{margin:2px;padding:0 8px;height:32px}.still__exc .excursion__link-title{height:28px}}.intro-btn-custom{max-width:568px;margin:0 auto;display:flex;align-items:center;justify-content:center}.p-area-desc{cursor:pointer}@media screen and (max-width:600px){.intro-btn-custom{width:90%;margin-top:0}}@media screen and (min-width:430px){.reviews__yandex-wrap.swiper{padding-left:5px;padding-right:5px}}@media screen and (max-width:500px){.questions__answer{margin-top:16px}div.reviews__yandex-wrap.swiper{width:100%}.questions .intro-video{width:400px}.intro__block-wrapper{max-width:476px;margin:0 10px}}.p-area-desc{display:none!important}.p-area{display:none!important}@media screen and (max-width:500px){.data__full-btn{margin-bottom:30px}.catalog__item--new{position:relative}.catalog__item--new .catalog__main{position:absolute;bottom:0;width:100%}.catalog__item--new .catalog__top::after{content:'';display:block;position:absolute;left:0;top:0;width:100%;height:100%;border-radius:20px;background:linear-gradient(0deg,#3c3c3ccf,transparent)}.catalog__item--new .catalog__title{color:#fff;text-decoration:underline;max-width:233px}.catalog__item--new .catalog__feature{color:#fff}.catalog__item--new .catalog__feature img{filter:brightness(0) invert(1)}.catalog__item--new .catalog__price-old{color:#bababa}}.place__main-title{font-size:36px;text-align:center;text-transform:uppercase}.place{width:100%;height:267px;margin-top:45px}.place.swiper{height:287px;padding-top:10px}.place__title{position:absolute;top:170px;left:10px;font-size:14px;color:#fff;width:157px;z-index:11}.place__item:hover{transform:scale(1.02)}.place__item{position:relative}.place__item-link::before{content:'';z-index:10;width:177px;height:267px;display:block;border-radius:10px;position:absolute;background:linear-gradient(0deg,rgb(0 0 0 / .8) 0%,#fff0 80%)}.place__item-link{width:100%;height:100%}.articles__link::before{content:'';z-index:10;width:377px;height:303px;display:block;position:absolute;background:linear-gradient(0deg,rgb(0 0 0 / .8) 0%,#fff0 55%);border-radius:10px}.place__prev,.place__next,.reviews__prev,.reviews__next,.articles__prev,.articles__next,.map-slider-prev,.map-slider-next,.our__team__next,.our__team__prev{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:absolute;background:rgb(255 255 255 / .8);width:38px;height:38px;border-radius:50%;z-index:10;-webkit-transition:0.2s;transition:0.2s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.reviews__prev,.reviews__next{bottom:0;background:#E8E8E8;width:30px;height:30px}.our__team__next,.our__team__prev,.articles__prev,.articles__next,.place__prev,.place__next{width:49px;height:49px}.reviews__prev svg{margin-right:2px}.reviews__next svg{margin-left:1px}.reviews__prev svg,.reviews__next svg,.articles__prev svg,.articles__next svg{fill:#9B9B9B}.map-slider-prev svg,.map-slider-next svg{fill:#17aa00}.reviews__prev:hover,.reviews__next:hover{background-color:#17aa00}.reviews__prev:hover svg,.reviews__next:hover svg{fill:#fff}.reviews__next{left:54px}.place__prev,.articles__prev,.our__team__prev{left:-2%;top:62%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.place__next,.articles__next,.our__team__next{right:-2%;top:62%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.place-pagination.swiper-pagination-bullets.swiper-pagination-horizontal .swiper-pagination-bullet{background-color:#fff0;border:1px solid #17aa00;width:11px;height:11px}.place-pagination.swiper-pagination-bullets.swiper-pagination-horizontal .swiper-pagination-bullet-active{background-color:#17aa00}.place__link{position:absolute;top:15px;right:0;font-size:16px;color:#17aa00;text-decoration:underline}.place__img{position:absolute;width:177px;height:267px;border-radius:10px}.place__prev svg,.our__team__prev svg,.place__next svg,.our__team__next svg{fill:#17AA00}.place__prev:hover,.place__next:hover{background-color:#fff}.place__prev:active,.place__next:active{-webkit-transition:0.1s;transition:0.1s;opacity:.8}.place-pagination.swiper-pagination-bullets.swiper-pagination-horizontal{position:absolute;bottom:-28px;left:50%;transform:translateX(-50%);width:auto}.reviews__yandex,.place__slider-wrap,.our__team__slider-wrap,.articles__slider-wrap{width:1170px;margin:0 auto;margin-bottom:50px;position:relative}.place__slider-wrap,.articles__slider-wrap{margin-bottom:72px}.place__slider-wrap~.questions{margin-bottom:30px}.reviews__link{color:#17aa00;text-decoration:underline;font-size:16px;position:absolute;right:0;top:10px}.reviews__yandex .place__main-title{margin-bottom:35px}.reviews__block-maps{background-color:#FAFAFA;padding:22px 57px 30px 57px;width:277px;border:1px solid #E1E1E1;margin-right:20px;border-radius:10px}.reviews__rating-wrap{margin-bottom:56px}.reviews__rating-wrap p{font-size:18px;font-weight:700;text-align:center;margin-bottom:16px}.reviews__rating-wrap .catalog__stars{justify-content:center}.reviews__map-title-wrap{text-align:center;margin-bottom:45px}.reviews__map-title-wrap svg{margin-bottom:10px}.reviews__map-title-wrap p{font-family:'Jost';font-size:14px}.reviews__map-btn{margin:0 auto;border:1px solid #D3D3D3;display:flex;justify-content:center;align-items:center;width:129px;height:31px;font-family:'Jost';font-size:12px}.reviews__yandex-main-wrap{display:flex}.reviews__yandex-name-wrap{display:flex;flex-direction:column;justify-content:space-between}.reviews__yandex-profile-wrap{display:flex;column-gap:7px;margin-bottom:10px;border-radius:100%}.reviews__yandex-profile-wrap img{border-radius:100%}.reviews__yandex-slider-item{box-shadow:0 0 10px rgb(0 0 0 / 15%);background-color:#fff;padding:11px 13px 16px 11px;border-radius:10px;font-family:'Jost';position:relative}.reviews__yandex-wrap.swiper{padding-top:5px}.reviews__yandex-slider-item.swiper-slide{height:248px}.reviews__yandex-name{font-size:14px;font-weight:600}.reviews__yandex-text{font-size:12px;margin-bottom:10px;width:100%;height:70px;overflow:hidden}.reviews__yandex-date{color:#aaa;font-size:12px}.reviews__yandex-btn{display:block;font-size:12px;text-decoration:underline}.reviews__yandex-btn-read{font-weight:300;cursor:pointer;color:#858585}.reviews__yandex-btn-bottom{position:absolute;bottom:15px;color:#aaa}.reviews__yandex .swiper-horizontal>.swiper-scrollbar{width:50%;left:108px;bottom:12px;background:#fff0;border:1px solid #C8C8C8;box-sizing:content-box}.swiper-scrollbar .swiper-scrollbar-drag{background:#17aa00}.articles{font-family:'Helvetica'}.articles__bottom{z-index:11}.articles__bottom svg{transition:transform 0.5s}.articles__item:hover .articles__bottom svg{transform:translateX(20px)}.articles__title{position:absolute;top:230px;left:15px;font-size:20px;color:#fff;width:85%;z-index:11}.articles__read{line-height:1.4;margin-right:19px}.articles__bottom{position:absolute;align-items:center;top:267px;left:15px;font-size:16px;color:#fff}.articles__img{width:377px;height:303px;border-radius:10px}.our__team{padding:10px!important}.our__team-wrap{display:flex;flex-direction:column;width:278px;background-color:#fff;box-shadow:0 0 15px rgb(0 0 0 / .15);border-radius:10px;padding-bottom:17px}.our__team-wrap img{padding-bottom:15px;width:278px;height:227px;border-radius:10px 10px 0 0;object-fit:cover}.our__team-wrap span{padding-left:12px}.our__team-name{font-size:17px;font-family:'Helvetica Neue';padding-bottom:15px}.our__team-position{font-size:14px;font-weight:300}.still__exc-wrap{width:1170px}@media screen and (max-width:1210px){.place__slider-wrap,.about,.choice,section.questions,.reviews__yandex,.articles__slider-wrap,section.still__exc,div.main__bottom-wrap,.modal__container-menu,.our__team__slider-wrap,.still__exc-wrap{width:970px}}@media screen and (max-width:950px){.place__slider-wrap,.about,.choice,section.questions,.reviews__yandex,.articles__slider-wrap,section.still__exc,div.main__bottom-wrap,.modal__container-menu,.our__team__slider-wrap,.still__exc-wrap{width:700px}}@media screen and (max-width:850px){.place__slider-wrap,.about,.choice,section.questions,.reviews__yandex,.articles__slider-wrap,section.still__exc,div.main__bottom-wrap,.modal__container-menu,.our__team__slider-wrap,.still__exc-wrap{width:700px}section.main__bottom{height:264px}.main__bottom-wrap{flex-direction:column;row-gap:22px}.place__main-title{font-size:26px;padding:0 30px}div.questions__item{font-size:16px;padding:15px 24px 15px 27px}div.questions__title{padding:0;width:90%;font-size:16px}div.questions__answer{padding:0}.place__slider-wrap .place__link{top:102%;right:50%;transform:translatex(50%)}.our__team-link{display:none}}@media screen and (max-width:750px){.map-slider-wrapper img{height:100%}section.form{margin-bottom:18px}section.questions{margin-bottom:32px}.about-section.mob .about__block{box-shadow:none}.our__team__slider-wrap{margin-top:40px}.our__team__slider-wrap .title{font-size:30px;font-family:'HelveticaNeueCyr'}.questions__wrap{flex-direction:column}.reviews__yandex .place__main-title{font-size:24px}.reviews__rating-wrap{margin-bottom:25px}.reviews__yandex{margin-bottom:25px}.still__exc,div.still__exc-wrap{margin-bottom:0}div.questions__wrap-left{width:100%}.questions__form.form{width:100%}.questions__form p{font-size:14px}.reviews__yandex-main-wrap{flex-direction:column;row-gap:25px}.reviews__block-maps{margin:0 auto}section.still__exc{width:100%}div.still__exc-wrap{border-radius:0;width:auto}div.main__bottom-wrap{align-items:flex-start}.place__slider-wrap .place__link{top:95%;right:50%;transform:translatex(50%)}.place__slider-wrap{margin-bottom:27px}}@media screen and (max-width:950px){.reviews__yandex{width:100%;margin:0 auto;padding:0 15px 40px 15px;margin-bottom:50px}.reviews__yandex-main-wrap{flex-direction:column;row-gap:15px}.reviews__block-maps{width:100%;margin:0 auto;padding:15px}.reviews__yandex-wrap.swiper{width:100%;padding-left:0;padding-right:0;overflow:visible;padding-bottom:60px}.reviews__yandex-slider-item.swiper-slide{height:248px;min-height:220px}.reviews__prev,.reviews__next{width:28px;height:28px;bottom:0}.reviews__prev{left:35%}.reviews__next{left:auto;right:35%}.reviews__yandex .swiper-horizontal>.swiper-scrollbar{width:80%;left:50%;transform:translateX(-50%);bottom:35px}}@media screen and (min-width:951px){.reviews__prev{left:0!important;bottom:0px!important}.reviews__next{right:0!important;bottom:0px!important}.reviews__yandex .swiper-horizontal>.swiper-scrollbar{width:50%;left:108px;transform:none;bottom:12px}}@media screen and (max-width:430px){.reviews__yandex,.reviews__yandex-slider.swiper-wrapper,.reviews__block-maps{width:100%}.reviews__yandex{padding:0 22px}.our__team__slider-wrap{margin-bottom:24px}.reviews__yandex h2.place__main-title{margin-bottom:10px}.about-section.mob+.questions{margin-bottom:0}.reviews__yandex .title-block.about__title-block .title{padding:0;font-family:'Helvetica Neue'}.title-block.reviews__title-block .title{font-family:'Helvetica Neue'}.reviews__list{margin-bottom:0}.articles__slider-wrap{margin-bottom:52px}.place{margin-top:15px}.place-pagination,.place__next,.place__prev,.articles__prev,.articles__next{display:none}.place.swiper{margin-top:0;height:305px;overflow:scroll}.place__title{top:182px}.place__slider-wrap{padding-bottom:25px}.still__exc-wrap{width:100%;padding-bottom:1px}.place__slider-wrap,.about,section.questions,.articles__slider-wrap,.main__bottom-wrap,.modal__container-menu,.our__team__slider-wrap{width:395px}.place__main-title{padding:0}.choice{width:100%}.place__main-title{padding:0 15px;font-size:20px}div.questions__title{width:85%}span.questions__arrow-wrap{right:5px;top:15px}.reviews__yandex-slider.swiper-wrapper{height:325px}.reviews__yandex .swiper-horizontal>.swiper-scrollbar{width:99%}.reviews__prev{left:40%;bottom:0}.reviews__next{right:40%;left:auto;bottom:0}.articles__title{font-size:16px}.articles__img{width:223px;display:block;margin:0 auto}.articles__link::before{width:223px;left:3px}.articles__read{margin-right:19px}.articles__title,.articles__bottom{left:12px}section.main__bottom{padding:25px 15px 20px 15px}section.main__bottom{row-gap:0}.main__bottom-wrap .header__button{width:100%;justify-content:center;background:#ffe600;color:#000}.our__team-wrap{width:223px}.our__team-wrap img{width:223px}div.still__exc-wrap{padding-top:10px}}@media screen and (max-width:395px){.articles__link::before{left:0}.questions .intro-video{width:100%}.place__slider-wrap,.about,section.questions,.articles__slider-wrap,.main__bottom-wrap,.modal__container-menu,.our__team__slider-wrap{width:355px}.reviews__prev{left:36%}.reviews__next{right:36%}}@media screen and (max-width:350px){div.reviews__yandex-wrap.swiper{width:277px}.articles__link::before{left:0}.place__slider-wrap,.about,section.questions,.articles__slider-wrap,.main__bottom-wrap,.modal__container-menu,.our__team__slider-wrap{width:300px}div.questions__title{width:90%}}.questions{width:1170px;margin:0 auto;margin-bottom:50px}.still__exc{width:1170px;margin:0 auto}.questions__form.form{margin-bottom:0;background-color:#fff}.questions__wrap{display:flex;width:100%;padding:0 22px}.questions__wrap-left{width:670px;margin-right:20px}.questions hr{border:0;clear:both;display:block;width:96%;background-color:#D7D7D7;height:1px;margin-bottom:16px}.questions__item{border:1px solid green;border-radius:10px;margin-bottom:20px;position:relative;height:auto;transition:0.5s height}.questions__title{cursor:pointer;width:100%;font-family:'Helvetica';font-size:18px;font-weight:700;transition:transform 0.4s ease-in-out;padding:23px 60px 20px 27px}.questions__answer{max-height:150px;overflow-y:auto;display:none;padding:0 22px 0 27px;margin-bottom:15px}.questions__arrow-wrap{position:absolute;top:23px;transform:rotate(90deg);transition:0.5s transform;right:35px}.questions__arrow-active{transform:rotate(-90deg)}.questions__form .form__main{padding:0 24px 27px 24px;margin:0 auto}.questions__form p{margin:20px 0;text-align:center;font-family:'HelveticaNeueCyr';font-weight:300}.questions__soc-buttons{display:flex;justify-content:center;column-gap:28px;margin-bottom:9px}.questions__soc-btn{display:flex;justify-content:center;align-items:center;background-color:#F0F0F0;font-size:14px;column-gap:5px;border-radius:10px;width:128px;height:34px}.questions__form .modal__label{align-items:flex-start;margin-bottom:4px}.still__exc .excursion__link-more{background:#17AA00;color:#fff;border:2px solid #17AA00}.still__exc .excursion__link-more:hover{background:#fff;color:#17AA00;transform:scale(1.06)}.still__exc-wrap{background-color:#fff;margin:0 auto;box-shadow:0 4px 15px rgb(0 0 0 / 10%);border-radius:20px;margin-bottom:60px;padding:26px 0 1px 12px}.still__exc-title{font-size:20px;margin-bottom:10px}.still__exc-list{display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:18px}.still__exc-item{display:flex}.still__exc-link{border:1px solid #17AA00;border-radius:90px;padding:12px 14px;white-space:nowrap}.main__bottom{width:100%;background-color:#17AA00;display:flex;align-items:center;height:171px}.main__bottom a{font-size:20px;color:#fff}.main__bottom-wrap{display:flex;justify-content:space-between;align-items:center;width:1170px;margin:0 auto}@media (max-width:500px){.intro-video iframe{max-width:100%;height:100%}.intro-video{max-height:none;height:300px}}.grecaptcha-badge{opacity:0;pointer-events:none}.our__team__slider-wrap{width:min(1170px, calc(100% - 32px));max-width:1170px;box-sizing:border-box}.our__team{box-sizing:border-box}.our__team-wrap{width:min(272px, 100%);max-width:272px;min-width:0;min-height:330px;box-sizing:border-box;overflow:hidden}.our__team-wrap img{width:100%;height:auto;aspect-ratio:272 / 222;display:block;object-fit:cover}@media screen and (max-width:900px){.about .container{padding-left:0!important;padding-right:0!important;overflow:visible!important}.our__team__slider-wrap{width:100%;padding:0 16px;margin-top:32px;overflow:hidden}.our__team-not-slider,.our__team__slider-wrap .swiper-wrapper{gap:16px;align-items:stretch}.our__team{padding:0!important;height:auto}.our__team-wrap{width:260px;flex:0 0 260px;min-height:318px;height:100%}.our__team-wrap img{height:212px;aspect-ratio:auto}.our__team__prev,.our__team__next{display:flex;width:38px;height:38px;top:55%;background:rgb(255 255 255 / .92);box-shadow:0 6px 18px rgb(0 0 0 / .14)}.our__team__prev{left:4px}.our__team__next{right:4px}}@media screen and (max-width:430px){.our__team__slider-wrap{width:100%;padding:0 14px;margin-bottom:24px}.our__team__slider-wrap .title{font-size:24px;line-height:1.2}.our__team-wrap{width:223px;flex-basis:223px;min-height:300px}.our__team-wrap img{height:182px}.our__team-name{font-size:16px;padding-bottom:10px}.our__team-position{font-size:13px;line-height:1.35}.our__team__prev,.our__team__next{width:34px;height:34px;top:54%}.our__team__prev{left:2px}.our__team__next{right:2px}}@media screen and (max-width:350px){.our__team__slider-wrap{padding:0 10px}.our__team-wrap{width:210px;flex-basis:210px;min-height:292px}.our__team-wrap img{height:172px}}.form__top{background:#ffe500;padding:20px 0;border-radius:10px 10px 0 0}.modal__name,.modal__phone{width:100%}.reviews__yandex,.place__slider-wrap,.articles__slider-wrap,.our__team__slider-wrap{width:min(1170px, calc(100% - 32px));max-width:1170px;box-sizing:border-box}.reviews__yandex *,.place__slider-wrap *,.articles__slider-wrap *,.our__team__slider-wrap *{box-sizing:border-box}.reviews__yandex-wrap.swiper,.place.swiper,.articles.swiper,.our__team.swiper{width:100%;min-width:0;overflow:hidden}.reviews__yandex-slider.swiper-wrapper,.place__wrapper.swiper-wrapper,.articles__wrapper.swiper-wrapper,.our__team__slider-wrap .swiper-wrapper{align-items:stretch;min-width:0}.reviews__yandex-main-wrap{width:100%;min-width:0;gap:20px}.reviews__block-maps{flex:0 0 277px;max-width:100%;margin-right:0}.reviews__yandex-wrap.swiper{flex:1 1 auto;min-width:0}.reviews__yandex-slider-item.swiper-slide{width:clamp(260px, 25vw, 285px);max-width:100%;height:248px;min-height:248px;display:flex;flex-direction:column}.reviews__yandex-text{max-width:100%}.reviews__yandex-btn-bottom{margin-top:auto}.place__item.swiper-slide{width:clamp(178px, 18vw, 220px);max-width:100%;height:267px;flex:0 0 auto;overflow:hidden;border-radius:10px}.place__item-link{display:block;position:relative;width:100%;height:100%}.place__item-link::before,.place__img{height:100%;inset:0}.place__img{object-fit:cover}.articles__item.swiper-slide{width:clamp(260px, 32vw, 377px);max-width:100%;height:auto}.articles__link,.articles__img{width:100%;max-width:100%}@media screen and (max-width:950px){.reviews__yandex-main-wrap{flex-direction:column}.reviews__block-maps{width:100%;flex-basis:auto}.reviews__yandex-wrap.swiper{padding-bottom:60px;overflow:hidden}.reviews__yandex-slider-item.swiper-slide{width:min(320px, calc(100vw - 48px))!important}.articles__item.swiper-slide{width:min(340px, calc(100vw - 48px))!important}}@media screen and (max-width:768px){.place__slider-wrap{width:100%;max-width:100%;padding-left:16px;padding-right:16px;padding-bottom:44px;overflow:hidden}.place.swiper{height:320px;padding-top:0;overflow:hidden}.place__item.swiper-slide{width:min(220px, calc(62vw - 32px))!important;height:267px}.place__title{left:10px;right:10px;top:auto;bottom:18px;width:auto;font-size:13px;line-height:1.25}.place-pagination.swiper-pagination-bullets.swiper-pagination-horizontal{bottom:25px}.place__prev,.place__next{top:50%}.reviews__yandex h2.place__main-title{margin-top:12px}}@media screen and (max-width:430px){.reviews__yandex,.place__slider-wrap,.articles__slider-wrap,.our__team__slider-wrap,.about,section.questions,.main__bottom-wrap,.modal__container-menu{width:100%;max-width:100%;padding-left:16px;padding-right:16px}.reviews__yandex{padding-left:16px;padding-right:16px}.reviews__yandex-slider.swiper-wrapper{height:auto}.reviews__yandex-slider-item.swiper-slide{width:calc(100vw - 32px)!important;min-height:220px}.place.swiper{height:292px;min-height:0;overflow:hidden}.place__item.swiper-slide{width:min(220px, calc(100vw - 64px))!important;height:252px}.place__title{bottom:16px}.articles__item.swiper-slide{width:calc(100vw - 32px)!important}}@media screen and (max-width:350px){.reviews__yandex,.place__slider-wrap,.articles__slider-wrap,.our__team__slider-wrap,.about,section.questions,.main__bottom-wrap,.modal__container-menu{padding-left:10px;padding-right:10px}.reviews__yandex-slider-item.swiper-slide,.articles__item.swiper-slide{width:calc(100vw - 20px)!important}}
/* End */


/* Start:/local/templates/template/css/individual.css?17804237764968*/
main {
background: url(/local/templates/template/css/../images/index/bg-catalog.webp) repeat;
}

@media screen and (max-width:769px) {
	.catalog {
		padding-top:0;
	}	
}

.catalog__title-block {
	margin-bottom: 40px;
}

.catalog__button-wrapper {
	max-width: 410px;
	margin: 0 auto 63px;
}

.catalog__list {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr 1fr 1fr 1fr;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	-webkit-column-gap: 30px;
	column-gap: 30px;
	row-gap: 30px;
	margin-bottom: 50px;
}

.catalog__item {
	background: #ffffff;
	-webkit-box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.15);
	box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.15);
	border-radius: 20px;
	overflow: hidden;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.catalog__top {
	position: relative;
}

.catalog__image {
	width: 100%;
	max-width: 270px;
	max-height: 244px;
	height: 244px;
	-o-object-fit: cover;
	object-fit: cover;
	border-radius: 20px;
}

.catalog__discount {
	position: absolute;
	top: 0;
	left: 20px;
	color: #222222;
	width: 39px;
	height: 47px;
	background: url('/local/templates/template/css/../images/index/disc.svg') no-repeat center center;
	font-size: 8px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	font-weight: 300;
	-webkit-transform: scale(1.2);
	transform: scale(1.2);
	-webkit-transform-origin: top left;
	transform-origin: top left;
}

.catalog__discount-text {
	margin-top: 3px;
}

.catalog__discount-price {
	font-weight: 500;
	font-size: 10px;
}

.catalog__right {
	color: #b6b6b6;
	margin-top: 0;
	font-size: 14px;
	font-weight: 300;
	position: absolute;
	top: 9px;
	right: 12px;
}

.catalog__rating {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.catalog__stars {
	margin-right: 5px;
}

.catalog__reviews {
	margin-top: 3px;
	display: block;
	text-align: right;
}

.catalog__main {
	padding: 10px 20px 20px;
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.catalog__title {
	margin-bottom: 14px;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	height: 90px;
}

.catalog__features {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-column-gap: 5px;
	column-gap: 5px;
	font-size: 12px;
	font-weight: 300;
	color: #444444;
	margin-bottom: 10px;
	height: 30px;
	-webkit-transition: 0.2s;
	transition: 0.2s;
}

.catalog__features .catalog__feature:nth-child(3) {
	text-align: right;
}

.catalog__feature {
	white-space: nowrap;
}

.catalog__bottom {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.catalog__price {
	color: #17aa00;
	line-height: 1;
	font-size: 20px;
	font-weight: 500;
}

.catalog__item:hover {
	-webkit-transform: scale(1.05);
	transform: scale(1.05);
	-webkit-box-shadow: 0px 0px 25px rgba(0, 0, 0, 0.35);
	box-shadow: 0px 0px 25px rgba(0, 0, 0, 0.35);
}

.catalog__item:hover .catalog__title {
	color: #17aa00;
	font-style: italic;
	text-decoration: underline;
}

.catalog__item:hover .catalog__features {
	color: #17aa00;
}

.catalog__item:active {
	-webkit-transform: scale(1.04);
	transform: scale(1.04);
}

/**.seo {
	padding-bottom: 80px;
}*/

.seo__title-block {
	margin-bottom: 18px;
}

.seo__text {
	line-height: 1.5;
	font-size: 24px;
	color: #212121;
}

.seo__text-margin {
	margin-bottom: 60px;
}

@media screen and (max-width: 1280px) {
	

	
	.catalog__list {
		-ms-grid-columns: 1fr 1fr 1fr;
		grid-template-columns: 1fr 1fr 1fr;
	}
	.catalog__image {
		max-width: none;
		max-height: none;
	}
	.catalog__title-block {
		margin-bottom: 25px;
	}
	.catalog__button-wrapper {
		margin-bottom: 60px;
	}
	.seo {
		padding-bottom: 0;
	}
	.seo__title-block {
		margin-bottom: 20px;
	}
	.seo__text {
		font-size: 20px;
	}
}

@media screen and (max-width: 800px) {
	.catalog__list {
		-ms-grid-columns: 1fr 1fr;
		grid-template-columns: 1fr 1fr;
	}
	main {
		background:none;
	}
}

@media screen and (max-width: 500px) {
	.catalog__list {
		-ms-grid-columns: 1fr;
		grid-template-columns: 1fr;
	}
}
.catalog__reviews {
	margin-top: 0;
}
/* End */


/* Start:/local/templates/template/css/timetable.css?17809177494717*/


.date__title-block {
  margin-bottom: 27px;
}

.date__button-wrapper {
  max-width: 820px;
  margin: 0 auto;
}

.datepicker {
  height: 0;
}

.date__table {
  -webkit-box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.15);
          box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.15);
  border-radius: 20px;
  max-width: 1030px;
  margin: 0 auto 30px;
}

.date__top {
  text-transform: uppercase;
  background: rgba(255, 255, 255, 0.7);
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
  padding: 16px 32px;
  font-size: 18px;
  border-radius: 20px 20px 0 0;
}

.date__date {
  margin-right: 15px;
}

.date__main {
  background: rgba(255, 230, 0, 0.7);
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
  border-radius: 0px 0px 20px 20px;
  padding:0 30px;
}

.date__main li:last-child {
  border-bottom: none;
}

.date__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 15px 0;
  height:70px;
  border-bottom: 1px dashed rgba(33, 33, 33, 0.13);
}

.date__item:hover .date__text {
  color: #17aa00;
  font-style: italic;
  text-decoration: underline;
  font-weight: 500;
}

.date__item:hover .date__info {
  color: #17aa00;
}

.date__item:hover .date__price {
  margin-right: 20px;
}

.date__time {
  display: inline-block;
  color: #17aa00;
  font-weight: 500;
  margin-right: 30px;
}

.date__info {
  color: #939393;
}

.date__right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.date__price {
  color: #17aa00;
  margin-right: 30px;
  font-weight: 500;
  -webkit-transition: 0.1s;
  transition: 0.1s;
  display: inline-block;
  min-width: 80px;
}

.date__item-active {
  font-weight: 500;
}

.date__links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  color: #1f1f1f;
  text-transform: uppercase;
  font-size: 22px;
  font-weight: 500;
  margin-top: 55px;
  margin-bottom: 100px;
}

.date__item-title {
  text-decoration: underline;
  -webkit-transition: 0.1s;
  transition: 0.1s;
}

.date__item-title:hover {
  color: #17aa00;
  text-decoration: underline;
}

.picker {
  margin-bottom: 30px;
  margin-top: 17px;
}

.seo {
  padding-bottom: 80px;
}

.seo__title-block {
  margin-bottom: 45px;
}

.seo__text {
  line-height: 1.5;
  font-size: 24px;
  color: #212121;
}

.seo__text-margin {
  margin-bottom: 60px;
}

@media screen and (max-width: 1000px) {
  .date__wrapper {
    width: 100%;
		padding: 0px 24px;
  }
  .date__button-wrapper {
    width: 90%;
  }
  .date__top {
    padding: 15px;
    border-radius: 0;
  }
  .date__main {
    padding: 10px 15px 25px;
    border-radius: 0;
  }
  .date__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .date__left {
    margin-bottom: 5px;
  }
  .date__right {
    width: 100%;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .date__links {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 90%;
    margin: 0 auto;
  }
  .date__links li {
    margin-bottom: 20px;
  }
  .date__links li:last-child {
    margin-bottom: 40px;
  }
  .seo__title-block {
    margin-bottom: 20px;
  }
  .seo__text {
    font-size: 20px;
  }
}

@media screen and (max-width: 1000px) {
    .date__right {
    justify-content:flex-end;
    width:40%;
	}
	.date__price {
      margin:0;
      min-width:80px;
    }
    .date__item {
      flex-direction:row;
    }
    .date__time{
        margin-right:5px;
    }
}

@media screen and (max-width: 600px) {
    .date__price {
      margin:0;
      min-width:50px;
  }
  .date__right {
    width:100%;
		justify-content: space-between;
	}
  .date__item {
    height:auto;
    flex-direction:column;
	}
  .datepicker-main {
    padding: 27px 0 36px;
  }
  .datepicker-header .datepicker-controls {
    padding: 0;
  }
}

/* VYACHESLAV */
.days {
	max-width: 578px;
	margin: 0 auto;
}
.datepicker-controls {
	margin: 0 auto;
}
.datepicker-header .datepicker-controls .button {
	max-width: 460px;
}
/* End */


/* Start:/local/templates/template/css/excursion.css?178531053980830*/
@import url('https://fonts.googleapis.com/css2?family=Mulish:wght@400;500;600;700;800&display=swap');

html,
body {
    background: white;
    font-family: 'Mulish', sans-serif;
    margin: 0;
    padding: 0;
    /*overflow-x: hidden;*/
  }
.filter-section {
    padding: 12px;
    margin: 0 auto;
  }

  .tags-wrapper {
    display: flex;
    flex-wrap: nowrap;
    gap: 12px;
    align-items: center;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .tags-wrapper::-webkit-scrollbar { display: none; }

  .tag {
    display: inline-flex;
    align-items: center;
    padding: 8.2px 16px;
    border-radius: 100px;
    color: #17AA00;
    font-size: 14px;
    font-weight: 400;
    cursor: pointer;
    transition: all 0.18s ease;
    user-select: none;
    white-space: nowrap;
background: #FFFFFFD9;
border: 1px solid #17AA0026
  }

  .tag:hover {
    border-color: #4caf7d;
    color: #4caf7d;
    background: #f0faf5;
  }

  .tag.active {
    background: #4caf7d;
    border-color: #4caf7d;
    color: #fff;
  }

  .tag.active:hover {
    background: #3d9e6d;
    border-color: #3d9e6d;
    color: #fff;
  }

  .tag-more {
    background: #17AA00;
    border-color: 1px solid #17AA00;
    color: #fff;
    position: relative;
  }

  .tag-more:hover {
    background: #17AA00;
    border-color: 1px solid #17AA00;
    color: #fff;
  }

  @media (min-width: 901px) {
    .filter-section {
      padding: 4px 0 6px;
    }

    .tags-wrapper {
      flex-wrap: wrap;
      align-items: center;
      gap: 10px;
      overflow: visible;
      margin: 0 auto;
      margin-top: 12px;
      margin-bottom: 12px;
    }

    .tag {
      padding: 8.2px 16px;
      font-size: 14px;
      line-height: 20px;
      border-radius: 999px;
      font-weight: 400;
    }
  }

  .tag.hidden {
    display: none;
  }

  .tag.visible {
    display: inline-flex;
    animation: fadeIn 0.2s ease;
  }

  .cats-modal {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.36);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 1200;
    padding: 16px;
  }
  .cats-modal.open { display: flex; }
  .cats-modal-dialog {
    width: 1200px;
    max-height: 85vh;
    overflow: auto;
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 20px 48px rgba(0, 0, 0, 0.22);
    animation: fadeIn 0.22s ease;
  }
  .cats-modal-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 28px 16px;
    border-bottom: 1px solid #eee;
    position: sticky;
    top: 0;
    background: #fff;
    z-index: 1;
  }
  .cats-modal-head h3 {
    margin: 0;
    font-size: 20px;
    font-weight: 800;
  }
  .cats-modal-head button {
    border: 0;
    background: #f1f2f4;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    transition: background 0.2s;
  }
  .cats-modal-head button:hover {
    background: #e0e0e0;
  }
  .cats-modal-body {
    padding: 20px 28px 28px;
    display: flex;
    flex-direction: column;
    gap: 20px;
  }
  .cats-filter-section {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .cats-filter-title {
    font-size: 16px;
    font-weight: 700;
    color: #111;
  }
  .cats-filter-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
  }
  .cats-modal-item {
    border: 1.5px solid #17AA00;
    background: #fff;
    color: #17AA00;
    border-radius: 999px;
    padding: 10px 18px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.18s ease;
    font-family: 'Mulish', sans-serif;
    white-space: nowrap;
  }
  .cats-modal-item:hover {
    background: #17AA00;
    color: #fff;
    transform: scale(1.04);
  }

  /* Tags Modal */
  .tags-modal {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.36);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 1200;
    padding: 16px;
  }
  .tags-modal.open { display: flex; }
  .tags-modal-dialog {
    width: min(760px, 100%);
    max-height: 80vh;
    overflow: auto;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 20px 48px rgba(0, 0, 0, 0.22);
    padding: 16px;
  }
  .tags-modal-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
  }
  .tags-modal-head h3 {
    margin: 0;
    font-size: 20px;
    font-weight: 800;
  }
  .tags-modal-head button {
    border: 0;
    background: #f1f2f4;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
  }
  .tags-modal-content {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
  }
  .tags-modal-content .tag {
    cursor: pointer;
  }

  @keyframes fadeIn {
    from { opacity: 0; transform: scale(0.95); }
    to   { opacity: 1; transform: scale(1); }
  }

  .breadcrumb {
    font-size: 14px;
    color: #76767A;
    padding: 16px 16px 6px;
  }
  .breadcrumb a { color: #76767A; text-decoration: none; }
  .breadcrumb a:hover { color: #555; }
  .breadcrumb .sep { margin: 0 4px; }

  .page {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 0 48px;
  }

  h1 {
    font-size: 40px;
    font-weight: 700;
    color: black;
    margin: 26px 0 12px;
    line-height: 50px;
  }

  /* ── RATING ROW ── */
  .rating-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
  }
  .rating-left { display: flex; align-items: center; gap: 5px; }
  .stars { display: flex; gap: 1px; align-items: center; }
  .star { width: 16px; height: 16px; }
  .rating-score { font-size: 13px; font-weight: 700; color: #000; margin-left: 2px; }
  .reviews-a {
    font-size: 13px; color: #888; text-decoration: none;
  }
  .reviews-a:hover { text-decoration: underline; }

  .download-btn {
	  position: absolute;
	  top: -70px;
	  right: 0;
    display: inline-flex; align-items: center; gap: 12px;
    font-size: 14px; color: black; text-decoration: none;
    background: none; border: none; cursor: pointer;
    font-family: 'Mulish', sans-serif;
    list-style: none;
    line-height: 20px;
  }
  .download-btn:hover { color: #4caf7d; }
  .download-btn-route {
	  position: relative;
	  top: 0;
	  margin-top: 16px;
}
  .download-btn .download-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }
  .download-btn svg { width: 40px; height: 40px; color: #1f1f1f; }

  /* ── LAYOUT GRID ── */
  .layout {
    display: grid;
    grid-template-columns: 740px 1fr;
    gap: 35px;
    align-items: start;
  }

  /* ── GALLERY ── */
  .main-wrap {
    position: relative;
    width: 100%;
    height: 480px;
    border-radius: 8px;
    overflow: hidden;
    background: #111;
  }
  .main-wrap img {
    width: 100%; height: 100%; object-fit: cover;
    display: block; transition: opacity 0.2s ease;
  }

.nav-btn {
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 30px; height: 30px; border-radius: 50%;
  background: rgba(255,255,255,0.78);
    border: none; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    z-index: 4; transition: background 0.15s;
}
.nav-btn:hover { background: rgba(255,255,255,0.96); }
.nav-btn.left { display: none; }
.nav-btn.right { right: 9px; }
.nav-btn svg { width: 15px; height: 15px; }

.gallery .main-wrap .nav-btn {
  display: none;
}

  /* Thumbnails */
  .thumbs {
    display: flex; gap: 20px; margin-top: 18px;
    align-items: center;
  }
  .th {
    width: 164px; height: 164px; border-radius: 5px;
    overflow: hidden; cursor: pointer; flex-shrink: 0;
    border: 2.5px solid transparent;
    transition: border-color 0.15s;
  }
  .th:hover { border-color: transparent; }
  .th.on { border-color: transparent; }
  .th img { width: 100%; height: 100%; object-fit: cover; display: block; }

  .th-arrow { display: none; }

  /* ── SIDEBAR ── */
  .sidebar {
    background: #fff;
    border-radius: 16px;
    padding: 20px 20px 31px;
    box-shadow: 0px 0px 16px 0px #0000001F;
  }

  .s-title {
    font-size: 16px; font-weight: 700; color: black;
    margin-bottom: 20px;
  }

  /* Detail rows */
  .d-table {
    display: grid;
    grid-template-columns: 120px 1fr 180px;
    column-gap: 10px;
    row-gap: 12px;
    margin-bottom: 14px;
    align-items: end;
  }
  .d-key {
    font-size: 16px; color: #17AA00; font-weight: 600;
    padding-top: 2px; line-height: 22px;
  }
  .d-val {
    font-size: 16px; color: black;
    line-height: 22px;
    font-weight: 500;
  }

  .d-dots,
  .p-row .p-dots {
    display: block;
    width: auto;
    min-width: 0;
    justify-self: stretch;
    border-bottom: 2px dotted #e7e7eb;
    height: 0;
  }
  .p-row .p-dots {
	  height: 13px;
	}
	.p-row + .p-row  {
		margin-top: 10px;
	}

  .sep { height: 1px; margin: 12px 0; }

  /* Price */
  .p-title { font-size: 16px; 
    margin-top: 25px;
    font-weight: 700; margin-bottom: 16px; }
  .p-row {
    display: grid;
    grid-template-columns: 100px 1fr 160px;
    align-items: center;
    column-gap: 10px;
    font-size: 13px; color: #333; padding: 2.5px 0;
  }
  .p-row .pn { color: #17AA00; 
    font-weight: 600;
    font-size: 16px;
  }
  .p-row .pv { font-weight: 700; color: black;
  font-size: 16px;
  }
  .price-block { 
	  margin-bottom: 15px; 
	  background: #F2F7F4;
	  padding: 20px;
	  border-radius: 12px;
  }

  /* Buttons */
  .btn-green {
    display: flex; align-items: center; justify-content: center; gap: 8px;
    width: 100%; padding: 11px 10px;
    background: #17AA00; color: #fff;
    border: 2px solid #17AA00; border-radius: 6px;
    font-family: 'Mulish', sans-serif;
    font-size: 16px; font-weight: 500; cursor: pointer;
    text-decoration: none; margin-bottom: 9px;
    transition: transform 0.18s ease, background 0.18s ease, color 0.18s ease;
    letter-spacing: 0.01em;
  }

  .btn-green:last-child { margin-bottom: 0; }
  .btn-green:hover {
    transform: scale(1.035);
    background: #fff;
    color: #4caf7d;
  }
  .btn-green svg { width: 17px; height: 17px; flex-shrink: 0; }

  .sidebar-request {
    display: flex;
	  flex-direction: column;
    gap: 16px;
    margin-top: 10px;
  }

  .sidebar-request-label {
	  position: relative;
	  display: flex;
	  justify-content: center;
    padding-top: 20px;
  }
.sidebar-request-label span {
	background: #fff;
    font-size: 16px;
    line-height: 20px;
    font-weight: 600;
    color: #000;
    white-space: nowrap;
	z-index: 1;
	padding: 0 7px;
}
.sidebar-request-label:before {
	position: absolute;
	display: block;
	width: 100%;
	height: 1px;
	background: #E5E5EB;
	content: '';
	bottom: 8px;
}

  .sidebar-request-grid {
    display: flex;
	  justify-content: center;
    gap: 58px;
  }

  .sidebar-request-link {
    display: flex;
	  flex-direction: column;
	  gap: 4px;
	  align-items: center;
    text-decoration: none;
    color: #6b6b6b;
    transition: transform 0.18s ease;
	  font-size: 10px;
	  line-height: 14px
  }

  .sidebar-request-link:hover,
  .sidebar-request-link:focus-visible {
    transform: translateY(-2px);
    outline: none;
  }

  .sidebar-request-icon {
    width: 48px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 18px;
    overflow: hidden;
  }
.sidebar-request-icon img {
	width: 100%;
}

  .sidebar-request-icon svg {
    width: 100%;
    height: 100%;
    display: block;
  }

  .sidebar-request-text {
    font-size: 12px;
    line-height: 1.2;
    font-weight: 500;
    color: #6b7280;
    text-align: center;
  }

  /* Compact info cards in right sidebar (as in mockup) */
  .sidebar .info-block {
    display: grid;
    gap: 10px;
    margin-top: 10px;
  }
  .sidebar .info-block .info-card {
    background: #f6fff7;
    border: 1px solid #b8e2bf;
    border-radius: 10px;
    padding: 10px 12px;
    box-shadow: none;
    transition: none;
  }
  .sidebar .info-block .info-card:hover {
    transform: none;
    background: #f6fff7;
    border-color: #b8e2bf;
  }
  .sidebar .info-block .info-card:nth-child(2) {
    background: #fff8f8;
    border-color: #f0c0c0;
  }
  .sidebar .info-block .info-card:nth-child(2):hover {
    background: #fff8f8;
    border-color: #f0c0c0;
  }
  .sidebar .info-block .info-card-title {
    font-size: 11px;
    line-height: 1.25;
    margin-bottom: 6px;
    gap: 6px;
    font-weight: 600;
  }
  .sidebar .info-block .info-card-title svg {
    width: 14px;
    height: 14px;
    flex: 0 0 14px;
  }
  .sidebar .info-block .info-list li {
    font-size: 10.5px;
    color: #4a4a4a;
    padding: 2px 0 2px 12px;
    line-height: 1.35;
  }
  .sidebar .info-block .info-list li::before {
    content: "•";
    left: 0;
    color: #76a77f;
    font-size: 11px;
  }
  .sidebar .info-block .info-card:nth-child(2) .info-list li::before {
    color: #ce6f6f;
  }

  /* ── MODAL ── */
  .overlay {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 2100;
  padding: 24px;
  align-items: center;
  justify-content: center;
  background: rgba(12, 18, 32, 0.52);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

.overlay.open { display: flex; }

.booking-modal {
  width: min(600px, calc(100vw - 24px));
  max-height: calc(100vh - 24px);
  overflow: auto;
  position: relative;
  border-radius: 14px;
  border: 1px solid #ebebeb;
  background: #ffffff;
  padding: 18px 20px 18px;
  box-shadow: 0 20px 48px rgba(17, 24, 39, 0.18);
  animation: booking-modal-in .24s ease;
}

@keyframes booking-modal-in {
  from { opacity: 0; transform: translateY(10px) scale(0.985); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}

.m-close {
  position: absolute;
  top: 2px;
  right: 6px;
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #8a8f98;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  transition: background 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.m-close:hover {
  background: transparent;
  color: #111111;
  transform: none;
}

.booking-form {
  display: grid;
  gap: 16px;
}

.booking-modal h2 {
  margin: 0;
  padding-right: 28px;
  font-size: 32px;
  line-height: 1.2;
  font-weight: 800;
  color: #111111;
  letter-spacing: -0.01em;
}

.booking-modal .msub {
  margin: -8px 0 0;
  font-size: 16px;
  line-height: 1.35;
  color: black;
}

.booking-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 14px;
}

.booking-field label {
  display: block;
  margin-bottom: 6px;
  font-size: 16px;
  line-height: 1.3;
  font-weight: 700;
  color: #232323;
}

.booking-field.has-error .booking-control input,
.booking-field.has-error .booking-control select {
  border-color: #ff5a5a;
  box-shadow: none;
}

.booking-field.has-error .booking-control-icon {
  color: #ff5a5a;
}

.booking-error {
  margin-top: 4px;
  font-size: 10px;
  line-height: 1.25;
  color: #ff5a5a;
}

.booking-required {
  color: #ef4444;
}

.booking-control {
  position: relative;
}

.booking-control--date input {
  cursor: pointer;
}

.booking-control--date.is-open input {
  border-color: #b7bcc5;
  box-shadow: 0 0 0 3px rgba(17, 24, 39, 0.08);
}

.booking-control--time input {
  cursor: pointer;
}

.booking-control--time.is-open input {
  border-color: #b7bcc5;
  box-shadow: 0 0 0 3px rgba(17, 24, 39, 0.08);
}

.booking-control input,
.booking-control select {
  width: 260px;
  height: 48px;
  padding: 0 10px;
  border: 1px solid #dfdfdf;
  border-radius: 7px;
  background: #ffffff;
  color: #202020;
  font-size: 16px;
  font-family: 'Mulish', sans-serif;
  outline: none;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.booking-control input::placeholder {
  color: #9b9b9b;
}

.booking-control input:focus,
.booking-control select:focus {
  border-color: #b7bcc5;
  box-shadow: 0 0 0 3px rgba(17, 24, 39, 0.08);
}

.booking-control--icon input,
.booking-control--icon select {
  padding-right: 34px;
}

.booking-control select {
  appearance: none;
}

.booking-control-icon {
  position: absolute;
  top: 50%;
  right: 10px;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #4b5563;
  pointer-events: none;
  transform: translateY(-50%);
}

.booking-control-icon svg {
  width: 24px;
  height: 24px;
}

.booking-calendar-popover {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  z-index: 35;
  width: 376px;
  max-width: min(376px, calc(100vw - 40px));
}

.booking-calendar {
  width: 376px;
  max-width: 100%;
  overflow: hidden;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  background: #ffffff;
  box-shadow: 0 18px 44px rgba(17, 24, 39, 0.16);
}

.booking-calendar-head {
  display: grid;
  grid-template-columns: 40px 1fr 40px;
  align-items: center;
  min-height: 44px;
  padding: 0 10px;
  background: #ffdf00;
}

.booking-calendar-title {
  text-align: center;
  font-size: 15px;
  font-weight: 800;
  color: #111111;
}

.booking-calendar-nav {
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #111111;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  transition: background 0.15s ease, opacity 0.15s ease;
}

.booking-calendar-nav:hover {
  background: rgba(255, 255, 255, 0.28);
}

.booking-calendar-nav:disabled {
  opacity: 0.35;
  cursor: default;
}

.booking-calendar-weekdays,
.booking-calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
}

.booking-calendar-weekdays {
  gap: 0;
  padding: 16px 16px 10px;
}

.booking-calendar-weekdays span {
  text-align: center;
  font-size: 14px;
  font-weight: 600;
  color: black;
  text-transform: lowercase;
}

.booking-calendar-grid {
  gap: 8px 0px;
  padding: 6px 16px 16px;
}

.booking-calendar-day {
  width: 48px;
  height: 48px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: #111111;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}

.booking-calendar-day:hover {
  background: #f3f4f6;
}

.booking-calendar-day.is-muted {
  color: #c5c8cf;
  cursor: default;
}

.booking-calendar-day.is-disabled {
  color: #a8adb6;
  cursor: not-allowed;
}

.booking-calendar-day.is-disabled:hover,
.booking-calendar-day.is-muted:hover {
  background: transparent;
}



.booking-calendar-day.is-selected {
  background: #17AA00;
  color: #ffffff;
}

.booking-time-popover {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  z-index: 35;
  width: 100%;
}

.booking-time-list {
  max-height: 232px;
  overflow-y: auto;
  padding: 6px;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 18px 44px rgba(17, 24, 39, 0.16);
}

.booking-time-option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 38px;
  padding: 0 12px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #111111;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  text-align: left;
  transition: background 0.15s ease, color 0.15s ease;
}

.booking-time-option:hover {
  background: #f3f4f6;
}

.booking-time-option.is-selected {
  background: transparent;
}

.booking-time-option.is-selected:hover {
  background: transparent;
}

.booking-time-option-check {
  color: #16a34a;
  font-size: 15px;
  font-weight: 800;
}

.booking-section {
  display: grid;
  gap: 12px;
}

.booking-section h3 {
  margin: 0;
  font-size: 18px;
  line-height: 1.25;
  font-weight: 800;
  color: #111111;
}

.booking-counter-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 14px;
}

.booking-counter-card {
  display: grid;
  gap: 5px;
}

.booking-counter-title {
  font-size: 16px;
  line-height: 1.35;
  font-weight: 700;
  color: #232323;
}

.booking-stepper {
  display: grid;
  grid-template-columns: 36px 1fr 36px;
  align-items: center;
  height: 48px;
  border: 1px solid #dfdfdf;
  border-radius: 7px;
  background: #ffffff;
  overflow: hidden;
}

.booking-stepper-btn {
  width: 100%;
  height: 100%;
  border: 0;
  background: transparent;
  color: black;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}

.booking-stepper-btn:hover {
  background: #f5f6f8;
}

.booking-stepper-btn:disabled {
  color: #c9ccd2;
  cursor: default;
  background: transparent;
}

.booking-stepper input {
  width: 100%;
  min-width: 0;
  height: 100%;
  border: 0!important;
  background: transparent;
  padding: 0;
  text-align: center;
  font-weight: 500;
  font-size: 16px;
  color: black;
}

.booking-total {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 0;
  font-size: 24px;
  line-height: 1.2;
  font-weight: 800;
  color: black;
}

.booking-total strong {
  font-size: 24px;
}

.booking-policy {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-top: 0px;
  font-size: 14px;
  line-height: 1.35;
  color: #7b7b7b;
}

.booking-policy a {
  color: #296dff;
  text-decoration: none;
}

.booking-policy a:hover {
  text-decoration: underline;
}

.booking-policy-check {
  width: 20px;
  height: 20px;
  margin: 1px 0 0;
  flex: 0 0 auto;
  accent-color: #17AA00;
}

.booking-modal .btn-submit {
  width: 100%;
  height: 48px;
  border: 0;
  border-radius: 5px;
  background: #d8d9df;
  color: #fff;
  font-family: 'Mulish', sans-serif;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.18s ease, transform 0.14s ease, box-shadow 0.18s ease;
}

.booking-modal .btn-submit:hover {
  transform: none;
  box-shadow: none;
}

.booking-modal .btn-submit:active {
  transform: translateY(0);
}

.booking-modal .btn-submit:disabled {
  cursor: not-allowed;
  opacity: 1;
  box-shadow: none;
  transform: none;
}

.booking-modal .btn-submit:not(:disabled) {
  background: #17AA00;
  box-shadow: none;
}

@media (max-width: 640px) {
  .booking-field,
  .booking-control,
  .booking-counter-card {
    width: 100%;
    min-width: 0;
  }

  .overlay {
    padding: 6px;
    align-items: center;
  }

  .booking-modal {
    width: min(360px, calc(100vw - 12px));
    max-height: 96vh;
    border-radius: 12px;
    padding: 12px 10px;
    animation: booking-modal-mobile-in .2s ease;
  }

  @keyframes booking-modal-mobile-in {
    from { opacity: 0; transform: translateY(14px); }
    to   { opacity: 1; transform: translateY(0); }
  }

  .booking-modal h2 {
    padding-right: 26px;
    font-size: 22px;
    line-height: 1.2;
  }

  .booking-modal .msub {
    margin-top: -6px;
    font-size: 16px;
    line-height: 1.35;
  }

  .booking-grid,
  .booking-counter-grid {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .booking-form {
    gap: 10px;
  }

  .m-close {
    top: 4px;
    right: 6px;
    width: 24px;
    height: 24px;
    font-size: 22px;
  }

  .booking-field label,
  .booking-counter-title,
  .booking-section h3 {
    margin-bottom: 5px;
    font-size: 16px;
  }

  .booking-control input,
  .booking-control select {
    box-sizing: border-box;
    width: 100%;
    height: 48px;
    padding-left: 10px;
    padding-right: 10px;
    font-size: 16px;
  }

  .booking-control--icon input,
  .booking-control--icon select {
    padding-right: 10px;
  }

  .booking-control-icon {
    right: 9px;
    width: 24px;
    height: 24px;
  }

  .booking-control-icon svg {
    width: 24px;
    height: 24px;
  }

  .booking-stepper {
    box-sizing: border-box;
    height: 48px;
    grid-template-columns: 34px 1fr 34px;
  }

  .booking-stepper input {
    font-size: 13px;
  }

  .booking-stepper-btn {
    font-size: 20px;
  }

  .booking-calendar-popover,
  .booking-calendar {
    width: 100%;
  }

  .booking-calendar-popover {
    top: calc(100% + 4px);
    left: 0;
    max-width: none;
  }

  .booking-calendar {
    border-radius: 12px;
    box-shadow: 0 10px 24px rgba(17, 24, 39, 0.14);
  }

  .booking-calendar-head {
    grid-template-columns: 34px 1fr 34px;
    min-height: 36px;
    padding: 0 8px;
  }

  .booking-calendar-title {
    font-size: 13px;
  }

  .booking-calendar-nav {
    width: 26px;
    height: 26px;
    font-size: 18px;
  }

  .booking-calendar-weekdays {
    padding: 12px 10px 8px;
  }

  .booking-calendar-weekdays span {
    font-size: 10px;
  }

  .booking-calendar-grid {
    gap: 4px 0;
    padding: 4px 10px 12px;
  }

  .booking-calendar-day {
    width: 100%;
    height: 34px;
    font-size: 13px;
    border-radius: 8px;
  }

  .booking-total {
    margin-top: 2px;
    font-size: 18px;
  }

  .booking-total strong {
    font-size: 18px;
  }

  .booking-policy {
    gap: 6px;
    font-size: 14px;
    line-height: 1.3;
  }

  .booking-policy-check {
    width: 20px;
    height: 20px;
  }

  .booking-modal .btn-submit {
    width: 100%;
    height: 32px;
    font-size: 16px;
  }
}

@media (max-width: 420px) {
  .booking-modal {
    width: calc(100vw - 12px);
    padding: 12px 10px;
  }

  .booking-modal h2 {
    font-size: 22px;
  }

  .booking-modal .msub {
    font-size: 16px;
  }

  .booking-control input,
  .booking-control select,
  .booking-stepper,
  .booking-modal .btn-submit {
    box-sizing: border-box;
    width: 100%;
    height: 48px;
  }

  .booking-control--icon input,
  .booking-control--icon select {
    padding-right: 32px;
  }

  .booking-control-icon {
    width: 24px;
    height: 24px;
  }

  .booking-control-icon svg {
    width: 24px;
    height: 24px;
  }

  .booking-calendar-head {
    min-height: 34px;
    padding: 0 7px;
  }

  .booking-calendar-title {
    font-size: 12px;
  }

  .booking-calendar-nav {
    width: 24px;
    height: 24px;
    font-size: 17px;
  }

  .booking-calendar-weekdays {
    padding: 10px 8px 7px;
  }

  .booking-calendar-weekdays span {
    font-size: 9px;
  }

  .booking-calendar-grid {
    padding: 4px 8px 10px;
  }

  .booking-calendar-day {
    height: 32px;
    font-size: 12px;
  }

  .booking-stepper {
    grid-template-columns: 34px 1fr 34px;
  }

  .booking-field label,
  .booking-counter-title,
  .booking-section h3 {
    font-size: 16px;
  }

  .booking-total,
  .booking-total strong {
    font-size: 14px;
  }
}

@media (max-height: 720px) {
  .overlay {
    align-items: flex-start;
    padding-top: 12px;
    padding-bottom: 12px;
  }

  .booking-modal {
    max-height: calc(100vh - 24px);
  }
}

/* Adaptive booking modal */
.overlay {
  overflow-y: auto;
  overscroll-behavior: contain;
}

.booking-modal,
.booking-modal * {
  box-sizing: border-box;
}

.booking-modal {
  width: min(640px, calc(100vw - 32px));
}

.booking-control,
.booking-control input,
.booking-control select,
.booking-stepper {
  width: stretch;
  min-width: 0;
}

.booking-grid,
.booking-counter-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.booking-calendar-popover {
  width: min(376px, calc(100vw - 48px));
}

.booking-calendar-day {
  width: 100%;
}

@media (max-width: 700px) {
  .overlay {
    align-items: flex-start;
    justify-content: center;
    padding: 12px;
  }

  .booking-modal {
    width: min(520px, 100%);
    max-height: calc(100dvh - 24px);
    padding: 18px 16px;
    border-radius: 14px;
  }

  .booking-form {
    gap: 14px;
  }

  .booking-modal h2 {
    font-size: 26px;
    line-height: 1.18;
  }

  .booking-modal .msub {
    margin-top: -4px;
    font-size: 15px;
  }

  .booking-grid,
  .booking-counter-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .booking-control input,
  .booking-control select,
  .booking-stepper,
  .booking-modal .btn-submit {
    height: 48px;
  }

  .booking-modal .btn-submit {
    font-size: 16px;
    border-radius: 8px;
  }

  .booking-time-popover,
  .booking-calendar-popover {
    z-index: 60;
  }
}

@media (max-width: 430px) {
  .overlay {
    padding: 8px;
  }

  .booking-modal {
    width: 100%;
    max-height: calc(100dvh - 16px);
    padding: 16px 12px;
    border-radius: 12px;
  }

  .booking-modal h2 {
    padding-right: 32px;
    font-size: 22px;
  }

  .booking-modal .msub {
    font-size: 14px;
    line-height: 1.35;
  }

  .m-close {
    top: 8px;
    right: 8px;
    width: 32px;
    height: 32px;
  }

  .booking-field label,
  .booking-counter-title,
  .booking-section h3 {
    font-size: 14px;
    line-height: 1.3;
  }

  .booking-control input,
  .booking-control select {
    padding-left: 12px;
    font-size: 15px;
  }

  .booking-control--icon input,
  .booking-control--icon select {
    padding-right: 40px;
  }

  .booking-calendar-popover {
    position: fixed;
    left: 8px;
    right: 8px;
    top: 50%;
    width: auto;
    max-width: none;
    transform: translateY(-50%);
  }

  .booking-calendar {
    width: 100%;
  }

  .booking-calendar-weekdays {
    padding: 12px 8px 8px;
  }

  .booking-calendar-grid {
    gap: 4px;
    padding: 4px 8px 12px;
  }

  .booking-calendar-day {
    height: 36px;
  }

  .booking-total,
  .booking-total strong {
    font-size: 18px;
  }

  .booking-policy {
    font-size: 12px;
  }
}

.photo-modal {
    position: fixed;
    inset: 0;
    z-index: 1300;
    display: none;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.72);
    padding: 24px;
  }
  .photo-modal.open { display: flex; }
  .photo-modal img {
    width: min(1080px, 100%);
    max-height: calc(100vh - 80px);
    object-fit: contain;
    border-radius: 12px;
    background: #fff;
  }
  .photo-modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 40px;
    height: 40px;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.88);
    font-size: 30px;
    line-height: 1;
    cursor: pointer;
  }

/* ══════════════════════════════════════════
   TAB NAVIGATION
══════════════════════════════════════════ */
.exc-tabs-outer {
  position: sticky;
  top: 0;
  z-index: 100;
  background-color: white;
}
.exc-tabs-wrap {
  max-width: 1200px;
  margin: 0 auto;
  /*padding: 0 24px;*/
}
.exc-tabs {
  display: flex;
  gap: 0;
  overflow-x: auto;
  /*scrollbar-width: none;*/
  border-bottom: 1px solid #E5E5EB;
}


.exc-tabs::-webkit-scrollbar { height: 4px; }

.exc-tabs::-webkit-scrollbar-thumb {
  background-color: #17AA00;
  border-radius: 6px;  ;
}

.exc-tab {
  display: inline-flex;
  align-items: center;
  padding: 14px 22px;
  font-size: 16px;
  font-weight: 500;
  color: black;
  text-decoration: none;
  white-space: nowrap;
  border-bottom: 3px solid transparent;
  transform-origin: center bottom;
  transition: color 0.18s, border-color 0.18s/*, transform 0.18s ease*/;
}
.exc-tab:hover,
.exc-tab:focus-visible {
  color: #17AA00;
  /*transform: translateY(-1px) scale(1.06);*/
}
.exc-tab.active { color: black; border-bottom: 3px solid #17AA00; }

/* ══════════════════════════════════════════
   SECTION WRAPPER
══════════════════════════════════════════ */
.exc-page {
  background: #fff;
  margin: 0 auto;
  padding: 40px 0px 80px;
  scroll-margin-top: 58px;
}
.exc-section-title {
  font-size: 32px;
  font-weight: 700;
  color: black;
  line-height: 38px;
  padding-top: 40px;
  padding-bottom: 40px;
}

/* ══════════════════════════════════════════
   ROUTE GRID
══════════════════════════════════════════ */
.route-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
	overflow: hidden;
	padding-bottom: 2px;
	padding-top: 6px;
}
.route-item {
	flex: 1 1 150px;
  min-width: 150px;
  position: relative;
  background: #FFFBD5;
  border: 1px solid #FFE600;
  border-radius: 12px;
  padding: 12px 12px 10px;
  cursor: pointer;
  transition: transform 0.22s ease, background-color 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
  min-height: 92px;
  display: flex;
  flex-direction: column;
  gap: 9px;
  will-change: transform;
}
.route-item::after {
  content: "";
  position: absolute;
  right: -15px;
  top: 26px;
  width: 12px;
  border-top: 3px dotted #efd126;
}
.route-item:hover,
.route-item:focus-visible {
  background: #17AA00;
  border-color: #17aa00;
  /*box-shadow: 0 14px 28px rgba(23, 170, 0, 0.18);*/
  transform: translateY(-2px);
  z-index: 2;
  outline: none;
}
.route-item:hover::after,
.route-item:focus-visible::after {
  border-top-color: #17aa00;
}
.route-item:hover .route-num,
.route-item:focus-visible .route-num {
  background: #17AA00;
  color: #fff;
}
.route-item:hover .route-name,
.route-item:hover .route-label-text,
.route-item:focus-visible .route-name,
.route-item:focus-visible .route-label-text {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-thickness: 1.5px;
}
.route-item:hover .route-special-icon,
.route-item:focus-visible .route-special-icon {
  background: #fff;
  color: #17AA00;
}
.route-item:hover .route-special-icon path,
.route-item:focus-visible .route-special-icon path {
	fill:#f30000;
	stroke:#f30000;
}
.route-num {
  width: 28px; 
	height: 28px;
  background: #17aa00;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 15px; font-weight: 700; color: #fff;
  transition: background 0.18s, color 0.18s;
  flex-shrink: 0;
}
.route-name {
  font-size: 16px; font-weight: 500; color: #242424;
  line-height: 1.32; transition: color 0.18s;
}
.route-special .route-name {
  font-size: 16px;
}
.route-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.route-special-icon {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #f30000;
  color: #fff;
  font-size: 15px;
	font-weight: bold;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background 0.18s, color 0.18s;
}
.route-label-text {
  font-size: 16px;
  line-height: 24px;
  color: black;
  font-weight: 700;
  transition: color 0.18s;
}
.route-break::after {
  display: none;
}
.route-wide {
  grid-column: span 2;
}

/* Начало и конец всегда на всю ширину — только на мобайле, см. media queries */
.route-full {
  /* desktop: normal flow */
	flex: 0 0 230px;
  min-width: 230px;
}

#sec-route {
  display: block;
  padding-top: 0;
}
#sec-route .exc-section-title {
  font-size: 32px;
  font-weight: 700;
  padding-top: 0;
  margin-top: 0;
}
#sec-route .route-grid {
  margin-top: 0;
}
.exc-main-grid {
  max-width: 1200px;
  margin: 0 auto;
  padding: 32px 0px 8px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 380px;
  gap: 60px;
  align-items: start;
}
.exc-main-left .exc-page {
  max-width: none;
  margin: 0;
  padding: 0 0 56px;
}
.exc-main-right .sidebar {
  top: 70px;
}

@media (min-width: 1101px) {
  .exc-main-right {
    position: sticky;
    top: 82px;
    align-self: start;
  }

  .exc-main-right .sidebar {
    position: static;
    top: auto;
  }

  .route-item:not(.route-special):hover .route-num {
    background: #fff;
    color: #17aa00;
  }

  .route-item:not(.route-special):hover .route-name {
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 2px;
    text-decoration-thickness: 1.5px;
  }
}

@media (max-width: 1100px) {
  .exc-main-grid {
    grid-template-columns: 1fr;
  }
  #sec-route .exc-section-title {
    font-size: 34px;
  }
  .exc-main-right .sidebar {
    position: static;
  }
  .route-name {
    font-size: 16px;
  }
  .route-label-text {
    font-size: 17px;
  }
}

@media (max-width: 860px) {
  .route-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .route-wide {
    grid-column: span 1;
  }
  /* start и end всё равно на всю ширину */
  .route-full {
    grid-column: 1 / -1;
  }
  .route-item::after,
  .route-break::after {
    display: none;
  }
}

@media (max-width: 768px) {
  .route-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .route-full {
    grid-column: 1 / -1;
  }

  .route-item {
    min-height: 88px;
    padding: 10px 8px 8px;
    border-radius: 11px;
    gap: 7px;
  }

}

@media (max-width: 560px) {
  .route-grid {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .route-full {
    grid-column: 1 / -1;
  }

  .route-item {
    width: 100%;
    min-width: 0;
    min-height: 78px;
    padding: 8px 8px 7px;
    border-radius: 10px;
    gap: 6px;
  }

  .route-name {
    font-size: 16px;
    line-height: 1.25;
    min-width: 0;
    overflow-wrap: anywhere;
  }

  .route-num {
    width: 28px;
    height: 28px;
    font-size: 15px;
    line-height: 20px;
  }

  .route-label-text {
    font-size: 16px;
    line-height: 24px;
  }
}

/* ══════════════════════════════════════════
   ОБ ЭКСКУРСИИ
══════════════════════════════════════════ */
.about-text-wrap {
  background: #fff;
  border-radius: 12px;
  padding: 24px 28px;
  box-shadow: 0 1px 8px rgba(0,0,0,0.06);
  height: 1304px;
  overflow: hidden;
}

.about-text-wrap .about-text {
  height: 100%;
  overflow: hidden;
  width: 676px;
  margin: 0 auto;
}
.about-text-wrap.open {
  height: auto;
  overflow: visible;
}
.about-content {
  overflow: hidden;
  transition: max-height 0.28s ease;
}
.about-content.collapsed {
  max-height: 640px;
}
.about-content.open {
  max-height: 6000px;
}
.about-text p {
  font-size: 16px; color: black;
  line-height: 1.75; margin: 0px, 32px;
}
.about-text h3 {
  font-size: 16px; font-weight: 700; color: #1a1a1a;
  margin: 18px 0 8px;
}
.about-extra { display: block; }
.about-extra.open { display: block; }
.about-toggle {
  display: inline-flex; align-items: center; gap: 6px;
  background: none; border: none; cursor: pointer;
  color: #17AA00; font-size: 14px; font-weight: 600;
  font-family: 'Mulish', sans-serif;
  padding: 10px 0 0;
  transition: opacity 0.15s;
}
.about-toggle:hover { opacity: 0.75; }
.about-toggle .arrow { transition: transform 0.22s ease; }
.about-toggle.open .arrow { transform: rotate(180deg); }

.info-block{
  margin-top: 24px;
}

.info-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}
.info-card {
  background: #EFFFED;
  border-radius: 12px;
  padding: 20px 22px;
  box-shadow: 0 1px 8px rgba(0,0,0,0.06);
  border: 1px solid #17AA00;
  transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease;
  cursor: default;
}
.info-card:hover {
  transform: scale(1.025);
  border-color: #17AA00;
  background: #f0fdf4;
}
.info-card-title {
  display: flex; align-items: center; gap: 8px;
  font-size: 16px; font-weight: 700; color: #1a1a1a;
  margin-bottom: 12px;
}
.info-list li {
  font-size: 16px; color: #3C3C3C;
  padding: 4px 40px 4px 0px;
  position: relative; line-height: 22px;
  margin-left: 5px;
}
.info-list li::before { position: absolute; left: 0; color: #bbb; }

#sec-info .info-feature-grid {
  display: flex;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 8px;
  flex-wrap: wrap;
  justify-content: space-between;
}

#sec-info .info-feature-card {
  background: #EFFFED;
  border: 1px solid #A3E998;
  border-radius: 9px;
  padding: 20px 20px 16px;
  min-height: 186px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  box-shadow: 0 1px 8px rgba(0, 0, 0, 0.06);
  transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
  flex-wrap: wrap;
}

#sec-info .info-feature-card:hover {
  transform: scale(1.025);
  border-color: #17aa00;
  background: #f0fdf4;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
}

#sec-info .info-feature-icon {
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

#sec-info .info-feature-text {
  color: black;
  font-size: 16px;
  line-height: 23px;
  font-weight: 500;
  max-width: 195px;
  padding-left: 5px;
  margin-bottom: 31px;
}

#sec-info .info-note-strip {
  margin-top: 10px;
  display: flex;
  align-items: flex-start;
  gap: 8px;
  background: white;
  border: 1px solid #FFE600;
  border-radius: 7px;
  flex-wrap: wrap;
}

#sec-info .info-note-strip span {
  color: black;
  font-size: 16px;
  line-height: 24px;
  font-weight: 400;
}

@media (min-width: 1101px) {
  #sec-info .exc-section-title,
  #sec-info .info-feature-grid,
  #sec-info .info-note-strip {
   
margin-left: 0;
   
margin-right: auto;
  }

  #sec-info .exc-section-title {
    margin-top: 8px;
    margin-bottom: 16px;
  }
}

@media (max-width: 700px) {
  #sec-info .info-feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 500px) {
  #sec-info .info-feature-grid {
    grid-template-columns: 1fr;
  }

  #sec-info .info-feature-card {
    min-height: 120px;
  }

  #sec-info .info-feature-text {
    max-width: none;
  }
}

.departure-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.departure-card {
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
  border: 1px solid #ececec;
}

.departure-card-media {
  display: block;
  height: 340px;
  overflow: hidden;
  background: #d9d9d9;
}

.departure-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.32s ease;
}

.departure-card:hover .departure-card-media img {
  transform: scale(1.06);
}

.departure-card-body {
  padding: 24px;
  position: relative;
  min-height: 190px;
}

.departure-card-body h3 {
  margin: 0 0 16px;
  font-size: 18px;
  line-height: 26px;
  font-weight: 700;
  color: black;
}

.departure-stop {
  margin: 0 0 8px;
  font-size: 16px;
  font-weight: 700;
  color: black;
}

.departure-list {
  list-style: none;
  margin: 0 0 12px;
  padding: 0;

  display: flex;
  flex-direction: column;
}

.departure-list:last-child {
  margin-bottom: 0;
}

.departure-list li {
  position: relative;
  margin: 0 0 6px;
  font-size: 16px;
  color: black;
  line-height: 1.35;
  display: flex;
  align-items: center;
  gap: 8px;
}

.departure-list li::before {
  left: 0;
  top: 1px;
  width: 24px;
  height: 24px;
 }

.departure-place {
  margin: 0;
  font-size: 16px;
  line-height: 1.45;
  color: black;
}

.departure-metro-icon {
  position: absolute;
  right: 40px;
  bottom: 0;
  width: 64px;
  height: 64px;
  display: block;
}

.departure-card-map {
  transition: transform 0.18s ease;
}

.departure-card:hover .departure-card-map {
  transform: scale(1.02);
}

@media (max-width: 980px) {
  .departure-cards {
    grid-template-columns: 1fr;
  }

  .departure-card-media {
    height: auto;
  }
}

/* ══════════════════════════════════════════
   ПОХОЖИЕ ЭКСКУРСИИ
══════════════════════════════════════════ */
#sec-similar {
  background: #F5F5F7;
}

.similar-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}

#sec-similar .exc-section-title {
  margin: 0;
}

.similar-nav {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.similar-wrap {
  display: block;
  overflow: hidden;
  margin: 0 -4px; /* compenseaza padding-ul de pe track-outer */
  padding: 4px 4px;
}

.similar-mobile-controls {
  display: none;
}

.similar-track-outer {
  overflow: visible;
  padding: 8px 4px; /* spatiu pentru shadow si scale */
}

.similar-wrap {
  overflow: hidden; /* mutam overflow-ul pe wrapper ca sa nu iasa din sectiune */
}

.similar-track {
  display: flex;
  gap: 14px;
  transition: transform 0.3s ease;
}

#sec-similar .excursion-card {
  flex: 0 0 calc((100% - 42px) / 4);
  min-width: 0;
  position: relative;
  z-index: 1;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}


.sim-arrow {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid #D9D9DE;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.18s ease;
}

.sim-arrow:hover {
  border-color: #17AA00;
  color: #17AA00;
}

.sim-arrow svg {
  width: 12px;
  height: 12px;
}

@media (max-width: 1100px) {
  #sec-similar .excursion-card {
    flex-basis: calc((100% - 14px) / 2);
  }
}

@media (max-width: 640px) {
  #sec-similar {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  #sec-similar .container {
    padding-top: 0 !important;
    margin-top: 0 !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  #sec-similar .exc-section-title {
    margin: 0 0 8px !important;
  }

  #sec-similar .similar-wrap {
    margin-top: 0 !important;
  }

  .similar-head {
    margin-bottom: 12px;
  }

  .similar-nav {
    display: none;
  }

  .similar-track-outer {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    scroll-snap-type: x mandatory;
  }

  .similar-track-outer::-webkit-scrollbar {
    display: none;
  }

  .similar-track {
    width: max-content;
    padding: 0 0 4px 0;
    transform: none !important;
  }

  #sec-similar .excursion-card {
    flex: 0 0 min(78vw, 280px);
    min-width: min(78vw, 280px);
    scroll-snap-align: start;
  }

  .similar-mobile-controls {
    margin-top: 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
  }

  .similar-mobile-progress {
    position: relative;
    height: 3px;
    border-radius: 999px;
    background: #d7d9dd;
    flex: 1;
    max-width: 190px;
  }

  .similar-mobile-progress span {
    position: absolute;
    top: 0;
    left: 0;
    height: 3px;
    width: 32px;
    border-radius: 999px;
    background: #17AA00;
    transition: left 0.2s ease;
  }

  .similar-mobile-nav {
    display: inline-flex;
    gap: 8px;
  }

  .similar-mobile-nav .sim-arrow {
    width: 38px;
    height: 38px;
    border-color: #d0d3d8;
  }
}


.strip-info{
  margin: 20px 20px 20px 16px;
  display: flex;
}

.strip-info span{
  width: 660px;
  margin-left: 12px;
}

.tour-reviews-sec {
  margin: 34px 0 120px;
}

.tour-reviews-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 18px;
}

.tour-reviews-head h2 {
  margin: 0;
  font-size: 46px;
  line-height: 52px;
  font-weight: 700;
  color: #111;
}

.tour-reviews-all {
  color: #2f6df5;
  text-decoration: none;
  font-size: 14px;
  transition: transform 0.18s ease, color 0.18s ease;
  display: inline-block;
}

.tour-reviews-all:hover {
  transform: scale(1.08);
  color: #1f5de0;
}

.tour-reviews-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 486px;
  gap: 26px;
}

.tour-reviews-left {
  padding-right: 2px;
  display: flex;
  flex-direction: column;
}

.tour-reviews-list {
  flex: 1 0 auto;
}

.tour-reviews-item {
  padding: 0 0 32px;
}

.tour-reviews-item:last-child {
  padding-bottom: 0;
}

.tour-reviews-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 8px;
}

.tour-reviews-author {
  font-size: 18px;
  line-height: 26px;
  font-weight: 700;
  color: black;
}

.tour-reviews-date {
  margin-left: auto;
  font-size: 14px;
  line-height: 20px;
  color: #76767A;
}

.tour-reviews-rating {
  color: #FFC700;
  font-size: 14px;
  letter-spacing: 1px;
}

.tour-reviews-text {
  margin: 0;
  font-size: 16px;
  line-height: 24px;
  color: black;
}

.tour-reviews-pagination {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 40px;
  min-height: 40px;
}

.tour-page-btn {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  border: 1px solid #E5E5EB;
  background: white;
  color: black;
  cursor: pointer;
  font-size: 14px;
}

.tour-page-btn:last-child{
  background: transparent;
  border: none;
  font-size: 20px;
}

.tour-page-btn.active {
  background: #fff;
  border-color: #17AA00;
  color: #17AA00;
}

.tour-page-btn:disabled {
  opacity: 0.45;
  cursor: default;
}

.tour-reviews-right {
  background: #fff;
  border-radius: 20px;
  padding: 28px 24px 24px;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.08);
  height: fit-content;
}

.tour-reviews-right h3 {
  margin: 0 0 16px;
  text-align: center;
  font-size: 24px;
  line-height: 30px;
  color: black;
}

.tour-reviews-stars {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4px;
  margin-bottom: 24px;
  position: relative;
  z-index: 2;
}

.tour-star {
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  cursor: pointer;
  color: #d9d9de;
  font-size: 30px;
  line-height: 1;
  pointer-events: auto;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  transition: color 0.15s ease, transform 0.15s ease;
}

.tour-star.is-active {
  color: #f5a421;
}

.tour-star:hover {
  transform: scale(1.06);
}

.tour-star:focus-visible {
  outline: 2px solid #17AA00;
  outline-offset: 4px;
  border-radius: 4px;
}

.tour-reviews-stars.is-invalid .tour-star {
  color: #ff8f8f;
}

.tour-reviews-rating-empty {
  color: #d0d3dc;
}

#tourReviewForm {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

#tourReviewForm input,
#tourReviewForm textarea {
  border: 1px solid #D9D9DE;
  border-radius: 8px;
  padding: 12px 16px;
  font-size: 16px;
  line-height: 24px;
  font-family: inherit;
  background: #fff;
  color: #76767A;
}

#tourReviewForm input::placeholder,
#tourReviewForm textarea::placeholder {
  color: #9a9a9a;
}

#tourReviewForm textarea {
  min-height: auto;
  resize: vertical;
}

.tour-reviews-agree {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 14px;
  line-height: 20px;
  color: #888;
  margin-top: 2px;
}

.tour-reviews-agree input {
  margin-top: 4px;
  accent-color: #17AA00;
}

#tourReviewForm button {
  border: none;
  border-radius: 8px;
  background: #17AA00;
  color: #fff;
  padding: 12px 20px;
  font-size: 16px;
  cursor: pointer;
  margin-top: 12px;
}

.tour-thanks-modal {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.35);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 1200;
}

.tour-thanks-modal.open {
  display: flex;
}

.tour-thanks-dialog {
  width: min(420px, 92vw);
  background: #fff;
  border-radius: 12px;
  padding: 22px;
  text-align: center;
}

.tour-thanks-dialog h3 {
  margin: 0 0 8px;
}

.tour-thanks-dialog p {
  margin: 0 0 14px;
}

.tour-thanks-dialog button {
  border: none;
  border-radius: 8px;
  background: #17AA00;
  color: #fff;
  padding: 10px 18px;
  cursor: pointer;
}

@media (max-width: 980px) {
  .tour-reviews-head h2 {
    font-size: 34px;
    line-height: 40px;
  }

  .tour-reviews-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .tour-reviews-right {
    border-radius: 14px;
  }
}

@media (max-width: 900px) {
	.exc-main-right .info-block {
		margin-top: 0
	}
  .layout {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .main-wrap {
    height: auto;
    aspect-ratio: 16 / 10;
    border-radius: 12px;
  }

  .thumbs {
    display: none;
  }

  .sidebar {
    border-radius: 12px;
    box-shadow: none;
    background: #f5f5f7;
    padding: 14px;
  }

  .d-table {
    grid-template-columns: auto 1fr 4fr;
    column-gap: 8px;
    row-gap: 8px;
    margin-bottom: 10px;
	  align-items: start
  }

  .d-key,
  .d-val,
  .p-row .pn,
  .p-row .pv {
    font-size: 14px;
    line-height: 20px;
  }

  .p-row {
    grid-template-columns: auto 1fr auto;
    column-gap: 8px;
  }

  .p-row .pn {
    width: auto;
  }

  .d-dots,
  .p-row .p-dots {
    border-bottom: 2px dotted #e7e7eb;
    height: 0;
    align-self: center;
  }
  .p-title {
    margin-top: 14px;
    margin-bottom: 10px;
  }

  .price-block {
    border-radius: 12px;
    padding: 12px;
    margin-bottom: 12px;
  }

  .btn-green {
    margin-bottom: 8px;
    min-height: 42px;
    border-radius: 8px;
  }

  .sidebar-request {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .sidebar-request-label {
    padding-top: 0;
  }

  .sidebar-request-grid {
    gap: 50px;
  }

  .sidebar-request-icon {
    width: 48px;
    height: 48px;
    border-radius: 16px;
  }

  .page {
    padding: 0 16px 20px;
  }

  .rating-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
	  padding-left: 16px;
	  padding-right: 16px;
  }

  .download-btn {
    margin-top: 17px;
        left: 50% !important;
        transform: translateX(-50%) !important;
  }

  .main-wrap {
    border-radius: 11px;
  }

  .nav-btn {
    width: 28px;
    height: 28px;
    background: rgba(255, 255, 255, 0.9);
  }

  .nav-btn.left {
    display: none;
  }

  .nav-btn.right {
    right: -8px;
  }
}

/* Info block under reviews on mobile */
@media (max-width: 900px) {
  .mobile-under-reviews {
    margin-top: 14px;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding: 0 24px;
    display: grid;
    gap: 0;
	  margin-bottom: 57px;
  }

  .mobile-under-reviews .info-card {
    background: #efffed;
    border: 1px solid #17aa00;
    border-radius: 12px;
    padding: 12px;
    box-shadow: none;
  }

  .mobile-under-reviews .info-card + .info-card {
    margin-top: 0;
  }

  .mobile-under-reviews .info-card-title {
    font-size: 22px;
    font-weight: 700;
    color: #111;
    margin-bottom: 8px;
  }

  .mobile-under-reviews .info-list {
    margin: 0;
    padding-left: 18px;
  }

  .mobile-under-reviews .info-list li {
    font-size: 15px;
    line-height: 1.45;
    color: #3d3d3f;
    margin-bottom: 6px;
  }

  .mobile-under-reviews .info-card:nth-child(2) {
    border-color: #17aa00;
  }

  .mobile-under-reviews {
    padding: 0 8px;
  }
}

/* Pixel mobile tuning: route/about/info */
@media (max-width: 560px) {
  .departure-metro-icon {
  position: absolute;
  right: 40px;
  bottom: 22px;
  width: 64px;
  height: 64px;
  display: block;
}
  .exc-main-grid {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 12px 16px 0;
    gap: 12px;
  }

  .exc-main-left,
  .exc-main-left .exc-page,
  #sec-route,
  #sec-route .route-grid {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  #sec-route .route-grid {
    grid-template-columns: 1fr;
    overflow: hidden;
  }

  .exc-main-left .exc-page {
    padding: 0 0 0;
  }

  #sec-route .exc-section-title,
  #sec-about .about-header h2,
  #sec-info .exc-section-title {
    font-size: 22px;
    line-height: 30px;
    margin: 0 0 16px;
    padding: 0;
  }
  #sec-info .exc-section-title {
	  margin-top: 40px;
	}
  .exc-section-title{
    font-size: 22px;
	  line-height: 28px;
    padding-bottom: 24px;
	  padding-top: 0;
	  font-weight: 700;
  }

  .route-item::after,
  .route-break::after {
    display: none;
  }

  .about-card {
    border-radius: 12px;
    padding: 12px;
  }

  .about-content.collapsed {
    max-height: 285px;
  }

  .about-content p,
  .about-content h3 {
    font-size: 11px;
    line-height: 1.35;
    margin: 0 0 8px;
  }

  .about-toggle {
    width: 100%;
    justify-content: center;
    font-size: 12px;
    padding-top: 6px;
  }

  #sec-info .info-feature-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  #sec-info .info-feature-card {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    min-height: 72px;
    border-radius: 10px;
    padding: 10px 12px;
    gap: 12px;
  }

  #sec-info .info-feature-icon {
    width: 48px;
    height: 48px;
  }

  #sec-info .info-feature-icon svg {
    width: 48px;
    height: 48px;
  }

  #sec-info .info-feature-text {
    font-size: 16px;
    line-height: 1.3;
    max-width: none;
    margin: 0;
    padding-left: 0;
  }

  #sec-info .info-note-strip {
    margin-top: 8px;
    border-radius: 8px;
  }

  .strip-info {
    margin: 8px;
    gap: 12px;
  }

  .strip-info svg {
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
  }

  .strip-info span {
    width: auto;
    margin-left: 0;
    font-size: 9px;
    line-height: 1.25;
  }
}

@media (max-width: 900px) {
  .layout > .sidebar,
  .exc-main-right > .sidebar {
    display: none !important;
  }
}

@media (max-width: 560px) {
  .layout > .sidebar {
    display: block !important;
    background: #ffffff;
    border: 1px solid #e5e5eb;
    border-radius: 10px;
    padding: 14px 12px 12px;
    box-shadow: none;
  }

  .gallery {
    max-width: 100%;
  }

  .main-wrap {
    aspect-ratio: 16 / 9;
    border-radius: 10px;
    border: 1px solid #e5e5eb;
  }

  .thumbs-container {
    display: none !important;
  }

  .gallery .main-wrap .nav-btn {
    display: flex;
    width: 24px;
    height: 24px;
    background: #f5f5f7;
    border: 1px solid #d9d9de;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  }

  .gallery .main-wrap .nav-btn.left {
    left: -10px;
  }

  .gallery .main-wrap .nav-btn.right {
    right: -10px;
  }
}

@media (max-width: 560px) {
  .tour-reviews-sec {
    margin: 14px 0 28px;
  }

  .tour-reviews-head {
    display: block;
  }

  .tour-reviews-sec .container {
    padding-left: 16px;
    padding-right: 16px;
  }

  .tour-reviews-head {
    margin-bottom: 8px;
  }

  .tour-reviews-head h2 {
    font-size: 25px;
    line-height: 30px;
    font-weight: 700;
  }

  .tour-reviews-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .tour-reviews-item {
    padding: 0 0 14px;
    border-bottom: 1px solid #ececf1;
  }

  .tour-reviews-meta {
    gap: 6px;
    margin-bottom: 4px;
    flex-wrap: nowrap;
  }

  .tour-reviews-author {
    font-size: 13px;
    line-height: 18px;
  }

  .tour-reviews-date {
    font-size: 11px;
    line-height: 14px;
  }

  .tour-reviews-rating {
    font-size: 10px;
    letter-spacing: 0.5px;
  }

  .tour-reviews-text {
    font-size: 11px;
    line-height: 15px;
    color: #3a3a3a;
  }

  .tour-reviews-pagination {
    margin-top: 10px;
    min-height: 28px;
    gap: 6px;
  }

  .tour-page-btn {
    width: 26px;
    height: 26px;
    border-radius: 6px;
    font-size: 11px;
  }

  .tour-page-btn:last-child {
    font-size: 16px;
  }

  .tour-reviews-head .tour-reviews-all {
    display: block;
    text-align: center;
    margin-top: 8px;
    font-size: 12px;
    width: 100%;
  }

  .tour-reviews-right {
    border-radius: 10px;
    padding: 12px;
    box-shadow: none;
    border: 1px solid #ececf1;
  }

  .tour-reviews-right h3 {
    font-size: 20px;
    line-height: 24px;
    margin: 0 0 8px;
  }

  .tour-reviews-stars {
    margin-bottom: 10px;
  }

  .tour-star {
    font-size: 22px;
  }

  #tourReviewForm {
    gap: 8px;
  }

  #tourReviewForm input,
  #tourReviewForm textarea {
    padding: 9px 10px;
    font-size: 11px;
    line-height: 14px;
    border-radius: 6px;
  }

  #tourReviewForm textarea {
    min-height: 112px;
  }

  .tour-reviews-agree {
    font-size: 10px;
    line-height: 13px;
    gap: 6px;
  }

#tourReviewForm button {
  min-height: 36px;
  border-radius: 6px;
  font-size: 14px;
  line-height: 18px;
}
}

.tour-reviews-all-mobile {
  display: none;
}

@media (max-width: 560px) {
  #excTourReviews.tour-reviews-sec {
    margin: 12px 0 20px;
  }

  #excTourReviews .tour-reviews-head {
    display: block;
    margin-bottom: 8px;
  }

  #excTourReviews .tour-reviews-head h2 {
    margin: 0;
    font-size: 24px;
    line-height: 28px;
    font-weight: 700;
  }

  #excTourReviews .tour-reviews-head .tour-reviews-all {
    display: none;
  }

  #excTourReviews .tour-reviews-grid {
    display: block;
  }

  #excTourReviews .tour-reviews-left {
    padding-right: 0;
  }

  #excTourReviews .tour-reviews-item {
    padding: 0 0 12px;
    border-bottom: 1px solid #ececf1;
  }

  #excTourReviews .tour-reviews-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
  }

  #excTourReviews .tour-reviews-meta {
    gap: 6px;
    margin-bottom: 4px;
  }

  #excTourReviews .tour-reviews-author {
    font-size: 16px;
    line-height: 24px;
  }

  #excTourReviews .tour-reviews-date {
    font-size: 10px;
    line-height: 12px;
    margin-left: 2px;
    margin-right: 0;
    color: #9a9aa0;
  }

  #excTourReviews .tour-reviews-rating {
    margin-left: auto;
    font-size: 10px;
    letter-spacing: 0.5px;
  }

  #excTourReviews .tour-reviews-text {
    font-size: 10px;
    line-height: 13px;
    color: #36363a;
  }

  #excTourReviews .tour-reviews-pagination {
    margin-top: 8px;
    gap: 6px;
    min-height: 26px;
  }

  #excTourReviews .tour-page-btn {
    width: 24px;
    height: 24px;
    border-radius: 6px;
    font-size: 10px;
  }

  #excTourReviews .tour-page-btn:last-child {
    font-size: 16px;
  }

  #excTourReviews .tour-reviews-all-mobile {
    display: block;
    margin-top: 10px;
    border: 1px solid #e4e4ea;
    border-radius: 8px;
    min-height: 34px;
    text-align: center;
    line-height: 34px;
    text-decoration: none;
    color: #2f6df5;
    font-size: 12px;
    background: #fff;
  }

  #excTourReviews .tour-reviews-right {
    margin-top: 10px;
    border: 1px solid #ececf1;
    border-radius: 10px;
    padding: 10px;
    box-shadow: none;
    background: #fff;
  }

  #excTourReviews .tour-reviews-right h3 {
    margin: 0 0 8px;
    font-size: 20px;
    line-height: 22px;
    text-align: center;
  }

  #excTourReviews .tour-reviews-stars {
    margin-bottom: 10px;
    font-size: 20px;
    letter-spacing: 3px;
  }

  #excTourReviews #tourReviewForm {
    gap: 8px;
  }

  #excTourReviews #tourReviewForm input,
  #excTourReviews #tourReviewForm textarea {
    border-radius: 6px;
    padding: 8px 10px;
    font-size: 10px;
    line-height: 13px;
  }

  #excTourReviews #tourReviewForm textarea {
    min-height: 110px;
  }

  #excTourReviews .tour-reviews-agree {
    font-size: 9px;
    line-height: 12px;
    gap: 5px;
  }

  #excTourReviews #tourReviewForm button {
    min-height: 34px;
    border-radius: 6px;
    font-size: 14px;
    line-height: 16px;
  }
}

/* FINAL mobile exact tune for tour reviews */
@media (max-width: 560px) {
  #excTourReviews.tour-reviews-sec {
    margin: 10px 0 18px !important;
  }

  #excTourReviews .container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  #excTourReviews .tour-reviews-head {
    display: block !important;
    margin-bottom: 6px !important;
  }

  #excTourReviews .tour-reviews-head h2 {
    font-size: 23px !important;
    line-height: 27px !important;
    margin: 0 !important;
    font-weight: 700 !important;
  }

  #excTourReviews .tour-reviews-head .tour-reviews-all {
    display: none !important;
  }

  #excTourReviews .tour-reviews-grid {
    display: block !important;
  }

  #excTourReviews .tour-reviews-left {
    padding-right: 0 !important;
  }

  #excTourReviews .tour-reviews-item {
    padding: 0 0 11px !important;
    border-bottom: 1px solid #ededf2 !important;
  }

  #excTourReviews .tour-reviews-item:last-child {
    border-bottom: none !important;
    padding-bottom: 0 !important;
  }

  #excTourReviews .tour-reviews-meta {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px 16px !important;
    margin-bottom: 4px !important;
    align-items: center !important;
  }

  #excTourReviews .tour-reviews-author {
    font-size: 16px !important;
    line-height: 24px !important;
    font-weight: 700 !important;
    flex: 0 0 100% !important;
    order: 1 !important;
    margin-top: 24px !important;
  }

  #excTourReviews .tour-reviews-date {
    font-size: 14px !important;
    line-height: 12px !important;
    color: #9a9aa0 !important;
    margin-left: 0 !important;
    order: 3 !important;
  }

  #excTourReviews .tour-reviews-rating {
    margin-left: 0 !important;
    font-size: 14px !important;
    letter-spacing: 0 !important;
    color: #ffc700 !important;
    order: 2 !important;
  }

  #excTourReviews .tour-reviews-text {
    font-size: 14px !important;
    line-height: 20px !important;
    color: #34343a !important;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  #excTourReviews .tour-reviews-pagination {
    margin-top: 8px !important;
    min-height: 24px !important;
    gap: 5px !important;
  }

  #excTourReviews .tour-page-btn {
    width: 40px !important;
    height: 40px !important;
    border-radius: 6px !important;
    font-size: 14px !important;
    line-height: 1 !important;
  }

  #excTourReviews .tour-page-btn:last-child {
    font-size: 16px !important;
  }

  #excTourReviews .tour-reviews-all-mobile {
    display: block !important;
    margin-top: 10px !important;
    border: 1px solid #e4e4ea !important;
    border-radius: 8px !important;
    text-align: center !important;
    min-height: 48px !important;
    line-height: 48px !important;
    font-size: 14px !important;
    color: #2f6df5 !important;
    text-decoration: none !important;
    background: #fff !important;
  }

  #excTourReviews .tour-reviews-right {
    margin-top: 10px !important;
    border: 1px solid #ececf1 !important;
    border-radius: 10px !important;
    padding: 10px !important;
    box-shadow: none !important;
    background: #fff !important;
  }

  #excTourReviews .tour-reviews-right h3 {
    margin: 0 0 8px !important;
    text-align: center !important;
    font-size: 20px !important;
    line-height: 22px !important;
  }

  #excTourReviews .tour-reviews-stars {
    margin-bottom: 8px !important;
    gap: 3px !important;
  }

  #excTourReviews .tour-star {
    font-size: 20px !important;
  }

  #excTourReviews #tourReviewForm {
    gap: 8px !important;
  }

  #excTourReviews #tourReviewForm input,
  #excTourReviews #tourReviewForm textarea {
    border-radius: 6px !important;
    padding: 8px 10px !important;
    font-size: 16px !important;
    line-height: 24px !important;
    border: 1px solid #d9d9de !important;
  }

  #excTourReviews #tourReviewForm textarea {
    min-height: 110px !important;
    resize: none !important;
  }

  #excTourReviews .tour-reviews-agree {
    font-size: 14px !important;
    line-height: 20px !important;
    gap: 5px !important;
    color: #8f8f95 !important;
  }

  #excTourReviews #tourReviewForm button {
    min-height: 48px !important;
    border-radius: 6px !important;
    font-size: 16px !important;
    font-weight: 500 !important;
  }

  .departure-list li {
  position: relative;
  margin: 0 0 6px;
  font-size: 16px;
  color: black;
  line-height: 1.35;
  display: inline;
  align-items: center;
  gap: 8px;
	  padding-left: 32px
}
	.departure-list li svg {
		position: absolute;
        left: 0;
	}
}

.gallery {
  width: 100%;
  max-width: 740px;
	background: #fff;
	border-radius: 16px;
	padding: 10px 20px 21px;
}
.gallery h1 {
    color: black;
    margin: 0 0 23px;
	font-weight: 800;
	font-size: 24px;
	line-height: 34px;
}
/* Imagine mare */
.main-wrap {
  width: 100%;
  height: 480px;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid #e5e5eb;
  background: #fff;
}

.main-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Container thumbnails */
.thumbs-container {
  position: relative;
  margin-top: 12px;
}

/* Rând miniaturi */
.thumbs {
  display: flex;
  gap: 10px;
  overflow: hidden;
  align-items: stretch;
}

/* Card miniatură */
.th {
  width: 176px;
  height: 176px;
  padding: 5px;
  border-radius: 10px;
  overflow: hidden;
  cursor: pointer;
  flex-shrink: 0;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  border: 1px solid #d9dbe3;
  box-sizing: border-box;
  background: #fff;
}

.th img {
  width: 164px;
  height: 164px;
  object-fit: cover;
  display: block;
  border-radius: 6px;
}

/* Hover */
.th:hover {
  border-color: #d7d7de;
}

/* Activ (ramă verde) */
.th.on {
  border: 2px solid #17AA00;
}

/* Săgeata din dreapta */
.thumb-arrow {
  position: absolute;
  right: -8px;
  top: 50%;
  transform: translateY(-50%);
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: none;
  background: white;
  box-shadow: 0 4px 10px rgba(0,0,0,0.15);
  cursor: pointer;
  font-size: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.2s ease;
}

.thumb-arrow:hover {
  transform: translateY(-50%) scale(1.08);
}

@media (max-width: 1100px) {
  .gallery {
    max-width: 500px;;
  }
	.layout {
    grid-template-columns: 500px 1fr;
	}

  .main-wrap {
    height: auto;
    aspect-ratio: 740 / 480;
  }
	.gallery-thumbs-swiper .swiper-slide.swiper-slide-thumb-active img, .gallery-thumbs-swiper .swiper-slide img {
    height: 60px;
}
	.gallery-thumbs-swiper .swiper-slide {
		height: 74px;
	}

}

@media (max-width: 900px) {
  .thumbs-container {
    margin-top: 10px;
  }

  .thumbs {
    display: flex;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 2px;
  }

  .thumbs::-webkit-scrollbar {
    display: none;
  }

  .th {
    width: 146px;
    height: 102px;
    border-radius: 8px;
  }

  .thumb-arrow {
    display: none;
  }
}
/* ═══════════════════════════════════════
   GLOBAL 16px side padding on mobile
═══════════════════════════════════════ */
@media (max-width: 900px) {
  .container {
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box;
  }

  .breadcrumb {
    padding-left: 16px;
    padding-right: 16px;
  }

  .page {
    padding-left: 16px;
    padding-right: 16px;
  }

  #sec-similar,
  #sec-departure,
  .tour-reviews-sec {
    padding-left: 0;
    padding-right: 0;
	  background: #fff;
  }
}

.reviews .review-card.review-expanded {
  height: auto !important;
}

@media (max-width: 900px) {
  .layout {
    grid-template-columns: 100% !important;
    gap: 14px;
  }

  .gallery {
    order: 1;
    max-width: 100%;
  }

  .layout > .sidebar {
    display: block !important;
    order: 2;
    background: #ffffff;
    border: none;
    border-radius: 10px;
    padding: 14px 12px 12px;
    box-shadow: 0px 0px 16px 0px #0000001F;

  }

  .thumbs-container,
  .thumbs,
  #thumbsRow {
    display: none !important;
  }

  .gallery .main-wrap {
    position: relative;
    height: auto;
    aspect-ratio: 16 / 9;
    border-radius: 10px;
    border: none;
  }

  .gallery .main-wrap .nav-btn {
    display: flex !important;
    width: 24px;
    height: 24px;
    background: #f5f5f7;
    border: 1px solid #d9d9de;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  }

  .gallery .main-wrap .nav-btn.left {
    left: -10px;
  }

  .gallery .main-wrap .nav-btn.right {
    right: -10px;
  }
}

/* Final route mobile guard */
@media (max-width: 640px) {
  .container,
  .exc-main-grid,
  .exc-main-left,
  .exc-main-left .exc-page,
  #sec-route,
  #sec-route .route-grid {
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  .exc-main-grid {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
    overflow: hidden;
  }

  #sec-route .route-grid {
    grid-template-columns: 1fr !important;
    gap: 8px;
    overflow: hidden;
  }

  #sec-route .route-full,
  #sec-route .route-wide {
    width: 100%;
    max-width: 100%;
    min-width: 0;
	  flex: 0 0 100%
  }

  #sec-route .route-name {
    min-width: 0;
    overflow-wrap: anywhere;
  }
}

/* Final info section mobile guard */
@media (max-width: 640px) {
  #sec-info,
  #sec-info .info-feature-grid,
  #sec-info .info-feature-card,
  #sec-info .info-note-strip,
  #sec-info .strip-info {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  #sec-info .info-feature-grid {
    grid-template-columns: 1fr !important;
    gap: 12px;
    overflow: hidden;
  }

  #sec-info .info-feature-card {
    display: flex;
    flex-direction: row;
    align-items: center;
    min-height: 72px;
    padding: 10px 12px;
    gap: 12px;
  }

  #sec-info .info-feature-icon {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
  }

  #sec-info .info-feature-icon svg {
    width: 44px;
    height: 44px;
  }

  #sec-info .info-feature-text {
    flex: 1 1 auto;
    max-width: none;
    min-width: 0;
    margin: 0;
    padding-left: 0;
    overflow-wrap: anywhere;
  }

  #sec-info .info-note-strip {
    margin-top: 12px;
    overflow: hidden;
  }

  #sec-info .strip-info {
    margin: 16px;
    gap: 10px;
    align-items: flex-start;
  }

  #sec-info .strip-info svg {
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
  }

  #sec-info .strip-info span {
    width: auto;
    min-width: 0;
    margin-left: 0;
    font-size: 14px;
    line-height: 1.35;
    overflow-wrap: anywhere;
  }
}

@media (max-width: 430px) {
  #sec-info .info-feature-card {
    min-height: 64px;
    padding: 16px;
    gap: 10px;
  }

  #sec-info .info-feature-icon {
    flex-basis: 38px;
    width: 38px;
    height: 38px;
  }

  #sec-info .info-feature-icon svg {
    width: 38px;
    height: 38px;
  }

  #sec-info .info-feature-text {
    font-size: 14px;
    line-height: 1.3;
  }
}


/* Галерея Swiper */
.gallery-main-swiper {
    width: 100%;
    height: 100%;
    border-radius: 12px;
    overflow: hidden;
}

.gallery-main-swiper .swiper-wrapper {
    height: 100%;
}

.gallery-main-swiper .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
@media (min-width: 901px) {
    .gallery-main-swiper:not(.attraction-gallery-main-swiper) {
        width: 100%;
        height: auto !important;
        aspect-ratio: 4 / 3;
        overflow: hidden;
    }

    .gallery-main-swiper:not(.attraction-gallery-main-swiper) .swiper-wrapper,
    .gallery-main-swiper:not(.attraction-gallery-main-swiper) .swiper-slide {
        height: 100% !important;
    }

    .gallery-main-swiper:not(.attraction-gallery-main-swiper) .swiper-slide {
        overflow: hidden;
    }

    .gallery-main-swiper:not(.attraction-gallery-main-swiper) .swiper-slide img {
        position: static !important;
        inset: auto !important;
        width: 100% !important;
        height: 100% !important;
        max-width: none;
        object-fit: cover;
        object-position: center;
        display: block;
    }
}
/* Кастомные стрелки (поверх изображения) */
.gallery-swiper-prev,
.gallery-swiper-next {
    width: 36px;
    height: 36px;
    background: rgba(255, 255, 255, 0.85);
    border-radius: 50%;
    backdrop-filter: blur(4px);
    transition: all 0.2s;
}

.gallery-swiper-prev:hover,
.gallery-swiper-next:hover {
    background: white;
    transform: scale(1.08);
}

.gallery-swiper-prev::after,
.gallery-swiper-next::after {
    font-size: 18px;
    font-weight: bold;
    color: #111;
}

/* Пагинация (точки) – опционально */
.gallery-swiper-pagination {
    bottom: 12px !important;
}

.gallery-swiper-pagination .swiper-pagination-bullet {
    background: white;
    opacity: 0.7;
}

.gallery-swiper-pagination .swiper-pagination-bullet-active {
    background: #17aa00;
    opacity: 1;
}

/* Отступ для якорной прокрутки с учётом sticky-шапки */
#sec-route,
#sec-about,
#sec-info,
#sec-departure,
#sec-similar,
#excTourReviews {
    scroll-margin-top: 70px;
}
.ya-reviews {
	width: 100%;
	max-width: 197px!important;
	margin-bottom: 30px;
}

.gallery-main-swiper .swiper-slide {
    width: 100% !important;
}

/* Скрываем стрелки и пагинацию главного слайдера на десктопе */
.swiper-button-prev.gallery-main-prev,
.swiper-button-next.gallery-main-next,
.gallery-main-pagination {
    display: none;
}


.preview-text {
	padding: 17px;
	font-weight: 600;
	font-size: 15px;
	line-height: 24px;
}

.price-block-individual {
	border-radius: 0 0 12px 12px;
	background: #F5F5F7;
}
.price-block-individual-title {
	background: #FFE600;
	border-radius: 12px 12px 0 0;
	padding: 7px 15%;
	font-weight: 600;
	font-size: 15px;
	line-height: 17px;
	text-align: center;
}
.price-block-individual .p-row {
    grid-template-columns: 135px 1fr 100px;
}
@media (max-width: 900px) {
	.topics-section > .container {
		overflow: visible;
	}
	.filter-section {
		background: #F5F5F7;
		padding: 10px 16px;
	}
	.filter-section .container {
		padding: 0!important;
	}
    .gallery-thumbs-container {
        display: none !important;
    }
	.breadcrumbs_new {
		padding-right: 0 !important;
	}
	.gallery {
        margin-top: 0;
		padding-top: 0;
		padding-left: 0;
		padding-right: 0;
		padding-bottom: 0;
    }
	
	.gallery h1 {
		padding-left: 16px;
		padding-right: 16px;
		font-weight: 700;
		font-size: 20px;
		line-height: 25px;

	}
	
	.excursion-container .page,
	.excursion-container .page > .container {
		padding-left: 0!important;
		padding-right: 0!important;
	}
	.download-btn-desktop {
		display: none;
	}
	.exc-tabs-outer + .container, .exc-main-grid {
		overflow: visible!important
	}
    .swiper-button-prev.gallery-main-prev,
    .swiper-button-next.gallery-main-next {
        display: flex;
		align-items: center;
		justify-content: center;
        width: 33.6px;
        height: 32px;
        background: #fff;
        border-radius: 8px 0 0 8px;
		right: 0;
		border: none;
		z-index: 99;
    }
	.swiper-button-prev.gallery-main-prev {
		right: auto;
		left: 0;
		transform: scale(-1,1);
	}

    .swiper-button-prev.gallery-main-prev::after,
    .swiper-button-next.gallery-main-next::after {
		width: 16px;
		height: 16px;
		content: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.84001 11.9598L10.7998 8L6.84001 4.0402' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
		font-size: 0;
    }
    
    .gallery-main-pagination {
        bottom: -8px !important;
        margin: 0 auto;
        width: auto !important;
        background: #fff;
        border-radius: 4px;
		font-size: 0;
		display: flex;
		padding: 3px 4px;
		gap:3px;
        left: 50% !important;
        transform: translateX(-50%) !important;
        right: auto !important;
        justify-content: center;
    }
    
    .gallery-main-pagination .swiper-pagination-bullet {
        background: #17AA00;
		opacity: 1;
		margin: 0!important;
		width: 8px!important;
		height: 8px!important;
    }
    
    .gallery-main-pagination .swiper-pagination-bullet-active {
        background: #E8B931;
    }
	.gallery-main-swiper, .gallery .main-wrap {
		height: 250px;
		overflow: visible!important
	}
	
	.ya-reviews {
		margin-left: 16px;
		margin-right: 16px;
	}

}


/**************/




@media (max-width: 900px){
  .exc-tab.active{
    background-color: #17AA00;
    color: #fff;
    border-radius: 8px 8px 0 0;
  }
}


.d-table .d-dots{
  display: none;
}
.d-table .d-key, 
.d-table .d-val{
  font-size: 16px;
}
.d-table{
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
}
.d-table .d-key{
  display: flex;
  align-items: flex-end;
}
.d-table .d-key:after{
  content: '';
  display: block;
  height: 1px;
  border-bottom: 2px dotted #e7e7eb;
  flex: 1;
  margin-bottom: 4px;
  margin-left: 4px;
}

.price-block .p-dots{
  display: none;
}

.price-block .p-row{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
}

.price-block .pn{
  display: flex;
  align-items: flex-end;
}

.price-block .pn:after{
  content: '';
  display: block;
  height: 1px;
  border-bottom: 2px dotted #e7e7eb;
  flex: 1;
  margin-bottom: 4px;
  margin-left: 4px;
}
@media (max-width: 786px) {
.exc-tabs-wrap {
    padding-left: 16px;
}

.exc-tabs {
    scrollbar-width: none;
    padding-bottom: 0px;
    border-radius: 15px 0px 0px 15px;
    border-bottom: 1px solid #16a34ac7;
    border-top: 1px solid #16a34ac7;
}

.exc-tab.active {
     background-color: #17AA00;
     color: #fff;
    }
.exc-tab::first-child {
     border-radius: 15px 0px 0 15px;
    }
.exc-tab::last-child {
     border-radius: 0px 15px 15px 0;
    }
.exc-tab.active {
        border-radius: inherit;
    }
}
/* End */


/* Start:/local/templates/template/css/style.css?1785306056106866*/
body {
    margin: 0;
    font-family: 'Mulish', sans-serif;
}

.mobile-header {
    display: none;
}

.mob-phone-modal,
.mob-menu-overlay,
.mob-menu-drawer {
    display: none;
}

@media (min-width: 1001px) {
    .nav {
        display: block !important;
    }

    .nav-wrapper {
        display: block !important;
    }

    .mobile-header {
        display: none;
    }

    body {
        padding-top: 0;
    }
}

@media (max-width: 1000px) {
    .nav {
        display: none !important;
    }

    .nav-wrapper {
        display: none !important;
    }

    .mobile-header {
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 900;
        background: #fff;
        box-shadow: 0 2px 12px rgba(0, 0, 0, 0.10);
    }

    .mobile-header-inner {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 10px 16px;
        height: 56px;
    }

    body {
        padding-top: 56px;
    }

    .mob-phone-btn {
        width: 44px;
        height: 44px;
        border-radius: 50%;
        background: #21A038;
        border: none;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        animation: phoneWobble 2s ease-in-out infinite;
        box-shadow: 0 2px 10px rgba(33, 160, 56, 0.35);
        transition: transform 0.15s;
    }

    .mob-phone-btn:active {
        transform: scale(0.93);
    }

    @keyframes phoneWobble {
        0% {
            transform: rotate(0deg);
        }

        8% {
            transform: rotate(-14deg);
        }

        16% {
            transform: rotate(12deg);
        }

        24% {
            transform: rotate(-10deg);
        }

        32% {
            transform: rotate(8deg);
        }

        40% {
            transform: rotate(-5deg);
        }

        48% {
            transform: rotate(4deg);
        }

        55% {
            transform: rotate(0deg);
        }

        100% {
            transform: rotate(0deg);
        }
    }

    .mob-logo img {
        height: 38px;
        width: auto;
        display: block;
    }

    .mob-burger {
        width: 44px;
        height: 44px;
        background: none;
        border: none;
        cursor: pointer;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 5px;
        padding: 0;
        flex-shrink: 0;
    }

    .mob-burger span {
        display: block;
        width: 24px;
        height: 2.5px;
        background: #222;
        border-radius: 2px;
        transition: all 0.3s;
        transform-origin: center;
    }

    .mob-burger.active span:nth-child(1) {
        transform: translateY(7.5px) rotate(45deg);
    }

    .mob-burger.active span:nth-child(2) {
        opacity: 0;
        transform: scaleX(0);
    }

    .mob-burger.active span:nth-child(3) {
        transform: translateY(-7.5px) rotate(-45deg);
    }

    .mob-phone-modal {
        display: none;
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, 0.45);
        backdrop-filter: blur(6px);
        -webkit-backdrop-filter: blur(6px);
        z-index: 1100;
        align-items: flex-end;
        justify-content: center;
    }

    .mob-phone-modal.open {
        display: flex;
    }

    .mob-phone-modal-content {
        background: #fff;
        width: 80%;
        border-radius: 24px 24px 0 0;
        padding: 28px 24px 36px;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 10px;
        position: relative;
        animation: slideUp 0.3s ease;
    }

    @keyframes slideUp {
        from {
            transform: translateY(100%);
        }

        to {
            transform: translateY(0);
        }
    }

    .mob-phone-modal-close {
        position: absolute;
        top: 14px;
        right: 20px;
        background: none;
        border: none;
        font-size: 28px;
        cursor: pointer;
        color: #555;
        line-height: 1;
    }

    .mob-phone-icon {
        width: 64px;
        height: 64px;
        border-radius: 50%;
        background: #e8f8ec;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 4px;
    }

    .mob-phone-label {
        font-size: 13px;
        color: #888;
        margin: 0;
        text-align: center;
    }

    .mob-phone-number {
        font-size: 26px;
        font-weight: 700;
        color: #111;
        text-decoration: none;
        letter-spacing: 0.5px;
    }

    .mob-phone-call-btn {
        margin-top: 8px;
        width: 100%;
        padding: 14px 0;
        background: #21A038;
        color: white;
        border-radius: 50px;
        font-size: 16px;
        font-weight: 600;
        text-decoration: none;
        text-align: center;
        display: block;
        transition: background 0.2s;
    }

    .mob-phone-call-btn:hover {
        background: #18852d;
    }

    .mob-menu-overlay {
        display: none;
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, 0.45);
        backdrop-filter: blur(6px);
        -webkit-backdrop-filter: blur(6px);
        z-index: 950;
    }

    .mob-menu-overlay.open {
        display: block;
    }

    .mob-menu-drawer {
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        background: #fff;
        z-index: 1000;
        display: flex;
        flex-direction: column;
        padding: 0;
        overflow-x: hidden;
        overflow-y: auto;
        transform: translateX(110%);
        transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
        box-shadow: -4px 0 24px rgba(0, 0, 0, 0.13);
    }

    .mob-menu-drawer.open {
        transform: translateX(0);
    }

    .mob-menu-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 10px 16px;
        border-bottom: 1px solid #f0f0f0;
        min-height: 56px;
        flex-shrink: 0;
    }

    .mob-menu-logo img {
        height: 36px;
        width: auto;
        display: block;
    }

    .mob-menu-close {
        width: 36px;
        height: 36px;
        background: none;
        border: none;
        font-size: 24px;
        cursor: pointer;
        color: #777;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        transition: background 0.15s;
        padding: 0;
        line-height: 1;
    }

    .mob-menu-close:hover { background: #f0f0f0; color: #111; }

    .mob-menu-nav {
        display: flex;
        flex-direction: column;
        padding: 8px 0;
    }

    .mob-menu-nav a {
        text-decoration: none;
        color: black;
        font-size: 16px;
        padding: 14px 20px;
        border-bottom: 1px solid #f0f0f0;
        transition: background 0.2s ease, color 0.2s ease;
    }

    .mob-menu-nav a:hover {
        background: #f6fff4;
        color: #17AA00;
    }

    .mob-schedule-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        margin: 16px;
        padding: 13px 18px;
        background: gold;
        border-radius: 50px;
        text-decoration: none;
        color: #111;
        font-size: 15px;
        font-weight: 600;
        transition: opacity 0.2s;
    }

    .mob-schedule-btn:hover {
        opacity: 0.85;
    }

    .mob-menu-socials {
        display: flex;
        gap: 10px;
        padding: 8px 20px 16px;
    }

    .mob-menu-socials a {
        display: block;
        border-radius: 50%;
        transition: transform 0.2s;
    }

    .mob-menu-socials a:hover {
        transform: scale(1.1);
    }

    .mob-menu-info {
        padding: 8px 20px 16px;
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

    .mob-menu-info-item {
        display: flex;
        align-items: center;
        gap: 10px;
        font-size: 14px;
        color: #333;
    }

    .mob-menu-call-btn {
        margin: 0 16px 24px;
        padding: 14px 0;
        border: 2px solid #21A038;
        background: white;
        border-radius: 50px;
        font-size: 16px;
        font-family: 'Mulish', sans-serif;
        cursor: pointer;
        color: #21A038;
        font-weight: 600;
        transition: all 0.2s;
    }

    .mob-menu-call-btn:hover {
        background: #21A038;
        color: white;
    }
}

hr {
    height: 1px;
    background: #E5E5EB;
    border: none;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
}

@media (min-width: 1001px) and (max-width: 1260px) {
    .container {
        width: calc(100% - 32px);
        box-sizing: border-box;
    }
}

.nav-wrapper {
    width: 100%;
    background: white;
}


.nav {
	position: relative;
	z-index: 1;
    background: #fff;
    padding: 10px 0px 0px;
	box-shadow: 0px 0px 12px 0px #0000001F;
}

.nav-top {
    display: flex;
    align-items: center;
    gap: 40px;
    font-size: 14px;
    font-family: Mulish, sans-serif;
    margin-bottom: 16px;
}

.logo {
    font-weight: bold;
    font-size: 18px;
}

.logo a {
    display: inline-flex;
    align-items: center;
}

.nav-items.address {
    display: flex;
    align-items: center;
    gap: 6px;
}

.nav-item svg {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
}

.nav-item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.nav-top > .logo,
.nav-top > .nav-item {
    transform-origin: center left;
    transition: transform 0.18s ease, color 0.18s ease;
}

.nav-top > .logo:hover,
.nav-top > .logo:focus-within,
.nav-top > .nav-item:hover,
.nav-top > .nav-item:focus-within {
    transform: scale(1.06);
}

.address {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    color: black;
    font-size: 14px;
    font-weight: 400;
	white-space: nowrap;
}
.worktime {
	white-space: nowrap;
}

.phone {
    display: flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    color: black;
}

.phone-text-block {
    display: flex;
    flex-direction: column;
    line-height: 1.1;
}

.phone-number {
    font-size: 20px;
    font-weight: 700;
}

.phone-subtext {
    font-size: 12px;
    color: black;
}

.phone svg {
    flex-shrink: 0;
}

.call-btn {
    display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
    margin-left: auto;
    border: 1px solid #17AA00;
    background: white;
    border-radius: 20px;
    cursor: pointer;
    transition: 0.3s;
    width: 172px;
    height: 34px;
    font-size: 14px;
	font-weight: 700;
    font-family: Mulish, sans-serif;
    padding: 0;
}

.call-btn:hover {
    background: #17AA00;
    color: white;
}

.nav-menu {
    display: flex;
    align-items: center;
    gap: 31px;
    margin-top: 12px;
    padding-bottom: 12px;
}

.nav-menu:last-child{
    justify-content: flex;
}

.nav-menu a {
    text-decoration: none;
    color: black;
    transition: 0.3s;
	font-size: 15px;
	font-weight: 600;
	white-space: nowrap;
}

.nav-menu a:hover {
    color: #17AA00;
    transform: scale(1.1);
}

.nav-links {
    max-width: 1200px;
    margin: 0 auto;
}

.nav-menu a.schedule-btn {
    margin-left: auto;
    padding: 5px 20px;
    background: #FFE600;
    border-radius: 20px;
    transition: 0.3s;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
}

.nav-menu a.schedule-btn:hover {
    background: white;
    transform: scale(1.1);
    border: 2px solid #17AA00;
}

.socials {
    display: flex;
    gap: 15px;
    margin-left: auto;
}

.social {
    border-radius: 50%;
    font-size: 12px;
    transition: 0.3s;
}

.social:hover {
    transform: scale(1.2);
}

.modal {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    justify-content: center;
    align-items: center;
    z-index: 1000;
}

.modal-content {
    background: white;
    padding: 25px;
    border-radius: 10px;
    width: 300px;
    position: relative;
}

#closeModal {
    position: absolute;
    top: 10px;
    right: 15px;
    cursor: pointer;
    font-size: 28px;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.modal input {
    width: stretch;
    margin: 10px 0;
    padding: 12px;
    border: 1px solid #ddd;
    border-radius: 8px;
    font-family: 'Mulish';
    font-size: 16px;
    line-height: 1.25;
    color: #1A1A1A;

}

.modal button {
    width: 100%;
    padding: 10px;
    background: green;
    color: white;
    border: none;
    cursor: pointer;
}

#modal {
    z-index: 2000;
    transform: none;
    transition: none;
}

#modal .modal-content {
    width: min(640px, calc(100vw - 32px));
    max-width: 640px;
    margin: 8vh auto;
    padding: 24px;
    border-radius: 12px;
}

#modal .modal-content h2 {
    margin: 0 0 14px;
    font-size: 32px;
    line-height: 1.2;
}

.call-modal-form input {
    width: 100%;
    box-sizing: border-box;
    padding: 12px;
    border: 1px solid #ddd;
    border-radius: 8px;
    margin-bottom: 12px;
    font-family: 'Mulish', sans-serif;
    font-size: 16px;
    line-height: 1.25;
    color: #1A1A1A;
}

.call-modal-form input::placeholder {
    font-family: 'Mulish', sans-serif;
    font-size: 16px;
    line-height: 1.25;
    color: #9EA3AD;
    opacity: 1;
}

.call-modal-form input.input--invalid {
    border-color: #FF3B30;
    color: #FF3B30;
}

.call-modal-form .policy {
    margin-bottom: 12px;
}

.call-modal-form .policy p {
    max-width: none;
    width: 100%;
}

.call-modal-form .submit-btn {
    width: 100%;
}

@media (max-width: 768px) {
    #modal .modal-content {
        width: calc(100vw - 24px);
        margin: 12vh auto;
        padding: 20px 16px;
    }

    #modal .modal-content h2 {
        font-size: 24px;
        margin-bottom: 12px;
    }
}
.hero {
    position: relative;
    border-radius: 24px;
    max-width: 1200px;
    /*overflow: hidden;*/
    margin: 40px auto;
}

@media (min-width: 769px) and (max-width: 1260px) {
    .hero {
        width: calc(100% - 32px);
        box-sizing: border-box;
    }
}

.hero-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.hero-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 1;
	border-radius: 16px;
}


.hero-image.loaded {
    opacity: 1;
}

.hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background-color: rgba(3, 13, 11, 0.4);
	border-radius: 16px;
}

.hero-content {
    position: relative;
    z-index: 2;
    color: white;
}

.hero h1 {
    font-size: 42px;
    font-weight: 600;
    margin-bottom: 16px;
    margin-left: 40px;
    padding-top: 50px;
	margin-top: 0;
}

.hero p {
    font-size: 20px;
    margin-bottom: 40px;
    margin-left: 40px;
}

.hero .hero-reviews {
	position: absolute;
	top: -12px;
	right: 0;
	width: 373px;
	height: 126px;
	padding: 27px 96px 7px 73px;
	font-size: 16px;
	color: #fff;
	text-align: center;
	background: url("/local/templates/template/css/../img/hero-reviews-bg.png") no-repeat;
	z-index: 4;
	background-size: cover;
	cursor: pointer;
}
.hero .hero-reviews svg {
	margin-left: -18px;
    margin-top: 12px;
}
.categories {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    list-style: none;
    max-width: 1120px;
    margin-top: 130px;
    margin-bottom: 40px;
}

.category,
.more {
    padding: 12px 22px;
    border-radius: 32px;
    font-size: 14px;
    cursor: pointer;
    transition: all .3s ease;
    user-select: none;
}

.category {
    background: #fff;
    color: #17AA00;
}

.category:hover {
    background: #17AA00;
    color: #fff;
    transform: scale(1.08);
}

.more {
    background: #17AA00;
    color: #fff;
}

.more:hover {
    background: #fff;
    color: #17AA00;
    transform: scale(1.08);
}

.hero-reviews-mobile {
	display: none;
}


.modal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
}

.modal-content {
    background: #fff;
    margin: 8% auto;
    padding: 20px;
    width: 70%;
    border-radius: 8px;
    animation: fadeIn 0.4s ease;
}

#closeCategories {
    float: right;
    font-size: 28px;
    cursor: pointer;
    color: #333;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


.excursions-section {
    margin: 80px auto;
}

.excursions-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 25px;
    perspective: 1000px;
}

.excursion-card {
    background: #fff;
    border-radius: 16px;
    transition: all 0.3s ease;
    cursor: pointer;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
    position: relative;
    z-index: 1;
    transform-origin: center;
}

.excursion-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.2);
    z-index: 100;
}

.card-image {
    position: relative;
    overflow: hidden;
    border-top-left-radius: 16px;
    border-top-right-radius: 16px;
}

.card-image img {
    width: 100%;
    height: 200px;
    object-fit: cover;
}

.badge {
    position: absolute;
    top: 12px;
    right: 12px;
    background: #FFFFFFB2;
    padding: 4.2px 16px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 600;
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(7px);
    -webkit-backdrop-filter: blur(7px);
    color: #000;
}

.discount, .info-tag {
    position: absolute;
    bottom: 12px;
    right: 12px;
    background: red;
    color: white;
    padding: 6px 10px;
    border-radius: 20px;
    font-size: 10px;
    font-weight: 800;
	text-transform: uppercase;
}
.discount {
	display: none;
}
.info-tag {
}
.card-content {
    padding: 15px;
    overflow: hidden;
}

.card-content h3 {
    font-size: 16px;
    margin: 8px 0;
    transition: color 0.3s ease;
    font-weight: 700;
    line-height: 22px;
    padding-right: 8px;
    height: 40px;
    margin-bottom: 12px;
	display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    height: auto;
    max-height: 44px;
}

.excursion-card:hover h3 {
    color: #2e7d32;
}

.rating {
    font-size: 13px;
    color: #777;
    align-items: center;
    display: inline-flex;
    gap: 6px;
}

.card-anons {
	font-size: 13px;
	line-height: 16px;
	display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    max-height: 48px;
	height: 48px;
}

.card-info {
    display: flex;
	flex-wrap: wrap;
    gap: 9px;
    font-size: 10px;
    font-weight: 700;
    margin-bottom: 16px;
	margin-top: 16px;
    color: #000000;
}

.card-info span {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-top: 0;
	white-space: nowrap;
}

.price {
    display: flex;
    gap: 12px;
    align-items: center;
    margin-bottom: 0;
}

.old-price {
    text-decoration: line-through;
    color: #76767A;
    font-weight: 400;
}

.card-info span .new-price {
    font-weight: bold;
	white-space: nowrap;
	margin-top: 0;
}

.book-btn {
    width: 100%;
    padding: 12px 20px;
    background: #17AA00;
    color: white;
    border: 2px solid transparent;
    border-radius: 8px;
    cursor: pointer;
    transition: 0.3s;
    font-size: 16px;
    font-weight: 500;
    line-height: 20px;
    margin-bottom: 10px;
    box-sizing: border-box;
}

.book-btn:hover {
    background: white;
    color: #17AA00;
    border: 2px solid #17AA00;
}

.show-more {
    text-align: center;
    padding: 12px;
    background: #EFFFED;
    border-radius: 12px;
    margin-top: 24px;
    font-size: 16px;
    transition: all 0.3s ease;
    cursor: pointer;
    line-height: 24px;
    color: #17AA00;
}

.show-more:hover {
    background: #16a34a;
    color: white;
    transform: scale(1.05);
}

@media (max-width: 1024px) {
    .excursions-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .excursions-grid {
        grid-template-columns: 1fr;
    }
}

.section-title {
    font-size: 32px;
    margin-bottom: 53px;
    padding-top: 80px;
}

.date-wrapper {
    display: flex;
    gap: 24px;
}

.calendar-card,
.schedule-card {
    background: white;
    border-radius: 16px;
    /*box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);*/
    margin-bottom: 88px;
	border: 1px solid #E5E5EB;
}

.calendar-card {
    width: 400px;
    height: 486px;
    position: relative;
    display: flex;
    flex-direction: column;
	overflow: hidden;
}

.calendar-header {
    display: grid;
    grid-template-columns: 42px 1fr 42px;
    align-items: center;
    gap: 10px;
    margin: 0;
    padding: 24px 32px 16px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-radius: 16px 16px 0 0;
}

.month-year {
    cursor: pointer;
    font-weight: 600;
    text-align: center;
}

.arrow {
    border: none;
    background: none;
    cursor: pointer;
    font-size: 18px;
}

.calendar-header .arrow,
.schedule-header .arrow {
    width: 40px;
    height: 40px;
    border: none;
    border-radius: 50%;
    background: transparent;
    color: #2b2b2b;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: none;
    font-size: 0;
    padding: 0;
    cursor: pointer;
    transition: transform 0.2s ease;
}

.calendar-header .arrow:hover,
.schedule-header .arrow:hover {
    transform: scale(1.1);
}

.calendar-header .arrow svg,
.schedule-header .arrow svg {
    width: 40px;
    height: 40px;
}

.calendar-days,
.calendar-dates {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    text-align: center;
    font-size: 16px;
    padding: 0 32px;
}

.calendar-days {
    color: black;
    padding: 0px 32px;
    font-size: 15px;
    font-weight: 600;
    margin-top: 8px;
    height: 42px;
    align-items: center;
}

.calendar-dates span {
    border-radius: 8px;
    cursor: pointer;
    transition: .2s;
    color: #2B2B2B;
    opacity: 1;
    width: 48px;
    height: 48px;
    display: inline-flex;
    flex-direction: column;
    justify-content: space-evenly;
    align-items: stretch;
    -webkit-tap-highlight-color: transparent;
    -webkit-user-select: none;
    user-select: none;
}

.calendar-dates {
    flex: 1;
    align-content: start;
}

.calendar-dates span:empty {
    cursor: default;
}

.calendar-dates span:hover {
    background: #f2f2f2;
}

.calendar-dates .active {
    background: #16A34A !important;
    color: white !important;
}

.calendar-dates .active:active {
    background: #16A34A !important;
    color: white !important;
}

.calendar-dates .muted {
    color: #98989C;
    cursor: not-allowed !important;
}

.month-picker {
    position: absolute;
    top: 60px;
    left: 24px;
    right: 24px;
    background: white;
    padding: 20px;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    z-index: 10;
}

.month-picker.hidden {
    display: none;
}

.month-picker div {
    padding: 8px;
    text-align: center;
    border-radius: 6px;
    cursor: pointer;
}

.month-picker div:hover {
    background: #16A34A;
    color: white;
}

.full-schedule {
    margin: 32px auto 32px;
    margin-top: auto;
    width: 80%;
    padding: 12px;
    background: #FFE600;
    color: #1F1F1F;
    border: none;
    border-radius: 10px;
    cursor: pointer;
    transition: all .3s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 16px;
    line-height: 25px;
    font-weight: 500;
    font-family: Mulish, sans-serif;
}

.full-schedule:hover {
    transform: scale(1.05);
    background: #16A34A;
    color: white;
}

.schedule-card {
    flex: 1;
    max-height: 486px;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
}

.schedule-list {
    flex: 1;
    overflow-y: auto;
    scrollbar-gutter: stable;
    scrollbar-width: thin;
    scrollbar-color: #9E9EA4 transparent;
    padding-right: 0;
	margin-bottom: 16px;
}

.schedule-card::-webkit-scrollbar,
.schedule-list::-webkit-scrollbar {
    width: 3px;
}

.schedule-card::-webkit-scrollbar-track,
.schedule-list::-webkit-scrollbar-track {
    background: transparent;
    border-radius: 999px;
}

.schedule-card::-webkit-scrollbar-thumb,
.schedule-list::-webkit-scrollbar-thumb {
    background: #9E9EA4;
    border-radius: 999px;
    min-height: 4px;
}

.schedule-card::-webkit-scrollbar-button,
.schedule-list::-webkit-scrollbar-button {
    display: none;
    width: 0;
    height: 0;
}

.schedule-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0;
    font-weight: 600;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
    padding: 24px 32px 16px 32px;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-radius: 16px 16px 0 0;
}

#selectedDateText {
    flex: 1;
    text-align: center;
}

.schedule-item {
    display: flex;
	align-items: stretch;
    gap: 20px;
    padding: 12px 32px;
    border-bottom: 1px solid #eee;
    cursor: pointer;
    transition: .2s;
    /*height: 89px;*/
}

.schedule-item:hover {
    background: #fafafa;
}

.time {
    background: #F20101;
    color: white;
    padding: 8px;
    border-radius: 10px;
    font-weight: 700;
    font-size: 16px;
    line-height: 20px;
}

.schedule-item .price {
    margin-left: auto;
    color: #17AA00;
    font-weight: 700;
    padding-left: 20px;
    border-left: 1px solid #E5E5EB;
    line-height: 24px;
    font-size: 16px;
	min-width: 135px;
}


.schedule-title {
    line-height: 22px;
    font-size: 16px;
    font-weight: 400;
}

.schedule-title:hover{
    text-decoration: underline;
}

.quote-section {
	position: relative;
	margin-top: 77px;
	padding: 45px 21% 33px;
	background: #EFFFED;
	font-weight: 300;
	font-style: italic;
	font-size: 23px;
	line-height: 36px;
	text-align: center;
	border-radius: 20px;
}
.quote-section:before, .quote-section:after {
	display: block;
	position: absolute;
	content: '“';
	font-weight: 600;
	font-style: italic;
	font-size: 250px;
	line-height: 0;
	text-align: center;
	color: #A3E99870;
}
.quote-section:before {
	left: 10%;
    top: 62px;
} 
.quote-section:after {
	right: 15%;
    bottom: -52px;
}

.reviews {
    background: #fff;
    max-width: 1232px;
    margin: 0 auto;
    padding: 80px 16px;
    box-sizing: border-box;
}

.reviews > .container {
    width: 100%;
    max-width: none;

    margin: 0;
    padding: 0;
}


.reviews-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 32px;
}

.reviews-header h2 {
    font-size: 32px;
    font-weight: 700;
    color: #000;
    margin: 0;
}
.features-video h2 {
	font-weight: 700;
	font-size: 22px;
	line-height: 28px;
	text-align: center;
    color: #000;
    margin-bottom: 15px;
}

.all-link {
    font-size: 16px;
    color: #0066cc;
    text-decoration: none;
    line-height: 24px;
}

.all-link:hover {
    text-decoration: underline;
}

.reviews-content {
    display: grid;
    grid-template-columns: 282px 1fr;
    gap: 30px;
    justify-content: center;
}

.rating-card {
    background: white;
    border: none;
    border-radius: 16px;
    width: 282px;
    padding: 20px 16px;
    text-align: center;
    box-shadow: 0px 0px 16px 0px #0000001F;
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 10px;
}

.rating-card .stars {
    font-size: 25px;
    letter-spacing: 2px;
    color: #ffc700;
    display: flex;
    justify-content: center;
    gap: 2px;
}

.rating-value {
    font-size: 18px;
    color: black;
    font-weight: 600;
    margin-top: 12px;
}

.yandex-row {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 6px;
    margin-top: 48px;
}

.yandex-circle {
    background: #ff5252;
    color: white;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 700;
}

.yandex-heart {
    color: #ff5252;
    font-size: 18px;
}

.yandex-label {
    font-size: 11px;
    color: #999;
    font-weight: 500;
}

.yandex-sub {
    font-size: 16px;
    color: black;
}

.yandex-sub strong {
    color: #000;
    font-weight: 600;
}

.leave-btn {
    padding: 11px 14px;
    border: 1px solid #FF4433;
    background: white;
    border-radius: 5px;
    font-size: 16px;
    font-weight: 500;
    color: #000;
    cursor: pointer;
    transition: all 0.25s ease;
    box-shadow: none;
    margin-top: 45%;
}

.leave-btn:hover {
    transform: scale(1.06);
    background: #ff5252;
    color: white;
    border-color: #ff5252;
    box-shadow: none;
}

.leave-btn:active {
    transform: scale(0.94);
}

.slider-wrapper {
    display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: center;
}

.slider-section {
    width: 100%;
    min-width: 0;
    margin-left: 24px;
}

.slider-container {
    overflow: hidden;
    border-radius: 6px;
    width: 100%;
}

.slider {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    margin-top: 10px;
    margin-left: 4px;
    margin-bottom: 10px;
}

.review-card {
    background: white;
    border: none;
    border-radius: 16px;
    padding: 16px;
    display: flex;
    flex-direction: column;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
    min-height: 286px;
    flex: 0 0 250px;
    width: 282px;
    min-width: 0;
}

.review-card:hover {
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.1);
}

.card-header {
    display: flex;
    gap: 10px;
    margin-bottom: 10px;
    align-items: center;
}

.avatar {
    width: 36px;
    height: 36px;
    min-width: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-weight: 700;
    font-size: 14px;
}

.avatar img{
    width: 40px;
    height: 40px;
    position: absolute;
    border-radius: 50%;
}

.author-block {
    flex: 1;
}

.author {
    font-weight: 600;
    font-size: 14px;
    color: #000;
    margin-bottom: 2px;
}


.review-card .stars.small {
    font-size: 20px;
    letter-spacing: 1px;
    color: #FFC700;
    display: flex;
    gap: 2px;
    width: fit-content;
}

.review-card p {
    font-size: 14px;
    line-height: 20px;
    color: black;
    margin-bottom: 8px;
    flex: 1;
}

.review-card p.truncated {
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

.source {
    font-size: 14px;
    color: #76767A;
    text-decoration: none;
    display: inline-block;
    cursor: pointer;
    line-height: 20px;
}

.source:hover {
    text-decoration: underline;
}

.progress-track {
    flex: 1;
    height: 6px;
    background: #f0f0f0;
    border-radius: 3px;
    position: relative;
    cursor: pointer;
}

.progress-bar {
    position: absolute;
    height: 6px;
    background: #17AA00;
    border-radius: 3px;
    top: 0;
    left: 0;
    cursor: grab;
    transition: all 0.2s ease;
   
    width: 30%;
}


.progress-bar:active {
    cursor: grabbing;
}

.arrows {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 16px;
    margin-top: 16px;
}

.reviews .arrows button {
    width: 40px;
    height: 40px;
    background: transparent;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    font-size: 0;
    padding: 0;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.reviews .arrows button:hover {
    transform: scale(1.1);
}

.reviews .arrows button svg {
    width: 44px;
    height: 44px;
}

.reviews .arrows button svg path {
    stroke-width: 2;
}

.reviews .arrows button:hover {
    border-color: #999;
    background: #f9f9f9;
    transform: scale(1.08);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}

.reviews .arrows button:active {
    transform: scale(0.92);
}

.reviews .arrows button:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

@media (max-width: 1100px) {
    .review-card {
        flex: 0 0 calc((100% - 16px) / 2);
    }
}

@media (min-width: 1001px) and (max-width: 1260px) {
    .reviews {
        padding: 56px 16px;
    }

    .reviews-content {
        grid-template-columns: 240px minmax(0, 1fr);
        gap: 20px;
    }

    .rating-card {
        width: 240px;
        box-sizing: border-box;
    }

    .leave-btn {
        width: 100%;
        margin-top: 36px;
        box-sizing: border-box;
        font-size: 14px;
    }

    .slider-section {
        margin-left: 0;
    }

    .review-card {
        flex: 0 0 calc((100% - 16px) / 2);
        width: auto;
        box-sizing: border-box;
    }
}

@media (min-width: 769px) and (max-width: 1000px) {
    .reviews {
        padding: 48px 16px;
    }

    .reviews-content {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .rating-card {
        width: 100%;
        max-width: none;
        margin-top: 0;
        box-sizing: border-box;
    }

    .yandex-row {
        margin-top: 16px;
    }

    .leave-btn {
        width: 100%;
        max-width: 260px;
        margin: 24px auto 0;
        box-sizing: border-box;
    }

    .slider-section {
        margin-left: 0;
    }

    .review-card {
        flex: 0 0 calc((100% - 16px) / 2);
        width: auto;
        box-sizing: border-box;
    }

    .arrows {
        flex-direction: row;
        justify-content: flex-end;
    }
}

@media (max-width: 768px) {
    .reviews-content {
        grid-template-columns: 1fr;
    }

    .review-card {
        flex: 0 0 100%;
    }

    .arrows {
        flex-direction: column;
        gap: 8px;
    }
}

.about-gallery {
    padding: 16px 0;
}

.rem {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    gap: 24px;
}

.about-info {
    flex: 1;
    background: #17AA00;
    border-radius: 22px;
    padding: 40px 30px;
    color: white;
}

.features1 {
    display: inline-grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px 40px;
    margin-bottom: 22px;
	width: 52%;
	vertical-align: top;
}

.feature-card {
    background: white;
    border-radius: 14px;
    padding: 29px 20px;
    color: black;
    font-size: 16px;
    display: flex;
    align-items: center;
    gap: 10px;
    align-items: center;
    line-height: 24px;
    cursor: pointer;
    transition: background 0.25s ease, color 0.25s ease, box-shadow 0.25s ease;
}

.feature-card:hover {
    background: #17AA00;
    color: white;
    box-shadow: 0 8px 24px rgba(23, 170, 0, 0.25);
}

.feature-card:hover svg path,
.feature-card:hover svg rect,
.feature-card:hover svg circle {
    stroke: white;
}

.feature-card svg path,
.feature-card svg rect,
.feature-card svg circle {
    transition: stroke 0.25s ease;
}

.icon {
    font-size: 18px;
}

.features-video {
	position: relative;
	width: 43%;
    display: inline-flex;
    margin-left: 40px;
	vertical-align: top;
	align-items: stretch
}
.features-video a {
	display: block
}
.features-video img {
	width: 100%;
	height: auto;
	object-fit: cover;
	border-radius: 20px;
}
.features-video a:before {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='72' viewBox='0 0 72 72'%3E%3Cpath fill='%23F20101' fill-rule='evenodd' d='M13.762 0.0986328C12.2409 0.0986328 10.7453 0.48634 9.4163 1.22465C8.06301 1.91451 6.92073 2.95726 6.11062 4.24315C5.28885 5.54752 4.84032 7.05221 4.81375 8.59363L4.81337 8.63791V63.4609L4.81375 63.5051C4.84032 65.0464 5.28885 66.5512 6.11062 67.8554C6.92073 69.1417 8.06301 70.1841 9.4163 70.8743C10.7453 71.6123 12.2409 72.0001 13.762 72.0001C15.3046 72.0001 16.821 71.6015 18.164 70.8424C18.1936 70.826 18.2228 70.8085 18.2517 70.7905L62.6334 43.3407C63.9792 42.6624 65.1153 41.6291 65.9186 40.3512C66.7471 39.0316 67.1874 37.5049 67.1874 35.9465C67.1874 34.3881 66.7471 32.8614 65.9186 31.5418C65.1148 30.2626 63.9767 29.2284 62.6292 28.5501L18.2444 1.3036C18.2179 1.28735 18.1911 1.27158 18.164 1.2563C16.821 0.497421 15.3046 0.0986328 13.762 0.0986328Z'/%3E%3C/svg%3E");
	width: 72px;
	height: 72px;
	margin: -36px 0 0 -36px;
	transition: all .3s;
}
.features-video a:hover:before {
	opacity: .9

}
.about-text {
    font-size: 16px;
    line-height: 24px;
    opacity: 0.95;
    color: white;
    font-family: 'Mulish', sans-serif;
}

.gallery1 {
    flex: 1;
    touch-action: pan-y;
    user-select: none;
    -webkit-user-select: none;
    margin:0 auto;
}

.gallery-image {
    width: 100%;
    border-radius: 22px;
    display: block;
    height: 500px;
    transition: opacity 0.22s ease-in-out;
    object-fit: cover;
}

.gallery-image.fade {
    opacity: 0;
}

.gallery-controls {
    margin-top: 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
}

.arrow {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: white;
    cursor: pointer;
    font-size: 22px;
    transition: all .25s ease;
}

.arrow:hover {
    transform: scale(1.08);
}

.arrow-group {
    display: flex;
    gap: 16px;
}

.counter {
    font-size: 22px;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 6px;
}

.divider {
    color: #D9D9DE;
    font-size: 40px;
    width: 16px;
    height: 40px;
}

@media (max-width: 992px) {
    .rem {
        flex-direction: column;
    }
}

#currentIndex {
    font-size: 28px;
    line-height: 120%;
}

#totalPhotos {
    color: #76767A;
    font-size: 16px;
    line-height: 24px;
}

.about {
    width: auto;
    padding: 60px 0px;
}

.about-card {
    max-width: 1200px;
    margin: 0 auto;
    background: #fff;
    border-radius: 20px;
    padding: 40px;
    box-shadow: 0px 0px 16px 0px #0000001F;
}

.about-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
    margin-bottom: 20px;
}

.about-header h2 {
    font-size: 32px;
    margin: 0;
    line-height: 38px;
}
#sec-about .about-header h2 {
	font-weight: 700;
	font-size: 32px;
	line-height: 38px;
}

.about-image {
    flex-shrink: 0;
}

.about-image img {
    width: 100%;
    height: auto;
    display: block;
}

.about-content {
    overflow: hidden;
    transition: max-height 0.5s ease;
}

.about-content.collapsed {
    max-height: 820px;
    position: relative;
}

.about-content.collapsed::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 60px;
    background: linear-gradient(to bottom, transparent, #fff);
}

.about-content p,
.about-content li {
    font-size: 16px;
    line-height: 1.6;
    color: black;
}

.about-content p {
    margin: 0 0 16px;
}

.about-content li::marker {
    color: #17AA00;
}

.about-content h3 {
    font-size: 24px;
    margin: 28px 0 14px;
}

.about-content ul {
    margin: 0 0 20px;
}

.about-toggle {
    margin: 12px auto 0;
    background: none;
    border: none;
    font-family: 'Formular', 'Mulish', sans-serif;
    font-size: 16px;
    line-height: 20px;
    font-weight: 400;
    letter-spacing: 0;
    color: #2979ff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 100%;
    text-decoration: none;
}


.about-toggle .arrow {
    width: auto;
    height: auto;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    font-size: 16px;
    line-height: 1;
    color: #2979ff;
    display: inline-block;
    transition: transform 0.3s ease;
}

.about-toggle .arrow:hover {
    transform: none;
    box-shadow: none;
}

.about-toggle:hover {
    opacity: 0.9;
    transition: transform 0.3s ease;
}

@media (max-width: 900px) {
    .about-header {
        flex-direction: column;
    }

    .about-image {
        width: 100%;
        max-width: 320px;
    }
}

.about-intro {
    display: flex;
    align-items: center;
    gap: 32px;
    justify-content: space-between;
}

.about-intro-text {
    flex: 1;
    max-width: none;
    margin-top: 0;
    line-height: 24px;
}



.attractions-gallery-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 40px;
}

.attractions-gallery-header h2 {
    font-size: 32px;
    line-height: 1.1;
    font-weight: 700;
	color: #000;
}

.show-all {
    color: #196DFF;
    cursor: pointer;
    transition: transform 0.3s ease;
    font-size: 16px;
}

.show-all:hover {
    transform: scale(1.15);
}

.gallery-swiper {
    width: 100%;
    overflow: hidden;
    position: relative;
    padding: 0 18px;
}

.gallery-swiper .swiper-wrapper {
    align-items: stretch;
    left: 10px;
}

.gallery-swiper .swiper-slide {
    width: 186px;
    flex-shrink: 0;
}

/* Десктоп: карточки не сжимаются, overflow скрыт — визуально как раньше */
@media (min-width: 901px) {
    .gallery-swiper.swiper {
        cursor: default;
        overflow: visible !important;
    }

    .gallery-swiper.swiper .swiper-wrapper,
    .gallery-swiper.swiper .swiper-slide {
        overflow: visible !important;
    }
}

/* Мобайл: touch-swipe, карточки чуть шире */
@media (max-width: 900px) {
    .gallery-swiper {
        overflow: visible;
        cursor: grab;
        padding: 0;
    }
    .gallery-swiper:active {
        cursor: grabbing;
    }
    .gallery-swiper .swiper-slide {
        width: 202px;
    }
    .attractions-gallery-arrow {
        display: none;
    }
}

.card {
    position: relative;
    flex: 0 0 186.6666717529297px;
    width: 186.6666717529297px;
    height: 200px;
    border-radius: 16px;
    overflow: hidden;
    cursor: pointer;
    transition: transform 0.3s ease;
    --card-overlay: linear-gradient(180deg, rgba(6, 15, 44, 0) 38%, rgba(6, 15, 44, 0.78) 100%);
}

.attractions-gallery .attractions-gallery-slider {
    position: relative;
}


.attractions-gallery .attractions-cards-wrapper {
    width: 100%;
    overflow: hidden;
}

.attractions-gallery .attractions-cards {
    display: flex;
    gap: 13px;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: transform;
    touch-action: pan-y;
}

.card img {
    width: 100%;
    object-fit: cover;
    display: block;
}

.card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--card-overlay);
}

.card.card--1 {
    --card-overlay: linear-gradient(180deg, rgba(8, 14, 46, 0) 34%, rgba(8, 14, 46, 0.84) 100%);
}

.card.card--2 {
    --card-overlay: linear-gradient(180deg, rgba(81, 127, 179, 0) 30%, rgba(63, 117, 181, 0.58) 100%);
}

.card.card--3 {
    --card-overlay: linear-gradient(180deg, rgba(114, 83, 62, 0) 34%, rgba(97, 65, 45, 0.70) 100%);
}

.card.card--4 {
    --card-overlay: linear-gradient(180deg, rgba(59, 96, 143, 0) 34%, rgba(52, 97, 156, 0.66) 100%);
}

.card.card--5 {
    --card-overlay: linear-gradient(180deg, rgba(17, 61, 118, 0) 34%, rgba(10, 53, 112, 0.76) 100%);
}

.card.card--6 {
    --card-overlay: linear-gradient(180deg, rgba(4, 10, 33, 0) 34%, rgba(4, 10, 33, 0.82) 100%);
}

.card-title {
    position: absolute;
    bottom: 20px;
    left: 20px;
    color: white;
    font-weight: 600;
    z-index: 2;
    font-size: 14px;
    line-height: 1.3;
    width: calc(100% - 40px);
}

.card:hover {
    transform: scale(1.04);
    z-index: 3;
}

.arrow {
    font-size: 18px;
    cursor: pointer;
    z-index: 5;
}

.attractions-gallery-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    border: none;
    border-radius: 50%;
    padding: 0;
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 5;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
background: #fff;
	box-shadow: 0px 1px 16px 0px #0000001A;

}

.attractions-gallery-arrow:hover {
    transform: translateY(-50%) scale(1.06);
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.18);
}

@media (min-width: 901px) {
    .attractions-gallery-arrow {
        display: flex;
    }
}

.attractions-gallery-arrow.left {
    left: 5px;
}

.attractions-gallery-arrow.right {
    right: 8px;
}


.attractions-gallery .attractions-gallery-arrow:disabled {
    opacity: 0.45;
    cursor: default;
    pointer-events: none;
    transform: translateY(-50%);
}

.attractions-gallery-arrow.swiper-button-disabled {
    pointer-events: none;
}

.faq-section {
    padding: 80px 0 0;
    font-family: inherit;
}

.faq-container {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 486px;
    gap: 48px;
    align-items: start;
}

.faq-left {
    flex: 1;
}

.faq-left h2 {
    font-size: 32px;
    font-weight: 700;
    margin-bottom: 40px;
}

.faq-item {
    border-top: 1px solid #ddd;
    padding: 20px 0;
}

.faq-item:last-child {
    border-bottom: 1px solid #ddd;
}

.faq-question {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    cursor: pointer;
    font-weight: 500;
    font-size: 16px;
}

.faq-question span{
    flex: 1;
    min-width: 0;
    max-width: none;
	font-weight: 700;
	font-size: 18px;
	line-height: 26px;
}

.faq-toggle {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #17AA00;
    color: white;
    position: relative;
    display: flex;
	align-items: center;
	justify-content: center;
    font-size: 0;
    flex-shrink: 0;
    transition: 0.3s;
}


.faq-answer {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height 0.35s ease, opacity 0.3s ease, margin-top 0.3s ease;
    margin-right: 40px;
	font-size: 16px;
	line-height: 24px;

}

.faq-item.active .faq-answer {
    max-height: 600px;
    opacity: 1;
    margin-top: 12px;
}

.faq-item.active .faq-toggle {
    transform: rotate(45deg);
}

.faq-right {
    width: 486px;
    background: white;
    border-radius: 14px;
    padding: 30px;
    box-shadow: 0px 0px 16px 0px #0000001F;
    margin-top: 0;
}

.faq-right h3 {
    margin-bottom: 16px;
	font-weight: 700;
	font-size: 24px;
	line-height: 30px;
	text-align: center;
}

.faq-subtitle {
    font-size: 16px;
    color: black;
    margin-bottom: 24px;
    text-align: center;
	line-height: 24px;

}

.faq-right input,
.faq-right textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 12px;
    border: 1px solid #ddd;
    border-radius: 8px;
    margin-bottom: 12px;
    font-family: 'Mulish', sans-serif;
    font-size: 16px;
    line-height: 1.25;
    color: #1A1A1A;
}

.faq-right input.input--invalid,
.faq-right textarea.input--invalid {
    border-color: #FF3B30;
    color: #FF3B30;
}

.faq-right textarea {
    resize: none;
    height: 90px;
}

.faq-right input::placeholder,
.faq-right textarea::placeholder {
    font-family: 'Mulish', sans-serif;
    font-size: 16px;
    line-height: 1.25;
    color: #9EA3AD;
    opacity: 1;
}

.social-title {
    margin-bottom: 12px;
	font-weight: 400;
	font-size: 16px;
	line-height: 24px;
	text-align: center;
}

.questions__form .sidebar-request-grid {
	margin-bottom: 16px;
}

.questions__form .sidebar-request-text {
    font-size: 14px;
    line-height: 20px;
    font-weight: 400;
    color: #000;
}

.social-buttons {
    display: flex;
    gap: 16px;
    margin-bottom: 24px;
    margin-top: 14px;
}

.social-btn {
    flex: 1;
    padding: 10px;
    border-radius: 8px;
    border: none;
    background: #f1f1f1;
    cursor: pointer;
    transition: 0.3s;
    display: inline-flex;
    margin: 0 auto;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-size: 16px;
    line-height: 1.2;
    font-weight: 500;
    font-family: 'Mulish', sans-serif;
}

.social-btn.active {
    background: #16a34a;
    color: white;
}

.social-btn[data-social="Telegram"].active {
    background: #f1f1f1;
    color: #111;
}

.policy {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 12px;
    line-height: 16px;
    color: #76767A;
    margin-bottom: 15px;
    width: 100%;
}

.policy p {
    margin: 0;
    max-width: 300px;
    font-family: 'Mulish', sans-serif;
    font-size: 14px;
    line-height: 1.35;
}

.policy a {
    color: #196DFF;
    text-decoration: none;
}

.policy .policy-check {
    accent-color: #17AA00;
    width: 18px;
    height: 18px;
    margin-top: 2px;
    flex-shrink: 0;
}

.policy.policy--invalid .policy-check {
    outline: 1px solid #FF3B30;
    outline-offset: 1px;
}

.form-error {
    display: none;
    font-family: 'Mulish', sans-serif;
    font-size: 12px;
    line-height: 1.3;
    color: #FF3B30;
    margin: -4px 0 10px;
}

.form-error.visible {
    display: block;
}

.submit-btn {
    width: 100%;
    padding: 12px 20px;
    border: none;
    border-radius: 8px;
    background: #FFE600;
    color: black;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
	transition: all .3s;
}

.submit-btn:hover {
    transform: scale(1.05);
    background: #16A34A;
    color: white;
}

.topics-section {
    padding: 60px 0;

}

.topics-box {
    border-radius: 16px;
    padding: 32px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.topics-box h2 {
    font-size: 32px;
    font-weight: 700;
    margin-bottom: 40px;
	color: #000;
}

.topics-group {
    margin-bottom: 35px;
}

.topics-group h3 {
    font-size: 18px;
    margin-bottom: 16px;
    font-weight: 700;
}

.topics-list {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.topic-item {
    padding: 10px 18px;
    border-radius: 30px;
    border: 1.5px solid #17AA00;
    color: #17AA00;
    font-size: 15px;
    cursor: pointer;
    transition: all 0.25s ease;
    white-space: nowrap;
}

.topic-item:hover:not(.more-btn) {
    background: #17AA00;
    color: white;
    transform: scale(1.06);
}

.topic-item:active:not(.more-btn) {
    background: #17AA00;
    color: white;
    transform: scale(1.0);
}

.more-btn {
    background: #17AA00;
    color: white;
    border: 2px solid #17AA00;
}

.more-btn:hover {
    background: white;
    color: #17AA00;
    transform: scale(1.06);
}

.more-btn:active {
    background: #0e8f00;
    color: white;
    transform: scale(1.0);
}

@media (hover: none) {
    .topic-item:hover:not(.more-btn) {
        background: transparent;
        color: #17AA00;
        transform: none;
    }
    .more-btn:hover {
        background: #17AA00;
        color: white;
        transform: none;
    }
}

.topics-modal {
    position: fixed;
    inset: 0;
    background: rgba(17, 24, 39, 0.42);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
    z-index: 99;
}

.topics-modal-content {
    background: white;
    width: min(1200px, 100%);
    border-radius: 14px;
    box-shadow: 0 22px 70px rgba(15, 23, 42, 0.22);
    display: flex;
    flex-direction: column;
    max-height: min(82vh, 720px);
}

.topics-modal .modal-body {
    overflow-y: auto;
    flex: 1;
    padding: 0 28px 28px;
}

/* Убираем overflow-y у самого контейнера */
.topics-modal-content {
    overflow-y: hidden;
}

.topics-modal .modal-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 18px;
    margin-bottom: 22px;
	padding: 28px 28px;
}

.topics-modal .modal-header h3 {
    margin: 0;
    font-size: 24px;
    line-height: 1.2;
    font-weight: 800;
    color: #111827;
}

#closeTopics {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 36px;
    height: 36px;
    border: 0;
    border-radius: 50%;
    background: #fff;
    font-size: 28px;
    cursor: pointer;
    color: #000;
    line-height: 1;
    padding: 0 0 3px;
	box-shadow: 0px 0px 12px 0px #0000001F;
    transition: background 0.2s, color 0.2s, transform 0.2s;
	margin-left: auto;
}

#closeTopics:hover {
    background: #e5e7eb;
    color: #111827;
    transform: rotate(90deg);
}
#closeAttractionModal, #closeVideoModal {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 36px;
    height: 36px;
    border: 0;
    border-radius: 50%;
    background: #f3f4f6;
    font-size: 28px;
    cursor: pointer;
    color: #4b5563;
    line-height: 1;
    padding: 0 0 3px;
    transition: background 0.2s, color 0.2s, transform 0.2s;
}

#closeAttractionModal:hover, #closeVideoModal:hover {
    background: #e5e7eb;
    color: #111827;
    transform: rotate(90deg);
}
.topics-modal .modal-body {
    flex-direction: row;
    gap: 20px;
    flex-wrap: wrap;
}

.topics-modal .filter-section {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.topics-modal .filter-section-title {
    font-size: 16px;
    font-weight: 700;
    color: #111827;
}

.topics-modal .filter-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.topics-modal .topic-item {
    background: #fff;
    border-width: 1px;
    border-color: #17AA00;
    border-radius: 999px;
    color: #138f00;
    font-size: 15px;
    line-height: 1.25;
    padding: 10px 17px;
    white-space: normal;
    max-width: 100%;
}

.topics-modal .topic-item:hover:not(.more-btn) {
    background: #17AA00;
    color: #fff;
    transform: translateY(-1px);
}

.rating-stars {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

@media (max-width: 768px) {
	.rating-stars {
		display: flex;
		flex-direction:row;
		gap: 12px;
	}
    .container {
        padding: 0 0px;
    }

    .hero {
        border-radius: 12px;
        margin: 40px 16px 0;
    }

    .hero h1 {
        font-size: 22px;
        margin-left: 16px;
        padding-top: 24px;
        margin-bottom: 8px;
		margin-top: 0;
    }

    .hero p {
        font-size: 14px;
        margin-left: 16px;
        margin-bottom: 16px;
    }

    .categories {
        padding: 0 16px 20px;
        margin-top: 16px;
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        box-sizing: border-box;
        max-width: 100vw;
    }

    .categories::-webkit-scrollbar {
        display: none;
    }

    .category,
    .more {
        white-space: nowrap;
        flex-shrink: 0;
        padding: 8px 14px;
        font-size: 13px;
    }

    .more {
        order: -1;
    }

    .excursions-section.section-excursions-section {
        margin: 24px auto;
        padding: 0 16px;
		padding-bottom: 20px;
		margin-bottom: 17px;
    }

    .section-title {
        font-size: 22px;
        padding-top: 32px;
        margin-bottom: 20px;
    }

    .excursions-grid {
        grid-template-columns: 1fr 1fr;
        gap: 12px;
    }

    .card-content h3 {
        font-size: 14px;
        height: auto;
        /*min-height: 56px;*/
    }


    .book-btn {
        font-size: 14px;
        padding: 10px 12px;
    }

    .date-wrapper {
        flex-direction: column;
        gap: 16px;
        padding: 0 16px;
    }

    .calendar-card {
        width: 100%;
    }

    .schedule-card {
        max-height: 360px;
    }

    .calendar-days,
    .calendar-dates {
        padding: 0 20px;
        font-size: 14px;
        gap: 4px;
    }

    .full-schedule {
        width: 90%;
        margin-bottom: 20px;
    }

    .schedule-item {
        padding: 12px 16px;
        gap: 12px;
    }

    .time {
        font-size: 13px;
        padding: 10px 8px;
    }

    .schedule-title {
        font-size: 14px;
    }

    .reviews {
        padding: 40px 0;
    }

    .reviews-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
        padding: 0 16px;
    }

    .reviews-header h2 {
        font-size: 22px;
    }

    .reviews-content {
        grid-template-columns: 1fr;
        padding: 0 16px;
        gap: 16px;
    }

    .rating-card {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding: 16px;
    }

    .leave-btn {
        margin-top: 0;
        width: 100%;
    }

    .yandex-row {
        margin-top: 0;
    }

    .slider-wrapper {
        flex-direction: column;
        align-items: stretch;
    }

    .review-card {
        flex: 0 0 calc(100% - 0px);
        min-height: 200px;
    }

    .arrows {
        flex-direction: row !important;
        justify-content: center;
        gap: 16px !important;
    }

    .about-gallery {
        padding: 32px 0;
    }

    .rem {
        flex-direction: column;
        padding: 0 16px;
        gap: 16px;
    }

    .gallery-image {
        height: 240px;
    }

    .features1 {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .feature-card {
        padding: 14px;
        font-size: 14px;
    }

    .about {
        padding: 32px 12px;
    }

    .about-card {
        padding: 20px 16px;
        border-radius: 14px;
    }

    .about-header {
        flex-direction: column;
    }

    .about-header h2 {
        font-size: 22px;
        line-height: 28px;
    }
	#sec-about .about-header h2 {
        font-size: 22px;
        line-height: 28px;
		margin-bottom: 0
	}
	#sec-info .info-feature-card {
		flex-wrap: nowrap;
	}

    .about-image {
        width: 100%;
        max-width: 100%;
    }


    .about-intro {
        flex-direction: column;
    }

    .about-intro-text {
        margin-top: 16px;
        max-width: 100%;
    }

    .about-content.collapsed {
        max-height: 520px;
    }

    .attractions-gallery-header {
        padding: 0 16px;
    }

    .attractions-gallery-header h2 {
        font-size: 22px;
    }

    .faq-section {
        padding: 40px 0 0;
    }

    .faq-container {
        display: flex;
        flex-direction: column;
        padding: 0 16px;
        gap: 24px;
    }

    .faq-left h2 {
        font-size: 22px;
        margin-bottom: 20px;
    }

    .faq-right {
        width: auto;
        margin-top: 0;
        padding: 20px 16px;
    }

    .faq-right h3 {
        font-size: 20px;
    }

    .topics-section {
        padding: 32px 0;
    }

    .topics-box {
        padding: 20px 16px;
        border-radius: 12px;
        margin: 0 16px;
    }

    .topics-box h2 {
        font-size: 22px;
        margin-bottom: 20px;
    }

    .topic-item {
        padding: 10px 14px;
        font-size: 14px;
    }

    .topics-modal-content {
        width: 100%;
        padding: 22px 18px;
        border-radius: 14px;
    }

    .topics-modal {
        align-items: flex-end;
        padding: 12px;
    }

    .topics-modal .modal-header {
		position: absolute;
        right: 12px;
        top: 12px;
        margin-bottom: 0;
		padding: 0;
    }

    .topics-modal .modal-header h3 {
		display: none;
        font-size: 22px;
    }
	
	.topics-modal .modal-body {
		overflow-y: auto;
		flex: 1;
		padding: 0;
	}
	.topics-modal .filter-section {
		padding: 0;
		background: none;
	}
	.topics-modal .filter-section+.filter-section {
		margin-top: 16px;
	}

    .topics-modal .filter-tags {
        gap: 8px;
    }

    .topics-modal .topic-item {
        padding: 9px 12px;
        font-size: 14px;
    }

    .modal-content {
        width: 80%;
        margin: 20% auto;
        padding: 20px 16px;
    }

    .scroll-top {
        bottom: 20px;
        right: 16px;
        width: 40px;
        height: 40px;
        font-size: 18px;
    }
	
	.quote-section {
		background: none;
		margin-top: 50px;
		padding: 45px 20px 32px;
		font-weight: 300;
		font-size: 16px;
		line-height: 23px;
		margin-bottom: 34px;
	}
	.quote-section:before, .quote-section:after {
		content: url("data:image/svg+xml,%3Csvg width='42' height='42' viewBox='0 0 42 42' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M34.7394 10.5C28.817 10.5 24.016 15.301 24.016 21.2234C24.016 23.847 25.4977 28.881 28.0372 30.2534M15.9734 10.5C10.051 10.5 5.25 15.301 5.25 21.2234C5.25 23.847 6.73176 28.881 9.27128 30.2534M36.75 25.9149C36.75 28.8761 34.3495 31.2766 31.3883 31.2766C28.4271 31.2766 26.0266 28.8761 26.0266 25.9149C26.0266 22.9537 28.4271 20.5532 31.3883 20.5532C34.3495 20.5532 36.75 22.9537 36.75 25.9149ZM17.984 25.9149C17.984 28.8761 15.5835 31.2766 12.6223 31.2766C9.66115 31.2766 7.26064 28.8761 7.26064 25.9149C7.26064 22.9537 9.66115 20.5532 12.6223 20.5532C15.5835 20.5532 17.984 22.9537 17.984 25.9149Z' stroke='%2317AA00' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
		font-size: 0;
	}
	.quote-section:before {
		left: 0;
		top: 0;
	} 
	.quote-section:after {
		right: 0;
		bottom: 0;
	}
	
}

@media (min-width: 769px) and (max-width: 1024px) {
    .container {
        padding: 0 24px;
    }

    .excursions-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }

    .date-wrapper {
        flex-direction: column;
    }

    .calendar-card {
        width: 100%;
    }

    .faq-container {
        flex-direction: column;
        padding: 0 24px;
        gap: 32px;
    }

    .faq-right {
        width: auto;
        margin-top: 0;
    }

    .rem {
        padding: 0 24px;
    }
}

.categories-wrap {
    position: relative;
    width: 100%;
    z-index: 2;
}

.categories {

    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    list-style: none;
    padding: 0 40px 40px;
    margin: 80px 0 0;
}

.category {
    cursor: pointer;
    background: #fff;
    color: #17AA00;
    padding: 10px 16px;
    border-radius: 32px;
    font-size: 14px;
    transition: all .3s ease;
    user-select: none;
    white-space: nowrap;
    text-decoration: none;
}

.category:hover {
    background: #17AA00;
    color: #fff;
    transform: scale(1.06);
}

.more {
    background: #17AA00;
    color: #fff;
    padding: 12px 22px;
    border-radius: 32px;
    font-size: 14px;
    cursor: pointer;
    transition: all .3s ease;
    user-select: none;
    white-space: nowrap;
    list-style: none;
}

.more:hover {
    background: #fff;
    color: #17AA00;
    transform: scale(1.06);
}

@media (max-width: 768px) {
    .categories {
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        padding: 0 16px 20px;
        margin: 20px 0 0;
        gap: 8px;
    }

    .categories::-webkit-scrollbar {
        display: none;
    }

    .category,
    .more {
        flex-shrink: 0;
        padding: 10px 16px;
        font-size: 13px;
    }

    .categories-wrap::after {
        right: 0;
        top: 0;
        bottom: 20px;
        width: 48px;
        background: linear-gradient(to right, transparent, rgba(0, 0, 0, 0.25));
        pointer-events: none;
        border-radius: 0 12px 0 0;
    }
}

.all-cats-modal {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    z-index: 1200;
    align-items: center;
    justify-content: center;
}

.all-cats-modal.open {
    display: flex;
}

.all-cats-modal-content {
    background: #fff;
    border-radius: 20px;
    width: 680px;
    max-width: 95vw;
    max-height: 85vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    animation: fadeInScale 0.25s ease;
}

@keyframes fadeInScale {
    from {
        opacity: 0;
        transform: scale(0.95);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

.all-cats-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 28px 16px;
    border-bottom: 1px solid #eee;
}

.all-cats-modal-header h3 {
    margin: 0;
    font-size: 20px;
    font-weight: 700;
}

.all-cats-close {
    background: none;
    border: none;
    font-size: 28px;
    cursor: pointer;
    color: #555;
    line-height: 1;
    padding: 0 4px;
    transition: color 0.2s;
}

.all-cats-close:hover {
    color: #111;
}

.all-cats-body {
    padding: 20px 28px 28px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.all-cats-list-item {
    list-style: none;
    padding: 10px 18px;
    border-radius: 30px;
    border: 1.5px solid #17AA00;
    color: #17AA00;
    font-size: 15px;
    cursor: pointer;
    transition: all 0.2s ease;
    white-space: nowrap;
    font-family: 'Mulish', sans-serif;
}

.all-cats-list-item:hover {
    background: #17AA00;
    color: #fff;
    transform: scale(1.04);
}

@media (max-width: 480px) {
    .all-cats-modal-content {
        width: 95vw;
        border-radius: 16px;
        max-height: 88vh;
    }

    .all-cats-body {
        padding: 16px 16px 20px;
    }

    .all-cats-list-item {
        font-size: 14px;
        padding: 9px 14px;
    }
}

.excursion-card {
    cursor: pointer;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0.04);
}

@media (max-width: 768px) {
    .excursion-card:hover {
        transform: none;
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
    }

    .excursion-card:active {
        transform: scale(0.98);
        box-shadow: 0 3px 10px rgba(0, 0, 0, 0.12);
        transition: transform 0.1s ease;
    }

    .book-btn:active {
        transform: scale(0.96);
    }

    .show-more:active {
        transform: scale(0.97);
        background: #16a34a;
        color: white;
    }
}

@media (max-width: 768px) {
    .date-section .section-title {
        font-size: 22px;
        padding-top: 32px;
        margin-bottom: 20px;
        padding-left: 16px;
    }

    .date-wrapper {
        flex-direction: column;
        gap: 12px;
        padding: 0 16px 16px;
    }

    .calendar-card {
        width: 100%;
        border-radius: 16px;
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.07);
    }

    .calendar-header {
        padding: 16px 0 12px;
        margin-top: 0;
    }

    .month-year {
        font-size: 16px;
        font-weight: 600;
    }

    .calendar-days {
        font-size: 13px;
        padding: 0 10px;
        gap: 2px;
    }

    .calendar-dates {
        font-size: 14px;
        padding: 0 10px;
        gap: 2px;
    }

    .calendar-dates span {
        font-size: 14px;
        -webkit-tap-highlight-color: transparent;
    }

    .calendar-dates .active {
        background: #16A34A !important;
        color: white !important;
        border-radius: 8px;
    }

    .calendar-dates .active:active {
        background: #16A34A !important;
        color: white !important;
    }

    .full-schedule {
        width: calc(100% - 32px);
        margin: 16px auto 16px;
        padding: 13px 16px;
        font-size: 15px;
        border-radius: 12px;
        gap: 8px;
    }

    .schedule-card {
        width: 100%;
        max-height: none;
        border-radius: 16px;
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.07);
        overflow: visible;
    }

    .schedule-header {
        padding: 16px 16px 12px;
        font-size: 15px;
        font-weight: 600;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
    }

    .schedule-list {
        overflow-y: visible;
        padding: 0;
    }

    .schedule-item {
        padding: 14px 16px;
        gap: 12px;
        align-items: flex-start;
        border-bottom: 1px solid #f0f0f0;
        cursor: pointer;
        -webkit-tap-highlight-color: rgba(0, 0, 0, 0.04);
    }

    .schedule-item:active {
        background: #f7f7f7;
    }

    .time {
        font-size: 14px;
        padding: 10px 8px;
        border-radius: 8px;
        min-width: 52px;
        text-align: center;
        flex-shrink: 0;
    }

    .schedule-item-info {
        flex: 1;
        min-width: 0;
    }

    .schedule-title {
        font-size: 15px;
        line-height: 20px;
        font-weight: 500;
        text-decoration: underline;
    }

    .schedule-meta {
        font-size: 13px;
        color: #888;
        margin-top: 3px;
    }

    .schedule-item .price {
        font-size: 14px;
        color: #17AA00;
        font-weight: 700;
        padding-left: 0;
        border-left: none;
        line-height: 20px;
        white-space: nowrap;
        flex-shrink: 0;
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        gap: 4px;
    }

    .schedule-arrow {
        color: #17AA00;
        font-size: 16px;
    }
}

.schedule-meta {
    color: #888;
    font-size: 14px;
    margin-top: 2px;
}

.schedule-item-info {
    flex: 1;
    min-width: 0;
}

.schedule-arrow {
    color: #17AA00;
    font-size: 16px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
}

@media (max-width: 768px) {

    .reviews {
        padding: 32px 0 24px;
    }

    .reviews-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 0;
        padding: 0 16px;
        margin-bottom: 20px;
    }

    .reviews-header h2 {
        font-size: 22px;
        font-weight: 700;
    }

    .reviews-header .all-link {
        display: none;
    }

    .reviews-content {
        grid-template-columns: 1fr;
        gap: 0;
        padding: 0;
    }

    .rating-card {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        border: none;
        border-radius: 16px;
        width: 100%;
        padding: 24px 20px 20px;
        margin: 0 16px 16px;
        box-shadow: 0 4px 16px 0 rgba(0, 0, 0, 0.12);
        gap: 6px;
    }

    .rating-value {
        font-size: 22px;
        font-weight: 700;
        margin-top: 0;
    }

    .rating-card .stars {
        font-size: 28px;
        color: #FFB800;
        letter-spacing: 3px;
    }

    .yandex-row {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        margin-top: 8px;
        border-radius: 10px;
        padding: 8px 16px;
        width: 100%;
        box-sizing: border-box;
    }

    .yandex-label {
        display: flex;
        align-items: center;
    }

    .yandex-sub {
        font-size: 14px;
    }

    .leave-btn {
        margin-top: 18px;
        width: 100%;
        padding: 13px;
        font-size: 15px;
        border-radius: 10px;
        border: 1.5px solid #FF4433;
        background: white;
        font-weight: 500;
    }

    .slider-section {
        padding: 0 16px;
        overflow: hidden;
    }

    .slider-container {
        overflow: hidden;
        border-radius: 0;
    }
	.reviews-content .slider-container, .reviews-content .slider-section {
		overflow: visible;
	}

    .review-card {
        flex: 0 0 100%;
        width: 100%;
        border: none;
        border-radius: 16px;
        padding: 16px;
        box-shadow: 0 4px 16px 0 rgba(0, 0, 0, 0.12);
        cursor: pointer;
        height: 300px;
    }

    .card-header {
        gap: 12px;
        margin-bottom: 12px;
        align-items: flex-start;
    }

    .avatar img{
        width: 44px;
        height: 44px;
        min-width: 44px;
        font-size: 15px;
        border-radius: 50%;
        margin-top: 20px;
    }

    .author {
        font-size: 15px;
        font-weight: 600;
    }

    .date {
        font-size: 13px;
    }

    .review-card .stars.small {
        font-size: 18px;
        color: #FFB800;
    }

    .review-card p {
        font-size: 14px;
        line-height: 21px;
        -webkit-line-clamp: 5;
        color: #222;
        margin-bottom: 6px;
    }

    .source {
        font-size: 13px;
        color: #888;
        margin-top: 4px;
    }

    .arrows {
        display: flex;
        flex-direction: row !important;
        align-items: center;
        justify-content: flex-end;
        gap: 10px !important;
        margin-top: 14px;
        padding: 0 0 8px;
    }

    .progress-track {
        flex: 1;
        height: 4px;
    }

    .reviews .arrows button {
        width: 44px;
        height: 44px;
        border-radius: 50%;
        font-size: 18px;
        border: 1px solid #ddd;
        background: white;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
    }

    .reviews .arrows button svg {
        width: 44px;
        height: 44px;
    }

    .reviews-all-link-mobile {
        display: block;
        text-align: center;
        margin: 16px 16px 0;
        padding: 13px;
        border: 1px solid #E5E5EB;
        border-radius: 10px;
        color: #0066cc;
        text-decoration: none;
        transition: all 0.2s;
		font-weight: 400;
		font-size: 14px;
		line-height: 20px;

    }

    .reviews-all-link-mobile:hover,
    .reviews-all-link-mobile:active {
        background: #0066cc;
        color: white;
    }
}

@media (min-width: 769px) {
    .reviews-all-link-mobile {
        display: none;
    }
}

@media (max-width: 768px) {
    .review-card p.truncated {
        display: -webkit-box;
        -webkit-line-clamp: 5;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .read-more-btn {
        background: none;
        border: none;
        color: #0066cc;
        font-size: 13px;
        padding: 0;
        cursor: pointer;
        margin: 0;
        display: inline;
        white-space: nowrap;
    }
}

@media (max-width: 768px) {

    .about-gallery {
        padding: 24px 0 0;
    }

    .rem {
        flex-direction: column;
        padding: 0 16px;
        gap: 0;
    }

    .about-info {
        border-radius: 20px;
        padding: 20px 16px;
        background: #17AA00;
    }

    .features1 {
        grid-template-columns: 1fr;
        gap: 10px;
        margin-bottom: 16px;
    }

    .feature-card {
        flex-direction: row;
        align-items: center;
        gap: 14px;
        padding: 14px 16px;
        border-radius: 12px;
        font-size: 15px;
        font-weight: 500;
        line-height: 22px;
        background: white;
        color: #111;
    }

    .feature-card .icon {
        flex-shrink: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 48px;
        height: 48px;
    }

    .about-text {
        font-size: 15px;
        line-height: 23px;
        color: white;
        opacity: 1;
        margin: 0;
    }

    .gallery {
        margin-top: 16px;
    }

    .gallery-image {
        width: 100%;
        height: 220px;
        border-radius: 16px;
        object-fit: cover;
        display: block;
    }

    .gallery-controls {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-top: 12px;
        padding-bottom: 16px;
        gap: 0;
    }

    .counter {
        font-size: 18px;
        font-weight: 600;
        gap: 4px;
        display: flex;
        align-items: baseline;
    }

    #currentIndex {
        font-size: 24px;
        font-weight: 700;
        line-height: 1;
    }

    .divider {
        font-size: 20px;
        color: #ccc;
        width: auto;
        height: auto;
        line-height: 1;
    }

    #totalPhotos {
        font-size: 15px;
        color: #999;
    }

    .arrow-group {
        display: flex;
        gap: 10px;
    }

    .arrow-group .arrow {
   
    }

    .arrow-group .arrow:hover {
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
    }

    .arrow-group .arrow:active {
        transform: scale(0.93);
    }
}

.footer {
    background: #1a1a1a;
    color: white;
}

.footer-top {
    background: #21A038;
    padding: 20px 0;
}

.footer-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
}

.footer-top-left {
    display: flex;
    align-items: center;
    gap: 24px;
    flex-wrap: wrap;
    color: white;
    font-size: 15px;
}

.footer-top-left span,
.footer-top-left .footer-contact-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.footer-contact-link {
    text-decoration: none;
    transition: color 0.2s ease, opacity 0.2s ease, text-decoration-color 0.2s ease;
}

.footer-top-left .footer-contact-link {
    color: #fff;
}

.footer-top-left .footer-contact-link:hover {
    color: #e9ffe9;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.footer-call {
    padding: 10px 24px;
    border: 1.5px solid #111111;
    background: transparent;
    color: #111111;
    border-radius: 30px;
    font-size: 15px;
    font-family: 'Mulish', sans-serif;
    font-weight: 700;
    line-height: 1.2;
    cursor: pointer;
    transition: all 0.2s;
    white-space: nowrap;
}

.footer-call:hover {
    background: #ffffff;
    border-color: #111111;
    color: #111111;
    box-shadow: 0 0 0 2px rgba(17, 17, 17, 0.12);
}

.footer-main {
    display: flex;
    gap: 40px;
    padding: 48px 0 32px;
    flex-wrap: wrap;
}

.footer-column {
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1;
    min-width: 160px;
}

.footer-column a {
    text-decoration: none;
    color: #ccc;
    font-size: 14px;
    line-height: 1.5;
    transition: color 0.2s;
}

.footer-column a:hover {
    color: white;
}

.footer-column a.highlight {
    color: black;
    font-weight: 600;
}

.footer-column h4 {
    color: white;
    font-size: 14px;
    font-weight: 700;
    /*margin: 8px 0 2px;*/
}

.footer-bottom {
    border-top: 1px solid #333;
    padding: 24px 0;
}

.footer-info {
    display: flex;
    align-items: flex-start;
    gap: 24px;
    flex-wrap: wrap;
}

.block-info {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 24px;
    align-items: center;
}

.block-info span,
.block-info a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #aaa;
    font-size: 13px;
    text-decoration: none;
}

.block-info .footer-contact-link {
    color: #aaa;
}

.block-info .footer-contact-link:hover {
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.footer-socials {
    padding: 0 0 24px;
}

.social-media {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.also-socials {
    display: flex;
    gap: 16px;
}

.footer-copy {
    border-top: 1px solid #333;
    font-size: 13px;
    color: #888;
    display: flex;
    align-items: center;
    gap: 24px;
    flex-wrap: wrap;
}

.footer-copy a {
    color: #888;
    text-decoration: none;
}

.footer-copy a:hover {
    color: white;
}

.scroll-top {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 40px;
    height: 40px;
    background: #21A038;
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    cursor: pointer;
    z-index: 999;
    box-shadow: 0 4px 14px rgba(33, 160, 56, 0.35);
    transition: all 0.2s;
    text-decoration: none;
}

.scroll-top:hover {
    background: #18852d;
    color: white;
    transform: translateY(-3px);
}

@media (max-width: 768px) {

    .footer-top .container {
        padding: 0 16px;
    }

    .footer-content {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }

    .footer-top-left {
        flex-direction: column;
        gap: 10px;
        font-size: 14px;
		text-align: left;
    }

    .footer-call {
        width: 100%;
        text-align: center;
        padding: 12px;
        font-size: 15px;
    }

    .footer-main {
        flex-direction: column;
        padding: 24px 16px 16px;
        gap: 0;
    }

    .footer-column {
        border-bottom: 1px solid #2a2a2a;
        padding: 14px 0;
        gap: 8px;
    }

    .footer-column:last-child {
        border-bottom: none;
    }

    .footer-column a {
        font-size: 14px;
        color: #bbb;
    }

    .footer-column h4 {
        font-size: 13px;
        color: #aaa;
        margin: 10px 0 4px;
    }

    .footer-bottom {
        padding: 16px 16px;
    }

    .footer-info {
        flex-direction: column;
        gap: 12px;
        align-items: flex-start;
    }

    .footer-info img {
        height: 36px;
        width: auto;
    }

    .block-info {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    .footer-socials {
        padding: 0 16px 16px;
    }

    .social-media {
        gap: 8px;
        flex-wrap: wrap;
    }

    .also-socials {
        gap: 8px;
        flex-wrap: wrap;
    }

    .footer-copy {
        padding: 16px 16px;
        flex-direction: column;
        gap: 6px;
        font-size: 12px;
    }

    .scroll-top {
        bottom: 20px;
        right: 16px;
        width: 40px;
        height: 40px;
        font-size: 18px;
    }

    .attractions-gallery {
        padding: 28px 0 16px;
    }

    .attractions-gallery .container {
        padding: 0 16px;
        overflow: visible;
    }

    .attractions-gallery .gallery-swiper {
        padding: 0 18px;
        overflow: visible;
    }

    .attractions-gallery .attractions-gallery-header {
        padding: 0;
        margin-bottom: 24px;
    }

    .attractions-gallery .attractions-gallery-header h2 {
        font-size: 20px;
        font-weight: 700;
		margin-top: 6px
    }

    .attractions-gallery .show-all {
        font-size: 14px;
        white-space: nowrap;
    }

    .attractions-gallery .attractions-gallery-arrow.left,
    .attractions-gallery .attractions-gallery-arrow.right {
		display: none;
        width: 40px;
        height: 40px;
        font-size: 16px;
        flex-shrink: 0;
        display: flex;
        align-items: center;
        justify-content: center; }

    .attractions-gallery .attractions-gallery-arrow.left {
        border-radius: 0% 30% 30% 0%;
    }

    .attractions-gallery .attractions-gallery-arrow.right {
        border-radius: 30% 0% 0% 30%;
    }

    .attractions-gallery {
        border-radius: 16px;
        overflow: hidden;
    }

    .attractions-gallery .attractions-gallery-arrow.left {
        left: 0;
    }

    .attractions-gallery .attractions-gallery-arrow.right {
        right: 0;
    }

    .attractions-gallery .card {
        min-width: 186px;
        width: 186px;
        height: 200px;
        border-radius: 12px;
    }

    .attractions-gallery .card-title {
        font-size: 16px;
        line-height: 1.3;
        bottom: 10px;
        left: 10px;
        width: 120px;
    }

    .attractions-gallery .attractions-cards {
        gap: 10px;
    }

    .about {
        padding: 24px 12px;
    }

    .about-card {
        padding: 18px 14px;
        border-radius: 14px;
    }

    .about-header h2 {
        font-size: 20px;
        line-height: 26px;
    }

    .about-intro {
        flex-direction: column;
        gap: 12px;
    }

    .about-intro-text {
        margin-top: 0;
        max-width: 100%;
    }

    .about-image {
        width: 100%;
        max-width: 100%;
        border-radius: 12px;
        overflow: hidden;
        margin-bottom: 12px;
    }

    .about-content h3 {
        font-size: 18px;
        margin: 20px 0 8px;
    }

    .about-content p,
    .about-content li {
        font-size: 15px;
        line-height: 1.6;
    }

    .about-content.collapsed {
        max-height: 520px;
    }

    .about-toggle {
    margin: 24px auto 0;
    background: none;
    border: none;
    font-family: 'Formular', 'Mulish', sans-serif;
    font-size: 16px;
    line-height: 20px;
    font-weight: 400;
    letter-spacing: 0;
    color: #2979ff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 100%;
    text-decoration: none;
}

    .topics-section {
        padding: 24px 0 32px;
    }

    .topics-box {
        padding: 20px 14px;
        border-radius: 14px;
        margin: 0 16px;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
    }

    .topics-box h2 {
        font-size: 20px;
        margin-bottom: 16px;
    }

    .topics-group {
        margin-bottom: 20px;
    }

    .topics-group h3 {
        font-size: 16px;
        margin-bottom: 10px;
    }

    .topics-list {
        gap: 6px;
    }

    .topic-item {
        padding: 8px 12px;
        font-size: 13px;
        border-width: 1.5px;
        white-space: nowrap;
    }

    .topic-item:hover:not(.more-btn),
    .topic-item:active:not(.more-btn),
    .more-btn:hover,
    .more-btn:active {
        transform: none;
    }

    .topics-modal-content {
		position: relative;
        width: 100%;
        max-width: none;
        padding: 22px 18px;
        border-radius: 16px 16px 12px 12px;
        max-height: 84vh;
        overflow-y: auto;
    }

    .modal-content {
        width: 80%;
        max-width: none;
        margin: 15% auto;
        padding: 20px 16px;
        border-radius: 16px;
    }

    .faq-right {
        width: auto;
        margin-top: 0;
        padding: 20px 14px;
        border-radius: 14px;
    }

    .faq-right h3 {
        font-size: 18px;
    }

    .faq-subtitle {
        font-size: 14px;
    }

    .social-buttons {
        flex-direction: row;
        gap: 8px;
    }

    .social-btn {
        font-size: 16px;
        padding: 10px 8px;
    }

    .submit-btn {
        font-size: 15px;
        padding: 13px;
    }

    .policy p {
        width: auto;
        font-size: 14px;
        line-height: 1.5;
    }
}

@media (max-width: 480px) {

    .excursions-grid {
        grid-template-columns: 1fr;
    }

        .attractions-gallery .card {
        min-width: 186px;
        width: 186px;
        height: 200px;
    }

    .feature-card {
        flex-direction: row;
        align-items: center;
        padding: 12px;
        font-size: 14px;
    }

    .topics-box {
        margin: 0 0px;
    }

    .topic-item {
        font-size: 12px;
        padding: 7px 10px;
    }
	.badge {
		left: 12px;
		right: auto;
	}
	.discount, .info-tag {
		top: 12px;
		bottom: auto;
	}
}

.show-all--mobile {
    display: none;
}

.show-all--desktop {
    display: block;
}

@media (max-width: 768px) {

    .show-all--desktop {
        display: none;
    }

    .show-all--mobile {
        display: block;
        margin: 16px auto 0;
        text-align: center;
        padding: 12px 0;
        border: 1px solid #E5E5EB;
        color: #196DFF;
        font-size: 14px;
        font-weight: 500;
        cursor: pointer;
        transition: all 0.2s;
        width: 100%;
        max-width: none;
        box-sizing: border-box;
        -webkit-tap-highlight-color: transparent;
border-radius: 10px;

    }

    .show-all--mobile:active {
        background: #196DFF;
        color: white;
    }

    /* Унификация мобильных CTA-кнопок: не вылезают и не режутся по краям */
    .show-all--mobile,
    .reviews-all-link-mobile,
    .leave-btn,
    .submit-btn,
    .full-schedule,
    .book-btn {
        max-width: none;
        box-sizing: border-box;
    }

    
#slider{
    width: 100%;
    max-width: 305px;
}

.faq-question span{
    width: auto;
    flex: 1;
    min-width: 0;
}
}


.read-more-btn {
        background: none;
        border: none;
        color: #0066cc;
        font-size: 13px;
        padding: 0;
        cursor: pointer;
        margin: 0;
        display: inline;
        white-space: nowrap;
    }

/* ===== FIX OVERFLOW AXA X PE MOBILE ===== */
@media (max-width: 768px) {

    .mob-menu-drawer,
    .mob-phone-modal,
    .mob-menu-overlay,
    .modal,
    .topics-modal {
        max-width: none;
    }

    img:not(.avatar img) {
        max-width: 100%;
        /* width: 100%; */
        /* height: 200px; */
        z-index: 0;
    }

    .gallery-image {
        max-width: 100%;
        touch-action: pan-y;
    }

    /* Container nu iese din ecran */
    .container {
        max-width: 100%;
        overflow-x: hidden;
    }

    /* Fix pentru secțiunile cu padding negativ sau margini fixe */
    .nav-links {
        overflow-x: hidden;
    }

    /* Hero să nu depășească viewport */
    .hero {
        max-width: calc(100vw - 32px);
        box-sizing: border-box;
    }

    /* Slider - lățime relativă */
    #slider {
        width: 100% !important;
        max-width: 100%;
    }

    .faq-question span {
        width: auto !important;
        flex: 1;
        min-width: 0;
        max-width: none;
    }

    /* Excursion cards nu ies din grid */
    .excursion-card {
        min-width: 0;
    }

    /* Topic items cu white-space: nowrap - permit scroll intern în container */
    .topics-list {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        flex-wrap: wrap;
    }

    /* Review cards */
    .review-card {
        min-width: 0;
        width: 100%;
        max-width: 100%;
    }

    /* Gallery cards container */
    .cards {
        scrollbar-width: none;
    }
    .cards::-webkit-scrollbar {
        display: none;
    }

    /* Orice tabel sau grid să fie responsive */
    table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}

/* Final mobile override for reviews (kept last to avoid older conflicts) */
@media (max-width: 768px) {
    .reviews .container {
        padding: 0 16px;
        box-sizing: border-box;
    }

    .reviews-header {
        padding: 0;
    }

    .reviews-content {
        padding: 0;
        gap: 0;
    }

    .rating-card {
        width: 100%;
        margin: 0 0 16px;
        box-sizing: border-box;
    }

    .slider-section {
        margin-left: 0;
        padding: 0;
    }

    .slider-container {
        width: 100%;
    }

    #slider {
        width: 100% !important;
        max-width: none !important;
    }

    .review-card {
        flex: 0 0 100% !important;
        width: 100% !important;
        max-width: 335px !important;
        box-sizing: border-box;
        height: auto;
        min-height: 300px;
    }
}
/* Final mobile override for date calendar */
@media (max-width: 768px) {
    .date-section .container {
        padding: 0 12px;
    }

    .date-section .section-title {
        margin-bottom: 16px;
        padding-left: 0;
    }

    .date-wrapper {
        padding: 0 0 16px;
        gap: 10px;
    }

    .calendar-card {
        width: 100%;
        min-height: 396px;
        height: auto;
        margin: 0 auto 12px;
        border-radius: 14px;
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
    }

    .calendar-header {
        grid-template-columns: 36px 1fr 36px;
        gap: 8px;
        padding: 18px 24px 16px;
        border-bottom: 1px solid #efefef;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
        background: #fff;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }

    .month-year {
        font-size: 18px;
        line-height: 1.2;
        font-weight: 700;
    }

    .calendar-days,
    .calendar-dates {
        font-size: 14px;
        gap: 4px;
        padding: 0 20px;
    }

    .calendar-days {
        margin-top: 14px;
        height: auto;
        min-height: 34px;
        font-size: 14px;
        font-weight: 600;
        color: #2b2b2b;
        padding: 0 20px;
    }

    .calendar-dates span {
        width: 40px;
        height: 40px;
        font-size: 16px;
        border-radius: 10px;
        justify-content: center;
        align-items: center;
        -webkit-tap-highlight-color: transparent;
    }

    .calendar-dates .active {
        background: #16A34A !important;
        color: white !important;
        border-radius: 10px;
    }

    .calendar-dates .active:active {
        background: #16A34A !important;
        color: white !important;
    }

    .full-schedule {
        width: calc(100% - 48px);
        margin: 16px auto 16px;
        padding: 14px 12px;
        border-radius: 10px;
        font-size: 16px;
        line-height: 1.2;
        gap: 6px;
        font-weight: 500;
    }

    .full-schedule svg {
        width: 16px;
        height: 16px;
    }

    .schedule-card {
        width: 100%;
        max-height: 500px;
        margin-bottom: 0;
        border-radius: 14px;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
        overflow: hidden;
    }

    .schedule-header {
        padding: 12px 16px 10px;
        box-shadow: none;
        background: #fff;
        border-bottom: 1px solid #efefef;
        border-radius: 14px 14px 0 0;
    }

    .schedule-header .arrow,
    .calendar-header .arrow {
        font-size: 34px;
        width: 36px;
        height: 36px;
    }

    #selectedDateText {
        font-size: 16px;
        line-height: 22px;
        font-weight: 600;
        color: #1f1f1f;
    }

    .schedule-list {
        overflow-y: auto;
        max-height: 430px;
        padding: 0;
    }

    .schedule-item {
        display: grid;
        grid-template-areas:
            "time info arrow"
            "price info arrow";
        grid-template-columns: minmax(66px, 82px) minmax(0, 1fr) 24px;
        column-gap: 10px;
        row-gap: 8px;
        align-items: center;
        padding: 12px 14px;
        height: auto;
        min-height: 92px;
        border-bottom: 1px solid #ececf0;
    }

    .time {
        grid-area: time;
        font-size: 14px;
        line-height: 20px;
        font-weight: 700;
        width: 100%;
        min-width: 0;
        text-align: center;
        padding: 6px 8px;
        border-radius: 8px;
        box-sizing: border-box;
    }

    .schedule-item-info {
        grid-area: info;
        min-width: 0;
        align-self: center;
    }

    .schedule-title {
        font-size: 14px;
        line-height: 18px;
        font-weight: 400;
        color: #1f1f1f;
        text-decoration: underline;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .schedule-meta {
        margin-top: 3px;
        font-size: 12px;
        line-height: 16px;
        color: #8b8b92;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .schedule-item .price {
        grid-area: price;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        width: 100%;
        margin-left: 0;
        padding: 0;
        border: 0;
        font-size: 13px;
        line-height: 18px;
        font-weight: 700;
        color: #17AA00;
        flex-direction: row;
        white-space: nowrap;
    }

    .schedule-arrow {
        grid-area: arrow;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        line-height: 1;
        justify-self: end;
    }

    .schedule-arrow svg {
        width: 22px;
        height: 22px;
    }
}

@media screen and (max-width:1180px) {
    .nav-top{
        font-size: 14px;
        gap: 16px;
        justify-content: space-between;
    }

    .logo svg {
        width: 180px;
        max-width: 100%;
        height: auto;
    }

    .phone-number{
        font-size: 14px;
    }

    .nav-item{
        font-size: 12px;
        width: auto;
        min-width: 0;
        flex-shrink: 1;
    }

    .nav-top .address {
        max-width: 190px;
    }

    .phone-text-block {
        min-width: 0;
    }

    .phone-number,
    .phone-subtext {
        white-space: nowrap;
    }

    .call-btn{
        width: 150px;
        min-width: 150px;
        margin-left: 0;
        font-size: 14px;
    }

    .nav-menu {
        gap: 14px;
        font-size: 14px;
    }

    .schedule-btn {
        margin-left: auto;
        padding: 8px 14px;
        font-size: 14px;
        white-space: nowrap;
    }

    .socials {
        gap: 6px;
    }

    .social svg {
        width: 34px;
        height: 34px;
    }
}

@media (max-width: 768px) {
    .date-section .container,
    .reviews .container {
        width: 100%;
        padding: 0 16px;
        box-sizing: border-box;
    }

    .date-section .section-title,
    .reviews-header {
        padding-left: 0;
        padding-right: 0;
    }

    .date-wrapper,
    .reviews-content,
    .slider-section {
        padding-left: 0;
        padding-right: 0;
        box-sizing: border-box;
    }

    .calendar-card,
    .schedule-card,
    .rating-card,
    .review-card,
    .reviews-all-link-mobile {
        box-sizing: border-box;
    }

    .rating-card {
        width: 100%;
        margin-left: 0;
        margin-right: 0;
    }

    .review-card {
        max-width: 100% !important;
    }

    .reviews-all-link-mobile {
        width: 100%;
        margin-left: 0;
        margin-right: 0;
    }
}

@media (max-width: 768px) {
    .modal,
    .topics-modal,
    .all-cats-modal,
    .mob-phone-modal {
        align-items: center;
        justify-content: center;
        padding: 16px;
        box-sizing: border-box;
    }

    .modal-content,
    #modal .modal-content,
    .topics-modal-content,
    .all-cats-modal-content,
    .mob-phone-modal-content {
        width: min(100%, 420px);
        max-width: 100%;
        max-height: calc(100vh - 32px);
        margin: 0;
        border-radius: 16px;
        box-sizing: border-box;
        overflow-y: auto;
    }
    .topics-modal-content {
        max-height: calc(100vh - 175px);
        top: 30px;
    }

    .mob-phone-modal-content {
        padding: 28px 20px;
    }
}

.hero-content h1{
    color: white;
}

/* Success notification styling */
.success-message,
.success-message2 {
    font-size: 18px;
    text-align: center;
    color: #17aa00;
    background: #EFFFED;
    border: 1px solid #17aa00;
    border-radius: 12px;
    padding: 16px 24px;
    margin-top: 16px;
    display: none;
}

.success-message.visible,
.success-message2.visible {
    display: block;
    animation: fadeInUp 0.4s ease;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
@media (min-width: 1025px) {
	.features-video.d-none {
		display: inline-flex !important;
	}
	.about-image {
		min-width: 446px;
	}
}

.video-modal-content {
    max-width: 90vw;
    width: 800px;
    background: #fff;
    border-radius: 20px;
    display: flex;
    flex-direction: column;
    max-height: 90vh;
}

.video-modal-content .modal-body {
    overflow-y: auto;
    padding: 20px;
}

.video-container iframe {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    border: none;
    border-radius: 12px;
}

@media (max-width: 1024px) {
    .hero {
        min-height: 480px;
    }

    .hero h1 {
        font-size: 34px;
    }

    .hero p {
        font-size: 18px;
    }
	
	.hero .hero-reviews {
		width: 339px;
		font-size: 15px;
		padding: 27px 74px 7px 83px;
	}
	.hero .hero-reviews svg {
		margin-left: -29px;
	}
	
	.features1 {
		width: 100%!important;
	}
	.about-gallery .rem {
		flex-direction: column;
	}
	.features-video {
		margin-left: 0;
		width: 100%;
	}
}

@media (max-width: 768px) {
	.breadcrumbs_new .container {
		padding-right: 13px!important
	}
	.features-video {
		margin-bottom: 18px;
	}
    .hero {
        border-radius: 16px;
        min-height: auto;
    }

    .hero-content {
        padding: 20px 17px 0;
    }

    .hero h1 {
		font-size: 26px;
		line-height: 32px;
		margin: 0 0 8px;
		padding: 0;
    }

    .hero p {
        font-size: 16px;
		line-height: 21px;
		margin: 0 0 17px;
    }

    .categories {
        gap: 10px;
    }

    .category,
    .more {
        font-size: 13px;
        padding: 10px 16px;
    }
	.hero .hero-reviews {
		display: none
	}
	.hero-reviews-mobile {
		display: flex;
		align-items: center;
		font-size: 14px;
		font-style: italic;
	}
	.category {
		background: #FFFFFFD9!important;
		border: 1px solid #17AA00;
		color: #17AA00!important;
	}
}

.attraction-modal-body {
    display: flex;
    flex-direction: column;
    gap: 20px;
    max-height: 80vh;
    overflow-y: auto;
    padding: 20px;
}
.attraction-modal-description {
    line-height: 1.5;
    color: #333;
}
@media (min-width:901px) {
	.excursion-container {
		background: #F5F5F7;
	}
}

.attraction-modal-image {
	width: 100%;
}

.content__wrapper.wrapper {
	border-radius: 16px;
	padding: 40px;
	box-shadow: 0px 0px 16px 0px #0000001F;
	margin-bottom: 20px !important;
	max-width: 1200px;
	margin-top: 40px;
}

.content__wrapper .title {
    text-transform: none;
    text-align:left;
    padding: 0;
    margin: 10px 0 25px;
	font-weight: 800;
	font-size: 24px;
	line-height: 34px;
	display: block;
}

.payment-section {
	display: flex;
	flex-direction: column;
	gap: 32px;
	font-size: 16px;
	line-height: 24px;
}
.payment-section-sbp {
	display: flex;
	gap:40px;
}
.payment-section-left {
	display: flex;
	flex-direction: column;
	gap: 24px;
}
.payment-section h1 {
	font-weight: 700;
	font-size: 32px;
	line-height: 38px;
	margin: 0 0 24px;
}
.payment-section ol {
	padding-left: 20px;
}
.payment-section b {
	font-weight: bold;
}
.payment-section-attention {
	display: flex;
	padding: 17px 16px 16px;
	gap: 12px;
	border: 1px solid #FFE600;
	border-radius: 20px;
	font-size: 14px;
}
.payment-section-buttons {
	display: flex;
	flex-direction: column;
	gap:15px;
}
.button-sbp {
    padding: 10px 11.5px;
    background: #FFE600;
    color: #3C3C3C;
    border-radius: 10px;
    cursor: pointer;
    transition: all .3s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 25px;
    font-size: 14px;
    line-height: 20px;
    font-weight: 700;
}
.button-sbp:hover {
    transform: scale(1.05);
    background: #16A34A;
    color: white;
}
.payment-section h3 {
	font-weight: 700;
	font-size: 24px;
	line-height: 30px;
}
.payment-section-bottom {
	display: flex;
	gap: 34px;
}
.payment-section-green {
	display: flex;
	padding: 17px 16px 16px;
	gap: 12px;
	border: 1px solid #17AA00;
	background: #EFFFED;
	border-radius: 20px;
	font-size: 14px;
}
.payment-section-attention b,
.payment-section-green b {
	font-weight: 600;
	font-size: 16px;
	line-height: 20px;
}
.payment-section-attention svg,
.payment-section-green svg {
    flex-shrink: 0;
    width: 24px;
 }
.payment-section-left svg {
	width: 32px;
}
.payment-section ul {
    list-style: disc;
    padding-left: 20px;
    margin: 8px 0 0 0;
}

.payment-section li {
    display: list-item;
	list-style: disc;
}
.payment-section li + li {
	padding-top: 7px
}
.mobile-show {
	display: none;
}
.mobile-hide {
	display: block;
}
.payment-section-buttons.mobile-hide {
	display: flex
}

@media (max-width:900px) {
	.mobile-show {
		display: block;
	}
	.mobile-hide {
		display: none;
	}
	.excursion-container-mobile {
		background: #F5F5F7;
	}

	.payment-section-buttons.mobile-hide {
		display: none
	}
	.universal .about-gallery .about-info, .universal .gallery {
		display: none!important
	}
	.universal #sec-similar {
		margin-top: 10px;
		padding-bottom: 34px;
	}
	.universal .exc-section-title {
		padding-bottom: 4px;
	}
	.payment-section-left-mobile {
		box-shadow: 0px 0px 16px 0px #0000001F;
		border-radius: 18px;
		padding: 20px;
	}
	.payment-section h1 {
		font-size: 22px;
		line-height: 28px;
		margin-bottom: 15px;
	}
	.payment-section ol {
		font-size: 16px;
		line-height: 24px;
	}
	.payment-section-buttons {
		margin-top: 15px;
	}
	.payment-section-left {
		gap:34px;
	}
	.payment-section-bottom {
		flex-direction: column-reverse;
		gap:34px;
	}
	.features-video img {
		width: 100%;
    	height: auto;
	}
	.content__wrapper.wrapper {
		box-shadow: none;
		width: calc(100% + 32px);
		padding-left: 0;
		padding-right: 0;
		margin-left: -16px;
		margin-right: -16px;
		margin-top: 20px;
		margin-bottom: 0!important;
		padding-bottom: 0
	}
	.features-video a:before {
		width: 48px;
		height: 48px;
		margin-top: 0;
		margin-left: 0;
		background:url("/local/templates/template/css/../img/button-play.svg") no-repeat;
		background-size: cover;
		transform: translate(-50%, -5px);
		content:'';
	}
	.payment-section-sbp {
		flex-direction: column;
	}

	#attractionModal .topics-modal-content {
		padding-left: 0;
		padding-right: 0;
	}
	.attraction-modal-image .gallery-main-swiper {
		margin-left: -18px;
		margin-right: -18px;
		width: calc(100% + 36px);
	}
	#attractionModal.topics-modal .modal-header {
		position: relative;
		right: 0; 
        top: 0;
		padding: 0 18px 15px;
	}
	#attractionModal.topics-modal .modal-header h3 {
		display: block;
		font-weight: 700;
		font-size: 16px;
		line-height: 24px;
	}
	#closeAttractionModal {
		margin-top: -10px;
        margin-right: -5px;
        margin-bottom: 10px;
	}
	#attractionModal .swiper-button-prev.gallery-main-prev {
		left: 17px;
	}
	#attractionModal .swiper-button-next.gallery-main-next {
		right: 17px
	}
	#attractionModal.topics-modal .modal-body .attraction-modal-description{
		padding-left: 18px;
		padding-right: 18px
	}
	.excursions-section {
		margin-top: 16px;
	}
}
.schedule-card-wrapper {
	flex-grow: 1
}
.schedule-card-wrapper .schedule-header {
	justify-content: center;
}
.schedule-card-wrapper .schedule-card { 
	margin-bottom: 32px;
}

.topics-modal .gallery-main-swiper {
	height: auto;
}

.exc_grid_new-filter {
	display: none;
	gap:12px;
	margin: 16px 16px 0
}
@media(max-width:900px) {
	.exc_grid_new-filter {
		display: flex
	}
}
.exc_grid_new-filter select {
	font-family: 'Mulish', sans-serif;
	width: 50%;
	border: 1px solid #E5E5EB;
	border-radius: 12px;
	font-size: 14px;
	line-height: 20px;
	padding: 7.5px 13px;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 8px center;
    background-size: 16px;
    padding-right: 28px; /* освобождаем место для стрелки */
    cursor: pointer;
}

/* Если нужно сместить стрелку ещё левее, уменьшаем right */
.exc_grid_new-filter select {
    background-position: right 4px center;
    padding-right: 24px;
}


#sec-similar > .container {
	overflow: hidden
}
/* End */


/* Start:/local/templates/template/css/custom.css?1785906314100342*/
.time {height: fit-content;
}
.d-table {
    align-items: start;
    margin: 0px 0px 0px 16px;
}

.about-company h2 {
    margin: 15px 0px 10px 0px;
    font-size: 19px;
    font-weight: 600;
}


.our__team__slider-wrap h2 {
    font-size: 24px;
    font-weight: 800;
}
.our__team__slider-wrap .title-block {
    justify-content: flex-start;
}

.our__team__slider-wrap{
margin: 30px 0px 0px 0px;
}
.date-section {
    background-color: #F5F5F7;
    padding: 70px 0px 90px 0px;
}
.date-section h2.section-title {
    font-weight: 600;
}
.calendar-dates .active {
    background: #17AA00 !important;
}
.date-section .schedule-header {
    font-size: 18px;
}
.schedule-meta {
    color: #989898;
    font-size: 16px;
    font-weight: 300;
}
.stars svg {
    transform: scale(1.4);
    margin-top: 5px;
}
.review-card .stars.small
 {
    font-size: 15px;
    letter-spacing: 4px;
    margin-bottom: 4px;
}
.rating-card {
    height: fit-content;
}
.about-header h2, .about-content h3 {
    font-weight: 600;
}
.about-intro {
    align-items: flex-start;
}
.about-content ul li {
    list-style: inside;
}
.faq-question span {
    font-weight: 600;
}
.call-btn {
    width: 200px;
    font-weight: 600;
}
.topics-modal .modal-header {
    margin-bottom: 0px;
    padding: 28px 28px 15px 25px;
}
.category {
    color: #17aa00bf;
    padding: 7px 14px;
}
.more {
    padding: 7px 14px;
}
.sidebar .stars {
    gap: 9px;
}
.sidebar .stars polygon {
    fill: #f3cc28;
}
.sidebar .rating-left {
    gap: 8px;
}
.sidebar .d-table {
    margin: 0px 0px 0px 0px;
}
#sec-route .exc-section-title {
    font-weight: 600;
    margin-bottom: 12px;
}
.exc-main-left .exc-page {
    padding: 0 0 30px;
}
.about-content h3 {
    font-weight: 500;
}
.about-content ul li p {
  display: inline;
}
.about-header h2, .about-content h3 {
    font-weight: 500;
    line-height: 2rem;
}
.features__wrapper.wrapper .gallery-main-swiper .swiper-slide img
 {
    height: 450px;
}
.about-company ul {
    margin: 10px 0px;
}
.about-company ul li 
{
    list-style: inside;
    margin: 5px 0px;
}
.about-company li::marker {
    color: #17AA00;
}
.our__team-wrap img {
    height: 330px;
}
.sights {
    background: white;
    margin: 20px auto;
    width: 90%;
}
.title-block.sights__title-block .line {
    display: none;
}
.title-block.sights__title-block {
    justify-content: flex-start;
}
.title-block.sights__title-block h1 {
font-family: inherit;
    font-weight: 700 !important;
    font-size: 36px !important;
    text-transform: none;
    margin: 40px 0px 0px 0px;
    display: flex !important;
    text-align: left;
    padding: 0 10px;
}
.sights .wrapper {
    margin: 0;
    width: 100%;
}
.sights__text {
    top: auto;
    border-radius: 0 0 20px 20px;
    font-size: 15px;
    line-height: 1.3;
    color: #333;
    padding: 10px 10px 0 20px;
    min-height: 55px;
}
.sights__image {
    border-radius: 15px 15px 15px 15px;
    width: 104%;
    margin-bottom: 5px;
    height: 195px;
    margin: 0px 0px 5px -4px;
}
.sights__item::before {
    height: unset;
}
.sights__item {
    width: 100%;
    height: 270px;
    -webkit-box-shadow: 0px 0px 25px rgb(0 0 0 / 10%);
    box-shadow: 0px 0px 25px rgb(0 0 0 / 10%);
    border-radius: 15px;
    background-color: #efffed;
}
.sights__list {
    -webkit-column-gap: 25px;
    column-gap: 25px;
    row-gap: 20px;
    margin-bottom: 65px;
    width: 100%;
}





@media (min-width: 769px) {
.mobile-show.exc_grid_new-filter {
display: none;
}
.info-feature-grid {
    margin-bottom: 20px;
}
.exc-section-title {
    padding-bottom: 15px;
}
.similar-wrap {
    overflow: visible;
}
.date-section .section-title {
    padding-top: 0px;
}
.page.universal .content__wrapper.wrapper {
        width: 100%;
        padding: 10px 40px 40px 40px;
    }
.page.universal h1 {
    font-size: 34px;
    line-height: 40px;
}
.page.universal img {
    border-radius: 10px;
}
.office {
    margin: 20px 0px;
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
}

img.one {
    width: 40%;
    margin-right: 20px;
}
img.two {
    width: 60%;
}
}





@media (max-width: 768px) {
.about-company h1 {
    font-size: 27px;
    font-weight: 800;
    margin: 6px 0px 20px 0px;
    line-height: 30px;
}
.office {
    margin: 20px 0px;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
}
.office img {
    width: 100%;
    margin-right: 20px;
    height: 230px;
    object-fit: cover;
    border-radius: 15px;
}
.container.personal, .our__team__slider-wrap, .page.universal {
padding: 0px;
}
.container.about_us {
    padding-left: 20px !important;
    padding-right: 20px !important;
}
.our__team__slider-wrap h2 {
padding-left: 30px;
}
.schedule-item-info {
        align-self: self-start;
    }
.schedule-meta {
        margin-top: 10px;
    }
.footer-top {
        padding: 20px 10px;
    }
.excursions-section {
    margin: 80px auto 0px auto;
}
.book-btn {
        margin: 30px 0px;
    }
.excursions-grid {
        gap: 25px;
    }
.card-info {
    gap: unset;
    justify-content: space-around;
    flex-wrap: nowrap;
}
.excursion-card[data-link="/excursions/individualnye/"] .card-info {
    gap: 25px;
    font-size: 12px;
}
img.one {
    margin-bottom: 15px;
}
.mobile-header-inner {
    height: 65px;
}
 .mob-phone-btn {
    background: #17aa00;
}
.hero .category {
        background: #ffffff3d !important;
        border: 1px solid #fff;
        color: #fff !important;
}
.excursions-section {
    margin: 16px 16px 0;
}
.book-btn {
        margin: 0px 0px 5px 0px;
}
.card-info span {
font-size: 13px;
}
.card-content h3 {
 font-size: 16px;
 font-weight: 600;
}
.excursions-grid {
   margin-bottom: 30px;
 }
.date-section {
        padding: 15px 0px 30px 0px;
    }
.month-year {
        font-size: 17px;
        line-height: 1;
    }
    .schedule-item {
        grid-template-columns: minmax(66px, 82px) minmax(0, 1fr) 0px;
        column-gap: 17px;
    }
    .schedule-title {
        font-size: 16px;
        line-height: 19px;
        text-decoration: none;
    }
.rating-stars {
      gap: 35px;
      align-items: baseline;
    }
    .rating-value {
        font-size: 18px;
    }
.topics-modal-content {
        padding: 0px 0px;
    }
.video-modal-content {
    max-width: 92vw;
}
.video-modal-content .modal-body {
    padding: 0px;
}
.topics-modal .modal-header {
        right: 0px;
        top: 0px;
        padding: 0px 0px 0px 0px;
    }
.faq-subtitle {
        font-size: 16px;
        padding: 0px 30px;
    }
.social-title {
    font-size: 15px;
    line-height: 22px;
}
.topics-section .topic-item {
        border-width: 1.0px;
    }
.topics-section .topics-list {
        gap: 8px;
    }
.footer-top {
        padding: 20px 0px;
    }
.footer-top-left .footer-contact-link {
    font-weight: 600;
}
.footer-column {
        padding: 10px 5px;
        border-bottom: 0px solid #444;
    }
.footer-bottom {
        padding: 20px 0px 0;
    }
.block-info .phone-number {
        font-weight: 600;
        padding-top: 15px;
    }
.footer-socials {
    align-items: flex-start;
    padding: 0px;
}    
.social svg {
        width: 40px;
        height: 40px;
    }
.topics-modal .modal-body {
    padding: 23px 20px;
}
.modal-body.video-container {
padding: 5px 5px 1px 5px;
}
.excursions-section.section-excursions-section {
        margin: 24px auto 0px auto;
        padding: 0 16px;
        padding-bottom: 0px;
        margin-bottom: 0px;
    }
.breadcrumbs_new {
    font-size: 13px;
}    
.rating-row.mobile-show .stars {
    gap: 8px;
    margin-right: 10px;
}
.rating-row.mobile-show .rating-score {
    font-size: 17px;
    font-weight: 600;
}
.rating-row.mobile-show .reviews-a {
    font-size: 15px;
}
.gallery h1 {
    margin: 0 0 10px;
}
.ya-reviews {
    margin-bottom: 17px;
}
.breadcrumbs_new {
    padding: 5px 0;
    margin-top: 10px;
    margin-bottom: 0px;
}
.filter-section {
    margin-top: 10px;
    }
.p-title {
        margin-top: 25px;
    }
.price-block {
        margin-bottom: 15px;
    }
.sidebar-request {
    margin-top: 15px;
}
.sidebar-request-label {
    margin-bottom: 5px;
    }
#sec-route .exc-section-title {
    display: none;
}
#attractionModal.topics-modal .modal-header {
    padding: 15px 18px 0px;
    } 
#attractionModal {
    margin-top: 35px;
}
.modal-body.attraction-modal-body {
        padding: 5px 20px 23px 20px;
    }
#attractionModal .swiper-button-next.gallery-main-next {
        right: -3px;
    }
#attractionModal .swiper-button-prev.gallery-main-prev {
        left: -3px;
    }
#attractionModal.topics-modal .modal-body .attraction-modal-description {
        padding-left: 0px;
        padding-right: 0px;
    }
.exc-page .about-intro-text h2 {
    margin-bottom: 8px;
}
.exc-page .about-card {
        padding: 20px 20px;
        border-radius: 14px;
    }
.info-card-title {
    font-weight: 600;
}
.exc-main-grid .info-list {
    font-weight: 300;
    font-size: 14px;
    padding-left: 32px;
    color: #4b4b4b;
}
#sec-departure {
    padding: 40px 0px 40px;
}
#sec-similar {
    padding: 40px 0px 0px;
}
#sec-similar .exc-section-title {
        padding-bottom: 0px;
    }
.similar-wrap .card-info span {
        font-size: 12px;
    }
#excTourReviews .tour-reviews-stars {
        margin-bottom: 15px !important;
        gap: 7px !important;
    }
#excTourReviews .tour-reviews-right h3 {
        margin: 10px 0 8px !important;
        font-size: 19px !important;
        font-weight: 600;
    }
#excTourReviews #tourReviewForm {
        padding: 8px;
    } 
#sec-similar .card-info svg {
    width: 15px;
    height: 15px;
}
    .gallery-main-pagination {
        border-radius: 8px;
    }
.attraction-modal-image .gallery-main-swiper {
        margin-left: 0px;
        margin-right: -21px;
        width: calc(100% + 42px);
    }
.gallery .stars svg {
    margin-top: 0px;
}
.attraction-modal-description h1 {
    font-size: 19px;
    margin: 0px 0 12px;
    line-height: 24px;
}
.excursion-container .layout > .sidebar {
        padding: 14px 18px 12px;
        margin: 0px 0px 20px 0px;
    }
.tour-reviews-item span {
    color: #34343a !important;
    font-size: 14px;
    font-weight: 300;
}    
.payment-section h1 {
        font-size: 20px;
    }    
    
.payment-section {
    padding: 0px 15px;
} 
.title-block.sights__title-block h1 {
    font-size: 27px !important;
    line-height: 32px;
    padding: 0 10px;
    margin: 20px 0px 0px 0px;
}
.sights__text {
    font-size: 18px;
}
.sights__image {
    width: 105%;
    margin: 0px 0px 5px -8px;
    min-width: 105%;
}
}






@media (min-width: 1025px) {
    .about-image {
        min-width: 400px;
    }
}



@media (min-width: 901px) {
    .tags-wrapper {
        gap: 3px 7px;
    }
}







.sights-premium {
  padding: 72px 0 0px;
  background: #fbfaf7;
  overflow: hidden;
}

.sights-premium__inner {
  max-width: 1520px;
  width: 100%;
  margin: 0 auto;
  padding: 0 32px;
  box-sizing: border-box;
}

.sights-premium__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 32px;
  margin-bottom: 34px;
}

.sights-premium__eyebrow {
  margin-bottom: 12px;
  color: #2d7e24;
  font-size: 14px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .09em;
}

.sights-premium__title {
    max-width: 920px;
    margin: 0 0 14px;
    font-size: clamp(36px, 3.0vw, 44px);
    line-height: 1.05;
    color: #121a1f;
    letter-spacing: -0.02em;
    font-family: inherit;
}

.sights-premium__subtitle {
  max-width: 760px;
  margin: 0;
  color: #68727f;
  font-size: 19px;
  line-height: 1.45;
}

.sights-premium__map {
  flex-shrink: 0;
  margin-top: 22px;
  padding: 16px 30px;
  border: 1px solid rgba(23, 170, 0, .25);
  border-radius: 999px;
  color: #1f2b1c;
  text-decoration: none;
  background: #fff;
  box-shadow: 0 14px 36px rgba(0, 0, 0, .06);
}

.sights-premium__grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 18px;
}

.sights-premium__card {
  position: relative;
  min-height: 300px;
  overflow: hidden;
  border-radius: 22px;
  background: #111;
  color: #fff;
  text-decoration: none;
  box-shadow: 0 16px 38px rgba(0, 0, 0, .13);
  transform: translateZ(0);
}

.sights-premium__card--featured {
  min-height: 500px;
}

.sights-premium__card:nth-child(n + 4) {
  min-height: 300px;
}

.sights-premium__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .55s ease;
}

.sights-premium__card:hover .sights-premium__image {
  transform: scale(1.055);
}

.sights-premium__shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      180deg,
      rgba(0, 0, 0, .04) 0%,
      rgba(0, 0, 0, .18) 38%,
      rgba(0, 0, 0, .78) 100%
    );
}

.sights-premium__badge {
  position: absolute;
  top: 22px;
  left: 22px;
  z-index: 2;
  max-width: calc(100% - 44px);
  padding: 8px 15px;
  border-radius: 999px;
  background: #16a34a;
  color: #fff;
  font-size: 14px;
  line-height: 1.15;
  white-space: nowrap;
}

.sights-premium__content {
  position: absolute;
  left: 24px;
  right: 86px;
  bottom: 24px;
  z-index: 2;
}

.sights-premium__meta {
  display: block;
  margin-bottom: 8px;
  color: rgba(255, 255, 255, .86);
  font-size: 15px;
  line-height: 1.3;
}

.sights-premium__name {
display: block;
    font-size: clamp(17px, 1vw, 24px);
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: 0;
}

.sights-premium__card--featured .sights-premium__name {
  font-size: clamp(32px, 2vw, 38px);
}

.sights-premium__desc {
  display: block;
  max-width: 560px;
  margin-top: 12px;
  color: rgba(255, 255, 255, .92);
  font-size: 17px;
  line-height: 1.45;
}

.sights-premium__arrow {
    position: absolute;
    right: 24px;
    bottom: 22px;
    z-index: 3;
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .94);
    color: #278018;
    font-size: 20px;
    line-height: 1;
    transition: transform .25s ease, background .25s ease, color .25s ease;
}

.sights-premium__card:hover .sights-premium__arrow {
  transform: translateX(4px);
  background: #17AA00;
  color: #fff;
}

@media (min-width: 901px) {
  .sights-premium__card--featured {
    grid-row: span 2;
  }
}

@media (max-width: 1100px) {
  .sights-premium__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sights-premium__card--featured {
    grid-column: span 2;
    grid-row: auto;
  }
}

@media (max-width: 700px) {
  .sights-premium {
    padding: 42px 0 52px;
  }

  .sights-premium__inner {
    padding: 0 16px;
  }

  .sights-premium__head {
    display: block;
    margin-bottom: 24px;
  }

  .sights-premium__title {
    font-size: 38px;
  }

  .sights-premium__subtitle {
    font-size: 16px;
  }

  .sights-premium__map {
    display: inline-flex;
    margin-top: 20px;
  }

  .sights-premium__grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .sights-premium__card,
  .sights-premium__card--featured {
    grid-column: auto;
    min-height: 360px;
  }

  .sights-premium__card--featured .sights-premium__name,
  .sights-premium__name {
    font-size: 30px;
  }

  .sights-premium__desc {
    display: none;
  }
}


.sights-premium__card--hidden {
  display: none;
}

.sights-premium__more-wrap {
  display: flex;
  justify-content: center;
  margin-top: 34px;
}

.sights-premium__more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: 16px 34px;
  border: 1px solid rgba(23, 170, 0, .35);
  border-radius: 999px;
  background: #17AA00;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  font-family: inherit;
  cursor: pointer;
  box-shadow: 0 14px 34px rgba(23, 170, 0, .22);
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}

.sights-premium__more:hover {
  transform: translateY(-2px);
  background: #139400;
  box-shadow: 0 18px 42px rgba(23, 170, 0, .28);
}


.sights-premium__filters {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 0 0 28px;
}

.sights-premium__filter {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 12px 20px;
  border: 1px solid rgba(20, 27, 31, .1);
  border-radius: 999px;
  background: rgba(255, 255, 255, .78);
  color: #52606b;
  font-size: 15px;
  font-weight: 700;
  font-family: inherit;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 10px 28px rgba(0, 0, 0, .04);
  transition: 
    background .25s ease,
    border-color .25s ease,
    color .25s ease,
    box-shadow .25s ease,
    transform .25s ease;
}

.sights-premium__filter:hover {
  transform: translateY(-1px);
  border-color: rgba(23, 170, 0, .32);
  color: #1f7d16;
  box-shadow: 0 14px 34px rgba(0, 0, 0, .07);
}

.sights-premium__filter.is-active {
  border-color: rgba(23, 170, 0, .5);
  background: #17AA00;
  color: #fff;
  box-shadow: 0 16px 34px rgba(23, 170, 0, .22);
}

.sights-premium__card--hidden {
  display: none;
}

.sights-premium__empty {
  margin: 28px 0 0;
  padding: 28px;
  border-radius: 22px;
  background: #fff;
  color: #68727f;
  font-size: 17px;
  text-align: center;
  box-shadow: 0 12px 32px rgba(0, 0, 0, .05);
}

.sights-premium__more-wrap {
  display: flex;
  justify-content: center;
  margin-top: 34px;
}

.sights-premium__more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: 16px 34px;
  border: 1px solid rgba(23, 170, 0, .35);
  border-radius: 999px;
  background: #17AA00;
  color: #fff;
  font-size: 16px;
  font-weight: 800;
  font-family: inherit;
  cursor: pointer;
  box-shadow: 0 14px 34px rgba(23, 170, 0, .22);
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}

.sights-premium__more:hover {
  transform: translateY(-2px);
  background: #139400;
  box-shadow: 0 18px 42px rgba(23, 170, 0, .28);
}

@media (max-width: 700px) {
  .sights-premium__filters {
    flex-wrap: nowrap;
    overflow-x: auto;
    margin-left: -16px;
    margin-right: -16px;
    padding: 0 16px 8px;
    scrollbar-width: none;
  }

  .sights-premium__filters::-webkit-scrollbar {
    display: none;
  }

  .sights-premium__filter {
    flex: 0 0 auto;
    min-height: 42px;
    padding: 11px 16px;
    font-size: 14px;
  }
}


.seo.about h2 {
    font-family: 'Mulish', sans-serif;
    padding: 0;
    font-size: 32px;
    margin: 0;
    margin-bottom: 20px;
    font-weight: 500;
    line-height: 2rem;
}

.seo.about h3 {
    font-family: 'Mulish', sans-serif;
    padding: 0;
    font-size: 24px;
    margin: 28px 0 14px;
    font-weight: 500;
    line-height: 2rem;
}
section.seo.about {
    max-width: unset;
    margin: 0 auto;
    background: #fff;
    border-radius: 20px;
    padding: 40px;
    box-shadow: 0px 0px 16px 0px #0000001F;
}
.seo.about p {
    font-size: 16px;
    line-height: 1.6;
    color: black;
}
.sights-premium .about {
    width: auto;
    padding: 30px 0px;
}

.gallery-section.sight-detail-gallery > .container {
        width: 100%;
        box-sizing: border-box;
    }

/* Detail attraction page */

.features__wrapper.wrapper {
  max-width: 1180px;
  margin: 0 auto;
  padding: 36px 20px 64px;
}

.features__wrapper .title {
  max-width: 920px;
  margin: 0 auto 28px;
  font-size: clamp(34px, 4vw, 58px);
  line-height: 1.05;
  font-weight: 800;
  letter-spacing: -0.04em;
  color: #162015;
  text-align: center;
}

.sight-detail-gallery {
  margin: 0 auto 44px;
}

.sight-detail-gallery .container {
  max-width: 1040px;
  margin: 0 auto;
  padding: 0;
}

.sight-detail-gallery .main-wrap {
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 24px 70px rgba(20, 32, 24, 0.16);
  background: #eef4ec;
}

.sight-detail-gallery .swiper-slide img {
  display: block;
  width: 100%;
  height: min(58vw, 620px);
  object-fit: cover;
}

.features__text {
  max-width: 860px;
  margin: 0 auto;
  font-size: 18px;
  line-height: 1.78;
  color: #263326;
}

.features__text h1,
.features__text .content-title {
  margin: 0 0 22px;
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1.15;
  font-weight: 800;
  letter-spacing: -0.035em;
  color: #152016;
}

.features__text h2 {
  position: relative;
  margin: 54px 0 18px;
  padding-top: 18px;
  font-size: clamp(24px, 2.5vw, 34px);
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: -0.025em;
  color: #152016;
}

.features__text h2::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 54px;
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(90deg, #1ccb00, #8fe66f);
}

.features__text p {
  margin: 0 0 20px;
}

.features__text .lead {
  margin: 0 0 18px;
  font-size: clamp(20px, 2vw, 23px);
  line-height: 1.65;
  color: #314031;
}

.features__text .lead:first-of-type {
  margin-top: 4px;
}

.features__text .history {
  position: relative;
  margin: 26px 0 28px;
  padding: 28px 32px;
  border-radius: 24px;
  background:
    linear-gradient(135deg, rgba(28, 203, 0, 0.08), rgba(255, 255, 255, 0.92)),
    #f6faf4;
  border: 1px solid rgba(28, 203, 0, 0.16);
  box-shadow: 0 18px 48px rgba(28, 70, 20, 0.08);
}


.features__text a {
  color: #168f07;
  text-decoration: none;
  border-bottom: 1px solid rgba(28, 203, 0, 0.35);
  transition: color 0.2s ease, border-color 0.2s ease;
}

.features__text a:hover {
  color: #0f6f05;
  border-color: rgba(28, 203, 0, 0.8);
}

.features__text ul,
.features__text ol {
  margin: 22px 0 28px;
  padding-left: 0;
  list-style: none;
}

.features__text li {
  position: relative;
  margin: 0 0 12px;
  padding-left: 30px;
}

.features__text li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.75em;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #1ccb00;
  box-shadow: 0 0 0 6px rgba(28, 203, 0, 0.12);
}

.features__text blockquote {
  margin: 32px 0;
  padding: 26px 30px;
  border-radius: 24px;
  background: #182217;
  color: #ffffff;
  font-size: 20px;
  line-height: 1.6;
  box-shadow: 0 22px 60px rgba(18, 28, 15, 0.2);
}

.features__text .cta {
  margin: 56px 0 10px;
  padding: 36px 38px;
  border-radius: 30px;
  background:
    radial-gradient(circle at top left, rgba(255, 255, 255, 0.32), transparent 36%),
    linear-gradient(135deg, #1ccb00, #119000);
  color: #ffffff;
  box-shadow: 0 24px 70px rgba(28, 203, 0, 0.22);
}

.features__text .cta h2 {
  margin: 0 0 14px;
  padding: 0;
  color: #ffffff;
  font-size: clamp(26px, 3vw, 38px);
}

.features__text .cta h2::before {
  display: none;
}

.features__text .cta p {
  max-width: 680px;
  margin: 0;
  color: rgba(255, 255, 255, 0.92);
  font-size: 19px;
  line-height: 1.65;
}

@media (max-width: 768px) {
  .features__wrapper.wrapper {
    padding: 24px 16px 48px;
  }

  .features__wrapper .title {
    margin-bottom: 20px;
    text-align: left;
  }

  .sight-detail-gallery {
    margin-bottom: 32px;
  }

  .sight-detail-gallery .main-wrap {
    border-radius: 20px;
  }

  .sight-detail-gallery .swiper-slide img {
    height: 62vw;
    min-height: 230px;
  }

  .features__text {
    font-size: 16px;
    line-height: 1.72;
  }

  .features__text .lead {
    font-size: 18px;
    line-height: 1.6;
  }

  .features__text h2 {
    margin-top: 42px;
  }

  .features__text .history {
    padding: 22px 20px;
    border-radius: 20px;
  }

  .features__text .cta {
    margin-top: 42px;
    padding: 28px 22px;
    border-radius: 24px;
  }
}

/* Attraction detail page */

.features__wrapper.wrapper {
  max-width: 1180px;
  margin: 0 auto;
  padding: 34px 20px 64px;
}

.features__wrapper .sight-detail-gallery {
  margin: 0 auto 42px;
}

.features__wrapper .sight-detail-gallery .container {
  max-width: 1060px;
  margin: 0 auto;
  padding: 0;
}

.features__wrapper .sight-detail-gallery .main-wrap {
  overflow: hidden;
  border-radius: 30px;
  background: #f3f7f1;
  box-shadow: 0 24px 70px rgba(18, 32, 18, 0.16);
}

.features__wrapper .sight-detail-gallery .swiper-slide img {
  display: block;
  width: 100%;
  height: min(58vw, 620px);
  object-fit: cover;
}

.features__wrapper .attraction-content {
  max-width: 860px;
  margin: 0 auto;
  color: #253225;
  font-size: 18px;
  line-height: 1.78;
}

.features__wrapper .attraction-content h1 {
  margin: 0 0 24px;
  font-size: clamp(32px, 4vw, 52px);
  line-height: 1.08;
  font-weight: 800;
  letter-spacing: -0.04em;
  color: #152016;
}

.features__wrapper .attraction-content h2 {
  position: relative;
  margin: 54px 0 18px;
  padding-top: 18px;
  font-size: clamp(24px, 2.6vw, 34px);
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: -0.025em;
  color: #152016;
}

.features__wrapper .attraction-content h2::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 54px;
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(90deg, #1ccb00, #92e96f);
}

.features__wrapper .attraction-content p {
  margin: 0 0 20px;
}

.features__wrapper .attraction-content .lead {
  margin-bottom: 18px;
  color: #334233;
  font-size: clamp(20px, 2vw, 23px);
  line-height: 1.65;
}

.features__wrapper .attraction-content .history {
  margin: 28px 0 32px;
  padding: 28px 32px;
  border: 1px solid rgba(28, 203, 0, 0.16);
  border-radius: 26px;
  background:
    linear-gradient(135deg, rgba(28, 203, 0, 0.08), rgba(255,255,255,0.96)),
    #f6faf4;
  box-shadow: 0 18px 50px rgba(28, 70, 20, 0.08);
}

.features__wrapper .attraction-content ul,
.features__wrapper .attraction-content ol {
  margin: 22px 0 28px;
  padding-left: 0;
  list-style: none;
}

.features__wrapper .attraction-content li {
  position: relative;
  margin-bottom: 12px;
  padding-left: 30px;
}

.features__wrapper .attraction-content li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.75em;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #1ccb00;
  box-shadow: 0 0 0 6px rgba(28, 203, 0, 0.12);
}

.features__wrapper .attraction-content a {
  color: #168f07;
  text-decoration: none;
  border-bottom: 1px solid rgba(28, 203, 0, 0.35);
}

.features__wrapper .attraction-content a:hover {
  color: #0f6f05;
  border-color: rgba(28, 203, 0, 0.8);
}

.features__wrapper .attraction-content .cta {
  margin: 58px 0 8px;
  padding: 38px 40px;
  border-radius: 32px;
  background:
    radial-gradient(circle at top left, rgba(255,255,255,0.34), transparent 38%),
    linear-gradient(135deg, #1ccb00, #129000);
  color: #fff;
  box-shadow: 0 24px 70px rgba(28, 203, 0, 0.22);
}

.features__wrapper .attraction-content .cta h2 {
  margin: 0 0 14px;
  padding: 0;
  color: #fff;
  font-size: clamp(26px, 3vw, 38px);
}

.features__wrapper .attraction-content .cta h2::before {
  display: none;
}

.features__wrapper .attraction-content .cta p {
  max-width: 700px;
  margin: 0;
  color: rgba(255,255,255,0.94);
  font-size: 19px;
  line-height: 1.65;
}

@media (max-width: 768px) {
  .features__wrapper.wrapper {
    padding: 24px 16px 48px;
  }

  .features__wrapper .sight-detail-gallery {
    margin-bottom: 32px;
  }

  .features__wrapper .sight-detail-gallery .main-wrap {
    border-radius: 20px;
  }

  .features__wrapper .sight-detail-gallery .swiper-slide img {
    height: 62vw;
    min-height: 230px;
  }

  .features__wrapper .attraction-content {
    font-size: 16px;
    line-height: 1.72;
  }

  .features__wrapper .attraction-content h1 {
    font-size: 30px;
  }

  .features__wrapper .attraction-content .lead {
    font-size: 18px;
    line-height: 1.6;
  }

  .features__wrapper .attraction-content h2 {
    margin-top: 42px;
  }

  .features__wrapper .attraction-content .history {
    padding: 22px 20px;
    border-radius: 20px;
  }

  .features__wrapper .attraction-content .cta {
    margin-top: 42px;
    padding: 28px 22px;
    border-radius: 24px;
  }
}

.attraction.features__wrapper.wrapper {
    margin: 40px auto 0 auto;
    padding: 0px 0px 64px;
    border-radius: 30px;
}
.features__wrapper .attraction-content h1 {
    font-size: clamp(23px, 2.2vw, 32px);
}
.features__wrapper .attraction-content {
    max-width: 900px;
    font-size: 18px;
}
.features__wrapper .attraction-content .lead, .features__wrapper .attraction-content p {
    font-size: clamp(16px, 1.3vw, 18px);
    line-height: 1.5;
}
.features__wrapper .attraction-content h2 {
    margin: 40px 0 18px;
    font-size: clamp(23px, 1.6vw, 26px);
    line-height: 1.2;
}
.features__wrapper .attraction-content .history {
    border: 0px solid rgba(28, 203, 0, 0.16);
}
.features__wrapper .attraction-content .cta h2 {
    font-size: clamp(26px, 2.0vw, 34px);
}
.attraction.features__wrapper .sight-detail-gallery .main-wrap {
    border-radius: 30px 30px 0px 0px;
    box-shadow: none;
    border: none;
}
.attraction.features__wrapper .sight-detail-gallery .container {
    max-width: 100%;
    margin: 0 auto;
    padding: 0;
}
.attraction.features__wrapper .sight-detail-gallery {
    margin: 0 auto 42px;
}


.sights-premium__grid {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.sights-premium__group {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
}

.sights-premium__card {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 28px;
  aspect-ratio: 1 / 1;
}

.sights-premium__card--featured {
  aspect-ratio: 2 / 1;
}

.sights-premium__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sights-premium__desc {
  display: none;
}

.sights-premium__card--featured .sights-premium__desc {
  display: block;
}

.sights-premium__card--hidden {
  display: none !important;
}

/* 1-я секция: прямоугольник слева сверху */
.sights-premium__group--lt .sights-premium__card:nth-child(1) {
  grid-column: 1 / span 2;
  grid-row: 1;
}

/* 2-я секция: прямоугольник справа сверху */
.sights-premium__group--rt .sights-premium__card:nth-child(3) {
  grid-column: 3 / span 2;
  grid-row: 1;
}

/* 3-я секция: прямоугольник слева снизу */
.sights-premium__group--lb .sights-premium__card:nth-child(5) {
  grid-column: 1 / span 2;
  grid-row: 2;
}

/* 4-я секция: прямоугольник справа снизу */
.sights-premium__group--rb .sights-premium__card:nth-child(7) {
  grid-column: 3 / span 2;
  grid-row: 2;
}

@media (max-width: 1024px) {
  .sights-premium__group {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
  }

  .sights-premium__group--lt .sights-premium__card:nth-child(1),
  .sights-premium__group--rt .sights-premium__card:nth-child(3),
  .sights-premium__group--lb .sights-premium__card:nth-child(5),
  .sights-premium__group--rb .sights-premium__card:nth-child(7) {
    grid-column: 1 / -1;
    grid-row: auto;
  }

  .sights-premium__card--featured {
    aspect-ratio: 2 / 1;
  }
}

@media (max-width: 640px) {
  .sights-premium__grid,
  .sights-premium__group {
    gap: 16px;
  }

  .sights-premium__group {
    grid-template-columns: 1fr;
  }

  .sights-premium__card,
  .sights-premium__card--featured {
    aspect-ratio: 16 / 10;
  }
}


/* Новая сетка: секции по 7 карточек */
.sights-premium__grid {
  display: flex !important;
  flex-direction: column !important;
  gap: 24px !important;
}

.sights-premium__group {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 24px !important;
  align-items: stretch !important;
}

/* Сбрасываем старую логику featured */
.sights-premium__group > .sights-premium__card {
  grid-column: auto !important;
  grid-row: auto !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 1 / 1 !important;
}

/* Широкая карточка */
.sights-premium__group > .sights-premium__card--featured {
  aspect-ratio: 2 / 1 !important;
}

/* 1-я секция: прямоугольник слева сверху */
.sights-premium__group--lt > .sights-premium__card:nth-child(1) {
  grid-column: 1 / span 2 !important;
  grid-row: 1 !important;
}

/* 2-я секция: прямоугольник справа сверху */
.sights-premium__group--rt > .sights-premium__card:nth-child(3) {
  grid-column: 3 / span 2 !important;
  grid-row: 1 !important;
}

/* 3-я секция: прямоугольник слева снизу */
.sights-premium__group--lb > .sights-premium__card:nth-child(5) {
  grid-column: 1 / span 2 !important;
  grid-row: 2 !important;
}

/* 4-я секция: прямоугольник справа снизу */
.sights-premium__group--rb > .sights-premium__card:nth-child(7) {
  grid-column: 3 / span 2 !important;
  grid-row: 2 !important;
}

.sights-premium__image {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.sights-premium__card--hidden {
  display: none !important;
}

/* Описание только на широкой карточке */
.sights-premium__desc {
  display: none;
}

.sights-premium__card--featured .sights-premium__desc {
  display: block;
}

@media (max-width: 1024px) {
  .sights-premium__group {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
  }

  .sights-premium__group--lt > .sights-premium__card:nth-child(1),
  .sights-premium__group--rt > .sights-premium__card:nth-child(3),
  .sights-premium__group--lb > .sights-premium__card:nth-child(5),
  .sights-premium__group--rb > .sights-premium__card:nth-child(7) {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
  }

  .sights-premium__group > .sights-premium__card--featured {
    aspect-ratio: 2 / 1 !important;
  }
}

@media (max-width: 640px) {
  .sights-premium__group {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .sights-premium__group > .sights-premium__card,
  .sights-premium__group > .sights-premium__card--featured {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
    aspect-ratio: 16 / 10 !important;
  }
}

/* Premium hero section */

.sights-premium {
  background:
    radial-gradient(circle at 12% 18%, rgba(17, 177, 23, 0.08), transparent 32%),
    radial-gradient(circle at 82% 12%, rgba(255, 221, 0, 0.08), transparent 30%),
    #fafaf7;
}

.sights-premium__inner {
  position: relative;
}

.sights-premium__hero {
  position: relative;
  overflow: hidden;
  margin: 42px 0 28px;
  padding: 42px 44px 34px;
  border: 1px solid rgba(17, 177, 23, 0.14);
  border-radius: 34px;
  background:
    linear-gradient(135deg, rgba(255,255,255,0.96) 0%, rgba(250,255,248,0.92) 58%, rgba(235,252,236,0.9) 100%);
  box-shadow:
    0 24px 70px rgba(24, 37, 28, 0.08),
    inset 0 1px 0 rgba(255,255,255,0.9);
}

.sights-premium__hero::before {
  content: "";
  position: absolute;
  width: 420px;
  height: 420px;
  right: -120px;
  top: -160px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(17,177,23,0.16), transparent 68%);
  pointer-events: none;
}

.sights-premium__hero::after {
  content: "";
  position: absolute;
  right: 64px;
  bottom: 112px;
  width: 520px;
  height: 190px;
  opacity: 0.12;
  background:
    linear-gradient(to top, rgba(8, 61, 28, 0.34), rgba(8, 61, 28, 0.02)),
    url("data:image/svg+xml,%3Csvg width='640' height='230' viewBox='0 0 640 230' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24 208H616' stroke='%230A7D23' stroke-width='6' stroke-linecap='round'/%3E%3Cpath d='M80 208V110L124 78L168 110V208' stroke='%230A7D23' stroke-width='8' fill='none'/%3E%3Cpath d='M110 208V145H138V208' stroke='%230A7D23' stroke-width='7'/%3E%3Cpath d='M236 208V82' stroke='%230A7D23' stroke-width='8'/%3E%3Cpath d='M212 92L236 42L260 92' stroke='%230A7D23' stroke-width='8' fill='none'/%3E%3Cpath d='M306 208V116C306 82 334 54 368 54C402 54 430 82 430 116V208' stroke='%230A7D23' stroke-width='8' fill='none'/%3E%3Cpath d='M338 208V126C338 110 351 97 368 97C385 97 398 110 398 126V208' stroke='%230A7D23' stroke-width='7'/%3E%3Cpath d='M504 208V70' stroke='%230A7D23' stroke-width='8'/%3E%3Cpath d='M484 78L504 28L524 78' stroke='%230A7D23' stroke-width='8' fill='none'/%3E%3Cpath d='M552 208V128H590V208' stroke='%230A7D23' stroke-width='8' fill='none'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  pointer-events: none;
}

.sights-premium__hero-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    repeating-radial-gradient(
      circle at 100% 0%,
      rgba(17, 177, 23, 0.08) 0,
      rgba(17, 177, 23, 0.08) 1px,
      transparent 1px,
      transparent 14px
    );
  mask-image: linear-gradient(to left, #000, transparent 62%);
  opacity: 0.7;
}

.sights-premium__hero-main {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 36px;
  align-items: center;
}

.sights-premium__copy {
  max-width: 880px;
}

.sights-premium__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 22px;
  color: #137d25;
  font-size: 15px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.sights-premium__eyebrow::before {
  content: "";
  width: 46px;
  height: 2px;
  border-radius: 999px;
  background: #137d25;
}

.sights-premium__title {
  margin: 0;
  max-width: 980px;
  color: #18212a;
  font-size: clamp(42px, 4.4vw, 76px);
  font-weight: 800;
  line-height: 0.98;
  letter-spacing: -0.055em;
}

.sights-premium__subtitle {
  margin: 24px 0 0;
  max-width: 820px;
  color: #667381;
  font-size: clamp(18px, 1.35vw, 24px);
  font-weight: 500;
  line-height: 1.45;
}

.sights-premium__map {
  position: relative;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-width: 250px;
  height: 68px;
  padding: 0 34px;
  color: #18212a;
  font-size: 18px;
  font-weight: 600;
  text-decoration: none;
  border: 1px solid rgba(17, 177, 23, 0.32);
  border-radius: 999px;
  background: rgba(255,255,255,0.86);
  box-shadow:
    0 18px 46px rgba(17, 177, 23, 0.12),
    inset 0 1px 0 rgba(255,255,255,0.95);
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}

.sights-premium__map:hover {
  transform: translateY(-2px);
  border-color: rgba(17, 177, 23, 0.55);
  box-shadow:
    0 24px 60px rgba(17, 177, 23, 0.18),
    inset 0 1px 0 rgba(255,255,255,0.95);
}

.sights-premium__map-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  color: #11b117;
  font-size: 22px;
  line-height: 1;
}

.sights-premium__filters-panel {
  position: relative;
  z-index: 4;
  margin-top: 34px;
  padding: 18px;
  border: 1px solid rgba(23, 35, 45, 0.07);
  border-radius: 28px;
  background: rgba(255,255,255,0.78);
  backdrop-filter: blur(14px);
  box-shadow:
    0 20px 54px rgba(28, 38, 48, 0.08),
    inset 0 1px 0 rgba(255,255,255,0.9);
}

.sights-premium__filters {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.sights-premium__filter {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  height: 48px;
  padding: 0 22px;
  color: #53616f;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  border: 1px solid rgba(24, 33, 42, 0.11);
  border-radius: 999px;
  background: rgba(255,255,255,0.92);
  box-shadow:
    0 8px 22px rgba(22, 34, 46, 0.045),
    inset 0 1px 0 rgba(255,255,255,0.9);
  cursor: pointer;
  transition:
    transform 0.22s ease,
    color 0.22s ease,
    background 0.22s ease,
    border-color 0.22s ease,
    box-shadow 0.22s ease;
}

.sights-premium__filter:hover {
  transform: translateY(-1px);
  color: #18212a;
  border-color: rgba(17, 177, 23, 0.28);
  box-shadow:
    0 12px 28px rgba(22, 34, 46, 0.07),
    0 0 0 4px rgba(17, 177, 23, 0.045);
}

.sights-premium__filter.is-active {
  color: #fff;
  border-color: #11b117;
  background: linear-gradient(135deg, #11b117 0%, #0e9f14 100%);
  box-shadow:
    0 14px 34px rgba(17, 177, 23, 0.28),
    inset 0 1px 0 rgba(255,255,255,0.26);
}

.sights-premium__filter-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  min-width: 18px;
  height: 18px;
  font-size: 17px;
  line-height: 1;
  opacity: 0.9;
}

.sights-premium__filter.is-active .sights-premium__filter-icon {
  opacity: 1;
}

/* Новая сетка: секции по 7 карточек */

.sights-premium__grid {
  display: flex !important;
  flex-direction: column !important;
  gap: 24px !important;
}

.sights-premium__group {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 24px !important;
  align-items: stretch !important;
}

.sights-premium__group > .sights-premium__card {
  grid-column: auto !important;
  grid-row: auto !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 1 / 1 !important;
}

.sights-premium__group > .sights-premium__card--featured {
  aspect-ratio: 2 / 1 !important;
}

.sights-premium__group--lt > .sights-premium__card:nth-child(1) {
  grid-column: 1 / span 2 !important;
  grid-row: 1 !important;
}

.sights-premium__group--rt > .sights-premium__card:nth-child(3) {
  grid-column: 3 / span 2 !important;
  grid-row: 1 !important;
}

.sights-premium__group--lb > .sights-premium__card:nth-child(5) {
  grid-column: 1 / span 2 !important;
  grid-row: 2 !important;
}

.sights-premium__group--rb > .sights-premium__card:nth-child(7) {
  grid-column: 3 / span 2 !important;
  grid-row: 2 !important;
}

.sights-premium__image {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.sights-premium__card--hidden {
  display: none !important;
}

.sights-premium__desc {
  display: none;
}

.sights-premium__card--featured .sights-premium__desc {
  display: block;
}

/* Adaptive */

@media (max-width: 1180px) {
  .sights-premium__hero {
    padding: 34px 30px 28px;
  }

  .sights-premium__hero-main {
    grid-template-columns: 1fr;
  }

  .sights-premium__map {
    justify-self: start;
  }
}

@media (max-width: 1024px) {
  .sights-premium__group {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
  }

  .sights-premium__group--lt > .sights-premium__card:nth-child(1),
  .sights-premium__group--rt > .sights-premium__card:nth-child(3),
  .sights-premium__group--lb > .sights-premium__card:nth-child(5),
  .sights-premium__group--rb > .sights-premium__card:nth-child(7) {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
  }

  .sights-premium__group > .sights-premium__card--featured {
    aspect-ratio: 2 / 1 !important;
  }
}

@media (max-width: 768px) {
  .sights-premium__hero {
    margin-top: 28px;
    padding: 28px 20px 22px;
    border-radius: 26px;
  }

  .sights-premium__hero::after {
    display: none;
  }

  .sights-premium__eyebrow {
    margin-bottom: 16px;
    font-size: 12px;
    letter-spacing: 0.12em;
  }

  .sights-premium__eyebrow::before {
    width: 30px;
  }

  .sights-premium__title {
    font-size: 38px;
    letter-spacing: -0.045em;
  }

  .sights-premium__subtitle {
    margin-top: 18px;
    font-size: 17px;
  }

  .sights-premium__map {
    width: 100%;
    min-width: 0;
    height: 58px;
    font-size: 16px;
  }

  .sights-premium__filters-panel {
    margin-top: 24px;
    padding: 12px;
    border-radius: 22px;
  }

  .sights-premium__filters {
    gap: 10px;
  }

  .sights-premium__filter {
    height: 42px;
    padding: 0 15px;
    font-size: 14px;
  }
}

@media (max-width: 640px) {
  .sights-premium__group {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .sights-premium__group > .sights-premium__card,
  .sights-premium__group > .sights-premium__card--featured {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
    aspect-ratio: 16 / 10 !important;
  }
}

@media (max-width: 480px) {
  .sights-premium__title {
    font-size: 32px;
  }

  .sights-premium__filter {
    width: 100%;
    justify-content: flex-start;
  }
}

.sights-premium {
    padding: 0px 0 0px;
}
.sights-premium__hero {
background-image: url(/upload/images/fon-top-1.jpg);
    background-size: cover;
    background-position: bottom;
}
.sights-premium__filters-panel {
    background: rgb(255 255 255 / 33%);
    backdrop-filter: blur(14px);
}
.sights-premium__filter {
    padding: 0 22px;
    color: #53616f;
    font-size: 15px;
    font-weight: 500;
    height: 42px;
    border: 0px solid rgba(24, 33, 42, 0.11);
    background: rgb(255 255 255 / 46%);
}
.sights-premium__filter-icon {
    display: none;
}

.sights-premium {
    padding: 0px 0 0px;
}
.sights-premium__hero {
background-image: url(/upload/images/fon-top-1.jpg);
    background-size: cover;
    background-position: bottom;
}
.sights-premium__filters-panel {
    background: rgb(255 255 255 / 33%);
    backdrop-filter: blur(14px);
}
.sights-premium__filter {
    padding: 0 22px;
    color: #53616f;
    font-size: 15px;
    font-weight: 500;
    height: 42px;
    border: 0px solid rgba(24, 33, 42, 0.11);
    background: rgb(255 255 255 / 46%);
}
.sights-premium__filter-icon {
    display: none;
}
.sights-premium__map {
    min-width: 245px;
    height: 50px;
    padding: 0 20px;
    color: #18212a;
    font-size: 17px;
    font-weight: 600;
    border: 0px solid rgba(17, 177, 23, 0.32);
    background: #ffffffd1;
    box-shadow: 0 18px 46px rgba(17, 177, 23, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.95);
    align-self: self-start;
    align-items: center;
}

.sights-map-lock {
  overflow: hidden;
}

.sights-map-modal {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: none;
}

.sights-map-modal.is-open {
  display: block;
}

.sights-map-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(12, 18, 24, 0.62);
  backdrop-filter: blur(8px);
}

.sights-map-modal__dialog {
  position: absolute;
  inset: 32px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 32px;
  background: #fff;
  box-shadow:
    0 32px 90px rgba(0, 0, 0, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

.sights-map-modal__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 24px 28px;
  border-bottom: 1px solid rgba(20, 31, 42, 0.08);
  background:
    radial-gradient(circle at 12% 0%, rgba(17, 177, 23, 0.08), transparent 34%),
    linear-gradient(135deg, #ffffff 0%, #f8fff7 100%);
}

.sights-map-modal__eyebrow {
  margin-bottom: 6px;
  color: #11a817;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.sights-map-modal__title {
  color: #18212a;
  font-size: clamp(22px, 2.2vw, 34px);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.035em;
}

.sights-map-modal__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  min-width: 48px;
  height: 48px;
  border: 1px solid rgba(20, 31, 42, 0.12);
  border-radius: 999px;
  background: #fff;
  color: #18212a;
  font-size: 34px;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(20, 31, 42, 0.08);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.sights-map-modal__close:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 34px rgba(20, 31, 42, 0.12);
}

.sights-map-modal__map {
  flex: 1;
  min-height: 520px;
  background: #eef3ef;
}

.sights-map-balloon {
  width: 260px;
  overflow: hidden;
  border-radius: 18px;
  background: #fff;
}

.sights-map-balloon__image {
  display: block;
  width: 100%;
  height: 128px;
  object-fit: cover;
}

.sights-map-balloon__body {
  padding: 14px;
}

.sights-map-balloon__meta {
  margin-bottom: 5px;
  color: #6a7580;
  font-size: 12px;
  line-height: 1.25;
}

.sights-map-balloon__title {
  color: #18212a;
  font-size: 17px;
  font-weight: 800;
  line-height: 1.15;
}

.sights-map-balloon__link {
  display: inline-flex;
  margin-top: 12px;
  color: #0ca814;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
}

.sights-map-balloon__link:hover {
  text-decoration: underline;
}

@media (max-width: 768px) {
  .sights-map-modal__dialog {
    inset: 12px;
    border-radius: 24px;
  }

  .sights-map-modal__head {
    padding: 18px;
  }

  .sights-map-modal__title {
    font-size: 22px;
  }

  .sights-map-modal__map {
    min-height: 68vh;
  }
}

.quote-section--cta {
  position: relative;
  overflow: hidden;
}

.quote-section__content {
  position: relative;
  z-index: 2;
}

.quote-section__actions {
  position: relative;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 34px;
}

.quote-section__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 58px;
  padding: 0 28px;
  border-radius: 999px;
  font-size: 17px;
  font-weight: 800;
  line-height: 1.15;
  text-decoration: none;
  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease,
    background 0.22s ease,
    color 0.22s ease,
    border-color 0.22s ease;
}

.quote-section__button--primary {
  color: #07910c;
  background: #ffffff;
  box-shadow:
    0 18px 42px rgba(0, 0, 0, 0.16),
    inset 0 1px 0 rgba(255, 255, 255, 0.95);
}

.quote-section__button--primary:hover {
  color: #057a09;
  transform: translateY(-2px);
  box-shadow:
    0 24px 56px rgba(0, 0, 0, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.95);
}

.quote-section__button--secondary {
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.62);
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(8px);
}

.quote-section__button--secondary:hover {
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.95);
  background: rgba(255, 255, 255, 0.18);
  transform: translateY(-2px);
}

.quote-section__button-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  min-width: 28px;
  height: 28px;
  border-radius: 999px;
  color: #ffffff;
  background: #0fb515;
  font-size: 18px;
  line-height: 1;
}

@media (max-width: 640px) {
  .quote-section__actions {
    margin-top: 28px;
  }

  .quote-section__button {
    width: 100%;
    min-height: 54px;
    padding: 0 20px;
    font-size: 15px;
  }
}
.attraction-detail-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin: 34px 0 0;
}

.attraction-detail-actions__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 58px;
  padding: 0 28px;
  border-radius: 999px;
  font-size: 17px;
  font-weight: 800;
  line-height: 1.15;
  text-decoration: none;
  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease,
    background 0.22s ease,
    color 0.22s ease,
    border-color 0.22s ease;
}

.attraction-detail-actions__button--primary {
  color: #07910c;
  background: #ffffff;
  box-shadow:
    0 18px 42px rgba(0, 0, 0, 0.14),
    inset 0 1px 0 rgba(255, 255, 255, 0.95);
}

.attraction-detail-actions__button--primary:hover {
  color: #057a09;
  transform: translateY(-2px);
  box-shadow:
    0 24px 56px rgba(0, 0, 0, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.95);
}

.attraction-detail-actions__button--secondary {
  color: #0b8f12;
  border: 1px solid rgba(15, 181, 21, 0.34);
  background: rgba(15, 181, 21, 0.08);
}

.attraction-detail-actions__button--secondary:hover {
  color: #067c0c;
  border-color: rgba(15, 181, 21, 0.58);
  background: rgba(15, 181, 21, 0.13);
  transform: translateY(-2px);
}

.attraction-detail-actions__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  min-width: 28px;
  height: 28px;
  border-radius: 999px;
  color: #ffffff;
  background: #0fb515;
  font-size: 18px;
  line-height: 1;
}

@media (max-width: 640px) {
  .attraction-detail-actions {
    margin-top: 28px;
  }

  .attraction-detail-actions__button {
    width: 100%;
    min-height: 54px;
    padding: 0 20px;
    font-size: 15px;
  }
}

.features__wrapper .attraction-content a:hover {
    transition: transform 0.3s ease;
}
.features__wrapper .attraction-content a {
    transition: transform 0.3s ease;
}

.sights-premium {
    background: #ffffff;
}
.sights-premium__hero {
    border: 0px solid rgba(17, 177, 23, 0.14);
}
.ymaps-2-1-79-balloon__content {
    margin: 0 !important;
    padding: 0px 0px !important;
}
.ymaps-2-1-79-balloon__close+.ymaps-2-1-79-balloon__content {
    margin-right: 0px !important;
    padding-right: 0 !important;
}
.ymaps-2-1-79-balloon__close-button {
    width: 30px  !important;
    height: 30px  !important;
    background-color: white  !important;
    border-radius: 50px  !important;
opacity: 1 !important;
right: 10px;
    top: 10px;
    position: absolute;
}
.ymaps-2-1-79-balloon__layout {
    position: relative;
    display: block;
    overflow: hidden !important;
    background: #ffffff00 !important;
    border-radius: 30px !important;
}
.ymaps-2-1-79-balloon {
    box-shadow: none !important;
}
.ymaps-2-1-79-balloon__layout {
    overflow: hidden !important;
    background: transparent !important;
    box-shadow: 0px 0px 20px #00000063;
}

@media (max-width: 768px) {
    .sights-premium__title {
        font-size: 25px;
    }
    .sights-premium__hero-main {
    gap: 0px;
}
    .sights-premium__map {
    gap: 5px;
    }
     .sights-premium__filter {
      width: auto;
    }
    .sights-premium__filters {
    margin: 0px;
}
.sights-premium__filter {
    padding: 0 15px;
    height: 42px;
font-weight: 400;
}
.sights-premium__card--featured .sights-premium__desc {
    display: none;
}
.sights-premium__card--featured .sights-premium__name, .sights-premium__name {
    font-size: 18px;
    }
    .sights-premium__more {
    min-height: 48px;
    padding: 12px 34px;
    }
    .seo.about h2 {
    font-size: 23px;
}
.seo.about h3 {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.7rem;
}
.sights-premium__map {
    font-size: 16px;
}
.sights-premium__arrow {
    top: 17px;
    width: 36px;
    height: 36px;
}
.sights-premium__content {
    left: 22px;
    right: 20px;
}
    .sights-premium__filters {
        padding: 0 0px 8px;
    }
.sights-premium__filters-panel {
    border: 0px solid rgba(23, 35, 45, 0.07);
    background: rgba(255, 255, 255, 0.78);
}
.sight-detail-gallery .gallery-main-swiper .swiper-slide {
  height: 100%;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.sight-detail-gallery .gallery-main-swiper .swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center center;
}
.features__wrapper .attraction-content h1 {
    font-size: clamp(20px, 2.0vw, 30px);
    margin: 0px 0 15px;
}
.features__wrapper .attraction-content h2 {
    margin: 30px 0 10px;
    font-size: clamp(18px, 1.6vw, 26px);
    line-height: 1.2;
    font-weight: 700;
}
.features__wrapper .attraction-content h2::before {
    width: 80px;
    height: 3px;
    background: linear-gradient(90deg, #1ccb00f2, #92e96f00);
}
.features__wrapper .attraction-content .cta h2 {
    font-size: clamp(20px, 2.0vw, 34px);
    font-weight: 800;
}
.features__wrapper .attraction-content .cta p {
    max-width: 700px;
    font-size: 17px;
    line-height: 1.45;
}
.quote-section--cta {
    display: none;
}
.attraction.features__wrapper.wrapper {
    margin: 40px auto 0 auto;
}
.sights-premium__meta {
    display: none;
}
.sights-premium__content {
    left: 22px;
    right: 22px;
    bottom: 22px;
}
.sights-premium__filters {
    padding: 12px;
}
.sights-premium__filters-panel {
    padding: 0px;
    background: rgb(255 255 255 / 27%);
}
.sights-premium__title {
        font-size: 23px;
    }
.sights-premium section.seo.about {
    padding: 25px;
}
.sights-premium .seo.about h2 {
        font-size: 21px;
        font-weight: 700;
    }
.sights-premium .seo.about h3 {
        font-size: 18px;
        font-weight: 700;
        line-height: 1.5rem;
    }
.attraction.features__wrapper.wrapper {
    padding: 0px 0px 0px;
}
.sights-premium__shade {
    background: linear-gradient(180deg, rgba(0, 0, 0, .00) 0%, rgba(0, 0, 0, .38) 78%, rgba(0, 0, 0, .78) 100%);
}
}
.date-section {
    padding: 70px 0px 30px 0px;
}

.topics-modal-content.attraction-modal-content .attraction-detail-actions__button--secondary, .our__team-link.place__link {
display: none;
}

@media (max-width: 768px) {
#attractionModal {
    margin: auto;
    }
.attraction-modal__eyebrow {
    letter-spacing: normal;
}
#attractionModal.topics-modal .modal-header {
        padding: 20px 18px 10px;
    }
.modal-body.attraction-modal-body {
        padding: 5px 0px 23px 0px;
    }
.attraction.features__wrapper.wrapper {
    margin: 10px auto 0 auto;
}
    .attraction-modal-content {
        max-height: calc(100vh - 110px);
        border-radius: 24px;
    }
.attraction-modal__container {
   padding-left: 0px !important;
   padding-right: 0px !important;
    }
#attractionModal .attraction-modal__image-wrap {
    border-radius: 0px;
}
.modal-body.attraction-modal-body {
    padding: 0px 0px 23px 0px;
}
.attraction.features__wrapper.wrapper {
    margin: 0px auto 0 auto;
}
.attraction-modal__actions {
    margin: 30px 20px 0px 20px;
}
    .mob-menu-close {
        background: #17aa00;
        color: #fffefe;
    }
    .mob-menu-nav a {
        font-size: 14px;
        padding: 10px 20px;
    }
}
.leave-btn {
    margin-top: 5%;
}
.sights-premium__hero::after {
    background: none;
}
.features__wrapper .attraction-content .cta
 {
    margin: 10px 0 8px;
}

@media (min-width: 769px) {
.features__wrapper .attraction-content
 {
    padding-bottom: 35px;
}
.date-section {
    padding: 70px 0px 0px 0px;
}
}
.reviews__yandex .title, .reviews .title {
    font-family: 'Mulish' !important;
    font-weight: 700 !important;
    font-size: 25px !important;
margin: 0px !important;
}
.reviews__yandex .title-block, .reviews .title-block {
    justify-content: left;
margin: 25px 0px 15px 0px !important;
}
.about__title-block, .title-block.reviews__title-block {
    margin-bottom: 15px;
    margin-top: 25px;
}
.reviews__yandex {
    margin-top: 30px;
}
    .wrapper.reviews__wrapper {
        width: 100%;
    }
.review-container .reviews
 {
    padding: 0px 15px;
}
.reviews__wrapper .reviews__list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  column-gap: 30px !important;
  row-gap: 30px !important;
}

/* Фильтр на всю ширину */
.reviews__wrapper .review__filter {
  grid-column: 1 / -1;
}

/* Карточки отзывов */
.reviews__wrapper .reviews__item {
  width: 100%;
  min-width: 0;
}
.reviews__yandex.page_reviews, .reviews__yandex.page_reviews .reviews:last-child {
    padding-bottom: 0px;
}

.page_reviews .reviews__text {
    color: #4d4d4d;
    font-size: 16px;
}
.page_reviews .reviews__name {
    font-size: 18px;
}
.page_reviews  .reviews__stars
 {
    padding-top: 0px;
gap: 7px;
    margin-right: 10px;
    align-items: center;
}
.page_reviews .stars svg {
    fill: #fed713;
}

@media (max-width: 768px) {
.page_reviews .reviews__list {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
}
.page_reviews .reviews__item {
    padding: 22px 25px 20px;
}
.page_reviews .review-container .reviews {
    padding: 0px 0px;
    margin: 30px 0px 0px 0px;
}
.page_reviews .review-container h3.form__title {
    margin: 0px;
    font-size: 22px;
}
.page_reviews .reviews__wrapper .form__rating {
    margin-bottom: 5px;
}
.page_reviews .detail-reviews .form {
    margin-bottom: 10px;
}
.page_reviews.reviews__yandex {
    margin-top: 0px;
    margin-bottom: 0px;
}
.full-schedule {
        font-size: 15px;
    }
}


@media (max-width: 768px) {
.contacts-premium, .contacts-premium-page, .page.universal:has(.contacts-premium-page) > .container  {
    overflow: visible;
}
.contacts-premium {
    padding: 34px 0 0px;
}
.calendar-dates span {
        width: 36px;
        height: 36px;
        font-size: 14px;
}
.card-image img {
    height: 250px;
}
}
@media (min-width: 769px) {
.nav-menu a {
    font-size: 14px;
}
.nav-menu {
    gap: 25px;
	}
    header.nav .nav-menu > a:nth-of-type(1),
    header.nav .nav-menu > a:nth-of-type(2) {
        display: none !important;
    }
.payment-section {
    margin-top: 30px;
}
}
.booking-time-option {
  width: 100%;
  display: block;
  padding: 12px 20px;
  border: 0;
  background: #fff;
  text-align: left;
  font: inherit;
  cursor: pointer;
}

.booking-time-option:hover {
  background: #f5f5f7;
}

.booking-time-empty {
  padding: 12px 20px;
  color: #8a8a8a;
}


/* Главная — мобильные поля сетки экскурсий */
@media (max-width: 767px) {
    section.excursions-section.container {
        display: block;
        box-sizing: border-box;

        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;

        margin-top: 16px !important;
        margin-left: 16px !important;
        margin-right: 16px !important;
        margin-bottom: 0 !important;

        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    section.excursions-section.container .excursions-grid {
        box-sizing: border-box;
        width: 100%;
        min-width: 0;
        max-width: 100%;
        grid-template-columns: minmax(0, 1fr);
    }

    section.excursions-section.container .excursion-card {
        box-sizing: border-box;
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }
}
/* Достопримечательности — продолжение слайдера до правого края */
@media (max-width: 767px) {
    .attractions-gallery .attractions-gallery-slider {
        width: calc(100% + 0px);
        max-width: none;
        border-radius: 16px;
        overflow: hidden;
    }

    .attractions-gallery .attractions-cards-wrapper {
        width: 100%;
        max-width: none;
        padding-right: 0;
    }
}


/* HANTOUR_LAYOUT_FIXES_20260730 */

@media (min-width: 769px) {
    .tour-reviews-head h2 {
        margin: 0;
        font-size: 34px;
        font-weight: 700;
    }

    .tour-reviews-author {
        font-size: 16px;
    }

    .tour-reviews-list {
        padding: 40px 30px 0 0;
    }

    .calendar-dates span {
        width: 45px;
        height: 45px;
    }
}

@media (max-width: 768px) {
    .booking-counter-grid {
        grid-template-columns: 1fr 1fr;
    }

    .date-section {
        padding: 20px 0 30px;
    }

    .exc-main-left .exc-page {
        padding: 0;
    }

    .universal .exc-section-title {
        font-size: 24px;
        font-weight: 700;
    }

    .container.about_us {
        padding-left: 30px !important;
        padding-right: 30px !important;
    }

    .container.personal {
        padding: 0 16px;
    }

    .our__team__slider-wrap .swiper-wrapper {
        gap: 0;
        padding: 0 20px;
    }

    #sec-similar {
        padding: 0 16px;
    }

    .payment-section {
        padding: 0 28px;
    }

    .page.universal .hero {
        margin: 0 auto;
    }

    .reviews .wrapper.reviews__wrapper,
    .reviews .title-block {
        padding: 0 16px;
    }

    .contacts-premium {
        padding: 0 20px;
    }

    .seo__wrapper.wrapper {
        padding: 10px 8px;
    }
}


/* HANTOUR_LAYOUT_FIXES_20260730_B */

@media (min-width: 769px) {
    .topics-modal .filter-section {
        padding-top: 20px;
    }

    .page.universal .about-company h1 {
        font-size: 32px;
        font-weight: 700;
        padding: 15px 0;
    }
}

@media (max-width: 768px) {
    .download-btn {
        margin-bottom: 17px;
    }

    .about-intro-text span {
        display: inline-block;
        font-size: 15px;
        line-height: 1.6;
        text-align: justify;
    }

    .exc-page .about-intro-text h2 {
        font-weight: 700;
    }

    .mobile-show .similar-track .excursion-card {
        margin-bottom: 20px;
    }

    .mobile-show #sec-similar > .container {
        overflow: visible;
    }

    .contacts-premium {
        padding: 34px 10px 35px;
    }

    .quote-section {
        margin-bottom: 80px;
    }
}

@media (max-width: 900px) {
    .content__wrapper.wrapper {
        width: 100%;
        padding-left: 0;
        padding-right: 0;
        margin-left: 0;
        margin-right: 0;
    }
}


/* ================================================================
   HANTOUR_EXCURSION_VIDEO_PROMO_20260801
   Видео экскурсии — мобильная версия
   ================================================================ */

.exc-video-promo,
.exc-video-promo * {
    box-sizing: border-box;
}

.exc-video-promo--mobile {
    display: none;
}

@media (max-width: 768px) {

    .exc-video-promo--mobile {
        display: block;
        width: 100%;
        margin: 24px 0 22px;
        padding: 18px 14px 14px;
        border: 1px solid #edf1ed;
        border-radius: 24px;
        background:
            linear-gradient(
                180deg,
                #ffffff 0%,
                #f7faf7 100%
            );
        box-shadow:
            0 10px 32px rgba(25, 53, 30, 0.08);
        overflow: hidden;
    }

    .exc-video-promo__head {
        margin: 0 2px 15px;
    }

    .exc-video-promo__eyebrow {
        display: flex;
        align-items: center;
        gap: 10px;
        margin: 0;
        color: #111;
        font-size: 20px;
        font-weight: 700;
        line-height: 1.25;
    }

    .exc-video-promo__eyebrow-icon {
        position: relative;
        flex: 0 0 34px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 34px;
        height: 34px;
        border-radius: 10px;
        background:
            linear-gradient(
                135deg,
                #20c519 0%,
                #0eaa08 100%
            );
        color: #fff;
        font-size: 15px;
        line-height: 1;
        box-shadow:
            0 5px 14px rgba(17, 181, 12, 0.22);
    }

    .exc-video-promo__lead {
        margin-top: 7px;
        color: #68706f;
        font-size: 14px;
        font-weight: 400;
        line-height: 1.4;
    }

    .exc-video-promo__list {
        display: flex;
        flex-direction: column;
        gap: 11px;
        width: 100%;
    }

    .exc-video-promo__item {
        display: grid;
        grid-template-columns:
            116px
            minmax(0, 1fr)
            20px;
        gap: 12px;
        align-items: center;
        width: 100%;
        min-width: 0;
        padding: 9px;
        border: 1px solid #eef1ee;
        border-radius: 17px;
        background: #fff;
        color: #111;
        text-decoration: none;
        box-shadow:
            0 6px 18px rgba(21, 42, 24, 0.07);
        -webkit-tap-highlight-color: transparent;
    }

    .exc-video-promo__item:active {
        transform: scale(0.99);
    }

    .exc-video-promo__thumb {
        position: relative;
        display: block;
        width: 116px;
        height: 86px;
        min-width: 0;
        overflow: hidden;
        border-radius: 12px;
        background: #e8eee8;
    }

    .exc-video-promo__thumb img,
    .exc-video-promo__thumb-placeholder {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .exc-video-promo__thumb::after {
        content: "";
        position: absolute;
        inset: 0;
        background:
            linear-gradient(
                180deg,
                rgba(0, 0, 0, 0.02) 35%,
                rgba(0, 0, 0, 0.23) 100%
            );
        pointer-events: none;
    }

    .exc-video-promo__play {
        position: absolute;
        z-index: 2;
        top: 50%;
        left: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 43px;
        height: 43px;
        padding-left: 2px;
        border: 2px solid rgba(255, 255, 255, 0.94);
        border-radius: 50%;
        background: rgba(20, 25, 22, 0.58);
        color: #fff;
        font-size: 15px;
        line-height: 1;
        transform: translate(-50%, -50%);
        box-shadow:
            0 4px 16px rgba(0, 0, 0, 0.2);
    }

    .exc-video-promo__duration {
        position: absolute;
        z-index: 2;
        left: 6px;
        bottom: 6px;
        display: inline-flex;
        padding: 3px 6px;
        border-radius: 6px;
        background: rgba(11, 15, 13, 0.82);
        color: #fff;
        font-size: 11px;
        font-weight: 600;
        line-height: 1.1;
    }

    .exc-video-promo__body {
        display: flex;
        flex-direction: column;
        min-width: 0;
    }

    .exc-video-promo__title {
        display: block;
        margin-bottom: 4px;
        color: #101410;
        font-size: 16px;
        font-weight: 700;
        line-height: 1.25;
    }

    .exc-video-promo__text {
        display: -webkit-box;
        overflow: hidden;
        color: #626966;
        font-size: 13px;
        font-weight: 400;
        line-height: 1.35;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .exc-video-promo__link {
        display: block;
        margin-top: 5px;
        color: #0caf05;
        font-size: 13px;
        font-weight: 600;
        line-height: 1.25;
    }

    .exc-video-promo__arrow {
        display: flex;
        align-items: center;
        justify-content: center;
        align-self: stretch;
        color: #0eb008;
        font-size: 23px;
        font-weight: 400;
        line-height: 1;
    }
}

@media (max-width: 430px) {

    .exc-video-promo--mobile {
        margin-top: 21px;
        padding: 16px 11px 12px;
        border-radius: 21px;
    }

    .exc-video-promo__eyebrow {
        font-size: 18px;
    }

    .exc-video-promo__lead {
        font-size: 13px;
    }

    .exc-video-promo__item {
        grid-template-columns:
            104px
            minmax(0, 1fr)
            17px;
        gap: 9px;
        padding: 8px;
        border-radius: 15px;
    }

    .exc-video-promo__thumb {
        width: 104px;
        height: 78px;
        border-radius: 10px;
    }

    .exc-video-promo__title {
        font-size: 15px;
    }

    .exc-video-promo__text,
    .exc-video-promo__link {
        font-size: 12px;
    }

    .exc-video-promo__arrow {
        font-size: 21px;
    }
}

/* ================================================================
   /HANTOUR_EXCURSION_VIDEO_PROMO_20260801
   ================================================================ */


/* ================================================================
   HANTOUR_DESKTOP_VIDEO_SLIDE_STYLE_20260801
   Видеогалерея в первом слайде на десктопе
   ================================================================ */

.exc-video-promo--desktop {
    display: none;
}

.exc-video-promo__desktop-intro {
    display: none;
}

@media (min-width: 901px) {

    .gallery-main-swiper
    .exc-gallery-first-slide.has-desktop-video-promo {
        position: relative;
        width: 100%;
        aspect-ratio: 4 / 3;
        overflow: hidden;
        isolation: isolate;
        background: #142018;
    }

    .gallery-main-swiper
    .exc-gallery-first-slide.has-desktop-video-promo
    > img.exc-gallery-first-image {
        position: absolute;
        z-index: 0;
        inset: -4%;
        display: block;
        width: 108%;
        max-width: none;
        height: 108%;
        object-fit: cover;
        filter:
            blur(10px)
            brightness(0.42)
            saturate(0.82);
        transform: scale(1.04);
    }

    .gallery-main-swiper
    .exc-gallery-first-slide.has-desktop-video-promo::after {
        content: "";
        position: absolute;
        z-index: 1;
        inset: 0;
        background:
            linear-gradient(
                90deg,
                rgba(8, 14, 12, 0.76) 0%,
                rgba(8, 14, 12, 0.55) 45%,
                rgba(8, 14, 12, 0.42) 100%
            );
        pointer-events: none;
    }

    .exc-video-promo--desktop {
        position: absolute;
        z-index: 2;
        inset: 0;
        display: grid;
        grid-template-columns:
            minmax(220px, 0.82fr)
            minmax(340px, 1.18fr);
        align-items: center;
        gap: 28px;
        width: 100%;
        height: 100%;
        margin: 0;
        padding: 34px 36px;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        overflow: hidden;
        color: #fff;
    }

    .exc-video-promo--desktop
    .exc-video-promo__head {
        display: none;
    }

    .exc-video-promo--desktop
    .exc-video-promo__desktop-intro {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        min-width: 0;
        color: #fff;
    }

    .exc-video-promo__desktop-badge {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        margin-bottom: 18px;
        color: #40d532;
        font-size: 14px;
        font-weight: 700;
        line-height: 1.25;
    }

    .exc-video-promo__desktop-badge span {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 30px;
        height: 30px;
        padding-left: 2px;
        border: 1px solid rgba(255, 255, 255, 0.72);
        border-radius: 50%;
        color: #35ce29;
        font-size: 12px;
    }

    .exc-video-promo--desktop
    .exc-video-promo__desktop-intro h2 {
        margin: 0 0 22px;
        color: #fff;
        font-family: inherit;
        font-size: clamp(28px, 2.3vw, 42px);
        font-weight: 800;
        line-height: 1.12;
        letter-spacing: -0.025em;
    }

    .exc-video-promo--desktop
    .exc-video-promo__desktop-intro p {
        max-width: 340px;
        margin: 0;
        color: rgba(255, 255, 255, 0.84);
        font-size: 15px;
        font-weight: 400;
        line-height: 1.5;
    }

    .exc-video-promo__desktop-note {
        position: relative;
        margin-top: 34px;
        color: #43d836;
        font-size: 17px;
        font-style: italic;
        font-weight: 500;
        line-height: 1.3;
    }

    .exc-video-promo__desktop-note::after {
        content: "↝";
        display: inline-block;
        margin-left: 18px;
        font-size: 42px;
        font-style: normal;
        line-height: 0;
        transform: translateY(8px) rotate(8deg);
    }

    .exc-video-promo--desktop
    .exc-video-promo__list {
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 14px;
        min-width: 0;
        width: 100%;
        height: 100%;
    }

    .exc-video-promo--desktop
    .exc-video-promo__item {
        display: grid;
        grid-template-columns:
            150px
            minmax(0, 1fr)
            22px;
        align-items: center;
        gap: 16px;
        width: 100%;
        min-width: 0;
        padding: 10px;
        border: 1px solid rgba(255, 255, 255, 0.26);
        border-radius: 16px;
        background: rgba(17, 28, 30, 0.57);
        box-shadow:
            0 10px 28px rgba(0, 0, 0, 0.18);
        backdrop-filter: blur(11px);
        -webkit-backdrop-filter: blur(11px);
        color: #fff;
        text-decoration: none;
        transition:
            transform 0.2s ease,
            border-color 0.2s ease,
            background 0.2s ease;
    }

    .exc-video-promo--desktop
    .exc-video-promo__item:hover {
        transform: translateY(-2px);
        border-color: rgba(70, 222, 57, 0.78);
        background: rgba(17, 35, 30, 0.72);
    }

    .exc-video-promo--desktop
    .exc-video-promo__thumb {
        position: relative;
        display: block;
        width: 150px;
        height: 96px;
        overflow: hidden;
        border-radius: 12px;
        background: rgba(255, 255, 255, 0.1);
    }

    .gallery-main-swiper
    .swiper-slide
    .exc-video-promo--desktop
    .exc-video-promo__thumb img {
        position: static;
        display: block;
        width: 100% !important;
        max-width: none !important;
        height: 100% !important;
        object-fit: cover !important;
        border-radius: 0 !important;
        filter: none !important;
        transform: none !important;
    }

    .exc-video-promo--desktop
    .exc-video-promo__thumb::after {
        content: "";
        position: absolute;
        inset: 0;
        background:
            linear-gradient(
                180deg,
                rgba(0, 0, 0, 0.02) 25%,
                rgba(0, 0, 0, 0.23) 100%
            );
        pointer-events: none;
    }

    .exc-video-promo--desktop
    .exc-video-promo__play {
        position: absolute;
        z-index: 2;
        top: 50%;
        right: -21px;
        left: auto;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        padding-left: 3px;
        border: 0;
        border-radius: 50%;
        background: #fff;
        color: #1fc317;
        font-size: 16px;
        line-height: 1;
        transform: translateY(-50%);
        box-shadow:
            0 5px 18px rgba(0, 0, 0, 0.22);
    }

    .exc-video-promo--desktop
    .exc-video-promo__duration {
        position: absolute;
        z-index: 2;
        left: 8px;
        bottom: 7px;
        padding: 3px 6px;
        border-radius: 6px;
        background: rgba(7, 12, 10, 0.8);
        color: #48dd3c;
        font-size: 11px;
        font-weight: 700;
        line-height: 1.1;
    }

    .exc-video-promo--desktop
    .exc-video-promo__body {
        display: flex;
        flex-direction: column;
        min-width: 0;
        padding-left: 6px;
    }

    .exc-video-promo--desktop
    .exc-video-promo__title {
        display: block;
        margin-bottom: 5px;
        color: #fff;
        font-size: 18px;
        font-weight: 750;
        line-height: 1.2;
    }

    .exc-video-promo--desktop
    .exc-video-promo__text {
        display: -webkit-box;
        overflow: hidden;
        color: rgba(255, 255, 255, 0.78);
        font-size: 13px;
        font-weight: 400;
        line-height: 1.35;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .exc-video-promo--desktop
    .exc-video-promo__link {
        display: block;
        margin-top: 6px;
        color: #45dc39;
        font-size: 12px;
        font-weight: 700;
        line-height: 1.2;
    }

    .exc-video-promo--desktop
    .exc-video-promo__arrow {
        display: flex;
        align-items: center;
        justify-content: center;
        color: #42d936;
        font-size: 24px;
        line-height: 1;
    }
}

@media (min-width: 901px) and (max-width: 1100px) {

    .exc-video-promo--desktop {
        grid-template-columns: 1fr;
        align-content: center;
        gap: 16px;
        padding: 24px 30px;
    }

    .exc-video-promo--desktop
    .exc-video-promo__desktop-intro {
        align-items: center;
        text-align: center;
    }

    .exc-video-promo--desktop
    .exc-video-promo__desktop-badge {
        margin-bottom: 8px;
    }

    .exc-video-promo--desktop
    .exc-video-promo__desktop-intro h2 {
        margin-bottom: 0;
        font-size: 27px;
    }

    .exc-video-promo--desktop
    .exc-video-promo__desktop-intro p,
    .exc-video-promo--desktop
    .exc-video-promo__desktop-note {
        display: none;
    }

    .exc-video-promo--desktop
    .exc-video-promo__list {
        width: min(100%, 580px);
        height: auto;
        margin: 0 auto;
        gap: 9px;
    }

    .exc-video-promo--desktop
    .exc-video-promo__item {
        grid-template-columns:
            126px
            minmax(0, 1fr)
            20px;
        gap: 13px;
        padding: 8px;
    }

    .exc-video-promo--desktop
    .exc-video-promo__thumb {
        width: 126px;
        height: 78px;
    }

    .exc-video-promo--desktop
    .exc-video-promo__title {
        font-size: 16px;
    }
}

/* ================================================================
   /HANTOUR_DESKTOP_VIDEO_SLIDE_STYLE_20260801
   ================================================================ */


/* ================================================================
   HANTOUR_DESKTOP_VIDEO_LIGHT_STYLE_20260801
   Осветление десктопного видеослайда
   ================================================================ */

@media (min-width: 901px) {

    .gallery-main-swiper
    .exc-gallery-first-slide.has-desktop-video-promo {
        background: #eef4ef;
    }

    .gallery-main-swiper
    .exc-gallery-first-slide.has-desktop-video-promo
    > img.exc-gallery-first-image {
        inset: -2%;
        width: 104%;
        max-width: none;
        height: 104%;
        object-fit: cover;
        filter:
            blur(10px)
            brightness(0.92)
            saturate(1.02);
        transform: scale(1.02);
    }

    .gallery-main-swiper
    .exc-gallery-first-slide.has-desktop-video-promo::after {
        background:
            linear-gradient(
                90deg,
                rgba(248, 251, 248, 0.90) 0%,
                rgba(248, 251, 248, 0.74) 38%,
                rgba(248, 251, 248, 0.48) 100%
            );
    }

    .exc-video-promo--desktop {
        color: #172126;
    }

    .exc-video-promo--desktop
    .exc-video-promo__desktop-intro h2 {
        color: #172126;
    }

    .exc-video-promo--desktop
    .exc-video-promo__desktop-intro p {
        color: #4b5960;
    }

    .exc-video-promo__desktop-note {
        color: #21a038;
    }

    .exc-video-promo__desktop-badge {
        color: #21a038;
    }

    .exc-video-promo__desktop-badge span {
        border-color: rgba(33, 160, 56, 0.45);
        color: #21a038;
        background: rgba(255, 255, 255, 0.72);
    }

    .exc-video-promo--desktop
    .exc-video-promo__item {
        border: 1px solid rgba(23, 33, 38, 0.10);
        background: rgba(255, 255, 255, 0.58);
        box-shadow: 0 12px 28px rgba(28, 42, 36, 0.10);
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
        color: #172126;
    }

    .exc-video-promo--desktop
    .exc-video-promo__item:hover {
        transform: translateY(-2px);
        border-color: rgba(33, 160, 56, 0.32);
        background: rgba(255, 255, 255, 0.72);
        box-shadow: 0 16px 34px rgba(28, 42, 36, 0.12);
    }

    .exc-video-promo--desktop
    .exc-video-promo__thumb {
        background: rgba(255, 255, 255, 0.55);
    }

    .exc-video-promo--desktop
    .exc-video-promo__thumb::after {
        background:
            linear-gradient(
                180deg,
                rgba(0, 0, 0, 0.00) 45%,
                rgba(0, 0, 0, 0.12) 100%
            );
    }

    .exc-video-promo--desktop
    .exc-video-promo__duration {
        background: rgba(16, 26, 22, 0.78);
        color: #45d73b;
    }

    .exc-video-promo--desktop
    .exc-video-promo__title {
        color: #172126;
    }

    .exc-video-promo--desktop
    .exc-video-promo__text {
        color: #4e5b61;
    }

    .exc-video-promo--desktop
    .exc-video-promo__link {
        color: #1faa37;
    }

    /* Убираем лишние play-кнопки */
    .exc-video-promo--desktop
    .exc-video-promo__play {
        display: none !important;
    }

    /* Убираем правую зеленую стрелку */
    .exc-video-promo--desktop
    .exc-video-promo__arrow {
        display: none !important;
    }

    /* Немного компактнее раскладка без стрелки */
    .exc-video-promo--desktop
    .exc-video-promo__item {
        grid-template-columns:
            150px
            minmax(0, 1fr);
    }
}

@media (min-width: 901px) and (max-width: 1100px) {
    .exc-video-promo--desktop
    .exc-video-promo__item {
        grid-template-columns:
            126px
            minmax(0, 1fr);
    }
}

/* ================================================================
   /HANTOUR_DESKTOP_VIDEO_LIGHT_STYLE_20260801
   ================================================================ */


/* ================================================================
   HANTOUR_VIDEO_PROMO_FINAL_B_20260801
   Итоговый светлый видеослайд + мобильные правки
   ================================================================ */

/* ------------------------------------------------
   Десктоп
   ------------------------------------------------ */

@media (min-width: 901px) {

    .gallery-main-swiper
    .exc-gallery-first-slide.has-desktop-video-promo {
        position: relative;
        overflow: hidden;
        background: #edf3ee;
    }

    /*
     * Первая фотография остаётся фоном:
     * светлая, мягко размытая, без мрачного эффекта.
     */
    .gallery-main-swiper
    .exc-gallery-first-slide.has-desktop-video-promo
    > img.exc-gallery-first-image {
        position: absolute;
        z-index: 0;
        inset: -4%;
        display: block;
        width: 108%;
        max-width: none;
        height: 108%;
        object-fit: cover;
        filter:
            blur(14px)
            brightness(1.04)
            saturate(0.88);
        transform: scale(1.04);
    }

    .gallery-main-swiper
    .exc-gallery-first-slide.has-desktop-video-promo::after {
        content: "";
        position: absolute;
        z-index: 1;
        inset: 0;
        background:
            linear-gradient(
                90deg,
                rgba(255, 255, 255, 0.93) 0%,
                rgba(255, 255, 255, 0.82) 37%,
                rgba(247, 250, 247, 0.60) 67%,
                rgba(239, 246, 240, 0.48) 100%
            ),
            linear-gradient(
                180deg,
                rgba(220, 237, 250, 0.22) 0%,
                rgba(255, 255, 255, 0.08) 48%,
                rgba(235, 237, 202, 0.24) 100%
            );
        pointer-events: none;
    }

    /*
     * Две колонки рассчитаны под реальную,
     * более узкую область слайдера.
     */
    .exc-video-promo--desktop {
        position: absolute;
        z-index: 2;
        inset: 0;
        display: grid;
        grid-template-columns:
            minmax(230px, 0.82fr)
            minmax(0, 1.18fr);
        align-items: center;
        align-content: center;
        gap: 20px;
        width: 100%;
        height: 100%;
        margin: 0;
        padding: 28px 30px;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        color: #182226;
    }

    .exc-video-promo--desktop
    .exc-video-promo__head {
        display: none;
    }

    .exc-video-promo--desktop
    .exc-video-promo__desktop-intro {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        min-width: 0;
        color: #182226;
        text-align: left;
    }

    .exc-video-promo--desktop
    .exc-video-promo__desktop-badge {
        display: inline-flex;
        align-items: center;
        gap: 9px;
        margin: 0 0 15px;
        color: #20a936;
        font-size: 14px;
        font-weight: 700;
        line-height: 1.25;
    }

    .exc-video-promo--desktop
    .exc-video-promo__desktop-badge span {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 30px;
        height: 30px;
        padding-left: 2px;
        border: 1px solid rgba(32, 169, 54, 0.42);
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.72);
        color: #20a936;
        font-size: 12px;
        box-shadow:
            0 4px 12px rgba(24, 91, 35, 0.08);
    }

    .exc-video-promo--desktop
    .exc-video-promo__desktop-intro h2 {
        margin: 0 0 20px;
        color: #172126;
        font-family: inherit;
        font-size: clamp(29px, 2.5vw, 40px);
        font-weight: 800;
        line-height: 1.13;
        letter-spacing: -0.025em;
    }

    .exc-video-promo--desktop
    .exc-video-promo__desktop-intro p {
        display: block;
        max-width: 310px;
        margin: 0;
        color: #536169;
        font-size: 14px;
        font-weight: 400;
        line-height: 1.5;
    }

    /*
     * Рукописная надпись и отдельная изогнутая стрелка.
     */
    .exc-video-promo--desktop
    .exc-video-promo__desktop-note {
        position: relative;
        display: inline-flex;
        align-items: center;
        min-height: 52px;
        margin-top: 24px;
        padding-right: 142px;
        color: #20ad36;
        font-family:
            "Segoe Print",
            "Bradley Hand",
            "Comic Sans MS",
            cursive;
        font-size: 20px;
        font-style: italic;
        font-weight: 500;
        line-height: 1.25;
        white-space: nowrap;
    }

    .exc-video-promo--desktop
    .exc-video-promo__desktop-note::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 0;
        display: block;
        width: 132px;
        height: 53px;
        background-image:
            url("data:image/svg+xml,%3Csvg width='150' height='56' viewBox='0 0 150 56' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 10C28 7 26 42 55 40C78 38 66 9 94 10C117 11 110 39 139 39' stroke='%2320AD36' stroke-width='2.5' stroke-linecap='round'/%3E%3Cpath d='M128 29L140 39L129 49' stroke='%2320AD36' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
        transform: translateY(-44%);
    }

    /*
     * Колонка карточек.
     */
    .exc-video-promo--desktop
    .exc-video-promo__list {
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 13px;
        width: 100%;
        height: auto;
        min-width: 0;
        margin: 0;
    }

    .exc-video-promo--desktop
    .exc-video-promo__item {
        display: grid;
        grid-template-columns:
            150px
            minmax(0, 1fr);
        align-items: center;
        gap: 15px;
        width: 100%;
        min-width: 0;
        padding: 10px;
        border: 1px solid rgba(43, 61, 51, 0.11);
        border-radius: 18px;
        background: rgba(255, 255, 255, 0.88);
        color: #172126;
        text-decoration: none;
        box-shadow:
            0 11px 26px rgba(31, 54, 39, 0.13),
            0 2px 6px rgba(31, 54, 39, 0.05);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        transition:
            transform 0.2s ease,
            border-color 0.2s ease,
            box-shadow 0.2s ease,
            background 0.2s ease;
    }

    .exc-video-promo--desktop
    .exc-video-promo__item:hover {
        transform: translateY(-2px);
        border-color: rgba(31, 177, 51, 0.32);
        background: rgba(255, 255, 255, 0.96);
        box-shadow:
            0 15px 34px rgba(31, 54, 39, 0.16),
            0 3px 8px rgba(31, 54, 39, 0.06);
    }

    .exc-video-promo--desktop
    .exc-video-promo__thumb {
        position: relative;
        display: block;
        width: 150px;
        height: 94px;
        overflow: hidden;
        border-radius: 13px;
        background: #edf2ee;
        box-shadow:
            inset 0 0 0 1px rgba(255, 255, 255, 0.45);
    }

    .gallery-main-swiper
    .swiper-slide
    .exc-video-promo--desktop
    .exc-video-promo__thumb img {
        position: static;
        display: block;
        width: 100% !important;
        max-width: none !important;
        height: 100% !important;
        object-fit: cover !important;
        border-radius: 0 !important;
        filter: none !important;
        transform: none !important;
    }

    .exc-video-promo--desktop
    .exc-video-promo__thumb::after {
        content: "";
        position: absolute;
        inset: 0;
        background:
            linear-gradient(
                180deg,
                rgba(0, 0, 0, 0) 48%,
                rgba(0, 0, 0, 0.13) 100%
            );
        pointer-events: none;
    }

    .exc-video-promo--desktop
    .exc-video-promo__duration {
        position: absolute;
        z-index: 2;
        left: 7px;
        bottom: 7px;
        padding: 3px 7px;
        border-radius: 6px;
        background: rgba(14, 22, 18, 0.82);
        color: #48df44;
        font-size: 11px;
        font-weight: 700;
        line-height: 1.1;
    }

    /*
     * Play-кнопки и отдельные стрелки карточек убраны.
     */
    .exc-video-promo--desktop
    .exc-video-promo__play,
    .exc-video-promo--desktop
    .exc-video-promo__arrow {
        display: none !important;
    }

    .exc-video-promo--desktop
    .exc-video-promo__body {
        display: flex;
        flex-direction: column;
        justify-content: center;
        min-width: 0;
        padding: 0 5px 0 0;
    }

    .exc-video-promo--desktop
    .exc-video-promo__title {
        display: block;
        margin: 0 0 5px;
        color: #172126;
        font-size: 17px;
        font-weight: 750;
        line-height: 1.22;
    }

    .exc-video-promo--desktop
    .exc-video-promo__text {
        display: -webkit-box;
        overflow: hidden;
        color: #59666c;
        font-size: 13px;
        font-weight: 400;
        line-height: 1.35;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .exc-video-promo--desktop
    .exc-video-promo__link {
        display: inline-flex;
        align-items: center;
        width: fit-content;
        margin-top: 6px;
        color: #1ca836;
        font-size: 13px;
        font-weight: 700;
        line-height: 1.2;
    }

    .exc-video-promo--desktop
    .exc-video-promo__link::after {
        content: "›";
        display: inline-block;
        margin-left: 7px;
        font-size: 18px;
        font-weight: 400;
        line-height: 12px;
        transform: translateY(-1px);
        transition: transform 0.2s ease;
    }

    .exc-video-promo--desktop
    .exc-video-promo__item:hover
    .exc-video-promo__link::after {
        transform:
            translateX(3px)
            translateY(-1px);
    }
}


/* Реальная узкая десктопная область слайдера */

@media (min-width: 901px) and (max-width: 1100px) {

    .exc-video-promo--desktop {
        grid-template-columns:
            minmax(205px, 0.78fr)
            minmax(0, 1.22fr);
        align-items: center;
        align-content: center;
        gap: 15px;
        padding: 22px 23px;
    }

    .exc-video-promo--desktop
    .exc-video-promo__desktop-intro {
        align-items: flex-start;
        text-align: left;
    }

    .exc-video-promo--desktop
    .exc-video-promo__desktop-badge {
        margin-bottom: 10px;
        font-size: 12px;
    }

    .exc-video-promo--desktop
    .exc-video-promo__desktop-intro h2 {
        margin-bottom: 13px;
        font-size: 28px;
    }

    .exc-video-promo--desktop
    .exc-video-promo__desktop-intro p {
        display: block;
        max-width: 240px;
        font-size: 12px;
        line-height: 1.42;
    }

    .exc-video-promo--desktop
    .exc-video-promo__desktop-note {
        display: inline-flex;
        min-height: 42px;
        margin-top: 15px;
        padding-right: 102px;
        font-size: 16px;
    }

    .exc-video-promo--desktop
    .exc-video-promo__desktop-note::after {
        width: 95px;
        height: 44px;
    }

    .exc-video-promo--desktop
    .exc-video-promo__list {
        width: 100%;
        height: auto;
        margin: 0;
        gap: 9px;
    }

    .exc-video-promo--desktop
    .exc-video-promo__item {
        grid-template-columns:
            126px
            minmax(0, 1fr);
        gap: 11px;
        padding: 8px;
        border-radius: 15px;
    }

    .exc-video-promo--desktop
    .exc-video-promo__thumb {
        width: 126px;
        height: 78px;
        border-radius: 11px;
    }

    .exc-video-promo--desktop
    .exc-video-promo__title {
        font-size: 15px;
    }

    .exc-video-promo--desktop
    .exc-video-promo__text,
    .exc-video-promo--desktop
    .exc-video-promo__link {
        font-size: 11px;
    }
}


/* ------------------------------------------------
   Мобильная версия
   ------------------------------------------------ */

@media (max-width: 768px) {

    .exc-video-promo--mobile {
        margin-top: 10px !important;
    }

    /*
     * Заголовок «Познакомьтесь через видео»
     * и пояснение на мобильной версии скрываем.
     */
    .exc-video-promo--mobile
    .exc-video-promo__head {
        display: none !important;
    }
}

/* ================================================================
   /HANTOUR_VIDEO_PROMO_FINAL_B_20260801
   ================================================================ */


/* ================================================================
   HANTOUR_REMOVE_VIEWING_ARROW_20260801
   Удаление декоративной стрелки
   ================================================================ */

@media (min-width: 901px) {

    .exc-video-promo--desktop
    .exc-video-promo__desktop-note {
        min-height: 0;
        padding-right: 0;
    }

    .exc-video-promo--desktop
    .exc-video-promo__desktop-note::after {
        content: none !important;
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        background: none !important;
    }
}

/* ================================================================
   /HANTOUR_REMOVE_VIEWING_ARROW_20260801
   ================================================================ */

/* ================================================================
   Кнопки маршрута в мобильном меню
   ================================================================ */

.mob-route-buttons {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    width: 100%;
    margin: 12px 0 6px;
}

.mob-route-btn {
    --route-accent: #21a038;
    --route-border: #21a038;
    --route-bg: #f4fbf6;
    --route-icon-color: #ffffff;

    display: flex;
    align-items: center;
    min-width: 0;
    min-height: 58px;
    padding: 8px 10px;
    border: 1px solid var(--route-border);
    border-radius: 17px;
    background: var(--route-bg);
    color: #161616 !important;
    text-decoration: none !important;
    box-shadow: 0 4px 14px rgba(20, 55, 30, 0.06);
    transition:
        transform 0.18s ease,
        box-shadow 0.18s ease,
        background-color 0.18s ease;
}

.mob-route-btn--yandex {
    --route-accent: #ffd600;
    --route-border: #ffd600;
    --route-bg: #fff9dc;
    --route-icon-color: #161616;
}

.mob-route-btn--2gis {
    --route-accent: #21a038;
    --route-border: #21a038;
    --route-bg: #f4fbf6;
    --route-icon-color: #ffffff;
}

.mob-route-btn__icon {
    display: flex;
    flex: 0 0 34px;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    margin-right: 8px;
    border-radius: 50%;
    background: var(--route-accent);
    color: var(--route-icon-color);
}

.mob-route-btn__text {
    display: flex;
    flex-direction: column;
    min-width: 0;
    line-height: 1.1;
}

.mob-route-btn__text small {
    margin-bottom: 3px;
    color: #696969;
    font-size: 10px;
    font-weight: 400;
    white-space: nowrap;
}

.mob-route-btn__text strong {
    color: #161616;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
}

.mob-route-btn:hover {
    color: #161616 !important;
    box-shadow: 0 6px 18px rgba(20, 55, 30, 0.11);
    transform: translateY(-1px);
}

.mob-route-btn:active {
    box-shadow: none;
    transform: scale(0.98);
}

.mob-route-btn:focus-visible {
    outline: 2px solid #21a038;
    outline-offset: 2px;
}

@media (max-width: 359px) {
    .mob-route-buttons {
        grid-template-columns: 1fr;
    }
}
/* End */


/* Start:/local/templates/template/styles.min.css?17852452731296*/
input,textarea{border:1px solid #D9D9DE!important;border-radius:8px!important;padding:12px 16px!important;font-size:16px!important;line-height:24px!important;font-family:inherit!important;background:#fff!important;color:#76767A!important}.questions__form input{width:100%;margin-bottom:12px}h3.form__title{margin:0 0 16px;text-align:center;font-size:24px;line-height:30px;color:#000}.questions__form #checkbox-question{position:relative}input,textarea{border:1px solid #D9D9DE!important;border-radius:8px!important;padding:12px 16px!important;font-size:16px!important;line-height:24px!important;font-family:inherit!important;background:#fff!important;color:#76767A!important}.questions__form input{width:100%;margin-bottom:12px}h3.form__title{margin:0 0 16px;text-align:center;font-size:24px;line-height:30px;color:#000}.questions__form #checkbox-question{position:relative}.modal__menu{display:none;position:fixed;inset:0;z-index:9999;background:rgb(0 0 0 / .5);align-items:flex-start;justify-content:center;overflow-y:auto}.modal__menu.modal-active{display:flex}.modal__container-menu{background:#fff;border-radius:16px;width:100%;max-width:1170px;margin:40px auto;padding:24px;position:relative}.modal__menu-close{position:absolute;top:16px;right:20px;font-size:10px;cursor:pointer;color:#333}
/* End */


/* Start:/local/templates/template/template_styles.min.css?17852452731685*/
.sights{background:url(/local/templates/template/images/index/bg-catalog.webp);padding-bottom:40px}.booking-result-block{max-width:705px;margin:109px auto;padding:43px;background:#FFF;box-shadow:0 0 10px rgb(0 0 0 / .25);border-radius:10px}.booking-result-block_title{text-align:center;font-size:25px;font-weight:500;margin-bottom:51px;color:#161616}.booking-result-block_text{font-style:normal;font-weight:400;font-size:18px;line-height:20px;text-align:center;color:#212121}.booking-result-block .button{margin-top:89px;max-width:464px;margin-left:auto;margin-right:auto;box-shadow:0 0 10px rgb(0 0 0 / .25);border-radius:90px}.page-404 .booking-result-block{margin:78px auto;max-width:772px}.page-404 .booking-result-block_text{font-size:24px;line-height:1.4}.page-404 .booking-result-block_title{margin-bottom:70px}img.img-404-page{max-width:100%}@media screen and (max-width:500px){.booking-result-block{margin-top:65px;margin-bottom:50px;padding:33px 5px}.booking-result-block_title{margin-bottom:29px}.booking-result-block .button{margin-top:74px}img.img-404-page{width:83%;margin-top:14px}.page-404 .booking-result-block_title{margin-bottom:37px}.page-404 .booking-result-block_text{font-size:20px}}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}@media (min-width:768px){.d-md-none{display:none!important}}@media (min-width:576px){.d-sm-none{display:none!important}}@media (min-width:1025px){.d-lg-none{display:none!important}}
/* End */
/* /local/templates/template/css/datepicker.css?17804237776939 */
/* /local/templates/template/css/main.min.css?178523769322859 */
/* /local/templates/template/css/features.min.css?17852444723813 */
/* /local/templates/template/css/index.min.css?178524015245117 */
/* /local/templates/template/css/individual.css?17804237764968 */
/* /local/templates/template/css/timetable.css?17809177494717 */
/* /local/templates/template/css/excursion.css?178531053980830 */
/* /local/templates/template/css/style.css?1785306056106866 */
/* /local/templates/template/css/custom.css?1785906314100342 */
/* /local/templates/template/styles.min.css?17852452731296 */
/* /local/templates/template/template_styles.min.css?17852452731685 */
