/**
 * Адаптация под смартфоны и планшеты (дополняет layout.css / main.css).
 */

/* --- Общее --- */
@media (max-width: 767px) {
	html {
		-webkit-text-size-adjust: 100%;
		touch-action: auto;
	}

	body {
		overflow-x: hidden;
		touch-action: auto;
	}

	/* Верхний баннер-карусель на главной — только десктоп */
	#w0.slide.carousel {
		display: none !important;
		height: 0 !important;
		min-height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: hidden;
	}

	img {
		max-width: 100%;
		height: auto;
	}

	#wrapper.container {
		width: 100%;
		max-width: 100%;
		padding-left: 0;
		padding-right: 0;
	}

	main {
		background-size: contain;
	}
}

/* --- Шапка и навигация --- */
@media (max-width: 767px) {
	.mobile-nav-backdrop {
		display: none;
		position: fixed;
		inset: 0;
		z-index: 10040;
		background: rgba(0, 0, 0, 0.82);
	}

	body.mobile-nav-open {
		overflow: hidden;
	}

	body.mobile-nav-open .mobile-nav-backdrop {
		display: block;
	}

	#navbar-menu {
		display: none !important;
		position: fixed;
		top: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		left: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		z-index: 10050;
		margin: 0 !important;
		padding: 56px 0 24px;
		box-sizing: border-box;
		overflow-x: hidden;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		background: #120a04 url(../i/bg-wood-cropped-1.jpg) center top repeat;
		border: none;
		box-shadow: inset 0 0 80px rgba(0, 0, 0, 0.65);
		transform: none !important;
		text-align: center;
	}

	body.mobile-nav-open #navbar-menu {
		display: flex !important;
		flex-direction: column;
		align-items: center;
		justify-content: flex-start;
		height: auto !important;
		min-height: 100% !important;
		max-height: none !important;
	}

	.mobile-nav-close {
		position: fixed;
		top: 14px;
		right: 14px;
		z-index: 10080;
		width: 44px;
		height: 44px;
		padding: 0;
		border: 1px solid #d1aa50;
		border-radius: 4px;
		background: rgba(0, 0, 0, 0.75);
		color: #ffd661;
		font-size: 32px;
		line-height: 40px;
		text-align: center;
		cursor: pointer;
	}

	.mobile-nav-close span {
		display: block;
		margin-top: -2px;
	}

	body.mobile-nav-open .navbar-toggle {
		visibility: hidden;
		opacity: 0;
		pointer-events: none;
	}

	#navbar-menu .b-header {
		position: relative;
		float: none !important;
		width: 100% !important;
		max-width: 100%;
		margin: 0 auto !important;
		padding: 0 20px;
		box-sizing: border-box;
		height: auto !important;
		background: none !important;
		clear: both;
	}

	#navbar-menu .b-header__content {
		display: flex;
		flex-direction: column;
		align-items: center;
		float: none !important;
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		margin: 0 auto !important;
		left: auto !important;
		right: auto !important;
		transform: none !important;
	}

	.navbar-header {
		min-height: 72px;
	}

	.navbar-toggle {
		margin-top: 18px;
		margin-right: 12px;
		z-index: 10020;
		position: relative;
		pointer-events: auto;
	}

	.navbar-header-a {
		z-index: 1;
		pointer-events: auto;
	}

	#navbar-menu.collapse.in,
	#navbar-menu.collapsing {
		max-height: none;
		overflow: visible;
	}

	.b-header,
	.b-header__content {
		min-height: auto;
	}

	#navbar-menu .b-header-adress,
	#navbar-menu .b-time-table,
	#navbar-menu .b-info-table {
		float: none !important;
		position: relative !important;
		left: auto !important;
		right: auto !important;
		transform: none !important;
		text-align: center;
		margin: 8px auto !important;
		top: 0 !important;
	}

	#navbar-menu .b-header-adress {
		display: block !important;
		width: 114px !important;
	}

	#navbar-menu .b-time-table,
	#navbar-menu .b-info-table {
		width: 100% !important;
		max-width: 320px;
	}

	.b-header-adress,
	.b-time-table,
	.b-info-table {
		float: none !important;
		text-align: center;
		top: 0 !important;
		margin: 8px 0 !important;
	}

	.b-header-adress {
		position: relative !important;
		display: block !important;
		width: 114px !important;
		left: auto !important;
		right: auto !important;
		transform: none !important;
		margin: 8px auto 12px !important;
	}

	.b-time-table,
	.b-info-table {
		width: 100% !important;
	}

	.b-time-table__top,
	.b-time-table__time,
	.b-info-table__title,
	.b-info-table__tel,
	.b-info-table__mail {
		font-size: 14px;
		line-height: 1.35;
	}

	#navbar-menu .b-header-menu {
		display: flex !important;
		flex-direction: column;
		align-items: center;
		gap: 0;
		width: 100% !important;
		max-width: 100%;
		margin: 0 auto !important;
		margin-left: 0 !important;
		padding: 16px 0 8px !important;
		padding-top: 16px !important;
		height: auto !important;
		min-height: 0 !important;
		position: relative !important;
		bottom: auto !important;
		left: auto !important;
		right: auto !important;
		transform: none !important;
		background: transparent;
		font-family: "Academy", serif;
		text-align: center;
	}

	#navbar-menu .b-header-menu a {
		margin: 0 !important;
		padding: 16px 14px;
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
		font-size: 22px;
		line-height: 1.35;
		white-space: normal;
		text-align: center;
		color: #ffd661;
		border-bottom: 1px solid rgba(209, 170, 80, 0.25);
	}

	#navbar-menu .b-header-menu a:last-child {
		border-bottom: none;
	}

	.b-header-menu span {
		display: none !important;
	}
}

@media (min-width: 768px) {
	.mobile-nav-backdrop,
	.mobile-nav-close {
		display: none !important;
	}

	/* Верхний баннер — только десктоп (перебивает любые мобильные правила при ширине ≥768px) */
	#w0.slide.carousel {
		display: block !important;
		height: auto !important;
		min-height: 600px !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: hidden;
	}

	#w0.slide.carousel .carousel-inner.b-top-slider {
		position: relative;
		height: auto;
		min-height: 600px;
	}
}

@media (max-width: 400px) {
	#navbar-menu .b-header-menu a {
		font-size: 20px;
		padding: 14px 12px;
	}
}

/* --- Блок меню на главной --- */
@media (max-width: 767px) {
	#menuPage.b-section_menu,
	.b-section_menu {
		padding-left: 4px;
		padding-right: 4px;
	}

	#menuPage h2,
	.b-section_menu h2 {
		font-size: 20px;
		line-height: 1.35;
		padding: 0 10px;
	}

	.menu-name {
		font-size: 28px;
		margin: 24px 0 12px;
	}

	.menu-slider {
		width: 100% !important;
		max-width: 100%;
		margin: 20px auto 28px;
		padding: 0 4px;
		box-sizing: border-box;
		touch-action: pan-x pinch-zoom;
	}

	.menu-slider .slick-list {
		touch-action: pan-x pinch-zoom;
	}

	.menu-img {
		margin: 0;
		display: block;
		width: 100%;
	}

	.menu-slider-img {
		width: 100%;
		max-width: 100%;
		height: auto;
	}
}

/* Увеличенное меню в лайтбоксе: прокрутка и pinch-zoom */
@media (max-width: 767px) {
	.fancybox-opened .fancybox-inner {
		overflow: auto !important;
		-webkit-overflow-scrolling: touch;
		touch-action: auto;
	}

	.fancybox-opened .fancybox-image {
		max-width: none !important;
		width: auto !important;
		height: auto !important;
	}
}

@media (max-width: 480px) {
	.menu-name {
		font-size: 24px;
	}

	#menuPage h2 {
		font-size: 18px;
	}

	.menu-slider {
		width: 100% !important;
		margin: 16px auto 24px;
		padding: 0 2px;
		box-sizing: border-box;
	}
}

/* --- Винотека / пивоварня --- */
@media (max-width: 767px) {
	.wine,
	.brewery__container {
		width: 100% !important;
		padding: 0 12px;
		box-sizing: border-box;
	}

	.wine h1,
	main h1 {
		font-size: 24px;
		padding: 0 12px;
	}

	.wine__main-text,
	.wine__main-text p,
	.brewery__text-container {
		font-size: 16px;
		line-height: 1.45;
		width: 100% !important;
	}

	.brewery__img {
		width: 100% !important;
	}
}

/* --- Слайдеры: только свайп, без стрелок (кроме меню на десктопе) --- */
@media (max-width: 767px) {
	.slick-prev,
	.slick-next {
		display: none !important;
		visibility: hidden !important;
		pointer-events: none !important;
	}
}

/* --- Плавающие кнопки (на мобильных скрыты — мешают) --- */
@media (max-width: 767px) {
	.restoplace-button-wrapper,
	.fancy-btn,
	#restoplace-wrapper-btn {
		display: none !important;
		visibility: hidden !important;
		pointer-events: none !important;
	}
}

/* --- Афиша (мобильный слайдер) --- */
@media (max-width: 700px) {
	.l-afisha .b-event,
	.l-afisha .b-event-slider {
		overflow: hidden !important;
	}

	.l-afisha .b-event {
		width: 100% !important;
		max-width: 100%;
		height: auto;
		top: 0;
	}

	.l-afisha .b-event-slider {
		width: 100% !important;
		max-width: 100%;
		height: auto;
		margin: 0 auto;
	}

	#photos-afisha-mobile {
		position: relative;
		width: 100% !important;
		max-width: 100%;
		margin: 0 auto;
		padding: 0;
		box-sizing: border-box;
		touch-action: pan-x pinch-zoom;
	}

	/* Slick требует float:left у слайдов — иначе свайп не работает */
	#photos-afisha-mobile li.slick-slide {
		display: block !important;
		float: left !important;
		margin: 0 !important;
		height: auto;
	}

	#photos-afisha-mobile .slick-list {
		overflow: hidden;
	}

	#photos-afisha-mobile .b-event__item {
		margin-left: auto;
		margin-right: auto;
	}
}

/* --- Галереи, футер --- */
@media (max-width: 767px) {
	.b-media-gallery__list {
		width: 100% !important;
		max-width: 340px;
		margin: 0 auto;
	}

	.b-footer {
		padding: 16px 12px;
		text-align: center;
	}

	.b-footer-contacts,
	.b-footer-copy,
	.b-factory {
		width: 100% !important;
		float: none !important;
		position: relative !important;
		left: auto !important;
		transform: none !important;
		margin-bottom: 16px;
	}
}

/* --- Форма подписки в шапке --- */
@media (max-width: 767px) {
	.form-group.field-subscriber-email.required {
		top: 0;
		left: 0;
		width: 100%;
		padding: 0 12px;
		box-sizing: border-box;
	}

	button#subscriber-send {
		margin: 8px auto 0;
		display: block;
	}
}

/* Новости и События — скрыты на всех экранах (файл подключается последним) */
#mediaPage,
#newsPage {
	display: none !important;
}

.b-header-menu a[href="/#mediaPage"],
.b-header-menu a[href="/#newsPage"],
#navbar-menu a[href="/#mediaPage"],
#navbar-menu a[href="/#newsPage"],
.b-header-menu a[href="/#mediaPage"] + .b-header-menu__sep,
.b-header-menu a[href="/#newsPage"] + .b-header-menu__sep {
	display: none !important;
}
