/* ===== TOKENS ===== */
:root {
  --font: "Onest", "Segoe UI", sans-serif;

  --c-bg: #ffffff;
  --c-surface: #f8f8f8;
  --c-text: #151515;
  --c-muted: #959595;
  --c-muted2: #aeaeae;
  --c-border: #e1e1e1;
  --c-primary: #7f68ff;
  --c-accent: #ff5217;
  --c-green: #6f9c03;
  --c-pink: #e600a1;
  --c-peach: #fef7f2;
  --c-white: #ffffff;

  --r-sm: 12px;
  --r-md: 20px;
  --r-lg: 30px;
  --r-xl: 40px;
  --r-pill: 20px;

  --w-max: 1520px;

  --sp-2: 4px;
  --sp-4: 8px;
  --sp-6: 10px;
  --sp-8: 15px;
  --sp-10: 19px;
  --sp-12: 20px;
  --sp-16: 24px;
  --sp-20: 32px;
  --sp-24: 40px;
  --sp-32: 50px;
  --sp-40: 60px;
  --sp-48: 80px;
}

/* ===== RESET ===== */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
body {
  font-family: var(--font);
  background: var(--c-bg);
  color: var(--c-text);
  font-size: 15px;
  line-height: 1.35;
  -webkit-font-smoothing: antialiased;
}
img {
  max-width: 100%;
  display: block;
}
a {
  color: inherit;
  text-decoration: none;
}
button {
  font: inherit;
  cursor: pointer;
  border: none;
  background: none;
  color: inherit;
}
ul {
  list-style: none;
}

/* ===== LAYOUT ===== */
.container {
  width: min(100% - 48px, var(--w-max));
  margin-inline: auto;
}

@media (max-width: 560px) {
	.container_nomobile {
		width: auto;
	}
}

.section {
	padding-bottom: var(--sp-48);
}
main {
	padding-top: 200px;
}
@media (max-width: 990px) {
	main {
		padding-top: 60px;
	}
}
.special_page > main {
	padding-top: 0;
}
@media (min-width: 991px) {
	.special_page_desktop > main {
		padding-top: 0;
	}
}

/* ===== HEADER ===== */
.header {
	--header-font-color: var(--c-text);
	color: var(--header-font-color);
	transition: color 0.5s ease, background-color 0.5s ease, bottom 0.5s ease;
	background-color: transparent;
}
@media (max-width: 990px) {
	.header__main {
		padding: 0;
		border-bottom: none;
	}
	.header__nav {
		display: none;
		width: 100%;
		order: 10;
		flex-wrap: wrap;
		gap: 10px;
		padding-top: 16px;
		border-top: 1px solid var(--c-border);
	}
	.header__nav.is-open {
		display: flex;
	}
	.header__icons_mobile {
		display: flex;
		margin-left: auto;
	}
	.header__actions {
		display:none;
	}
	.header__icons {
		flex-grow: 1;
		justify-content: space-between;
		padding: 15px;
		background-color: var(--c-bg);
		box-shadow: 0px 0px 35px 0px rgba(58, 13, 0, 0.05);
		position: fixed;
		bottom: 10px;
		right: 10px;
		left: 10px;
		z-index: 100;
		border-radius: var(--r-pill);
		--header-font-color: var(--c-text);
	}
	.header {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		background: transparent;
		--header-font-color: var(--c-text);
		z-index: 100;
	}
	.header.colored {
		--header-font-color: var(--c-white);
	}
	.header__actions,
	.header__nav {
		display: none !important;
	}
}
@media (min-width: 991px) {
	.header__mobile_toggle {
		display: none !important;
	}
	.header {
		position: fixed;
		top: 0;
		right: 0;
		left: 0;
		z-index: 100;
	}
	.header__logo {
		height: 38px;
		position: absolute;
		top: calc(50% - 19px);
		left: calc(50% - 84px);
	}
	.header.fixed {
		--header-font-color: var(--c-text) !important;
	}
	.header.fixed .header__inner {
		background-color: var(--c-bg);
		box-shadow: 0px 0px 35px 0px rgba(58, 13, 0, 0.05);
	}
	.header.opened .header__logo img,
	.header.fixed .header__logo img {
		display: inline-block;
	}
	.header.opened .header__logo svg,
	.header.fixed .header__logo svg {
		display: none;
	}
	.header.fixed .header__nav {
		display: none;
	}
	.header__inner {
		align-items: center;
		padding: 15px;
		background-color: rgba(255,255,255,0.1);
	}
	.header_colored:not(.opened, .fixed) .header__icon-btn.logined {
		background-color: var(--c-white);
		--header-font-color: var(--c-accent);
	}
}
.header_content {
	padding: 20px 20px 0 20px;
	transition: background-color 0.5s ease;
	background-color: var(--c-bg);
}
.special_page .header {
	--header-font-color: var(--c-white);
}
.special_page .header_content {
	background-color: transparent;
}
.header svg path {
	transition: stroke 0.5s ease, fill 0.5s ease;
}
.header svg rect {
	transition: fill 0.5s ease;
}
.header.opened {
	--header-font-color: var(--c-text);
	bottom: 0;
	background-color: rgba(0,0,0,0.5);
}

body:has(.header.opened) {
    overflow: hidden;
}

.header.opened .header_content {
	background-color: var(--c-white);
	border-bottom-left-radius: 50px;
	border-bottom-right-radius: 50px;
	height: calc(100% - 100px);
}
.header__inner {
	align-items: center;
	border-radius: 20px;
	transition: background-color 0.5s ease;
}
.header.opened .header__inner {
	background-color: transparent;
}
.header__main {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
	transition: border-color 0.5s ease;
	position: relative;
}
.header__logo img {
	height: 38px;
	width: auto;
}
.special_page .header__logo img {
	display: none;
}
.header__logo svg {
	display: none;
}
.special_page .header__logo svg {
	display: inline-block;
}


.header__nav {
	margin-top: 15px;
	padding-top: 15px;
	display: flex;
	gap: 15px;
	flex: 1;
	justify-content: center;
	border-top: 1px solid var(--c-border);
}
.special_page .header__nav {
	border-color: rgba(255,255,255,0.1);
}
.header.opened .header__nav {
	border-color: var(--c-border);
}

@media (min-width: 991px) {
	.special_page_desktop .header {
		--header-font-color: var(--c-white);
	}
	.special_page_desktop .header_content {
		background-color: transparent;
	}
	.special_page_desktop  .header__nav {
		border-color: rgba(255,255,255,0.1);
	}
	.special_page_desktop .header__logo img {
		display: none;
	}
	.special_page_desktop .header__logo svg {
		display: inline-block;
	}
}

.header__nav-link {
  font-size: 16px;
  font-weight: 400;
  white-space: nowrap;
  transition: opacity 0.2s;
}
.header__nav-link:hover {
  opacity: 0.6;
}
.header__actions {
  display: flex;
  align-items: center;
  gap: 20px;
}
.header__location,
.header__catalog-btn {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: 15px;
	font-weight: 500;
	border-radius: 20px;
	transition: color 0.5s ease, background-color 0.5s ease;
	padding-top: 8px;
	padding-right: 11px;
	padding-bottom: 8px;
	padding-left: 7px;

}
.header__catalog-btn.active {
	background-color: var(--c-accent);
	--header-font-color: var(--c-white);
	color: var(--header-font-color);
}
.header__catalog-btn > svg + svg {
	display:none;
}
.header__catalog-btn.active > svg:first-child {
	display:none
}
.header__catalog-btn.active > svg + svg {
	display:inline-block;
}
.header__icons {
	display: flex;
	gap: 20px;
	align-items: center;
}

.header__icon-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	transition: color 0.3s ease, background-color 0.3s ease;
}
.header__icon-btn.logined {
	background-color: var(--c-accent);
	--header-font-color: var(--c-white);
	color: var(--header-font-color);
	border-radius: 20px;
	border-radius: 20px;
	padding: 7px 15px;
	display: flex;
	gap: 5px;
}
.header__icon-btn img {
  width: 24px;
  height: 24px;
}
.informer {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	width: 20px;
	height: 16px;
	top: -4px;
	right: -10px;
	border-radius: 30px;
	background-color: var(--c-accent);
	color: var(--c-white);
	font-weight: 700;
	font-size: 12px;
	line-height: 110%;
	text-align: center;
	transition: color 0.3s ease, background-color 0.3s ease;
}
.informer:empty {
	display: none;
}
@media (min-width: 991px) {
	.header_colored_desktop:not(.opened, .fixed) .header__icon-btn.logined {
		background-color: var(--c-white);
		--header-font-color: var(--c-accent);
	}
	.header_colored_desktop:not(.opened, .fixed) .informer {
		background-color: var(--c-white);
		color: var(--c-accent);
	}
	.header_colored:not(.opened, .fixed) .informer {
		background-color: var(--c-white);
		color: var(--c-accent);
	}
	.header.fixed .header_dropdown_menu {
		height: calc(100% - 68px);
	}
}
@media (max-width: 990px) {
	.special_page_desktop .category-header {
		display: none;
	}
}
.header__icons_mobile {
  display: none;
  gap: 20px;
  align-items: center;
}
.header__burger {
  line-height: 100%;
}
.header_dropdown {
	padding: 50px 0;
	display: none;
}
.header_dropdown_menu {
	height: calc(100% - 122px);
}
.header_dropdown_menu > nav {
	display: flex;
	justify-content: space-between;
	position: relative;
	height: 100%;
}
.header_dropdown_menu_main {
	flex-basis: 25%;
	width: 25%;
	border-right: 1px solid var(--c-border);
	list-style-type: none;
	overflow-y: auto;
	scrollbar-width: thin;
}
.header_dropdown_menu_main > li {
	display: block;
	padding: 5px 20px;
}
.header_dropdown_menu_main > li > a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
	border-radius: 20px;
	font-size: 19px;
	line-height: 120%;
	transition: background-color 0.2s ease;
	padding: 13px 15px 13px 18px;
}
.header_dropdown_menu_main > li:hover > a {
	background-color: var(--c-surface);
}
.header_dropdown_menu_main > li > a::after {
	content: "";
	width: 20px;
	height: 20px;
}
.header_dropdown_menu_main > li:hover > a::after {
	background-image: url('../assets/arrow_right.svg');
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
}

.header_dropdown_menu_sub {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 25%;
	right: 25%;
	display: none;
	padding: 0 30px;
	overflow-y: auto;
	scrollbar-width: thin;
}
.header_dropdown_menu_sub.fullwidth {
	right: 0;
}
.header_dropdown_menu_main:not(:hover) > li:first-child > .header_dropdown_menu_sub,
.header_dropdown_menu_main > li:hover > .header_dropdown_menu_sub {
	display: block;
}
.header_dropdown_menu_sub_title {
	font-weight: 700;
	font-size: 35px;
	line-height: 110%;
	margin-bottom: 40px;
}
.header_dropdown_menu_sub > ul {
	list-style-type: none;
	padding: 0;
	margin: 0;
	columns: 2;
}
.header_dropdown_menu_sub.fullwidth > ul {
	columns: 3;
}
.header_dropdown_menu_sub > ul > li {
	display: block;
	margin-bottom: 40px;
	break-inside: avoid;
}
.header_dropdown_menu_sub > ul > li > a {
	display: block;
	font-weight: 700;
	font-size: 19px;
	line-height: 120%;
}
.header_dropdown_menu_sub > ul > li > ul {
	list-style-type: none;
	margin-top: 20px;
}
.header_dropdown_menu_sub > ul > li > ul > li {
	margin-bottom: 20px;
	display: block;
}
.header_dropdown_menu_sub > ul > li > ul > li > a {
	display: block;
	font-size: 19px;
	line-height: 120%;
}
.header_dropdown_menu_sub > ul > li > a:hover,
.header_dropdown_menu_sub > ul > li > ul > li > a:hover {
	opacity: 0.6;
}

.header_dropdown_menu_banners {
	flex-basis: 25%;
	width: 25%;
	padding: 0 20px;
}
.header_dropdown_menu_banners > a {
	display: block;
}
.header_dropdown_menu_banners > a + a {
	margin-top: 30px;
}
.header_dropdown_menu_banners > a > img {
	display: block;
	width: 100%;
	margin-bottom: 10px;
}
.header_dropdown_menu_banners > a > label {
	display: block;
	font-weight: 700;
	font-size: 19px;
	line-height: 120%;
}

.search_panel {
	padding: 30px 0;
}
.search {
	position: relative;
}
.search__input {
	font-weight: 500;
	font-size: 65px;
	line-height: 110%;
	display: block;
	width: 100%;
	border: none;
	outline: none;
	background-color: transparent;
}
.search__input::placeholder {
	opacity: 0.2;
}

body #digi-shield.digi_desktop .digi-ac {
	margin-top: -20px;
	max-height: calc(100vh - 270px) !important;
}

/* ===== HERO ===== */
.main_slider {
	position: relative;
}
.main_slider .owl-carousel {
	border-bottom-left-radius: 50px;
	border-bottom-right-radius: 50px;
	overflow: hidden;
}
.main_slider_dots {
	position: absolute;
	bottom: 150px;
	left: 0;
	right: 0;
	text-align: center;
	z-index: 100;
}
.main_slider_dots_inner {
	background-color: rgba(255,255,255,0.1);
	display: inline-flex;
	border-radius: 20px;
	padding: 10px;
	gap: 10px;
}
.main_slider_dots .owl-dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background-color: rgba(255,255,255,0.5);
}
.main_slider_dots .owl-dot.active {
	background-color: var(--c-white);
	width: 7px;
	height: 7px;
}

.hero {
  position: relative;
  overflow: hidden;
  height: 768px;
  color: var(--c-white);
}
.hero__bg {
  position: absolute;
  inset: 0;
}
.hero__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero__content {
  position: relative;
  z-index: 1;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.hero__text {
  max-width: 680px;
}
.hero__title {
  font-size: 75px;
  font-weight: 700;
  line-height: 1.1;
  margin-bottom: 15px;
}
.hero__desc {
  font-size: 17px;
  line-height: 1.2;
  margin-bottom: 50px;
}
.hero__dots {
  position: absolute;
  bottom: 40px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 9px;
  padding: 7px 6px;
}
.hero__dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--c-muted2);
}
.hero__dot--active {
  width: 21px;
  border-radius: 100px;
  background: var(--c-accent);
}
.hero_button {
	background-color: var(--c-white);
	color: var(--c-text);
	font-weight: 500;
	font-size: 18px;
	line-height: 120%;
	border-radius: 20px;
	padding-top: 20px;
	padding-right: 40px;
	padding-bottom: 20px;
	padding-left: 40px;
	display: inline-block;
	transition: background-color 0.3s ease, color 0.3s ease;
}
.hero_button:hover {
	color: var(--c-white);
	background-color: var(--c-accent);
}

/* ===== BUTTONS ===== */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  height: 62px;
  padding: 20px 40px;
  border-radius: var(--r-pill);
  font-size: 18px;
  font-weight: 500;
  border: 1px solid transparent;
  transition: transform 0.15s, background 0.2s, opacity 0.2s;
  cursor: pointer;
  white-space: nowrap;
  text-decoration: none;
}
.btn:focus-visible {
  outline: 2px solid var(--c-accent);
  outline-offset: 2px;
}
.btn--primary {
  background: var(--c-accent);
  color: var(--c-white);
}
.btn--white {
  background: var(--c-white);
  color: var(--c-text);
}
.btn--gray {
  background: var(--c-surface);
}
.btn--card {
  width: 100%;
  background: var(--c-surface);
  color: var(--c-text);
  font-size: 16px;
  transition: color 0.3s ease, background-color: 0.3s ease;
}
.btn--card:hover,
.btn--card.in_cart {
  background: var(--c-accent);
  color: var(--c-white);
}

.thumb_in_cart .btn--card.in_cart {
	display: none;
}
.amount.product_cart_amount {
	display: none;
}
.cart-item .amount.product_cart_amount,
.thumb_in_cart .btn--card.in_cart + .product_cart_amount {
	display: flex;
}
.thumb_in_cart .product_cart_amount > input {
	color: var(--c-white);
}

.btn--sm {
  height: 52px;
  padding: 10px 20px;
  font-size: 16px;
}
.btn--submit {
	background-color: var(--c-accent);
	color: var(--c-white);
	width: 100%;
}
.btn--full {
	width: 100%;
}
.mini-btn {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	border-radius: 30px;
	background-color: var(--c-surface);
	padding-top: 12px;
	padding-right: 10px;
	padding-bottom: 12px;
	padding-left: 20px;

	font-size: 16px;
	font-weight: 400;
	transition: color 0.5s ease, background-color 0.5s ease;
}
.mini-btn:hover {
	color: var(--c-white);
	background-color: var(--c-accent);
}
.arrows {
  display: flex;
  gap: 10px;
}
.arrows.disabled {
	display: none;
}
.arrow-btn {
	width: 54px;
	height: 44px;
	border-radius: var(--r-pill);
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--c-surface);
	--c-arrow: var(--c-accent);
	transition: background-color 0.3s ease;
}
.arrow-btn svg {
	transition: stroke 0.3s ease;
}
.arrows .disabled .arrow-btn {
	--c-arrow: var(--c-text);
}
.arrows .disabled .arrow-btn > svg {
	opacity: 0.2;
}
.arrows > :not(.disabled) > .arrow-btn:hover {
	background-color: var(--c-accent);
	--c-arrow: var(--c-white);
}

/* ===== SECTION HEAD ===== */
.section-head {
  display: flex;
  align-items: center;
  margin-bottom: 30px;
  gap: 20px;
}
.section-head__title {
  font-size: 65px;
  font-weight: 700;
  line-height: 1;
}
.section-head__right {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-left: auto;
}
.blog .section-head__right {
	justify-content: space-between;
	flex-grow: 1;
}

/* ===== CATEGORIES ===== */
.categories {
  margin-top: -120px;
  z-index: 2;
  position: relative;
  background-color: var(--c-white);
  border-radius: 40px;
  box-shadow: 0px 0px 35px 0px rgba(58, 13, 0, 0.05);
  margin-bottom: var(--sp-48);
}
.categories__grid {
  display: flex;
  gap: 20px;
  padding: 20px;
}
.category-card {
  display: flex;
  flex-direction: column;
  gap: 15px;
  cursor: pointer;
}
.category-card__img {
  border-radius: var(--r-md);
  overflow: hidden;
  aspect-ratio: 1;
  background-color: var(--c-surface);
  border-radius: 20px;
}
.category-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.25s;
}
.category-card:hover .category-card__img img {
  transform: scale(1.05);
}
.category-card__name {
  font-size: 16px;
  font-weight: 400;
  text-align: center;
  transition: color 0.3s ease;
}
.category-card:hover .category-card__name {
	color: var(--c-accent);
}

/* ===== PROMO BANNER ===== */
.promo-banner__inner {
  border-radius: var(--r-xl);
  min-height: 200px;
  background: var(--c-primary);
  background-size: cover;
  background-position: center;
  color: var(--c-white);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 40px 70px;
  gap: 40px;
}
.promo-banner__title {
  font-size: 65px;
  font-weight: 700;
  line-height: 1.1;
}

/* ===== PRODUCTS ===== */
.products-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 30px 20px;
}
.product-card {
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 100%;
  gap: 15px;
}
.product-card__media {
	position: relative;
	background: var(--c-surface);
	border-radius: var(--r-md);
	overflow: hidden;
}
.product-card__media img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
}
.product-card__tags {
  position: absolute;
  top: 16px;
  left: 16px;
  display: flex;
  gap: 4px;
}
.tag {
  border-radius: var(--r-pill);
  padding: 4px 10px;
  font-size: 13px;
  font-weight: 500;
  color: var(--c-white);
  white-space: nowrap;
}
.tag--green {
  background: var(--c-green);
}
.tag--red {
  background: #E600A1;
}
.tag--purple {
  background: var(--c-primary);
}
.product-card__fav {
  position: absolute;
  top: 16px;
  right: 16px;
  opacity: 0.6;
  transition: opacity 0.3s;
  --icon-heart: var(--c-text);
  --icon-heart-fill: transparent;
}
.product-card__fav > svg > path {
	transition: fill 0.3s ease, stroke 0.3s ease;
}
.product-card__fav.product__inwishlist {
	--icon-heart: var(--c-accent);
	--icon-heart-fill: var(--c-accent);
	opacity: 1;
}
.product-card__fav:hover {
  opacity: 1;
}
.product-card__body {
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
}
.product-card__category {
  font-size: 15px;
  color: var(--c-muted);
}
.product-card__name {
  font-size: 19px;
  font-weight: 500;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-bottom: auto;
}
.product-card__rating {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 15px;
}
.product-card__reviews {
  color: var(--c-muted);
  margin-left: 6px;
}
.product-card__price {
  display: flex;
  align-items: baseline;
  gap: 10px;
}
.product-card__price strong {
  font-size: 21px;
  font-weight: 700;  
}
.product-card__price del {
  font-size: 13px;
  color: var(--c-muted);
  text-decoration: line-through;
}

/* ===== OFFERS ===== */
.offers__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
.offer-card {
  border-radius: var(--r-lg);
  overflow: hidden;
  background: var(--c-peach);
  height: 530px;
}

.offer-card__inner {
  position: relative;
  border-radius: var(--r-xl);
  overflow: hidden;
  height: 100%;
  display: flex;
  align-items: center;
}
.offer-card__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.offer-card__content {
  position: relative;
  z-index: 1;
  padding: 30px;
  max-width: 400px;
  color: var(--c-white);
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.offer-card__title {
  font-size: 38px;
  font-weight: 700;
  line-height: 1.1;
  margin-bottom: 15px;
}
.offer-card__desc {
  font-size: 18px;
  font-weight: 400;
  line-height: 1.4;
  margin-bottom: 100px;
}
.offer-card__content .hero_button {
	margin-top: auto;
}

/* ===== BANNER CERT ===== */
.banner-cert__inner {
  position: relative;
  border-radius: var(--r-xl);
  overflow: hidden;
  min-height: 470px;
  display: flex;
  align-items: center;
}
.banner-cert__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.banner-cert__content {
  position: relative;
  z-index: 1;
  padding: 60px 80px;
  max-width: 540px;
  color: var(--c-white);
}
.banner-cert__title {
	margin-bottom: 15px;
	font-weight: 700;
	font-size: 48px;
	line-height: 110%;
}
.banner-cert__desc {
  font-size: 18px;
  font-weight: 400;
  line-height: 1.4;
  margin-bottom: 100px;
}

/* ===== BLOG ===== */
.blog__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
.blog-card {
  border-radius: 30px;
  overflow: hidden;
  background: var(--c-white);
  cursor: pointer;
  transition: box-shadow 0.2s;
}
.blog-card a {
  display: block;
  text-decoration: none;
  color: inherit;
}
.blog-card__cover {
  aspect-ratio: 493 / 310;
  border-radius: 30px;
  background-color: var(--c-surface);
}
.blog-card__cover img {
  width: 100%;
  aspect-ratio: 493 / 310;
  object-fit: cover;
  display: block;
  border-radius: 30px;
}
.blog-card__body {
  padding: 15px 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.blog-card__meta {
  font-size: 17px;
  font-weight: 400;
}
.blog-card__title {
	font-size: 20px;
	font-weight: 700;
	color: var(--c-text);
	transition: color 0.5s ease;
}
.blog-card:hover .blog-card__title {
	color: var(--c-accent);
}
.blog-card__date {
  color: var(--c-muted);
  font-size: 15px;
  margin-top: 13px;
}

/* ===== FOOTER ===== */
.footer {
	background: var(--c-surface);
	color: var(--c-text);
	padding: 60px 0 40px;
	border-top-left-radius: 50px;
	border-top-right-radius: 50px;
}
.footer__logo {
	margin-bottom: 30px;
}
.footer__logo > a {
	display: inline-block;
}
.footer__top {
  display: flex;
  gap: 30px;
  padding-bottom: 40px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
  flex-wrap: wrap;
  justify-content: space-between;
}
.footer__logo-text {
  font-size: 20px;
  font-weight: 700;
  display: block;
  margin-bottom: 15px;
}
.footer__schedule {
  font-size: 16px;
  line-height: 1.5;
  margin-top: 15px;
}
.footer__col {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 18px;
}
.footer__col--contacts {
	gap: 15px;
}
.footer__heading {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 8px;
}
.footer__col > a {
	transition: opacity 0.3s;
}
.footer__col > a:hover {
	opacity: 0.6;
}
.footer__hint {
	font-size: 16px;
	line-height: 120%;
	opacity: 0.5;
}
.footer__col--contacts a {
	font-weight: 700;
	font-size: 30px;
	line-height: 110%;
	display: block;
}
.footer__bottom {
	padding-top: 20px;
	display: flex;
	gap: 40px;
	font-size: 18px;
	justify-content: space-between;
	border-top: 1px solid var(--c-border);
}



/* ===== FOCUS / HOVER GLOBAL ===== */
a:focus-visible,
button:focus-visible {
  outline: 2px solid var(--c-accent);
  outline-offset: 2px;
}


.search_button > svg + svg {
	display: none;
}
.search_button.active > svg + svg {
	display: inline-block;
}
.search_button.active > svg:first-child {
	display: none;
}

.mobile_menu {
	display: none;
	position: fixed;
	z-index: 999;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	background-color: var(--c-bg);
	--header-font-color: var(--c-text);
	color: var(--header-font-color);
}
.mobile_menu_header {
	height: 68px;
	padding: 15px 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.mobile_menu_main {
	height: calc(100vh - 68px);
	overflow-y: auto;
}
.mobile_menu_list {
	padding: 30px 0;
}
.mobile_menu_title {
	font-weight: 700;
	font-size: 30px;
	line-height: 110%;
	margin-bottom: 30px;
}
.mobile_menu_title_link {
	display: flex;
	align-items: center;
	gap: 20px;
	cursor: pointer;
}
.mobile_menu_title_link::before {
	display: inline-block;
	content: "";
	width: 30px;
	height: 30px;
	background-color: #EEEEEE;
	border-radius: 50%;
	background-image: url('../assets/arrow_right.svg');
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	transform: rotate(180deg);
}
.mobile_menu_list > ul {
	list-style-type: none;
}
.mobile_menu_list > ul > li {
	display: block;
}
.mobile_menu_list > ul > li > a {
	display: block;
	padding: 15px 0;
	font-size: 16px;
	line-height: 120%;
}
.mobile_menu_list > hr {
	background-color: #EEE;
	margin: 25px 0;
	border: none;
	height: 1px;
}
.mobile_menu_list > ul > li > a.mobile_menu_link {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.mobile_menu_link::after {
	display: inline-block;
	content: "";
	width: 20px;
	height: 20px;
	background-image: url('../assets/arrow_right.svg');
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
}
.mobile_menu_brand_letter {
	color: var(--c-accent);
	font-family: Onest;
	font-weight: 700;
	font-size: 25px;
	line-height: 110%;
	padding: 15px 0;
}


/* ===== TABLET ===== */
@media (min-width: 991px) {
	.header__icons .header__burger {
		display: none;
	}
}
@media (max-width: 990px) {
	.product-card__tags {
		flex-direction: column;
		align-items: flex-start;
	}
	.category-header__subcats {
		max-height: none !important;
	}
	.mobile_swipe_block {
		max-width: 100%;
		overflow-x: auto;
	}
	.footer__logo {
		display: none;
	}
	
  
	.search__input {
		font-size: 30px;
	}
	body #digi-shield.digi_desktop .digi-ac {
		margin-top: -20px;
		max-height: calc(100vh - 130px) !important;
	}
  
	.hero {
		height: 630px;
	}
	.hero__content {
		justify-content: flex-end;
		padding-bottom: 40px;
	}
	.main_slider_dots {
		position: static;
		margin-top: 25px;
	}
	.main_slider_dots .owl-dot {
		background-color: var(--c-text);
		opacity: 0.3;
	}
	.main_slider_dots .owl-dot.active {
		opacity: 1;
		background-color: var(--c-text);
	}
	.hero_button {
		display: block;
		width: 100%;
		text-align: center;
	}
	.hero__text {
		max-width: none;
	}
  .hero__title {
    font-size: 48px;
  }
  .hero__desc {
    font-size: 16px;
    margin-bottom: 32px;
  }
  .categories {
	  margin-top: 0;
  }
  .category-card {
	  width: 90px;
	  flex-shrink: 0;
  }
  .products-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .offers__grid {
    grid-template-columns: 1fr;
  }
  .blog__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .promo-banner__inner {
    padding: 30px 40px;
  }
  .promo-banner__title {
    font-size: 48px;
  }
  .section-head__title {
    font-size: 48px;
  }
  .banner-cert__content {
    padding: 40px;
  }
  .banner-cert__title {
    font-size: 48px;
  }
  .section-head {
	  justify-content: space-between;
  }
  .section-head > .section-head__right {
	  display: none;
  }
}

/* ===== MOBILE ===== */
@media (max-width: 560px) {
  .section {
    padding-block: 40px;
  }
  .header__actions .header__location,
  .header__actions .header__catalog-btn {
    display: none;
  }
  .header__icons {
    gap: 12px;
  }
  .hero__title {
    font-size: 30px;
  }
  .hero__desc {
    font-size: 15px;
    margin-bottom: 24px;
  }
  .btn {
    height: 52px;
    padding: 16px 28px;
    font-size: 16px;
  }
  .categories__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
  .products-grid {
    grid-template-columns: 1fr 1fr;
	gap: 20px 10px;
  }
	.product-card__category {
		font-size: 11px;
	}
	.product-card__name {
		font-size: 13px;
	}
	.product-card__rating {
		font-size: 13px;
	}
	.product-card__price,
	.product-card__price strong {
		font-size: 16px;
	}
  .blog__grid {
    grid-template-columns: 1fr;
  }
  .promo-banner__inner {
    flex-direction: column;
    align-items: flex-start;
    padding: 24px;
    min-height: auto;
  }
  .promo-banner__title {
    font-size: 32px;
  }
  .section-head__title {
    font-size: 32px;
  }
  /*
  .arrows {
    display: none;
  }
  */
  .banner-cert__inner {
    min-height: 320px;
  }
  .banner-cert__content {
    padding: 24px;
  }
  .banner-cert__title {
    font-size: 32px;
  }
  .banner-cert__desc {
	margin-bottom: 250px;
    font-size: 16px;
  }
  .offer-card__body {
    padding: 16px;
  }
}

/* ===== BREADCRUMBS ===== */
.breadcrumbs {
  padding-block: 24px;
}
.breadcrumbs__nav {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  color: var(--c-muted);
}
.breadcrumbs__nav a {
  transition: color 0.2s;
}
.breadcrumbs__nav a:hover {
  color: var(--c-accent);
}
.breadcrumbs__nav span:last-child {
  color: var(--c-text);
}

/* ===== BRANDS PAGE ===== */
.brands_header {
	font-size: 65px;
	font-weight: 700;
	margin-bottom: 24px;
}
.brands-alphabet {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  margin-bottom: 32px;
}
.brands-alphabet__letter {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 16px;
  border-radius: 10px;
  background: var(--c-surface);
  font-size: 16px;
  font-weight: 400;
  color: var(--c-text);
  transition: background 0.3s, color 0.3s;
}
.brands-alphabet__letter:hover {
  background: var(--c-accent);
  color: var(--c-white);
}

.brands-filters-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
}
.brands-filters {
  display: flex;
  align-items: center;
  gap: 12px;
  position: relative;
}
.brands-filter {
}
.brands-filter__button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 18px;
  border-radius: 1000px;
  background: var(--c-surface);
  font-size: 15px;
  font-weight: 500;
}
.brands-filter__button svg {
  width: 12px;
  height: 8px;
  transition: transform 0.5s linear;
}
.brands-filter__button.active svg {
	transform: rotate(180deg);
}
.brands-filter__dropdown {
	position: absolute;
	top: 100%;
	left: 0;
	margin-top: 10px;
	padding: 10px;
	border-radius: 20px;
	background: var(--c-white);
	box-shadow: 0px 0px 35px 0px rgba(58, 13, 0, 0.07);
	display: none;
	min-width: 180px;
	z-index: 10;
	width: 90vw;
	max-width: 880px;
}
.brands-filter__dropdown_inner {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 5px 20px;
}
.brand_checkbox_wrapper > input {
	display: none;
}
.brand_checkbox_wrapper > label {
	border-radius: 10px;
	padding: 10px;
	font-family: Onest;
	font-size: 16px;
	line-height: 120%;
	transition: color 0.3s ease, background-color 0.3s ease;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	cursor: pointer;
}
.brand_checkbox_wrapper > label:hover {
	background-color: var(--c-surface);
}
.brand_checkbox_wrapper > input:checked + label	{
	background: rgba(255, 82, 23, 0.2);
	color: var(--c-accent);
}
.brand_checkbox_wrapper > input:checked + label::after {
	content: "";
	background-image: url('../assets/brand_close.svg');
	width: 20px;
	height: 20px;
	background-size: cover;
}


.brands-filter__dropdown button {
  display: block;
  width: 100%;
  text-align: left;
  padding: 8px 10px;
  font-size: 14px;
}
.brands-filter__dropdown button + button {
  margin-top: 4px;
}
.brands-filter--open .brands-filter__dropdown {
  display: block;
}
.brands-search {
	position: relative;
}
.brands-search > svg {
	position: absolute;
	left: 16px;
	top: calc(50% - 8px);
	z-index: 2;
	color: var(--c-muted2);
}
.brands-search > input {
	display: inline-block;
	padding: 10px 16px 10px 40px;
	border-radius: 1000px;
	background: var(--c-surface);
	color: var(--c-muted2);
	font-size: 15px;
	border: 1px solid var(--c-surface);
	outline: none;
	width: 100%;
	transition: border-color 0.3s ease;
}
.brands-search > input::placeholder {
	color: var(--c-muted2);
}
.brands-search > input:focus {
	border-color: var(--c-accent);
}

.brands-group {
  padding-top: 60px;
}
.brands-group__letter {
  font-size: 65px;
  font-weight: 700;
  color: var(--c-accent);
  margin-bottom: 20px;
  line-height: 1.1;
}
.brands-group__list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px 20px;
}
.brands-group__list a {
  font-size: 19px;
  font-weight: 400;
  line-height: 1.6;
  transition: color 0.2s;
}
.brands-group__list a:hover {
  color: var(--c-accent);
}
@media (max-width: 560px) {
	.brands_header {
		font-size: 30px;
		margin-bottom: 15px;
	}
	.brands-alphabet__letter {
		font-size: 13px;
	}
	.brands-alphabet {
		gap: 5px;
		justify-content: center;
	}
}

/* ===== BRAND HEADER ===== */
.brand-header {
  margin-bottom: 50px;
}
.brand-header__breadcrumb {
  font-size: 15px;
  color: var(--c-muted);
  margin-bottom: 15px;
}
.brand-header__title {
  font-size: 65px;
  font-weight: 700;
  line-height: 1.1;
}

/* ===== PRODUCT LINES ===== */
.product-lines {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 20px;
  margin-bottom: 60px;
}
.product-line-card {
  display: flex;
  flex-direction: column;
  gap: 15px;
  cursor: pointer;
  transition: transform 0.2s;
}
.product-line-card:hover {
  transform: translateY(-4px);
}
.product-line-card__image {
  border-radius: var(--r-md);
  background: var(--c-surface);
  aspect-ratio: 1;
  overflow: hidden;
}
.product-line-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.product-line-card__content {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.product-line-card__title {
  font-size: 19px;
  font-weight: 500;
  text-align: center;
}
.product-line-card__description {
  font-size: 15px;
  color: var(--c-muted);
  text-align: center;
  line-height: 1.4;
}

/* ===== BRAND PRODUCTS ===== */
.brand-products {
  margin-top: 60px;
}
.brand-products__header {
  margin-bottom: 40px;
}
.brand-products__title {
  font-size: 38px;
  font-weight: 700;
  margin-bottom: 10px;
}
.brand-products__subtitle {
  font-size: 19px;
  color: var(--c-muted);
}

/* ===== PRODUCT CARD UPDATES ===== */
.product-card__image {
  background: var(--c-surface);
  border-radius: var(--r-md);
  overflow: hidden;
  aspect-ratio: 1;
  margin-bottom: 15px;
}
.product-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.product-card__tag {
  font-size: 15px;
  color: var(--c-muted);
  margin-bottom: 8px;
}
.product-card__price {
  display: flex;
  align-items: baseline;
  gap: 10px;
}
.product-card__price-current {
  font-size: 38px;
  font-weight: 700;
}
.product-card__price-old {
  font-size: 15px;
  color: var(--c-muted);
  text-decoration: line-through;
}

.product_unavailable .product-card__media,
.product_unavailable .product-card__name,
.product_unavailable .product-card__rating {
	opacity: 0.3;
}

/* ===== RESPONSIVE BRANDS ===== */
@media (max-width: 1180px) {
  .brands-group__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .product-lines {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .brand-header__title {
    font-size: 48px;
  }
  .brands-group__letter {
    font-size: 48px;
  }
}

@media (max-width: 560px) {
  .brands-group__list {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .product-lines {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }
  .brand-header__title {
    font-size: 32px;
  }
  .brands-group__letter {
    font-size: 32px;
  }
  .brand-products__title {
    font-size: 28px;
  }
}

.modal {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 999;
	background-color: rgba(0,0,0,0.5);
}
.modal_inner {
	display: flex;
	width: 100%;
	height: 100%;
	justify-content: center;
	align-items: center;
	padding: 20px;
	overflow-y: auto;
}
.modal_body {
	background-color: var(--c-bg);
	width: 100%;
	max-width: 500px;
	border-radius: 40px;
	padding: 40px;
	position: relative;
}
.modal_wide .modal_body {
	max-width: 640px;
}
.modal_body.wait::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(255,255,255,0.65);
	border-radius: 40px;
	z-index: 100;
}
.modal_close {
	position: absolute;
	top: 20px;
	right: 20px;
	cursor: pointer;
	z-index: 2;
}
.modal_title {
	font-weight: 700;
	font-size: 35px;
	line-height: 110%;
	margin-bottom: 30px;
	padding-right: 19px;
}
.modal_form {
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.modal_form input[type=text],
.modal_form input[type=email],
.modal_form input[type=password],
.modal_form input[type=tel],
.modal_form select,
.modal_form textarea {
	border-radius: 20px;
	padding: 20px;
	background-color:var(--c-surface);
	font-size: 18px;
	line-height: 120%;
	width: 100%;
	display: block;
	border: 1px solid var(--c-border);
}
.modal_form textarea {
	resize: none;
	height: 160px;
}
.modal_form input[type=text]::placeholder,
.modal_form input[type=email]::placeholder,
.modal_form input[type=password]::placeholder,
.modal_form input[type=tel]::placeholder,
.modal_form textarea::placeholder {
	color: var(--c-muted);
}

.modal_button {
	border-radius: 20px;
	padding: 20px;
	background-color:var(--c-accent);
	font-size: 18px;
	line-height: 120%;
	cursor: pointer;
	color: var(--c-white);
	text-align: center;
	width: 100%;
	display: block;
}
.modal_form_link {
	text-align: center;
	padding: 10px;
}
.modal_form_link + .modal_form_link  {
	padding-top: 0;
}
.modal_form_link > a {
	color: var(--c-text);
	font-family: Onest;
	font-size: 16px;
	line-height: 120%;
}
.modal_form_errors:empty {
	display: none;
}
.modal_form_errors {
	padding: 10px;
	color: red;
}

.text > h1 {
	font-size: 65px;
	font-weight: 700;
	margin-bottom: 40px;
}
.text > h2 {
	margin-top: 40px;
	margin-bottom: 20px;
}
.text > h3 {
	margin-top: 20px;
	margin-bottom: 10px;
}
.text p,
.text li {
	margin-bottom: 10px;
}
.text a {
	text-decoration: underline;
	color: var(--c-accent);
}
@media (max-width: 990px) {
	.text > h1 {
		font-size: 30px;
		margin-bottom: 20px;
	}
}

.about-banner {
  min-height: 494px;
  background: url('../assets/about-bg.jpg') 100% 0 no-repeat;
  background-size: cover;
  padding: 38px 0;
}
.about-banner .cont {
  margin: 0px auto;
  width: 1150px;
}
.about-banner__text {
  max-width: 600px;
}
.about-banner__title {
  text-align: center;
  font-size: 16px;
  line-height: 18px;
  color: #000000;
  margin-bottom: 31px;
}
.about-banner__scroll {
  max-height: 340px;
  overflow-y: auto;
  padding-right: 30px;
}
.about-banner__text p{
  margin-bottom: 30px;
  font-size: 16px;
  line-height: 19px;
}
.about-banner__text p:last-child{
  margin-bottom: 0;
}
.about-banner__scroll{
	scrollbar-color: #595957 #F4F3F9;     /* «цвет ползунка» «цвет полосы скроллбара» */
}
.about-banner__scroll::-webkit-scrollbar{
	width: 5px;
	background: #F4F3F9;
	border-radius: 10px;
}
.about-banner__scroll::-webkit-scrollbar-thumb{
	background: #595957;
	border-radius: 10px;
	width: 5px;
}
.about-banner__scroll::-webkit-scrollbar-track{
	background: #F4F3F9;
	border-radius: 10px;
}

.about-features{
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  align-content: flex-start;
  flex-wrap: wrap;
  max-width: 1040px;
  margin: 0 auto;
}
.about-features .item{
  width: 50%;
  padding: 0 15px 40px;
}
.about-features .item:nth-child(even){
  border-left: 3px solid #C4C4C4;
}
.about-features .item:nth-child(n+3){
  border-top: 4px solid #C4C4C4;
}
.about-features .item .thumb{
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  height: 128px;
  margin-bottom: 6px;
}
.about-features .item .thumb img{
  display: block;
  max-width: 100%;
  max-height: 100%;
}
.about-features .item .info{
  text-align: center;
  font-size: 20px;
  line-height: 23px;
}
.about-features .item .info p{
  font-size: 20px;
  line-height: 23px;
}
.about-features .item .info p+p{
  margin-top: 15px;
}

.about-text{
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  align-content: flex-start;
  flex-wrap: wrap;
  max-width: 1040px;
  margin: 0 auto;
  padding-bottom: 50px;
}
.about-text .item{
  width: 50%;
  margin-top: 60px;
  padding-right: 53px;
  padding-left: 30px;
}
.about-text .item:nth-child(even){
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  align-content: stretch;
  flex-direction: column;
}
.about-text .item .img img{
  display: block;
  max-width: 100%;
  max-height: 100%;
}
.about-text .item .text{
  margin-top: 60px;
  font-size: 19px;
  line-height: 22px;
  padding-left: 33px;
}
.about-text .item:nth-child(even) .text{
  order: -1;
  margin-top: 0;
  margin-bottom: 60px;
  padding-left: 0;
  padding-right: 33px;
}


.garantee{}
.garantee .cont{
  display: block;
  margin: 0 auto;
  width: 100%;
  max-width: 1090px;
  padding: 0 15px;
}
.garantee .title{
  font-weight: 500;
  font-size: 20px;
  line-height: 23px;
  color: #000000;
  margin-bottom: 22px;
  text-align: center;
  position: relative;
  z-index: 10;
  font-family: var(--font_family);
}
.garantee .text_block{
  font-size: 18px;
  line-height: 21px;
  text-align: justify;
  position: relative;
  margin: 0 auto;
  color: #261F1F;
  max-width: 833px;
}
.garantee .text_block .box{
  display: block;
  border: none;
  padding: 0;
  max-width: 634px;
}
.garantee .text_block .bg_img{
  position: absolute;
  top: -35px;
  left: 638px;
  width: 421px;
}
.garantee .text_block .bg_img img{
  display: block;
  max-width: 100%;
}
.garantee .text_block a{
  color: #EE6D35;
  transition: .2s linear;
  border-bottom: 1px solid transparent;
}
.garantee .text_block a:hover{
  border-color: currentColor;
}
.garantee .text_block p{
  font-size: 18px;
  line-height: 21px;
  position: relative;
}
.garantee .text_block p,
.garantee .text_block ul{
  margin-bottom: 21px;
}
.garantee .text_block ul li{
  font-size: 18px;
  line-height: 21px;
  list-style: none;
  text-decoration: underline;
  color: #261F1F;
}
.garantee .slider{
  margin-left: -44px;
  margin-right: -44px;
  margin-top: 76px;
  position: relative;
}
.garantee .slider .owl-buttons .owl-prev,
.garantee .slider .owl-buttons .owl-next{
  text-indent: -9999px;
  width: 51px;
  height: 64px;
  position: absolute;
  top: 50%;
  margin-top: -32px;
  cursor: pointer;
}
.garantee .slider .owl-buttons .owl-prev{
  left: -100px;
}
.garantee .slider .owl-buttons .owl-next{
  right: -100px;
}
.garantee .slider .owl-buttons .owl-prev:before,
.garantee .slider .owl-buttons .owl-next:before{
  content: '';
  width: 100%;
  height: 100%;
  background: url('../images/ic_arrow.png') 50% 50% no-repeat;
  position: absolute;
  left: 0;
  top: 0;
}
.garantee .slider .owl-buttons .owl-next:before{
  transform: rotate(180deg);
}
.garantee .slider .owl-item{
  padding: 0 44px;
}
.garantee .slider .slide{
  display: block;
  width: 100%;
  position: relative;
  padding-bottom: 141%;
}
.garantee .slider .slide img{
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.calculator{
  margin-top: 75px;
  margin-bottom: 90px;
}
.calculator .cont{
  width: 100%;
  max-width: 790px;
  margin: 0 auto;
  padding: 0 15px;
}
.calculator .title{
  font-size: 20px;
  line-height: 23px;
  color: #EE6D35;
  text-align: center;
  font-family: var(--font_family);
  margin-bottom: 20px;
}
.calculator .title a{
  color: #EE6D35;
  text-decoration: none;
  border-bottom: 1px solid;
  transition: .2s linear;
}
.calculator .title a:hover{
  border-color: transparent;
}
.calculator .label{
  font-weight: 500;
  font-size: 16px;
  color: #000000;
  margin-bottom: 10px;
  font-family: var(--font_family);
}
.calculator .line_form{
  margin-bottom: 12px;
  font-family: var(--font_family);
}
.calculator .input{
  height: 39px;
  border-radius: 5px;
  border: 1px solid #000000;
  padding: 0 9px;
  font-family: var(--font_family);
  font-size: 16px;
}
.calculator .input:focus{
  outline: none;
}

.calculator .input::-webkit-input-placeholder{
	color: #706C6C;
}

.calculator .input:-moz-placeholder{
	color: #706C6C;
}

.calculator .input:-ms-input-placeholder{
	color: #706C6C;
}

.checkbox {
	display: flex;
}
.checkbox > input {
	width:0;
	height: 0;
}
.checkbox > label {
	--checkbox-color: var(--c-surface);
	--checkbox-border: #C8C8C8;
	display: flex;
	align-items: center;
	gap: 10px;
	cursor: pointer;
	font-size: 16px;
}
.checkbox > label > svg > path {
	opacity: 0;
	transition: opacity 0.3s ease;
}
.checkbox > label > svg > rect {
	transition: fill 0.3s ease, stroke 0.3s ease;
}

.checkbox > input:checked + label {
	--checkbox-color: var(--c-accent);
	--checkbox-border: var(--c-accent);
}
.checkbox > input:checked + label > svg > path {
	opacity: 1;
}

.checkbox a {
	color: var(--c-accent);
}

/* Breadcrumbs */
.breadcrumbs {
  padding: 20px 0;
  border-bottom: 1px solid var(--c-border);
}
.breadcrumbs__nav {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  flex-wrap: wrap;
}
.breadcrumbs__nav a {
  color: var(--c-muted);
  transition: color 0.2s;
}
.breadcrumbs__nav a:hover {
  color: var(--c-accent);
}
.breadcrumbs__nav span:last-child {
  color: var(--c-text);
}

.accent {
	color: var(--c-accent);
}
.muted {
	color: var(--c-muted2);
}

.amount {
	display: flex;
	gap: 10px;
	align-items: center;
}
.amount > input {
	background: none;
	border: none;
	flex-grow: 1;
	outline: none;
	font-weight: 500;
	font-size: 18px;
	line-height: 120%;
	width: 50px;
	text-align: center;
}
.amount > button {
	height: 22px;
	width: 22px;
}
.in_cart > span {
	display: flex;
	align-items: center;
	gap: 10px;
}

.comments {
	font-size: 16px;
}
.comments__list-item {
	border-bottom: 1px solid var(--c-border);
	padding: 20px 0;
}
.comment_header {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 15px;
}
.comment_header strong {
	font-weight: 700;
	font-size: 17px;
	line-height: 120%;
}
.comment_header time {
	font-size: 14px;
	line-height: 120%;
	color: var(--c-muted);
}
.comment_rating {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-left: auto;
}
.star_empty {
	opacity: 0.2;
}

.comments__summary {
	border-radius: 20px;
	border: 1px solid var(--c-border);
	margin-bottom: 40px;
	margin-top: 20px;
}
.comments__summary_top {
	padding: 30px;
	border-bottom: 1px solid var(--c-border);
	display: flex;
	align-items: flex-end;
	gap: 15px;
}
.comments__summary_mark {
	font-weight: 700;
	font-size: 17px;
	line-height: 110%;
}
.comments__summary_mark > strong {
	font-size: 35px;
}
.comments__summary_total {
	color: var(--c-muted);
	font-family: Onest;
	font-size: 15px;
	line-height: 120%;
}
.comments__summary_rating {
	margin-left: auto;
	display: flex;
	gap: 5px;
}
.comments__summary_bottom {
	padding: 30px;
}
.comments__summary_bottom > .btn {
	border-radius: 15px;
}

.comment_product {
	display: flex;
	gap: 10px;
}
.comment_product > img {
	max-width: 80px;
	max-height: 80px;
}
.comment_product_name {
	flex-grow: 1;
}
.comment_product_name > strong {
	margin-top: 10px;
	font-size: 18px;
	display: block;
}
.modal_form_line > label {
	margin-bottom: 5px;
	font-size: 18px;
	display: block;
}
.input_rating {
	display: inline-flex;
	flex-direction: row-reverse;
	gap: 10px;
}
.input_rating > input {
	display: none;
}
.input_rating > label {
	cursor: pointer;
	font-weight: 600;
	font-size: 16px;
}
.input_rating > label > svg {
	opacity: 0.2;
}
.input_rating > input:checked ~ label > svg {
	opacity: 1;
}

.h_main {
	font-size: 65px;
	font-weight: 700;
	margin-bottom: 15px;
}
@media (max-width: 990px) {
	.h_main {
		font-size: 30px;
	}
	.comments__summary_top,
	.comments__summary_bottom {
		padding: 20px;
	}
	.comments__summary_mark {
		font-size: 15px;
	}
	.comments__summary_mark > strong {
		font-size: 25px;
	}
	.comments__summary_total {
		font-size: 13px;
	}
	.comments__summary_rating > svg {
		width: 18px;
		height: 18px;
	}
}

#cart_alert {
	display: none;
	z-index: 500;
	position: relative;
}
.cart_alert {
	position: fixed;
	top: 20px;
	right: 20px;
	background-color: var(--c-bg);
	padding: 20px;
	border-radius: 30px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	width: 400px;
	max-width: calc(100vw - 40px);
}
.cart_alert_close {
	position: absolute;
	top: 20px;
	right: 20px;
	cursor: pointer;
	border: none;
	background: none;
	outline: none;
}
.cart_alert > label {
	font-weight: 700;
	font-size: 20px;
	line-height: 110%;
}
.cart_alert_main {
	display: flex;
	gap: 10px;
}
.cart_alert_main > a {
	flex-shrink: 0;
}
.cart_alert_main_right {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.cart_alert_main_right > a {
	font-weight: 500;
	font-size: 19px;
	line-height: 120%;
	max-height: 2.4em;
	overflow: hidden;
	text-overflow: ellipsis;
}
.cart_alert_main_right > strong {
	font-weight: 700;
	font-size: 22px;
	line-height: 120%;
}


.autocomplete-wrapper {
  position: absolute;
  border: 1px solid #a9a9a9;
  display: none;
  z-index: 1000;
  background: #fff;
}
.autocomplete-wrapper__item {
  padding: 5px 10px;
  cursor: pointer;
}
.autocomplete-wrapper__item:hover{
  background: #e8e8e8;
}

.toggle_input {
	display: none;
}
.toggle_input + label {
	width: 54px;
	height: 24px;
	position: relative;
	transition: background-color 0.5s ease;
	border-radius: 20px;
	background-color: #C8C8C8;
	cursor: pointer;
}
.toggle_input + label > span {
	position: absolute;
	width: 31px;
	height: 20px;
	top: 2px;
	left: 2px;
	border-radius: 20px;
	background-color: var(--c-white);
	transition: left 0.5s ease;
}
.toggle_input:checked + label {
	background-color: var(--c-accent);
}
.toggle_input:checked + label > span {
	left: 21px;
}


.recipient__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

.recipient__grid + .recipient__title {
  margin-top: 40px;
}

.recipient__field {
	display: flex;
	flex-direction: column;
	gap: 8px;
	position: relative;
}

.recipient__field--full {
	grid-column: 1 / -1;
}

.recipient__label {
	font-size: 11px;
	color: var(--c-muted);
	position: absolute;
	top: 12px;
	left: 20px;
	transition: top 0.5s ease, font-size 0.5s ease;
}
.recipient__field > input:placeholder-shown + .recipient__label,
.recipient__field > textarea:placeholder-shown + .recipient__label {
	font-size: 18px;
	top: 15px;
}

.recipient__input {
  height: 62px;
  padding: 15px 20px 0 20px;
  border: 1px solid var(--c-border);
  border-radius: var(--r-pill);
  font-family: inherit;
  font-size: 15px;
  outline: none;
  transition: border-color 0.2s;
  background-color: var(--c-surface);
}
textarea.recipient__input {
	height: 170px;
	resize: none;
	padding-top: 25px;
}

.recipient__input:focus {
  border-color: var(--c-accent);
}

.recipient__select {
  height: 52px;
  padding: 0 20px;
  border: 1px solid var(--c-border);
  border-radius: var(--r-pill);
  font-family: inherit;
  font-size: 15px;
  outline: none;
  cursor: pointer;
  background: var(--c-white);
  transition: border-color 0.2s;
}


.recipient__title {
  font-size: 38px;
  font-weight: 700;
  margin-bottom: 30px;
}

/* Responsive */
@media (max-width: 1180px) {
  .recipient__title {
    font-size: 32px;
  }
}

@media (max-width: 560px) {
  .recipient__grid {
    grid-template-columns: 1fr;
  }

  .recipient__field--full {
    grid-column: 1;
  }
  .recipient__title {
    font-size: 28px;
  }
}


.category-header {
	padding: 250px 0 50px;
	background: linear-gradient(90deg, #f98a2e 0%, #ff5217 100%);
	color: var(--c-white);
	border-bottom-right-radius: 50px;
	border-bottom-left-radius: 50px;
	margin-bottom: 40px;
}

.category-header__inner {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
@media (max-width: 990px) {
	.category-header {
		padding-top: 100px;
	}
}

.contacts-form {
  max-width: 600px;
  margin: 50px auto 0 auto;
}
.submit {
  margin: 20px 0;
}




.program-name{
  font-family: Roboto;
  margin-top: 20px;
  font-size: 18px;
  color: #000000;
  text-align: center;
}
.program-banner{
  font-family: Roboto;
  padding: 140px 0px 130px;
  background: url(../assets/program-baner.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
.program-banner__text{
  width: 535px;
  font-weight: 300;
  font-size: 25px;
  line-height: 29px;
  text-align: center;
}
.program{
 position: relative;
}
.program::before{
  content: '';
  width: 100%;
  border-top: 2px solid #C4C4C4;
  position:  absolute;
  top: 65px;
  left: 0;
}
.program-item-wrapper{
  padding: 20px 0px 90px;
  font-family: Roboto;
  display: flex;
  justify-content: space-between;
}
.program-item__name{
  text-transform: uppercase;
  font-weight: 300;
  font-size: 25px;
  color: #565454;
  text-align: center;
}
.program-item{
  padding-bottom: 200px;
  width: 50%;
  text-align: center;
  position: relative;
}
.program .program-item:nth-child(1)::before{
 content: '';
 height: calc(100% - 45px);
 border-right: 2px solid #C4C4C4;
 position:  absolute;
 top: 45px;
 right: 0;
}
.program .program-item:nth-child(1) .program-content{
  width: 445px;
}
.program .program-item:nth-child(2) .program-content{
  width: 480px;
}
.program-content{
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
.program-content > img {
	margin: 0 auto;
}
.program-content p{
  margin-top: 30px;
}
.program-title{
  font-style: italic;
  font-weight: bold;
  font-size: 20px;
  line-height: 23px;
  color: #5E5C5C;
}
.program-discount{
  font-style: italic;
  font-weight: 300;
  line-height: 29px;
  font-size: 25px;
}
.orange{
  color: #F9670B;
}
.program-text{
  font-weight: 300;
  font-size: 20px;
  line-height: 23px;
}
.program-text .program-text-light{
  display: block;
}
.program-text strong{
  font-weight: 400;
}
.program-text-light{
  font-weight: 100;
  font-size: 18px;
  line-height: 21px;
  text-align: center;
}
.program-number{
  display: block;
  font-style: italic;
  font-weight: 300;
  font-size: 25px;
  line-height: 29px;
  margin: 0;
}


/* Pagination */
.pagination {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 40px 0;
}
.pagination__btn,
.pagination__page,
.pagination__page_wide {
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 10px;
	font-size: 13px;
	line-height: 120%;
	height: 44px;
}
.pagination__btn,
.pagination__page {
	width: 44px;
}
.pagination__btn--disabled {
	opacity: 0.3;
	cursor: not-allowed;
}
.pagination__page--active {
	background: rgba(255, 82, 23, 0.2);
	color: var(--c-accent);
}
.pagination__dots {
	padding: 0 8px;
	color: var(--c-muted);
}


.text ul, .text ol {
	all: revert;
}


.accordion {
  width: 832px;
  margin: 0 auto;
  overflow: hidden;
  border-bottom: 1px solid #e3e3e3;
}

.accordion_last {
  margin-bottom: 40px;
}

.accordion__title {
  font-size: 18px;
  color: #000000;
  line-height: 20px;
  text-transform: uppercase;
  margin: 15px 0;
  position: relative;
  padding-right: 160px;
  cursor: pointer;
}

.accordion__title:before {
  content: '';
  background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAAMCAYAAACA0IaCAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjIzNjdFOUE3RDI2MTExRTVCODg3RThEQ0IzQjlGNjQ2IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjIzNjdFOUE4RDI2MTExRTVCODg3RThEQ0IzQjlGNjQ2Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MjM2N0U5QTVEMjYxMTFFNUI4ODdFOERDQjNCOUY2NDYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MjM2N0U5QTZEMjYxMTFFNUI4ODdFOERDQjNCOUY2NDYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6zxc8SAAAAjklEQVR42mJkYGDIA+IJQPwbiP8xkA6YgJgViAtBHHYgXgHE/ynAK6DmgIEUEJ8j06BzUP0owByI35BoEEi9BS7/J5JoWCKhAO0n0qB+YmKHF4i3ETBoG1QdUUAViG/jMOgOEKuRmn58gfgbmkHfoOJkgXI0w8oZKADMQDwPatB8KJ8ioAjEfVAaLwAIMAC2HGGHk5pxFQAAAABJRU5ErkJggg==');
  position: absolute;
  background-position: 0px 0px;
  background-repeat: no-repeat;
  right: 0px;
  width: 19px;
  height: 12px;
  top: 5px;
  transform: rotate(-90deg);
  transition: ease-in-out 0.5s transform;
}

.accordion__title_open:before {
  transform: rotate(0);
}

.accordion__more {
  text-transform: none;
  position: absolute;
  right: 51px;
  top: -34px;
  color: #ff6419;
  font-size: 14px;
  text-decoration: underline;
}

.accordion__body {
  line-height: 18px;
  position: relative;
  font-size: 14px;
  padding-bottom: 20px;
  display: none;
  overflow: visible!important;
}

.accordion__body a {
  color: #ff6419;
}

.accordion__body input {
  width: 256px;
}

.box {
  display: none;
  border: 1px solid #000;
  padding: 15px;
}

.delivery-image {
  background: url(../assets/delivery.jpg) no-repeat;
  width: 435px;
  height: 193px;
  margin: 20px auto 60px;
  display: block;
}

.reserved_label {
	display: flex;
	align-items: center;
	gap: 10px;
	position: relative;
}
.reserved_label > label {
	font-weight: 500;
	font-size: 18px;
	line-height: 120%;
	cursor: pointer;
	color: var(--c-accent);
}
.tooltip {
	position: absolute;
	width: 250px;
	box-shadow: 0px 0px 25px 0px rgba(21, 21, 21, 0.1);
	background-color: var(--c-bg);
	border-radius: 10px;
	padding: 15px 17px;
	font-size: 15px;
	line-height: 120%;
	display: none;
	z-index: 10;
	bottom: calc(100% + 15px);
	left: calc(50% - 125px);
}
.tooltip_toggle.active > .tooltip,
.tooltip_toggle:hover > .tooltip {
	display: block;
}
.tooltip::after {
	content: "";
	width: 10px;
	height: 10px;
	background-image: url('../assets/tooltip_arrow.svg');
	background-size: cover;
	position: absolute;
	left: calc(50% - 5px);
	bottom: -8px;
	display: block;
}
.unavailable {
	font-weight: 500;
	font-size: 18px;
	line-height: 120%;
	color: var(--c-accent);
}

@media (min-width: 760px) {
	#main_offers .owl-item:not(.center) {
		opacity: 0.4;
	}
}
.socials {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.social > svg:last-child {
	display: none;
}
.social:hover > svg:last-child {
	display: inline-block;
}
.social:hover > svg:first-child {
	display: none;
}

.main-overlay {
  display: none;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(255,255,255,0.75);
  z-index: 9999;
}

.btn-icon {
  display: flex;
  align-items: center;
  gap: 7px;
}

textarea::placeholder {
	font-family: var(--font);
}


.page_main {
	flex-direction: column;
	display: flex;
	gap: 30px;
}
.page_menu {
	display: flex;
	flex-direction: column;
}
.page_menu > a {
	font-size: 16px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	line-height: 120%;
	padding-top: 10px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--c-border);
	color: var(--c-text);
	text-decoration: none;
}

@media (max-width: 991px) {
	.reserved_label > label {
		font-size: 12px;
	}
	.page_menu > a::after {
		content: "";
		width: 20px;
		height: 20px;
		background-image: url('../assets/arrow_right.svg');
		background-repeat: no-repeat;
		background-size: contain;
		background-position: center;
	}
}

@media (min-width: 991px) {
	.page_main {
		flex-direction: row;
	}
	.page_menu {
		width: 340px;
		gap: 5px;
		flex-shrink: 0;
	}
	.page_menu > a {
		border-radius: 20px;
		padding-top: 15px;
		padding-right: 20px;
		padding-bottom: 15px;
		padding-left: 20px;
		transition: background-color 0.5s ease;
		font-size: 19px;
		border: none;
	}
	.page_menu > a:hover,
	.page_menu > a.active {
		background-color: var(--c-surface);
	}
}

.garantee .slider {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 30px;
}



.b-scroll-button {
	box-shadow: 0px 0px 35px 0px #3A0D000D;
	background-color: var(--c-accent);
	width: 55px;
	height: 55px;
	padding: 10px;
	border-radius: 56px;

	z-index: 2600;
	position: fixed;
	left: 58px;
	bottom: 40px;
	display: none;
	filter: alpha(opacity=0);
	cursor:pointer;
}