@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap');

/* =========================================================
   ШРИФТЫ И БАЗОВЫЕ ИКОНКИ
   ========================================================= */
.fa { display: inline-block; font: normal normal normal 14px/1 FontAwesome; font-size: inherit; text-rendering: auto; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.fa-calendar:before { content: "\f133" !important; }
.fa-calendar, .fa-hourglass-half { font-weight: 400 !important; color: #38a169; }
.fa-hourglass-half:before { content: "\f254" !important; color: #38a169; }
.clearfix::after { clear: both; display: block; content: ""; height: 0; }

/* =========================================================
   ГЛОБАЛЬНЫЕ СТИЛИ
   ========================================================= */
body { padding: 0; margin: 0; background-color: #fff; min-width: 320px; font-size: 14px; line-height: 1.5; color: #000; font-family: Museo, Arial, Helvetica, sans-serif; font-weight: 400; font-style: normal; display: flex; width: 100%; flex-direction: column; -webkit-font-smoothing: antialiased; position: relative; }
h1 { font-size: 2em; margin: .67em 0; }
a { background-color: transparent; -webkit-text-decoration-skip: objects; }
img { border-style: none; height: auto; }
svg:not(:root) { overflow: hidden; }
button { font-family: sans-serif; font-size: 100%; line-height: 1.15; margin: 0; overflow: visible; text-transform: none; -webkit-appearance: button; }
.container, .containerr { width: 1166px; box-sizing: border-box; margin-left: auto; margin-right: auto; position: relative; }
.btn { text-decoration: none; font: inherit; border: 0; border-radius: 5px; background-color: transparent; font-size: 15px; font-weight: 500; text-align: center; box-sizing: border-box; display: inline-block; vertical-align: top; cursor: pointer; }
.phone { text-decoration: none; font-size: 20px; font-weight: 900; color: rgba(0, 0, 0, .7); }
.copyright { text-align: center; font-weight: 300; color: rgba(0, 0, 0, .6); line-height: 32px; }

@media print {
    body * { visibility: hidden; }
}
@media (max-width: 1280px) {
    .container { width: 90%; }
}
@media (max-width: 920px) {
    .container { width: 90%; }
}
@media (max-width: 860px) {
    .containerr { width: 100%; }
}
@media (max-width: 767px) {
    .container { width: calc(100% - 20px); padding-left: 20px; padding-right: 20px; }
}
@media (max-width: 320px) {
    .container { width: 320px; }
}

/* =========================================================
   ШАПКА И МЕНЮ
   ========================================================= */
header, nav { display: block; }
.main-header { border-bottom: 1px solid hsla(0, 0%, 77.6%, .3); padding-bottom: 4px; }
.main-header__wrapper { display: flex; padding-top: 17px; }
.main-header__nav { padding-top: 17px; margin-left: 66px; flex: 4; }
.main-header__contacts { margin-left: auto; margin-top: 14px; flex: 1.6; text-align: right; }
.main-header--relative { z-index: 1; padding-bottom: 0 !important; border-bottom: none !important; }
.logo--red, .logo--white { display: none; }
.main-header--relative .logo--red { display: block; }
.nav__item--contacts, .nav__header { display: none; }
.logo { width: 154px; height: 57px; flex: 2; }
.nav__btn { display: none; width: 34px; height: 22px; background-image: url(/templates/Default/images/menu-black.svg); background-repeat: no-repeat; background-position: 0 10px; position: relative; padding-top: 62px; }
.nav__btn--cross { background-image: url(/templates/Default/images/cross-sign-white.svg); background-position: 4px 17px; }
.nav__list { padding: 0; margin: 0; list-style: none; display: flex; }
.nav__item { position: relative; margin-right: 22px; padding-left: 9px; padding-right: 9px; padding-bottom: 31px; }
.nav__sublink { display: block; text-decoration: none; color: rgba(0, 0, 0, .7); padding-left: 20px; padding: 7px 10px; padding-bottom: 9px; box-sizing: border-box; width: 100%; }
.nav__sublink:active { background-color: rgba(0, 0, 0, .05); }
.overlay { display: none; position: fixed; width: 100%; min-height: 100%; left: 0; top: 0; background-color: rgba(0, 0, 0, .8); border: 1px solid #979797; box-sizing: border-box; z-index: 20; }
.overlay--nav { display: block; background-color: rgba(20, 20, 20, .98); z-index: 12; }

@media (min-width: 1024px) {
    .nav__sublink:hover { background-color: rgba(0, 0, 0, .05); }
    .nav__sublink:focus { background-color: rgba(0, 0, 0, .05); outline: none; }
}
@media (max-width: 1220px) {
    .main-header__contacts, .main-header__nav { margin-left: auto; }
    .logo--header { margin-right: auto; }
    .nav__item { margin-right: 40px; }
}
@media (max-width: 1023px) {
    .main-header { padding-bottom: 6px; }
    .logo--header { width: 117px; height: 42px; margin-top: 3px; margin-left: 25px; flex: unset; }
    .logo--red { width: 150px; margin-top: -15px; }
    .main-header--relative { position: relative; z-index: 1; }
    .main-header--high { z-index: 13 !important; }
    .main-header__wrapper { padding-top: 21px; }
    .main-header__nav { order: -1; padding-top: 0; flex: unset; margin-left: 0; }
    .main-header__contacts { margin-top: 10px; flex: unset; }
    .main-header--high .logo--white { display: none; }
    .main-header--high .logo--red { display: block; }
    .main-header--high .logo--header { margin-left: -34px; }
    .main-header--high .nav__item--contacts { display: block; position: absolute; padding: 40px 28px 68px; left: 0; }
    .main-header--high .nav__item--contacts p { color: #b4b4b4; font-size: 15px; font-weight: 500; margin: 0 0 13px; }
    .main-header--high .nav__item--contacts .phone { font-size: 20px; color: #000; text-decoration: underline; display: block; font-weight: 700; line-height: 24px; }
    .overlay.overlay--nav { width: 100%; height: 100vh; background-color: transparent; border: none; overflow: hidden; }
    .nav__header .nav__btn.nav__btn--cross { background-image: url(/templates/Default/images/cross-sign-black.svg) !important; background-size: 24px; opacity: .2; background-position: 0 10px !important; position: absolute; top: 24px; right: 0; width: 23px; z-index: 1; }
    .nav__btn { display: block; }
    .nav__btn:focus { outline: none; }
    .nav__list { display: none; }
    .nav__list--expand { display: block; position: absolute; top: 124px; left: 60px; width: 588px; border-bottom: 1px solid hsla(0, 0%, 77.6%, .3); }
    .nav__list.nav__list--expand { width: 308px; height: 100vh; overflow: auto; position: fixed; left: 0; top: 0; padding: 0 28px; border-bottom: none; background: #fff; box-sizing: border-box; box-shadow: 0 27px 35px 6px rgba(0, 0, 0, .5); }
    .nav__list.nav__list--expand .nav__header { display: block; padding: 22px 0; position: relative; margin-bottom: 28px; }
    .nav__list.nav__list--expand .nav__header .logo--red { width: 117px; height: 42px; }
    .nav__item { padding-bottom: 30px; margin-right: 0; padding-left: 0; }
    .nav__sublink { font-size: 17px; font-weight: 700; color: #fff; padding: 0; }
    .nav__item.nav__submenu { padding: 0; line-height: 55px; }
    .nav__item.nav__submenu .nav__sublink { color: #000 !important; display: block !important; font-size: 20px; font-weight: 500; border-bottom: 1px solid #e8e8e8; }
    .nav__item.nav__submenu:after { content: ""; background-repeat: no-repeat; background-image: url(https://pohod-sochi.ru/templates/Default/images/nav-arrow-grey.svg); position: absolute; right: 0; top: 25px; width: 12px; height: 9px; transform: rotate(-90deg); }
}
@media (max-width: 767px) {
    .nav__list--expand { width: 90%; left: 5%; }
}
@media (max-width: 480px) {
    .main-header__contacts { display: none; }
    .main-header__nav { margin-left: 7px; }
    .logo--header { margin-left: auto; margin-right: 4px; }
    .nav__list--expand { margin: 0 20px; left: 0; }
    .main-header--v2 .nav__list--expand { margin: 0; }
    .nav__btn--cross { background-position: 0 17px; }
}
@media (max-width: 320px) {
    .nav__list.nav__list--expand { width: 100% !important; }
}

/* =========================================================
   МОДАЛЬНЫЕ ОКНА И КНОПКА НАВЕРХ
   ========================================================= */
.ui-dialog-titlebar { padding: 10px 15px; position: relative; background-color: #517fa4 !important; color: #fff; }
.ui-dialog { text-align: left; overflow: hidden; padding: 0; position: absolute; width: 370px; border-radius: 2px; box-shadow: 0 8px 40px -10px rgba(0,0,0,0.3); border: 1px solid #e6e6e6; border-color: rgba(0,0,0,0.1); background-color: #f7f7f7; background-clip: padding-box; outline: none; }
.ui-button { font-size: .85rem; float: right; border: 0 none; vertical-align: middle; cursor: pointer; border-radius: 8px; outline: none; background-color: #0c5f7eed; color: #fff; padding: 7px 19px; text-decoration: none !important; box-shadow: 0 1px 2px 0 rgba(0,0,0,0.2); box-sizing: border-box; transition: all ease .1s; text-shadow: 0 1px #333; }
.ui-dialog-content { padding: 20px; border: 1px solid #fff; overflow: auto; position: relative; zoom: 1; }
.ui-dialog .ui-dialog-buttonpane { padding: 15px; text-align: center; }
.ui-icon { float: right; color: white; }
.modal { position: fixed; top: 0; right: 0; bottom: 0; left: 0; background: rgba(0, 0, 0, 0.5); z-index: 1050; opacity: 0; transition: opacity 400ms ease-in; pointer-events: none; }
.modal:target { opacity: 1; pointer-events: auto; overflow-y: auto; }
.modal-dialog { position: relative; width: auto; margin: 10px; }
.modal-content { position: relative; display: flex; flex-direction: column; background-color: #fff; background-clip: padding-box; border: 1px solid rgba(0, 0, 0, .2); border-radius: .3rem; outline: 0; }
.modal-header { display: flex; align-items: center; justify-content: space-between; padding: 15px; border-bottom: 1px solid #eceeef; }
.modal-title { margin-top: 0; margin-bottom: 0; line-height: 1.5; font-size: 1.25rem; font-weight: 500; font-family: Helvetica, Arial, sans-serif; }
.close { float: right; font-family: sans-serif; font-size: 24px; font-weight: 700; line-height: 1; color: #000; text-shadow: 0 1px 0 #fff; opacity: .5; text-decoration: none; }
.close:focus, .close:hover { color: #000; text-decoration: none; cursor: pointer; opacity: .75; }
.modal-body { position: relative; flex: 1 1 auto; padding: 25px 0 0 15px; overflow: auto; }
.modal1 { position: fixed; top: 0; right: 0; bottom: 0; left: 0; background: rgba(0,0,0,0.5); z-index: 1050; opacity: 0; transition: opacity 200ms ease-in; pointer-events: none; margin: 0; padding: 0; }
.modal1:target { opacity: 1; pointer-events: auto; overflow-y: auto; }
.back-to-top-btn { position: fixed; bottom: 25px; margin-left: -45px; z-index: 9999; width: 40px; height: 40px; text-align: center; line-height: 30px; background: rgba(0, 0, 0, .7); color: #fff; cursor: pointer; border: 0; border-radius: 2px; text-decoration: none; transition: all .2s ease-out; opacity: 0; }
.back-to-top-btn .icon { background-image: url(/templates/Default/images/next-white.svg); background-position: 50%; background-repeat: no-repeat; background-size: 10px; transform: rotate(-90deg); width: 100%; height: 100%; display: inline-block; }
.back-to-top-btn:hover { background: #333; }

@media (min-width: 576px) {
    .modal-dialog { max-width: 500px; margin: 30px auto; }
}
@media (min-width: 768px) {
    .modal-content { box-shadow: 0 5px 15px rgba(0, 0, 0, .5); width: 109%; }
}
@media (max-width: 1024px) {
    .back-to-top-btn { width: 32px; height: 32px; left: 20px; bottom: 20px; margin-left: -5px; }
}

/* =========================================================
   БЛОК: БЛИЖАЙШИЕ ПОХОДЫ И КНОПКИ
   ========================================================= */
.main__latest { display: flex; align-items: center; padding-top: 39px; margin-top: 49px; }
.main__latest h2 { margin-top: 0; margin-bottom: 0; margin-right: 30px; }
.main__latest a { width: auto; padding: 10px 18px 7px; }
.btn--white { background-color: #fff; color: rgba(0, 0, 0, .5); width: 220px; border: 1px solid rgba(0, 0, 0, .1); }
.button-is-primary { text-size-adjust: 100%; -webkit-font-smoothing: antialiased; margin: 0; -webkit-appearance: none; align-items: center; border: 1px solid transparent; box-shadow: none; line-height: 1.5; position: relative; vertical-align: top; user-select: none; justify-content: center; text-align: center; cursor: pointer; padding: 4px; white-space: nowrap; display: flex; width: 85%; background-color: #ff5c33; color: #fff; font-size: 15px; font-weight: 900; border-radius: 5px; padding-top: 14px; padding-bottom: 11px; height: auto; text-decoration: none; margin: auto; transition: opacity 0.2s, box-shadow 0.2s; }
.button-is-primary:hover { background-color: #ce4724; }
.btn3 { border: 0 none; display: inline-block; vertical-align: middle; cursor: pointer; height: 41px; font-size: .94em; border-radius: 2px; line-height: 21px; outline: none; color: #fff !important; padding: 10px 22px; text-decoration: none !important; box-shadow: 0 1px 2px 0 rgb(0 0 0 / 14%); background-color: #ff6640; background-image: linear-gradient(top, #f45068 0%, #f93f59 100%); box-sizing: border-box; }

@media (max-width: 1024px) {
    .main__latest { padding-top: 0; }
}
@media (max-width: 768px) {
    .main__latest--paddings-tablet { padding-top: 27px; padding-bottom: 5px; }
    .main__latest h2 { margin-right: 0; }
    .main__latest a.btn--visible { display: block; margin-left: 30px; }
    .main__latest a.btn { display: none; }
    .main__latest h2, .main__title { font-size: 24px; }
}
@media (min-width: 1240px) {
    .zayavka_mob { display: none; }
}

/* =========================================================
   КАРТОЧКА ТУРА НА ГЛАВНОЙ
   ========================================================= */
.tour { display: flex; flex-wrap: wrap; }
.tour--index .tour__card { margin-right: 40px; margin-top: 28px; }
.tour--index .tour__card:nth-child(4n) { margin-right: 40px; }
.tour--index .tour__price { display: inline-flex; }
.tour--index .tour__time { float: right; margin-top: 23px; margin-right: 0; }
.tour--index .tour__info { border-bottom: 0; position: relative; }
.tour--index .tour__info:after { position: absolute; content: ""; width: 260px; height: 1px; bottom: 0; left: 0; background-color: rgba(0, 0, 0, .1); }
.tour--index .tour__title { margin-top: 17px; }
.tour__time { font-size: 12px; font-weight: 500; color: #00d164; text-transform: uppercase; letter-spacing: 1px; text-decoration: none; }
.tour__card { width: 260px; margin-right: 41px; position: relative; float: left; }
.tour__card:focus { outline: none; }
.tour__card:nth-child(4n) { margin-right: 0; }
.tour__card > a { text-decoration: none; }
.tour__card > a:focus { outline: none; }
.tour__card > a img { transition: box-shadow .3s; width: 260px; height: 347px; min-width: 260px; min-height: 195px; max-width: 260px; max-height: 347px; background-color: #d3d3d3; }
.tour__card > a:active img { box-shadow: 0 5px 10px 0 rgba(0, 0, 0, .21); }
.tour__title { font-size: 17px; font-weight: 700; color: rgba(0, 0, 0, .7); margin-top: 10px; margin-bottom: 10px; min-height: 50px; }
.tour__info { display: flex; border-bottom: 1px solid rgba(0, 0, 0, .1); padding-bottom: 5px; color: rgba(0, 0, 0, .6); }
.tour__length, .tour__level { display: inline-block; vertical-align: top; margin-top: 7px; }
.tour__level { margin-left: 46px; position: relative; }
.tour__level--very_easy:before { position: absolute; content: ""; width: 6px; height: 6px; top: 8px; left: -20px; border-radius: 50%; background-color: #00c8d7; }
.tour__price { margin-left: 1px; margin-top: 16px; font-size: 19px; font-weight: 700; color: rgba(0, 0, 0, .7); }
.tour__level-popup-link { background-image: url(https://pohod-sochi.ru/templates/Default/img/question.svg); background-repeat: no-repeat; background-position: 50%; background-size: 16px; width: 18px; height: 18px; position: absolute; top: 1px; right: -24px; display: none; outline: none; }
.tour__level-popup-link--hike { display: block; right: auto; position: absolute; left: 100px; top: 4px; opacity: .3; }
.tour__level-popup-link--hike:hover { opacity: .5; }

@media (min-width: 1024px) {
    .tour__card > a:focus img, .tour__card > a:hover img { box-shadow: 0 5px 10px 0 rgba(0, 0, 0, .21); }
}
@media (max-width: 1280px) {
    .tour__card { margin-right: 18px; }
}
@media (max-width: 1220px) {
    .tour__card { margin-right: 40px; }
    .tour__card:nth-child(4n) { margin-right: 40px; }
    .tour__card:nth-child(3n) { margin-right: 0; }
    .tour--index .tour__card:nth-child(3n) { margin-right: 40px; }
}
@media (max-width: 480px) {
    .tour__card > a img { width: 260px; height: 347px; min-width: auto; min-height: auto; max-width: 260px; max-height: 347px; }
    .tour--index .tour__card { margin-right: 40px; width: 242px; }
}

/* =========================================================
   СЛАЙДЕРЫ И КНОПКИ УПРАВЛЕНИЯ
   ========================================================= */
.slick-slider { box-sizing: border-box; user-select: none; -webkit-touch-callout: none; touch-action: pan-y; -webkit-tap-highlight-color: transparent; }
.slick-list, .slick-slider { position: relative; display: block; }
.slick-list { overflow-x: hidden; overflow-y: visible; margin: 0; padding: 0; }
.slick-list:focus { outline: none; }
.slick-slider .slick-list, .slick-slider .slick-track { transform: translateZ(0); }
.slick-track { position: relative; top: 0; left: 0; display: block; margin-left: auto; margin-right: auto; }
.slick-track:after, .slick-track:before { display: table; content: ""; }
.slick-track:after { clear: both; }
.slick-slide { display: none; float: left; height: 100%; min-height: 1px; }
.slick-slide img { display: block; }
.slick-initialized .slick-slide { display: block; }

.slider__controls { position: absolute; z-index: 10; }
.slider__controls button, button.slick-prev, button.slick-next { display: flex; align-items: center; justify-content: center; box-sizing: border-box; border: none; border-radius: 50%; background-color: #fff; background-image: none; width: 44px; height: 44px; cursor: pointer; opacity: 1; box-shadow: 0 2px 8px rgba(0,0,0,0.15); font-size: 0; color: transparent; transition: all 0.3s ease; position: absolute; z-index: 10; }
.slider__controls button:hover, button.slick-prev:hover, button.slick-next:hover { box-shadow: 0 4px 12px rgba(0,0,0,0.2); background-color: #f8f9fa; }
.slider__controls button span, button.slick-prev span, button.slick-next span { display: none; }
.slider__controls button::after, button.slick-prev::after, button.slick-next::after { font-family: "Font Awesome 6 Free", "FontAwesome"; font-weight: 900; font-size: 18px; color: #333; display: block; }
.slider__prev::after, button.slick-prev::after { content: "\f053"; margin-right: 2px; }
.slider__next::after, button.slick-next::after { content: "\f054"; margin-left: 2px; }

.hikes-slider { width: 1248px; margin: 15px auto 16px; position: relative; }
.hikes-slider__wrapper { width: 1160px; margin-left: auto; margin-right: auto; }
.hikes-slider__controls { bottom: 237px; width: 100%; }
.hikes-slider__prev, button.slick-prev { left: -22px; }
.hikes-slider__next, button.slick-next { right: -22px; }

.review-slider { width: 1248px; margin: 43px auto 34px; position: relative; }
.review-slider__wrapper { width: 1160px; margin-left: auto; margin-right: auto; }
.review-slider__wrapper:after { position: absolute; content: ""; top: 0; right: 0; width: 453px; height: 100%; pointer-events: none; background-image: linear-gradient(90deg, hsla(0, 0%, 100%, 0), #fff); z-index: 9999; }
.review-slider__flex img { display: inline-block; width: 260px !important; height: 280px !important; }
.review-slider__flex > div { display: inline-block; }
.review-slider__controls { top: 186px; width: 100%; }
.review-slider__prev { left: -22px; }
.review-slider__next { right: -22px; }

.slick-dots { position: absolute; bottom: -45px; display: block; width: 100%; padding: 0; margin: 0; list-style: none; text-align: center; }
.slick-dots li { position: relative; display: inline-block; padding: 0; cursor: auto; margin: 0 5px 0 0; }
.slick-dots li button { outline: none; font-size: 0; color: #fff; background-color: transparent; border: none; border-radius: 50%; cursor: pointer; display: inline-block; text-align: center; width: 5px; height: 5px; }

@media (max-width: 1300px) {
    .hikes-slider { width: 90%; }
    .hikes-slider__wrapper { width: auto; }
    .review-slider { width: 90%; }
    .review-slider__wrapper { width: auto; }
}
@media (max-width: 1024px) {
    .hikes-slider .hikes-slider__next, .hikes-slider .hikes-slider__prev { display: none; }
}
@media (max-width: 920px) {
    .review-slider .review-slider__next, .review-slider .review-slider__prev { display: none; }
    .review-slider__wrapper:after { display: none; }
}
@media (max-width: 768px) {
    .hikes-slider { width: calc(100% - 30px); margin-left: 30px; margin-bottom: 0; }
    .review-slider { width: calc(100% - 30px); margin-left: 30px; margin-bottom: 0; }
    .review-slider__controls { top: auto; bottom: -10px; }
    .review-slider .slick-dots { bottom: -36px; }
}
@media (max-width: 640px) {
    .review-slider { margin-left: 0; width: 100%; }
}
@media (max-width: 480px) {
    .hikes-slider { width: calc(100% - 20px); margin-left: 20px; margin-top: 30px; }
    .review-slider { width: calc(100% - 21px); margin-left: 21px; margin-top: 30px; margin-bottom: 70px; }
    .review-slider .slick-dots { bottom: -96px; }
}

/* =========================================================
   СТАТЬИ, ЦИТАТЫ И СТАРЫЕ ОТЗЫВЫ
   ========================================================= */
.article { margin-bottom: 60px; }
.article img { width: auto !important; height: auto !important; }
.article blockquote { max-width: 760px; margin: 83px auto 70px; padding: 28px 40px; color: #424242; background-color: #f6f6f6; box-sizing: border-box; font-style: italic; line-height: 27px; }
.article blockquote img { margin-right: 23px; vertical-align: top; }
.article blockquote img+div { display: inline-block; vertical-align: top; max-width: calc(100% - 183px); margin-top: 3px; font-style: normal; margin-bottom: 36px; line-height: 1.5; }
.article blockquote cite { text-decoration: none; color: rgba(0, 0, 0, .7); font-size: 19px; font-weight: 700; }
.article blockquote span { color: rgba(0, 0, 0, .4); display: inline-block; vertical-align: top; margin-top: 5px; }
.article blockquote span b { text-decoration: none; color: rgba(0, 0, 0, .7); font-weight: 500; }
.review-slider .article blockquote { margin-top: 0; margin-bottom: 20px; padding: 50px 50px 70px; font-style: normal; font-weight: 300; }
.review-slider .article blockquote cite { font-style: normal; }
.review-slider .article blockquote a { text-decoration: none; color: #424242; border-bottom: none; }
.review-slider blockquote { margin-right: 40px; }
.review-slider blockquote:active { background-color: #efefef; }

@media (min-width: 1024px) {
    .article blockquote a:hover { background-color: #efefef; }
    .article blockquote a:focus { background-color: #efefef; outline: none; }
    .review-slider blockquote:hover { background-color: #efefef; }
    .review-slider blockquote:focus { background-color: #efefef; outline: none; }
}
@media (max-width: 920px) {
    .review-slider .article blockquote { max-width: 560px; }
}
@media (max-width: 768px) {
    .article blockquote { margin-top: 73px; width: 100%; max-width: 708px; margin-bottom: 69px; }
    .article blockquote a { padding-bottom: 57px; }
    .review-slider .article blockquote { padding-bottom: 23px; margin-bottom: 24px; }
}
@media (max-width: 640px) {
    .review-slider .article blockquote { max-width: 320px; padding-left: 20px; padding-right: 20px; margin-right: 20px; }
    .review-slider .article blockquote img+div { max-width: 190px; }
}
@media (max-width: 480px) {
    .article ul { margin-bottom: 60px; }
    .article blockquote { margin-top: 56px; margin-bottom: 35px; }
    .article blockquote a { padding: 25px 18px 44px; }
    .article blockquote img { margin-right: 20px; }
    .article blockquote img+div { max-width: calc(100% - 116px); margin-bottom: 14px; }
    .article blockquote img+div b { display: block; }
    .review-slider .article blockquote { padding-top: 30px; padding-bottom: 40px; font-style: italic; }
    .review-slider .article blockquote a { padding: 0; font-style: normal; }
}
@media only screen and (min-width: 650px) {
    .article blockquote img { float: left; }
}

/* =========================================================
   СТРАНИЦА ТУРА: ШАПКА И ДАТЫ
   ========================================================= */
.hike__wrapper { display: flex; flex-wrap: wrap; width: 100%; max-width: 1160px; margin-left: auto; margin-right: auto; justify-content: space-between; position: relative; }
.hike__column--wide { width: 812px !important; position: relative; z-index: 1; }
.hike__column--narrow { position: relative; z-index: 1; }
.hike__title { font-size: 32px; color: rgba(0, 0, 0, .8); font-weight: 900; margin-bottom: 29px !important; margin-top: 0; }
.hike__title--seo { font-weight: 900 !important; margin-bottom: 40px; }
.hike__title--seo.hike__title--mobile { display: block; }
.hike__title--mobile { display: none; }
.hike__info { margin-top: 0 !important; }
.hike__info-wrapper { display: flex; justify-content: space-between; margin-top: 0 !important; }
.hike__info-item { width: 25%; margin-right: 0; width: 155px; }
.hike__info-note { font-size: 14px; font-weight: 500; color: rgba(0, 0, 0, .3); position: relative; padding-bottom: 5px !important; margin-bottom: 0; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; margin-top: 0; text-transform: uppercase; }
.hike__info-text { font-size: 16px; font-weight: 500; color: rgba(0, 0, 0, .8); margin-top: 6px; position: relative; }
.hike__info-text b { font-size: 36px; }
.hike__info-text span { position: absolute; top: -8px; padding-left: 5px; }
.hike__text { font-size: 16px; line-height: 28px; font-weight: 300; color: rgba(0, 0, 0, .8); }
.hike__subtitle { font-size: 20px; font-weight: 700; color: rgba(0, 0, 0, .8); margin-bottom: 28px; }
.hike__list { margin-top: 40px; margin-bottom: 0 !important; display: flex; }
.hike__list ul { padding: 0; margin: 0; list-style: none; }
.hike__list li { padding-left: 17px; position: relative; margin-bottom: 16px; font-size: 16px; line-height: 20px; color: rgba(0, 0, 0, .8); background: url(https://pohod-sochi.ru/templates/Default/images/green_list_bg.png) no-repeat 0 3px; }
.hike__list li:before { position: absolute; content: ""; width: 3px; height: 3px; background-color: rgba(0, 0, 0, .2); border-radius: 50%; top: 9px; left: 0; }
.hike__half-column { width: 342px; }
.hike__half-column + .hike__half-column { margin-left: 58px; }
.hike__discounts { margin-bottom: 64px; }
.hike__discounts p { margin-top: 5px; word-break: break-word; font-size: 16px; line-height: 28px; color: rgba(0, 0, 0, .8); }
.hike__cover-image { width: 800px; height: 350px; overflow: hidden; }
.hike__cover-image-424w { display: none; }
.hike__cover-image img { width: 100% !important; height: 100% !important; }
.hike__block--mobile { display: none; }
.hike__header { display: flex; width: 1160px; margin: 23px auto 25px; }
.hike__header-photos { display: flex; flex-wrap: wrap; width: 360px; flex: 360px; }
.hike__header-photos .highslide { width: 180px; height: 175px; overflow: hidden; position: relative; }
.hike__header-photos .highslide img { width: 100%; height: 100%; object-fit: cover; }
.hike__icon { background-repeat: no-repeat; background-position: 50%; display: inline-block; float: left; margin-right: 10px; }
.hike__icon--duration { background-image: url(/templates/Default/images/icon-calendar.png); background-size: 23px 23px; width: 23px; height: 23px; }
.hike__icon--length { background-image: url(/templates/Default/images/icon-waypoint-map.png); background-size: 32px 18px; margin-top: 4px; width: 32px; height: 18px; }
.hike__icon--level { background-image: url(/templates/Default/images/icon-trekking-2.png); background-size: 20px 28px; margin-top: -2px; width: 20px; height: 28px; }
.hike__icon--group-size { background-image: url(/templates/Default/images/icon-people.png); background-size: 30px 20px; margin-top: 4px; width: 30px; height: 20px; }
.hike__price-icon { width: 20px; height: 20px; background-size: 20px 20px; background-repeat: no-repeat; background-position: 50%; display: inline-block; position: absolute; margin: 5px 10px; }
.hike__price-icon--include { background-image: url(/templates/Default/images/icon-done.png); }
.hike__price-icon--exclude { background-image: url(/templates/Default/images/icon-delete.png); }

@media (max-width: 1240px) {
    .hike__wrapper { flex-direction: column; align-items: center; }
    .hike__header { width: 709px; }
    .hike__cover-image { width: 424px; height: 278px; display: none; }
    .hike__header-photos .highslide { width: 142px; height: 139px; }
    .hike__header-photos { width: 284px; flex: 284px; }
    .hike__column--narrow { max-width: 400px; }
    .hike__block--mobile { display: block; }
    .hike__cover-image.hike__cover-image-424w { display: block; }
}
@media (max-width: 1160px) {
    .hike__cover-image img { height: auto; max-height: 293px; width: 100%; }
}
@media (max-width: 920px) {
    .hike__column, .hike__column--wide { width: 100% !important; box-sizing: border-box; padding-left: 30px; padding-right: 30px; }
    .hike__column--wide { z-index: 1; }
    div.hike__column--wide { padding: 0; width: 100% !important; }
}
@media (max-width: 767px) {
    .hike__column { padding-left: 0; padding-right: 0; margin-left: 0 !important; }
    .hike__column--wide { padding-left: 20px; padding-right: 20px; }
    .hike__list { flex-direction: column; }
    .hike__half-column { width: 100%; }
    .hike__half-column + .hike__half-column { margin-left: 0; }
    .hike__header, .hike__wrapper { padding: 0 28px; width: 100%; box-sizing: border-box; }
    .hike__column--wide, .hike__dates { width: 100% !important; }
    .hike__header { margin-left: auto; margin-right: auto; flex-wrap: wrap; }
    .hike__cover-image, .hike__header-photos { width: 100%; height: auto; }
    .hike__header-photos .highslide { width: 25% !important; height: auto !important; }
    .hike__cover-image { display: block; }
    .hike__cover-image.hike__cover-image-424w { display: none; }
}
@media (max-width: 640px) {
    .hike__info-wrapper { flex-wrap: wrap; }
    .hike__info-item:last-child { margin-right: 0; }
    .hike__info-item { width: 94px; margin-right: 20px; }
    .hike__info-item:nth-child(2n) { margin-right: 0; }
}
@media (max-width: 480px) {
    .hike__column--wide { padding-left: 0; padding-right: 0; }
    .hike__title { font-size: 24px; margin-left: 20px; margin-right: 20px; margin-bottom: 13px !important; margin-top: 13px !important; display: inline-block; vertical-align: middle; }
    .hike__title--seo { margin-left: 0; margin-right: 0; margin-top: 0 !important; font-size: 24px !important; padding: 0 20px; margin-bottom: 30px !important; }
    .hike__discounts--block, .hike__info-wrapper, .hike__list, .hike__subtitle, .hike__text { box-sizing: border-box; padding-left: 20px; padding-right: 20px; }
    .hike__discounts .hike__subtitle, .hike__list .hike__subtitle { padding-left: 0; padding-right: 0; }
    .hike__title--mobile { display: inline-block; vertical-align: middle; margin-top: 0; margin-bottom: 0; font-size: 16px; margin: 10px 8px !important; }
    .hike__discounts, .hike__list, .hidden11 { margin-bottom: 40px; padding: 0 10px 0 10px; }
    .hike__header, .hike__wrapper { padding: 0; }
    .hike__header { width: 100%; flex-wrap: wrap; margin-top: 0; margin-bottom: 20px; }
    .hike__cover-image { width: 100%; height: 212px; }
    .hike__column--wide { width: 100% !important; }
    div.hike__list { margin-bottom: 0; margin-top: 0; }
    .hike__text { padding: 0 !important; }
    .hike__info .hike__text { margin-top: 0; }
    div.hike__info-item { width: 45%; }
    .hike__description { padding: 0 20px; }
    .hike__header .hike__cover-image { height: auto; max-height: 180px; }
    .hike__list { padding: 0 !important; }
    .hike__list .hike__subtitle { margin: 10px 8px; font-size: 16px; font-weight: 900; display: inline-block; position: relative; vertical-align: middle; }
    .hike__price-icon { right: -40px; top: -3px; }
    .hike__price-content { padding: 0 22px; }
}

/* =========================================================
   ЛИПКИЙ БЛОК: ДАТЫ И ЗАЯВКА
   ========================================================= */
.hike__dates.entry { width: 320px; border-radius: 16px; background: #fff !important; box-shadow: 0 4px 24px rgba(0,0,0,0.08); border: 1px solid #e8ecf0; overflow: hidden; position: sticky; top: 24px; color: #2d3748; text-align: left; display: block !important; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; box-sizing: border-box; }
.daty_provedenia.rovedenia { padding: 24px 24px 8px; font-size: 14px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #718096; text-align: left; }
.daty_provedenia1 { padding: 0 24px 20px !important; text-align: left !important; }
.daty_provedenia1 p { line-height: 2.2; font-size: 15px; font-weight: 500; margin: 0; color: #2d3748; }
.daty_provedenia1 i.fa-calendar { color: #38a169; margin-right: 10px; font-size: 14px; padding-bottom: 0; font-weight: 400 !important; }
.hike__dates.entry .button-is-primary { display: block; margin: 0 24px 24px; text-align: center; padding: 14px; border-radius: 12px; background: hsl(16, 90%, 55%); color: #fff; font-weight: 600; font-size: 16px; text-decoration: none; box-shadow: 0 4px 12px rgba(221, 86, 35, 0.3); transition: opacity 0.2s, box-shadow 0.2s; width: auto; border: none; line-height: 1.5; }
.hike__dates.entry .button-is-primary:hover { opacity: 0.9; box-shadow: 0 6px 20px rgba(221, 86, 35, 0.4); background: hsl(16, 90%, 55%); }
.daty_provedenia.rovedenia:has(a) { padding: 0; letter-spacing: normal; text-transform: none; font-size: 14px; font-weight: 500; border-top: 1px solid #e8ecf0; }
.daty_provedenia.rovedenia p { margin: 0; }
.daty_provedenia.rovedenia p a { display: block; padding: 12px 24px; color: #2d3748; text-decoration: none; transition: background 0.15s; }
.daty_provedenia.rovedenia p a:hover { background: #f7fafc; }
.edenia { border-top: 1px solid #e8ecf0; padding: 12px 24px; text-align: left; }
.edenia a, .edenia i { font-size: 12px; color: #718096; text-decoration: underline; text-underline-offset: 2px; font-style: normal; cursor: pointer; transition: color 0.15s; text-transform: none !important; font-family: inherit !important; }
.edenia a:hover, .edenia i:hover { color: #2d3748; }
.zayavka_mob .hike__dates.entry { width: 100%; max-width: 420px; margin: 0 auto; }
.zayavka_mob .daty_provedenia.rovedenia { padding: 20px 20px 4px; }
.zayavka_mob .daty_provedenia1 { padding: 0 20px 20px !important; }
.zayavka_mob .hike__dates.entry .button-is-primary { margin: 0 20px 20px; }

@media (max-width: 1024px) {
    .hike__dates.entry { width: 100%; max-width: 320px; margin: 0 auto; }
}
@media (max-width: 768px) {
    .hike__dates.entry { max-width: 100%; border-radius: 12px; }
    .daty_provedenia.rovedenia { padding: 20px 20px 4px; }
    .daty_provedenia1 { padding: 0 20px 16px !important; }
    .hike__dates.entry .button-is-primary { margin: 0 20px 20px; font-size: 15px; padding: 12px; }
}
@media (max-width: 480px) {
    .hike__dates.entry { border-radius: 8px; border-left: none; border-right: none; box-shadow: 0 2px 12px rgba(0,0,0,0.05); margin-top: 13px; }
    .daty_provedenia.rovedenia { padding: 16px 16px 4px; font-size: 10px; }
    .daty_provedenia1 { padding: 0 16px 16px !important; }
    .daty_provedenia1 p { font-size: 14px; }
    .hike__dates.entry .button-is-primary { margin: 0 16px 16px; }
    .edenia { padding: 10px 16px; }
}

/* =========================================================
   БЛОК: ОПИСАНИЕ ТУРА
   ========================================================= */
.hike__description { font-family: 'Inter', Museo, sans-serif; background: linear-gradient(145deg, #ffffff 0%, #fdfcfa 100%); border-radius: 20px; padding: 40px 44px !important; box-shadow: 0 1px 3px rgba(0,0,0,0.04), 0 8px 32px rgba(0,0,0,0.06); position: relative; overflow: hidden; width: 100%; box-sizing: border-box; margin-bottom: 40px; }
.hike__description::before { content: ''; position: absolute; top: 0; left: 0; width: 4px; height: 100%; background: linear-gradient(180deg, #e86930 0%, #d4a574 50%, #7fb5a0 100%); border-radius: 4px 0 0 4px; }
.tour-description { font-size: 16px; line-height: 1.75; color: #4a4a4a; margin-bottom: 32px; letter-spacing: -0.01em; }
.section-label { font-weight: 600; font-size: 13px; text-transform: uppercase; letter-spacing: 0.12em; color: #e86930; margin-bottom: 20px; display: flex; align-items: center; gap: 10px; }
.section-label::after { content: ''; flex: 1; height: 1px; background: linear-gradient(90deg, rgba(232, 105, 48, 0.3), transparent); }
.highlights-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.highlight-item { display: flex; align-items: flex-start; gap: 12px; padding: 14px 16px; background: #f9f8f5; border-radius: 12px; transition: all 0.25s ease; cursor: default; }
.highlight-item:hover { background: #f3f1ec; transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0,0,0,0.04); }
.highlight-icon { width: 32px; height: 32px; min-width: 32px; border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: 16px; background: linear-gradient(135deg, rgba(232, 105, 48, 0.1), rgba(232, 105, 48, 0.03)); }
.highlight-text { font-size: 14.5px; line-height: 1.5; color: #3d3d3d; }

@media (max-width: 600px) {
    .hike__description { padding: 28px 24px !important; }
    .highlights-grid { grid-template-columns: 1fr; }
}

/* =========================================================
   БЛОК: АККОРДЕОН ПРОГРАММЫ ПО ДНЯМ
   ========================================================= */
.program-accordion { max-width: 812px; width: 100%; margin-bottom: 40px; font-family: Museo, Arial, Helvetica, sans-serif; }
.day-card { background: #ffffff; border: 1px solid #e5e7eb; border-radius: 8px; margin-bottom: 20px; padding: 24px; transition: all 0.3s ease; cursor: pointer; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05); }
.day-card:hover { border-color: #ff5c33; box-shadow: 0 4px 20px rgba(255, 92, 51, 0.15); }
.day-header-top { display: flex; justify-content: space-between; align-items: center; }
.day-card .day-title-wrapper { display: flex !important; flex-direction: row !important; align-items: center !important; flex-wrap: nowrap !important; gap: 12px !important; width: auto !important; flex: 1; }
.day-card .day-badge { display: inline-flex !important; background: #f1f5f9; color: #1e293b; padding: 4px 12px; border-radius: 6px; font-size: 13px; font-weight: 700; white-space: nowrap !important; margin: 0 !important; }
.day-card .day-title { display: inline-block !important; margin: 0 !important; padding: 0 !important; width: auto !important; font-size: 20px; font-weight: 700; color: rgba(0, 0, 0, 0.8); line-height: 1.2; }
.day-toggle-btn { background: none; border: none; cursor: pointer; padding: 4px; color: #64748b; display: flex; align-items: center; justify-content: center; outline: none; }
.collapse-icon { width: 22px; height: 22px; transition: transform 0.3s ease; }
.collapse-icon.rotated { transform: rotate(180deg); }
.day-content { max-height: 2000px; overflow: hidden; transition: max-height 0.5s ease-in-out; }
.day-content.collapsed { max-height: 0; }
.day-desc { font-family: 'Inter', Museo, sans-serif; font-size: 16px; line-height: 1.75; color: #4a4a4a; margin-bottom: 20px; margin-top: 24px; }
.day-gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-bottom: 20px; }
.day-gallery a { display: block; position: relative; border-radius: 8px; overflow: hidden; aspect-ratio: 4/3; }
.day-gallery a:hover img { transform: scale(1.05); }
.day-stats { display: flex; flex-wrap: wrap; gap: 16px; padding-top: 16px; border-top: 1px solid #e5e7eb; }
.stat-item { display: flex; align-items: center; gap: 8px; font-size: 14px; color: #64748b; font-weight: 500; }
.stat-item svg { width: 18px; height: 18px; color: #ff5c33; }

@media (max-width: 768px) {
    .day-card { padding: 12px 16px; }
    .day-card .day-title-wrapper { gap: 8px !important; }
    .day-card .day-title { font-size: 16px !important; }
    .day-gallery { grid-template-columns: 1fr; gap: 4px; }
    .day-content .day-desc { padding-left: 10px !important; padding-right: 10px !important; }
    .day-content .day-gallery { padding-left: 10px; padding-right: 10px; }
}

/* =========================================================
   БЛОКИ: ГИД, ЦЕНЫ, УЧАСТИЕ
   ========================================================= */
.ns-section { padding: 24px 0 64px 0; font-family: system-ui, -apple-system, sans-serif; line-height: 1.5; color: #1e293b; background-color: #fff; }
.ns-section * { box-sizing: border-box; }
.ns-bg-muted { background-color: #f8fafc; }
.ns-bg-accent { background-color: #f1f5f9; }
.ns-container { max-width: 1166px; margin: 0 auto; padding: 0 20px; }
.ns-text-center { text-align: center; }
.ns-mb-4 { margin-bottom: 16px; }
.ns-mb-12 { margin-bottom: 48px; }
.ns-title { font-size: 36px; font-weight: 700; margin: 0 0 16px; line-height: 1.2; color: #0f172a; }
.ns-subtitle { font-size: 18px; color: #64748b; margin: 0 auto; max-width: 672px; }
.ns-text-muted { color: #64748b; }
.ns-text-primary { color: #ff5c33; }
.ns-badge { display: inline-flex; align-items: center; border-radius: 6px; padding: 4px 12px; font-size: 12px; font-weight: 600; line-height: 1; }
.ns-badge-secondary { color: #1e293b; background-color: #f1f5f9; }
.ns-badge-primary { color: #fff; background: linear-gradient(135deg, rgba(0,0,0,0.4) 0%, rgba(0,0,0,0.6) 100%); }
.ns-badge-outline { border: 1px solid #fed7aa; color: #ff5c33; background: transparent; }
.ns-card { border-radius: 8px; border: 1px solid #e2e8f0; background: #fff; box-shadow: 0 4px 16px rgba(0,0,0,0.05); overflow: hidden; }
.ns-icon-sm { width: 16px; height: 16px; flex-shrink: 0; }
.ns-icon-md { width: 20px; height: 20px; flex-shrink: 0; }
.ns-icon-lg { width: 24px; height: 24px; flex-shrink: 0; }
.ns-icon-check { color: #ff5c33; width: 16px; height: 16px; min-width: 16px; margin-top: 2px; }
.ns-icon-cross { color: #94a3b8; width: 16px; height: 16px; min-width: 16px; margin-top: 2px; }
.ns-btn { display: inline-flex; align-items: center; justify-content: center; padding: 12px 24px; border-radius: 8px; font-weight: 600; font-size: 16px; cursor: pointer; text-align: center; text-decoration: none; transition: all 0.2s; border: none; }
.ns-btn-primary { background-color: #ff5c33; color: #fff; width: 100%; }
.ns-btn-primary:hover { background-color: #ea580c; }
.ns-btn-white { background-color: #fff; color: #ff5c33; border: 1px solid #e2e8f0; width: 100%; }
.ns-btn-white:hover { background-color: #f8fafc; }
.ns-btn-outline { background: transparent; color: #1e293b; border: 1px solid #e2e8f0; width: 100%; font-size: 14px; padding: 10px 16px; }
.ns-btn-outline:hover { background: #f1f5f9; }
.ns-btn-hero { background: linear-gradient(135deg, #ff661a 0%, #ff8533 100%); color: #fff; padding: 16px 32px; box-shadow: 0 4px 16px rgba(249, 115, 22, 0.2); }
.ns-btn-hero:hover { box-shadow: 0 6px 20px rgba(249, 115, 22, 0.35); transform: translateY(-1px); }

.ns-guide-grid { display: grid; }
.ns-guide-img-wrap { position: relative; height: 320px; }
.ns-guide-img { width: 100%; height: 100%; object-fit: cover; }
.ns-guide-img-badge { position: absolute; top: 16px; left: 16px; }
.ns-guide-content { padding: 32px; }
.ns-guide-name { font-size: 24px; font-weight: 700; margin: 0 0 8px; }
.ns-guide-role { margin: 0 0 16px; }
.ns-guide-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
.ns-guide-quote { border-left: 4px solid #ff5c33; padding-left: 16px; margin: 0 0 24px; font-style: italic; color: #64748b; line-height: 1.6; }
.ns-guide-feature { display: flex; align-items: center; gap: 12px; font-size: 14px; margin-bottom: 12px; }
.ns-guide-feature-dot { width: 8px; height: 8px; min-width: 8px; background-color: #ff5c33; border-radius: 50%; }
.ns-price-grid { display: grid; gap: 32px; max-width: 1152px; margin: 0 auto; }
.ns-price-highlight { background-color: #f1f5f9; text-align: center; border: none; }
.ns-price-val { font-size: 48px; font-weight: 700; margin: 8px 0; line-height: 1; color: #0f172a; }
.ns-price-includes { padding: 24px; }
.ns-price-list-item { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 12px; font-size: 14px; color: #1e293b; }
.ns-price-list-item.muted { color: #64748b; }
.ns-join-grid { display: grid; gap: 32px; max-width: 896px; margin: 0 auto 48px; }
.ns-join-step { text-align: center; }
.ns-join-number { width: 64px; height: 64px; border-radius: 50%; background-color: rgba(255, 92, 51, 0.1); display: flex; align-items: center; justify-content: center; margin: 0 auto 16px; font-size: 24px; font-weight: 700; color: #ff5c33; }
.ns-join-title { font-weight: 600; margin: 0 0 8px; font-size: 18px; }
.ns-join-desc { font-size: 14px; color: #64748b; margin: 0; }
.ns-join-contacts { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; font-size: 14px; color: #64748b; margin-top: 16px; }
.ns-join-contact-item { display: flex; align-items: center; gap: 8px; }

@media (min-width: 768px) {
    .ns-guide-grid { grid-template-columns: 1fr 1fr; }
    .ns-guide-img-wrap { height: 100%; }
    .ns-price-includes-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
    .ns-join-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 1024px) {
    .ns-price-grid { grid-template-columns: 1fr 2fr; }
}

/* =========================================================
   ИНФОРМАЦИОННЫЕ БЛОКИ (Снаряжение, Участие, Заметки)
   ========================================================= */
.info-intro { font-size: 15px; line-height: 1.75; color: #4a4a4a; margin: 0 0 24px; padding-bottom: 20px; border-bottom: 1px solid #f1f5f9; }
.info-group { margin-bottom: 24px; padding-bottom: 20px; border-bottom: 1px solid #f1f5f9; }
.info-group--last, .info-group:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
.info-group-title { font-size: 16px; font-weight: 700; color: rgba(0, 0, 0, 0.8); margin: 0 0 12px; }
.info-list { list-style: none; padding: 0; margin: 0; }
.info-list li { position: relative; padding-left: 16px; margin-bottom: 8px; font-size: 14px; line-height: 1.7; color: #4a4a4a; }
.info-list li::before { content: ''; position: absolute; left: 0; top: 10px; width: 5px; height: 5px; border-radius: 50%; background: #ff5c33; }
.info-list li strong { color: rgba(0, 0, 0, 0.8); }
.info-text { font-size: 14px; line-height: 1.7; color: #4a4a4a; margin: 0 0 8px; }
.info-warning { background: #fff7ed; border-left: 3px solid #f59e0b; padding: 10px 14px !important; border-radius: 0 6px 6px 0; margin-top: 4px; margin-bottom: 12px !important; }
.info-warning::before { display: none !important; }
.info-note::before { background: #94a3b8 !important; }
.info-tip { background: #f0fdf4; border-left: 3px solid #22c55e; padding: 10px 14px; border-radius: 0 6px 6px 0; margin-top: 12px; font-size: 14px; line-height: 1.7; color: #4a4a4a; }
.info-steps { margin-bottom: 24px; padding-bottom: 20px; border-bottom: 1px solid #f1f5f9; }
.info-step { display: flex; gap: 14px; align-items: flex-start; margin-bottom: 14px; font-size: 14px; line-height: 1.7; color: #4a4a4a; }
.info-step:last-child { margin-bottom: 0; }
.info-step strong { color: rgba(0, 0, 0, 0.8); }
.info-step-num { min-width: 28px; height: 28px; border-radius: 50%; background: #ff5c33; color: #fff; display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 700; flex-shrink: 0; margin-top: 2px; }

@media (max-width: 768px) {
    .info-list li, .info-step, .info-text { font-size: 13px; }
    .info-group-title { font-size: 15px; }
}

/* =========================================================
   БЛОК: НОВЫЕ ОТЗЫВЫ (SWIPER)
   ========================================================= */
.reviews-section { max-width: 1160px; margin: 0 auto; }
.section-title { font-size: 32px; font-weight: 700; color: #333; margin-bottom: 30px; display: inline-block; position: relative; }
.section-title::after { content: ''; display: block; width: 100%; height: 4px; background-color: #fdd835; margin-top: 5px; border-radius: 2px; }
.controls-bar { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; margin-bottom: 20px; gap: 20px; }
.stats-block { display: flex; align-items: center; gap: 15px; flex-wrap: wrap; }
.filter-pill { background-color: #f1f3f6; padding: 8px 16px; border-radius: 20px; font-weight: 600; font-size: 14px; color: #333; cursor: pointer; }
.social-rating { display: flex; gap: 10px; }
.rating-badge { display: flex; align-items: center; gap: 5px; background-color: #f1f3f6; padding: 6px 12px; border-radius: 20px; font-size: 14px; font-weight: bold; color: #555; text-decoration: none; transition: background-color 0.2s; }
a.rating-badge:hover { background-color: #e4e7eb; }
.icon-vk { color: #0077FF; font-size: 18px; }
.icon-ya { color: #FC3F1D; font-size: 18px; }
.total-count { display: block; width: 100%; font-size: 13px; color: #777; margin-top: 10px; }
.btn-leave-review { background-color: #323648; color: white; padding: 12px 24px; border-radius: 8px; text-decoration: none; font-weight: 500; transition: background 0.3s; }
.btn-leave-review:hover { background-color: #4a4f63; }
.reviews-section .review-card { background: white !important; border-radius: 16px !important; padding: 24px !important; box-shadow: 0 4px 15px rgba(0,0,0,0.05) !important; width: 100% !important; height: 100% !important; flex: 1 1 auto !important; display: flex !important; flex-direction: column !important; box-sizing: border-box !important; position: relative !important; margin: 0 !important; }
.card-header { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 15px; }
.avatar { width: 48px; height: 48px; border-radius: 50%; overflow: hidden; flex-shrink: 0; }
.avatar img { width: 100%; height: 100%; object-fit: cover; }
.user-info h4 { margin: 0; font-size: 16px; color: #222; }
.review-date { font-size: 12px; color: #999; margin-top: 4px; }
.stars { color: #fdd835; font-size: 14px; margin-bottom: 12px; }
.review-text { font-size: 14px; line-height: 1.5; color: #555; margin-bottom: 10px; flex-grow: 1; }
.more-text { display: none; }
.review-text.expanded .more-text { display: inline; }
.review-text.expanded .dots { display: none; }
.read-more-btn { color: #333; font-weight: 700; cursor: pointer; margin-left: 5px; white-space: nowrap; }
.read-more-btn:hover { text-decoration: underline; }
.reviews-section .review-photos { display: flex !important; gap: 2px !important; margin-bottom: 15px !important; width: 100% !important; }
.reviews-section .review-photos > * { flex: 0 0 calc(33.333% - 1.33px) !important; max-width: calc(33.333% - 1.33px) !important; display: block !important; margin: 0 !important; text-decoration: none !important; }
.reviews-section .review-photos img { width: 100% !important; height: 100% !important; aspect-ratio: 1 !important; object-fit: cover !important; border-radius: 6px !important; display: block !important; padding: 0 !important; background: none !important; border: none !important; }
.card-footer { margin-top: auto; font-size: 12px; color: #999; text-decoration: underline; cursor: pointer; }
.reviews-section .swiper { margin-left: auto !important; margin-right: auto !important; position: relative !important; overflow: hidden !important; list-style: none !important; padding: 20px 10px 50px 10px !important; z-index: 1 !important; display: block !important; }
.reviews-section .swiper-wrapper { position: relative !important; width: 100% !important; z-index: 1 !important; display: flex !important; align-items: stretch !important; box-sizing: content-box !important; }
.reviews-section .swiper-slide { flex-shrink: 0 !important; height: auto !important; position: relative !important; display: flex !important; }
.reviews-section .swiper-button-prev, .reviews-section .swiper-button-next { position: absolute !important; top: 50% !important; transform: translateY(-50%) !important; z-index: 10 !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; background-color: white !important; background-image: none !important; border: none !important; width: 44px !important; height: 44px !important; border-radius: 50% !important; box-shadow: 0 2px 8px rgba(0,0,0,0.15) !important; color: #333 !important; margin: 0 !important; }
.reviews-section .swiper-button-prev.swiper-button-disabled, .reviews-section .swiper-button-next.swiper-button-disabled { opacity: 0.35 !important; cursor: auto !important; pointer-events: none !important; }
.reviews-section .swiper-button-prev { left: 10px !important; }
.reviews-section .swiper-button-next { right: 10px !important; }
.reviews-section .swiper-button-prev::after, .reviews-section .swiper-button-next::after { font-family: "Font Awesome 6 Free" !important; font-weight: 900 !important; font-size: 18px !important; color: #333 !important; background: none !important; border: none !important; }
.reviews-section .swiper-button-prev::after { content: "\f053" !important; }
.reviews-section .swiper-button-next::after { content: "\f054" !important; }
.reviews-section .swiper-pagination { position: absolute !important; text-align: center !important; transition: 0.3s opacity !important; z-index: 10 !important; bottom: 10px !important; left: 0 !important; width: 100% !important; display: block !important; }
.reviews-section .swiper-pagination-bullet { display: inline-block !important; border-radius: 50% !important; margin: 0 5px !important; cursor: pointer !important; width: 10px !important; height: 10px !important; background: #dcdcdc !important; opacity: 1 !important; }
.reviews-section .swiper-pagination-bullet-active { background: #323648 !important; }
.btn-load-more { display: none; width: 100%; padding: 14px; background-color: #f1f3f6; color: #555; border: 1px solid #e0e0e0; border-radius: 10px; font-size: 15px; font-weight: 600; cursor: pointer; margin-top: 20px; text-align: center; transition: all 0.2s ease; }
.btn-load-more:hover { background-color: #e4e7eb; color: #222; }
.btn-load-more:active { transform: translateY(1px); background-color: #dcdfe4; }

@media (max-width: 599px) {
    .reviews-section .section-title, .reviews-section .controls-bar { padding-left: 5px !important; padding-right: 5px !important; }
    .reviews-section .swiper-wrapper { display: flex !important; flex-direction: column !important; gap: 15px !important; transform: none !important; }
    .reviews-section .swiper-slide { width: calc(100% - 4px) !important; margin: 0 2px !important; }
    .reviews-section .review-card { padding: 15px !important; }
    .reviews-section .swiper { padding-left: 0 !important; padding-right: 0 !important; padding-bottom: 20px !important; }
    .reviews-section .swiper-button-next, .reviews-section .swiper-button-prev, .reviews-section .swiper-pagination { display: none !important; }
    .btn-load-more { display: block; }
    .reviews-section .swiper-wrapper:not(.show-all) .swiper-slide:nth-child(n+4) { display: none !important; }
}

/* =========================================================
   ПРОЧИЕ ЭЛЕМЕНТЫ DLE И СТАРЫЕ СТИЛИ (Legacy)
   ========================================================= */
.entry { width: 360px; background-color: #f6f6f6; box-sizing: border-box; position: relative; z-index: 2; }
.wrp { max-width: 96%; margin: 0 auto; width: 1180px; }
.foot_menu { font-size: .92em; list-style: none; padding: 0; margin: 0 0 50px 0; }
.foot_menu > li > b { color: #caced1; display: block; margin-bottom: 1em; text-transform: uppercase; }
.foot { padding-top: 20px; border-top: 1px solid #eceded; font-size: 1em; margin: 0 auto; max-width: 100%; width: 1180px; }
.grey { color: #94999e; }
.grey a { color: inherit; text-decoration: none; }
.ultrabold a { outline: none; color: #197abb; text-decoration: none; font-size: 1.07em; font-weight: 900; text-transform: uppercase; }
.imgsmall1 { float: left; padding-right: 20px; }
.ultrabold { font-weight: 900; text-transform: uppercase; }
.small-price { min-width: 75px; font-size: 14px; font-weight: bold; color: #fff; text-align: center; background: #5aa132; padding: 6px 10px; position: absolute; top: 20px; left: -10px; }
.media-thumb { position: relative; }
.media .media-thumb .small-price:before { bottom: -7px; left: 3px; border: solid transparent; content: " "; height: 0; width: 0; position: absolute; pointer-events: none; border-color: transparent; border-bottom-color: #3d731f; border-width: 7px; transform: rotate(45deg); }
.media-body { text-align: justify; font-family: Verdana; line-height: 1.5; }
.list_1 { position: relative; }
.data-lessons li { list-style-type: none; }
.story { background-color: #fff; padding: 25px 0; }
.shadow { position: relative; border-bottom: 1px solid #eceded; }
.shadow:after { position: absolute; z-index: 1; left: 0; top: 100%; width: 100%; height: 7px; content: ""; background-image: linear-gradient(top, rgba(0,0,0,0.05) 0%, rgba(0,0,0,0) 100%); }
.story > .wrp:after { clear: both; display: block; content: ""; }
.story > .wrp { position: relative; padding: 0 10px 0 10px; }
.two-columns { column-count: 2; column-gap: 20px; padding: 0; }
.schd-box { background-color: #fff; max-height: 120px; padding: 6px 7px 8px 5px; border-bottom: 1px solid #f6f6f6; color: rgba(0, 0, 0, .7); }
.schd-bqx { text-decoration: none; font-weight: 600; color: #ff6640; }
.page-header { background-color: rgb(205, 195, 186); background-image: url(https://hochu-v-pohod.ru/templates/Default/images/NZ5_318.jpg); background-size: cover, cover; min-height: 550px; color: rgb(255, 255, 255); font-weight: 500; font-size: 16px; background-repeat: no-repeat; background-position: center 0px; max-width: 1166px; }
.header-description h1 { color: rgb(255, 255, 255); font-weight: 900; font-size: 40px; display: inline; box-shadow: rgb(0, 209, 100) -8px 0px 0px 8px, rgb(0, 209, 100) 8px 0px 0px 8px; background-color: rgb(0, 209, 100); line-height: 1.35; -webkit-box-decoration-break: clone; margin-left: 40px; position: absolute; top: 65%; }
.imgshortstory { float: left; padding-right: 20px !important; max-width: 100%; }
.lefticon { position: relative; border-bottom: 1px solid #eceded; background-color: #fff; padding: 15px 0 25px 0; min-height: 210px; }
.stlct { font-size: 16px; line-height: 1.7; }
img.instruktor { width: 23%; margin: 0; }
img.fr-dii { display: inline-block; float: none; vertical-align: bottom; max-width: calc(100% - (2 * 5px)); opacity: 0.85; }
.discount { align-items: center; border: 1px solid transparent; position: relative; vertical-align: top; user-select: none; justify-content: center; padding: 4px; white-space: nowrap; display: flex; width: 77%; background-color: #32a2e3; border-color: transparent; color: #fff; font-size: 14px; padding-top: 5px; padding-bottom: 5px; height: auto; margin: auto; }
.discount::before { background-image: url(/uploads/posts/2022-11/1669459216_fire2.png); content: ""; position: absolute; left: 0; width: 30px; height: 28px; background-repeat: no-repeat; background-position: 50%; background-size: 22px 25px; }
.discount::after { background-image: url(/uploads/posts/2022-11/1669459216_fire2.png); content: ""; position: absolute; right: 0; width: 30px; height: 28px; background-repeat: no-repeat; background-position: 50%; background-size: 22px 25px; }
.old_price { text-decoration: line-through; }
#dropmenudiv a { text-decoration: none !important; color: inherit; display: block; padding: 5px 20px; border: 0 none; white-space: nowrap; color: inherit; }
#dropmenudiv { padding: 10px 0; min-width: 140px; width: auto !important; opacity: 1 !important; display: none; font-size: .9em; border-radius: 6px; border: 1px solid #e6e6e6; border-color: rgba(0,0,0,0.1); box-shadow: 0 8px 40px -10px rgb(0 0 0 / 30%); background-clip: padding-box; background-color: #fff; }
.title { font-weight: 900; font-size: 30px; color: rgba(0, 0, 0, .8); margin-top: 17px; margin-bottom: 35px; }
.wpb_row { max-width: 1180px; margin: 0 auto; }
.fr-filf { border-radius: 255px; width: 450px; margin: 0 140px 0 0; }
.mkdf-st-title { font-weight: 700; font-size: 70px; line-height: 81px; font-style: normal; color: rgba(81, 81, 81, 1); }
.mkdf-st-text { font-weight: 400; font-size: 28px; line-height: 39px; color: rgba(81, 81, 81, 1); padding-bottom: 25px; margin-top: -20px; }
.button-is-prim { border: 1px solid transparent; justify-content: center; border-width: 1px; padding: 21px; background-color: #ff5c33; border-color: transparent; color: #fff; font-weight: 900; border-radius: 5px; padding-top: 14px; padding-bottom: 11px; height: auto; text-decoration: none; margin: auto; }
.mkdf-st-text { font-weight: 400; font-size: 24px; line-height: 39px; color: rgba(81, 81, 81, 1); margin-top: -20px; text-align: center; padding: 0 20px 20px 22px; }
.vc_empt { text-align: center; display: block; }

@media (max-width: 1240px) {
    .entry { display: flex; justify-content: space-between; margin-bottom: 40px; flex-direction: column; }
}
@media (max-width: 860px) {
    .header-description h1 { font-size: 25px; }
    .paddingft { display: none; }
    .wedwefr2 { padding-top: 25px; }
    .imgsmall1 { max-width: 100%; padding: 0 20px 15px 0; }
    .wedwefr1 { position: absolute; right: 10px; bottom: 0; }
    .wedwefr { margin-left: -40px; }
    .media-body { max-width: 98%; }
    .imgfullstory13, .imgfullstory11, .imgfullstory12, .imgfullstory23, .imgfullstory21, .imgfullstory22, .imgfullstory31, .imgfullstory32, .imgfullstory33, .imgfullstory41, .imgfullstory42, .imgfullstory43, .imgfullstory51, .imgfullstory52, .imgfullstory53, .imgfullstory61, .imgfullstory62, .imgfullstory63, .imgfullstory71, .imgfullstory72, .imgfullstory73 { width: 100%; padding: 10px 0 0 0; }
    .tbl-c { display: table-cell; }
    .start-date { width: 54px; padding-left: 5px; }
    .schd-name { font-weight: 600; width: 325px; }
    .schd-place { width: 130px; display: none; }
    .fr-filf { border-radius: 255px; width: 75%; margin: auto; display: block; margin-top: 30px; max-width: 400px; }
    .mkdf-st-title { font-weight: 700; font-size: 24px; line-height: 50px; font-style: normal; text-align: center; padding: 0 0 0 0; }
    .fr-filf1 { display: block; margin: 0 auto; }
    .fr-filf2 { display: block; margin: 0 auto; }
}
@media (max-width: 767px) {
    .entry { flex-direction: column; align-items: center; width: 100%; }
}
@media only screen and (min-width: 701px) {
    .grid_1_2, .grid_1_4, .grid_3_4 { margin-right: 3%; box-sizing: border-box; }
    .grid_1_2, .grid_1_4 { width: 35%; }
    .grid_3_4 { width: 22%; }
}
@media only screen and (max-width: 700px) {
    .wrp { max-width: 80%; }
    .imgshortstory { padding-bottom: 16px; }
}
@media screen and (min-width: 861px) {
    .schd-name { font-weight: 500; width: 300px; padding-right: 20px; vertical-align: middle; padding-left: 20px; }
    .tbl-c { display: table-cell; }
    .start-date { padding-left: 0; width: 90px; vertical-align: middle; }
    .schd-place { width: 675px; vertical-align: middle; }
    .schd-price { font-size: 16px; font-weight: 500; text-align: right; vertical-align: middle; }
}
@media (min-width: 860px) {
    .grid_1_2 { width: 48%; }
    .paddingft_mob { display: none; }
    .fr-filf { float: left; }
    .imgshortstory { width: 300px; height: 200px; padding: 0; }
    .imgsmall1 { width: 300px; height: 200px; }
    .media-body { width: 80%; }
    .wedwefr1 { position: absolute; right: 10px; top: 162px; }
    .wedwefr { position: absolute; right: 10px; top: 30px; }
    .wedwefr2 { position: absolute; right: 10px; top: 130px; }
    .fr-filf1 { float: left; }
    .fr-filf2 { float: left; margin-right: 50px; }
}