/*
** Основные стили 
*/
html {
  font-size: 100%;
  -webkit-font-smoothing: antialiased;
  scroll-behavior: smooth;
  scrollbar-gutter: stable;
}
body {
  margin: 0;
  overflow-x: hidden;
  font-weight: 400;
  font-style: normal;
  line-height: 1;
  background: white;
  scrollbar-gutter: stable;
}
*,
*::before,
*::after {
  box-sizing: border-box;
}
/*
** Контейнеры
*/
.container {
  margin-inline: auto;
  padding-inline: 16px;
}
@media all and (min-width: 480px) {
  .container {
    min-width: 448px;
  }
}
@media all and (min-width: 640px) {
  .container {
    min-width: 608px;
  }
}
@media all and (min-width: 768px) {
  .container {
    min-width: 736px;
  }
}
@media all and (min-width: 1024px) {
  .container {
    min-width: 992px;
  }
}
@media all and (min-width: 1200px) {
  .container {
    width: 1200px;
  }
}
/*
** Скролбары
*/
::-webkit-scrollbar {
  width: var(--scrollbar-width);
  height: 0;
}
::-webkit-scrollbar-thumb {
  background: var(--color-border-secondary);
}
::-webkit-scrollbar-track {
  background: var(--color-border);
}
/*
** Основные элементы
*/
a {color: var(--color-text-primary);text-decoration: none;transition: color var(--duration);fill: currentcolor;}
a:active, a.is-active {color: var(--color-primary);}
@media (hover: hover) and (pointer: fine) {
	a:hover {color: var(--color-primary);cursor: pointer;}
}
p {margin-block: 16px;overflow: hidden;line-height: 1.375;word-wrap: break-word;}
small {display: block;font-size: var(--text-size-small);}
img {width: 100%;height: 100%;object-fit: contain;}
main {margin-block: 20px;}
@media all and (min-width: 768px) {
	main {margin-block: 40px;}
}
/*
** Заголовки
*/
h1, h2, h3, h4, h5, h6 {
	margin: 0;
	font-weight: 800;
  font-family: var(--font-primary);
	line-height: 1.375;
	text-transform: uppercase;
	text-rendering: optimizelegibility;
}
h1 {font-size: var(--heading-01);}
h2 {font-size: var(--heading-02);}
h3 {font-size: var(--heading-03);}
h4 {font-size: var(--heading-04);}
h5 {font-size: var(--heading-05);}
h6 {font-size: var(--heading-06);}
/*
** Кнопки
*/
button, .button, .paymentFormSubmitLink, .paymentFormTbodySubmitButton {
	position: relative;
	display: inline-flex;
	gap: 8px;
	align-items: center;
	justify-content: center;
	height: var(--button-medium);
  color: white;
	font-weight: 400;
	font-size: var(--text-size-medium);
	font-family: inherit;
	line-height: var(--text-height-medium);
	background-color: var(--color-primary);
	border: 1px solid var(--color-primary);
	border-radius: 0;
	outline: none;
	cursor: pointer;
	transition: color var(--duration), background-color var(--duration), border-color var(--duration);
	fill: currentcolor;
	padding-inline: 32px;
}
button:active, .button:active, .paymentFormSubmitLink:active, .paymentFormTbodySubmitButton:active {color: white;background-color: var(--color-border-secondary);border-color: var(--color-secondary);}
.button-icon {height: auto;padding: 0;color: var(--color-gray);background: none;border: none;}
.button-primary {color: white;background-color: var(--color-primary);border-color: var(--color-primary);}
.button-secondary {color: var(--color-text-primary);background-color: var(--color-tertiary);border-color: var(--color-tertiary);}
.button-outline {color: var(--color-primary);background-color: white;border-color: var(--color-primary);}
.button-link {height: auto;padding: 0;color: var(--color-text-primary);background: none;border: none;}
@media (hover: hover) and (pointer: fine) {	
  button:hover, .button:hover, .paymentFormSubmitLink:hover, .paymentFormTbodySubmitButton:hover {color: white;background-color: var(--color-secondary);border-color: var(--color-secondary);}
  .button-icon:hover {padding: 0;color: var(--color-primary);background: none;border: none;}
  .button-primary:hover {color: white;background-color: var(--color-secondary);border-color: var(--color-secondary);}
  .button-link:hover {color: var(--color-primary);background: none;border: none;}
}
/*
** Инпут поля
*/
input, select, textarea {
	width: 100%;
	height: var(--button-medium);
	margin: 0;
	color: inherit;
	font-size: var(--text-size-medium);
	font-family: inherit;
	background-color: white;
	border-color: var(--color-border);
	border-style: solid;
	border-width: 1px;
	border-radius: 0;
	outline: none;
	transition: border-color var(--duration);
	-webkit-appearance: none;
	appearance: none;
	padding-inline: 20px;
}
input::placeholder, select::placeholder, textarea::placeholder {color: var(--color-darkgray);}
input:focus, select:focus, textarea:focus {border-color: var(--color-primary);}
@media (hover: hover) and (pointer: fine) {
	input:hover, select:hover, textarea:hover {border-color: var(--color-primary);}
}
select {cursor: pointer;}
textarea {height: auto;padding-top: 14px;cursor: text;resize: vertical;}
input + label {cursor: pointer;}
input[type="file"] {
	height: auto;
	padding: 0;
	background: transparent !important;
	border: 0;
	border-radius: 0;
}
/*
** Товарные цены
*/
.RUB .num {position: relative;overflow: hidden;}
.RUB .num::after {margin-left: 4px;content: '₽';}
.RUB .num + span {display: none;}
/*
** Товарные Иконки: Новинка, Хит, Скидка
*/
.sticker {
	position: relative;
	width: 44px;
	color: var(--color-white);
	font-weight: bold;
	font-size: var(--text-size-small);
  line-height: 20px;
  text-align: center;
  border-radius: 12px;
}
.sticker::before {position: relative;z-index: 2;}
.sticker--sales {background: var(--color-secondary);}
.sticker--sale {background: var(--color-secondary);}
.sticker--sale::before {content: 'sale';}
.sticker--best {background: #F4C054;}
.sticker--best::before {content: 'hit';}
.sticker--new {background: #53A1E2;}
.sticker--new::before {content: 'new';}
/*
** Скрытие элементов для доступности
*/
.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  border: 0 !important;
  clip: rect(0, 0, 0, 0) !important;
}
.is-hide {display: none;}
.is-hidden {visibility: hidden;opacity: 0;}
.is-visible {visibility: visible;opacity: 1;}
