/* Responsive Styles */
@media (max-width: 1400px) {
	.container {
		max-width: 1200px;
	}

	.hero__list {
		max-width: 70%;
	}

	.hero__title1 {
		font-size: 30px;
		line-height: 1.5;
	}

	.promo__title2 {
		white-space: wrap;
		line-height: 1.5;
	}
}

@media (max-width: 1200px) {
	.slide-group {
		-ms-grid-columns: 1fr 15px 1fr 15px 1fr;
		grid-template-columns: repeat(3, 1fr);
		gap: 15px;
		padding: 0 45px;
	}
}

@media (min-width: 1116px) {

	.burger,
	.mobile__logo {
		display: none;
	}
}

@media (max-width: 1115px) {

	h1,
	h2,
	h3,
	h4 {
		line-height: 1.5;
	}

	h2 {
		font-size: 18px;
	}

	h3 {
		font-size: 16px;
	}

	h4 {
		font-size: 14px;
		line-height: 1.5;
	}

	p {
		font-size: 14px;
	}

	.container {
		max-width: 960px;
	}

	.burger {
		-webkit-box-flex: 0;
		-ms-flex: 0 0 auto;
		flex: 0 0 auto;
	}

	.burger.change {
		position: relative;
		top: 0%;
		left: 5%;
	}

	.header__top {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		position: relative;
		width: 100%;
	}

	.header__logo {
		display: none;
	}

	.header::before {
		background-image: none;
	}

	.mobile__logo {
		display: inline-block;
		max-width: 70px;
		position: absolute;
		left: 50%;
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
		transform: translateX(-50%);
		max-height: 100px;
	}

	.header__menu {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-pack: start;
		-ms-flex-pack: start;
		justify-content: flex-start;
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		z-index: 10;
		margin: 0;
		width: 100%;
		background-color: rgba(0, 0, 0, 0.9);
		-webkit-transition: -webkit-transform .3s ease-in;
		transition: -webkit-transform .3s ease-in;
		-o-transition: transform .3s ease-in;
		transition: transform .3s ease-in;
		transition: transform .3s ease-in, -webkit-transform .3s ease-in;
		-webkit-transform: translateX(-140%);
		-ms-transform: translateX(-140%);
		transform: translateX(-140%);
		padding: 40px 0;
	}

	.header__menu.open {
		-webkit-transform: translateX(0);
		-ms-transform: translateX(0);
		transform: translateX(0);
		opacity: 1;
	}

	.header__menu-link {
		color: aliceblue;
		text-shadow: none;
	}

	.burger {
		z-index: 1001;
		/* Выше чем меню */

	}


	.burger.change {
		z-index: 100;
	}

	.burger.change .burger__bar {
		background-color: aliceblue;
	}

	.hero__title1 {
		font-size: 20px;
	}

	.hero__list {
		max-width: 100%;
	}

	.promo__list-item {
		font-size: 14px;
	}

	.cards__list-title3 {
		font-size: 16px;
	}

	.modal__content {
		-ms-touch-action: pan-y;
		touch-action: pan-y;
	}

	.modal__content,
	.acc__content-text {
		font-size: 12px;
	}

	.modal__content-title2 {
		font-size: 14px;
	}

	.modal .close {
		top: 5px;
		right: 5px;
	}

	.lightbox-content {
		max-width: 90%;
		max-height: 70%;
	}

	.lightbox-close {
		top: 9%;
		right: 20px;
	}

	.footer__text {
		font-size: 16px;
		margin-right: 10px;
	}

	.footer__image {
		margin-right: 10px;
	}
}

@media (max-width: 768px) {

	.mobile__logo {
		max-width: 50px;
	}

	.hero {
		text-align: center;
	}

	.btn {
		padding: 5px 10px;
		font-size: 12px;
	}

	.header__social-icon {
		width: 25px;
		height: 25px;
	}

	h1 {
		-webkit-transform-origin: bottom;
		-ms-transform-origin: bottom;
		transform-origin: bottom;
	}

	.modal__content-title2 {
		font-size: 18px;
	}

	.modal__prise-list-column {
		padding: 8px 4px;
		font-size: 11px;
	}

	.modal__prise-list-column--mobile {
		display: block;
	}

	.modal__content {
		padding: 5px;
		margin: 10% auto;
		font-size: 14px;
	}

	.modal__prise-content {
		position: relative;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.modal__prise-title4 {
		font-size: 14px;
	}

	.promo__preferents {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}

	.promo__block:first-of-type,
	.promo__block:last-of-type {
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		text-align: center;
	}

	.promo__text,
	.promo__text2 {
		font-size: 14px;
	}

	.cards__inner {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
	}

	.cards__list {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}

	.cards__list-item:not(:last-child) {
		margin-right: 0px;
	}

	.accordion__button {
		font-size: 16px;
	}

	.slide-group {
		-ms-grid-columns: 1fr 12px 1fr;
		grid-template-columns: repeat(2, 1fr);
		gap: 12px;
		padding: 0 35px;
	}

	.slider-nav {
		top: 60%;
	}

	.nav-arrow {
		width: 40px;
		height: 40px;
	}

	.filter-btn {
		/* width: 100px; */
		font-size: 0.9rem;
	}

	.lightbox-counter {
		font-size: 1rem;
		bottom: -30px;
		padding: 4px 12px;
	}

	.lightbox-content {
		width: 95%;
		height: 60%;
		max-height: 500px;
	}

	.lightbox-prev,
	.lightbox-next {
		width: 45px;
		height: 45px;
		font-size: 1.8rem;
		margin: 0 10px;
	}


	.lightbox-nav {
		padding: 0 10px;
	}

	.lightbox-close {
		width: 45px;
		height: 45px;
		font-size: 1.8rem;
		top: 25%;
		right: 20px;
	}

	.lightbox-counter {
		font-size: 1rem;
		bottom: -35px;
	}

	.footer__inner {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		text-align: center;
	}

	.footer__text {
		margin: 0 0 10px 0;
	}

	.footer__image {
		margin: 0 0 5px 0;
	}

	.footer__logo-image {
		width: 90px;
	}
}

@media (max-width: 600px) {
	.slide-group {
		-ms-grid-columns: 1fr;
		grid-template-columns: 1fr;
	}

	h1 {
		font-size: 2.2rem;
	}

	.filters {
		gap: 10px;
	}

	.filter-btn {
		padding: 10px 20px;
		font-size: 0.9rem;
	}

	.modal .close {
		width: 30px;
		height: 30px;
	}

	.close__button::before,
	.close__button::after {
		width: 20px;
		height: 4px;
	}

	.nav-arrow {
		width: 40px;
		height: 40px;
	}

	.nav-arrow i {
		font-size: 1.2rem;
	}
}

@media (max-width: 500px) {
	.header__social-phones {
		display: none;
	}

	.footer__social-phones {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
	}

	.modal__content {
		padding: 5px;
		margin: 5% auto;
		width: 95%;
	}

	.modal__content-title2 {
		font-size: 18px;
	}

	.modal__prise-title4 {
		margin-bottom: 10px;
		padding: 0 20px;
	}

	.modal__prise-list {
		margin-top: 0px;
	}

	.modal__prise-list th,
	.modal__prise-list-column {
		font-size: 10px;
		padding: 5px;
	}

	.accordion__inner {
		max-width: 320px;
	}

	.accordion__content-link {
		font-size: 10px;
	}

	.accordion__content-title {
		font-size: 16px;
	}

	.accordion__content-subtitle {
		font-size: 14px;
		word-break: break-word !important;
		overflow-wrap: anywhere !important;
		white-space: normal !important;
		min-width: 0 !important;
	}

	/* Дополнительно для flex-контейнеров */
	.accordion__content-item {
		min-width: 0;
		word-wrap: break-word;
		font-size: 12px;
	}

	.accordion__content-list {
		min-width: 0;
	}

	.accordion__content-block {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}

	.gallery-item {
		max-width: none;
		margin: 0;
		width: 100%;
		/* Занимает всю доступную ширину */
	}

	.nav-arrow {
		width: 35px;
		height: 35px;
	}

	.filters {
		gap: 10px;
	}

	.filter-btn {
		height: 35px;
		font-size: 0.8rem;
		gap: 5px;
	}

	.gallery__title {
		margin-bottom: 20px;
		font-size: 1.5rem;
	}

	.lightbox-content {
		max-height: 400px;
	}

	.lightbox-prev,
	.lightbox-next {
		width: 40px;
		height: 40px;
		font-size: 1.5rem;
		margin: 0 5px;
	}

	.lightbox-close {
		width: 40px;
		height: 40px;
		font-size: 1.5rem;
		top: 30%;
		right: 10px;
	}

	.lightbox-nav {
		padding: 0 5px;
	}

	.lightbox-counter {
		font-size: 0.9rem;
		bottom: -25px;
		padding: 3px 10px;
	}


}

@media (max-width: 360px) {
	.container {
		padding-left: 10px;
		padding-right: 10px;
	}

	.cards__list-item {
		padding: 15px 20px;
	}

	.modal__content {
		padding: 10px 5px;
	}

	.lightbox-content {
		height: 45%;
		max-height: 350px;
	}

	.lightbox-prev,
	.lightbox-next {
		width: 35px;
		height: 35px;
		font-size: 1.3rem;
	}

	.lightbox-close {
		width: 35px;
		height: 35px;
		font-size: 1.3rem;
		top: 33%;
	}
}

/* Дополнительные медиа-запросы для лучшего контроля */
@media (max-width: 1400px) and (min-width: 1201px) {
	.container {
		max-width: 1320px;
	}
}

@media (max-width: 1200px) and (min-width: 992px) {
	.container {
		max-width: 1140px;
	}

	.slide-group {
		-ms-grid-columns: 1fr 15px 1fr 15px 1fr;
		grid-template-columns: repeat(3, 1fr);
		gap: 15px;
		padding: 0 40px;
	}
}

@media (max-width: 991px) and (min-width: 768px) {
	.container {
		max-width: 960px;
	}

	.hero__list {
		max-width: 85%;
	}
}

/* Для ландшафтной ориентации мобильных устройств */
@media (max-height: 500px) and (orientation: landscape) {
	.header {
		padding-bottom: 20px;
		margin-bottom: 15px;
	}

	.hero__list {
		max-width: 90%;
	}

	.lightbox-content {
		height: 85vh;
		max-height: 85vh;
	}
}

/* Учет безопасных зон (notch) */
@supports(padding: max(0px)) {
	.container {
		padding-left: max(20px, env(safe-area-inset-left));
		padding-right: max(20px, env(safe-area-inset-right));
	}

	.header__top {
		padding-top: max(10px, env(safe-area-inset-top));
	}

	.footer__inner {
		padding-bottom: max(20px, env(safe-area-inset-bottom));
	}
}


@media (max-width: 1024px) and (min-width: 769px) and (orientation: landscape) {
	.accordion__content-block {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
	}

	.accordion__content-list {
		min-width: 100%;
	}

	.accordion__content-item {
		font-size: 14px;
	}
}