@media (max-width: 767px) {
	html, body {
		overflow-x: hidden;
		max-width: 100%;
	}
	.viewport-wrapper,
	.page,
	.main {
		padding-bottom: 80px !important;
		overflow: visible !important;
		max-width: 100%;
	}
	.viewport-wrapper {
		min-width: 0;
	}
	.page .container,
	.cart-left,
	.film-cart,
	.d-md-flex,
	.order-box,
	.cinema-hall,
	.catalog-block {
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box;
	}

	.tab-slider,
	.calendar-list,
	.tool-wrapper .tab-slider {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		width: 100%;
	}
	.tab-slider a.bt-dark {
		flex: 0 0 auto !important;
		width: auto !important;
		min-width: max-content !important;
		max-width: none !important;
		display: inline-flex !important;
		white-space: nowrap !important;
	}
	.tab-slider::-webkit-scrollbar,
	.calendar-list::-webkit-scrollbar {
		display: none;
	}

	.page-content > .age,
	.film-detail > .age,
	.lg-title + .age,
	h1 + .age {
		white-space: normal !important;
		overflow: visible !important;
		text-overflow: unset !important;
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		overflow-wrap: anywhere !important;
		word-break: break-word !important;
		font-size: 13px !important;
		line-height: 1.45 !important;
		color: #8B919B;
		margin-top: 8px;
		padding-right: 4px;
		box-sizing: border-box;
	}

	.promo_tab {
		display: flex !important;
		flex-wrap: wrap !important;
		align-items: center !important;
		gap: 10px !important;
		padding-top: 12px !important;
	}
	.promo_tab a {
		padding: 10px 14px !important;
		margin: 0 !important;
		line-height: 1.2 !important;
	}

	.page-control {
		display: flex !important;
		align-items: center !important;
		min-height: 40px !important;
		height: auto !important;
	}
	.page-control a,
	a.icon-back {
		display: inline-flex !important;
		align-items: center !important;
		height: auto !important;
		min-height: 24px !important;
		line-height: 1.2 !important;
		gap: 0 !important;
	}
	.page-control a:before,
	a.icon-back:before {
		content: "" !important;
		display: block !important;
		width: 8px !important;
		height: 8px !important;
		border: 0 !important;
		border-left: 2px solid #8B919B !important;
		border-bottom: 2px solid #8B919B !important;
		transform: rotate(45deg) !important;
		margin: -1px 10px 0 2px !important;
		padding: 0 !important;
		flex: 0 0 auto !important;
		box-sizing: border-box !important;
		position: relative !important;
		top: 0 !important;
	}

	.top-info.d-flex.flex-wrap {
		gap: 10px 10px !important;
	}
	.top-info .item.red {
		margin: 0 8px 8px 0 !important;
	}
	.top-info .item.red a span {
		display: inline-block;
		padding: 10px 14px !important;
	}

	.session .info-line,
	.session-item .info-line {
		display: flex !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		overflow: visible !important;
		white-space: nowrap !important;
	}
	.session .info-line .time {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		min-width: 54px !important;
		max-width: 64px !important;
		width: auto !important;
		flex: 0 0 auto !important;
		position: relative !important;
		z-index: 3 !important;
		margin: 0 !important;
		padding: 0 8px !important;
		font-size: 13px !important;
		overflow: hidden !important;
	}
	.session .info-line .time-end {
		display: none !important;
	}
	.session .info-line .border {
		margin-left: -30px !important;
		padding-left: 30px !important;
		padding-right: 0 !important;
		width: 124px !important;
		min-width: 124px !important;
		flex: 0 0 124px !important;
		position: relative !important;
		z-index: 1 !important;
	}
	.session .info-line .age,
	.session-item .info-line .age {
		display: block !important;
		width: 48px !important;
		min-width: 48px !important;
		max-width: 48px !important;
		margin: 0 !important;
		padding: 0 !important;
		font-size: 12px !important;
		line-height: 25px !important;
		white-space: nowrap !important;
		position: static !important;
		text-align: center !important;
	}

	.seat-prices .item img {
		width: 28px !important;
		height: 18px !important;
		object-fit: contain !important;
		display: inline-block !important;
		background: transparent !important;
	}
	.cinema-hall .frame {
		min-height: 0 !important;
		background: #0E0F11;
	}

	.catalog-block {
		overflow: visible !important;
	}
	.catalog-slider,
	.promotion-slider,
	.preview-slider,
	.session-slider,
	.js-slide-row {
		display: flex !important;
		flex-wrap: nowrap !important;
		overflow-x: auto !important;
		overflow-y: hidden !important;
		-webkit-overflow-scrolling: touch !important;
		touch-action: pan-x pan-y !important;
		width: 100% !important;
		max-width: 100% !important;
		transform: none !important;
	}
	.catalog-slider .slick-list,
	.promotion-slider .slick-list,
	.preview-slider .slick-list,
	.session-slider .slick-list {
		overflow-x: auto !important;
		overflow-y: hidden !important;
		-webkit-overflow-scrolling: touch !important;
		touch-action: pan-x pan-y !important;
		width: 100% !important;
		transform: none !important;
	}
	.catalog-slider .slick-track,
	.promotion-slider .slick-track,
	.preview-slider .slick-track,
	.session-slider .slick-track {
		display: flex !important;
		transform: none !important;
		width: max-content !important;
	}
	.catalog-slider .movie-item,
	.catalog-slider .slick-slide {
		float: none !important;
		width: 46vw !important;
		min-width: 168px !important;
		max-width: 200px !important;
		flex: 0 0 46vw !important;
	}
	.promotion-slider .promotion-item {
		float: none !important;
		width: 200px !important;
		min-width: 200px !important;
		flex: 0 0 200px !important;
	}
	.catalog-slider .movie-item .preview img {
		width: 100%;
		height: auto;
		aspect-ratio: 2 / 3;
		object-fit: contain;
		object-position: top center;
		border-radius: 12px;
		image-rendering: auto;
	}

	.cinema-hall h1,
	.cinema-hall H1 {
		font-size: 20px !important;
		line-height: 1.25 !important;
		padding: 0 8px;
		overflow-wrap: anywhere;
		word-break: break-word;
		max-width: 100%;
	}
	.mobile-cinema-right {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 8px;
		padding: 0 8px;
	}
	.cinema-hall .md-title,
	.mobile-cinema-right .md-title {
		text-align: left !important;
		margin: 0 !important;
		font-size: 14px !important;
		line-height: 1.3 !important;
	}
	.info-panel {
		display: flex !important;
		justify-content: flex-start !important;
		align-items: center !important;
		margin-top: 8px !important;
		flex-wrap: wrap !important;
		gap: 8px;
		max-width: 100%;
	}
	.info-panel .date {
		margin: 0 !important;
		align-self: auto;
		max-width: 100%;
		font-size: 13px;
		padding: 8px 12px !important;
		white-space: normal;
		line-height: 1.3;
		flex: 1 1 auto;
	}
	.info-panel .tech {
		margin-left: 0 !important;
		padding: 8px 12px !important;
		flex: 0 0 auto;
	}
	.info-panel .tokino {
		margin: 0 !important;
		flex: 0 0 auto;
	}
	.info-panel .tokino img,
	.info-panel .img_tokino {
		margin: 0 !important;
		width: 32px !important;
		height: auto;
	}
	.info-menu li a .icon {
		position: relative !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 100% !important;
		height: 112px !important;
		min-height: 112px !important;
		margin: 0 auto 8px !important;
		padding: 8px 0 !important;
	}
	.info-menu li a .icon img.icon-clr,
	.info-menu li a:hover .icon img.icon-clr,
	.info-menu .manager-item .icon img.icon-clr {
		position: relative !important;
		left: auto !important;
		top: auto !important;
		transform: none !important;
		display: block !important;
		width: 72px !important;
		height: 72px !important;
		max-width: 72px !important;
		max-height: 72px !important;
		object-fit: contain !important;
		opacity: 1 !important;
		visibility: visible !important;
	}
	.info-menu li a .icon img.icon-wht,
	.info-menu li a:hover .icon img.icon-wht,
	img.icon-wht {
		display: none !important;
		opacity: 0 !important;
		visibility: hidden !important;
	}
	.info-menu li a:hover {
		background: #1C1F23 !important;
	}
	.info-menu .manager-item .wrapper {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		text-align: center !important;
	}
	.info-menu .manager-item .icon {
		display: flex !important;
		justify-content: center !important;
		align-items: center !important;
		width: 100% !important;
		margin: 0 auto 12px !important;
	}
	.info-menu .manager-item .icon img,
	.info-menu .manager-item .icon img.icon-clr {
		margin: 0 auto !important;
		display: block !important;
		position: relative !important;
		left: auto !important;
		top: auto !important;
		transform: none !important;
		width: 72px !important;
		height: 72px !important;
	}

	.gallery-slider,
	.gallery-slider.js-slide-row {
		display: block !important;
		overflow-x: scroll !important;
		overflow-y: hidden !important;
		-webkit-overflow-scrolling: touch !important;
		touch-action: pan-x pan-y !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 24px 0 0 !important;
		padding-right: 0 !important;
		transform: none !important;
	}
	.gallery-slider .js-slide-track {
		display: flex !important;
		flex-wrap: nowrap !important;
		width: max-content !important;
	}
	.preview-slider.js-slide-row {
		height: auto !important;
		overflow-x: auto !important;
		overflow-y: hidden !important;
		margin: 16px 0 0 !important;
		padding-right: 0 !important;
	}
	.preview-slider.js-slide-row .preview-item {
		width: 270px !important;
		min-width: 270px !important;
		max-width: 270px !important;
		flex: 0 0 270px !important;
		height: auto !important;
		align-self: flex-start;
		margin: 0 10px 0 0 !important;
	}
	.preview-slider.js-slide-row .preview-item .image,
	.preview-slider.js-slide-row .preview-item .top-panel {
		height: 135px !important;
	}
	.preview-slider.js-slide-row .preview-item .image img {
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
		object-position: center center !important;
	}
	.gallery-slider .gallery-item {
		flex: 0 0 220px !important;
		width: 220px !important;
		min-width: 220px !important;
		max-width: 220px !important;
		height: 160px !important;
		margin-right: 12px !important;
	}

	.seat-prices {
		display: flex !important;
		flex-wrap: wrap !important;
		justify-content: center !important;
		align-items: center !important;
		overflow: visible !important;
		touch-action: pan-y !important;
		margin: 0 auto !important;
		padding: 8px 12px 12px !important;
		row-gap: 8px;
		column-gap: 12px;
		text-align: center !important;
		width: 100%;
	}
	.cinema-hall .info-panel,
	.hall-legend,
	.seat-wrapper .seat-prices {
		justify-content: center !important;
		text-align: center !important;
	}
	#seats-sticky-wrapper,
	.seat-wrapper#seats {
		position: sticky !important;
		top: 0 !important;
		z-index: 40 !important;
		overflow: visible !important;
		touch-action: pan-y !important;
		background: #000 !important;
	}
	.seat-prices .item {
		margin: 4px 6px 0 !important;
		white-space: nowrap;
		flex: 0 0 auto;
	}
	.cinema-hall {
		overflow: visible !important;
		touch-action: pan-y;
	}
	.cinema-hall .page-content,
	.page .cinema-hall {
		overflow: visible !important;
	}
	.session-item .head,
	.session-item .info-line,
	.session-item .period {
		display: flex !important;
		visibility: visible !important;
		opacity: 1 !important;
		overflow: visible !important;
		flex-wrap: nowrap !important;
		white-space: nowrap !important;
	}
	.session-item .period .start,
	.session-item .period .end,
	.session .info-line .time {
		display: block !important;
		visibility: visible !important;
		white-space: nowrap !important;
	}
	.session-slider .session-item,
	.session-slider .session {
		margin-right: 16px !important;
	}
	.cinema-hall .frame {
		overflow: auto !important;
		-webkit-overflow-scrolling: touch;
		touch-action: pan-x pan-y !important;
		width: 100%;
		max-width: 100%;
		margin: 0;
		padding: 0 0 24px;
		max-height: 70vh;
		min-height: 320px;
		background: #0E0F11;
	}
	.cinema-hall .frame iframe,
	#frame_zal {
		width: 950px !important;
		min-width: 950px !important;
		max-width: none !important;
		height: 700px !important;
		display: block;
		overflow: auto !important;
	}
	#buy_bt,
	#buy_bt.desctop_pay,
	#buy_bt.is-on,
	.desctop_pay {
		display: none !important;
	}

	.mfp-content {
		width: 100% !important;
		max-width: 100% !important;
		height: 100% !important;
		margin: 0 !important;
	}
	.modal {
		max-width: 100%;
		box-sizing: border-box;
	}
	html.js-filter-lock,
	body.js-filter-lock {
		overflow: hidden !important;
	}
	#modal-filter.js-filter-open,
	.modal-filter.js-filter-open {
		display: flex !important;
		flex-direction: column !important;
		position: fixed !important;
		left: 0 !important;
		top: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		width: 100% !important;
		max-width: none !important;
		height: 100% !important;
		max-height: none !important;
		margin: 0 !important;
		padding: 0 !important;
		transform: none !important;
		z-index: 20000 !important;
		background: #0E0F11 !important;
		overflow: hidden !important;
		border-radius: 0 !important;
	}
	#modal-filter.js-filter-open .filter-wrapper {
		flex: 1 1 auto !important;
		height: auto !important;
		max-height: none !important;
		overflow: auto !important;
		-webkit-overflow-scrolling: touch;
		padding: 16px 16px 24px !important;
	}
	#modal-filter.js-filter-open .buttons {
		position: relative !important;
		left: auto !important;
		bottom: auto !important;
		flex: 0 0 60px;
		width: 100% !important;
	}
	#modal-filter.js-filter-open .modal-close {
		position: absolute;
		top: 12px;
		right: 12px;
		z-index: 2;
	}

	.film-board .name,
	.film-board h1 {
		font-size: 22px !important;
		line-height: 1.2 !important;
		word-break: break-word;
	}

	.main__header {
		flex-wrap: nowrap !important;
		gap: 8px;
		align-items: center;
	}
	.main__header .section-title {
		flex: 1 1 auto;
		min-width: 0;
	}
	.main__header--icon {
		width: 72px !important;
		height: 16px !important;
		flex: 0 0 72px !important;
		max-width: 72px !important;
	}
	.gost-book__lead {
		white-space: normal !important;
		overflow-wrap: anywhere !important;
		max-width: 100%;
	}
	.section-title {
		font-size: 18px !important;
	}
	.main {
		padding-top: 24px !important;
	}
	.main-slider {
		height: auto !important;
		max-height: none !important;
	}
	#gostPano {
		max-height: 240px;
		overflow: hidden;
		border-radius: 16px;
	}
	#gostPano img.gost-slide {
		width: 100%;
		height: 240px;
		object-fit: cover;
	}

	.top-bnr-wrapper {
		max-height: 140px;
		overflow: hidden;
	}

	.header-logo img {
		max-height: 28px;
		width: auto;
	}

	.session-box .md-title,
	.session-box .adds {
		word-break: break-word;
	}

	.film-cart .top-info {
		flex-wrap: wrap !important;
		overflow: visible !important;
		height: auto !important;
	}
	.film-cart .white-line {
		flex-wrap: wrap;
		height: auto !important;
		min-height: 20px;
		max-width: 100%;
		white-space: normal;
	}
	.film-cart .white-line .date,
	.film-cart .white-line .gray-text {
		white-space: nowrap;
	}
	.cart-side .bonus,
	.film-cart .bonus {
		display: none !important;
	}
	.film-cart {
		overflow: hidden;
	}
}
