.header {
	position: fixed;
	width: 100%;
	padding: 20px 0px;
	z-index: 9999;
	background-color: #fff;
}

.header_container {
	display: flex;
	align-items: center;
	justify-content: space-between;

}

.header__brand img {
	width: 47px;
}

.header__nav {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 26px;
	flex: 1;
}

.header__nav-link {
	font-size: 18px;
	line-height: 1;
	white-space: nowrap;
	position: relative;
}


.header__actions {
	display: inline-flex;
	align-items: center;
	gap: 16px;
}

.cart_badge {
	position: absolute;
	transform: translate(17px, -12px);
	min-width: 18px;
	height: 18px;
	padding: 0 6px;
	border-radius: 999px;
	font-size: 12px;
	line-height: 18px;
	text-align: center;
	background: #000;
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.header_cart {
	position: relative;
}

.header__icon-btn,
.header__burger {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: #AE93E9;
	border: 0;
	cursor: pointer;
}

.header__icon-btn:focus-visible,
.header__burger:focus-visible,
.menu__close:focus-visible,
.menu__link:focus-visible,
.menu__social-btn:focus-visible {
	outline: 3px solid rgba(164, 138, 242, .35);
	outline-offset: 3px;
}

/* Мобилка: прячем нав, оставляем бургер */
@media (max-width: 860px) {
	.header__nav {
		display: none;
	}

	.header__brand {
		min-width: auto;
	}

	._container {
		padding: 0 10px;
	}

	.header__icon-btn,
	.header__burger {
		width: 35px;
		height: 35px;
	}

	.header__actions {
		gap: 10px;
	}

}

/* Десктоп: бургер скрыть (в макете его нет) */
@media (min-width: 861px) {
	.header__burger {
		display: none;
	}
}

/* ===== MOBILE MENU (BEM) ===== */
.menu {
	position: fixed;
	inset: 0;
	z-index: 100;
	display: none;
}

.menu--open {
	display: block;
}

.menu__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, .55);
	top: 80px;
}

.menu__panel {
	margin-top: 91px;
	background: #fff;
	border-top: 1px solid #E7E7E7;
	border-radius: 0px 0px 24px 24px;
	padding: 16px;
	display: flex;
	flex-direction: column;
	transform: translateY(13px);
	opacity: 0;
	animation: menuIn .18s ease forwards;
}

@keyframes menuIn {
	to {
		transform: translateY(0);
		opacity: 1;
	}
}

.menu__top {
	display: flex;
	flex-direction: column;
}

.menu__caption {
	font-size: 12px;
	color: var(--muted);
	letter-spacing: .08em;
	text-transform: uppercase;
}

.menu__close {
	width: 34px;
	height: 34px;
	border-radius: 12px;
	border: 0;
	background: transparent;
	color: #222;
	cursor: pointer;
	margin-left: auto;
	margin-bottom: 12px;
}

.menu__nav {
	display: flex;
	flex-direction: column;
	margin-bottom: 150px;
}

.menu__link {
	font-size: 16px;
	margin-bottom: 15px;
}

.menu__contacts-title {
	font-size: 16px;
	font-weight: 600;
	margin-bottom: 12px;
}

.menu__contacts-list {}

.menu__contacts-item {
	margin-bottom: 17px;
}

.menu__contacts-link {
	color: #333;
}

.menu__social {
	display: flex;
	gap: 10px;
	margin-top: 12px;
}

.menu__social-btn {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: #AE93E9;
}


/*main----main------main------main------main------main------main------main------main------main------main------main------main*/

main {
	padding: 100px 0px 80px 0px;
}

.main_container {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	align-items: stretch;
}


.main_left {
	background: #AE93E9;
	border-radius: 16px;
	padding: 15px;
	position: relative;
	overflow: hidden;
}

.main_left_title {
	margin-top: 150px;
	font-size: 60px;
	font-weight: 600;
	text-transform: uppercase;
	color: #000;
}

.main_left_subtitle {
	font-size: 20px;
	max-width: 413px;
}

.main_left_footer {
	display: flex;
	justify-content: space-between;
	align-items: end;
}

.main_footer_disc {
	width: 260px;
	height: 210px;
	background: #fff;
	border-radius: 62% 38% 54% 46% / 52% 42% 58% 48%;
	box-shadow: 0 10px 25px rgba(0, 0, 0, .30);
	padding: 28px 18px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
	transform: rotate(-7deg);
}

.main_footer_disc>* {
	transform: rotate(7deg);
}


.main_disc_text {
	font-weight: 600;
	font-size: 36px;
	text-transform: uppercase;
}

.main_disc_text span {
	color: #9C7AE6;
	font-size: 30px;
	display: block;
}

.main_disc_price {
	text-align: center;
	font-weight: 600;
	font-size: 20px;
	color: rgba(0, 0, 0, 0.6);
	text-decoration: line-through;
}

.main_footer_logo {}

.main_right {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.main_girl {}

.main_right_bottom {
	position: relative;
	display: flex;
	justify-content: space-between;
	background-color: #C5FD6C;
	border-radius: 16px;
	align-items: center;
	padding: 14px 18px;
}

.main_telegram {
	position: absolute;
	left: 0px;
	top: 0px;
}

.main_right_title {
	font-weight: 600;
	font-size: 36px;
	max-width: 282px;
	line-height: 100%;
	position: relative;
	z-index: 9;
}

/* --- адаптив --- */
@media (max-width: 1220px) {
	.main_left_footer {
		justify-content: right;
	}

	.main_footer_disc {
		display: none;
	}

	.main_left_title {
		font-size: 45px;
		margin-top: 50px;
	}

	.main_footer_logo {
		margin-top: 64px;
	}
}

@media (max-width: 1050px) {
	.main_container._container {
		grid-template-columns: 1fr;
	}

	.main_girl img {
		width: 100%;
	}
}

@media (max-width: 650px) {
	.main_footer_logo {
		margin-top: 0px;
	}

	.main_footer_logo img {
		width: 119px;
	}

	.main_left_title {
		font-size: 40px;
	}

	.main_left_subtitle {
		font-size: 16px;
	}

	.main_right_title {
		font-size: 24px;

	}
}




/*BOX------BOX------BOX-------------BOX-------------BOX-----------------BOX*/


.box {
	padding: 0px 0px 50px 0px;
}

.box_container {}

.box_title {
	font-weight: 600;
	font-size: 45px;
	margin-bottom: 25px;
	text-transform: uppercase;
}

.box_items {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 20px;
	align-items: stretch;
}

.box_item {
	padding: 16px;
	border-radius: 16px;
	background-color: #D2C2F4;
}

.box_item:nth-child(2) {
	background-color: #F5F5F5;
}

.box_item:nth-child(3) {
	background-color: #C5FD6C;
}

.box_item_title {
	font-size: 25px;
	font-weight: 600;
	margin-bottom: 12px;
}

.box_item_text {
	font-size: 16px;
	margin-bottom: 16px;
}

.box_item_button {
	font-weight: 700;
	font-size: 16px;

}

.box_item_image {
	display: flex;
	justify-content: center;
	margin-top: 40px;
}

@media(max-width: 850px) {
	.box_items {
		grid-template-columns: 1fr;
	}

	.box_title {
		font-size: 35px;
	}

	.box_item_title {
		font-size: 20px;
	}

	.box_item_text {
		font-size: 14px;
	}
}



/*PACK--------PACK---------PACK-----------PACK--------------PACK*/

.pack {}

.pack_container {}

.pack_title {
	font-weight: 600;
	font-size: 45px;
	margin-bottom: 25px;
	text-transform: uppercase;
}

.pack_box {
	display: flex;
	align-items: center;
	background-color: #F5F5F5;
	border-radius: 26px;
	padding: 16px;
}



.pack_box_img img {
	min-width: 340px;
	height: 100%;
	object-fit: cover;
}

.pack_box_info {
	max-width: 828px;
	margin-left: 30px;
}

.pack_box_title {
	font-size: 45px;
	margin-bottom: 10px;
}

.pack_box_text {
	font-size: 16px;
}

.pack_box_price {
	display: flex;
	align-items: center;
	margin-bottom: 25px;
}

.pack_price_num {
	font-size: 45px;
	color: #9C7AE6;
	margin-right: 14px;
}

.pack_price_disc {
	font-size: 25px;
	color: rgba(0, 0, 0, .60);
	text-decoration: line-through;

}

.pack_box_basket a {
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #000;
	font-size: 18px;
	color: #fff;
	max-width: 142px;
	height: 45px;
	border-radius: 100px;
}

.mini_box_basket a {
	background-color: #AE93E9;
	padding: 0px 18px;
}

.pack_box_basket img {
	margin-left: 5px;
}

@media(max-width: 960px) {
	.pack_box {
		flex-direction: column;
	}

	.pack_box_img img {
		width: 100vw;
	}

	.pack_title {
		font-size: 35px;
	}

	.pack_box_title {
		font-size: 25px;
	}

	.pack_box_text {
		font-size: 14px;
	}

	.pack_box_info {
		margin-left: 0px;
	}

}

@media(max-width: 960px) {
	.pack_box_img img {
		min-width: 140px;
	}
}

.pack_items {
	background-color: #F5F5F5;
	border-radius: 26px;
	padding: 16px;
	border-top: 2px dotted #D2C2F4;
	margin-bottom: 26px;
}

.pack_items_title {
	font-size: 25px;
	margin-bottom: 18px;
}

.pack_items_row {
	display: grid;
	grid-template-columns: 943px 336px;
	gap: 10px;
}



.pack_row_items {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
	gap: 10px;
}

.pack_row_items2 {
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
}

.pack_item {
	background-color: #D2C2F4;
	border-radius: 22px;
	padding: 16px;
	display: flex;
	flex-direction: column;
	cursor: pointer;
}

.pack_item_img {
	flex: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0;
}

.pack_item_img img {
	max-width: 120px;
	/* подгони */
	max-height: 140px;
	/* подгони */
	width: 100%;
	height: auto;
	object-fit: contain;
}

.pack_item_name {
	margin: 0;
	font-size: 14px;
	align-self: flex-start;
}

.pack_items_disc {
	display: grid;
	grid-template-columns: 1fr;
	gap: 10px;
}

.pack_disc_item {
	display: flex;
	align-items: center;
	position: relative;
	background-color: #C5FD6C;
	padding: 10px;
	border-radius: 12px;
	height: 92px;
	cursor: pointer;
}

.pack_gift {
	position: absolute;
	right: 0px;
	bottom: 0px;
}

.pack_item_disc_img {
	position: relative;
	z-index: 9;
	width: 52px;
	margin-right: 10px;
}

.pack_item_disc_img img {
	width: 100%;
	object-fit: cover;
}

.pack_item_disc_name {
	position: relative;
	z-index: 9;
	font-size: 14px;
	width: 213px;
}

@media(max-width: 1360px) {
	.pack_items_row {
		grid-template-columns: 1fr;
	}
}

@media(max-width: 900px) {
	.pack_row_items {
		display: grid;
		grid-template-columns: repeat(6, 1fr);
		gap: 10px;
	}

	.pack_item:nth-child(-n+3) {
		grid-column: span 2;
	}

	.pack_item:nth-child(4),
	.pack_item:nth-child(5) {
		grid-column: span 3;
	}

	.pack_item_img {
		margin-bottom: 20px;
	}

	.pack_row_items2 .pack_item {
		grid-column: span 2;
	}
}

@media(max-width: 620px) {
	.pack_row_items {
		grid-template-columns: 1fr 1fr;
	}

	.pack_item:nth-child(-n+3) {
		grid-column: span 1;
	}

	.pack_item:nth-child(4),
	.pack_item:nth-child(5) {
		grid-column: span 1;
	}

	.pack_row_items2 .pack_item {
		grid-column: span 1;
	}
}

@media(max-width: 380px) {
	.pack_row_items {
		grid-template-columns: 1fr;
	}

}




/*MINIBOX-----------MINIBOX-----------MINIBOX-----------MINIBOX-----------MINIBOX*/

.minibox {
	padding: 55px 0px 80px 0px;
}

.minibpx_container {}

.minibox_title {
	font-weight: 600;
	font-size: 45px;
	text-transform: uppercase;
	margin-bottom: 25px;
}

.minibox_items {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}



.minibox_item {}

.minibox_item_main {
	background-image: url('../img/minibox/item1.png');
	background-size: cover;
	background-repeat: no-repeat;
	min-height: 556px;
	background-position: center;
	border-radius: 24px;
	padding: 9px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.minibox_item_main2 {
	background-image: url('../img/minibox/item4.png');
}

.minibox_item_text {
	background: rgba(255, 255, 255, 0.7);
	padding: 10px;
	border-radius: 12px;
}

.minibox_item_title {
	font-size: 35px;
	color: #9C7AE6;
}

.minibox_item_subtitle {
	font-size: 16px;
}

.minibox_item_prices {
	display: flex;
	align-items: center;
	justify-content: right;
}

.minibox_basket a {
	background-color: #AE93E9;
	padding: 10px 18px;
}


.minibox_item_price {
	font-weight: 600;
	font-size: 30px;
	margin-left: 10px;
	color: #fff;
}

.minibox_info {
	background-color: #F5F5F5;
	padding: 14px;
	border-radius: 20px;
}

.minibox_info_title {
	font-size: 25px;
	margin-bottom: 18px;
}

.minibox_info_items {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 10px;
}

@media(max-width: 1050px) {
	.minibox_items {
		grid-template-columns: 1fr;
	}
}

@media(max-width: 670px) {
	.minibox_title {
		font-size: 35px;
	}

	.minibox_item_title {
		font-size: 25px;
	}

	.minibox_info_items {
		grid-template-columns: 1fr 1fr;
	}

	.minibox_item_subtitle {
		font-size: 14px;
	}

}

.minibox_info_item {
	background-color: #D2C2F4;
	border-radius: 12px;
	padding: 10px;
	display: flex;
	flex-direction: column;
	cursor: pointer;
}

.minibox_info_image {
	flex: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0;
}


.minibox_info_name {
	margin: 0;
	font-size: 14px;
	align-self: flex-start;
}

/*MISSION-------MISSION-------------MISSION----------MISSION*/


.mission {
	padding: 0px 0px 80px 0px;
}

.mission_container {}

.mission_box {
	background-image: url('../img/mission/mission_bg.png');
	background-repeat: no-repeat;
	background-size: cover;
	min-height: 623px;
	border-radius: 14px;
	padding: 35px;
	position: relative;
}

.mission_mask {
	position: absolute;
	width: 100%;
	top: 0px;
	left: 0px;
	border-radius: 14px;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
	display: none;
}


.mission_wrapper {
	max-width: 610px;
}

.mission_title {
	font-size: 50px;
	font-weight: 600;
	color: #fff;
	margin-bottom: 20px;
	position: relative;
	z-index: 9;
	text-transform: uppercase;
}

.mission_subtitle {
	font-size: 16px;
	font-weight: 600;
	margin-bottom: 12px;
	position: relative;
	z-index: 9;
	color: #fff;
}

.mission_subtitle span {
	color: #AE93E9;
}

.mission_items {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: stretch;
	gap: 16px;
	margin-top: 70px;
}

.mission_items2 {
	display: none;
}

.mission_item {
	background-color: #C5FD6C;
	max-width: 297px;
	padding: 14px;
	border-radius: 12px;
}



@media(max-width: 760px) {
	.mission_mask {
		display: block;
	}

	.mission_title {
		font-size: 30px;
		margin-bottom: 19px;
	}

	.mission_subtitle {
		font-weight: 400;
		font-size: 14px;
	}

	.mission_items {
		display: none;
	}

	.mission_items2 {
		display: grid;
		grid-template-columns: 1fr;
		margin-top: 10px;
		gap: 10px;
	}

	.mission_item {
		max-width: 100%;
	}
}

.mission_item2 {
	background-color: #AE93E9;
}

.mission_item_num {
	font-weight: 600;
	font-size: 50px;
	margin-bottom: 35px;
}

.mission_item_text {
	font-size: 16px;
}


@media(max-width: 970px) {
	.mission_box {
		background-position: -100px;
	}
}



@media(max-width: 560px) {
	.mission_box {
		min-height: 423px;
		background-position: -200px;
	}
}



/*OFFERS---------OFFERS---------OFFERS---------OFFERS---------OFFERS---------OFFERS*/

.offers {
	padding-bottom: 80px;
}

.offers_container {}

.offers_title {
	font-size: 45px;
	margin-bottom: 34px;
	font-weight: 600;
	text-transform: uppercase;
}

.offers_box {
	display: flex;
	justify-content: space-between;
	align-items: center;
	background-color: #C5FD6C;
	border-radius: 14px;
	height: 316px;
	overflow: hidden;
	margin-bottom: 20px;
}

.offers_box2 {
	background-color: #F5F5F5;
}


.offers_box_content {
	padding: 25px;
	max-width: 727px;
	display: flex;
	flex-direction: column;
	min-height: 300px;
}

.offers_box_content2 {
	max-width: 747px;
}

.offers_box_content2 .offers_box_title {
	color: #503097;
}

.offers_box_title {
	font-size: 45px;
	font-weight: 600;
	position: relative;
	z-index: 9;
}

.offers_box_subtitle {
	font-size: 25px;
	position: relative;
	z-index: 9;
}


.offers_box_button {
	margin-top: auto;
	position: relative;
	z-index: 9;
}

.offers_box_button a {
	background: #9C7AE6;
	font-weight: 600;
	font-size: 20px;
	padding: 13px 55px;
	border-radius: 100px;
	color: #fff;
	white-space: nowrap;
}

.offers_box_image {
	position: relative;
}

.offer_girl {
	transform: scale(105%);
	position: relative;
	z-index: 9;
}

.offers_vector {
	position: absolute;
	top: 50px;
	right: 0px;
	transform: scale(140%);
}

.offers_vector2 {
	position: absolute;
	bottom: 00px;
	right: 0px;
	transform: translateY(-40%);
}

@media(max-width: 1180px) {
	.offers_box_content {
		max-width: 434px;
	}

	.offers_box_title {
		font-size: 25px;
		margin-bottom: 20px;
	}

	.offers_box_subtitle {
		font-size: 16px;
	}

	.offers_box_button a {
		font-size: 20px;
	}

	.offers_vector2 {
		transform: translateY(0%);
	}
}

@media(max-width: 850px) {
	.offers_title {
		font-size: 35px;
	}

	.offers_box {
		flex-direction: column;
		height: auto;
	}

	.offers_box_content {
		max-width: 100%;
	}

	.offers_vector {
		transform: scale(120%);
	}

}

@media(max-width: 500px) {
	.offers_box_subtitle {
		margin-bottom: 15px;
	}

	.offers_box_content2 a {
		font-size: 20px;
		padding: 10px 30px;
	}
}


/*DELIVERY-------DELIVERY--------DELIVERY-----------DELIVERY*/

.delivery {
	padding-bottom: 80px;
}

.deliver_container {}

.deliver_items {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}



.delivery_item {
	background-color: #C5FD6C;
	border-radius: 14px;
	padding: 14px;
	display: flex;
	flex-direction: column;
	position: relative;
	overflow: hidden;
	min-height: 440px;
}

.delivery_box {
	position: absolute;
	bottom: -30px;
	right: -30px;
}

.delivery_item2 {}



.delivery_title {
	font-size: 45px;
	font-weight: 600;
	margin-bottom: 20px;
	position: relative;
	z-index: 9;
}

.delivery_subtitle {
	font-size: 25px;
	position: relative;
	z-index: 9;
}

.delivery_companies {
	margin-top: auto;
	display: flex;

}

.delivery_company {
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.9);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 191px;
	height: 86px;
	position: relative;
	z-index: 9;
}

.delivery_company:first-child {
	margin-right: 12px;
}

@media(max-width: 1200px) {
	.deliver_items {
		grid-template-columns: 1fr;
	}

	.delivery_item2 img {
		width: 100%;
	}
}

@media(max-width: 670px) {
	.delivery_item {
		min-height: 350px;
	}

	.delivery_title {
		font-size: 35px;
	}

	.delivery_subtitle {
		font-size: 16px;
	}

	.delivery_company {
		width: 157px;
	}
}


/*FOOTER---------FOOTER----------FOOTER-----------FOOTER----------FOOTER*/

.footer_main {
	background-color: #7F58D4;
	padding: 40px 0px 60px 0px;
	border-radius: 36px 36px 0px 0px;
}

.footer_main_container {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: stretch;
	gap: 80px;
}

.footer_left {
	display: flex;
	flex-direction: column;
}

.footer_logo {
	margin-bottom: 20px;
}

.footer_text {
	font-size: 18px;
	color: #fff;
	margin-bottom: 20px;
	max-width: 600px;
}

.footer_soc {
	display: flex;
	align-items: center;
	margin-top: auto;
}

.footer_inst {
	background-color: #fff;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 11px;
}

.footer_tg {
	background-color: #fff;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.footer_right {}

.footer_contact {
	font-weight: 600;
	color: #fff;
	font-size: 18px;
	margin-bottom: 26px;
}

.footer_address {
	font-size: 18px;
	color: #fff;
	max-width: 380px;
	margin-bottom: 17px;
}



.footer_bottom {
	background-color: #52309C;
	color: #fff;
	padding: 26px 0px;
}

.footer_bottom_container {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	align-items: center;
}



.footer_bottom_left {
	display: flex;
	align-items: center;
}

.footer_bottom_left p,
.footer_bottom_left a {
	font-size: 12px;
}

.footer_bottom_left p {
	margin-right: 15px;
}

.footer_bottom_center {
	display: flex;
	align-items: center;
}

.footer_bottom_center p {
	font-size: 12px;
	text-transform: uppercase;
}

.footer_bottom_center p:not(:last-child) {
	margin-right: 10px;
}

.footer_bottom_right {
	display: flex;
	align-items: center;
	font-size: 12px;
	color: rgba(255, 255, 255, 0.7);
}

.footer_bottom_right a:not(:last-child) {
	margin-right: 15px;
}

.footer_gmail a {
	color: #fff;
	font-size: 18px;
	color: #fff;
	max-width: 380px;
}

@media(max-width: 1355px) {
	.footer_bottom_container {
		grid-template-columns: 1fr 1fr;
	}

	.footer_bottom_right {
		margin-top: 20px;
	}
}

@media(max-width: 920px) {
	.footer_main_container {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.footer_bottom_container {
		grid-template-columns: 1fr;
	}

	.footer_bottom_center {
		margin-top: 25px;
	}
}


@media(max-width: 500px) {
	.footer_bottom_left {
		flex-direction: column;
		align-items: start;
		order: 3;
		margin-top: 20px;
	}

	.footer_bottom_left p,
	.footer_bottom_left a {
		margin: 0px 0px 10px 0px;
	}

	.footer_bottom_center {
		order: 1;
		flex-direction: column;
		align-items: start;
	}

	.footer_bottom_center p {
		margin: 0px 0px 10px 0px;
	}

	.footer_bottom_right {
		flex-direction: column;
		align-items: start;
		order: 2;
	}

	.footer_bottom_right a {
		margin: 0px 0px 10px 0px;
	}
}

.pmodal_overlay {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, .45);
	display: none;
	justify-content: center;
	align-items: center;
	z-index: 9999;
}

.pmodal_overlay.is-open {
	display: flex;
}

.pmodal {
	background: #fff;
	width: 90%;
	max-width: 900px;
	border-radius: 20px;
	padding: 24px;
	position: relative;
}

.pmodal_close {
	position: absolute;
	right: 12px;
	top: 8px;
	border: none;
	background: none;
	font-size: 28px;
	cursor: pointer;
}

.pmodal_grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
}

.no-scroll {
	overflow: hidden;
}

/* фон */
.no-scroll {
	overflow: hidden;
}

#pModal {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, .45);
	display: none;
	align-items: center;
	justify-content: center;
	padding: 24px;
	z-index: 9999;
}

#pModal.is-open {
	display: flex;
}

/* коробка модалки */
#pModal .modal__content {
	position: relative;
	background: #fff;
	width: min(1100px, 96vw);
	max-height: 90vh;
	height: auto;
	overflow: hidden;
	border-radius: 16px;
	overflow: hidden;
	display: grid;
	grid-template-columns: 420px 1fr;
}

/* крестик */
#pModal .modal__close {
	position: absolute;
	top: 12px;
	right: 12px;
	border: 0;
	background: transparent;
	font-size: 28px;
	cursor: pointer;
	line-height: 1;
	z-index: 2;
}

/* лево: картинка */
#pModal .modal__left {
	padding: 22px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
}

#pModalImg {
	width: 100%;
	max-height: 100%;
	object-fit: contain;
}

/* право: скролл */
#pModal .modal__right {
	padding: 22px 18px 22px 22px;
	overflow: auto;
	max-height: 90vh;
	/* ключ: скролл именно тут */
}

/* типографика */
#pModalTitle {
	margin: 0 0 14px;
	font-size: 26px;
	font-weight: 600;
}

.pmodal_h4 {
	margin: 18px 0 10px;
	font-size: 16px;
	font-weight: 600;
}

.pmodal_p {
	margin: 0 0 10px;
	line-height: 1.55;
	font-size: 14px;
}

.pmodal_list {
	margin: 8px 0 14px 18px;
	padding: 0;
}

.pmodal_list li {
	margin: 6px 0;
	line-height: 1.5;
	font-size: 14px;
}

#pModal .modal__left,
#pModal .modal__right {
	min-height: 0;
	/* важная штука для grid + overflow */
}



/* адаптив */
@media (max-width: 900px) {
	#pModal .modal__content {
		grid-template-columns: 1fr;
		height: 92vh;
	}

	#pModal .modal__left {
		border-bottom: 1px solid #eee;
	}
}

.cart-modal {
	position: fixed;
	inset: 0;
	display: none;
	z-index: 9999;
}

.cart-modal.is-open {
	display: block;
}

.cart-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, .45);
}

.cart-modal__panel {
	position: absolute;
	right: 24px;
	top: 80px;
	width: min(520px, calc(100% - 48px));
	background: #fff;
	border-radius: 16px;
	padding: 18px;
	box-shadow: 0 20px 60px rgba(0, 0, 0, .25);
}

.cart-modal__close {
	position: absolute;
	right: 12px;
	top: 10px;
	font-size: 22px;
	background: none;
	border: none;
	cursor: pointer;
}

.cart-modal__title {
	margin: 0 0 6px;
	font-size: 28px;
}

.cart-modal__subtitle {
	color: #666;
	margin-bottom: 12px;
}

.cart-item {
	display: flex;
	gap: 12px;
	align-items: center;
	padding: 12px 0;
	border-top: 1px solid #eee;
}

.cart-item:first-child {
	border-top: none;
}

.cart-item__img {
	width: 52px;
	height: 52px;
	border-radius: 10px;
	object-fit: cover;
	background: #f3f3f3;
}

.cart-item__info {
	flex: 1;
}

.cart-item__name {
	font-weight: 600;
	margin-bottom: 4px;
}

.cart-item__price {
	color: #333;
	font-size: 14px;
}

.cart-item__controls {
	display: flex;
	align-items: center;
	gap: 10px;
}

.qty {
	display: flex;
	align-items: center;
	gap: 8px;
	border: 1px solid #ddd;
	border-radius: 10px;
	padding: 6px 10px;
}

.qty button {
	width: 26px;
	height: 26px;
	border: none;
	background: #f4f4f4;
	border-radius: 8px;
	cursor: pointer;
}

.qty span {
	min-width: 18px;
	text-align: center;
}

.cart-item__remove {
	border: none;
	background: none;
	color: #d33;
	font-size: 20px;
	cursor: pointer;
}

.cart-modal__footer {
	border-top: 1px solid #eee;
	padding-top: 12px;
	margin-top: 10px;
}

.cart-modal__total {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 12px;
	font-size: 18px;
}

.cart-modal__actions {
	display: flex;
	gap: 10px;
}

.btn {
	padding: 12px 14px;
	border-radius: 12px;
	text-decoration: none;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	border: 1px solid transparent;
}

.btn--ghost {
	background: #f6f6f6;
	border-color: #eee;
	color: #111;
	flex: 1;
}

.btn--primary {
	background: #111;
	color: #fff;
	flex: 1;
}

@media (max-width: 720px) {

	/* делаем bottom-sheet */
	.cart-modal__panel {
		right: 0;
		left: 0;
		top: auto;
		bottom: 0;

		width: 100%;
		max-height: 92dvh;

		border-radius: 16px 16px 0 0;
		padding: 14px;

		/* чтобы список не упирался в край */
		overflow: hidden;
		display: flex;
		flex-direction: column;
	}

	/* заголовки компактнее */
	.cart-modal__title {
		font-size: 20px;
		margin: 0 0 4px;
	}

	.cart-modal__subtitle {
		font-size: 13px;
		margin-bottom: 10px;
	}

	/* крестик чуть крупнее/удобнее */
	.cart-modal__close {
		right: 10px;
		top: 8px;
		font-size: 24px;
		padding: 6px;
	}

	/* если список большой — прокрутка внутри модалки */
	.cart-modal__list {
		overflow: auto;
		-webkit-overflow-scrolling: touch;
		padding-right: 4px;
	}

	/* товары компактнее */
	.cart-item {
		gap: 10px;
		padding: 10px 0;
	}

	.cart-item__img {
		width: 46px;
		height: 46px;
		border-radius: 10px;
	}

	.cart-item__name {
		font-size: 14px;
		margin-bottom: 2px;
	}

	.cart-item__price {
		font-size: 12px;
		color: #666;
	}

	/* controls в строку, если не влезает — перенос */
	.cart-item__controls {
		gap: 8px;
		flex-wrap: wrap;
		justify-content: flex-end;
	}

	.qty {
		padding: 5px 8px;
		border-radius: 10px;
	}

	.qty button {
		width: 28px;
		height: 28px;
		border-radius: 8px;
	}

	.cart-item__remove {
		font-size: 22px;
		padding: 6px;
	}

	/* футер всегда снизу (виден) */
	.cart-modal__footer {
		margin-top: 10px;
		padding-top: 10px;
	}

	.cart-modal__total {
		font-size: 16px;
		margin-bottom: 10px;
	}

	/* кнопки в колонку */
	.cart-modal__actions {
		flex-direction: column;
	}

	.btn,
	.btn--ghost,
	.btn--primary {
		width: 100%;
		flex: initial;
	}
}