/*
 * Корзина (страница «Оформить заявку»): строки товара превращены в карточки, итог и кнопки оформлены в стиле сайта.
 * Разметка модуля cart (cart_full.tpl) не меняется -- только внешний вид.
 */
#cart_form .row.item,
#cart_form > .row:first-of-type {
	margin-left: 0;
	margin-right: 0;
}
#cart_form > .row:first-of-type {
	display: grid;
	grid-template-columns: 112px 88px minmax(0, 1fr) 130px 140px 44px;
	gap: 8px 18px;
	padding: 0 21px 8px;
}
#cart_form > .row:first-of-type > * {
	width: auto;
	max-width: none;
	margin: 0;
	padding: 0;
}
#cart_form .cart_col_name {
	padding: 0;
	font-family: 'Montserrat', sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: #6b7a86;
}
#cart_form .row.item {
	display: grid;
	grid-template-columns: 112px 88px minmax(0, 1fr) 130px 140px 44px;
	align-items: center;
	gap: 8px 18px;
	margin-bottom: 14px;
	padding: 16px 20px;
	border: 1px solid #e5ebf8;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 6px 22px rgba(0, 30, 41, .07);
}
#cart_form .row.item > * {
	width: auto;
	max-width: none;
	margin: 0;
	padding: 0;
}
#cart_form .cart_foto img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 96px;
	object-fit: contain;
	border-radius: 10px;
}
#cart_form .cart_amount input.amount {
	box-sizing: border-box;
	width: 72px;
	height: 44px;
	border: 1px solid #d5def2;
	border-radius: 12px;
	background: #f7f9fd;
	font-family: 'Montserrat', sans-serif;
	font-size: 16px;
	font-weight: 600;
	text-align: center;
	color: #001e29;
}
#cart_form .cart_amount input.amount:focus {
	outline: none;
	border-color: #00349a;
	background: #fff;
}
#cart_form a.item-name-cart {
	font-family: 'Montserrat', sans-serif;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.35;
	color: #001e29;
	text-decoration: none;
}
#cart_form a.item-name-cart:hover { color: #00349a; }
#cart_form .cart_item_name .variant {
	margin-top: 6px;
	font-family: 'Montserrat', sans-serif;
	font-size: 13px;
	line-height: 1.5;
	color: #5b6b76;
}
#cart_form .cart_item_name p:empty { display: none; }
#cart_form .cart_item_price,
#cart_form .cart_item_price_full {
	font-family: 'Montserrat', sans-serif;
	font-size: 14px;
	color: #5b6b76;
	white-space: nowrap;
}
#cart_form .cart_item_price span { font-size: 16px; font-weight: 600; color: #33414a; }
#cart_form .cart_item_price_full span {
	font-size: 20px;
	font-weight: 700;
	color: #001e29;
}
#cart_form .cart_item_del input[type=checkbox] {
	-webkit-appearance: none;
	appearance: none;
	display: block;
	width: 36px;
	height: 36px;
	margin: 0;
	border: 1px solid #e2e2e2;
	border-radius: 50%;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7a86' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M7 7l10 10M17 7L7 17'/%3E%3C/svg%3E") center / 18px no-repeat;
	cursor: pointer;
	transition: border-color .2s ease, background-color .2s ease;
}
#cart_form .cart_item_del input[type=checkbox]:hover {
	border-color: #d33;
	background-color: #fff3f3;
}
#delimeter { display: none; }

/* Итог */
#cart_form .cart_data_name,
#cart_form .cart_data_out {
	font-family: 'Montserrat', sans-serif;
	color: #001e29;
}
#cart_form .cart_data_name {
	padding-top: 14px;
	font-size: 16px;
	font-weight: 600;
	text-align: right;
}
#cart_form .cart_data_out {
	padding-top: 6px;
	font-size: 16px;
	text-align: right;
	white-space: nowrap;
}
#cart_form .cart_data_out span {
	font-size: 32px;
	font-weight: 700;
}

/* Кнопки */
#cart_form a.cart-order,
#cart_form a.cart-refresh {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	height: 50px;
	padding: 0 32px;
	border-radius: 50px;
	font-family: 'Montserrat', sans-serif;
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
	cursor: pointer;
	transition: background .2s ease, border-color .2s ease, color .2s ease;
}
#cart_form a.cart-order {
	border: 2px solid #fe9900;
	background: #fe9900;
	color: #fff;
}
#cart_form a.cart-order:hover {
	border-color: #00349a;
	background: #00349a;
}
#cart_form a.cart-refresh {
	border: 2px solid #00349a;
	background: transparent;
	color: #00349a;
}
#cart_form a.cart-refresh:hover {
	background: #00349a;
	color: #fff;
}

@media (max-width: 767.98px) {
	#cart_form .row.item {
		grid-template-columns: 88px minmax(0, 1fr) 36px;
		grid-template-areas:
			"foto name del"
			"foto variant variant"
			"amount full full";
		align-items: start;
		gap: 10px 14px;
		padding: 14px;
	}
	#cart_form .cart_foto { grid-area: foto; }
	#cart_form .cart_item_name { grid-area: name / name / variant / variant; }
	#cart_form .cart_item_del { grid-area: del; }
	#cart_form .cart_amount { grid-area: amount; }
	#cart_form .cart_item_price { display: none; }
	#cart_form .cart_item_price_full { grid-area: full; align-self: center; text-align: right; }
	#cart_form .cart_col_name { display: none !important; }
	#cart_form .cart_data_name,
	#cart_form .cart_data_out { text-align: left; }
	#cart_form .cart_data_out { padding-top: 0; }
	#cart_form .row > [style*="text-align: right"] { text-align: center !important; margin-top: 10px; }
	#cart_form a.cart-order,
	#cart_form a.cart-refresh { display: flex; width: 100% !important; max-width: none; }
}

/*
 * Оформление заказа (cart_checkout_simple.tpl): палитра сайта через переменные модуля и аккуратная форма вместо старой
 * разметки «подпись над полем».
 */
:root {
	--cab-accent: #00349a;
	--cab-accent-hover: #fe9900;
	--cab-accent-text: #fff;
	--cab-heading: #001e29;
	--cab-heading-font: 'Montserrat', Arial, sans-serif;
	--cab-font: 'Montserrat', Arial, sans-serif;
	--cab-text: #33414a;
	--cab-muted: #5b6b76;
	--cab-card-border: #e5ebf8;
	--cab-card-bg: #fff;
	--cab-soft-bg: #f1f5fc;
	--cab-info-bg: #eef3fd;
	--cab-btn-radius: 50px;
}
.checkout-simple-wrap {
	max-width: none;
	margin: 0;
	padding: 0;
	border: 0;
	box-shadow: none;
}
/* разметка модуля выводит итог и кнопку вне блока формы, поэтому карточкой становится вся колонка страницы */
.content-box:has(.checkout-simple-wrap) {
	max-width: 860px;
	margin-bottom: 32px;
	padding: 32px 36px 36px;
	border: 1px solid #e5ebf8;
	border-radius: 24px;
	background: #fff;
	box-shadow: 0 8px 28px rgba(0, 30, 41, .08);
}
.checkout-simple-wrap > h1 { display: none; }
.checkout-simple-wrap #module_content {
	font-size: 13px;
	line-height: 1.5;
	color: #5b6b76;
}
.checkout-simple-wrap .mod_contact_left {
	margin: 18px 0 6px;
}
.checkout-simple-wrap .mod_contact_left label {
	font-size: 13px;
	font-weight: 700;
	color: #001e29;
}
.checkout-simple-wrap .mod_contact_left_star { color: #fe9900; }
.checkout-simple-wrap .mod_contact_right input[type=text],
.checkout-simple-wrap .mod_contact_right input[type=email],
.checkout-simple-wrap .mod_contact_right select,
.checkout-simple-wrap .mod_contact_right textarea {
	box-sizing: border-box;
	width: 100% !important;
	border: 1px solid #d5def2;
	border-radius: 14px;
	background: #f7f9fd;
	font-family: 'Montserrat', sans-serif;
	font-size: 15px;
	color: #001e29;
	transition: border-color .2s ease, background .2s ease;
}
.checkout-simple-wrap .mod_contact_right input[type=text],
.checkout-simple-wrap .mod_contact_right input[type=email],
.checkout-simple-wrap .mod_contact_right select {
	height: 50px;
	padding: 0 18px;
}
.checkout-simple-wrap .mod_contact_right textarea {
	min-height: 104px;
	padding: 14px 18px;
	resize: vertical;
}
.checkout-simple-wrap .mod_contact_right input:focus,
.checkout-simple-wrap .mod_contact_right select:focus,
.checkout-simple-wrap .mod_contact_right textarea:focus {
	outline: none;
	border-color: #00349a;
	background: #fff;
}
.checkout-summary-block {
	margin-top: 28px;
	padding: 20px 24px;
	border-radius: 18px;
}
.checkout-method-list { border-radius: 16px; }
.checkout-submit-btn {
	padding: 16px 52px;
	border-radius: 50px;
	background: #fe9900;
	font-family: 'Montserrat', sans-serif;
	font-size: 16px;
	font-weight: 700;
	transition: background .2s ease;
}
.checkout-submit-btn:hover { background: #00349a; }
@media (max-width: 767.98px) {
	.content-box:has(.checkout-simple-wrap) { padding: 22px 16px 24px; border-radius: 18px; }
	.checkout-simple-wrap .row > * { padding-left: 0; padding-right: 0; }
}
.checkout-simple-wrap .row > [class*="col-"] {
	flex: 0 0 100%;
	width: 100%;
	max-width: 100%;
}

/* Заголовок столбца «Удалить» -- иконка корзины вместо надписи */
#cart_form > .row:first-of-type > .cart_col_name:last-child {
	height: 18px;
	overflow: hidden;
	text-indent: -9999px;
	white-space: nowrap;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7a86' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18M8 6V4h8v2M6 6l1 14h10l1-14M10 10v6M14 10v6'/%3E%3C/svg%3E") center / 18px no-repeat;
}
