/* css file for developers */

/* Hide any iframe/map accidentally embedded in quest description content */
.quest-page__text iframe,
.quest-page__text [class*="ymaps"],
.quest-page__text [class*="map"] {
	display: none !important;
}

/* ========================================
   Sticky header
======================================== */
.header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 200;
	background: #fff;
	box-shadow: 0 1px 5px rgba(0,0,0,0.15);
	transition: transform 0.3s ease;
}

.header.header--hidden {
	transform: translateY(-100%);
}

/* Offset page content so it doesn't hide under fixed header */
.layout {
	padding-top: 80px;
}

/* ========================================
   Header phone
======================================== */
.header__phone {
	display: inline-block;
	text-decoration: none;
	color: #005c9a;
	font-family: "AcromBold", sans-serif;
	font-size: 14px;
	line-height: 18px;
	white-space: nowrap;
	transition: color 0.2s;
}
.header__phone:hover,
.header__phone:focus {
	color: #ffc600;
	text-decoration: none;
}

/* Desktop: shown right of top-menu, hidden on mobile */
.header__phone--desktop {
	display: inline-block;
	vertical-align: middle;
	padding: 0 10px 0 14px;
	line-height: 80px; /* match header height */
}
.header__phone--mobile {
	display: none;
}

/* Desktop header: keep phone inline with menu using flex */
@media screen and (min-width: 1051px) {
	.header .header__inner {
		display: flex;
		align-items: center;
		min-height: 80px;
		max-width: 1280px !important;
		padding: 0 30px !important;
		box-sizing: border-box;
	}
	.header__inner > a:first-child {
		flex: 0 0 auto;
		margin-right: 0;
	}
	.topmenu.desktop {
		flex: 1 1 auto;
	}
	.header__phone--desktop {
		flex: 0 0 auto;
		line-height: normal;
		padding: 0 8px 0 12px;
	}
	.secondmenu.desktop {
		flex: 0 0 auto;
		float: none;
		position: relative;
	}
	/* Desktop layout offset to match fixed header height */
	.layout {
		padding-top: 80px;
	}
}

.quest-image img {
	border-radius: 7px;
}
.quest-image{
	overflow: hidden;
	border-radius: 7px;
	position: relative;
}
.quest-block-locked .quest-image img{
	-webkit-filter: blur(4px);
	-moz-filter: blur(4px);
	-o-filter: blur(4px);
	-ms-filter: blur(4px);
	filter: blur(4px);
	margin: -3px -1%;
	width: 102%;
}
.quest-block-locked{
	position: relative;
}

/* Base quest-block needs position: relative for absolute children */
.quest-block{
	position: relative;
}

.quest-block-locked:before{
	width: 60px;
	height: 60px;
	display: block;
	position: absolute;
	margin-top: 80px;
	background: url(../images/locked.png) no-repeat;
	content: " ";
	z-index: 1;
	left: 50%;
	margin-left: -30px;
}

/* Video preview in quest cards */
.quest-media__play {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 56px;
	height: 56px;
	background: rgba(0,0,0,0.55);
	border-radius: 50%;
	cursor: pointer;
	z-index: 2;
	transition: background-color 0.2s;
}
.quest-media__play:hover {
	background: rgba(0,0,0,0.75);
}
.quest-media__play::after {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 55%;
	transform: translate(-50%, -50%);
	border-style: solid;
	border-width: 10px 0 10px 18px;
	border-color: transparent transparent transparent #fff;
}

/* Video carousel arrows + counter */
.quest-media__arrow {
	display: block;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 28px;
	height: 28px;
	background: rgba(0,0,0,0.45);
	border-radius: 50%;
	cursor: pointer;
	z-index: 3;
	transition: background-color 0.2s;
}
.quest-media__arrow:hover {
	background: rgba(0,0,0,0.7);
}
.quest-media__arrow--prev {
	left: 8px;
}
.quest-media__arrow--next {
	right: 8px;
}
.quest-media__arrow--prev::after,
.quest-media__arrow--next::after {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 0;
	height: 0;
	border-style: solid;
}
.quest-media__arrow--prev::after {
	transform: translate(-40%, -50%);
	border-width: 6px 10px 6px 0;
	border-color: transparent rgba(255,255,255,0.85) transparent transparent;
}
.quest-media__arrow--next::after {
	transform: translate(-60%, -50%);
	border-width: 6px 0 6px 10px;
	border-color: transparent transparent transparent rgba(255,255,255,0.85);
}

.quest-media__counter {
	position: absolute;
	bottom: 8px;
	right: 8px;
	background: rgba(0,0,0,0.5);
	color: #fff;
	font-size: 11px;
	padding: 2px 7px;
	border-radius: 10px;
	z-index: 3;
	pointer-events: none;
	font-family: Arial, sans-serif;
}
.quest-video {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 */
	height: 0;
	overflow: hidden;
	border-radius: 7px;
}
.quest-video iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 7px;
}
.timetable header{
	padding: 4px 0 6px;
	letter-spacing: 0.3px;
	border-bottom: 2px solid #ffc700;
}
.timetable footer{
	padding: 4px 0 6px;
	letter-spacing: 0.3px;
	border-top: 2px solid #ffc700;
	margin-top: 20px;
}
.timetable section{
	padding-top: 14px;
	letter-spacing: 0.3px;
}
.timetable section > .row{
	padding-top: 15px;
	padding-bottom: 15px;
}
.timetable .shedule-date{
	padding: 18px;
	line-height: 20px;
	border: 2px solid #c7e2ff;
	border-radius: 4px;
	color: #888888;
	font-weight: bold;
	display: block;
    text-decoration: none;
}
.timetable .shedule-date b,.timetable .shedule-header b{
	color: #141414;
}
.timetable .shedule-date p,.timetable .shedule-header p{
	margin: 0;
}
.timetable .shedule-header {
	margin-top: -16px;
	margin-bottom: -7px;
}
.timetable .shedule-header p{
	text-align: center;
	font-size: 12px;
	line-height: 26px;
}
.timetable .shedule-header b{
	display: block;
	border-bottom: 2px solid #fdc800;
	color: #141414;
	font-size: 18px;
}
.timetable section .col-xs-3 {
	width: 19.6%;
}
.timetable section .col-xs-9 {
	width: 80.4%;
	padding-left: 32px;
	padding-top: 19px;
}
.quest-day-time {
	float: left;
	margin: 0.4%;
	background: #fff;
	border: 2px solid #f0f0f0;
	line-height: 36px;
	border-radius: 50%;
	text-decoration: none;
	color: #c0c0c0;
	text-align: center;
	display: block;
	position: relative;
}
a.quest-day-time{
	border-color: #e0f2ff;
	background: #e0f2ff;
	color: #165791;
	font-weight: bold;
}
a.quest-day-time:before {
	content: "";
	position: absolute;
	transition: width 0.3s ease 0s;
	z-index: -1;
	background: #ffc602 none repeat scroll 0 0;
	height: 100%;
	left: 50%;
	opacity: 0;
	top: 50%;
	-ms-transform: translateX(-50%) translateY(-50%);
	transform: translateX(-50%) translateY(-50%);
	width: 0;
	border-radius: 30px;
}
a.quest-day-time:hover:before {
	opacity: 1;
	width: 100%;
	z-index: 1;
}
a.quest-day-time:hover {
	border-color: #ffc602;
}
a.quest-day-time span{
	position: relative;
	z-index: 3;
}
.prices .quest-day-time{
    border-radius: 24px;
    border-color: #e0f2ff;
    background: #e0f2ff;
    color: #175995;
    font-weight: bold;
}
.prices .quest-day-time.is-order{
	border-color: #f1f1f1;
	background: #f1f1f1;
	color: #5e5e5e;
}
.prices .quest-price.is-order{
	border-bottom-color: #dddddd;
}
.prices .quest-price.is-order:before, .prices .quest-price.is-order:after{
    background-blend-mode: luminosity;
}
.prices .quest-price.is-order span{
	color: #515151;
}
.quest-price{
	float: left;
	position: relative;
	height: 8px;
	border-bottom: 2px solid #b9e3fb;
	margin: 7px 0.4% 0;
	text-align: center;
}
.quest-price:before,.quest-price:after{
	content: " ";
	display: block;
	position: absolute;
	background: #fff url(../images/price_start.png) no-repeat;
	width: 6px;
	height: 10px;
	bottom: -2px;
}
.quest-price:before{
	left: 0;
}
.quest-price:after{
	background-image: url(../images/price_end.png);
	right: 0;
}
.quest-price span{
	display: inline-block;
	background: #fff;
	padding: 0 9px;
	color: #095ea6;
	font-weight: bold;
	position: relative;
	bottom: 6px;
}
.kids-page .quests-and-shedule img {
    /*max-height: 191px;*/
}
.kids-page .quest-block-locked:before {
	margin-top: 63px;
}

.shedule-header-dates a {
    float: left;
    width: 4.347826%;
    color: #212121;
    text-decoration: none;
    text-align: center;
    line-height: 29px;
    font-size: 12px;
}
.shedule-header-dates{
	margin-top: -38px;
}
.shedule-header-dates b,.shedule-header-dates i{
	border: 0 solid #fdc800;
}
.shedule-header-dates b{
	display: block;
	border-bottom-width: 2px;
	font-weight: bold;
}
.shedule-header-dates i{
	display: block;
	font-style: normal;
	font-weight: bold;
}

.shedule-header-dates a.active,.shedule-header-dates a:hover{
	color: #eecd0e;
	padding: 2px;
}
.shedule-header-dates a.active b,.shedule-header-dates a:hover b{
	margin:-2px -2px 0;
	border-width: 2px;
	border-bottom-color: transparent;
	border-radius: 50% 50% 0 0;
}
.shedule-header-dates a.active i,.shedule-header-dates a:hover i{
	margin:0 -2px -2px;
	border-width: 2px;
	border-top-width: 0;
	border-radius: 0 0 50% 50%;
}

nav.desktop{
	display: block;
}
nav.mobile{
	display: none;
}
.secondmenu.mobile .secondmenu__list {
	left: auto;
	right: -20px;
}
.timetable section .col-xs-9.desktop{
	display: block;
}
.timetable section .col-xs-9.mobile{
	display: none;
}

.prices__block img, .banner img {
	max-width: 100%;
}

.form-control-input-error {
    border-color: #c33030 !important;
}

.shedule-left, .shedule-right {
	display: none;
}

section.page-wrapper.page-discounts {
    margin-top: 60px;
}

.page-discounts .discounts__block h3 {
    color: #ffc112;
    margin-top: 16px;
    text-transform: uppercase;
    font-size: 14px;
    margin-bottom: 0;
}

.page-discounts .discounts__block p a {
	color: #ffc522;
	font-weight: bold;
	text-decoration: none;
}

.page-discounts .discounts__block p {
    margin: 8px 0;
    line-height: 18px;
}

.page-discounts .articles {
    padding-top: 23px;
}

.page-discounts .articles h2 {
    text-transform: uppercase;
    font-size: 14px;
    padding-bottom: 2px;
}

.page-discounts .articles ul {
    border-top: 2px solid #ededed;
    margin-top: 33px;
    padding-left: 9px;
}

.page-discounts .articles ul li{
	background: none;
}
.page-discounts .articles ul li:before{
	content: '✓';
	position: absolute;
	display: block;
	color: #ffc112;
	margin-left: -20px;
	margin-top: -3px;
	font-size: 18px;
	transform: rotate(16deg);
	font-weight: bold;
}

.page-discounts .discounts__block img{
	max-width: 100%;
}

.page-wrapper.page-404{
	position: relative;
	padding: 251px 20px 240px;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: flex-start;
}
.page-404 img{
    display: block;
}
.page-404 p{
	font-size: 16px;
	color: #a6a6a6;
	text-transform: uppercase;
	font-weight: bold;
	margin-right: 27px;
	margin-top: -4px;
	line-height: 36px;
}
.page-404 hr{
	background: #eeeeee;
	height: 1px;
	width: 100%;
	margin: 35px 0;
}
.page-404 a{
	text-transform: uppercase;
	text-decoration: none;
	color: #ffc600;
	font-weight: bold;
	display: inline-block;
	margin-top: 5px;
}
.discounts__block img{
	border-radius: 10px;
}
#scrolltop{
	position: fixed;
	z-index: 10;
	right: 20px;
	bottom: 88px;
	width: 50px;
	height: 50px;
	opacity: 0;
	transition: opacity 500ms;
}
#scrolltop.active{
	opacity: 1;
}
#scrolltop img{
	width: 100%;
	height: 100%;
}
.testimonials .testimonials__carousel .testimonial__text{
	margin: 0 0 8px;
}
/* Quest name link in reviews */
.testimonials .testimonials__block .testimonials__header a.quest {
	color: #005c9a;
	text-decoration: none;
	transition: color 0.2s;
}
.testimonials .testimonials__block .testimonials__header a.quest:hover {
	color: #ffc600;
}
.testimonials .testimonials__carousel .testimonials__block .testimonials__header{
	border-bottom: none;
}
.testimonials .testimonials__carousel .testimonials__block .testimonials__header:after{
	display: none;
}
.testimonials .testimonials__carousel .carousel-control, .testimonials .testimonials__carousel .carousel-control:active{
	bottom: 74px;
}
body.quest-page .testimonials .testimonials__carousel .carousel-control, body.quest-page .testimonials .testimonials__carousel .carousel-control:active{
	bottom: 31px;
}
body.quest-page .testimonials .testimonials__carousel .testimonial__author strong{
	padding-top: 26px;
}

/* Отзывы на странице квеста: сетка по 3 */
.testimonial-grid {
	/*display: flex;*/
	gap: 20px;
}

.testimonial-grid__item {
	flex: 1 1 0;
	min-width: 0;
	border: 1px solid #ededed;
	border-radius: 8px;
	padding: 18px 16px;
	background: #fff;
}

.testimonial-grid__item .testimonial__text {
	font-size: 13px;
	line-height: 1.5;
	color: #171717;
	margin: 0 0 12px;
	max-height: 120px;
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 6;
	-webkit-box-orient: vertical;
}

.testimonial-grid__item .testimonial__author {
	border-top: 1px solid #ededed;
	padding-top: 10px;
}

.testimonial-grid__item .testimonial__author img {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	float: left;
	margin-right: 10px;
}

.testimonial-grid__item .testimonial__author strong {
	display: block;
	font-family: "AcromBold", sans-serif;
	font-size: 13px;
	line-height: 18px;
	font-weight: normal;
	padding-top: 0;
	color: #2a2a2a;
}

.testimonial-grid__item .testimonial__author strong span {
	color: #a4a4a4;
	font-family: "Acrom", sans-serif;
}

/* Quest name link in frontpage testimonials */
.testimonial-grid__item .testimonial__quest-link {
	display: block;
	clear: both;
	font-family: "AcromMedium", sans-serif;
	font-size: 12px;
	line-height: 16px;
	color: #005c9a;
	text-decoration: none;
	margin-top: 4px;
	padding-top: 4px;
	padding-left: 46px; /* align with name, past avatar */
}
.testimonial-grid__item .testimonial__quest-link:hover,
.testimonial-grid__item .testimonial__quest-link:focus {
	color: #ffc600;
	text-decoration: underline;
}
span.testimonial__quest-link {
	color: #8f8f8f;
	text-decoration: none;
	cursor: default;
}

body.quest-page .testimonials .testimonials__carousel .carousel-control,
body.quest-page .testimonials .testimonials__carousel .carousel-control:active {
	bottom: -10px;
}

.testimonials__all-link {
	text-align: center;
	padding: 20px 0 0;
}

@media screen and (max-width: 767px) {
	.testimonial-grid {
		flex-direction: column;
		gap: 12px;
	}

	.testimonial-grid__item .testimonial__text {
		max-height: none;
		-webkit-line-clamp: unset;
	}
}

.quests-and-shedule .badge-partner:after {
    content: '';
    width: 110px;
    height: 112px;
    display: block;
    background: url(../images/badge-partner.png) 0 0 no-repeat;
    position: absolute;
    right: -9px;
    top: 6px;
}

/* Quest page: header with breadcrumbs + title above images */
.quest-page__header {
	background: #fff;
	padding: 16px 0 20px;
}
.quest-page__header .block__inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 20px;
	box-sizing: border-box;
}
.quest-page__header .breadcrumb {
	background: none;
	padding: 0;
	margin: 0 0 6px;
	border: none;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.quest-page__header .breadcrumb > li {
	margin: 0;
	padding-left: 0;
	background: none;
	color: #999;
	font-family: "AcromLight", sans-serif;
	font-size: 13px;
	line-height: 18px;
}
.quest-page__header .breadcrumb > li a {
	color: #999;
	text-decoration: none;
	transition: color 0.2s;
}
.quest-page__header .breadcrumb > li a:hover {
	color: #ffc600;
}
.quest-page__header .breadcrumb > li + li::before {
	content: '\203A';
	color: #ccc;
	margin: 0 6px;
	font-size: 14px;
}
.quest-page__header .breadcrumb > li.active {
	color: #666;
}
.quest-page__header h1 {
	color: #222;
	font-family: "AcromBold", sans-serif;
	font-size: 30px;
	line-height: 36px;
	text-transform: uppercase;
	letter-spacing: 1px;
	padding: 0;
	margin: 0;
}

.quest-page .page-wrapper-top{
	background: none;
	position: relative;
}
.quest-page .page-wrapper-top .background{
	max-width: 1280px;
	margin: 0 auto;
	height: 100%;
}
.quest-page .page-wrapper-top .background:after{
	/*content: " ";
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	background: url(../images/quest-image-shape.png) center top no-repeat;
	height: 100px;*/
}
.quest-page .page-wrapper-top .background .slick-list,
.quest-page .page-wrapper-top .background .slick-track{
	height: 100%;
}
.quest-page .page-wrapper-top .background .slick-slide {
	outline: none;
	position: relative;
}

.quest-page .page-wrapper-top .background .slick-next{
	right: 25px;
}
.quest-page .page-wrapper-top .background .slick-prev{
	left: 25px;
}
.quest-page .page-wrapper-top .background .slick-arrow{
	z-index: 10;
	margin-top: -40px;
}
.quest-page .page-wrapper-top .background .slick-prev:before,
.quest-page .page-wrapper-top .background .slick-next:before{
	font-size: 40px;
}

/* Mobile images: hide mobile block by default (desktop view) */
.quest-page .page-wrapper-top .background--mobile {
	display: none;
}

/* Quest info section below images */
.quest-page__info {
	background: #f8f8f8;
	padding: 28px 0;
}
.quest-page__info .block__inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 20px;
	box-sizing: border-box;
}
.quest-info {
	display: flex;
	align-items: flex-start;
	gap: 28px;
}
.quest-info__details {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	flex: 1;
}
.quest-info__item {
	background: #fff;
	border: 1px solid #e5e5e5;
	border-radius: 10px;
	padding: 12px 18px;
	min-width: 0;
	box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}
.quest-info__item--wide {
	flex: 1 1 200px;
}
.quest-info__label {
	display: block;
	color: #999;
	font-family: "AcromLight", sans-serif;
	font-size: 11px;
	line-height: 14px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	margin-bottom: 4px;
}
.quest-info__value {
	display: block;
	color: #222;
	font-family: "AcromBold", sans-serif;
	font-size: 15px;
	line-height: 20px;
}
.quest-info__value a {
	color: #222;
	text-decoration: none;
	transition: color 0.2s;
	margin-right: 10px;
}
.quest-info__value a:last-child {
	margin-right: 0;
}
.quest-info__value a:hover {
	color: #ffc600;
}
.quest-info__actions {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	flex-shrink: 0;
	padding-top: 4px;
}
.quest-info__book-btn {
	display: inline-block;
	background: #ffc600;
	color: #222;
	font-family: "AcromBold", sans-serif;
	font-size: 15px;
	line-height: 22px;
	text-decoration: none;
	padding: 10px 36px;
	border-radius: 25px;
	transition: all 0.25s ease;
	white-space: nowrap;
}
.quest-info__book-btn:hover {
	background: #e6b300;
	color: #222;
	text-decoration: none;
}
.quest-info__secondary {
	display: flex;
	gap: 16px;
}
.quest-info__link {
	color: #888;
	font-family: "AcromMedium", sans-serif;
	font-size: 13px;
	line-height: 18px;
	text-decoration: none;
	transition: color 0.2s;
}
.quest-info__link:hover {
	color: #ffc600;
}
.quest-info__restrictions {
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px solid #e5e5e5;
	color: #999;
	font-family: "AcromLight", sans-serif;
	font-size: 12px;
	line-height: 16px;
}

/* Sticky quest info bar (shown on mobile scroll-up) */
.quest-page__sticky-bar {
	display: none;
}
.quest-page__sticky-bar.is-visible {
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 100;
	background: rgba(23, 23, 23, 0.95);
	padding: 8px 20px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.3);
}
.quest-page__sticky-bar .sticky-bar__inner {
	max-width: 980px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.quest-page__sticky-bar .sticky-bar__name {
	color: #fff;
	font-family: "AcromBold", sans-serif;
	font-size: 14px;
	line-height: 18px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	flex: 1;
	margin-right: 15px;
}
.quest-page__sticky-bar .btn.btn-book {
	display: inline-block;
	height: 34px;
	background: #ffc600;
	border: 2px #ffc600 solid;
	color: #232323;
	font-family: "AcromMedium", sans-serif;
	font-size: 12px;
	line-height: 20px;
	text-decoration: none;
	border-radius: 17px;
	padding: 5px 20px;
	white-space: nowrap;
	flex-shrink: 0;
}

body.quest-page .testimonials .testimonials__carousel .testimonial__author strong{
	color: #171717;
}
body.quest-page .testimonials .testimonials__carousel .testimonial__author strong span{
	color: #a4a4a4;
}
.quest-youtube-button{
	background: url(../images/play-button.png);
    width: 60px;
    height: 60px;
    position: absolute;
    left: 50%;
    top: 200px;
    margin-left: -30px;
    opacity: 0.5;
    display: none;
    outline: none;
}
.quest-youtube-button:focus{
	outline: none;
}
.quest-youtube-button:hover{
	opacity: 1;
}
#youtube-player{
	position: fixed;
	left: 0;
	top: 40px;
	z-index: 100;
	display: none;
	width: 100%;
	height: calc(100% - 40px);
}


@media screen and (max-width: 1050px) {
	/* Quest page: carousel height on mobile - proportional to screen width */
	.quest-page .page-wrapper-top {
		height: 56.25vw; /* 16:9 aspect ratio for desktop images */
	}
	/* When mobile images exist: swap blocks */
	.quest-page .page-wrapper-top.has-mobile-images {
		height: 149vw; /* 500:745 mobile image aspect ratio */
	}
	.quest-page .page-wrapper-top.has-mobile-images .background--desktop {
		display: none;
	}
	.quest-page .page-wrapper-top.has-mobile-images .background--mobile {
		display: block;
		height: 100%;
	}
	/* All carousel slides on mobile: fit to width */
	.quest-page .page-wrapper-top .background > div,
	.quest-page .page-wrapper-top .background .slick-slide {
		background-size: 100% auto !important;
		background-color: #f0f0f0;
	}

	/* Quest page header on mobile */
	.quest-page__header {
		padding: 12px 0 14px;
	}
	.quest-page__header h1 {
		font-size: 20px;
		line-height: 24px;
		letter-spacing: 0.5px;
	}

	/* Quest info section on mobile: stack into cards grid */
	.quest-info {
		flex-direction: column;
		gap: 20px;
	}
	.quest-info__details {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 8px;
		width: 100%;
	}
	.quest-info__item--wide {
		grid-column: 1 / -1;
	}
	.quest-info__item {
		padding: 10px 14px;
	}
	.quest-info__actions {
		width: 100%;
	}
	.quest-info__book-btn {
		display: block;
		text-align: center;
		width: 100%;
		padding: 12px 20px;
		font-size: 16px;
	}
	.quest-info__secondary {
		justify-content: center;
	}

	/* Homepage intro on mobile */
	.homepage-intro {
		padding: 20px 16px;
	}
	.homepage-intro__inner p {
		font-size: 14px;
		line-height: 22px;
	}

	/* Main banner arrows on mobile */
	.main__carousel .slick-prev {
		left: 8px;
	}
	.main__carousel .slick-next {
		right: 8px;
	}
	.main__carousel .slick-prev:before,
	.main__carousel .slick-next:before {
		font-size: 28px;
	}

	#scrolltop{
		display: none;
	}
	nav.desktop{
		display: none;
	}
	nav.mobile{
		display: block;
	}

	/* Mobile header: flex row logo | phone | hamburger */
	.header__phone--desktop {
		display: none;
	}
	.header__inner {
		display: flex;
		align-items: center;
		padding: 10px 15px;
	}
	/* Logo stays left */
	.header__inner > a:first-child {
		flex: 0 0 auto;
		margin-right: auto; /* push everything else to the right */
	}
	/* Phone in the middle-right */
	.header__phone--mobile {
		display: inline-flex;
		align-items: center;
		flex: 0 0 auto;
		margin-right: 12px;
		font-size: 13px;
		padding: 0;
	}
	/* Hamburger stays far right */
	.secondmenu.mobile {
		flex: 0 0 auto;
		float: none;
	}
	/* Hide desktop secondmenu from flex flow */
	.secondmenu.desktop,
	.topmenu.desktop {
		display: none !important;
	}
	/* Reduce layout offset on mobile (header is shorter) */
	.layout {
		padding-top: 66px;
	}
	.frontpage .page-wrapper-top{
		padding-top: 75px;
	}
	.frontpage .page-wrapper-top h1{
		font-size: 32px;
		line-height: 42px;
	}
	.frontpage .page-wrapper-top h1 strong {
		font-size: 34px;
		line-height: 39px;
	}
	.frontpage .page-wrapper-top .btn.btn-to-missions{
		width: 300px;
	}
	.quests-and-shedule .nav-tabs li a{
		width: 130px;
	}
	.quests-and-shedule h3{
		top: 33px;
	}
	.quests-and-shedule .address{
		bottom: 27px;
	}
	.quests-and-shedule .duration{
		bottom: 70px;
	}
	.quests-and-shedule .gamers{
		bottom: 118px;
	}
	.quests-and-shedule .quest-block-locked .anons{
		top: 155px;
	}
	.timetable section .col-xs-3{
		width: 100%;
	}
	.timetable h2{
		display: none;
	}
	.quests-and-shedule .nav-tabs{
		padding-bottom: 8px;
	}
	.timetable .shedule-header b{
		line-height: 28px;
		width: 160px;
		margin: 0 auto;
	}
	.certificates .page-wrapper-top{
		height: auto;
	}
	.timetable .shedule-date{
		margin-left: -10px;
		width: 190px;
		border-color: #cce3fe;
	}
	.timetable section .col-xs-9.desktop{
		display: none;
	}
	.timetable section .col-xs-9.mobile{
		display: block;
	}
	.timetable section .col-xs-9 {
		width: 100%;
		padding-left: 4px;
		padding-top: 15px;
		padding-right: 2px;
	}
	.quest-day-time {
		margin: 2.3% 0.8%;
		font-size: 12px;
		white-space: nowrap;
		word-break: normal;
		padding-left: 0.5%;
		padding-right: 0.5%;
		box-sizing: content-box;
	}
	.col-xs-9 > span > .quest-day-time:first-child{
		margin-left:0;
	}
	.col-xs-9 > span > .quest-day-time:last-child{
		margin-right:0;
	}
	a.quest-day-time {
		border-color: #e4f0fe;
		background: #e4f0fe;
		color: #375ea2;
	}
	.quest-price {
		margin: 0;
	}
	.timetable section .col-xs-9 .separator{
		clear: both;
		height: 21px;
	}
	#order-confirm .btn.btn-ok{
		margin: 0 auto;
		display: block;
		max-width: 100%;
		padding: 15px 0;
		width: 240px;
	}
	.shedule-left, .shedule-right {
		display: block;
		width: 40px;
		height: 40px;
		float:left;
		border: 2px solid #ffcd0d;
		border-radius: 50%;
		margin-top: 14px;
	}
	.shedule-header-dates{
		width: calc(100% - 96px);
		height: 58px;
		overflow: hidden;
		float: left;
		margin: 6px 0 0;
		position: relative;
		z-index: 1;
	}
	.shedule-left:after{
		content: " ";
		position: absolute;
		width: calc(100% - 90px);
		height: 2px;
		left: 45px;
		top: 50px;
		background: #ffcd0d;
	}
	.shedule-left{
		margin-left: 2px;
		margin-right: 5px;
	}
	.shedule-right{
		margin-right: 2px;
		margin-left: 5px;
	}
	.shedule-header-dates-inner{
		width: 950px;
	}
	.shedule-header-dates b, .shedule-header-dates i{
		margin: 0px 5px;
	}    
	.shedule-header-dates i{
		line-height: 22px;
	}
	.shedule-header-dates a.active b, .shedule-header-dates a:hover b{
		margin: -2px 3px 0;
		background: #fff;
	}
	.shedule-header-dates a.active i, .shedule-header-dates a:hover i{
		margin: 0 3px -2px;
	}
	.shedule-left:before,.shedule-right:before{
		content: " ";
		position: absolute;
		border: 2px solid #ffcd0d;
		border-top-color: transparent;
		border-right-color: transparent;
		width: 12px;
		height: 12px;
		margin-top: 12px;
	}
	.shedule-left:before{
		transform: rotate(45deg);
		margin-left: 15px;
	}
	.shedule-right:before{
		transform: rotate(225deg);
		margin-left: 8px;
	}
	.shedule-left.disabled, .shedule-right.disabled{
		border-color: #e8e8e8;
	}
	.shedule-left.disabled:before,.shedule-right.disabled:before{
		border-left-color: #e8e8e8;
		border-bottom-color: #e8e8e8;
	}

	.quest-page .page-wrapper{
		padding-left: 10px;
		padding-right: 10px;
	}
	.quest-page .quest-page__text{
		padding: 20px;
		margin-top: 0;
		margin-bottom: 10px;
	}

	.page-404 img{
		width: 100%;
	}
	.page-wrapper.page-404{
		padding: 70px 20px;
	}
	.page-wrapper.page-404 br{
		display: none;
	}
	/*#book_block,#shedule{display: none !important}*/
	.modal .modal-content{
		padding: 15px 20px;
	}
	.modal .modal-footer .summa{
		padding-bottom: 10px;
	}
	.kids-points .kids-points__block-2{
		margin: 0;
	}
	.school-kids .block__inner{
		padding: 40px 20px 80px;
	}
	.kids-page .quests-and-shedule .quest-block h3{
		top: -45px;
	}
	.kids-page .quests-and-shedule .address{
		bottom: auto;
		top: 88px;
	}
	.kids-page .quests-and-shedule .duration{
		bottom: auto;
		top: 54px;
	}
	.kids-page .quests-and-shedule .gamers {
		bottom: auto;
		top: 15px;
	}
	.kids-page .quests-and-shedule .btn.btn-book{
		bottom: -55px;
		top: auto;
	}
	.kids-points{
		padding: 30px 0;
	}
	.page-wrapper .banner{
		margin: 0 0 10px;
	}
	.quest-youtube-button{
		left: auto;
		top: 20px;
		right: 20px;
	}
}

@media screen and (max-width: 640px) {
	.kids-page .page-wrapper-top h1{
		font-size: 40px;
		line-height: 58px;
	}
	.kids-page .page-wrapper-top h2{
		font-size: 14px;
		line-height: 22px;
	}
}

@media screen and (min-width: 500px) and (max-width: 800px) {
	#price-table section .col-xs-9.desktop{
		display: block;
	}
	#price-table section .col-xs-9.mobile{
		display: none;
	}
	#price-table section .col-xs-3 {
		width: 37%;
	}
	#price-table section .col-xs-9 {
		width: 63%;
		padding-left: 6px;
		padding-top: 4px;
	}
	#price-table section .shedule-date{
		margin: 0;
		width: auto;
	}
	#price-table .quest-day-time {
		margin: 11px 0%;
		box-sizing: border-box;
	}
}

/* Главная: баннер — ограничение ширины + стрелки */
.main__carousel {
	max-width: 1280px;
	margin: 0 auto;
	position: relative;
}
.main__carousel .slick-arrow {
	z-index: 10;
	width: 40px;
	height: 40px;
}
.main__carousel .slick-prev {
	left: 15px;
}
.main__carousel .slick-next {
	right: 15px;
}
.main__carousel .slick-prev:before,
.main__carousel .slick-next:before {
	font-size: 36px;
	opacity: 0.7;
}
.main__carousel .slick-prev:hover:before,
.main__carousel .slick-next:hover:before {
	opacity: 1;
}
.main__carousel .main__carousel-item img {
	display: block;
	width: 100%;
	height: auto;
}

/* Главная: блок-описание компании под баннером */
.homepage-intro {
	background: #f8f8f8;
	padding: 32px 20px;
	text-align: center;
}
.homepage-intro__inner {
	max-width: 780px;
	margin: 0 auto;
}
.homepage-intro__inner p {
	color: #444;
	font-family: "AcromLight", sans-serif;
	font-size: 16px;
	line-height: 26px;
	margin: 0;
}

/* Главная: отзывы — ссылка "Читать все" и навигация */
.testimonials-frontpage .testimonials__all-link {
	text-align: center;
	margin-top: 24px;
}
.testimonials-frontpage .testimonials__carousel .carousel-control,
.testimonials-frontpage .testimonials__carousel .carousel-control:active {
	bottom: -10px;
}

/* Главная: категории квестов (чипы на мобильных) */
.quest-categories--front {
	margin-bottom: 0.5rem;
}

.quest-type-chips-wrap {
	display: none;
}

@media screen and (max-width: 991px) {
	.quest-type-chips-wrap {
		display: block;
		position: sticky;
		top: 0;
		z-index: 150;
		background: #fff;
		padding: 10px 0 12px;
		margin: 0 -15px 12px;
		padding-left: 15px;
		padding-right: 15px;
		box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
	}

	.quest-type-chips {
		display: flex;
		flex-wrap: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x proximity;
		gap: 8px;
		padding-bottom: 4px;
	}

	.quest-type-chip {
		flex: 0 0 auto;
		scroll-snap-align: start;
		border: 2px solid #c7e2ff;
		background: #fff;
		color: #444;
		border-radius: 20px;
		padding: 8px 14px;
		font-size: 13px;
		line-height: 1.2;
		white-space: nowrap;
		cursor: pointer;
		-webkit-tap-highlight-color: transparent;
	}

	.quest-type-chip.is-active {
		background: #ffc700;
		border-color: #ffc700;
		color: #141414;
		font-weight: bold;
	}

	.quest-type-chip__count {
		opacity: 0.85;
		font-size: 11px;
		margin-left: 4px;
	}

	.quest-type-panel {
		display: none;
	}

	.quest-type-panel.is-active {
		display: block;
	}

	.quest-type-panel__title {
		font-size: 1.15rem;
		margin: 0 0 8px;
		padding-bottom: 8px;
		border-bottom: 2px solid #ffc700;
		text-align: center;
		font-family: "AcromBold", sans-serif;
		position: static !important;
		top: auto !important;
		left: auto !important;
		color: #171717 !important;
	}

	.quest-type-panel__intro {
		font-size: 0.9rem;
		line-height: 1.45;
		color: #555;
		margin: 0 0 14px;
		text-align: center;
	}

	/* На мобильных скрываем заголовок и описание для панели «Все развлечения» */
	.quest-type-panel[data-quest-type="0"] .quest-type-panel__title,
	.quest-type-panel[data-quest-type="0"] .quest-type-panel__intro {
		display: none;
	}
}

@media screen and (min-width: 992px) {
	.quest-type-chips-wrap {
		display: none !important;
	}

	/* На десктопе блок «Все развлечения» не показываем — те же карточки идут по категориям ниже */
	.quest-type-panel[data-quest-type="0"] {
		display: none !important;
	}

	.quest-type-panel {
		display: block !important;
		margin-bottom: 2.5rem;
	}

	.quest-type-panel__title {
		font-size: 1.35rem;
		margin: 0 0 10px;
		padding-bottom: 10px;
		border-bottom: 2px solid #ffc700;
		text-align: center;
		font-family: "AcromBold", sans-serif;
		position: static !important;
		top: auto !important;
		left: auto !important;
		color: #171717 !important;
	}

	.quest-type-panel__intro {
		font-size: 0.95rem;
		line-height: 1.5;
		color: #555;
		margin: 0 auto 20px;
		max-width: 48em;
		text-align: center;
	}
}

.quest-type-panel__empty {
	color: #888;
	margin: 0 0 1rem;
}

/* Отзывы: фильтр по квестам */
.review-filter-hidden {
	display: none !important;
}

.review-filter-wrap {
	position: sticky;
	top: 0;
	z-index: 150;
	background: #fff;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

/* Desktop: dropdown select */
.review-filter-select-wrap {
	display: none;
}

@media screen and (min-width: 992px) {
	.review-filter-select-wrap {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 12px;
		padding: 14px 20px;
		max-width: 980px;
		margin: 0 auto;
	}

	.review-filter-label {
		font-size: 14px;
		color: #444;
		white-space: nowrap;
	}

	.review-filter-select {
		padding: 8px 16px;
		font-size: 14px;
		border: 2px solid #c7e2ff;
		border-radius: 20px;
		background: #fff;
		color: #141414;
		cursor: pointer;
		outline: none;
		min-width: 280px;
		transition: border-color .2s;
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23444' d='M1.41 0L6 4.58 10.59 0 12 1.41l-6 6-6-6z'/%3E%3C/svg%3E");
		background-repeat: no-repeat;
		background-position: right 14px center;
		padding-right: 36px;
	}

	.review-filter-select:hover,
	.review-filter-select:focus {
		border-color: #ffc700;
	}

	/* Hide chips on desktop */
	.review-filter-chips {
		display: none !important;
	}
}

/* Mobile: scrollable chips */
.review-filter-chips {
	display: flex;
	flex-wrap: nowrap;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scroll-snap-type: x proximity;
	gap: 8px;
	padding: 12px 16px;
}

.review-filter-chips::-webkit-scrollbar {
	display: none;
}

.review-filter-chip {
	flex: 0 0 auto;
	scroll-snap-align: start;
	border: 2px solid #c7e2ff;
	background: #fff;
	color: #444;
	border-radius: 20px;
	padding: 8px 14px;
	font-size: 13px;
	line-height: 1.2;
	white-space: nowrap;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
	transition: background .2s, border-color .2s, color .2s;
	outline: none;
}

.review-filter-chip:hover {
	border-color: #ffc700;
}

.review-filter-chip.is-active {
	background: #ffc700;
	border-color: #ffc700;
	color: #141414;
	font-weight: bold;
}

.review-filter-chip__count {
	opacity: 0.7;
	font-size: 11px;
	margin-left: 4px;
}

/* ========================================
   ANIMATED COVER (Homepage Quest Cards)
   ======================================== */

.quest-animated-cover {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	overflow: hidden;
}

.quest-animated-cover iframe {
	width: 100%;
	height: 100%;
	border: none;
	object-fit: cover;
}

/* ========================================
   MUTE BUTTON (Homepage Cards & Reels)
   ======================================== */

.quest-media__mute-btn {
	position: absolute;
	bottom: 12px;
	right: 12px;
	z-index: 10;
	width: 40px;
	height: 40px;
	background: rgba(0, 0, 0, 0.6);
	border: none;
	border-radius: 50%;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.2s;
}

.quest-media__mute-btn:hover {
	background: rgba(0, 0, 0, 0.8);
}

.quest-media__mute-btn svg {
	width: 20px;
	height: 20px;
	fill: #fff;
}

/* ========================================
   QUEST REELS BLOCK (Type 3 — Vertical 9:16)
   ======================================== */

.quest-reels-block {
	position: relative;
	max-width: 400px;
	margin: 30px auto;
}

.quest-reels__viewport {
	position: relative;
	overflow: hidden;
	border-radius: 12px;
	background: #000;
}

.quest-reels__track {
	display: flex;
	transition: transform 0.3s ease-out;
}

.quest-reels__slide {
	flex: 0 0 100%;
	min-width: 100%;
	position: relative;
}

.quest-reels__video-wrap {
	position: relative;
	width: 100%;
	padding-bottom: 177.78%; /* 9:16 aspect ratio */
	background: #000;
}

.quest-reels__cover {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	cursor: pointer;
}

.quest-reels__play {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 64px;
	height: 64px;
	background: rgba(0, 0, 0, 0.6);
	border-radius: 50%;
	cursor: pointer;
}

.quest-reels__play::after {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 55%;
	transform: translate(-50%, -50%);
	border-style: solid;
	border-width: 12px 0 12px 20px;
	border-color: transparent transparent transparent #fff;
}

.quest-reels__iframe-wrap {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.quest-reels__iframe-wrap iframe {
	width: 100%;
	height: 100%;
	border: none;
}

/* Reels Controls */
.quest-reels__controls {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 15px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	z-index: 10;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.7), transparent);
}

.quest-reels__arrow {
	width: 44px;
	height: 44px;
	background: rgba(255, 255, 255, 0.9);
	border: none;
	border-radius: 50%;
	cursor: pointer;
	position: relative;
	transition: background 0.2s;
	flex-shrink: 0;
}

.quest-reels__arrow:hover {
	background: #fff;
}

.quest-reels__arrow::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	border-style: solid;
	border-width: 8px 0 8px 14px;
	border-color: transparent transparent transparent #333;
}

.quest-reels__arrow--prev::after {
	border-width: 8px 14px 8px 0;
	border-color: transparent #333 transparent transparent;
	margin-left: -2px;
}

.quest-reels__arrow--next::after {
	margin-left: 2px;
}

.quest-reels__counter {
	position: absolute;
	bottom: 20px;
	right: 70px;
	background: rgba(0, 0, 0, 0.7);
	color: #fff;
	padding: 6px 12px;
	border-radius: 20px;
	font-size: 14px;
	font-weight: bold;
	z-index: 10;
}

.quest-reels__mute {
	width: 40px;
	height: 40px;
	background: rgba(0, 0, 0, 0.6);
	border: none;
	border-radius: 50%;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	transition: background 0.2s;
}

.quest-reels__mute:hover {
	background: rgba(0, 0, 0, 0.8);
}

.quest-reels__mute svg {
	width: 20px;
	height: 20px;
	fill: #fff;
}

/* Mobile adjustments for reels */
@media screen and (max-width: 767px) {
	.quest-reels-block {
		max-width: 100%;
		margin: 20px -15px;
		border-radius: 0;
	}

	.quest-reels__viewport {
		border-radius: 0;
	}

	.quest-reels__arrow {
		width: 38px;
		height: 38px;
	}

	.quest-reels__counter {
		right: 65px;
		bottom: 18px;
		font-size: 13px;
		padding: 5px 10px;
	}

	.quest-reels__controls {
		padding: 12px;
	}
}
