/* ==========================================================================
   Ð¡Ñ‚Ñ€Ð°Ð½Ð¸Ñ†Ð° ÐºÐ¾Ñ€Ð·Ð¸Ð½Ñ‹ (/cart)
   Ð’Ñ‘Ñ€ÑÑ‚ÐºÐ° Ð¿ÐµÑ€ÐµÐ½ÐµÑÐµÐ½Ð° Ð¸Ð· Bitrix-ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ð° cart_full.
   ========================================================================== */

.cart-page {
	box-sizing: border-box;
	background: #fff;
}

.cart-page-inner {
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 30px;
}

.cart-content {
	width: 100%;
    padding-bottom: 4rem;
}

/* --------------------------------------------------------------------------
   Ð¤Ð¾Ñ€Ð¼Ð° ÐºÐ¾Ñ€Ð·Ð¸Ð½Ñ‹
   -------------------------------------------------------------------------- */

/*
 * Сообщение о пустой корзине.
 *
 * Приходит от ядра WC как <div class="cart-empty woocommerce-info">, поэтому
 * у селектора два класса (0,2,0): иначе одноимённые стили ядра
 * (.woocommerce-info = 0,1,0) могут перебить вёрстку тем, что их таблица
 * окажется подключена ПОСЛЕ cart.css. Правило `.cart-empty` без второго класса
 * оставлено для собственной разметки темы (fallback в page-cart.php).
 */
.cart-empty,
.cart-empty.woocommerce-info {
	padding: 60px 30px;
	text-align: center;
	font-size: 28px;
	font-weight: 600;
	color: var(--theme-base-color, var(--color-primary));
	border: none;
	border-radius: 16px;
}

/* Иконка «i» из .woocommerce-info::before ядра WC. */
.cart-empty.woocommerce-info::before {
	content: none;
}

.cart-form {
	display: flex;
	align-items: flex-start;
	gap: 20px;
}

.cart-form-left,
.cart-form-right {
	border-radius: 16px;
	border: 1px solid var(--color-border);
}

.cart-form-left {
	width: 60%;
	padding: 42px 30px;
}

.cart-form-right {
	padding: 42px 20px 42px 30px;
	width: 40%;
	display: flex;
	flex-direction: column;
	min-height: 0;
	position: sticky;
	top: 20px;
}

.cart-form-right__list {
	flex: 1;
	overflow-y: scroll;
	min-height: 675px;
	padding-right: 10px;
}

.cart-form-right__list::-webkit-scrollbar-thumb {
	border-radius: 10px !important;
	background: #F2F4FF !important;
	border: 1px solid #D6DAF1 !important;
}

.cart-form-right__summary {
	padding-top: 20px;
	margin-top: 20px;
	flex-shrink: 0;
}

.cart-form-right__row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	color: var(--theme-base-color, var(--color-primary));
	font-weight: 400;
	font-size: 20px;
	line-height: 28px;
	letter-spacing: 0%;
	margin-bottom: 18px;
}

.cart-form-right__row_total {
	font-weight: 700;
	margin-bottom: 25px;
	font-size: 25px;
	line-height: 100%;
	letter-spacing: 0%;
	border-bottom: 1px solid var(--color-border);
	padding-bottom: 25px;
	text-transform: uppercase;
}

.cart-form-right__btn {
	width: 100%;
	padding: 14px 24px;
	border: none;
	border-radius: 40px;
	font-size: 20px;
	font-weight: 400;
	cursor: pointer;
	background: var(--theme-base-color, var(--color-primary));
	color: #fff;
	transition: background 0.2s, color 0.2s, opacity 0.2s;
}

.cart-form-right__btn:disabled {
	background: var(--color-border);
	color: #FFFFFF;
	cursor: not-allowed;
}

.cart-form-left__title {
	display: flex;
	flex-direction: column;
	gap: 5px;
	color: #1C1C20;
	font-size: 20px;
}

.cart-form-left__name {
	position: relative;
	width: fit-content;
}

.cart_form-name {
	color: black;
	font-size: 48px;
	font-weight: 700;
	width: fit-content;
}

.cart_form-value {
	position: absolute;
	top: -8px;
	right: -12px;
	color: var(--theme-base-color, var(--color-primary));
	font-size: 20px;
	font-weight: 700;
}

.cart-form-left__content {
	display: flex;
	flex-direction: column;
	/* gap: 16px; */
}

/*
 * ÐŸÐ¾Ð´Ð¿Ð¸ÑÑŒ Ð¿Ð¾Ð»Ñ.
 *
 * display: block, Ð° Ð½Ðµ flex-ÐºÐ¾Ð»Ð¾Ð½ÐºÐ°: Ñƒ WooCommerce Ð²Ð½ÑƒÑ‚Ñ€Ð¸ <label> Ð»ÐµÐ¶Ð°Ñ‚
 * Ñ‚ÐµÐºÑÑ‚ Ð¸ <abbr class="required">, Ð¸ Ð¿Ñ€Ð¸ flex-ÐºÐ¾Ð»Ð¾Ð½ÐºÐµ Ð·Ð²Ñ‘Ð·Ð´Ð¾Ñ‡ÐºÐ°
 * Ð¾Ð±ÑÐ·Ð°Ñ‚ÐµÐ»ÑŒÐ½Ð¾ÑÑ‚Ð¸ ÑƒÐµÐ·Ð¶Ð°ÐµÑ‚ Ð½Ð° Ð¾Ñ‚Ð´ÐµÐ»ÑŒÐ½ÑƒÑŽ ÑÑ‚Ñ€Ð¾ÐºÑƒ.
 *
 * ÐžÑ‚ÑÑ‚ÑƒÐ¿Ñ‹ Ð¼ÐµÐ¶Ð´Ñƒ Ð¿Ð¾Ð´Ð¿Ð¸ÑÑŒÑŽ Ð¸ Ð¿Ð¾Ð»ÐµÐ¼ Ð·Ð°Ð´Ð°Ñ‘Ñ‚ .form-row (gap),
 * Ð¿Ð¾ÑÑ‚Ð¾Ð¼Ñƒ margin Ñƒ Ð¿Ð¾Ð´Ð¿Ð¸ÑÐ¸ Ð½Ðµ Ð½ÑƒÐ¶ÐµÐ½.
 */
.cart-form-left__content label {
	display: block;
	padding-left: 10px;
	color: #1C1C20;
	font-size: 14px;
}

/* Ð¡Ñ‚Ð°Ñ€Ñ‹Ð¹ Ð¼Ð°ÐºÐµÑ‚: Ð¿Ð¾Ð´Ð¿Ð¸ÑÑŒ Ð»ÐµÐ¶Ð°Ð»Ð° Ð² <span> Ð²Ð½ÑƒÑ‚Ñ€Ð¸ <label>. */
.cart-form-left__content label span {
	font-size: 14px;
	padding-left: 0;
}

/*
 * Ð¢ÐµÐºÑÑ‚Ð¾Ð²Ñ‹Ðµ Ð¿Ð¾Ð»Ñ.
 *
 * Ð§ÐµÐºÐ±Ð¾ÐºÑÑ‹, Ñ€Ð°Ð´Ð¸Ð¾ Ð¸ hidden Ð¸ÑÐºÐ»ÑŽÑ‡ÐµÐ½Ñ‹ Ð½Ð°Ð¼ÐµÑ€ÐµÐ½Ð½Ð¾: Ñƒ WooCommerce Ð¾Ð½Ð¸ Ð¿Ð¾Ð¼ÐµÑ‡ÐµÐ½Ñ‹
 * class="input-checkbox" / class="input-radio", Ð¸ Ñ€Ð°ÑÑ‚ÑÐ³Ð¸Ð²Ð°Ñ‚ÑŒ Ð¸Ñ… Ð½Ð° Ð²ÑÑŽ
 * ÑˆÐ¸Ñ€Ð¸Ð½Ñƒ Ñ border-radius: 72px Ð½ÐµÐ»ÑŒÐ·Ñ â€” Ð¿Ð¾Ð»ÑƒÑ‡Ð¸Ñ‚ÑÑ Ð¾Ð³Ñ€Ð¾Ð¼Ð½Ñ‹Ð¹ ÐºÐ²Ð°Ð´Ñ€Ð°Ñ‚.
 */
.cart-form-left__content input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.cart-form-left__content select,
.cart-form-left__content textarea {
	width: 100%;
	padding: 12px 20px;
	border: 1px solid var(--color-border);
	font-size: 16px;
	box-sizing: border-box;
}

.cart-form-left__content input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.cart-form-left__content select {
	border-radius: 72px;
}

/* ÐŸÐ¾Ð´ÑÐºÐ°Ð·ÐºÐ° Ð²Ð½ÑƒÑ‚Ñ€Ð¸ Ð¿Ð¾Ð»Ñ. */
.cart-form-left__content input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"])::placeholder,
.cart-form-left__content textarea::placeholder {
	color: #9A9AA5;
}

/* Ð¤Ð¾ÐºÑƒÑ: Ð² Ð¼Ð°ÐºÐµÑ‚Ðµ Ñ€Ð°Ð¼ÐºÐ° ÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑÑ Ñ†Ð²ÐµÑ‚Ð¾Ð¼ Ñ‚ÐµÐ¼Ñ‹. */
.cart-form-left__content input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):focus,
.cart-form-left__content select:focus,
.cart-form-left__content textarea:focus {
	outline: none;
	border-color: var(--theme-base-color, var(--color-primary));
}

/* ÐžÑˆÐ¸Ð±ÐºÐ° Ð²Ð°Ð»Ð¸Ð´Ð°Ñ†Ð¸Ð¸: WooCommerce Ð²ÐµÑˆÐ°ÐµÑ‚ .woocommerce-invalid Ð½Ð° .form-row. */
.cart-form-left__content .form-row.woocommerce-invalid input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.cart-form-left__content .form-row.woocommerce-invalid select,
.cart-form-left__content .form-row.woocommerce-invalid textarea {
	border-color: #D64545;
	background: #FDF4F4;
}

/* Ð£ÑÐ¿ÐµÑˆÐ½Ð°Ñ Ð²Ð°Ð»Ð¸Ð´Ð°Ñ†Ð¸Ñ (Ð¿Ð¾Ð»Ðµ e-mail Ð¿Ñ€Ð¾Ð²ÐµÑ€ÑÐµÑ‚ÑÑ Ð½Ð° Ð»ÐµÑ‚Ñƒ). */
.cart-form-left__content .form-row.woocommerce-validated input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]) {
	border-color: #3E8E5A;
}

/*
 * appearance: none ÑƒÐ±Ð¸Ñ€Ð°ÐµÑ‚ Ð½Ð°Ñ‚Ð¸Ð²Ð½ÑƒÑŽ ÑÑ‚Ñ€ÐµÐ»ÐºÑƒ, Ð¿Ð¾ÑÑ‚Ð¾Ð¼Ñƒ Ñ€Ð¸ÑÑƒÐµÐ¼ ÐµÑ‘ Ñ„Ð¾Ð½Ð¾Ð²Ñ‹Ð¼ SVG.
 * padding-right Ð¾ÑÑ‚Ð°Ð²Ð»ÑÐµÑ‚ Ð¼ÐµÑÑ‚Ð¾, Ñ‡Ñ‚Ð¾Ð±Ñ‹ Ñ‚ÐµÐºÑÑ‚ Ð½Ðµ Ð½Ð°ÐµÐ·Ð¶Ð°Ð» Ð½Ð° ÑÑ‚Ñ€ÐµÐ»ÐºÑƒ.
 */
.cart-form-left__content select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding-right: 48px;
	background-color: #fff;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%231C1C20' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 20px center;
	color: #1C1C20;
	cursor: pointer;
}

.cart-form-left__content textarea {
	min-height: 190px;
	resize: vertical;
	border-radius: 16px;
}

/* Ð Ð°Ð·Ð´ÐµÐ» Â«Ð”Ð¾ÑÑ‚Ð°Ð²ÐºÐ°Â»: ÑÑ‚Ñ€Ð°Ð½Ð°/Ñ€ÐµÐ³Ð¸Ð¾Ð½, Ð³Ð¾Ñ€Ð¾Ð´, Ð°Ð´Ñ€ÐµÑ. */
.cart-form-delivery {
	display: flex;
	flex-direction: column;
	/* gap: 16px; */
	margin-top: 10px;
}

.cart-form-delivery__title {
	color: #1C1C20;
	font-size: 24px;
	font-weight: 700;
	padding-left: 5px;
}

/* Ð Ð°Ð·Ð´ÐµÐ» Â«ÐžÐ¿Ð»Ð°Ñ‚Ð°Â»: ÑÐ¿Ð¾ÑÐ¾Ð±Ñ‹ Ð¾Ð¿Ð»Ð°Ñ‚Ñ‹ (radio-ÑÐ¿Ð¸ÑÐ¾Ðº). */
.cart-form-payment {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin-top: 10px;
}

.cart-form-payment__title {
	color: #1C1C20;
	font-size: 24px;
	font-weight: 700;
	padding-left: 5px;
}

.cart-form-payment__note {
	font-size: 14px;
	line-height: 20px;
	padding-left: 5px;
}

/*
 * Временно скрытый блок «Оплата» (переключатель PEPTIDESTORE_HIDE_PAYMENT_BLOCK
 * в functions.php). Разметка остаётся в DOM: radio-поля способа оплаты уходят в POST,
 * поэтому заказ оформляется первым доступным шлюзом.
 * Класс добавляет только шаблон checkout/form-checkout.php.
 * Селектор из двух классов (0,2,0) — чтобы правило не перебивали другие стили темы.
 */
.cart-form-payment.cart-form-payment--hidden {
	display: none;
}

/*
 * Ð¡Ð¿Ð¸ÑÐ¾Ðº ÑÐ¿Ð¾ÑÐ¾Ð±Ð¾Ð² Ð¾Ð¿Ð»Ð°Ñ‚Ñ‹: ÑÑ‚Ñ€Ð¾ÐºÐ¸ Ñ€Ð°Ð·Ð´ÐµÐ»ÐµÐ½Ñ‹ Ð»Ð¸Ð½Ð¸ÐµÐ¹, Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ñ‹Ð¹ Ð²Ð°Ñ€Ð¸Ð°Ð½Ñ‚
 * Ð²Ñ‹Ð´ÐµÐ»ÑÐµÑ‚ÑÑ Ñ€Ð°Ð¼ÐºÐ¾Ð¹ Ð¸ Ñ„Ð¾Ð½Ð¾Ð¼. ÐŸÑ€Ð¾Ð·Ñ€Ð°Ñ‡Ð½Ñ‹Ð¹ border Ñƒ ÑÑ‚Ñ€Ð¾ÐºÐ¸ ÐºÐ¾Ð¼Ð¿ÐµÐ½ÑÐ¸Ñ€ÑƒÐµÑ‚
 * Ñ€Ð°Ð¼ÐºÑƒ Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ð¾Ð³Ð¾ Ð²Ð°Ñ€Ð¸Ð°Ð½Ñ‚Ð°, Ð¿Ð¾ÑÑ‚Ð¾Ð¼Ñƒ Ð²Ñ‘Ñ€ÑÑ‚ÐºÐ° Ð½Ðµ Â«Ð¿Ñ€Ñ‹Ð³Ð°ÐµÑ‚Â» Ð¿Ñ€Ð¸ Ð¿ÐµÑ€ÐµÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ð¸.
 */
.cart-form-payment__options {
	display: flex;
	flex-direction: column;
	padding: 8px;
	border: 1px solid var(--color-border);
	border-radius: 16px;
	background: #fff;
	margin-top: 6px;
}

.cart-form-left__content .cart-form-payment__options label.cart-form-payment__option {
	position: relative;
	flex-direction: row;
	align-items: center;
	gap: 0;
	padding: 24px 28px;
	margin: 0;
	border: 1px solid transparent;
	border-bottom-color: var(--color-border);
	border-radius: 12px;
	cursor: pointer;
	transition: background-color 0.2s, border-color 0.2s;
}

.cart-form-left__content .cart-form-payment__options .cart-form-payment__option:last-child {
	border-bottom-color: transparent;
}

/* Ð¡ÐºÑ€Ñ‹Ð²Ð°ÐµÐ¼ Ð½Ð°Ñ‚Ð¸Ð²Ð½Ñ‹Ð¹ radio â€” Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ðµ ÑÑ‚Ñ€Ð¾ÐºÐ¸ Ñ€Ð¸ÑÑƒÐµÐ¼ ÑÑ‚Ð¸Ð»ÑÐ¼Ð¸. */
.cart-form-left__content .cart-form-payment__option input[type="radio"] {
	position: absolute;
	width: 0;
	height: 0;
	margin: 0;
	padding: 0;
	border: 0;
	opacity: 0;
	pointer-events: none;
}

.cart-form-left__content .cart-form-payment__option .cart-form-payment__option-text {
	font-size: 16px;
	line-height: 22px;
	padding-left: 0;
	color: #1C1C20;
}

/* Ð’Ñ‹Ð±Ñ€Ð°Ð½Ð½Ñ‹Ð¹ ÑÐ¿Ð¾ÑÐ¾Ð± Ð¾Ð¿Ð»Ð°Ñ‚Ñ‹. */
.cart-form-payment__option:has(input[type="radio"]:checked) {
	background: #EFF4FF;
	border-color: #7C8CF8;
	border-bottom-color: #7C8CF8;
}

.cart-form-payment__option:has(input[type="radio"]:focus-visible) {
	outline: 2px solid var(--color-primary);
	outline-offset: 2px;
}

/* Ð¤Ð¾Ð»Ð±ÑÐº Ð´Ð»Ñ Ð±Ñ€Ð°ÑƒÐ·ÐµÑ€Ð¾Ð² Ð±ÐµÐ· :has(). */
.cart-form-payment__option input[type="radio"]:checked ~ .cart-form-payment__option-text {
	font-weight: 600;
}

/* Ð¡Ð¾Ð³Ð»Ð°ÑÐ¸Ðµ Ð½Ð° Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÑƒ Ð¿ÐµÑ€ÑÐ¾Ð½Ð°Ð»ÑŒÐ½Ñ‹Ñ… Ð´Ð°Ð½Ð½Ñ‹Ñ…: Ð³Ð°Ð»Ð¾Ñ‡ÐºÐ° ÑÐ»ÐµÐ²Ð°, Ñ‚ÐµÐºÑÑ‚ ÑÐ¿Ñ€Ð°Ð²Ð°. */
.cart-form-agree {
	padding-left: 5px;
	margin: 10px 0;
}

/*
 * Раскладка строки согласия (галочка + текст) задаётся правилом
 * `.cart-form-left__content label.checkbox` ниже: оно имеет больший вес,
 * поэтому дублировать display/gap/align-items здесь не нужно.
 */
.cart-form-left__content .cart-form-agree label span {
	font-size: 15px;
	line-height: 20px;
	padding-left: 0;
}
.cart-form-left__content .cart-form-agree input[type="checkbox"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	flex: 0 0 auto;
	box-sizing: border-box;
	width: 16px;
	height: 16px;
	min-width: 16px;
	max-width: 16px;
	min-height: 16px;
	max-height: 16px;
	padding: 0;
	border: 1px solid var(--color-primary);
	border-radius: 4px;
	background: var(--color-border);
	cursor: pointer;
	transition: background-color 0.2s, border-color 0.2s;
}

.cart-form-left__content .cart-form-agree input[type="checkbox"]:checked {
	/*
	 * Галочка — SVG-фоном, а не псевдоэлементом: Firefox не отрисовывает
	 * ::before / ::after у <input>, поэтому там «птичка» пропадала
	 * и квадрат только темнел. Тот же приём, что у стрелки select ниже.
	 */
	background-color: var(--color-primary);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='10' viewBox='0 0 12 10'%3E%3Cpath d='M1 5.2 4.2 8.4 11 1.6' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 10px 8px;
	border-color: var(--color-primary);
}

/* Ð“Ð°Ð»Ð¾Ñ‡ÐºÐ° Ð²Ð½ÑƒÑ‚Ñ€Ð¸ Ð¾Ñ‚Ð¼ÐµÑ‡ÐµÐ½Ð½Ð¾Ð³Ð¾ Ñ‡ÐµÐºÐ±Ð¾ÐºÑÐ°. */
.cart-form-left__content .cart-form-agree input[type="checkbox"]:checked::after {
	/* Галочка рисуется фоном в правиле :checked выше — работает в том числе в Firefox. */
	content: none;
}

.cart-form-left__content .cart-form-agree input[type="checkbox"]:focus-visible {
	outline: 2px solid var(--color-primary);
	outline-offset: 2px;
}

.cart-form-item {
	display: flex;
	padding: 25px 0;
	gap: 20px;
}

.cart-form-item.first {
	padding: 10px 0 25px 0;
}

.cart-form-item__img {
	position: relative;
}

.cart-form-item__img img {
	width: 150px;
	height: 150px;
	object-fit: cover;
	border-radius: 16px;
}

.cart-form-item__count {
	position: absolute;
	top: -10px;
	right: -10px;
	min-width: 32px;
	height: 32px;
	padding: 0 6px;
	border-radius: 10px;
	background: var(--theme-base-color, var(--color-primary));
	color: #fff;
	font-size: 12px;
	font-weight: 600;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
}

.cart-form-item__content {
	width: 100%;
}

.cart-form-item__content-top {
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 100%;
}

.cart-form-item__title {
	width: 50%;
	color: black;
	font-size: 18px;
}

.cart-form-item__price {
	color: var(--theme-base-color, var(--color-primary));
	font-weight: 700;
	font-size: 18px;
}

@media (max-width: 991px) {
	.cart-form {
		flex-direction: column;
	}

	.cart-form-left,
	.cart-form-right {
		width: 100%;
		padding: 28px 20px;
	}

	.cart-form-left {
		padding: 28px 20px;
	}

	.cart-form-right {
		padding: 10px 20px;
		position: static;
		top: auto;
	}

	.cart_form-name {
		font-size: 30px;
	}

	.cart-form-left__title {
		font-size: 18px;
	}

	.cart-form-right__list {
		max-height: none;
		padding-right: 0px;
	}

	.cart-form-item__img img {
		width: 90px;
		height: 90px;
	}

	.cart-form-item__content-top {
		font-size: 16px;
	}

	.cart-form-right__row {
		font-size: 16px;
	}

	.cart-form-right__row_total {
		font-size: 22px;
	}
}

/* ==========================================================================
   ÐšÐ¾Ñ€Ð·Ð¸Ð½Ð° WooCommerce: ÑÐ¿Ð¸ÑÐ¾Ðº Ñ‚Ð¾Ð²Ð°Ñ€Ð¾Ð², ÐºÐ¾Ð»Ð¸Ñ‡ÐµÑÑ‚Ð²Ð¾, ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ðµ, ÐºÑƒÐ¿Ð¾Ð½, Ð¸Ñ‚Ð¾Ð³Ð¸
   Ð Ð°Ð·Ð¼ÐµÑ‚ÐºÐ° Ð¿Ñ€Ð¸Ñ…Ð¾Ð´Ð¸Ñ‚ Ð¸Ð· woocommerce/cart/cart.php.
   ========================================================================== */

.cart-form-left__list {
	display: flex;
	flex-direction: column;
	margin-top: 32px;
}

/* Ð Ð°Ð·Ð´ÐµÐ»Ð¸Ñ‚ÐµÐ»Ð¸ Ð¼ÐµÐ¶Ð´Ñƒ ÑÑ‚Ñ€Ð¾ÐºÐ°Ð¼Ð¸ Ñ‚Ð¾Ð²Ð°Ñ€Ð¾Ð² (Ð¿Ð¾ÑÐ»ÐµÐ´Ð½ÑÑ ÑÑ‚Ñ€Ð¾ÐºÐ° Ð±ÐµÐ· Ð»Ð¸Ð½Ð¸Ð¸). */
.cart-form-left__list .cart-form-item {
	border-bottom: 1px solid var(--color-border);
}

.cart-form-left__list .cart-form-item.last {
	border-bottom: 0;
	padding-bottom: 0;
}

.cart-form-left__list .cart-form-item__content {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 16px;
}

.cart-form-left__list .cart-form-item__content-top {
	height: auto;
	align-items: flex-start;
	gap: 20px;
}

.cart-form-item__title a {
	color: black;
	text-decoration: none;
}

.cart-form-item__title a:hover {
	color: var(--theme-base-color, var(--color-primary));
}

/* ÐœÐµÑ‚Ð°Ð´Ð°Ð½Ð½Ñ‹Ðµ Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ð¸ (Ð²Ð°Ñ€Ð¸Ð°Ñ†Ð¸Ð¸ Ð¸ Ñ‚.Ð¿.), ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ðµ Ð²Ñ‹Ð²Ð¾Ð´Ð¸Ñ‚ WooCommerce. */
.cart-form-item__title .variation {
	font-size: 14px;
	line-height: 20px;
	color: #6B6B78;
}

.cart-form-item__title .variation p {
	margin: 4px 0 0;
}

/* ÐÐ¸Ð¶Ð½Ð¸Ð¹ Ñ€ÑÐ´ ÑÑ‚Ñ€Ð¾ÐºÐ¸: ÐºÐ¾Ð»Ð¸Ñ‡ÐµÑÑ‚Ð²Ð¾ Ð¸ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ðµ. */
.cart-form-item__bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
}

/* WooCommerce ÑÐ°Ð¼ Ð¾Ð±Ð¾Ñ€Ð°Ñ‡Ð¸Ð²Ð°ÐµÑ‚ input Ð² .quantity. */
.cart-form-item__qty .quantity {
	display: inline-flex;
	align-items: center;
}

.cart-form-item__qty input.qty {
	width: 90px;
	padding: 10px 14px;
	border: 1px solid var(--color-border);
	border-radius: 72px;
	background: #fff;
	color: #1C1C20;
	font-size: 16px;
	line-height: 22px;
	text-align: center;
	box-sizing: border-box;
}

.cart-form-item__qty input.qty:focus {
	outline: none;
	border-color: var(--theme-base-color, var(--color-primary));
}

/* Ð¡ÑÑ‹Ð»ÐºÐ° ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ (WooCommerce Ð¿Ð¾Ð´ÑÑ‚Ð°Ð²Ð»ÑÐµÑ‚ ÐµÑ‘ Ñ‡ÐµÑ€ÐµÐ·
   woocommerce_cart_item_remove_link). */
.cart-form-item__remove-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: 1px solid var(--color-border);
	border-radius: 50%;
	color: #1C1C20;
	font-size: 22px;
	line-height: 1;
	text-decoration: none;
	transition: background-color 0.2s, border-color 0.2s, color 0.2s;
}

.cart-form-item__remove-link:hover {
	background: #EFF4FF;
	border-color: #7C8CF8;
	color: var(--theme-base-color, var(--color-primary));
}

/* ÐšÐ½Ð¾Ð¿ÐºÐ° Â«ÐžÐ±Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ ÐºÐ¾Ñ€Ð·Ð¸Ð½ÑƒÂ» (Ð½ÑƒÐ¶Ð½Ð° Ð´Ð»Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ¸ Ñ„Ð¾Ñ€Ð¼Ñ‹ Ð±ÐµÐ· JS). */
.cart-form-left__update {
	align-self: flex-start;
	margin-top: 24px;
	padding: 12px 24px;
	border: 1px solid var(--color-border);
	border-radius: 40px;
	background: transparent;
	color: var(--theme-base-color, var(--color-primary));
	font-size: 16px;
	cursor: pointer;
	transition: background-color 0.2s, border-color 0.2s;
}

.cart-form-left__update:hover,
.cart-form-left__update.is-active {
	background: #EFF4FF;
	border-color: #7C8CF8;
}

.cart-form-left {
	display: flex;
	flex-direction: column;
}

/* ÐŸÐ¾Ð»Ðµ Ð¿Ñ€Ð¾Ð¼Ð¾ÐºÐ¾Ð´Ð° Ð¸ ÐºÐ½Ð¾Ð¿ÐºÐ° ÐµÐ³Ð¾ Ð¿Ñ€Ð¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ. */
.cart-form-coupon {
	display: flex;
	gap: 10px;
	margin-bottom: 24px;
}

.cart-form-coupon input[type="text"] {
	flex: 1;
	min-width: 0;
	padding: 12px 20px;
	border: 1px solid var(--color-border);
	border-radius: 72px;
	font-size: 15px;
	color: #1C1C20;
	box-sizing: border-box;
}

.cart-form-coupon input[type="text"]:focus {
	outline: none;
	border-color: var(--theme-base-color, var(--color-primary));
}

.cart-form-coupon__btn {
	flex-shrink: 0;
	padding: 12px 20px;
	border: none;
	border-radius: 72px;
	background: var(--theme-base-color, var(--color-primary));
	color: #fff;
	font-size: 15px;
	cursor: pointer;
	transition: opacity 0.2s;
}

.cart-form-coupon__btn:hover {
	opacity: 0.88;
}

/* Ð¡Ñ‚Ñ€Ð¾ÐºÐ¸ Ð¸Ñ‚Ð¾Ð³Ð¾Ð²: Ð¿Ð¾Ð´Ñ‹Ñ‚Ð¾Ð³, ÑÐºÐ¸Ð´ÐºÐ¸, Ð´Ð¾ÑÑ‚Ð°Ð²ÐºÐ°. */
.cart-form-right__row_subtotal,
.cart-form-right__row_shipping,
.cart-form-right__row_coupon {
	font-size: 18px;
}

.cart-form-right__row_coupon a {
	color: inherit;
}

/* ÐšÐ½Ð¾Ð¿ÐºÐ° Ð¾Ñ„Ð¾Ñ€Ð¼Ð»ÐµÐ½Ð¸Ñ Ð·Ð°ÐºÐ°Ð·Ð°: WooCommerce Ð²Ñ‹Ð²Ð¾Ð´Ð¸Ñ‚ ÐµÑ‘ ÐºÐ°Ðº ÑÑÑ‹Ð»ÐºÑƒ <a>. */
.cart-form-right__btn {
	display: block;
	box-sizing: border-box;
	text-align: center;
	text-decoration: none;
}

.cart-form-right__btn:hover {
	opacity: 0.88;
}

.wc-proceed-to-checkout {
	flex-shrink: 0;
	margin-top: 4px;
}

/* ÐšÐ½Ð¾Ð¿ÐºÐ° Â«Ð’ÐµÑ€Ð½ÑƒÑ‚ÑŒÑÑ Ð² Ð¼Ð°Ð³Ð°Ð·Ð¸Ð½Â» Ð½Ð° Ð¿ÑƒÑÑ‚Ð¾Ð¹ ÐºÐ¾Ñ€Ð·Ð¸Ð½Ðµ (cart-empty.php). */
.return-to-shop .button {
	display: inline-block;
	padding: 14px 24px;
	border: none;
	border-radius: 40px;
	background: var(--theme-base-color, var(--color-primary));
	color: #fff;
	font-size: 18px;
	text-decoration: none;
	transition: opacity 0.2s;
}

.return-to-shop .button:hover {
	opacity: 0.88;
}

/* ==========================================================================
   ÐžÑ„Ð¾Ñ€Ð¼Ð»ÐµÐ½Ð¸Ðµ Ð·Ð°ÐºÐ°Ð·Ð° (/checkout)
   ÐšÐ¾Ñ€Ð·Ð¸Ð½Ð° Ð¸ Ð¾Ñ„Ð¾Ñ€Ð¼Ð»ÐµÐ½Ð¸Ðµ â€” Ð¾Ð´Ð¸Ð½ ÑˆÐ°Ð³: Ñ„Ð¾Ñ€Ð¼Ð° ÑÐ»ÐµÐ²Ð°, Ñ‚Ð¾Ð²Ð°Ñ€Ñ‹, Ð¾Ð¿Ð»Ð°Ñ‚Ð° Ð¸ ÐºÐ½Ð¾Ð¿ÐºÐ° ÑÐ¿Ñ€Ð°Ð²Ð°.
   Ð Ð°Ð·Ð¼ÐµÑ‚ÐºÐ°: woocommerce/checkout/form-checkout.php + review-order.php.
   ========================================================================== */

.woocommerce-checkout.cart-form {
	align-items: flex-start;
}

/*
 * .woocommerce-checkout-review-order-table â€” Ð¾Ð±Ñ‘Ñ€Ñ‚ÐºÐ°, Ð¿Ð¾ ÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ð¹ checkout.js
 * Ð¿Ð¾Ð´Ð¼ÐµÐ½ÑÐµÑ‚ Ð±Ð»Ð¾Ðº Ð·Ð°ÐºÐ°Ð·Ð° Ð¿Ñ€Ð¸ Ð¿ÐµÑ€ÐµÑÑ‡Ñ‘Ñ‚Ðµ (ÑÐ¼. WC_AJAX::update_order_review()).
 * ÐžÐ½Ð° Ð¿Ð¾ÑÐ²Ð¸Ð»Ð°ÑÑŒ Ð¼ÐµÐ¶Ð´Ñƒ .cart-form-right Ð¸ ÐµÐ³Ð¾ ÑÐ¿Ð¸ÑÐºÐ¾Ð¼/Ð¸Ñ‚Ð¾Ð³Ð°Ð¼Ð¸, Ð¿Ð¾ÑÑ‚Ð¾Ð¼Ñƒ
 * Ð·Ð°Ð½Ð¾Ð²Ð¾ Ñ€Ð°Ð·Ð²Ð¾Ð´Ð¸Ð¼ flex-ÐºÐ¾Ð»Ð¾Ð½ÐºÑƒ, Ð¸Ð½Ð°Ñ‡Ðµ ÑÐ¿Ð¸ÑÐ¾Ðº Ñ‚Ð¾Ð²Ð°Ñ€Ð¾Ð² Ñ‚ÐµÑ€ÑÐµÑ‚ flex: 1.
 */
.cart-form-right #order_review,
.cart-form-right .woocommerce-checkout-review-order-table {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	min-height: 0;
}

/* ÐšÐ½Ð¾Ð¿ÐºÐ° Â«ÐšÑƒÐ¿Ð¸Ñ‚ÑŒÂ» â€” Ð±Ð»Ð¾Ðº Ð² Ð¿Ñ€Ð°Ð²Ð¾Ð¹ ÐºÐ¾Ð»Ð¾Ð½ÐºÐµ, Ð¿Ð¾Ð´ Ð¸Ñ‚Ð¾Ð³Ð°Ð¼Ð¸. */
.cart-form-right__submit {
	flex-shrink: 0;
}

.cart-form-right__submit .form-row.place-order {
	margin: 0;
	padding: 0;
}

/* --- ÐŸÐ¾Ð»Ñ Ñ„Ð¾Ñ€Ð¼Ñ‹ WooCommerce (.form-row) --------------------------------- */

/* Ð¡Ð²Ð¾Ð¸ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ¸-Ñ€Ð°Ð·Ð´ÐµÐ»Ñ‹ Ð²Ð¼ÐµÑÑ‚Ð¾ Â«Billing detailsÂ» Ð¸ Â«Additional informationÂ». */
.cart-form-left__content .woocommerce-billing-fields > h3,
.cart-form-left__content .woocommerce-shipping-fields > h3,
.cart-form-left__content .woocommerce-additional-fields > h3 {
	display: none;
}

.cart-form-left__content .woocommerce-billing-fields__field-wrapper,
.cart-form-left__content .woocommerce-shipping-fields__field-wrapper {
	display: flex;
	flex-direction: column;
}

/*
 * Ð¤Ð¾Ñ€Ð¼Ð° Ñ†ÐµÐ»Ð¸ÐºÐ¾Ð¼: Ð»Ð¸Ñ‡Ð½Ñ‹Ðµ Ð´Ð°Ð½Ð½Ñ‹Ðµ â†’ ÑÐ¾Ð³Ð»Ð°ÑÐ¸Ðµ â†’ Ð´Ð¾ÑÑ‚Ð°Ð²ÐºÐ°.
 * Gap Ð·Ð°Ð´Ð°Ñ‘Ñ‚ Ð¿Ñ€Ð¾Ð¼ÐµÐ¶ÑƒÑ‚ÐºÐ¸ Ð¼ÐµÐ¶Ð´Ñƒ ÑÑ‚Ð¸Ð¼Ð¸ Ñ‚Ñ€ÐµÐ¼Ñ Ð±Ð»Ð¾ÐºÐ°Ð¼Ð¸: ÑÐ²Ð¾ÐµÐ³Ð¾ margin Ð¾Ð½Ð¸ Ð½Ðµ Ð¸Ð¼ÐµÑŽÑ‚.
 */
.cart-form-left__content .woocommerce-billing-fields {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.cart-form-left__content .form-row {
	display: flex;
	flex-direction: column;
}

/*
 * WooCommerce Ð´ÐµÐ»Ð¸Ñ‚ Ð¿Ð¾Ð»Ñ Ð½Ð° form-row-first / form-row-last (Ð´Ð²Ðµ ÐºÐ¾Ð»Ð¾Ð½ÐºÐ¸),
 * Ð° .form-row â€” ÑÑ‚Ð¾ <p> Ñ Ð²Ð½ÐµÑˆÐ½Ð¸Ð¼Ð¸ Ð¾Ñ‚ÑÑ‚ÑƒÐ¿Ð°Ð¼Ð¸.
 * Ð’ Ð¼Ð°ÐºÐµÑ‚Ðµ Ð²ÑÐµ Ð¿Ð¾Ð»Ñ Ð² Ð¾Ð´Ð¸Ð½ ÑÑ‚Ð¾Ð»Ð±ÐµÑ†, Ð¿Ð¾ÑÑ‚Ð¾Ð¼Ñƒ Ñ‚ÑÐ½ÐµÐ¼ Ð¸Ñ… Ð½Ð° Ð²ÑÑŽ ÑˆÐ¸Ñ€Ð¸Ð½Ñƒ.
 */
.cart-form-left__content .form-row,
.cart-form-left__content .form-row.form-row-first,
.cart-form-left__content .form-row.form-row-last,
.cart-form-left__content .form-row.form-row-wide {
	float: none;
	width: 100%;
}

.cart-form-left__content .form-row .woocommerce-input-wrapper {
	display: block;
	width: 100%;
}

.cart-form-left__content .form-row abbr.required {
	border: 0;
	color: var(--theme-base-color, var(--color-primary));
	text-decoration: none;
}

/*
 * Пометка «(optional)» у необязательных полей личных данных.
 *
 * WooCommerce сам подставляет её к подписи, если поле не обязательное
 * (у нас это e-mail и телефон). В макете подписи идут без пометок,
 * поэтому текст пометки скрыт — звёздочка у обязательных полей остаётся.
 * Правило намеренно ограничено личными данными (.woocommerce-billing-fields__field-wrapper),
 * чтобы «(optional)» у полей доставки не пропадала.
 */
.cart-form-left__content .woocommerce-billing-fields__field-wrapper .optional {
	display: none;
}

.cart-form-left__content .form-row textarea {
	min-height: 120px;
	border-radius: 16px;
	resize: vertical;
}

/* ÐŸÐ¾Ð´ÑÐºÐ°Ð·ÐºÐ° Ð¿Ð¾Ð´ Ð¿Ð¾Ð»ÐµÐ¼. */
.cart-form-left__content .form-row .description {
	font-size: 13px;
	line-height: 18px;
	color: #6B6B78;
	padding-left: 20px;
}

/* ÐŸÑƒÐ±Ð»Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð¾ÑˆÐ¸Ð±Ð¾Ðº Ð²Ð°Ð»Ð¸Ð´Ð°Ñ†Ð¸Ð¸. */
.woocommerce-NoticeGroup-checkout ul.woocommerce-error,
form.checkout > ul.woocommerce-error {
	list-style: none;
	margin: 0 0 24px;
	padding: 16px 20px;
	border: 1px solid #E4B4B4;
	border-radius: 16px;
	background: #FDF4F4;
	color: #8A1F1F;
	font-size: 15px;
	line-height: 22px;
}

/* --- Select2 (ÑÑ‚Ñ€Ð°Ð½Ð°/Ñ€ÐµÐ³Ð¸Ð¾Ð½, Ð¾Ð±Ð»Ð°ÑÑ‚ÑŒ) ---------------------------------- */

.cart-form-left__content .select2-container {
	width: 100% !important;
}

.cart-form-left__content .select2-container .select2-selection--single {
	height: auto;
	padding: 12px 20px;
	border: 1px solid var(--color-border);
	border-radius: 72px;
	background: #fff;
}

.cart-form-left__content .select2-container .select2-selection--single .select2-selection__rendered {
	padding: 0;
	color: #1C1C20;
	font-size: 16px;
	line-height: 24px;
}

/* ÐšÐ¾Ð½Ñ‚ÐµÐ¹Ð½ÐµÑ€ ÑÑ‚Ñ€ÐµÐ»ÐºÐ¸: Ð½Ð° Ð²ÑÑŽ Ð²Ñ‹ÑÐ¾Ñ‚Ñƒ Ð¿Ð¾Ð»Ñ, Ð¾Ñ‚ÑÑ‚ÑƒÐ¿ ÑÐ¿Ñ€Ð°Ð²Ð° ÐºÐ°Ðº Ñƒ Ð½Ð°Ñ‚Ð¸Ð²Ð½Ð¾Ð³Ð¾ select. */
.cart-form-left__content .select2-container .select2-selection--single .select2-selection__arrow {
	top: 0;
	right: 16px;
	width: 12px;
	height: 100%;
}

/*
 * Ð¡Ñ‚Ñ€ÐµÐ»ÐºÐ° select2.
 *
 * ÐŸÑ€Ð¸ Ð²ÐºÐ»ÑŽÑ‡Ñ‘Ð½Ð½Ð¾Ð¼ select2 Ð½Ð°Ñ‚Ð¸Ð²Ð½Ñ‹Ð¹ <select> ÑÐºÑ€Ñ‹Ñ‚, Ð¿Ð¾ÑÑ‚Ð¾Ð¼Ñƒ ÑÐ¾Ð±ÑÑ‚Ð²ÐµÐ½Ð½Ð°Ñ
 * ÑÑ‚Ñ€ÐµÐ»ÐºÐ° Ð¸Ð· Ð¿Ñ€Ð°Ð²Ð¸Ð»Ð° .cart-form-left__content select Ð½Ðµ Ð²Ð¸Ð´Ð½Ð°. select2
 * Ñ€Ð¸ÑÑƒÐµÑ‚ ÑÐ²Ð¾ÑŽ Ñ‚Ñ€ÐµÑƒÐ³Ð¾Ð»ÑŒÐ½Ð¸ÐºÐ¾Ð¼ Ñ‡ÐµÑ€ÐµÐ· border â€” Ð·Ð°Ð¼ÐµÐ½ÑÐµÐ¼ ÐµÐ³Ð¾ Ð½Ð° Ñ‚Ð¾Ñ‚ Ð¶Ðµ SVG,
 * Ñ‡Ñ‚Ð¾ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ÑÑ Ñƒ Ð½Ð°Ñ‚Ð¸Ð²Ð½Ð¾Ð³Ð¾ select.
 */
.cart-form-left__content .select2-container--default .select2-selection--single .select2-selection__arrow b {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 12px;
	height: 8px;
	margin: 0;
	border: 0;
	transform: translate(-50%, -50%);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%231C1C20' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 12px 8px;
}

/* Ð¤Ð¾ÐºÑƒÑ Ð¸ Ñ€Ð°ÑÐºÑ€Ñ‹Ñ‚Ñ‹Ð¹ ÑÐ¿Ð¸ÑÐ¾Ðº â€” Ñ€Ð°Ð¼ÐºÐ° Ñ†Ð²ÐµÑ‚Ð¾Ð¼ Ñ‚ÐµÐ¼Ñ‹. */
.cart-form-left__content .select2-container--default.select2-container--focus .select2-selection--single,
.cart-form-left__content .select2-container--default.select2-container--open .select2-selection--single {
	border-color: var(--theme-base-color, var(--color-primary));
}

/* ÐžÑˆÐ¸Ð±ÐºÐ° Ð²Ð°Ð»Ð¸Ð´Ð°Ñ†Ð¸Ð¸ Ñƒ select2 (WooCommerce ÐºÑ€Ð°ÑÐ¸Ñ‚ ÑÐºÑ€Ñ‹Ñ‚Ñ‹Ð¹ <select>). */
.cart-form-left__content .form-row.woocommerce-invalid .select2-container--default .select2-selection--single {
	border-color: #D64545;
	background: #FDF4F4;
}

/* --- Ð§ÐµÐºÐ±Ð¾ÐºÑÑ‹ Ñ„Ð¾Ñ€Ð¼Ñ‹ (ÑÐ¾Ð·Ð´Ð°Ñ‚ÑŒ Ð°ÐºÐºÐ°ÑƒÐ½Ñ‚, Ð´Ñ€ÑƒÐ³Ð¾Ð¹ Ð°Ð´Ñ€ÐµÑ Ð´Ð¾ÑÑ‚Ð°Ð²ÐºÐ¸) ------------ */

/*
 * ÐžÐ±Ñ‘Ñ€Ñ‚ÐºÐ° Ñ‡ÐµÐºÐ±Ð¾ÐºÑÐ°.
 *
 * display: flex Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‰Ð°ÐµÐ¼ Ð¿Ñ€Ð¸Ð½ÑƒÐ´Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾ â€” Ð±Ð°Ð·Ð¾Ð²Ð°Ñ Ð¿Ð¾Ð´Ð¿Ð¸ÑÑŒ Ð¿Ð¾Ð»Ñ Ð¸Ð´Ñ‘Ñ‚
 * Ð±Ð»Ð¾ÐºÐ¾Ð¼, Ð° Ð³Ð°Ð»Ð¾Ñ‡ÐºÐ° Ð´Ð¾Ð»Ð¶Ð½Ð° ÑÑ‚Ð¾ÑÑ‚ÑŒ Ð² Ð¾Ð´Ð½Ð¾Ð¹ ÑÑ‚Ñ€Ð¾ÐºÐµ Ñ Ñ‚ÐµÐºÑÑ‚Ð¾Ð¼.
 * padding-left: 0 â€” Ð±Ð°Ð·Ð¾Ð²Ñ‹Ð¹ Ð¾Ñ‚ÑÑ‚ÑƒÐ¿ Ð¿Ð¾Ð´Ð¿Ð¸ÑÐ¸ Ð·Ð´ÐµÑÑŒ Ð»Ð¸ÑˆÐ½Ð¸Ð¹.
 */
.cart-form-left__content label.checkbox,
.cart-form-left__content .woocommerce-form__label-for-checkbox,
#order_review label.checkbox,
#order_review .woocommerce-form__label-for-checkbox {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	gap: 10px;
	padding-left: 0;
	font-size: 15px;
	font-weight: 400;
	line-height: 20px;
	cursor: pointer;
}

/* Ð¢ÐµÐºÑÑ‚ Ñ€ÑÐ´Ð¾Ð¼ Ñ Ð³Ð°Ð»Ð¾Ñ‡ÐºÐ¾Ð¹: Ð±Ð°Ð·Ð¾Ð²Ð¾Ðµ Ð¿Ñ€Ð°Ð²Ð¸Ð»Ð¾ label span ÑÑ‚Ð°Ð²Ð¸Ñ‚ 14px. */
.cart-form-left__content label.checkbox span,
#order_review label.checkbox span {
	font-size: 15px;
	line-height: 20px;
}

/*
 * Ð¡ÐµÐ»ÐµÐºÑ‚Ð¾Ñ€ Ð¿Ð¾ ÐºÐ»Ð°ÑÑÑƒ WooCommerce (.input-checkbox), Ð° Ð½Ðµ Ð¿Ð¾ .form-row:
 * Ñ‚Ð°Ðº Ð¿Ñ€Ð°Ð²Ð¸Ð»Ð¾ Ð»Ð¾Ð²Ð¸Ñ‚ Ð¸ Ð³Ð°Ð»Ð¾Ñ‡ÐºÑƒ Â«Ð”Ð¾ÑÑ‚Ð°Ð²Ð¸Ñ‚ÑŒ Ð¿Ð¾ Ð´Ñ€ÑƒÐ³Ð¾Ð¼Ñƒ Ð°Ð´Ñ€ÐµÑÑƒÂ»,
 * ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð»ÐµÐ¶Ð¸Ñ‚ Ð²Ð½Ðµ .form-row (Ð² <h3 id="ship-to-different-address">).
 *
 * #order_review Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½ Ð´Ð»Ñ Ñ‡ÐµÐºÐ±Ð¾ÐºÑÐ° ÑÐ¾Ð³Ð»Ð°ÑÐ¸Ñ Ñ ÑƒÑÐ»Ð¾Ð²Ð¸ÑÐ¼Ð¸: WooCommerce
 * Ð²Ñ‹Ð²Ð¾Ð´Ð¸Ñ‚ ÐµÐ³Ð¾ Ð² Ð±Ð»Ð¾ÐºÐµ Â«Ð’Ð°Ñˆ Ð·Ð°ÐºÐ°Ð·Â», Ð° Ð½Ðµ Ð² ÐºÐ¾Ð»Ð¾Ð½ÐºÐµ Ñ Ñ„Ð¾Ñ€Ð¼Ð¾Ð¹.
 */
.cart-form-left__content input[type="checkbox"].input-checkbox,
#order_review input[type="checkbox"].input-checkbox {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	flex: 0 0 auto;
	box-sizing: border-box;
	width: 16px;
	height: 16px;
	min-width: 16px;
	max-width: 16px;
	min-height: 16px;
	max-height: 16px;
	padding: 0;
	border: 1px solid var(--color-primary);
	border-radius: 4px;
	background: var(--color-border);
	cursor: pointer;
	transition: background-color 0.2s, border-color 0.2s;
}


#customer_details input[type="checkbox"].input-checkbox,
#customer_details .cart-form-agree input[type="checkbox"],
#order_review input[type="checkbox"].input-checkbox {
	display: inline-block;
	vertical-align: middle;
}

.cart-form-left__content input[type="checkbox"].input-checkbox:checked,
#order_review input[type="checkbox"].input-checkbox:checked {
	/* Галочка — SVG-фоном: Firefox не отрисовывает ::after у <input>. */
	background-color: var(--color-primary);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='10' viewBox='0 0 12 10'%3E%3Cpath d='M1 5.2 4.2 8.4 11 1.6' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 10px 8px;
	border-color: var(--color-primary);
}

.cart-form-left__content input[type="checkbox"].input-checkbox:checked::after,
#order_review input[type="checkbox"].input-checkbox:checked::after {
	/* Галочка рисуется фоном в правиле :checked выше — работает в том числе в Firefox. */
	content: none;
}

.cart-form-left__content input[type="checkbox"].input-checkbox:focus-visible,
#order_review input[type="checkbox"].input-checkbox:focus-visible {
	outline: 2px solid var(--color-primary);
	outline-offset: 2px;
}

/* --- Ð¡Ð¾Ð³Ð»Ð°ÑÐ¸Ðµ Ñ ÑƒÑÐ»Ð¾Ð²Ð¸ÑÐ¼Ð¸ (checkout/terms.php) -------------------------- */

/*
 * Ð§ÐµÐºÐ±Ð¾ÐºÑ ÑÐ¾Ð³Ð»Ð°ÑÐ¸Ñ Ð²Ñ‹Ð²ÐµÐ´ÐµÐ½ Ð² Ð»ÐµÐ²Ð¾Ð¹ ÐºÐ¾Ð»Ð¾Ð½ÐºÐµ, Ð²Ð½ÑƒÑ‚Ñ€Ð¸ .cart-form-agree
 * (ÑÐ¼. woocommerce/checkout/form-billing.php) â€” ÑÑ€Ð°Ð·Ñƒ Ð¿Ð¾Ð´ Ð»Ð¸Ñ‡Ð½Ñ‹Ð¼Ð¸ Ð´Ð°Ð½Ð½Ñ‹Ð¼Ð¸.
 * Ð¡ÐµÐ»ÐµÐºÑ‚Ð¾Ñ€Ñ‹ #order_review Ð¾ÑÑ‚Ð°Ð²Ð»ÐµÐ½Ñ‹ Ð´Ð»Ñ ÑˆÐ°Ð¿ÐºÐ¸ Ð¾Ð¿Ð»Ð°Ñ‚Ñ‹ Ð·Ð°ÐºÐ°Ð·Ð°
 * (/checkout/order-pay/), Ð³Ð´Ðµ Ñ‚Ð¾Ñ‚ Ð¶Ðµ Ð±Ð»Ð¾Ðº Ð²Ñ‹Ð²Ð¾Ð´Ð¸Ñ‚ÑÑ ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¾.
 */
.cart-form-agree .woocommerce-terms-and-conditions-wrapper,
#order_review .woocommerce-terms-and-conditions-wrapper {
	font-size: 14px;
	line-height: 20px;
}

.cart-form-agree .woocommerce-terms-and-conditions-wrapper .form-row,
#order_review .woocommerce-terms-and-conditions-wrapper .form-row {
	margin: 0;
}

.cart-form-agree .woocommerce-privacy-policy-text p,
#order_review .woocommerce-privacy-policy-text p {
	margin: 0 0 12px;
	font-size: 14px;
	line-height: 20px;
	color: #6B6B78;
}

.cart-form-agree .woocommerce-privacy-policy-text a,
#order_review .woocommerce-privacy-policy-text a {
	color: var(--theme-base-color, var(--color-primary));
}

/* Ð Ð°Ð·Ð²Ñ‘Ñ€Ð½ÑƒÑ‚Ñ‹Ð¹ Ñ‚ÐµÐºÑÑ‚ ÑƒÑÐ»Ð¾Ð²Ð¸Ð¹ â€” Ñ Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸ÐµÐ¼ Ð²Ñ‹ÑÐ¾Ñ‚Ñ‹ Ð¸ ÑÐºÑ€Ð¾Ð»Ð»Ð¾Ð¼. */
.cart-form-agree .woocommerce-terms-and-conditions,
#order_review .woocommerce-terms-and-conditions {
	max-height: 220px;
	margin-bottom: 12px;
	padding: 16px;
	overflow-y: auto;
	border: 1px solid var(--color-border);
	border-radius: 16px;
	background: #fff;
	font-size: 14px;
	line-height: 20px;
}

/* Ð¡ÑÑ‹Ð»ÐºÐ° Â«Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ ÑƒÑÐ»Ð¾Ð²Ð¸ÑÂ», ÐµÑÐ»Ð¸ Ñ‚ÐµÐºÑÑ‚ ÑÐ²Ñ‘Ñ€Ð½ÑƒÑ‚. */
.cart-form-agree .woocommerce-terms-and-conditions-link,
#order_review .woocommerce-terms-and-conditions-link {
	color: var(--theme-base-color, var(--color-primary));
}

/* ÐŸÐ¾Ð´ÑÐ²ÐµÑ‚ÐºÐ° Ð¾ÑˆÐ¸Ð±ÐºÐ¸, ÐµÑÐ»Ð¸ Ð³Ð°Ð»Ð¾Ñ‡ÐºÐ° Ð¾Ð±ÑÐ·Ð°Ñ‚ÐµÐ»ÑŒÐ½Ð°, Ð° Ð½Ðµ Ð¾Ñ‚Ð¼ÐµÑ‡ÐµÐ½Ð°. */
.cart-form-agree .form-row.validate-required.woocommerce-invalid label.checkbox,
#order_review .form-row.validate-required.woocommerce-invalid label.checkbox {
	color: #A03030;
}

/* --- ÐšÐ¾Ð»Ð¸Ñ‡ÐµÑÑ‚Ð²Ð¾ Ð¸ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ðµ Ð² Ð±Ð»Ð¾ÐºÐµ Â«Ð’Ð°Ñˆ Ð·Ð°ÐºÐ°Ð·Â» ------------------------- */

.cart-qty {
	display: inline-flex;
	align-items: center;
	overflow: hidden;
	border: 1px solid var(--color-border);
	border-radius: 72px;
	background: #fff;
}

.cart-qty__btn {
	width: 38px;
	height: 40px;
	border: 0;
	background: transparent;
	color: #1C1C20;
	font-family: inherit;
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
	transition: background-color 0.2s;
}

.cart-qty__btn:hover {
	background: #EFF4FF;
}

.cart-qty__input {
	width: 56px;
	height: 40px;
	border: 0;
	background: transparent;
	color: #1C1C20;
	font-family: inherit;
	font-size: 16px;
	text-align: center;
	-moz-appearance: textfield;
}

.cart-qty__input:focus {
	outline: none;
}

.cart-qty__input::-webkit-outer-spin-button,
.cart-qty__input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* Ð£Ð´Ð°Ð»ÐµÐ½Ð¸Ðµ â€” ÑÑ‚Ð¾ <button>, ÑÐ±Ñ€Ð°ÑÑ‹Ð²Ð°ÐµÐ¼ Ð²Ð¸Ð´ ÐºÐ½Ð¾Ð¿ÐºÐ¸ Ð¿Ð¾ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ. */
button.cart-form-item__remove-link {
	padding: 0;
	background: transparent;
	font-family: inherit;
	cursor: pointer;
}

/* ÐŸÐ¾ÐºÐ° ÐºÐ¾Ñ€Ð·Ð¸Ð½Ð° Ð¾Ð±Ð½Ð¾Ð²Ð»ÑÐµÑ‚ÑÑ, Ð¿Ñ€Ð°Ð²ÑƒÑŽ ÐºÐ¾Ð»Ð¾Ð½ÐºÑƒ Ð»ÑƒÑ‡ÑˆÐµ Ð½Ðµ Ñ‚Ñ€Ð¾Ð³Ð°Ñ‚ÑŒ. */
.peptidestore-cart-busy .cart-form-right {
	opacity: 0.6;
	pointer-events: none;
}

/* --- Ð˜Ñ‚Ð¾Ð³Ð¸: Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° WooCommerce Ð¿Ñ€ÐµÐ²Ñ€Ð°Ñ‰Ð°ÐµÑ‚ÑÑ Ð² ÑÑ‚Ñ€Ð¾ÐºÐ¸ ------------------ */

#payment {
	margin-top: 4px;
}

/*
 * Рамки таблиц WooCommerce — убираем.
 *
 * WooCommerce рисует вокруг любой .shop_table рамку со скруглением
 * (.woocommerce table.shop_table { border: 1px solid rgba(0,0,0,.1);
 * border-radius: 5px; margin: 0 -1px 24px 0 }), а у каждой ячейки —
 * линию сверху и внутренние отступы 9px 12px
 * (.woocommerce table.shop_table th / td — специфичность 0,2,2).
 *
 * Наши правила для .cart-form-totals имеют специфичность 0,2,0 — ниже,
 * чем 0,2,1 у правила таблицы, поэтому рамка и отступы ячеек от
 * WooCommerce выигрывали всегда (в правиле выше border: 0 и padding: 0
 * для этого и не работали).
 *
 * Селектор усилен префиксом body: 0,2,2 для таблицы и 0,2,3 для ячеек.
 * Этого достаточно, чтобы выигрывать у правил WooCommerce независимо от
 * порядка подключения таблиц стилей.
 *
 * cart.css подключается только на /cart/ и /checkout/, поэтому правило
 * действует на таблицы этих страниц. Итоги отделяются не рамкой, а
 * нижней линией .cart-form-right__row_total.
 */
body .woocommerce table.shop_table {
	border: 0;
	border-radius: 0;
	margin: 0;
}

body .woocommerce table.shop_table th,
body .woocommerce table.shop_table td {
	border: 0;
}

/* Ячейки таблицы итогов — без внутренних отступов WooCommerce. */
body .woocommerce table.shop_table.cart-form-totals th,
body .woocommerce table.shop_table.cart-form-totals td {
	padding: 0;
}

.cart-form-right__summary .cart-form-totals {
	width: 100%;
	margin: 0;
	border: 0;
	border-collapse: collapse;
}

.cart-form-right__summary .cart-form-totals th,
.cart-form-right__summary .cart-form-totals td {
	padding: 0;
	border: 0;
	background: none;
	color: inherit;
	font-size: inherit;
	font-weight: 400;
	text-align: left;
}

.cart-form-right__summary .cart-form-totals tfoot tr {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	border: 0;
}

.cart-form-right__summary .cart-form-totals tfoot tr > td {
	text-align: right;
}

/*
 * Нижняя линия под строкой «Итого» на /checkout/.
 *
 * Правило выше (.cart-form-right__summary .cart-form-totals tfoot tr)
 * задаёт border: 0 и по специфичности (0,3,2) перебивает border-bottom
 * из .cart-form-right__row_total (0,1,0) — на таблице линия не рисуется.
 * Поэтому задаём её здесь явно, селектором с большей специфичностью.
 */
.cart-form-right__summary .cart-form-totals tfoot tr.cart-form-right__row_total {
	border-bottom: 1px solid var(--color-border);
}

/* Ð’Ð°Ñ€Ð¸Ð°Ð½Ñ‚Ñ‹ Ð´Ð¾ÑÑ‚Ð°Ð²ÐºÐ¸ WooCommerce Ð²Ñ‹Ð²Ð¾Ð´Ð¸Ñ‚ ÑÐ¿Ð¸ÑÐºÐ¾Ð¼, ÐµÑÐ»Ð¸ Ð¸Ñ… Ð½ÐµÑÐºÐ¾Ð»ÑŒÐºÐ¾. */
.cart-form-right__summary .cart-form-totals tr.woocommerce-shipping-totals ul {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.cart-form-right__summary .cart-form-totals tr.woocommerce-shipping-totals li label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 16px;
	cursor: pointer;
}

/* --- ÐžÐ¿Ð»Ð°Ñ‚Ð° (#payment) -------------------------------------------------- */

#payment .wc_payment_methods {
	display: flex;
	flex-direction: column;
	margin: 0 0 20px;
	padding: 8px;
	list-style: none;
	border: 1px solid var(--color-border);
	border-radius: 16px;
	background: #fff;
}

#payment .wc_payment_methods li.wc_payment_method {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin: 0;
	padding: 20px 24px;
	border: 1px solid transparent;
	border-bottom-color: var(--color-border);
	border-radius: 12px;
	cursor: pointer;
	transition: background-color 0.2s, border-color 0.2s;
}

#payment .wc_payment_methods li.wc_payment_method:last-child {
	border-bottom-color: transparent;
}

#payment .wc_payment_methods li.wc_payment_method:has(input.input-radio:checked) {
	background: #EFF4FF;
	border-color: #7C8CF8;
	border-bottom-color: #7C8CF8;
}

#payment .wc_payment_methods li.wc_payment_method input.input-radio {
	position: absolute;
	width: 0;
	height: 0;
	margin: 0;
	opacity: 0;
	pointer-events: none;
}

#payment .wc_payment_methods li.wc_payment_method label {
	margin: 0;
	color: #1C1C20;
	font-size: 16px;
	line-height: 22px;
	cursor: pointer;
}

/* ÐžÐ¿Ð¸ÑÐ°Ð½Ð¸Ðµ ÑÐ¿Ð¾ÑÐ¾Ð±Ð° Ð¾Ð¿Ð»Ð°Ñ‚Ñ‹ â€” Ð¿Ð¾Ð´ ÐµÐ³Ð¾ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸ÐµÐ¼. */
#payment .wc_payment_methods li.wc_payment_method .payment_box {
	position: static;
	flex-basis: 100%;
	width: 100%;
	margin: 12px 0 0;
	padding: 0;
	border-radius: 0;
	background: none;
	font-size: 14px;
	line-height: 20px;
}

#payment .payment_box::before {
	display: none;
}

#payment .form-row.place-order {
	margin: 0;
	padding: 0;
}
#place_order {
	width: 100%;
	padding: 14px 24px;
	border: none;
	border-radius: 40px;
	background: var(--theme-base-color, var(--color-primary));
	color: #fff;
	font-family: inherit;
	font-size: 20px;
	font-weight: 400;
	line-height: 1.2;
	cursor: pointer;
	transition: opacity 0.2s;
}

#place_order:hover {
	opacity: 0.88;
}

#place_order:disabled,
#place_order.disabled {
	background: var(--color-border);
	cursor: not-allowed;
	opacity: 1;
}

/*
 * Уведомления-«info» WooCommerce на корзине и оформлении не показываем.
 *
 * ВАЖНО: исключён .cart-empty. Сообщение о пустой корзине печатает
 * wc_empty_cart_message() (ядро WC), и оно САМО несёт класс .woocommerce-info:
 *   <div class="wc-empty-cart-message">
 *     <div class="cart-empty woocommerce-info">Ваша корзина пуста</div>
 *   </div>
 * Поэтому глушить все .woocommerce-info нельзя — вместе с уведомлениями
 * пропадёт и текст «Ваша корзина пуста» (он остаётся в DOM, но не виден).
 * Остальные info-уведомления по-прежнему скрыты.
 */
.woocommerce-info:not(.cart-empty) {
	display: none;
}

/* --- ÐÐ´Ð°Ð¿Ñ‚Ð¸Ð² ------------------------------------------------------------ */

@media (max-width: 991px) {
	.cart-form-right {
		padding: 24px 20px;
	}

	.cart-qty__input {
		width: 48px;
	}
}

@media (max-width: 991px) {
	.cart-form-left__list {
		margin-top: 24px;
	}

	.cart-form-left__update {
		align-self: stretch;
	}

	.cart-form-item__title,
	.cart-form-item__price,
	.cart-form-right__row_subtotal,
	.cart-form-right__row_shipping,
	.cart-form-right__row_coupon {
		font-size: 16px;
	}
}
