/* ==========================================================================
   SMI59 — адаптивность
   ========================================================================== */

/* ---------- Широкие экраны ---------- */
@media (max-width: 1240px) {
	:root {
		--gap: 24px;
	}

	.page-grid {
		grid-template-columns: minmax(0, 230px) minmax(0, 1fr) minmax(0, 280px);
	}

	.menu-list > li > a {
		padding-left: 11px;
		padding-right: 11px;
		font-size: 12px;
	}

	.nav-search {
		flex-basis: 190px;
	}
}

/* ---------- Верхнее меню превращается в бургер ---------- */
@media (max-width: 1120px) {
	.menu_button {
		display: inline-flex;
	}

	.nav-inner {
		justify-content: space-between;
	}

	.nav-search {
		display: none;
	}

	.search-link {
		display: inline-flex;
	}

	.menu-list {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		z-index: 70;
		display: none;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		max-height: calc(100vh - 64px);
		overflow-y: auto;
		padding: 6px 20px 18px;
		background: var(--nav);
		box-shadow: var(--shadow-lg);
	}

	.main-nav.nav-open .menu-list {
		display: flex;
	}

	.menu-list > li {
		width: 100%;
	}

	.menu-list > li > a {
		justify-content: space-between;
		width: 100%;
		padding: 13px 10px;
		border-bottom: 1px solid rgba(255, 255, 255, 0.08);
		border-left: 3px solid transparent;
		font-size: 13px;
	}

	.menu-list > li > a:hover,
	.menu-list > li.is-active > a,
	.menu-list > li.is-open > a {
		border-bottom-color: rgba(255, 255, 255, 0.08);
		border-left-color: var(--accent);
		background: rgba(255, 255, 255, 0.06);
	}

	.menu-item-accent > a b {
		margin-left: 4px;
	}

	.submenu {
		position: static;
		display: none;
		width: auto;
		margin: 0 0 6px;
		padding: 4px 0 4px 14px;
		border: 0;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
		opacity: 1;
		visibility: visible;
		transform: none;
	}

	.menu-list > li:hover > .submenu {
		display: none;
	}

	.menu-list > li.is-open > .submenu,
	.menu-list > li.is-open:hover > .submenu {
		display: block;
	}

	.submenu a {
		padding: 9px 10px;
		color: #cbd5e1;
		font-size: 13px;
	}

	.submenu a:hover {
		background: rgba(255, 255, 255, 0.07);
		color: #fff;
	}
}

/* ---------- Планшеты: левый сайдбар уходит под контент ---------- */
@media (max-width: 1024px) {
	.page-grid {
		grid-template-columns: minmax(0, 1fr) 290px;
		grid-template-areas:
			"main right"
			"left right";
	}

	.content {
		grid-area: main;
	}

	.sidebar-left {
		grid-area: left;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 18px;
		align-items: start;
	}

	.sidebar-right {
		grid-area: right;
	}

	.sidebar-left > .widget,
	.sidebar-left > .ad-slot {
		margin-bottom: 0;
	}

	.hero-card {
		min-height: 320px;
	}

	.footer-grid {
		grid-template-columns: 1.4fr 1fr 1fr;
	}

	.footer-contacts {
		grid-column: 1 / -1;
	}

	.footer-contacts address {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* ---------- Небольшие планшеты ---------- */
@media (max-width: 900px) {
	.header-inner {
		min-height: 72px;
		gap: 15px;
	}

	.site-logo img {
		height: 40px;
	}

	.header-info {
		padding-left: 15px;
	}

	.header-brand {
		font-size: 13px;
	}

	.header-phone {
		width: 42px;
		height: 42px;
		padding: 0;
		justify-content: center;
	}

	.header-phone span {
		display: none;
	}

	.page-grid {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas:
			"main"
			"left"
			"right";
		gap: 22px;
	}

	.sidebar-left {
		grid-area: left;
	}

	.sidebar-right {
		grid-area: right;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 18px;
		align-items: start;
	}

	.sidebar-right > .widget,
	.sidebar-right > .ad-slot {
		margin-bottom: 0;
	}

	.hero-card {
		aspect-ratio: 16 / 9;
		min-height: 360px;
	}

	.footer-grid {
		grid-template-columns: 1fr 1fr;
	}

	.footer-brand {
		grid-column: 1 / -1;
	}

	.footer-contacts {
		grid-column: 1 / -1;
	}

	.footer-contacts address {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.statistics {
		grid-template-columns: 1fr;
	}

	.footer-bottom-inner {
		flex-direction: column;
		gap: 16px;
	}
}

/* ---------- Мобильные ---------- */
@media (max-width: 700px) {
	.container {
		padding-left: 14px;
		padding-right: 14px;
	}

	:root {
		--gap: 20px;
	}

	.header-info {
		display: none;
	}

	.header-inner {
		min-height: 66px;
	}

	.site-logo img {
		height: 36px;
	}

	.header-actions {
		gap: 7px;
	}

	.icon-btn,
	.header-phone {
		width: 38px;
		height: 38px;
		font-size: 15px;
	}

	.nav-inner {
		min-height: 50px;
	}

	.hero-card,
	.hero-carousel {
		border-radius: 16px;
	}

	.hero-card {
		aspect-ratio: 4 / 3;
		min-height: 320px;
	}

	.hero-card__body {
		padding: 20px 18px 22px;
	}

	.hero-card__title {
		font-size: 23px;
	}

	.hero-card__excerpt {
		font-size: 13px;
	}

	.hero-carousel .owl-controls {
		right: 12px;
		bottom: 12px;
	}

	.news-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.news-card {
		margin-bottom: 16px;
	}

	.news-card__media {
		aspect-ratio: 16 / 9;
	}

	.news-card__excerpt {
		-webkit-line-clamp: 4;
	}

	.section-head {
		margin: 22px 0 13px;
	}

	.section-head h2 {
		font-size: 18px;
	}

	.section-link {
		font-size: 12px;
	}

	.sidebar-left,
	.sidebar-right {
		grid-template-columns: minmax(0, 1fr);
	}

	.widget {
		padding: 15px;
		border-radius: 15px;
	}

	.article {
		padding: 20px 17px 22px;
		border-radius: 16px;
	}

	.article__title {
		font-size: 26px;
	}

	.article__body,
	.text {
		font-size: 17px;
		line-height: 1.7;
	}

	.article__meta {
		gap: 8px 12px;
		font-size: 12px;
	}

	.box_in {
		padding: 18px 16px;
	}

	.page_form__inner,
	.addform {
		padding: 20px 17px;
		border-radius: 16px;
	}

	.combo {
		grid-template-columns: 1fr;
	}

	.comment-form {
		padding: 16px;
	}

	.comment .left {
		margin-left: 0;
	}

	.userinfo_top {
		flex-direction: column;
		align-items: flex-start;
	}

	.userinfo_top .avatar {
		order: -1;
		width: 80px;
		height: 80px;
	}

	.usinf li {
		flex-direction: column;
		gap: 3px;
	}

	.ui-c1 {
		flex: none;
	}

	.pages {
		order: 1;
	}

	.page_next-prev {
		order: 2;
	}

	.navigation {
		gap: 10px;
	}

	.footer-afisha {
		padding: 24px 0 26px;
	}

	.footer-main {
		padding: 30px 0 26px;
	}

	.footer-grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.footer-brand,
	.footer-contacts {
		grid-column: auto;
	}

	.footer-contacts address {
		grid-template-columns: 1fr;
	}

	.footer-brand p {
		margin-bottom: 13px;
	}

	.footer-copyright {
		font-size: 11px;
	}

	.prev_button,
	.next_button {
		width: 34px;
		height: 34px;
		font-size: 16px;
	}

	.prev_button,
	.prev_button_7 {
		left: -8px;
	}

	.next_button,
	.next_button_7 {
		right: -8px;
	}

	.to-top {
		right: 14px;
		bottom: 14px;
		width: 42px;
		height: 42px;
	}

	.submenu {
		padding-left: 6px;
	}
}

/* ---------- Телефоны ---------- */
@media (max-width: 480px) {
	.hero-card {
		aspect-ratio: auto;
		min-height: 300px;
	}

	.hero-card__title {
		font-size: 21px;
		-webkit-line-clamp: 4;
	}

	.hero-card__excerpt {
		display: none;
	}

	.read-more {
		padding: 8px 12px;
		font-size: 12px;
	}

	.header-phone {
		display: none;
	}

	.section-head {
		align-items: flex-start;
	}

	.section-link {
		padding-top: 3px;
	}

	.slider_container--afisha .prev_button_7,
	.slider_container--afisha .next_button_7 {
		top: 40%;
	}

	.article__title {
		font-size: 23px;
	}

	.share {
		align-items: flex-start;
		flex-direction: column;
	}

	.social-link {
		font-size: 11.5px;
	}

	.pages a,
	.pages > span {
		min-width: 34px;
		height: 34px;
		font-size: 12.5px;
	}

	.page_prev a,
	.page_next a,
	.page_prev > span,
	.page_next > span {
		width: 34px;
		height: 34px;
	}
}

/* ---------- Уменьшенная анимация ---------- */
@media (prefers-reduced-motion: reduce) {

	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}

	.news-card:hover,
	.hero-card:hover .hero-card__img,
	.photo-card:hover .photo-card__img {
		transform: none;
	}
}
