body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}
.elementor-g-recaptcha {
    display: none;
}
.site-content {
    flex: 1 0 auto;
}

.elementor-location-footer {
    flex-shrink: 0;
}

.elementor-location-single:has(.full-height-section) {
    flex: 1 0 auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

main:has(.full-height-section) {
    flex: 1 0 auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

ul {
    padding-inline-start: 20px;
}

.red-color {
	color: var(--e-global-color-text);
}

a.red-color:hover {
	color: var(--e-global-color-secondary);
}

.body-small,
.body-small .elementor-shortcode {
	font-size: var(--e-global-typography-913482d-font-size);
	font-weight: var(--e-global-typography-913482d-font-weight);
	line-height: var(--e-global-typography-913482d-line-height);
	font-family: var(--e-global-typography-913482d-font-family);
}

.body-small .elementor-shortcode {
	color: var(--e-global-color-401d0ec);
}

.body-x-small {
	font-size: var(--e-global-typography-f05f7c7-font-size);
	font-weight: var(--e-global-typography-f05f7c7-font-weight);
	line-height: var(--e-global-typography-f05f7c7-line-height);
	font-family: var(--e-global-typography-f05f7c7-font-family);
}

.right-arrow a {
	flex-direction: row-reverse;
}

.catalog-flip-box-back {
  opacity: 0;
}

.catalog-flip-box-back {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  pointer-events: none;
}

.catalog-flip-box-front,
.catalog-flip-box-back {
  pointer-events: none;
}

.catalog-flip-box-front a,
.catalog-flip-box-back a {
  pointer-events: auto;
}


.smoller-on-scroll-btn a {
	width: 100% !important;
	transition: all .8s ease !important;
}

.smoller-on-scroll-btn:hover a {
	width: 190px !important;
}

/* ----- Стили формы ----- */

.custom-form input:hover {
	border-color: var(--e-global-color-401d0ec) !important;
}

.custom-form input:focus {
	border-color: var(--e-global-color-401d0ec) !important;
	background-color: var(--e-global-color-fb243c6) !important;
}

.custom-form input.elementor-field {
  color: var(--e-global-color-primary) !important;
}

label.elementor-field-label {
    position: absolute;
    top: 8px;
    left: 25px;
    transition: all .8s ease;
    visibility: hidden;
    opacity: 0;
}

.elementor-field-group.visible-label .elementor-field-label,
.elementor-field-group.focus-label .elementor-field-label {
  visibility: visible;
  opacity: 1;
}

.elementor-field-group.visible-label input,
.elementor-field-group.focus-label input {
	padding-bottom: 8px !important;
    padding-top: 28px !important;
}

.elementor-field-group.visible-label input {
	background-color: #ffffff !important;
}

.custom-form button {
	transition: all .8s ease;
	width: 100%;
}

.custom-form button:hover {
	width: 190px;
}

.elementor-field-type-acceptance {
	order: 1;
}

.elementor-field-group.elementor-column.elementor-field-type-submit.e-form__buttons {
    margin-bottom: 10px !important;
}

/* ----- Начало стилей чекбокса ----- */
.elementor-field-type-acceptance label.elementor-field-label.elementor-screen-only {
    display: none;
}

.elementor-field-type-acceptance input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.elementor-field-type-acceptance label {
  display: flex;
  align-items: center;
  cursor: pointer;
  position: relative;
  padding-left: 28px;
  line-height: 1.4;
}

.elementor-field-type-acceptance label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 11px;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  border-radius: 6px;
  border: 1.5px solid rgba(23, 23, 23, 0.4); /* #17171766 */
  background: #fff;
  transition: all 0.2s ease;
}

/* Hover */
.elementor-field-type-acceptance input[type="checkbox"]:hover + label::before {
  border-color: var(--e-global-color-text);
}

/* Checked */
.elementor-field-type-acceptance input[type="checkbox"]:checked + label::before {
  background: var(--e-global-color-text);
  border-color: var(--e-global-color-text);
}

/* Галочка */
.elementor-field-type-acceptance input[type="checkbox"]:checked + label::after {
  content: "";
  position: absolute;
  left: 8px;
  top: 10px;
  transform: translateY(-50%) rotate(45deg);
  width: 5px;
  height: 10px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
}
/* ----- Конец стилей чекбокса ----- */

.thank-you-block {
	transition: all .8s ease;
	opacity: 0;
	visibility: hidden;
}

.news-card-content a {
	row-gap: 12px;
}

.elementor-button-text {
	transition: all .8s ease;
}

.smaller-on-hover-link a:hover .elementor-button-text {
	font-size: var(--e-global-typography-d1ac46a-font-size);
	font-weight: var(--e-global-typography-d1ac46a-font-weight);
	line-height: var(--e-global-typography-d1ac46a-line-height);
	font-family: var(--e-global-typography-d1ac46a-font-family);
}

nav#breadcrumbs img {
	margin-bottom: -5px;
}

.share-buttons {
    display: flex;
    gap: 12px;
}

.share-buttons a {
  transition: opacity 0.8s ease;
	  width: 24px;
  height: 24px;
}

.share-buttons a:hover svg path.color-change {
	fill: var(--e-global-color-secondary);
}

.color-change {
  transition: fill 0.8s ease;
}

.share-copy-link-done {
  position: absolute;
	right: 0;
  width: 24px;
  height: 24px;
}

.thumb:has(img.active-thumb) {
	background-color: var(--e-global-color-cacf6d3);
}

button[aria-selected="true"] span.e-n-tab-title-text:after {
    position: absolute;
    content: "";
    width: 100%;
    height: 1px;
    border-top: 1px solid #C91C29;
    bottom: 0;
    transition: all .8s ease;
}

button[aria-selected="false"] span.e-n-tab-title-text:hover:after {
    position: absolute;
    content: "";
    width: 100%;
    height: 1px;
    border-top: 1px solid #C91C29;
    bottom: 0;
    transition: all .8s ease;
}

button.e-filter-item {
	position: relative;
}
button[aria-pressed="true"]:after {
    position: absolute;
    content: "";
    width: 100%;
    height: 1px;
    border-top: 1px solid #C91C29;
    bottom: 0;
    transition: all .8s ease;
}

button[aria-pressed="false"]:hover:after {
    position: absolute;
    content: "";
    width: 100%;
    height: 1px;
    border-top: 1px solid #C91C29;
    bottom: 0;
    transition: all .8s ease;
}

.product-preview-card:hover .product-preview-card_img {
	background-color: var(--e-global-color-text);
}

.product-preview-card .product-preview-card_title {
	min-height: 4.5rem;
}

.product-preview-card:hover .product-preview-card_title {
	color: var(--e-global-color-text) !important;
}

.elementor-941 .elementor-element.elementor-element-dd0dc80.e-con {
    height: 100%;
}

table.product-features td {
    padding: 8px 0 0 0;
    background-color: transparent !important;
    font-size: var(--e-global-typography-e0b74ef-font-size);
	font-family: "Onest", sans-serif;
    color: rgba(18, 19, 21, 0.7);
	border: none;
	position: relative;
}

table.product-features tr td:first-child:after {
    content: "";
	position: absolute;
	width: 100%;
	height: 1px;
	border-bottom: 1px solid rgba(237, 239, 243, 1);
	left: 0;
    bottom: 6px;
}

table.product-features tr td:first-child span {
    position: relative;
    padding-right: 16px;
    background: white;
    z-index: 10;
}

table.product-features span.has-left-padding {
    position: relative;
    padding-left: 16px;
    background: white;
    z-index: 10;
}

/* ---------- MOBILE MENU CSS ---------- */

.mobile-popup {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.25s ease;
  z-index: 9999 !important;
}

.mobile-popup.open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

body.no-scroll {
  overflow: hidden;
}

.mobile-popup .elementor-widget-n-menu .e-n-menu-heading {
    flex-direction: column;
}

.mob-menu-open,
.mob-menu-close {
  transition: opacity 0.8s ease, visibility 0.8s ease;
  -webkit-transition: opacity 0.8s ease, visibility 0.8s ease;
}

.mob-menu-open.hidden,
.mob-menu-close.hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.mob-menu-open.visible,
.mob-menu-close.visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
/* ----- END ------ */

#contact-form {
	scroll-margin-top: 100px;
}

.katalog-table th, .katalog-table td {
    padding: 0 !important;
    text-align: left;
    background-color: transparent !important;
    border: 0 !important;
}

.katalog-table tbody {
	display: flex;
    flex-direction: column;
    gap: 24px;
}

.katalog-table tr {
    display: flex;
    flex-direction: row;
    gap: 24px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--e-global-color-fb243c6);
}

.katalog-table tr:first-child {
	border-bottom: none;
}

.katalog-table tr:last-child {
	border-bottom: none;
}

.katalog-table .first-column {
    width: 50%;
}

.katalog-table .second-column {
    width: 30%;
}

.katalog-table .third-column {
    width: 20%;
}

.katalog-table .analog-table-header {
	font-family: var(--e-global-typography-e0b74ef-font-family), Sans-serif;
    font-size: var(--e-global-typography-e0b74ef-font-size);
    font-weight: var(--e-global-typography-e0b74ef-font-weight);
    line-height: var(--e-global-typography-e0b74ef-line-height);
    color: var(--e-global-color-401d0ec);
}

.katalog-table  img {
    width: 100%;
    max-width: 80px !important;
}

.katalog-table .ap-row {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    gap: 24px;
	font-family: var(--e-global-typography-f2cf6f0-font-family), Sans-serif;
    font-size: 18px;
    font-weight: var(--e-global-typography-f2cf6f0-font-weight);
    line-height: var(--e-global-typography-f2cf6f0-line-height);
    color: var(--e-global-color-primary);
}

.katalog-table .ap-row a {
	display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    gap: 6px;
    font-family: var(--e-global-typography-5248f14-font-family), Sans-serif;
    font-size: 18px;
    font-weight: var(--e-global-typography-5248f14-font-weight);
    line-height: var(--e-global-typography-5248f14-line-height);
	fill: var(--e-global-color-text);
    color: var(--e-global-color-text);
}

.katalog-table .ap-row a:hover {
	fill: var(--e-global-color-secondary);
    color: var(--e-global-color-secondary);
}

.preview-imgs-block {
    max-height: 330px;
    overflow-y: auto !important;
    padding-right: 10px !important;
    scrollbar-width: thin;
    scrollbar-color: var(--e-global-color-39a2b1b) transparent;
}

.page-numbers {
    padding: 8px 14px;
    border-radius: 12px;
    background-color: rgba(201, 28, 41, 0.2);
	transition: .8s all ease;
}

.page-numbers.current {
    background-color: #FFECE9;
}

.page-numbers:hover {
    background-color: #FFECE9;
	cursor: pointer;
}

@media (max-width: 1230px) {
	.preview-imgs-block {
		max-height: 400px;
	}
}

@media (max-width: 1024px) {
	.rotate-img {
		transform: rotate(45deg);
	}
	.katalog-table .ap-row {
		font-size: 16px;
	}
	.katalog-table .ap-row a {
		font-size: 16px;
	}
	.katalog-table  img {
		max-width: 70px !important;
	}
	.analog-block {
		overflow-x: scroll;
	}
}

@media (max-width: 768px) {
	.katalog-table .ap-row {
		font-size: 15px;
	}
	.katalog-table .ap-row a {
		font-size: 15px;
	}
	.katalog-table  img {
		max-width: 60px !important;
	}
	.katalog-table .first-column {
		width: 350px !important;
	}
	.katalog-table .second-column {
		width: 200px !important;
	}

	.katalog-table .third-column {
		width: 150px !important;
	}
	.product-preview-card .product-preview-card_title {
		min-height: 2.45rem;
	}
}

@media (max-width: 600px) {
	.preview-imgs-block {
		max-height: 280px;
	}
}

@media (max-width: 440px) {
	.katalog-table .ap-row {
		font-size: 13px;
	}
	.katalog-table .ap-row a {
		font-size: 13px;
	}
	.katalog-table  img {
		max-width: 50px !important;
	}
	.katalog-table .first-column {
		width: 300px !important;
	}
	.katalog-table .second-column {
		width: 150px !important;
	}

	.katalog-table .third-column {
		width: 100px !important;
	}
}