
  /* ===== Bootstrap: глобальные скругления ===== */
  :root {
	--bs-border-radius: 0;
	--bs-border-radius-sm: 0;
	--bs-border-radius-lg: 0;
  }

  /* Fallback для Bootstrap 4/3 и точечные правки */
  .form-control,
  .form-control:focus,
  .form-select,
  .btn,
  .input-group > .form-control,
  .input-wrap .form-control {
	border-radius: 0 !important;
  }

  /* intl-tel-input: убираем скругления у флага, инпута и списка стран */
  .iti--allow-dropdown .iti__flag-container,
  .iti--separate-dial-code .iti__flag-container,
  .iti--allow-dropdown .iti__selected-flag,
  .iti--separate-dial-code .iti__selected-flag,
  .iti--allow-dropdown input[type="tel"],
  .iti--separate-dial-code input[type="tel"],
  .iti__country-list {
	border-radius: 0 !important;
  }

  .iti {
	width: 100%;
  }

  .iti__country-list {
	z-index: 10000;
  }

  /* ===== Общие элементы / инпуты / ссылки ===== */
  .input-wrap .control-row {
	position: relative;
	display: flex;
	align-items: center;
  }

  .input-wrap .control-row .form-control {
	flex: 1 1 auto;
  }

  .input-wrap .control-row .selfkill {
	position: absolute;
	right: 10px;
  }

  a:hover {
	color: #00bf96 !important;
  }
  
  i.money-icon {
	  font-size: 14px;
  }
  
  .empty-shopping-cart {
	display: flex;
	height: 100px;
  }

  .page-content {
	margin-top: 30px;
  }

  .top_panel,
  .region_panel {
	display: none !important;
  }

  .header-row {
	width: 100% !important;
	display: flex;
	align-items: center;
	flex-direction: row;
	justify-content: space-between;
  }

  /* ===== Кнопки ===== */
  .button-small.disabled {
	pointer-events: none;
	background-color: #9e9e9e;
  }

  .catalog-button {
	border-radius: 3px;
	background-color: #00bf96;
	border: none;
	padding: 0.5rem 1.5rem;
	font-size: 1rem;
	line-height: 2rem;
	font-weight: 500;
	color: #ffffff !important;
	cursor: pointer;
	display: inline-block;
	text-decoration: none;
	box-shadow:
	  0 4px 6px -1px rgba(15, 23, 42, 0.1),
	  0 2px 4px -2px rgba(15, 23, 42, 0.1);
	transition: all 150ms ease-in-out;
  }

  .catalog-button:hover {
	background-color: #00a684;
	text-decoration: none;
	color: #ffffff !important;
  }

  .catalog-button:active {
	transform: translateY(1px);
	box-shadow: 0 4px 8px rgba(15, 23, 42, 0.25);
  }

  .catalog-button:focus-visible {
	outline: 2px solid #00bf96;
	outline-offset: 2px;
  }

  /* Основная кнопка в корзине («Перейти к оплате») */
  .button-small.color-1 {
	border-radius: 3px;
	background-color: #00bf96;
	border: none;
	padding: 0.5rem 1.5rem;
	font-size: 1rem;
	line-height: 2rem;
	font-weight: 500;
	color: #ffffff !important;
	cursor: pointer;
	display: inline-block;
	text-decoration: none;
	box-shadow:
	  0 4px 6px -1px rgba(15, 23, 42, 0.1),
	  0 2px 4px -2px rgba(15, 23, 42, 0.1);
	transition: all 150ms ease-in-out;
  }

  .button-small.color-1:hover {
	background-color: #00a684;
	text-decoration: none;
	color: #ffffff !important;
  }

  .button-small.color-1:active {
	transform: translateY(1px);
	box-shadow: 0 4px 8px rgba(15, 23, 42, 0.25);
  }

  .button-small.color-1:focus-visible {
	outline: 2px solid #00bf96;
	outline-offset: 2px;
  }

  .button-small.color-1.disabled,
  .button-small.color-1[disabled] {
	background-color: #9e9e9e !important;
	box-shadow: none;
	cursor: default;
  }

  /* ===== Корзина: товары / лейаут ===== */
  /* Количество в корзине — аккуратный инпут */
  .cart-product-options .count-product.form-control {
	max-width: 90px;
	min-width: 70px;
	text-align: center;
	margin: 0 auto;
	height: 40px;
	padding: 8px 10px;
	border-radius: 4px !important;
	font-size: 14px;
  }

  .delete-item {
	background: url(/images/icons_for_retina/delete-grey-2x.png) no-repeat;
	background-size: contain;
	width: 10px;
	height: 10px;
	display: block;
	position: absolute;
	right: 0;
	top: 0;
	cursor: pointer;
	margin: 10px 0;
  }

  .product-img-and-title {
	display: flex;
	align-items: center;
  }

  .product-img {
	width: 150px;
	height: 150px;
	align-items: center;
	display: flex;
	flex-grow: 0;
  }

  .product-name {
	width: 70%;
	flex-direction: column;
	text-align: left;
	align-items: flex-start;
	display: flex;
	flex-grow: 0;
	padding: 10px 20px;
  }

  a.cart-product-category.middle-color.dark-hover {
	margin-top: 10px;
  }

  .to-payment-row {
	display: flex;
	align-items: center;
	flex-direction: row;
  }

  .form-inputs {
	margin-bottom: 150px;
  }

  /* Строка с "Итого" без нижней границы */
  .cart-product-list .cart-product:last-child,
  .cart-product-list .cart-product:last-child .well-box-middle {
	border-bottom: none !important;
  }

  /* Модалка с условиями */
  #terms_alert {
	height: 550px;
	display: flex;
	padding: 20px;
	flex-direction: column;
	justify-content: space-between;
	text-align: justify;
  }

  .terms_alert_close {
	position: absolute;
	right: 0;
	top: 0;
	margin: 10px;
	cursor: pointer;
	background: url(/images/icons_for_retina/delete-grey-2x.png) no-repeat;
	background-size: contain;
	width: 10px;
	height: 10px;
  }

  /* ===== Блок условий / чекбокс ===== */
  .terms-confirm {
	width: 100%;
	display: flex;
	align-items: center;
	flex-direction: row-reverse;
	justify-content: end;
	text-align: right;
	margin: 10px;
	gap: 8px;
  }

  .terms-confirm label {
	width: auto !important;
	font-size: 13px;
	white-space: nowrap;
  }

  /* ===== Пустая корзина: центр экрана + анимация ===== */
  .empty-cart-page {
	min-height: 46vh;
	display: flex;
	align-items: center;
	justify-content: center;
  }

  .empty-cart-block {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.5rem;
	padding-left: 1rem;
	padding-right: 1rem;
  }

  .cart-area {
	position: relative;
  }

  .cart-icon-wrapper {
	position: relative;
	width: 260px;
	height: 150px;
	display: flex;
	align-items: center;
	justify-content: center;
	filter:
	  drop-shadow(0 4px 3px rgba(15, 23, 42, 0.07))
	  drop-shadow(0 2px 2px rgba(15, 23, 42, 0.06));
  }

  .cart-shell {
	position: relative;
	width: 100%;
	height: 100%;
	transform: translate(-18px, 18px);
  }

  .cart-outline {
	width: 100%;
	height: 100%;
	display: block;
	color: #00bf96;
  }

  .cart-shadow {
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1.5rem;
	margin-left: auto;
	margin-right: auto;
	width: 6rem;
	height: 0.75rem;
	border-radius: 999px;
	background-color: #cbd5f5;
	opacity: 0.7;
  }

  .cart-bubbles {
	position: absolute;
	top: 1.2rem;
	right: 5.2rem;
	width: 3rem;
	height: 3rem;
	pointer-events: none;
	user-select: none;
  }

  .cart-bubbles .cart-bubble {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 1.5rem;
	height: 1.5rem;
	border-radius: 999px;
	font-size: 0.75rem;
	font-weight: 600;
	color: #ffffff;
	box-shadow: 0 4px 8px rgba(15, 23, 42, 0.25);
  }

  .cart-bubbles .cart-bubble:first-child {
	top: 0.1rem;
	right: 0.2rem;
	background-color: #10b981;
  }

  .cart-bubbles .cart-bubble:last-child {
	top: -0.9rem;
	right: 0;
	background-color: #34d399;
  }

  .text-block {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 0.25rem;
	max-width: 28rem;
	margin-top: 4.4rem;
  }

  .text-block .title {
	font-size: 1.125rem;
	font-weight: 600;
	color: #1e293b;
	margin: 0;
  }

  .text-block .subtitle {
	font-size: 0.875rem;
	color: #64748b;
	margin: 0;
  }

  .cart-float {
	transform-origin: 50% 50%;
	animation: cart-float 3s ease-in-out infinite;
  }

  .cart-shadow-pulse {
	transform-origin: 50% 50%;
	animation: cart-shadow-pulse 3s ease-in-out infinite;
  }

  .cart-bubble {
	animation: cart-bubble 2.4s ease-out infinite;
  }

  .cart-bubble-delay {
	animation-delay: 0.7s;
  }

  @keyframes cart-float {
	0% {
	  transform: translateY(0);
	}
	50% {
	  transform: translateY(-6px);
	}
	100% {
	  transform: translateY(0);
	}
  }

  @keyframes cart-shadow-pulse {
	0% {
	  transform: scaleX(1);
	  opacity: 0.65;
	}
	50% {
	  transform: scaleX(0.85);
	  opacity: 0.4;
	}
	100% {
	  transform: scaleX(1);
	  opacity: 0.65;
	}
  }

  @keyframes cart-bubble {
	0% {
	  transform: translateY(8px) scale(0.8);
	  opacity: 0;
	}
	20% {
	  opacity: 1;
	}
	100% {
	  transform: translateY(-18px) scale(1.05);
	  opacity: 0;
	}
  }

  /* ===== Форма в корзине (#easy_form) ===== */
  #easy_form .input-wrap {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 3px;
  }

  #easy_form .input-wrap label {
	float: none !important;
	width: 100% !important;
	display: block;
	margin: 0;
	font-size: 14px;
	line-height: 1.3;
  }

  #easy_form .input-wrap .control-row {
	width: 100% !important;
  }

  /* текстовые поля */
  #easy_form .form-control,
  #easy_form .form-control:focus {
	height: 44px;
	padding: 10px 12px;
	border-radius: 4px !important;
	font-size: 14px;
  }

  /* телефон */
  #easy_form .iti--allow-dropdown input[type="tel"],
  #easy_form .iti--separate-dial-code input[type="tel"] {
	height: 44px;
	padding: 10px 12px 10px 52px;
	border-radius: 4px !important;
	font-size: 14px;
  }

  /* Инпуты: серая рамка, при фокусе — чёрная */
  #easy_form .form-control,
  #easy_form .iti--allow-dropdown input[type="tel"],
  #easy_form .iti--separate-dial-code input[type="tel"] {
	border: 1px solid #bebebe;
  }

  /* Фокус без синего свечения Bootstrap */
  .form-control:focus,
  #easy_form .form-control:focus,
  #easy_form .iti--allow-dropdown input[type="tel"]:focus,
  #easy_form .iti--separate-dial-code input[type="tel"]:focus {
	border-color: #444 !important;
	box-shadow: none !important;
	outline: 0 !important;
  }

  #easy_form .is-valid,
  #easy_form .is-valid:focus,
  #easy_form .iti--allow-dropdown input[type="tel"].is-valid:focus,
  #easy_form .iti--separate-dial-code input[type="tel"].is-valid:focus {
	border-color: #00bf96 !important;
  }

  /* Блок с полями */
  #easy_form .form-inputs {
	display: flex;
	flex-direction: column;
	align-items: center;
  }

  /* По умолчанию (мобилка) — ширина 100% */
  #easy_form .form-inputs .input-wrap:nth-child(-n + 5) {
	width: 100% !important;
	margin-left: auto;
	margin-right: auto;
  }

  #easy_form label {
	font-weight: 300 !important;
  }

  .grid-100.shopping-cart-text {
	color: #9ca3af;
	display: flex;
	width: 60%;
	flex-wrap: wrap;
	position: relative;
	margin: 0 auto 120px;
  }

  .grid-100.form-inputs {
	margin-bottom: 0;
	padding-left: 0;
	padding-right: 0;
  }

  /* ===== Desktop (широкие экраны) ===== */
  @media (min-width: 992px) {
	#easy_form .form-inputs .input-wrap:nth-child(-n + 5) {
	  width: 60% !important;
	}
  }

  /* ===== Мобильные до 600px (часть 1) ===== */
  @media (max-width: 600px) {
	.terms-confirm label {
	  white-space: normal;
	}
  }

  /* ===== Мобильные до 500px ===== */
  @media screen and (max-width: 500px) {
	.header-page,
	.top_panel,
	.region_panel {
	  display: none !important;
	}

	.to-payment-row {
	  display: flex;
	  align-items: center;
	  flex-direction: column;
	}

	#to_payment2 {
	  width: 100% !important;
	}

	#tinkoff_btn {
	  width: 100% !important;
	  margin-left: 0 !important;
	  margin-top: 10px !important;
	}
  }

  /* ===== Мобильные до 600px (часть 2) ===== */
  @media (max-width: 600px) {
	.terms-confirm {
	  justify-content: flex-start;
	  align-items: flex-start;
	  text-align: left;
	}

	.terms-confirm label {
	  white-space: normal;
	  flex: 1;
	}

	.terms-confirm input[type="checkbox"] {
	  flex-shrink: 0;
	}

	#easy_form label {
	  margin-top: 2px;
	}
  }

  /* ===== Мобильный вид списка товаров (до 768px) ===== */
  @media (max-width: 768px) {
	/* скрываем шапку-таблицу */
	.cart-product.well-table.cart-head {
	  display: none;
	}

	.wrapper-cart {
	  margin-top: 8px;
	}

	/* каждая строка товара — карточка */
	.cart-product.well-table {
	  display: block;
	  padding: 16px 0;
	  position: relative;
	}

	.cart-product-list .cart-head + .cart-product.well-table[id] {
	  border-top: 1px solid #eee;
	}

	/* базовая раскладка ячеек: в столбик */
	.cart-product.well-table .well-box-middle {
	  text-align: right;
	  padding: 6px 0;
	  border: 0;
	}

	.cart-product.well-table .grid-40,
	.cart-product.well-table .tablet-grid-40,
	.cart-product.well-table .grid-15,
	.cart-product.well-table .tablet-grid-15,
	.cart-product.well-table .grid-20,
	.cart-product.well-table .tablet-grid-20 {
	  float: none !important;
	}

	/* верхняя зона: картинка + название */
	.cart-product.well-table .cart-product-image {
	  margin-bottom: 8px;
	}

	.cart-product.well-table .product-img-and-title {
	  align-items: flex-start;
	}

	.cart-product.well-table .product-img {
	  width: 100px;
	  height: auto;
	  margin-right: 12px;
	  flex: 0 0 auto;
	}

	.cart-product.well-table .product-name {
	  width: auto;
	  padding: 0;
	}

	/* Категория товара на мобиле не нужна */
	.cart-product.well-table .cart-product-category {
	  display: none;
	}

	/* подписи к цене/количеству/итогу только для строк с товарами ([id]) */
	.cart-product.well-table[id] > .well-box-middle:nth-child(2)::before,
	.cart-product.well-table[id] > .well-box-middle:nth-child(3)::before,
	.cart-product.well-table[id] > .well-box-middle:nth-child(4)::before {
	  display: block;
	  font-size: 11px;
	  text-transform: uppercase;
	  letter-spacing: 0.03em;
	  color: #9ca3af;
	  margin-bottom: 2px;
	}

	.cart-product.well-table[id] > .well-box-middle:nth-child(2)::before {
	  content: 'Цена за единицу';
	}

	.cart-product.well-table[id] > .well-box-middle:nth-child(3)::before {
	  content: 'Количество';
	}

	.cart-product.well-table[id] > .well-box-middle:nth-child(4)::before {
	  content: 'Цена';
	}

	/* Цена за единицу и Количество — 2 колонки */
	.cart-product.well-table[id] > .well-box-middle:nth-child(2),
	.cart-product.well-table[id] > .well-box-middle:nth-child(3) {
	  display: inline-block !important;
	  width: 50% !important;
	  vertical-align: top;
	  text-align: left;
	}

	.cart-product.well-table[id] > .well-box-middle:nth-child(2) {
	  padding-right: 6px;
	}

	.cart-product.well-table[id] > .well-box-middle:nth-child(3) {
	  padding-left: 6px;
	}

	/* строка товара становится flex-контейнером */
	.cart-product.well-table[id] {
	  display: flex;
	  flex-wrap: wrap;
	  position: relative;
	}

	/* по умолчанию каждая ячейка занимает всю строку */
	.cart-product.well-table[id] > .well-box-middle {
	  flex: 0 0 100%;
	  box-sizing: border-box;
	}

	/* 2-я и 3-я ячейки — по 50% */
	.cart-product.well-table[id] > .well-box-middle:nth-child(2),
	.cart-product.well-table[id] > .well-box-middle:nth-child(3) {
	  flex: 0 0 50%;
	}

	/* 3-я ячейка (Количество) — прижимаем контент вправо */
	.cart-product.well-table[id] > .well-box-middle:nth-child(3) {
	  text-align: right;
	}

	.cart-product.well-table[id] > .well-box-middle:nth-child(3)::before {
	  display: block;
	  text-align: right;
	}

	.cart-product.well-table[id] > .well-box-middle:nth-child(3) .cart-product-options {
	  display: inline-block;
	  text-align: right;
	  width: auto;
	}

	.cart-product.well-table[id] > .well-box-middle:nth-child(3) .count-product.form-control {
	  margin-left: 0 !important;
	  margin-right: 0 !important;
	}

	/* итоговая цена — отдельной строкой, прижата вправо */
	.cart-product.well-table[id] > .well-box-middle:nth-child(4) {
	  text-align: right;
	}

	/* Крестик: в верхний левый угол карточки */
	.cart-product.well-table[id] .well-box-middle.align-center.last {
	  position: static !important;
	  margin-top: 12px;
	}

	.cart-product.well-table[id] .delete-item {
	  position: absolute !important;
	  top: 12px !important;
	  left: 0 !important;
	  right: auto !important;
	  margin: 0 !important;
	  z-index: 5;
	}

	/* Инпут количества на мобиле — компактный */
	.cart-product.well-table[id] .cart-product-options .count-product.form-control {
	  width: 5ch;
	  max-width: none;
	  min-width: 0;
	  height: 30px;
	  padding: 3px 6px;
	  line-height: 1.2;
	  font-size: 14px;
	  text-align: center;
	  margin-left: 0 !important;
	  margin-right: 0 !important;
	}

	.cart-product .last {
	  border-bottom: none !important;
	}

	.cart-product-list .cart-product {
	  margin-bottom: 0 !important;
	}

	/* Итоговая цена по строке (последний столбец) */
	.cart-product-list .well-box-middle.align-center.last strong {
	  font-size: 16px !important;
	}

	.form-inputs {
	  margin-bottom: 20px;
	}

	/* Убрать нижнюю границу только у строки "Итого" */
	.cart-product-list .cart-product:last-child .middle-color {
	  display: none !important;
	}

	.cart-product-list .cart-product:last-child .header-font {
	  color: #9ca3af;
	}

	#easy_form .form-inputs .input-wrap:nth-child(-n + 5) {
	  padding-left: 10px;
	  padding-right: 10px;
	}

	.to-payment-row.grid-100 {
	  margin-bottom: 100px !important;
	}

	.grid-100.shopping-cart-text {
	  display: flex;
	  width: 100%;
	  flex-wrap: wrap;
	  position: relative;
	  font-size: 13px;
	  margin-bottom: 60px;
	}
	.empty-cart-page {
		min-height: 96vh;
	}
  }