/**
 * pgsdiplom.pro | responsive.css | 2026-06-27
 * Адаптивные стили. Десктоп (>1024px) — style.css.
 */

html {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

html,
body {
	overflow-x: hidden;
	width: 100%;
	min-width: 0;
}

.container {
	box-sizing: border-box;
	width: 100%;
	max-width: 1900px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 5%;
	padding-right: 5%;
}

.clearfix::after {
	content: "";
	display: table;
	clear: both;
}

.site-header,
.site-footer,
.site-body {
	width: 100%;
}

.site-header,
.site-footer {
	box-sizing: border-box;
}

.site-footer {
	flex-shrink: 0;
}

.header-nav {
	clear: both;
	position: relative;
	z-index: 150;
}

.menu-toggle {
	display: none;
}

.bonus-divider {
	margin: 15px 0;
	border-top: 1px solid #c7c7c7;
	height: 1px;
}

.bonus-title {
	text-align: center;
	color: #8bb748;
	font-size: 14pt;
}

.bonus-img-sm {
	width: 36px;
	max-width: 36px;
	position: static;
	display: block;
	margin: 0 auto;
}

.bonus-img-sm--offset-bottom,
.bonus-img-sm--offset-top {
	top: auto;
	bottom: auto;
	left: auto;
}

.bonus-section {
	padding: 0 12px 10px;
}

.bonus-section-title {
	display: block;
	text-align: center;
	color: #8bb748;
	font-size: 14pt;
	margin-bottom: 10px;
}

.search-submit-btn {
	width: 92px;
	height: 28px;
	min-height: 28px;
	border: 1px solid #ccc;
	background-color: #eee;
	color: #434343;
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
	box-sizing: border-box;
	font-family: Tahoma, sans-serif;
	font-weight: bold;
}

#footer .footer-copy {
	float: left;
	text-align: left;
}

#footer .footer-hostcms {
	display: none;
}

.metrika-noscript {
	position: absolute;
	left: -9999px;
}

/* Десктоп: резиновая шапка/подвал + контент в .container до 1900px */
@media (min-width: 1025px) {
	#main {
		max-width: none;
		width: 100%;
		padding-left: 0;
		padding-right: 0;
		margin: 0;
	}

	.container {
		box-sizing: border-box;
		width: 100%;
		max-width: 1900px;
		margin-left: auto;
		margin-right: auto;
		padding-left: 5%;
		padding-right: 5%;
	}

	.header-nav {
		margin: 0;
	}

	.header-top {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 16px;
	}

	#logo {
		float: none;
		flex: 0 1 auto;
		min-width: 0;
	}

	#cart {
		float: none !important;
		width: auto !important;
		min-width: 0 !important;
		max-width: none !important;
		flex: 0 0 auto;
		margin-left: auto;
		display: block !important;
	}

	#little_cart {
		padding: 0 !important;
		background: none !important;
		font-size: 12px !important;
		height: auto !important;
		min-height: 0 !important;
		line-height: 17px !important;
		text-align: right !important;
		width: auto;
		box-sizing: border-box;
	}

	#little_cart a,
	#little_cart a:link,
	#little_cart a:visited,
	#little_cart a:hover {
		display: block;
		background: url("/images/cart.webp") no-repeat scroll right 0 transparent !important;
		background-size: auto !important;
		padding: 78px 0 0 !important;
		text-align: right !important;
		white-space: nowrap !important;
		text-decoration: none !important;
		color: #4e7eaa !important;
		line-height: 17px !important;
		overflow: visible !important;
		text-overflow: clip !important;
	}

	/* Меню на всю ширину контейнера */
	#menu {
		display: flex;
		width: 100%;
		float: none;
	}

	#menu > .menu {
		flex: 1 1 0;
		min-width: 0;
		float: none;
	}

	#menu > .menu > .menu_item,
	#menu > .menu:first-child > .menu_item,
	#menu > .menu:last-child > .menu_item {
		display: block;
		width: 100%;
		float: none;
		box-sizing: border-box;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		padding-left: 6px;
		padding-right: 6px;
	}

	#content {
		width: calc(100% - 360px);
		box-sizing: border-box;
	}

	#bonus {
		width: 340px;
	}

	/* Подменю — на всю ширину родительского пункта */
	#menu > .menu .submenu {
		left: 0;
		right: 0;
		width: 100%;
		box-sizing: border-box;
	}

	#menu > .menu .submenu .menu {
		width: 100%;
		float: none;
	}

	#menu > .menu .submenu .menu_item,
	.submenu div .menu_item,
	.submenu div:first-child .menu_item,
	.submenu div:last-child .menu_item {
		width: 100% !important;
		float: none;
		display: flex;
		align-items: center;
		justify-content: center;
		box-sizing: border-box;
		border-radius: 0 !important;
		white-space: normal;
		overflow: visible;
		text-overflow: clip;
		line-height: 1.3;
		padding: 0 6px;
		height: auto;
		min-height: 46px;
		text-align: center;
	}

	#menu > .menu .submenu .menu:last-child .menu_item {
		border-radius: 0 0 10px 10px !important;
	}

	/* Каталог: 3 карточки в ряд (4 — от 1800px) */
	#content .catalog-grid,
	#content .shop_table {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 12px;
		width: 100%;
		margin-bottom: 20px;
		box-sizing: border-box;
		align-items: stretch;
	}

	#content .catalog-grid .group_item,
	#content .shop_table .group_item {
		display: flex;
		flex-direction: column;
		height: 100%;
		width: auto !important;
		max-width: none !important;
		float: none !important;
		margin: 0 !important;
		padding: 12px;
		box-sizing: border-box;
		overflow: visible;
		align-items: stretch;
	}

	#content .catalog-grid .group_item .item_img,
	#content .shop_table .group_item .item_img {
		flex-shrink: 0;
	}

	#content .catalog-grid .group_item .a_name,
	#content .shop_table .group_item .a_name {
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
		line-clamp: 3;
		width: 100%;
		height: auto;
		min-height: calc(1.3em * 3);
		max-height: calc(1.3em * 3);
		line-height: 1.3;
		margin: 8px 0;
		flex-shrink: 0;
		overflow: hidden;
		text-overflow: ellipsis;
		word-break: break-word;
	}

	#content .catalog-grid .group_item .cat_info,
	#content .shop_table .group_item .cat_info {
		flex: 1 1 auto;
		max-height: none;
		overflow: visible;
		display: block;
		-webkit-line-clamp: unset;
		line-clamp: unset;
		text-overflow: clip;
		margin: 0 0 8px;
		text-align: center;
	}

	#content .catalog-grid .group_item-actions,
	#content .shop_table .group_item-actions {
		margin-top: auto;
		padding-top: 12px;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		gap: 8px;
		width: 100%;
		flex-shrink: 0;
	}

	#content .catalog-grid .delimeter,
	#content .shop_table .delimeter {
		display: none;
	}

	#content .catalog-grid .group_item-actions .a_button,
	#content .shop_table .group_item-actions .a_button {
		float: none !important;
		display: inline-block;
		margin: 0 !important;
		width: auto !important;
		min-width: 110px;
		padding: 8px 14px;
		font-size: 1em;
		line-height: 1.3;
		box-sizing: border-box;
	}

	#content .catalog-grid .group_item-actions .a_button--link,
	#content .shop_table .group_item-actions .a_button--link {
		text-decoration: underline;
	}

	.bread_crumbs,
	#content .path {
		position: relative;
		top: 0;
		margin-bottom: 12px;
		clear: both;
	}

	#pagination_top {
		position: static;
		right: auto;
		top: auto;
		margin-bottom: 12px;
		clear: both;
	}

	#video_day,
	.item_more {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}

	#video_day iframe {
		display: block;
		width: 100%;
		height: auto;
		aspect-ratio: 713 / 406;
		max-width: 100%;
		border: 0;
	}

	.a_name {
		width: 100%;
		display: block;
		height: auto;
		min-height: 55px;
	}

	#har_full .item-tab-image,
	#zap_full .item-tab-image {
		box-sizing: border-box;
		padding-left: 10% !important;
		padding-right: 10% !important;
	}

	#item_gallery {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 20px;
	}
}

@media (min-width: 1800px) {
	#content .catalog-grid,
	#content .shop_table {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	#item_gallery {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}

	#har_full .item-tab-image__img,
	#zap_full .item-tab-image__img {
		max-width: 750px;
	}
}

.table-responsive {
	width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.cart-table-wrap {
	margin-bottom: 15px;
}

.cart-table-wrap .shop_cart_table {
	width: 100%;
	min-width: 520px;
	max-width: none;
}

.cart-buttons {
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px solid #7f9db9;
	max-width: 100%;
}

/* ===== Планшеты и мобильные: ≤1024px ===== */
@media (max-width: 1024px) {
	body {
		font-size: 16px;
	}

	#main {
		box-sizing: border-box;
		width: 100%;
		max-width: 100%;
		padding-left: 15px;
		padding-right: 15px;
		padding-top: 5px;
	}

	.container {
		padding-left: 0;
		padding-right: 0;
	}

	.header-top {
		display: flex;
		flex-wrap: nowrap;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		margin-bottom: 16px;
		padding-top: 0;
		padding-bottom: 12px;
		border-bottom: 1px solid #e5e5e5;
	}

	#logo {
		float: none;
		height: auto;
		flex: 1 1 auto;
		min-width: 0;
		order: 1;
		display: flex;
		align-items: center;
	}

	#logo a {
		display: block;
		line-height: 0;
	}

	#logo img {
		max-width: 100%;
		height: auto;
		max-height: 90px;
		display: block;
	}

	#cart {
		float: none;
		width: auto;
		min-width: 0;
		max-width: none;
		flex: 0 0 auto;
		order: 2;
		margin-top: 0;
		padding-top: 0;
		display: flex;
		align-items: center;
		align-self: center;
	}

	#little_cart {
		padding: 0;
		font-size: 11px;
		line-height: 1.2;
		box-sizing: border-box;
		text-align: right;
	}

	#little_cart a,
	#little_cart a:link,
	#little_cart a:visited {
		display: block;
		padding: 36px 0 0;
		background: url("/images/cart.webp") no-repeat right 0 transparent;
		background-size: 36px auto;
		text-align: right;
		white-space: normal;
		color: #4e7eaa;
	}

	.header-nav {
		margin-bottom: 12px;
	}

	.menu-toggle {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
		width: 100%;
		min-height: 44px;
		margin: 0 0 10px;
		padding: 10px 16px;
		border: 1px solid #706e62;
		border-radius: 8px;
		background: url("/images/bg_topmenu.webp") repeat-x 0 0;
		color: #fff;
		font-family: Tahoma, sans-serif;
		font-size: 16px;
		font-weight: bold;
		cursor: pointer;
		line-height: 1;
		position: relative;
		z-index: 200;
		-webkit-appearance: none;
		appearance: none;
		touch-action: manipulation;
		-webkit-tap-highlight-color: rgba(255, 255, 255, 0.2);
	}

	.menu-toggle-icon {
		display: block;
		width: 20px;
		height: 2px;
		background: #fff;
		box-shadow: 0 -6px 0 #fff, 0 6px 0 #fff;
		pointer-events: none;
	}

	.menu-toggle-text {
		pointer-events: none;
	}

	#menu {
		display: none;
		height: auto;
		margin-bottom: 10px;
	}

	body.menu-open #menu {
		display: block;
	}

	#menu .menu {
		float: none;
		width: 100%;
	}

	#menu .menu_item {
		display: block;
		float: none;
		width: 100% !important;
		border-radius: 0 !important;
		text-align: left;
		padding-left: 20px;
		min-height: 44px;
		line-height: 44px;
		box-sizing: border-box;
	}

	.menu:hover .submenu {
		display: none;
	}

	body.menu-open .menu.is-expanded .submenu {
		display: block;
		position: static;
		width: 100%;
	}

	body.menu-open .menu.is-expanded > .menu_item {
		background-position: 0 -46px;
	}

	.submenu .menu {
		float: none;
		width: 100%;
	}

	#menu .submenu .menu_item {
		padding-left: 40px;
		background-color: #a8a89e;
		background-image: url("/images/bg_topmenu.webp");
		background-repeat: repeat-x;
		background-position: 0 -46px;
		border-top: 1px solid rgba(255, 255, 255, 0.15);
	}

	#menu .submenu .menu_item::before {
		content: "— ";
	}

	#menu .submenu .menu_item:active,
	#menu .submenu .menu_item:hover {
		background-color: #b8b8ae;
		background-position: 0 -46px;
	}

	#slider {
		width: 100%;
		margin-top: 0;
		overflow: hidden;
		position: relative;
		aspect-ratio: 1003 / 323;
		height: auto !important;
		min-height: 0 !important;
		background-size: 100% 100% !important;
		background-position: center center !important;
	}

	#slider .nivo-slice,
	#slider .nivo-box {
		position: absolute;
		top: 0;
		z-index: 5;
		background-size: 100% 100% !important;
		background-position: center center !important;
	}

	#slider .nivo-slice {
		height: 100%;
	}

	#slider .nivo-controlNav {
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		z-index: 20;
	}

	#news {
		display: block;
		width: 100%;
		height: auto;
		overflow: hidden;
		box-sizing: border-box;
	}

	#news_header {
		float: none;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		max-width: 100%;
		height: 44px;
		border-radius: 5px 5px 0 0;
		box-sizing: border-box;
	}

	#news_header a {
		font-size: 13pt;
		line-height: 1.2;
	}

	#news_slide {
		float: none;
		display: flex;
		align-items: center;
		margin-left: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		height: 44px;
		min-height: 44px;
		max-height: 44px;
		padding: 0 10px;
		border-radius: 0 0 5px 5px;
		box-sizing: border-box;
		overflow: hidden;
		background-color: #efefef;
	}

	#news_slide marquee {
		display: block;
		width: 100% !important;
		max-width: 100% !important;
		height: 44px !important;
		line-height: 1.35;
		margin: 0;
		box-sizing: border-box;
		font-size: 11px;
	}

	#news_slide a,
	.news-ticker,
	.news-ticker__item,
	.news-ticker__item a {
		font-size: 11px;
	}

	.news-ticker {
		flex: 1 1 auto;
		width: 100%;
		height: 44px;
		min-height: 44px;
		max-height: 44px;
		overflow: hidden;
	}

	.news-ticker__item {
		height: auto;
		line-height: 1.35;
		padding: 8px 0;
		box-sizing: border-box;
		white-space: normal;
		overflow: visible;
		word-wrap: break-word;
		overflow-wrap: break-word;
	}

	.news-ticker__item a {
		display: flex;
		align-items: flex-start;
		column-gap: 10px;
		height: auto;
		box-sizing: border-box;
		white-space: normal;
		overflow: visible;
		word-wrap: break-word;
		overflow-wrap: break-word;
		line-height: 1.35;
	}

	.news-ticker__head {
		flex: 0 0 auto;
		white-space: nowrap;
	}

	.news-ticker__sep {
		padding-left: 10px;
	}

	.news-ticker__title {
		flex: 1 1 auto;
		min-width: 0;
		color: #434343;
		white-space: normal;
		word-wrap: break-word;
		overflow-wrap: break-word;
	}

	marquee {
		max-width: 100% !important;
	}

	.news_slide {
		float: none;
		display: block;
		margin: 5px 0;
		height: auto;
	}

	.site-layout {
		display: flex;
		flex-direction: column;
	}

	.site-layout #bonus,
	.site-layout #content {
		float: none;
		width: 100%;
		max-width: 100%;
	}

	.site-layout #bonus {
		margin: 10px 0 0;
		order: 2;
		padding: 12px 10px;
		box-sizing: border-box;
	}

	#bonus col.bonus-col-icon {
		width: 48px;
	}

	#bonus tr td:first-child:not([colspan]) {
		width: 48px;
		padding: 6px 8px 6px 0;
	}

	#bonus tr td:first-child:not([colspan]) img,
	#bonus tr td:first-child:not([colspan]) .bonus-img-sm {
		width: 40px;
		max-width: 40px;
	}

	.site-layout #content {
		order: 1;
	}

	/* Каталог: 2 карточки в ряд; 1 колонка — только portrait ≤767px */
	#content .catalog-grid,
	#content .shop_table {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
		width: 100%;
		margin-bottom: 20px;
		box-sizing: border-box;
		align-items: stretch;
	}

	#content .catalog-grid .group_item,
	#content .shop_table .group_item {
		width: auto !important;
		max-width: none !important;
		float: none !important;
		margin: 0 !important;
	}

	.group_item {
		width: calc(50% - 10px);
		box-sizing: border-box;
		overflow: hidden;
		display: flex;
		flex-direction: column;
		align-items: stretch;
	}

	.group_item .cat_info {
		flex: 0 0 auto;
		max-height: 52px;
		-webkit-line-clamp: 3;
		line-clamp: 3;
		margin-bottom: 6px;
	}

	.group_item .a_button {
		float: none !important;
		display: inline-block;
		margin: 10px 4px 0 !important;
		width: auto !important;
		max-width: calc(50% - 8px);
		min-width: 0 !important;
		min-height: 0 !important;
		padding: 8px 6px;
		box-sizing: border-box;
		vertical-align: top;
		font-size: 11px;
		line-height: 1.3;
	}

	.page_link,
	.current,
	.ctrl {
		min-height: 0 !important;
		line-height: 20px;
		padding-top: 4px;
		padding-bottom: 4px;
	}

	.a_name {
		width: 100%;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		line-clamp: 2;
		overflow: hidden;
		height: auto;
		max-height: 2.6em;
		line-height: 1.3;
		text-overflow: ellipsis;
		word-break: break-word;
	}

	.item_more {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
		margin-right: 0;
	}

	#video_day {
		width: 100%;
		max-width: 100%;
	}

	#video_day iframe {
		display: block;
		width: 100%;
		height: auto;
		aspect-ratio: 713 / 406;
		max-width: 100%;
		border: 0;
	}

	#har_full .item-tab-image,
	#zap_full .item-tab-image {
		padding-left: 0;
		padding-right: 0;
	}

	.item_gallery_pic {
		width: auto;
		float: none;
	}

	#item_gallery {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px;
	}

	#jquery-lightbox {
		padding: 10px 8px;
		grid-template-columns: min(calc(100vw - 16px), max-content);
	}

	#lightbox-container-image-box {
		max-width: 100% !important;
	}

	#lightbox-container-image {
		padding: 8px;
	}

	#lightbox-image {
		max-width: calc(100vw - 32px) !important;
		max-height: calc(100dvh - 90px) !important;
	}

	#lightbox-container-image-data-box {
		max-width: 100%;
		font-size: 14px;
	}

	#lightbox-container-image-data {
		padding: 0 8px;
	}

	.shop_cart_table {
		min-width: 520px;
	}

	.cart-table-wrap .shop_cart_table {
		max-width: none;
	}

	.cart-table-wrap {
		overflow-x: visible;
	}

	.cart-table-wrap .shop_cart_table {
		min-width: 0;
		width: 100%;
		border: 0;
	}

	.cart-table-wrap .shop_cart_table thead {
		display: none;
	}

	.cart-table-wrap .shop_cart_table tbody,
	.cart-table-wrap .shop_cart_table tfoot,
	.cart-table-wrap .shop_cart_table > tr {
		display: block;
		width: 100%;
	}

	.cart-table-wrap .shop_cart_table tbody tr.cart-item-row,
	.cart-table-wrap .shop_cart_table tfoot tr.cart-summary-row,
	.cart-table-wrap .shop_cart_table > tr.cart-discount-row,
	.cart-table-wrap .shop_cart_table > tr.cart-total-row {
		display: block;
		margin-bottom: 16px;
		padding: 12px;
		background: #f7f7f7;
		border: 1px solid #a9a9a9;
		border-radius: 8px;
		box-sizing: border-box;
	}

	.cart-table-wrap .shop_cart_table tfoot tr.cart-summary-row::before {
		content: "Итого";
		display: block;
		font-weight: bold;
		font-size: 17px;
		margin-bottom: 8px;
		padding-bottom: 6px;
		border-bottom: 1px solid #d0d0d0;
	}

	.cart-table-wrap .shop_cart_table tbody tr.cart-item-row td,
	.cart-table-wrap .shop_cart_table tfoot tr.cart-summary-row td,
	.cart-table-wrap .shop_cart_table > tr.cart-discount-row td,
	.cart-table-wrap .shop_cart_table > tr.cart-total-row td {
		display: block;
		width: 100% !important;
		text-align: left !important;
		border: none !important;
		padding: 6px 0;
		white-space: normal !important;
	}

	.cart-table-wrap .shop_cart_table tbody tr.cart-item-row td::before,
	.cart-table-wrap .shop_cart_table tfoot tr.cart-summary-row td[data-label]::before,
	.cart-table-wrap .shop_cart_table > tr.cart-discount-row td[data-label]::before,
	.cart-table-wrap .shop_cart_table > tr.cart-total-row td[data-label]::before {
		content: attr(data-label);
		font-weight: bold;
		margin-right: 6px;
	}

	.cart-table-wrap .shop_cart_table td.cart-cell--empty {
		display: none !important;
	}

	.cart-table-wrap .shop_cart_table tfoot tr.cart-summary-row td b,
	.cart-table-wrap .shop_cart_table > tr.cart-discount-row td b,
	.cart-table-wrap .shop_cart_table > tr.cart-total-row td b {
		display: none;
	}

	.cart-table-wrap .shop_cart_table tbody tr.cart-item-row td[data-label="Товар:"] a {
		font-weight: bold;
	}

	#content form[name="address"] input[type="text"],
	#content form[name="address"] input[type="email"],
	#content form[name="address"] select,
	#content form[name="address"] textarea {
		font-size: 16px;
		box-sizing: border-box;
	}

	.cart-buttons {
		width: 100%;
	}

	.site-submit-btn,
	#order_button {
		width: 100%;
		height: 36px;
		min-height: 36px;
		font-size: 16px;
		line-height: 34px;
		padding: 0 16px;
	}

	#error,
	#message {
		width: 100%;
		max-width: 450px;
		box-sizing: border-box;
	}

	.input400 {
		width: 100%;
		max-width: 350px;
	}

	table,
	img,
	iframe,
	object,
	embed {
		max-width: 100%;
	}

	/* Каталог: крупнее состав, цена и кнопка; заголовок — ещё крупнее */
	#content .catalog-grid .group_item,
	#content .shop_table .group_item {
		display: flex;
		flex-direction: column;
		align-items: stretch;
	}

	#content .catalog-grid .group_item .a_name,
	#content .shop_table .group_item .a_name {
		font-size: 18px;
		font-weight: bold;
		line-height: 1.3;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
		line-clamp: 3;
		width: 100%;
		height: auto;
		min-height: calc(1.3em * 3);
		max-height: calc(1.3em * 3);
		overflow: hidden;
		margin: 8px 0;
		text-overflow: ellipsis;
		word-break: break-word;
	}

	#content .catalog-grid .group_item .cat_info,
	#content .shop_table .group_item .cat_info {
		font-size: 14px;
		line-height: 1.4;
		max-height: none;
		overflow: visible;
		-webkit-line-clamp: unset;
		line-clamp: unset;
		text-overflow: clip;
		display: block;
		flex: 1 1 auto;
		margin-bottom: 8px;
		text-align: center;
	}

	#content .catalog-grid .group_item-actions,
	#content .shop_table .group_item-actions {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		gap: 8px;
		margin-top: auto;
		padding-top: 10px;
		width: 100%;
	}

	#content .catalog-grid .group_item-actions .a_button,
	#content .shop_table .group_item-actions .a_button {
		float: none !important;
		display: inline-block;
		font-size: 14px !important;
		line-height: 1.35;
		padding: 10px 12px;
		min-height: 40px;
		box-sizing: border-box;
		margin: 0 !important;
		width: auto !important;
		max-width: none !important;
		min-width: 0 !important;
	}
}

/* ===== Мобильные: ≤767px ===== */
@media (max-width: 767px) {
	#main {
		padding-left: 15px;
		padding-right: 15px;
		padding-top: 5px;
	}

	.header-top {
		flex-direction: row;
		align-items: center;
		margin-bottom: 12px;
	}

	#cart {
		margin-top: 0;
		align-self: center;
	}

	#logo img {
		max-height: 70px;
	}

	#little_cart a {
		padding-top: 34px;
		background-size: 34px auto;
	}

	#buy .a_button {
		min-height: 0 !important;
		padding: 8px 0 !important;
		margin: 15px 0 0 !important;
		line-height: 1.3;
		width: auto !important;
		display: block !important;
		float: none !important;
		text-align: center;
		clear: both;
	}

	#buy .a_button a {
		padding: 0;
	}

	#buy {
		position: static;
		margin-top: 15px;
		display: block;
	}

	#item_menu {
		overflow: visible;
		margin-bottom: 0;
	}

	.item_menu {
		display: block;
		float: none;
		margin: 0 0 5px;
		min-height: 0 !important;
		height: auto !important;
		padding: 8px 12px;
		line-height: 1.3;
		overflow: visible;
		text-align: left;
	}

	.item_menu.im_current {
		background-color: #8bb748;
		color: #fff;
		border-color: #8bb748;
	}

	.item_menu a,
	.item_menu span[onclick] {
		float: none !important;
		display: inline !important;
		position: static !important;
	}

	#bonus .search .inputbox {
		height: 36px;
		min-height: 36px;
		font-size: 16px;
		color: #333;
	}

	#bonus .search .inputbox::placeholder {
		color: #999;
		font-size: 16px;
		opacity: 1;
	}

	#bonus .search .inputbox::-webkit-input-placeholder {
		color: #999;
		font-size: 16px;
	}

	#bonus .search-submit-btn {
		width: 92px;
		height: 36px;
		min-height: 36px;
		font-size: 14px;
		line-height: 34px;
		color: #434343;
		background-color: #eee;
	}

	.item_gallery_pic {
		width: auto;
		padding-left: 0;
		padding-right: 0;
		float: none;
		height: auto;
		min-height: 0;
	}

	.item_gallery_pic img {
		max-width: 100%;
		height: auto;
	}

	.item_more_pic_link {
		float: none;
		display: block;
		margin: 0 auto 15px;
	}

	.item_more_pic {
		float: none;
		display: block;
		margin: 0 auto 15px;
		max-width: 100%;
	}

	.item_more_pic_link .item_more_pic {
		margin: 0 auto;
	}

	#main_item_block p {
		float: none;
		width: auto;
	}

	#main_item_block .a_button {
		float: none;
		margin: 10px 0;
		display: inline-block;
		min-height: 0;
	}

	.bread_crumbs {
		top: 0;
		margin-bottom: 10px;
	}

	#pagination_top {
		position: static;
		margin-bottom: 10px;
	}

	.bonus-section {
		padding-left: 10px;
		padding-right: 10px;
	}

	#form-callback input[type="submit"],
	input[name="sendtest"],
	.site-submit-btn,
	#order_button {
		height: 36px;
		min-height: 36px;
		line-height: 34px;
		font-size: 16px;
		width: 100%;
	}

	#content p > img,
	.oplata p > img {
		max-width: 90px;
		margin-right: 12px;
	}

	.submit-button {
		width: 100%;
		min-height: 48px;
		padding-top: 12px;
		padding-bottom: 12px;
	}

	#content .catalog-grid .group_item-actions .a_button,
	#content .shop_table .group_item-actions .a_button {
		font-size: 14px !important;
		width: auto !important;
		max-width: calc(50% - 4px) !important;
		display: inline-block;
		margin: 0 !important;
	}

	#content .catalog-grid .group_item .a_name,
	#content .shop_table .group_item .a_name {
		font-size: 18px;
	}

	#content .catalog-grid .group_item .cat_info,
	#content .shop_table .group_item .cat_info {
		font-size: 14px;
	}
}

/* Каталог и чертежи: 1 элемент в ряд только в portrait на узких экранах */
@media (max-width: 767px) and (orientation: portrait) {
	#item_gallery {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	#content .catalog-grid,
	#content .shop_table {
		grid-template-columns: 1fr;
	}

	.group_item {
		width: 100%;
		float: none;
		margin-right: 0;
		display: flex;
		flex-direction: column;
		align-items: stretch;
	}

	.group_item .cat_info {
		max-height: 48px;
		-webkit-line-clamp: 3;
		line-clamp: 3;
		font-size: 12px;
		line-height: 1.3;
		margin-bottom: 10px;
	}

	.group_item .a_button {
		float: none !important;
		display: block;
		margin: 8px 0 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		min-height: 0 !important;
		padding: 8px;
		box-sizing: border-box;
		font-size: 12px;
		line-height: 1.3;
	}
}
