
/* =========================================================
   HOME SECTION SPACING
   ========================================================= */

:root {
    --home-section-space: 80px;
    --inner-section-space: 72px;
    --inner-block-space: 48px;
    --inner-heading-space: 40px;
}

@media (max-width: 991.98px) {
    :root {
        --home-section-space: 64px;
        --inner-section-space: 56px;
        --inner-block-space: 36px;
        --inner-heading-space: 32px;
    }
}

@media (max-width: 767.98px) {
    :root {
        --home-section-space: 48px;
        --inner-section-space: 48px;
        --inner-block-space: 32px;
        --inner-heading-space: 24px;
    }
}

/* =========================================================
   HOME REQUEST
   ========================================================= */

.footer-ribbon-section {
    position: relative;
    z-index: 1;
    height: 0;
}

.footer-ribbon-section .container {
    position: relative;
    height: 0;
}

.footer-ribbon-section .footer-ribbon {
    display: inline-block;
    position: relative;
    z-index: 1;
    margin: 0;
    padding: 10px 20px 6px;
    background: var(--primary);
    transform: translateY(-15px);
}

.footer-ribbon-section .footer-ribbon:before {
    position: absolute;
    top: 0;
    right: 100%;
    display: block;
    width: 7px;
    height: 0;
    border-top: 16px solid transparent;
    border-right: 10px solid var(--primary-300);
    content: "";
}

.footer-ribbon-section .footer-ribbon span {
    color: var(--light);
    font-size: 1.6em;
}

#footer {
    margin-top: 0;
}

.main--content-spaced {
    padding-bottom: 80px;
}

.main--content-spaced.main--inner-list-spaced {
    padding-bottom: var(--inner-section-space);
}

.main--content-spaced.main--inner-detail-spaced {
    padding-bottom: var(--inner-section-space);
}

.main:has(.cart-actions),
.main:has(.checkout-form) {
    padding-bottom: 40px;
}

@media (max-width: 767.98px) {
    .main--content-spaced {
        padding-bottom: 32px;
    }

    .main--content-spaced.main--inner-list-spaced {
        padding-bottom: var(--inner-section-space);
    }

    .main--content-spaced.main--inner-detail-spaced {
        padding-bottom: var(--inner-section-space);
    }

    .main:has(.cart-actions),
    .main:has(.checkout-form) {
        padding-bottom: 32px;
    }
}

/* =========================================================
   CHECKOUT
   ========================================================= */

.checkout-form { color: var(--dark); }

.checkout-auth-info { display: flex; gap: 14px; margin-bottom: 24px; padding: 18px 20px; border: 1px solid #d8d8d6; background: #f6f6f4; }
.checkout-auth-info__icon, .checkout-panel__icon, .checkout-summary__heading i { flex: 0 0 auto; color: var(--primary); line-height: 1; }
.checkout-auth-info__icon { padding-top: 2px; font-size: 18px; }
.checkout-auth-info__content { display: flex; min-width: 0; flex-direction: column; color: #626262; font-size: 14px; line-height: 1.5; }
.checkout-auth-info__content strong { color: var(--dark); font-size: 15px; }
.checkout-auth-info__actions { display: flex; flex-wrap: wrap; gap: 5px 8px; margin-top: 7px; font-weight: 600; }
.checkout-auth-info__actions a, .checkout-privacy a { color: var(--primary); text-decoration: none; }
.checkout-auth-info__actions a:hover, .checkout-auth-info__actions a:focus, .checkout-privacy a:hover, .checkout-privacy a:focus { color: #b80012; text-decoration: underline; }
.checkout-auth-info__note { margin-top: 5px; color: #777; }

.checkout-panel { margin: 0 0 22px; border: 1px solid #e1e1df; background: #fff; }
.checkout-panel__header { display: flex; align-items: center; gap: 11px; padding: 17px 22px; border-bottom: 1px solid #ebebe9; background: #f8f8f7; }
.checkout-panel__icon { font-size: 17px; }
.checkout-panel__title, .checkout-summary__heading h2 { margin: 0; color: var(--dark); font-size: 18px; font-weight: 600; line-height: 1.25; }
.checkout-panel__body { padding: 22px; }

.checkout-form .form-label { margin-bottom: 7px; color: #4f4f4d; font-size: 13px; font-weight: 600; }
.checkout-form .form-control, .checkout-form .form-select { min-height: 46px; border-color: #cfcfcd; border-radius: 0; box-shadow: none; }
.checkout-form textarea.form-control { min-height: 104px; resize: vertical; }
.checkout-form .form-control:focus, .checkout-form .form-select:focus { border-color: var(--primary); box-shadow: 0 0 0 .15rem rgba(207, 0, 18, .12); }
.checkout-form .form-control.error, .checkout-form .form-select.error, .checkout-form .form-check-input.error { border-color: #b42318; }

.checkout-form__subsection, .checkout-conditional { margin-top: 20px; }
.checkout-form__subsection--first { margin-top: 0; }
.checkout-form__subsection-title { margin: 0 0 13px; color: var(--dark); font-size: 15px; font-weight: 600; line-height: 1.3; }
.checkout-choices { display: grid; gap: 10px; }
.checkout-choice { display: flex; align-items: flex-start; gap: 10px; min-width: 0; margin: 0; padding: 13px 15px; border: 1px solid #e0e0de; background: #fff; transition: border-color .2s ease, background-color .2s ease; }
.checkout-choice .form-check-input { float: none; flex: 0 0 auto; margin: 3px 0 0; }
.checkout-choice__label { min-width: 0; color: var(--dark); cursor: pointer; line-height: 1.35; }
.checkout-choice__label strong { display: block; overflow-wrap: anywhere; font-size: 14px; font-weight: 600; }
.checkout-choice__description { display: block; margin-top: 5px; color: #737371; font-size: 13px; line-height: 1.45; }
.checkout-choice:has(.form-check-input:checked) { border-color: var(--primary); background: #fff7f7; }
.checkout-choice:has(.form-check-input:focus-visible) { outline: 2px solid rgba(207, 0, 18, .35); outline-offset: 2px; }

@media (hover: hover) and (pointer: fine) {
    .checkout-choice:hover { border-color: #b9b9b7; background: #fafaf9; }
    .checkout-choice:has(.form-check-input:checked):hover { border-color: var(--primary); background: #fff3f3; }
}

.checkout-pickup-info { padding: 14px 16px; border-left: 2px solid var(--primary); background: #f6f6f4; color: #4f4f4d; font-size: 14px; line-height: 1.5; }
.checkout-total { margin: 0 0 14px; padding-bottom: 14px; border-bottom: 1px solid #ebebe9; color: #5f5f5d; font-size: 15px; }
.checkout-total strong { display: block; margin-top: 5px; color: var(--dark); font-size: 24px; line-height: 1.1; }
.checkout-total__note, .checkout-total__delivery-note { display: block; margin-top: 7px; color: #777; font-size: 12px; line-height: 1.45; }
.checkout-total__delivery-note { margin: 0 0 15px; padding: 10px 12px; border-left: 2px solid #d8d8d6; background: #fafaf9; color: #686866; }
.checkout-privacy { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 8px; margin: 0 0 15px; padding-left: 0; color: #626262; font-size: 12px; line-height: 1.45; }
.checkout-privacy .form-check-input { float: none; flex: 0 0 auto; margin: 3px 0 0; }
.checkout-privacy .form-check-label { flex: 1 1 0; min-width: 0; }
.checkout-privacy .invalid-feedback { flex: 0 0 100%; width: 100%; margin-top: 0; color: #b42318; font-size: 12px; }
.checkout-submit { width: 100%; min-height: 48px; border-color: var(--primary); border-radius: 0; background: var(--primary); color: #fff; font-weight: 600; }
.checkout-submit:hover, .checkout-submit:focus, .checkout-submit:active, .checkout-submit.active { border-color: #b80012; background: #b80012; color: #fff; }
.checkout-submit:focus { box-shadow: 0 0 0 .2rem rgba(184, 0, 18, .24); }
.checkout-submit:disabled, .checkout-submit.disabled { border-color: #aaa; background: #aaa; color: #fff; box-shadow: none; opacity: .65; }

.checkout-summary { margin: 0 0 24px; }
.checkout-summary__card { border: 1px solid #d8d8d6; background: #f6f6f4; }
.checkout-summary__body { padding: 20px 22px; }
.checkout-summary__heading { display: flex; align-items: center; gap: 10px; padding-bottom: 14px; border-bottom: 1px solid #dededc; }
.checkout-summary__heading i { font-size: 17px; }
.checkout-summary__details { margin: 14px 0 0; color: #5f5f5d; font-size: 14px; line-height: 1.5; }
.checkout-summary__details strong { color: var(--dark); white-space: nowrap; }

@media (max-width: 767.98px) {
    .checkout-auth-info { gap: 11px; margin-bottom: 18px; padding: 16px; }
    .checkout-panel { margin-bottom: 18px; }
    .checkout-panel__header, .checkout-panel__body { padding-right: 16px; padding-left: 16px; }
    .checkout-panel__header { padding-top: 15px; padding-bottom: 15px; }
    .checkout-panel__body { padding-top: 18px; padding-bottom: 18px; }
    .checkout-choice { padding: 13px; }
    .checkout-summary__body { padding: 18px 16px; }
}

.home-request {
    padding: 74px 0 60px;
    background: #151515;
    color: #f4f4f2;
}

.home-request__row {
    --bs-gutter-x: 2rem;
    align-items: flex-start;
    row-gap: 40px;
}

.home-request__intro {
    padding-right: 16px;
}

.home-request__title {
    margin: 0;
    color: #fff;
    font-size: clamp(32px, 3vw, 42px);
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: -0.025em;
}

.home-request__text {
    max-width: 470px;
    margin: 20px 0 0;
    color: #bdbdb9;
    font-size: 16px;
    line-height: 1.6;
}

.home-request__contacts {
    display: flex;
    flex-wrap: wrap;
    gap: 9px 22px;
    margin-top: 30px;
}

.home-request__contacts a {
    color: #f4f4f2;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
}

.home-request__contacts a:hover,
.home-request__contacts a:focus {
    color: var(--primary);
}

.home-request__form {
    padding: 20px;
    background: #1d1d1d;
}

.home-request__form .row {
    --bs-gutter-y: 0;
}

.home-request__field {
    min-height: 50px;
    border: 1px solid #4b4b48;
    border-radius: 0;
    background: #242422;
    color: #fff;
    box-shadow: none;
}

.home-request__field::placeholder {
    color: rgba(255, 255, 255, 0.53);
    opacity: 1;
}

.home-request__field::-moz-placeholder {
    color: rgba(255, 255, 255, 0.53);
    opacity: 1;
}

.home-request__field:focus {
    border-color: var(--primary);
    background: #242422;
    color: #fff;
    box-shadow: none;
}

.home-request__textarea {
    min-height: 126px;
    resize: vertical;
}

.home-request__submit {
    min-width: 205px;
    padding: 12px 18px;
    border: 0;
    border-radius: 0;
    background: var(--primary);
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
}

.home-request__submit:hover,
.home-request__submit:active {
    background: #b80011;
    color: #fff;
}

.home-request__submit:focus {
    border-color: transparent;
    box-shadow: none;
}

.home-request__submit:focus-visible {
    box-shadow: 0 0 0 0.2rem rgba(226, 5, 20, 0.4);
}

.home-request__consent {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 3px;
    padding-left: 0;
}

.home-request__consent-input.form-check-input {
    flex: 0 0 auto;
    width: 1em;
    height: 1em;
    margin: 0.2em 0 0;
    position: relative;
    top: -1px;
    accent-color: var(--primary);
}

.home-request__consent-label {
    color: #d0d0cc;
    font-size: 13px;
    line-height: 1.45;
    cursor: pointer;
}

.home-request .request-form__field-error {
    min-height: 16px;
    margin-top: 0;
    color: #ffaaa7;
    font-size: 12px;
    line-height: 1.35;
}

.home-request .request-form__field-error .error {
    color: inherit;
}

.home-request .request-form__success {
    margin-top: 16px;
    padding: 12px 14px;
    border: 1px solid rgba(173, 211, 177, 0.45);
    background: rgba(73, 112, 78, 0.24);
    color: #d9f0dc;
    font-size: 13px;
    line-height: 1.4;
}

.home-request .home-request__field.error {
    border-color: #d9504d;
}

.home-request .home-request__consent-input.error {
    outline: 1px solid #d9504d;
    outline-offset: 2px;
}

.request-form__honeypot {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
}

/* =========================================================
   FOOTER MENU
   ========================================================= */

#footer .footer-menu {
    border-top: 1px solid rgba(255, 255, 255, 0.13);
    border-bottom: 1px solid rgba(255, 255, 255, 0.13);
}

#footer .footer-menu__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0 30px;
    margin: 0;
    padding: 16px 0;
    list-style: none;
}

#footer .footer-menu__list a {
    display: block;
    padding: 7px 0;
    color: #e8e8e4 !important;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
}

#footer .footer-menu__list a:hover,
#footer .footer-menu__list a:focus {
    color: var(--primary) !important;
}

#footer .footer-copyright .container {
    padding-top: 18px !important;
    padding-bottom: 16px !important;
}

#footer .footer-copyright__main {
    margin-bottom: 10px;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

#footer .footer-legal {
    --bs-gutter-x: 40px;
    align-items: flex-start;
    row-gap: 10px;
    padding-bottom: 0 !important;
}

#footer .footer-legal__item {
    color: #898985;
    font-size: 12px;
    line-height: 2;
}

#footer .footer-legal__item:first-child {
    max-width: 440px;
    text-align: left;
}

#footer .footer-legal__item:last-child {
    max-width: 640px;
    margin-left: auto;
    text-align: right;
}

#footer .footer-legal__item p {
    margin: 0;
    line-height: 2;
    color: inherit;
}

#footer .footer-legal__item a {
    color: #bdbdb8 !important;
}

#footer .footer-legal__item a:hover,
#footer .footer-legal__item a:focus {
    color: var(--primary) !important;
}

@media (max-width: 767.98px) {
    .home-request {
        padding: 42px 0 58px;
    }

    .home-request__intro {
        padding-right: 12px;
        padding-left: 12px;
    }

    .home-request__form {
        padding: 24px;
    }

    .home-request__submit {
        width: 100%;
        margin-top: 8px;
    }

    .home-request__attachment {
        white-space: normal;
    }

    #footer .footer-menu__list {
        justify-content: flex-start;
        gap: 0 24px;
        padding-right: 12px;
        padding-left: 12px;
    }

    #footer .footer-legal__item:first-child,
    #footer .footer-legal__item:last-child {
        width: 100%;
        max-width: none;
        margin-left: 0;
        text-align: left;
    }
}

.shop .quantity.quantity-sm {
    height: 32px;
}

.shop .quantity.quantity-sm .minus {
    height: 32px;
    width: 32px;
}

.shop .quantity.quantity-sm .plus {
    height: 32px;
    width: 32px;
}

.shop .quantity.quantity-sm .qty {
    height: 32px;
}

/* Верхнее меню */
#header .header-nav-top .nav-pills {
    display: flex;
    align-items: center;
    margin: 0;
}

/* Пункты меню */
#header .header-nav-top .nav-pills > li {
    display: flex;
    align-items: center;
    align-self: stretch;
}

/* Обычные ссылки, телефоны и служебные ссылки */
#header .header-nav-top .nav-pills > li > a.nav-link,
#header .header-nav-top .nav-pills > li > span {
    display: flex;
    align-items: center;
    height: 100%;
    color: #fff;
    background: transparent;
    line-height: 1;
}

/* Базовые стили ссылок */
#header .header-nav-top .nav-pills > li > a.nav-link {
    padding-top: 0;
    padding-bottom: 0;
    transition:
        color 0.45s cubic-bezier(0.4, 0, 0.2, 1),
        border-color 0.45s cubic-bezier(0.4, 0, 0.2, 1),
        opacity 0.45s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Убираем стандартный фон у активного пункта */
#header .header-nav-top .nav-pills > li.active > a.nav-link,
#header .header-nav-top .nav-pills > li > a.nav-link.active,
#header .header-nav-top .nav-pills .nav-link.active {
    color: #ed5c69;
    background: transparent !important;
}

/* Hover */
#header .header-nav-top .nav-pills > li > a.nav-link:hover {
    color: #ed5c69;
    background: transparent;
}

/* Focus / active */
#header .header-nav-top .nav-pills > li > a.nav-link:focus,
#header .header-nav-top .nav-pills > li > a.nav-link:active {
    background: transparent;
    box-shadow: none;
}

/* Иконки */
#header .header-nav-top .nav-pills > li > a.nav-link i,
#header .header-nav-top .nav-pills > li > span i {
    color: #e20514;
    margin-right: 6px;
    transition: color 0.45s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Служебные ссылки */
#header .header-nav-top .nav-link.header-action-link {
    margin-left: 12px;
    margin-right: 12px;
    padding-left: 0;
    padding-right: 0;
    white-space: nowrap;
    margin-top: 4px;
}

/* Пунктирное подчёркивание через внутренний span */
#header .header-nav-top .header-action-link > span {
    display: inline-block;
    padding-bottom: 2px;
    border-bottom: 1px dashed rgba(255, 255, 255, 0.75);
    line-height: 1;
    transition:
        color 0.45s cubic-bezier(0.4, 0, 0.2, 1),
        border-color 0.45s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Hover для служебных ссылок */
#header .header-nav-top .header-action-link:hover > span {
    color: #ed5c69;
    border-bottom-color: #ed5c69;
}

/* Mango Office injects button styles globally; keep its header trigger aligned with header action links. */
#header .header-nav-top .mango-callback {
    display: flex !important;
    align-items: center !important;
    height: 100% !important;
    margin: 0 !important;
    line-height: inherit !important;
}

#header .header-nav-top .mango-callback > .button-widget-open {
    display: flex !important;
    align-items: center !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: 100% !important;
    margin: 4px 12px 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #fff !important;
    font-family: inherit !important;
    font-size: 0.9em !important;
    font-weight: inherit !important;
    line-height: 1 !important;
    letter-spacing: -0.5px !important;
    text-decoration: none !important;
}

#header .header-nav-top .mango-callback > .button-widget-open:visited {
    color: #fff !important;
}

#header .header-nav-top .mango-callback > .button-widget-open > span {
    display: inline-block;
    padding-bottom: 2px;
    border-bottom: 1px dashed rgba(255, 255, 255, 0.75);
    line-height: 1;
    transition:
        color 0.45s cubic-bezier(0.4, 0, 0.2, 1),
        border-color 0.45s cubic-bezier(0.4, 0, 0.2, 1);
}

#header .header-nav-top .mango-callback > .button-widget-open:hover,
#header .header-nav-top .mango-callback > .button-widget-open:focus,
#header .header-nav-top .mango-callback > .button-widget-open:active {
    background: transparent !important;
    box-shadow: none !important;
    color: #ed5c69 !important;
    text-decoration: none !important;
}

#header .header-nav-top .mango-callback > .button-widget-open:hover > span,
#header .header-nav-top .mango-callback > .button-widget-open:focus > span,
#header .header-nav-top .mango-callback > .button-widget-open:active > span {
    color: #ed5c69;
    border-bottom-color: #ed5c69;
}

#header .header-nav-top .mango-callback > .button-widget-open:focus-visible {
    outline: 1px dotted rgba(255, 255, 255, 0.9);
    outline-offset: 3px;
}

/* Вертикальные разделители */
#header .header-nav-top .nav-item-left-border,
#header .header-nav-top .nav-item-right-border {
    display: flex;
    align-items: center;
    align-self: stretch;
}

#header .header-top {
	min-height: 58px;
}

/* =========================================================
   HOME — ЛИДЕРЫ ПРОДАЖ
   ========================================================= */

.home-products-carousel .product {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.home-products-carousel .product-thumb-info {
    width: 100%;
}

.home-products-carousel .product-thumb-info-image {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    height: 260px;

    overflow: hidden;
}

.home-products-carousel .product-thumb-info-image img {
    width: 100%;
    height: 100%;

    object-fit: contain;
}


/* Название товара */

.home-products-carousel .product h3 {
    min-height: 48px;
    font-size: 0.92rem;
    line-height: 1.35;
}

.home-products-carousel .product h3 a {
    display: -webkit-box;

    overflow: hidden;

    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}


/* Цена */
.home-products-carousel .price {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 10px;
}

.home-products-carousel .price .sale {
    order: 1;
    display: inline-block;
}

.home-products-carousel .price .amount {
    order: 2;
    float: none;
    margin: 0;

    color: #8a8f96;
    font-size: 0.73em;
    font-weight: 400;
    text-decoration: line-through;
}

.home-products-carousel .price .sale .price-unit {
    margin-left: 2px;
    font-size: 0.82em;
    font-weight: 400;
}

.home-products-carousel .price .sale-discount {
    color: #e20514;
}

/* Форма добавления в корзину */

.home-products-carousel .product-cart {
    display: flex;
    align-items: stretch;
    gap: 8px;

    width: 100%;
}

.home-products-carousel .product-quantity {
    flex: 0 0 58px;

    width: 58px;
    min-width: 58px;
}

.home-products-carousel .product-cart .btn {
    flex: 1;

    white-space: nowrap;
}


/* Стрелки карусели */

.home-products-carousel.owl-carousel.nav-outside .owl-nav .owl-prev {
    left: -28px;
}

.home-products-carousel.owl-carousel.nav-outside .owl-nav .owl-next {
    right: -28px;
}

/* =========================================================
   HOME — ПОДБОРКИ
   ========================================================= */

.home-products {
    padding: var(--home-section-space) 0;
}

.home-products__header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 30px;
}

.home-products__eyebrow {
    margin: 0 0 14px;

    color: var(--primary);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.08em;
    line-height: 1.2;
    text-transform: uppercase;
}

.home-products__title {
    margin: 0;

    color: var(--dark);
    font-size: clamp(34px, 3.5vw, 42px);
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: -0.025em;
}

.home-products__tabs {
    display: flex;
    flex-wrap: wrap;
}

.home-products__tab {
    padding: 0.55rem 0.9rem;

    color: #212529;
    border: 1px solid #d7d9dc;
    border-radius: 0;
    background: #fff;
    font: inherit;
    font-size: 0.875rem;
    line-height: 1.2;
    cursor: pointer;
    transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}

.home-products__tab + .home-products__tab {
    margin-left: -1px;
}

.home-products__tab:hover,
.home-products__tab:focus-visible {
    position: relative;
    z-index: 1;

    border-color: #212529;
    outline: 0;
}

.home-products__tab.is-active {
    position: relative;
    z-index: 2;

    color: #fff;
    border-color: #212529;
    background: #212529;
}

.home-products__footer {
    margin-top: 30px;
    text-align: left;
}

.home-products__cta {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.7rem 1rem;

    color: #fff;
    border: 1px solid #e20514;
    border-radius: 0;
    background: #e20514;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

a.home-products__cta:hover,
a.home-products__cta:focus-visible {
    color: #fff;
    border-color: #b60410;
    background: #b60410;
    text-decoration: none;
}

.home-products__cta:focus-visible {
    outline: 2px solid #212529;
    outline-offset: 2px;
}


/* Адаптив */

@media (max-width: 767.98px) {

    .home-products__header {
        align-items: flex-start;
        flex-direction: column;
    }

    .home-products-carousel .product-thumb-info-image {
        height: 230px;
    }

}

@media (max-width: 575.98px) {

    .home-products__tabs {
        width: 100%;
    }

    .home-products__tab {
        flex: 1 1 auto;
    }

    .home-products-carousel .product-thumb-info-image {
        height: 260px;
    }

}

@media (max-width: 991.98px) {
    .home-products-carousel.owl-carousel.nav-outside .owl-nav .owl-prev {
        left: 0;
    }

    .home-products-carousel.owl-carousel.nav-outside .owl-nav .owl-next {
        right: 0;
    }
}

/* =========================================================
   CATALOG — PRODUCT CARDS
   ========================================================= */

.catalog-product-card {
    display: flex;
    flex-direction: column;
    height: 100%;
}


/* Изображение */

.catalog-product-card .product-thumb-info {
    position: relative;

    background: transparent;
    overflow: visible;
}

.catalog-product-card .product-thumb-info-image {
    position: relative;

    display: block;

    width: 100%;

    overflow: hidden;
    background: transparent;
    box-shadow: none;
}

.catalog-product-card .product-thumb-info-image img {
    display: block;

    width: 100%;
    height: auto;

    object-fit: contain;
}

/* Square frame for the catalog fallback without affecting real product images. */
.catalog-product-card .catalog-product-no-image {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    aspect-ratio: 1 / 1;
}

.catalog-product-card .catalog-product-no-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* Keep the detail fallback in the same square frame as a gallery image. */
.product-gallery-no-image {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    aspect-ratio: 1 / 1;
}

.product-gallery-no-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}


/* Отключаем затемнение Porto при наведении */

.catalog-product-card .product-thumb-info-image:before {
    display: none;
}

.catalog-product-card:hover .product-thumb-info-image:before {
    opacity: 0;
}


/* Метки */

.catalog-product-card .product-thumb-info-badges-wrapper {
    position: absolute;
    top: 15px;
    left: 15px;
    z-index: 5;
}


/* Название */

.catalog-product-card h3 {
    min-height: 44px;

    font-size: 0.88rem;
    line-height: 1.35;
}

.catalog-product-card h3 a {
    display: -webkit-box;
    overflow: hidden;

    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}


/* Цена */

.catalog-product-card .catalog-product-price {
    display: grid;
    grid-template-rows: minmax(24px, auto) 16px;
    align-content: start;
    row-gap: 3px;
}

.catalog-product-card .catalog-product-price .sale {
    order: 0;
    display: block;
    white-space: nowrap;
}

.catalog-product-card .catalog-product-price .amount {
    order: 1;
    float: none;
    margin: 0;
    white-space: nowrap;

    color: #8a8f96;
    font-size: 0.73em;
    font-weight: 400;
    text-decoration: line-through;
}

.catalog-product-card .catalog-product-price .sale-discount {
    color: #e20514;
}

.catalog-product-card .catalog-product-price .price-unit {
    margin-left: 2px;

    font-size: 0.82em;
    font-weight: 400;
}


/* Корзина */

.catalog-product-card .product-cart {
    display: flex;
    align-items: stretch;
    gap: 8px;

    width: 100%;
}

.catalog-product-card .catalog-product-content {
    display: flex;
   /* flex: 1 1 auto; */
    flex-direction: column;
}

.catalog-product-card .catalog-product-content > .product-cart {
    margin-top: auto;
}

.catalog-product-card .product-quantity {
    flex: 0 0 58px;

    width: 58px;
    min-width: 58px;
}

.catalog-product-card .product-cart .btn {
    flex: 1;

    white-space: nowrap;
}


/* breadcrumb */
.page-header .breadcrumb > li {
    font-size: 0.84em;
    text-transform: none;
    font-weight: 500;
}

.page-header .breadcrumb > li.active {
    color: #212529;
}

.page-header .breadcrumb > li > a {
    color: #777;
    text-decoration: none;
    transition: none;
}

.page-header .breadcrumb > li > a:hover,
.page-header .breadcrumb > li > a:focus {
    color: #777;
    text-decoration: none;
}

.page-header .breadcrumb > li + li:before {
    color: #777;
}


#footer p, #footer a:not(.btn):not(.no-footer-css) {
    color: #777;
}

.category-content {
    padding-top: 30px;
}

/* catalog list */

#main .catalog-sections-list a:hover {
    color: var(--primary) !important;
}

#main .catalog-sections-more {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 0px;
}

#main .catalog-sections-more i {
    font-size: 12px;
}

#main .catalog-sections-more:hover {
    text-decoration: none !important;
}

#main .feature-box .feature-box-info {
    margin-bottom: 20px;
}

/* Category cards shared by materials and equipment catalogs. */
.catalog-category-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    color: #212529;
    background: #fff;
    border: 1px solid #dedede;
    border-radius: 2px;
    text-decoration: none;
    transition: border-color .2s ease;
}

a.catalog-category-card,
a.catalog-category-card:visited,
a.catalog-category-card:hover,
a.catalog-category-card:focus,
a.catalog-category-card:focus-visible,
a.catalog-category-card:active {
    text-decoration: none;
}

.catalog-category-card__image {
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #f7f7f7;
}

.catalog-category-card__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: filter .2s ease;
}

.catalog-category-card__image img[src*="category-default"],
.catalog-category-card__image img[src*="25-thumb"] {
    filter: grayscale(.2) opacity(.72);
}

.catalog-category-card__content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 14px;
    background: #fff;
}

.catalog-category-card__title {
    display: -webkit-box;
    overflow: hidden;
    margin: 0;
    color: #212529;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.25;
    text-decoration: none;
    transition: color .2s ease;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.catalog-category-card__count {
    margin-top: 6px;
    color: #777;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.35;
}

a.catalog-category-card:hover,
a.catalog-category-card:focus-within {
    border-color: rgba(226, 5, 20, .55);
    color: #212529;
}

.catalog-category-card:hover .catalog-category-card__title,
.catalog-category-card:focus-within .catalog-category-card__title {
    color: var(--primary);
}

.catalog-category-card:hover .catalog-category-card__image img,
.catalog-category-card:focus-within .catalog-category-card__image img {
    filter: brightness(.96);
}

.catalog-category-card:focus-visible {
    border-color: var(--primary);
    outline: 0;
}

@media (max-width: 575px) {
    .catalog-category-card__content { padding: 14px 16px; }
    .catalog-category-card__title { font-size: 18px; }
}


/* catalog sidebar */

.catalog-sidebar {
    padding-right: 28px;
    border-right: 1px dashed #d7d7d7;
}


/* Заголовок */

.catalog-sidebar__title {
    margin: 0;
    padding: 0 0 18px;
    border-bottom: 1px dashed #d7d7d7;
    font-size: 18px;
    line-height: 1.3;
}

.catalog-sidebar__title a {
    color: #111;
    text-decoration: none;
}

.catalog-sidebar__title a:hover {
    color: var(--primary, #e30613);
}


/* Списки */

.catalog-sidebar__menu,
.catalog-sidebar__submenu {
    margin: 0;
    padding: 0;
    list-style: none;
}

.catalog-sidebar .nav-item {
    margin: 0;
    padding: 0;
}


/* Ссылки */

.catalog-sidebar__link {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    width: 100%;
    padding: 14px 0 !important;
    border-bottom: 1px dashed #d7d7d7 !important;
    color: #111;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.3;
    text-decoration: none;
    background: transparent !important;
}

.catalog-sidebar__link:hover {
    color: var(--primary, #e30613);
    background: transparent !important;
}


/* Переопределение для последнего пункта списка */

.catalog-sidebar ul.nav-list li > a.catalog-sidebar__link,
.catalog-sidebar ul.nav-list li:last-child > a.catalog-sidebar__link {
    border-bottom: 1px dashed #d7d7d7 !important;
}


/* Стрелки */

.catalog-sidebar__arrow {
    flex: 0 0 auto;
    color: inherit;
    font-size: 11px;
}

.catalog-sidebar .nav-item::before,
.catalog-sidebar .catalog-sidebar__link::before {
    display: none !important;
    content: none !important;
}

/* Второй уровень */

.catalog-sidebar__submenu {
    padding-left: 30px;
}

.catalog-sidebar__submenu .catalog-sidebar__link {
    font-weight: 500;
}


/* Третий и последующие уровни */

.catalog-sidebar__submenu .catalog-sidebar__submenu {
    padding-left: 30px;
}

.catalog-sidebar__submenu
.catalog-sidebar__submenu
.catalog-sidebar__link {
    font-size: 15px;
    font-weight: 500;
}


/* Текущая категория */

.catalog-sidebar .nav-item.active > .catalog-sidebar__link {
    color: var(--primary, #e30613);
}


/* Родители активной категории */

.catalog-sidebar__parent--open > .catalog-sidebar__link {
    color: var(--primary, #e30613);
}


/* Убираем линию только у последнего пункта всего меню */

.catalog-sidebar__menu > li:last-child > .catalog-sidebar__link {
    border-bottom: 0 !important;
}


/* Адаптивность */

@media (max-width: 991px) {
    .catalog-sidebar {
        margin-bottom: 35px;
        padding-right: 0;
        border-right: 0;
    }
}

/* Карточки продукции в категории */
.product-cart {
    display: flex;
    align-items: stretch;
    flex-wrap: nowrap;
    gap: 8px;
    width: 100%;
    margin: 0;
}

.product-cart .product-quantity,
.product-hardener-result .product-quantity {
    flex: 0 0 55px;
    width: 55px;
    min-width: 55px;
    height: 44px;
    padding: 4px 2px 4px 8px;
    text-align: center;
    font-weight: 600;
    color: #e30613;

    appearance: auto !important;
    -webkit-appearance: auto !important;
}

.product-cart .btn {
    flex: 1 1 auto;
    min-width: 0;
    height: 44px;
    padding-right: 14px;
    padding-left: 14px;
    white-space: nowrap;
}

.product-cart .product-quantity::-webkit-inner-spin-button,
.product-cart .product-quantity::-webkit-outer-spin-button,
.product-hardener-result .product-quantity::-webkit-inner-spin-button,
.product-hardener-result .product-quantity::-webkit-outer-spin-button {
    -webkit-appearance: inner-spin-button !important;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto;
}

/* Отступы и разделители между строками товаров */
.category-products {
    --bs-gutter-y: 0;
}

.catalog-products--grid.category-products {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
}

.catalog-products--grid.category-products > [class*="col-"] {
    display: flex;
    flex: none;
    width: auto;
    max-width: none;
}

.catalog-products--grid.category-products > [class*="col-"] > .catalog-product-card {
    width: 100%;
}

@media (min-width: 576px) {
    .catalog-products--grid.category-products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 992px) {
    .catalog-products--grid.category-products:not(.equipment-products) {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .catalog-products--grid.category-products.equipment-products {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.category-products > [class*="col-"] {
    padding-bottom: 40px;
    margin-bottom: 40px;
    border-bottom: 1px solid #e8e8e8;
}

/* Последняя строка без разделителя — мобильные */
@media (max-width: 575.98px) {
    .category-products > [class*="col-"]:last-child {
        padding-bottom: 0;
        margin-bottom: 0;
        border-bottom: 0;
    }
}

/* Последняя строка без разделителя — по 2 товара */
@media (min-width: 576px) and (max-width: 991.98px) {
    .category-products > [class*="col-"]:nth-last-child(-n + 2) {
        padding-bottom: 0;
        margin-bottom: 0;
        border-bottom: 0;
    }
}

/* Панель сортировки и вида каталога */
.catalog-toolbar {
    border-color: #e5e5e5 !important;
    padding: 20px 0 !important;
    margin-bottom: 28px !important;
    justify-content: flex-start;
    flex-wrap: wrap;
}

.catalog-toolbar > .d-flex {
    gap: 8px !important;
}

.catalog-sort {
    width: 280px;
    max-width: 100%;
    min-height: 40px;
    padding-right: 2.5rem;
    padding-left: 14px;
    background-color: #fff;
    border: 1px solid #e3e5e8;
    border-radius: 5px;
    color: #343a40;
    font-size: 15px;
    cursor: pointer;
    transition: border-color 0.2s ease, background-color 0.2s ease;
}

.catalog-sort:hover {
    border-color: #cbd0d6;
}

.catalog-sort:focus {
    border-color: #cbd0d6;
    box-shadow: 0 0 0 0.15rem rgba(95, 99, 104, 0.08);
    outline: 0;
}

.catalog-sort:active {
    border-color: #cbd0d6;
    box-shadow: none;
}

.catalog-view-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 1px solid #e3e5e8;
    border-radius: 5px;
    background: #fff;
    color: #9aa0a6;
    font-size: 16px;
    line-height: 1;
    cursor: pointer;
    transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}

.catalog-view-button:hover {
    border-color: #cbd0d6;
    background: #f7f8f9;
    color: #5f6368;
}

.catalog-view-button.active {
    border-color: var(--primary);
    background: var(--primary);
    color: #fff;
}

@media (max-width: 575.98px) {
    .catalog-sort {
        width: 100%;
    }

    .catalog-toolbar > .d-flex {
        align-items: center;
    }
}

@media (min-width: 576px) and (max-width: 991.98px) {
    .catalog-sort {
        width: 250px;
    }
}

.catalog-pagination {
    margin-top: 52px !important;
    margin-bottom: 0;
}

.catalog-pagination .pagination,
.press-pagination .pagination {
    gap: 6px;
    flex-wrap: wrap;
}

.catalog-pagination .page-item,
.press-pagination .page-item {
    margin: 0;
}

.catalog-pagination .page-link,
.press-pagination .page-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    min-width: 40px;
    height: 40px;
    padding: 0;
    border: 1px solid #e3e5e8;
    border-radius: 4px;
    background: #fff;
    color: #5f6368;
    font-size: 15px;
    line-height: 1;
    text-decoration: none;
    transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}

.catalog-pagination .page-link:hover,
.catalog-pagination .page-link:active,
.press-pagination .page-link:hover,
.press-pagination .page-link:active {
    border-color: #cbd0d6;
    background: #f7f8f9;
    color: #343a40;
    text-decoration: none;
}

.catalog-pagination .page-link:visited,
.press-pagination .page-link:visited {
    color: #5f6368;
    text-decoration: none;
}

.catalog-pagination .page-link:focus,
.press-pagination .page-link:focus {
    border-color: #cbd0d6;
    box-shadow: 0 0 0 0.15rem rgba(95, 99, 104, 0.08);
    text-decoration: none;
}

.catalog-pagination .page-item.active .page-link,
.press-pagination .page-item.active .page-link {
    border-color: var(--primary);
    background: var(--primary);
    color: #fff;
}

.catalog-pagination .page-item.disabled .page-link,
.press-pagination .page-item.disabled .page-link {
    border-color: #edf0f2;
    background: #fff;
    color: #c4c9ce;
    cursor: default;
    pointer-events: none;
}

.catalog-pagination .page-link .fas,
.press-pagination .page-link .fas {
    font-size: 16px;
}

@media (max-width: 575.98px) {
    .catalog-pagination .pagination,
    .press-pagination .pagination {
        justify-content: center !important;
        gap: 4px;
    }

    .catalog-pagination .page-link,
    .press-pagination .page-link {
        width: 36px;
        min-width: 36px;
        height: 36px;
    }
}

.catalog-products--list > [class*="col-"] {
    width: 100%;
    padding: 24px 0;
    margin-bottom: 0;
    border-bottom: 0;
}

.catalog-products--list > [class*="col-"] + [class*="col-"] {
    border-top: 1px solid #e8e8e8;
    padding-top: 28px;
}

.catalog-products--list .catalog-product-card h3 {
    min-height: 0;
    margin-top: 0;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.3;
}

@media (min-width: 768px) {
    .catalog-products--list .catalog-product-card {
        display: grid;
        grid-template-columns: 230px minmax(0, 1fr);
        column-gap: 32px;
        align-items: start;
    }

    .catalog-products--list .catalog-product-card > .product-thumb-info {
        grid-column: 1;
        width: 230px;
        height: 230px;
        margin-bottom: 0 !important;
    }

    .catalog-products--list .catalog-product-card > .product-thumb-info > a {
        display: block;
        height: 100%;
    }

    .catalog-products--list .catalog-product-card > .product-thumb-info,
    .catalog-products--list .catalog-product-card > .product-thumb-info-image,
    .catalog-products--list .catalog-product-card > .product-thumb-info-image img {
        height: 100%;
    }

    .catalog-products--list .catalog-product-card > .product-thumb-info-image img {
        object-fit: contain;
    }

    .catalog-products--list .catalog-product-content {
        grid-column: 2;
        align-self: start;
        min-width: 0;
    }

    .catalog-products--list .catalog-product-content > .d-flex {
        margin-bottom: 12px;
    }

    .catalog-products--list .catalog-product-introtext {
        max-width: 760px;
        margin: 0 0 20px;
        color: #6c757d;
        font-size: 15px;
        line-height: 1.45;
    }

    .catalog-products--list .catalog-product-content > .catalog-product-price {
        margin-bottom: 17px !important;
    }

    .catalog-products--list .catalog-product-content > .product-cart {
        width: min(100%, 280px);
        align-items: stretch;
    }

    .catalog-products--list .catalog-product-content > .catalog-product-request-trigger {
        width: min(100%, 280px);
        max-width: 100%;
        min-height: 44px;
    }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
    .catalog-products--list .catalog-product-card {
        grid-template-columns: 210px minmax(0, 1fr);
        column-gap: 28px;
    }

    .catalog-products--list .catalog-product-card > .product-thumb-info {
        width: 210px;
        height: 210px;
    }
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .catalog-products--list .catalog-product-card {
        grid-template-columns: 180px minmax(0, 1fr);
        column-gap: 24px;
    }

    .catalog-products--list .catalog-product-card > .product-thumb-info {
        width: 180px;
        height: 180px;
    }
}

@media (max-width: 767.98px) {
    .catalog-products--list .catalog-product-card > .product-thumb-info {
        width: min(100%, 220px);
        margin-bottom: 1rem !important;
    }

    .catalog-products--list .catalog-product-introtext {
        margin: 0 0 20px;
        color: #6c757d;
        font-size: 15px;
        line-height: 1.45;
    }
}

.catalog-products--grid .catalog-product-introtext {
    display: none;
}

@media (min-width: 992px) {
    .catalog-products--grid.category-products:not(.equipment-products) > [class*="col-"]:nth-last-child(-n + 4),
    .catalog-products--grid.category-products.equipment-products > [class*="col-"]:nth-last-child(-n + 3) {
        padding-bottom: 0;
        margin-bottom: 0;
        border-bottom: 0;
    }
}

/* =========================================================
   CONTENT PROSE
   ========================================================= */

.press-article__content,
.about-section__text,
.training-section__text,
.training-detail__content,
.category-content,
.product-description,
.product-specifications,
.contacts-page__content {
    color: #40403e;
    font-size: 1rem;
    line-height: 1.65;
}

.press-article__content h2,
.about-section__text h2,
.training-section__text h2,
.training-detail__content h2,
.category-content h2,
.product-description h2,
.product-specifications h2,
.contacts-page__content h2 {
    margin: 52px 0 20px;
    color: #1f2326;
    font-size: 1.45rem;
    font-weight: 600;
    line-height: 1.25;
    text-transform: none;
}

.press-article__content h3,
.about-section__text h3,
.training-section__text h3,
.training-detail__content h3,
.category-content h3,
.product-description h3,
.product-specifications h3,
.contacts-page__content h3 {
    margin: 36px 0 16px;
    color: #1f2326;
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1.3;
    text-transform: none;
}

.press-article__content > :first-child,
.about-section__text > :first-child,
.training-section__text > :first-child,
.training-detail__content > :first-child,
.category-content > :first-child,
.product-description > :first-child,
.product-specifications > :first-child,
.contacts-page__content > :first-child {
    margin-top: 0;
}

.press-article__content p,
.about-section__text p,
.training-section__text p,
.training-detail__content p,
.category-content p,
.product-description p,
.product-specifications p,
.contacts-page__content p {
    margin-bottom: 1.15rem;
}

.press-article__content ul,
.press-article__content ol,
.about-section__text ul,
.about-section__text ol,
.training-section__text ul,
.training-section__text ol,
.training-detail__content ul,
.training-detail__content ol,
.category-content ul,
.category-content ol,
.product-description ul,
.product-description ol,
.product-specifications ul,
.product-specifications ol,
.contacts-page__content ul,
.contacts-page__content ol {
    margin: 0 0 1.2rem;
    padding-left: 1.35rem;
}

.press-article__content li,
.about-section__text li,
.training-section__text li,
.training-detail__content li,
.category-content li,
.product-description li,
.product-specifications li,
.contacts-page__content li {
    margin-bottom: .55rem;
}

.press-article__content ul li::marker,
.about-section__text ul li::marker,
.training-section__text ul li::marker,
.training-detail__content ul li::marker,
.category-content ul li::marker,
.product-description ul li::marker,
.product-specifications ul li::marker,
.contacts-page__content ul li::marker {
    color: var(--primary);
    font-size: .8em;
}

.press-article__content ol li::marker,
.about-section__text ol li::marker,
.training-section__text ol li::marker,
.training-detail__content ol li::marker,
.category-content ol li::marker,
.product-description ol li::marker,
.product-specifications ol li::marker,
.contacts-page__content ol li::marker {
    color: #4f4f4d;
    font-weight: 600;
}

.press-article__content li > ul,
.press-article__content li > ol,
.about-section__text li > ul,
.about-section__text li > ol,
.training-section__text li > ul,
.training-section__text li > ol,
.training-detail__content li > ul,
.training-detail__content li > ol,
.category-content li > ul,
.category-content li > ol,
.product-description li > ul,
.product-description li > ol,
.product-specifications li > ul,
.product-specifications li > ol,
.contacts-page__content li > ul,
.contacts-page__content li > ol {
    margin-top: .55rem;
    margin-bottom: 0;
}

.press-article__content li strong,
.about-section__text li strong,
.training-section__text li strong,
.training-detail__content li strong,
.category-content li strong,
.product-description li strong,
.product-specifications li strong,
.contacts-page__content li strong {
    font-weight: 600;
}

.press-article__content > :last-child:is(p, ul, ol),
.category-content > :last-child:is(p, ul, ol),
.product-description > :last-child:is(p, ul, ol),
.product-specifications > :last-child:is(p, ul, ol),
.contacts-page__content > :last-child:is(p, ul, ol) {
    margin-bottom: 0;
}

@media (max-width: 767.98px) {
    .press-article__content h2,
    .about-section__text h2,
    .training-section__text h2,
    .training-detail__content h2,
    .category-content h2,
    .product-description h2,
    .product-specifications h2,
    .contacts-page__content h2 {
        margin-top: 40px;
        margin-bottom: 18px;
        font-size: 1.35rem;
    }

    .press-article__content h3,
    .about-section__text h3,
    .training-section__text h3,
    .training-detail__content h3,
    .category-content h3,
    .product-description h3,
    .product-specifications h3,
    .contacts-page__content h3 {
        margin-top: 30px;
        margin-bottom: 14px;
        font-size: 1.15rem;
    }
}

/* Верхнее меню: промежуточная ширина 992–1199 px */
@media (min-width: 992px) and (max-width: 1199.98px) {

    /* Используем доступную ширину окна, а не стандартные 960 px */
    .header-container.container {
        max-width: 100%;
        padding-right: 20px;
        padding-left: 20px;
    }

    /* Запрещаем перенос элементов шапки и меню */
    .header-container .header-row,
    .header-container .header-column,
    .header-nav,
    .header-nav-main,
    .header-nav-main nav,
    .header-nav-main nav > ul {
        flex-wrap: nowrap;
    }

    .header-nav-main nav > ul > li {
        flex: 0 0 auto;
    }

    .header-nav-main nav > ul > li > a {
        padding-right: 10px;
        padding-left: 10px;
        font-size: 13px;
        white-space: nowrap;
    }

    /* Немного уменьшаем логотип */
    .header-logo img {
        width: 190px;
        height: auto;
    }
}

/* Карточка товара */
.product-detail-badges {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
}

.product-detail-badges .badge {
    padding: 10px 14px;
    font-size: 12px;
    text-transform: uppercase;
}

.product-detail-price {
    line-height: 1;
}

.product-detail-cart {
    max-width: 300px;
}

.product-price-request {
    margin-top: 18px;
}

.contacts-page {
    padding: 28px 0 56px;
}

.contacts-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0 28px;
    border-bottom: 1px solid #e4e4e4;
}

.contacts-tabs__link {
    position: relative;
    padding: 0 0 12px;
    color: var(--dark);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .03em;
    text-transform: uppercase;
    text-decoration: none;
}

.contacts-tabs__link:hover,
.contacts-tabs__link:focus,
.contacts-tabs__link:active {
    color: var(--primary);
    text-decoration: none;
}

.contacts-tabs__link.is-active {
    color: var(--primary);
}

.contacts-tabs__link.is-active::after {
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    height: 2px;
    background: var(--primary);
    content: "";
}

.contacts-page__main {
    margin-top: 42px;
    row-gap: 32px;
}

.contacts-page__content {
    color: #40403e;
    line-height: 1.65;
}

.contacts-details__list {
    display: grid;
    gap: 15px;
}

.contacts-details__item {
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr);
    column-gap: 11px;
    align-items: start;
}

.contacts-details__icon {
    width: 20px;
    margin-top: 3px;
    color: #777772;
    font-size: 17px;
    line-height: 1;
    text-align: center;
}

.contacts-details__value {
    min-width: 0;
    color: var(--dark);
    line-height: 1.6;
    overflow-wrap: anywhere;
}

.contacts-details__item a {
    color: var(--primary);
}

.contacts-details__note {
    color: var(--primary) !important;
    font-weight: 600;
    font-size: 13px;
    line-height: 2;
}

.contacts-details__item--note .contacts-details__icon {
    margin-top: 2px;
    font-size: 18px;
    line-height: 1.1;
}

.contacts-details__warehouse {
    margin-top: 24px;
    padding-top: 19px;
    border-top: 1px solid #e4e4e4;
}

.contacts-details__warehouse h2 {
    margin: 0 0 14px;
    color: var(--dark);
    font-size: 24px;
    font-weight: 600;
}

.contacts-request {
    padding: 22px 26px 26px;
    border: 1px solid #e4e4e4;
    background: #f8f8f6;
}

.contacts-request__intro {
    margin-bottom: 22px;
}

.contacts-request__title {
    margin: 0 0 8px;
    color: var(--dark);
}

.contacts-request__text {
    margin: 0;
    color: #666660;
}

.contacts-request .home-request__form {
    max-width: none;
    padding: 0;
    background: transparent;
}

.contacts-request .home-request__field {
    min-height: 46px;
    border-color: #c9c9c4;
    background: #fff;
    color: var(--dark);
}

.contacts-request .home-request__field::placeholder,
.contacts-request .home-request__field::-moz-placeholder {
    color: #767672;
}

.contacts-request .home-request__field:focus {
    border-color: var(--primary);
    background: #fff;
    color: var(--dark);
}

.contacts-request .home-request__textarea {
    min-height: 84px;
}

.contacts-request .home-request__consent {
    margin-top: 0;
}

.contacts-request .home-request__consent-label {
    color: #62625e;
}

.contacts-request .home-request__consent-input.form-check-input {
    top: -1px;
}

.contacts-request .home-request__submit {
    min-width: 0;
    margin-top: -2px;
    padding: 10px 16px;
    background: #212529;
}

.contacts-request .home-request__submit:hover,
.contacts-request .home-request__submit:active {
    background: var(--primary);
}

.contacts-request .request-form__field-error {
    min-height: 0;
    margin-top: 3px;
    margin-bottom: 7px;
    color: #c93430;
    font-size: 12px;
    line-height: 1.35;
}

.contacts-request .request-form__field-error .error {
    color: inherit;
}

.contacts-request .home-request__field.error {
    border-color: #d9504d;
}

.contacts-request .home-request__consent-input.error {
    outline: 1px solid #d9504d;
    outline-offset: 2px;
}

.contacts-request .request-form__success {
    margin-top: 16px;
    padding: 12px 14px;
    border: 1px solid #98b89c;
    background: #eef7ef;
    color: #245a2c;
    font-size: 14px;
    line-height: 1.4;
}

.contacts-map-section {
    width: 100%;
    margin-top: 48px;
}

.contacts-map-section iframe {
    display: block;
    width: 100% !important;
    height: 440px;
    border: 0;
}

@media (max-width: 767.98px) {
    .contacts-map-section iframe {
        height: 320px;
    }
}

@media (max-width: 991.98px) {
    .contacts-request .home-request__form .col-md-6 {
        width: 100%;
    }
}

.product-request-modal .modal-content {
    border: 1px solid #deded9;
    border-radius: 0;
}

.product-request-modal .modal-header {
    align-items: flex-start;
    padding: 20px 24px;
    border-bottom-color: #deded9;
}

.product-request-modal .modal-body {
    padding: 24px;
    background: #f8f8f6;
}

.product-request-modal__product {
    color: #666660;
    font-size: 14px;
    line-height: 1.4;
}

.product-request-modal .home-request__form {
    padding: 0;
    background: transparent;
}

.product-request-modal .home-request__field {
    min-height: 46px;
    border-color: #c9c9c4;
    background: #fff;
    color: var(--dark);
}

.product-request-modal .home-request__field::placeholder,
.product-request-modal .home-request__field::-moz-placeholder {
    color: #767672;
}

.product-request-modal .home-request__field:focus {
    border-color: var(--primary);
    background: #fff;
    color: var(--dark);
}

.product-request-modal .home-request__textarea {
    min-height: 80px;
}

.product-request-modal .home-request__consent {
    margin-top: 0;
}

.product-request-modal .home-request__consent-input.form-check-input {
    top: -1px;
}

.product-request-modal .home-request__consent-label {
    color: #565652;
}

.product-request-modal .home-request__submit {
    min-width: 0;
    padding: 10px 16px;
    background: #212529;
}

.product-request-modal .home-request__submit:hover,
.product-request-modal .home-request__submit:active {
    background: var(--primary);
}

.product-request-modal .request-form__field-error {
    min-height: 16px;
    color: #c93430;
    font-size: 12px;
    line-height: 1.35;
}

.product-request-modal .request-form__field-error.error {
    margin-bottom: 8px;
}

.product-request-modal .request-form__field-error .error {
    color: inherit;
}

.product-request-modal .request-form__success {
    margin-top: 16px;
    padding: 12px 14px;
    border: 1px solid #98b89c;
    background: #eef7ef;
    color: #245a2c;
    font-size: 14px;
    line-height: 1.4;
}

.product-request-modal .request-form--product.is-success > .row,
.feedback-modal .request-form--feedback.is-success > .row > :not(.feedback-modal__footer),
.product-request-modal .request-form.is-success > .error_form {
    display: none;
}

.feedback-modal .request-form--feedback.is-success .feedback-modal__submit {
    display: none;
}

.product-request-modal__success-actions {
    margin-top: 16px;
}

.feedback-modal__footer {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 24px;
    align-items: start;
    margin-top: -4px;
}

.feedback-modal__contacts {
    position: relative;
    padding-top: 12px;
    color: #565652;
    font-size: 14px;
}

.feedback-modal__contacts::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 92%;
    max-width: 360px;
    border-top: 1px solid #deded9;
    content: "";
}

.feedback-modal__contacts-title {
    margin: 0 0 8px;
    color: var(--dark);
    font-weight: 500;
}

.feedback-modal__contacts-city {
    margin-right: 3px;
    font-weight: 500;
}

.feedback-modal__contacts-list > div + div {
    margin-top: 2px;
}

.feedback-modal__submit {
    padding-top: 8px;
}

.feedback-modal__contacts a {
    color: var(--primary);
    text-decoration: none;
}

.feedback-modal__contacts a:hover,
.feedback-modal__contacts a:focus {
    color: var(--dark);
    text-decoration: underline;
}

.product-request-modal .home-request__field.error {
    border-color: #d9504d;
}

.product-request-modal .home-request__consent-input.error {
    outline: 1px solid #d9504d;
    outline-offset: 2px;
}

@media (max-width: 575.98px) {
    .contacts-page {
        padding: 20px 0 40px;
    }

    .contacts-tabs {
        flex-wrap: nowrap;
        gap: 20px;
        overflow-x: auto;
    }

    .contacts-tabs__link {
        flex: 0 0 auto;
    }

    .contacts-request {
        padding: 20px;
    }

    .contacts-request .home-request__submit {
        width: 100%;
    }

    .product-request-modal .modal-header,
    .product-request-modal .modal-body {
        padding: 20px;
    }

    .product-request-modal .home-request__submit {
        width: 100%;
    }

    .feedback-modal__footer {
        grid-template-columns: minmax(0, 1fr);
        gap: 14px;
    }

    .feedback-modal__submit {
        grid-row: 1;
        padding-top: 0;
    }

    .feedback-modal__contacts {
        padding-top: 14px;
    }
}

.product-specifications-table th,
.product-specifications-table td {
    width: 50%;
    padding: 12px 15px;
    vertical-align: top;
}

.product-specifications-table th {
    font-weight: 600;
    color: var(--dark);
}

.product-description ul {
    padding-left: 20px;
}

.product-description li {
    margin-bottom: 8px;
}

@media (max-width: 575.98px) {
    .product-detail-badges {
        top: 10px;
        right: 10px;
    }

    .product-detail-badges .badge {
        padding: 8px 10px;
        font-size: 10px;
    }

    .product-specifications-table th,
    .product-specifications-table td {
        width: auto;
        padding: 10px;
    }
}

/* Информационный блок в описании товара */
.product-description blockquote {
    margin: 35px 0;
    padding: 28px 30px;
    border: 0;
    background-color: #fff3cd;
    color: #5f4800;
    font-style: normal;
    line-height: 1.8;
}

/* Убираем стандартные отступы абзаца внутри blockquote */
.product-description blockquote p {
    margin: 0;
    padding: 0;
    color: inherit;
    font: inherit;
    line-height: inherit;
}

/* На случай декоративных кавычек */
.product-description blockquote::before,
.product-description blockquote::after {
    display: none;
    content: none;
}

.product-description blockquote strong {
    font-weight: 600;
    color: inherit;
}

/* Вкладки карточки товара */
#product-tabs .nav-tabs {
    position: relative;
    border-bottom: 3px solid #eee;
}

/* Ссылки вкладок */
#product-tabs .nav-tabs > li .nav-link,
#product-tabs .nav-tabs > li .nav-link:hover,
#product-tabs .nav-tabs > li .nav-link:focus {
    position: relative;
    margin-bottom: 0;
    padding: 15px 20px;
    background: none;
    border: 0;
    border-radius: 0;
    color: var(--default);
    font-size: 16px;
}

/* Красная линия поверх серой */
#product-tabs .nav-tabs > li .nav-link::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 1px;
    height: 2px;
    background-color: transparent;
}

/* Активная вкладка */
#product-tabs .nav-tabs > li .nav-link.active,
#product-tabs .nav-tabs > li .nav-link.active:hover,
#product-tabs .nav-tabs > li .nav-link.active:focus {
    color: var(--primary);
}

/* Активная вкладка и hover */
#product-tabs .nav-tabs > li .nav-link.active::after,
#product-tabs .nav-tabs > li .nav-link:hover::after {
    background-color: var(--primary);
}

/* Таблицы в карточке товара */
.product-specifications table,
.product-description table {
    width: 100%;
    margin-bottom: 40px;
    border-collapse: collapse;
}

.product-specifications table th,
.product-specifications table td,
.product-description table th,
.product-description table td {
    width: 50%;
    padding: 12px 15px;
    vertical-align: top;
    border-top: 0;
}

.product-specifications table th,
.product-description table th {
    font-weight: 600;
    color: var(--dark);
}

/* Чередование строк */
.product-specifications table tbody tr:nth-of-type(odd),
.product-description table tbody tr:nth-of-type(odd) {
    background-color: rgba(0, 0, 0, 0.04);
}

@media (max-width: 575.98px) {
    .product-specifications table th,
    .product-specifications table td,
    .product-description table th,
    .product-description table td {
        width: auto;
        padding: 10px;
    }
}

/* Корзина в шапке */
.header-cart {
    margin-left: 12px;
}

.header-cart-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: inherit;
}

.header-cart-icon {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 28px;
    height: 28px;
}

.header-cart-icon > i {
    font-size: 20px;
    color: #c4c4c4;
}

.header-cart-count {
    position: absolute;
    top: -5px;
    right: -6px;

    display: flex;
    align-items: center;
    justify-content: center;

    min-width: 17px;
    height: 17px;
    padding: 0 4px;

    border-radius: 10px;

    background-color: var(--primary);
    color: #fff;

    font-size: 10px;
    font-weight: 700;
    line-height: 1;
}

.header-cart-sum {
    margin-left: 1px;
    font-size: 13px;
    font-weight: 500;
    line-height: 1;
    color: #c4c4c4;
}

/* Без изменения цвета при наведении */
.header-cart-link:hover,
.header-cart-link:focus {
    color: inherit;
}

.header-cart-link:hover .header-cart-icon > i,
.header-cart-link:focus .header-cart-icon > i {
    color: #c4c4c4;
}

.header-cart-link:hover .header-cart-sum,
.header-cart-link:focus .header-cart-sum {
    color: #c4c4c4;
}

/* Корзина */
.cart-table thead th {
    padding: 14px 15px;
    background-color: rgba(0, 0, 0, 0.04);
    border: 0;
    font-size: 13px;
    font-weight: 600;
    color: var(--dark);
    vertical-align: middle;
}

.cart-table tbody td {
    padding: 18px 15px;
    border-top: 1px solid #eee;
    vertical-align: middle;
}

.cart-product-image {
    flex: 0 0 90px;
    width: 90px;
}

.cart-product-image img {
    display: block;
    width: 90px;
    height: 90px;
    object-fit: contain;
}

.cart-product-title {
    max-width: 340px;
    font-size: 14px;
    line-height: 1.5;
}

.cart-product-title a {
    text-decoration: none;
}


.cart-unit {
    white-space: nowrap;
}

.cart-price,
.cart-cost {
    white-space: nowrap;
}

.cart-price-inner {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    min-height: 90px;
}

.cart-price .current-price {
    font-weight: 600;
    color: var(--dark);
}

.cart-price .old-price {
    position: absolute;
    top: 14px;
    right: 0;

    color: #999;
    font-size: 12px;
    line-height: 1.2;
    text-decoration: line-through;
}

.cart-cost {
    font-weight: 600;
    color: var(--dark);
}

.cart-remove-btn {
    padding: 5px;
    border: 0;
    background: none;
    color: #777;
    font-size: 20px;
    line-height: 1;
}

.cart-remove-btn:hover {
    color: var(--primary);
}

.cart-footer {
    padding-top: 20px;
    border-top: 0;
}

.cart-total {
    font-size: 18px;
}

.cart-total-label {
    margin-right: 8px;
    font-weight: 600;
}

.cart-total-value {
    font-size: 22px;
    font-weight: 700;
    color: var(--dark);
}

.cart-total-notes {
    margin-top: 8px;
    color: #737371;
    font-size: 12px;
    line-height: 1.45;
}

.cart-total-notes p {
    margin: 0;
}

.cart-total-notes p + p {
    margin-top: 3px;
}

.cart-empty-icon {
    font-size: 42px;
    color: #c4c4c4;
}

@media (max-width: 767.98px) {
    .cart-table {
        min-width: 850px;
    }

    .cart-product-image {
        flex-basis: 70px;
        width: 70px;
    }

    .cart-product-image img {
        width: 70px;
        height: 70px;
    }
}

#msMiniCart {
    display: none !important;
}

#msMiniCart.full {
    display: inline-flex !important;
}

/* =========================================================
   PRODUCT — RELATED PRODUCTS
   ========================================================= */

.related-products {
    margin-top: 45px;
}

.related-product-card {
    display: flex;
    flex-direction: column;
    height: 100%;
}


/* Изображение */

.related-product-card .product-thumb-info {
    position: relative;

    background: transparent;
}

.related-product-card .product-thumb-info-image {
    position: relative;

    display: block;

    width: 100%;

    overflow: hidden;
    background: transparent;
}

.related-product-card .product-thumb-info-image img {
    display: block;

    width: 100%;
    height: auto;
}


/* Отключаем затемнение Porto */

.related-product-card .product-thumb-info-image:before {
    display: none;
}


/* Метки */

.related-product-card .product-thumb-info-badges-wrapper {
    position: absolute;
    top: 15px;
    left: 15px;
    z-index: 5;
}

/* Название */

.related-product-card h3 {
    min-height: 57px;

    font-size: 0.84rem;
    line-height: 1.35;
}

.related-product-card h3 a {
    display: -webkit-box;
    overflow: hidden;

    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}


/* Цена */

.related-product-card .related-product-price {
    display: flex;
    align-items: baseline;
    flex-wrap: nowrap;
    gap: 8px;

    min-height: 54px;
    margin-top: auto;
}

.related-product-card .related-product-price .sale {
    order: 1;
    flex: 0 0 auto;
}

.related-product-card .related-product-price .amount {
    order: 2;
    flex: 0 1 auto;

    float: none;
    margin: 0;

    color: #8a8f96;
    font-size: 0.68em;
    font-weight: 400;

    white-space: nowrap;
}

/* Отступ после изображения */

.related-product-card .product-thumb-info {
    margin-bottom: 14px !important;
}


/* Корзина */

.related-product-card .product-cart {
    display: flex;
    align-items: stretch;
    gap: 8px;

    width: 100%;
}

.related-product-card .product-quantity {
    flex: 0 0 58px;

    width: 58px;
    min-width: 58px;
}

.related-product-card .product-cart .btn {
    flex: 1;

    white-space: nowrap;
}


/* =========================================================
   PRODUCT HARDENER SELECTOR — COMPACT DEMO
   ========================================================= */

.product-hardener-demo {
    max-width: 100%;
}


/* Toggle */

.product-hardener-toggle {
    display: flex;
    align-items: center;
    gap: 14px;

    width: 100%;
    padding: 14px 16px;

    background: #f7f8f9;
    border: 1px solid #e3e6e9;
    border-radius: 4px;

    color: var(--dark);
    text-align: left;

    cursor: pointer;

    transition:
            background-color .2s ease,
            border-color .2s ease;
}

.product-hardener-toggle:hover {
    background: #f3f5f6;
    border-color: #ccd2d7;
}

.product-hardener-toggle-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 30px;
    width: 30px;
    height: 30px;

    border-radius: 50%;

    background: rgba(0, 0, 0, .04);
    color: var(--primary);
}

.product-hardener-toggle-icon i {
    transition: transform .2s ease;
}

.product-hardener-toggle[aria-expanded="true"] .product-hardener-toggle-icon i {
    transform: rotate(45deg);
}

.product-hardener-toggle strong {
    display: block;
    font-size: 15px;
}

.product-hardener-toggle small {
    display: block;
    color: #777;
    font-size: 12px;
    font-weight: 400;
    margin-top: -4px;
}


/* Main block */

.product-hardener-selector {
    margin-top: 12px;
    padding: 20px;

    border: 1px solid #e1e4e7;
    border-radius: 6px;

    background: #fff;
}

.product-hardener-description {
    color: #696969;
    font-size: 13px;
    line-height: 1.8;
}


/* Hardener selector */

.product-hardener-tabs {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;

    margin-top: 15px;
}

.product-hardener-tab {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;

    min-width: 0;
    min-height: 42px;

    margin: 0;
    padding: 8px 10px;

    border: 1px solid #dde1e5;
    border-radius: 4px;

    background: #fff;

    color: var(--dark);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.2;
    text-align: center;

    cursor: pointer;

    transition:
            border-color .2s ease,
            background-color .2s ease,
            color .2s ease,
            box-shadow .2s ease;
}

.product-hardener-tab:hover {
    border-color: #bfc6cc;
}

.product-hardener-tab.active {
    border-color: var(--primary);
    background: rgba(0, 0, 0, .025);
    color: var(--primary);
    box-shadow: 0 0 0 1px var(--primary);
}

.product-hardener-tab input {
    position: absolute;

    width: 1px;
    height: 1px;

    opacity: 0;
    pointer-events: none;
}


/* Selected hardener */

.product-hardener-selected {
    margin-top: 12px;
    padding: 12px 14px;

    border: 1px solid #dde1e5;
    border-radius: 5px;

    background: #fff;
}

.product-hardener-selected-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.product-hardener-selected-head > div {
    min-width: 0;
}

.hardener-selected-name {
    color: var(--dark);
    font-size: 14px;
    font-weight: 600;
}

.product-hardener-selected .hardener-product-link {
    flex: 0 0 auto;
    margin-top: 0;
    padding-top: 0;
    font-size: 13px;
    line-height: 1.35;
}

.hardener-product-link[hidden] {
    display: none;
}

.hardener-selected-type {
    color: #666;
    font-size: 12px;
}

/* Calculation */

.product-hardener-result {
    margin-top: 10px;
    padding: 15px;

    border: 1px solid #e7e7e7;
    border-radius: 6px;

    background: #fafafa;

    box-shadow: none;
}

.product-hardener-result__grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px 16px;
}

.product-hardener-result__item {
    display: grid;
    gap: 3px;
    min-width: 0;
    color: #696969;
    font-size: 12px;
    line-height: 1.35;
}

.product-hardener-result__item strong {
    color: var(--dark);
    font-size: 14px;
    font-weight: 600;
}

.product-hardener-result__item--required strong {
    color: var(--primary);
}

.product-hardener-result__item--total strong {
    color: var(--primary);
}


/* Button */

.product-hardener-demo-button {
    margin-top: 12px;
    min-height: 46px;
    padding-top: 10px;
    padding-bottom: 10px;
    font-size: 13px;
    letter-spacing: .02em;
}

.product-hardener-demo-button:disabled {
    opacity: .55;
    cursor: not-allowed;
}

.product-hardener-demo-note {
    margin-top: 9px;

    color: #777;
    font-size: 13px;
    line-height: 1.4;
    text-align: center;
}


@media (max-width: 991.98px) {

    .product-hardener-tabs {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .product-hardener-result__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}

/* Mobile */
@media (max-width: 575.98px) {

    .product-hardener-selected-head {
        align-items: flex-start;
        flex-direction: column;
        gap: 5px;
    }

    .product-hardener-tabs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .product-hardener-tab:last-child {
        grid-column: 1 / 3;
    }

    .product-hardener-result {
        padding: 14px;
    }

    .product-hardener-result__grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }

}


/* =========================================================
   HOME HERO
   ========================================================= */

.home-hero {
    position: relative;
    min-height: 700px;
    overflow: hidden;
    background: #1a1a1a;
    color: #fff;
}

.home-hero__video,
.home-hero__overlay {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.home-hero__video {
    z-index: 0;
    display: block;
    object-fit: cover;
}

.home-hero__overlay {
    z-index: 1;
    background: linear-gradient(90deg, rgba(10, 10, 10, 0.78) 0%, rgba(10, 10, 10, 0.5) 55%, rgba(10, 10, 10, 0.36) 100%);
}

.home-hero__container {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 700px;
    padding: 130px 0 42px;
}

.home-hero__content {
    max-width: 760px;
}

.home-hero__title {
    margin: 0;
    color: inherit;
    font-size: clamp(42px, 4.4vw, 64px);
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -0.03em;
}

.home-hero__subtitle {
    max-width: 700px;
    margin: 26px 0 0;
    color: rgba(255, 255, 255, 0.9);
    font-size: 21px;
    line-height: 1.55;
}

.home-hero__actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 36px;
}

.home-hero__actions .home-hero__action,
.home-hero__actions .home-hero__action:hover,
.home-hero__actions .home-hero__action:focus,
.home-hero__actions .home-hero__action:active {
    text-decoration: none !important;
}

.home-hero__action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 13px 23px;
    border: 1px solid transparent;
    border-radius: 0;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.home-hero__action--primary {
    background-color: var(--primary);
    border-color: var(--primary);
    color: #fff;
}

.home-hero__action--primary:hover,
.home-hero__action--primary:focus,
.home-hero__action--primary:active {
    background-color: #b80011;
    border-color: #b80011;
    color: #fff;
}

.home-hero__action--secondary {
    border-color: rgba(255, 255, 255, 0.8);
    background-color: rgba(16, 16, 16, 0.25);
    color: #fff;
}

.home-hero__action--secondary:hover,
.home-hero__action--secondary:focus,
.home-hero__action--secondary:active {
    border-color: #fff;
    background-color: rgba(16, 16, 16, 0.48);
    color: #fff;
}

.home-hero__action:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 3px;
}

.home-hero__action-arrow {
    margin-left: 10px;
    font-size: 1.2em;
    line-height: 0;
}

.home-hero__selection-link,
.home-hero__selection-link:hover,
.home-hero__selection-link:focus,
.home-hero__selection-link:active {
    padding: 6px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.7);
    color: rgba(255, 255, 255, 0.92);
    font-size: 15px;
    font-weight: 500;
    line-height: 1.2;
    text-decoration: none !important;
    transition: color 0.2s ease, border-color 0.2s ease;
    white-space: nowrap;
}

.home-hero__selection-link:hover,
.home-hero__selection-link:focus,
.home-hero__selection-link:active {
    border-bottom-color: #fff;
    color: #fff;
}

.home-hero__selection-link:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 3px;
}

.home-hero__advantages {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    margin: 42px 0 0;
    padding: 24px 0 0;
    border-top: 1px solid rgba(255, 255, 255, 0.35);
    list-style: none;
}

.home-hero__advantage {
    position: relative;
    padding-left: 19px;
    color: rgba(255, 255, 255, 0.95);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
}

.home-hero__advantage::before {
    position: absolute;
    top: 0.5em;
    left: 0;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--primary);
    content: "";
}

@media (max-width: 991.98px) {
    .home-hero,
    .home-hero__container {
        min-height: 610px;
    }

    .home-hero__container {
        padding-top: 112px;
    }

    .home-hero__subtitle {
        font-size: 19px;
    }
}

@media (max-width: 767.98px) {
    .home-hero,
    .home-hero__container {
        min-height: 560px;
    }

    .home-hero__overlay {
        background: rgba(10, 10, 10, 0.67);
    }

    .home-hero__container {
        padding: 88px 20px 28px;
    }

    .home-hero__title {
        font-size: clamp(34px, 10vw, 48px);
    }

    .home-hero__subtitle {
        margin-top: 20px;
        font-size: 17px;
    }

    .home-hero__actions {
        margin-top: 28px;
    }

    .home-hero__action {
        width: 100%;
    }

    .home-hero__selection-link {
        align-self: flex-start;
    }

    .home-hero__advantages {
        grid-template-columns: 1fr;
        gap: 12px;
        margin-top: 28px;
        padding-top: 18px;
    }

    .home-hero__advantage {
        font-size: 14px;
    }
}


/* =========================================================
   CATALOG MATERIALS HOME
   ========================================================= */

.home-materials {
    padding: var(--home-section-space) 0;
    background: #f6f6f4;
}

.home-materials__header {
    max-width: 720px;
    margin-bottom: 38px;
}

.home-materials__title {
    margin: 0;
    color: var(--dark);
    font-size: clamp(34px, 3.5vw, 50px);
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: -0.025em;
}

.home-materials__subtitle {
    margin: 18px 0 0;
    color: #626262;
    font-size: 18px;
    line-height: 1.55;
}

.home-materials__layout {
    display: grid;
    grid-template-columns: minmax(0, 45fr) minmax(0, 55fr);
    gap: clamp(42px, 7vw, 112px);
    align-items: start;
}

.home-materials__navigation {
    border-top: 1px solid #dedede;
}

.home-materials__category {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 66px;
    padding: 18px 0;
    border: 0;
    border-bottom: 1px solid #dedede;
    background: transparent;
    color: #454545;
    font: inherit;
    font-size: 19px;
    font-weight: 500;
    line-height: 1.35;
    text-align: left;
    cursor: pointer;
    text-decoration: none;
    transition: color 0.2s ease;
}

.home-materials__category,
.home-materials__category:hover,
.home-materials__category:focus,
.home-materials__category:active {
    text-decoration: none !important;
}

.home-materials__category:hover,
.home-materials__category:focus,
.home-materials__category[aria-current="true"] {
    color: var(--primary);
}

.home-materials__category-arrow {
    flex: 0 0 auto;
    margin-left: 18px;
    font-size: 1.1em;
    line-height: 1;
    transition: transform 0.2s ease;
}

.home-materials__category:hover .home-materials__category-arrow,
.home-materials__category:focus .home-materials__category-arrow {
    transform: translateX(3px);
}

.home-materials__category:focus-visible {
    position: relative;
    z-index: 1;
    outline: 2px solid var(--primary);
    outline-offset: -2px;
}

.home-materials__visual {
    min-width: 0;
}

.home-materials__image-link {
    display: block;
    color: inherit;
    text-decoration: none;
}

.home-materials__image-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 16 / 10;
    background: #f2f2f2;
}

.home-materials__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.home-materials__description {
    max-width: 650px;
    margin: 16px 0 0;
    color: #555;
    font-size: 17px;
    line-height: 1.6;
}

.home-materials__action,
.home-materials__action:hover,
.home-materials__action:focus,
.home-materials__action:active {
    text-decoration: none !important;
}

.home-materials__action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    margin-top: 20px;
    padding: 13px 23px;
    border: 1px solid var(--primary);
    border-radius: 0;
    background: var(--primary);
    color: #fff;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.2;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.home-materials__action:hover,
.home-materials__action:focus,
.home-materials__action:active {
    border-color: #b80011;
    background-color: #b80011;
    color: #fff;
}

.home-materials__action:focus-visible {
    outline: 2px solid var(--dark);
    outline-offset: 3px;
}

.home-materials__action-arrow {
    margin-left: 10px;
    font-size: 1.2em;
    line-height: 0;
}

@media (max-width: 991.98px) {
    .home-materials__layout {
        gap: 42px;
    }

    .home-materials__category {
        min-height: 62px;
        font-size: 17px;
    }
}

@media (max-width: 767.98px) {
    .home-materials__header {
        margin-bottom: 34px;
    }

    .home-materials__title {
        font-size: 34px;
    }

    .home-materials__subtitle {
        margin-top: 14px;
        font-size: 16px;
    }

    .home-materials__layout {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .home-materials__category {
        min-height: 56px;
        padding: 15px 0;
        font-size: 16px;
    }

    .home-materials__image-wrap {
        aspect-ratio: 16 / 9;
    }

    .home-materials__description {
        margin-top: 18px;
        font-size: 16px;
    }

    .home-materials__action {
        width: 100%;
        margin-top: 18px;
    }
}


/* =========================================================
   CATALOG EQUIPMENT HOME
   ========================================================= */

.home-equipment {
    padding: var(--home-section-space) 0;
    background: #1d1f21;
}

.home-equipment__header {
    max-width: 720px;
    margin-bottom: 40px;
}

.home-equipment__title {
    margin: 0;
    color: #fff;
    font-size: clamp(34px, 3.5vw, 50px);
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: -0.025em;
}

.home-equipment__subtitle {
    margin: 18px 0 0;
    color: #a8aaad;
    font-size: 18px;
    line-height: 1.55;
}

.home-equipment__carousel.owl-carousel.nav-outside .owl-nav .owl-prev {
    left: -28px;
}

.home-equipment__carousel.owl-carousel.nav-outside .owl-nav .owl-next {
    right: -28px;
}

.home-equipment__card,
.home-equipment__card:hover,
.home-equipment__card:focus,
.home-equipment__card:active {
    color: #fff;
    text-decoration: none !important;
}

.home-equipment__card {
    position: relative;
    display: flex;
    align-items: flex-end;
    min-width: 0;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    background: #292b2e;
}

.home-equipment__image,
.home-equipment__overlay {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.home-equipment__image {
    display: block;
    object-fit: cover;
    object-position: center;
    filter: brightness(0.78) saturate(0.86);
    transition: filter 0.25s ease, transform 0.35s ease;
}

.home-equipment__image--vacuum {
    inset: -18% auto auto -9%;
    width: 118%;
    height: 118%;
}

.home-equipment__overlay {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.1) 20%, rgba(0, 0, 0, 0.76) 100%);
    transition: background-color 0.25s ease, opacity 0.25s ease;
}

.home-equipment__content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    width: 100%;
    min-height: 112px;
    padding: 24px;
}

.home-equipment__name {
    margin-bottom: 12px;
    color: rgba(255, 255, 255, 0.9);
    font-size: 17px;
    font-weight: 500;
    line-height: 1.3;
    min-height: 3.9em;
    text-shadow: 0 2px 5px rgba(0, 0, 0, 0.65);
    transition: color 0.25s ease;
}

.home-equipment__name--long {
    font-size: 16px;
}

.home-equipment__link {
    display: flex;
    align-items: center;
    margin-top: auto;
    color: rgba(255, 255, 255, 0.72);
    font-size: 14px;
    line-height: 1.2;
    opacity: 0.88;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.55);
    transition: color 0.25s ease, opacity 0.25s ease;
}

.home-equipment__arrow {
    margin-left: 8px;
    font-size: 1.15em;
    line-height: 1;
    transition: transform 0.25s ease;
}

@media (hover: hover) {
    .home-equipment__card:hover .home-equipment__image {
        filter: brightness(1) saturate(1);
        transform: scale(1.02);
    }

    .home-equipment__card:hover .home-equipment__overlay {
        opacity: 0.66;
    }

    .home-equipment__card:hover .home-equipment__name,
    .home-equipment__card:hover .home-equipment__link {
        color: #fff;
    }

    .home-equipment__card:hover .home-equipment__link {
        opacity: 1;
    }

    .home-equipment__card:hover .home-equipment__arrow {
        transform: translateX(3px);
    }
}

.home-equipment__card:focus-visible {
    z-index: 1;
    outline: 2px solid var(--primary);
    outline-offset: -2px;
}

.home-equipment__card:focus-visible .home-equipment__image {
    filter: brightness(1) saturate(1);
    transform: scale(1.025);
}

.home-equipment__card:focus-visible .home-equipment__overlay {
    opacity: 0.66;
}

.home-equipment__card:focus-visible .home-equipment__name,
.home-equipment__card:focus-visible .home-equipment__link {
    color: #fff;
}

.home-equipment__card:focus-visible .home-equipment__link {
    opacity: 1;
}

.home-equipment__card:focus-visible .home-equipment__arrow {
    transform: translateX(3px);
}

.home-equipment__footer {
    margin-top: 32px;
}

.home-equipment__action,
.home-equipment__action:hover,
.home-equipment__action:focus,
.home-equipment__action:active {
    color: #fff;
    text-decoration: none !important;
}

.home-equipment__action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 13px 23px;
    border: 1px solid var(--primary);
    border-radius: 0;
    background: var(--primary);
    font-size: 15px;
    font-weight: 500;
    line-height: 1.2;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.home-equipment__action:hover,
.home-equipment__action:focus,
.home-equipment__action:active {
    border-color: #b80011;
    background-color: #b80011;
}

.home-equipment__action:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 3px;
}

.home-equipment__action-arrow {
    margin-left: 10px;
    font-size: 1.2em;
    line-height: 0;
}

@media (max-width: 991.98px) {
    .home-equipment__carousel.owl-carousel.nav-outside .owl-nav .owl-prev {
        left: 0;
    }

    .home-equipment__carousel.owl-carousel.nav-outside .owl-nav .owl-next {
        right: 0;
    }

}

@media (max-width: 767.98px) {
    .home-equipment__header {
        margin-bottom: 32px;
    }

    .home-equipment__title {
        font-size: 34px;
    }

    .home-equipment__subtitle {
        margin-top: 14px;
        font-size: 16px;
    }

    .home-equipment__content {
        padding: 18px;
    }

    .home-equipment__name {
        font-size: 16px;
    }

    .home-equipment__link {
        margin-top: auto;
        font-size: 13px;
        opacity: 1;
    }

    .home-equipment__footer {
        margin-top: 24px;
    }

    .home-equipment__action {
        width: 100%;
    }
}

@media (max-width: 399.98px) {
    .home-equipment__card {
        aspect-ratio: 16 / 10;
    }
}

/* =========================================================
   HOME TRAINING
   ========================================================= */

.home-training {
    padding: var(--home-section-space) 0;

    color: #fff;
    background: #17191b;
}

.home-training__header {
    margin-bottom: 42px;
}

.home-training__title {
    margin: 0;

    color: #fff;
    font-size: clamp(34px, 3.5vw, 50px);
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: -0.025em;
}

.home-training__subtitle {
    margin: 18px 0 0;

    color: #a8aaad;
    font-size: 18px;
    line-height: 1.55;
}

.home-training__programs {
    border-top: 1px solid rgba(255, 255, 255, 0.18);
}

.home-training__program {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 0;
    min-height: 116px;

    overflow: hidden;
    border-bottom: 1px solid rgba(255, 255, 255, 0.18);
    background: transparent;
    transition: min-height 0.25s ease, background-color 0.2s ease;
}

.home-training__content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 12px;
    padding: 22px 0 22px 18px;
}

.home-training__program-title,
.home-training__description {
    margin: 0;
}

.home-training__program-title {
    color: rgba(255, 255, 255, 0.88);
    font-size: clamp(16px, 1.35vw, 20px);
    font-weight: 500;
    line-height: 1.2;
    text-transform: none;
    transition: color 0.25s ease;
}

.home-training__description {
    color: #a8aaad;
    font-size: 15px;
    line-height: 1.5;

    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.home-training__description + .home-training__link {
    margin-top: 4px;
}

.home-training__link,
.home-training__link:hover,
.home-training__link:focus,
.home-training__link:active {
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none !important;
}

.home-training__link {
    display: inline-flex;
    align-items: center;
    min-height: 44px;

    font-size: 15px;
    font-weight: 500;
    line-height: 1.2;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    transition: color 0.2s ease, opacity 0.2s ease, visibility 0s linear 0.2s;
}

.home-training__arrow {
    margin-left: 8px;
    font-size: 1.2em;
    line-height: 1;
    transition: transform 0.25s ease;
}

.home-training__visual {
    position: relative;
    min-width: 0;
    overflow: hidden;
    background: transparent;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.25s ease, visibility 0s linear 0.25s;
}

.home-training__visual::after {
    position: absolute;
    inset: 0;

    content: '';
    background: rgba(0, 0, 0, 0.44);
    transition: background-color 0.25s ease;
}

.home-training__image {
    display: block;
    width: 100%;
    height: 100%;

    object-fit: cover;
    filter: brightness(0.7) saturate(0.78);
    transition: filter 0.25s ease;
}

.home-training__program:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: -2px;
}

.home-training__program.is-active,
.home-training__program.is-open {
    grid-template-columns: minmax(0, 1.63fr) minmax(260px, 1fr);
    min-height: 180px;

    background: #1e2022;
}

.home-training__program.is-active .home-training__content,
.home-training__program.is-open .home-training__content {
    gap: 9px;
    padding: 24px 36px 24px 18px;
}

.home-training__program.is-active .home-training__program-title,
.home-training__program.is-open .home-training__program-title {
    color: #fff;
}

.home-training__program.is-active .home-training__description,
.home-training__program.is-open .home-training__description {
    display: block;
}

.home-training__program.is-active .home-training__link,
.home-training__program.is-open .home-training__link {
    color: var(--primary);
    opacity: 1;
    visibility: visible;
    transition-delay: 0s;
}

.home-training__program.is-active .home-training__link:hover,
.home-training__program.is-open .home-training__link:hover {
    color: #b80011;
}

.home-training__program.is-active .home-training__visual,
.home-training__program.is-open .home-training__visual {
    align-self: center;
    height: 170px;
    opacity: 1;
    visibility: visible;
    transition-delay: 0s;
}

.home-training__program.is-active .home-training__visual::after,
.home-training__program.is-open .home-training__visual::after {
    background-color: rgba(0, 0, 0, 0.18);
}

.home-training__program.is-active .home-training__image,
.home-training__program.is-open .home-training__image {
    filter: brightness(0.95) saturate(0.95);
}

.home-training__program.is-active .home-training__arrow,
.home-training__program.is-open .home-training__arrow {
    transform: translateX(3px);
}

.home-training__link:focus-visible,
.home-training__action:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 3px;
}

.home-training__footer {
    margin-top: 32px;
}

.home-training__action,
.home-training__action:hover,
.home-training__action:focus,
.home-training__action:active {
    color: #fff;
    text-decoration: none !important;
}

.home-training__action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 13px 23px;

    border: 1px solid var(--primary);
    border-radius: 0;
    background: var(--primary);
    font-size: 15px;
    font-weight: 500;
    line-height: 1.2;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.home-training__action:hover,
.home-training__action:focus,
.home-training__action:active {
    border-color: #b80011;
    background-color: #b80011;
}

.home-training__action-arrow {
    margin-left: 10px;
    font-size: 1.2em;
    line-height: 0;
}

@media (max-width: 991.98px) {
    .home-training__program {
        min-height: 116px;
    }
}

@media (max-width: 767.98px) {
    .home-training__header {
        margin-bottom: 32px;
    }

    .home-training__title {
        font-size: 34px;
    }

    .home-training__subtitle {
        margin-top: 14px;
        font-size: 16px;
    }

    .home-training__program {
        grid-template-columns: 1fr;
        grid-template-rows: auto 0;
        min-height: 0;
    }

    .home-training__content {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        padding: 28px 0 28px 18px;
    }

    .home-training__visual {
        min-height: 0;
    }

    .home-training__program.is-active,
    .home-training__program.is-open {
        grid-template-columns: 1fr;
        grid-template-rows: auto 170px;
        min-height: 0;
    }

    .home-training__program.is-active .home-training__content,
    .home-training__program.is-open .home-training__content {
        padding: 24px 0 24px 18px;
    }

    .home-training__program.is-active .home-training__visual,
    .home-training__program.is-open .home-training__visual {
        height: auto;
    }

    .home-training__footer {
        margin-top: 24px;
    }

    .home-training__action {
        width: 100%;
    }
}

/* =========================================================
   HOME CLIENTS
   ========================================================= */

.home-clients {
    padding: var(--home-section-space) 0;
}

.home-clients__header {
    margin-bottom: 42px;
}

.home-clients__eyebrow {
    margin: 0 0 14px;
    color: var(--primary);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.08em;
    line-height: 1.2;
    text-transform: uppercase;
}

.home-clients__title {
    margin: 0;
    color: var(--dark);
    font-size: clamp(36px, 2.7vw, 42px);
    font-weight: 600;
    line-height: 1.08;
    letter-spacing: -0.025em;
}

.home-clients__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid #d8d8d6;
    border-left: 1px solid #d8d8d6;
}

.home-clients__item {
    --home-clients-card-padding-x: 30px;

    display: flex;
    flex-direction: column;
    min-height: 164px;
    padding: 24px var(--home-clients-card-padding-x);
    border-right: 1px solid #d8d8d6;
    border-bottom: 1px solid #d8d8d6;
    background: #fff;
    position: relative;
    overflow: hidden;
    transition: background-color 0.22s ease, border-color 0.22s ease;
}

.home-clients__item:not(.home-clients__item--summary)::after {
    position: absolute;
    bottom: 30px;
    left: var(--home-clients-card-padding-x);
    width: 0;
    height: 2px;
    content: '';
    background: var(--primary);
    transition: width 0.22s ease;
}

.home-clients__name,
.home-clients__description,
.home-clients__summary,
.home-clients__note,
.home-clients__accent {
    margin: 0;
}

.home-clients__name {
    color: var(--dark);
    font-size: clamp(21px, 1.6vw, 26px);
    font-weight: 500;
    line-height: 1.15;
    text-transform: none;
}

.home-clients__description {
    margin-top: 12px;
    color: #626262;
    font-size: 14px;
    letter-spacing: 0.01em;
    line-height: 1.45;
}

.home-clients__item--summary {
    justify-content: flex-start;
    border-color: var(--dark);
    background: var(--dark);
}

.home-clients__summary {
    max-width: 300px;
    color: #fff;
    font-size: clamp(19px, 1.55vw, 24px);
    font-weight: 500;
    line-height: 1.12;
}

.home-clients__note {
    margin-top: 16px;
    color: rgba(255, 255, 255, 0.72);
    font-size: 14px;
    line-height: 1.45;
}

.home-clients__accent {
    margin-top: auto;
    color: var(--primary);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.35;
}

@media (hover: hover) {
    .home-clients__item:not(.home-clients__item--summary):hover {
        border-color: #c9cbc8;
        background: #fafaf8;
    }

    .home-clients__item:not(.home-clients__item--summary):hover::after {
        width: 36px;
    }
}

@media (max-width: 991.98px) {
    .home-clients__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .home-clients__header {
        margin-bottom: 32px;
    }

    .home-clients__eyebrow {
        margin-bottom: 12px;
        font-size: 13px;
    }

    .home-clients__title {
        font-size: 34px;
    }

    .home-clients__item {
        --home-clients-card-padding-x: 24px;

        min-height: 164px;
        padding: 24px var(--home-clients-card-padding-x);
    }
}

@media (max-width: 575.98px) {
    .home-clients__grid {
        grid-template-columns: 1fr;
    }

    .home-clients__item {
        --home-clients-card-padding-x: 22px;

        min-height: 134px;
        padding: 21px var(--home-clients-card-padding-x);
    }
}

/* =========================================================
   HOME NEWS
   ========================================================= */

.home-news {
    padding: var(--home-section-space) 0;
    background: #fff;
}

.home-news__header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 42px;
}

.home-news__eyebrow {
    margin: 0 0 14px;
    color: var(--primary);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.08em;
    line-height: 1.2;
    text-transform: uppercase;
}

.home-news__title {
    margin: 0;
    color: var(--dark);
    font-size: clamp(36px, 2.7vw, 42px);
    font-weight: 600;
    line-height: 1.08;
    letter-spacing: -0.025em;
}

.home-news__action,
.home-news__action:hover,
.home-news__action:focus,
.home-news__action:active,
.home-news__link,
.home-news__link:hover,
.home-news__link:focus,
.home-news__link:active {
    text-decoration: none !important;
}

.home-news__action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 8px 16px;
    color: var(--dark);
    border: 1px solid #c9c9c6;
    background: transparent;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
    transition: border-color 0.2s ease, background-color 0.2s ease;
}

.home-news__action:hover,
.home-news__action:focus,
.home-news__action:active {
    color: var(--dark);
    border-color: var(--dark);
    background: #fff;
}

.home-news__action-arrow {
    margin-left: 8px;
    font-size: 1.15em;
    line-height: 1;
}

.home-news__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid #d8d8d6;
    border-left: 1px solid #d8d8d6;
}

.home-news__item {
    display: flex;
    flex-direction: column;
    min-width: 0;
    border-right: 1px solid #d8d8d6;
    border-bottom: 1px solid #d8d8d6;
}

.home-news__image-wrap {
    display: block;
    aspect-ratio: 16 / 9;
    overflow: hidden;
}

.home-news__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.home-news__content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    align-items: flex-start;
    padding: 18px 26px 26px;
}

.home-news__date {
    color: #737373;
    font-size: 13px;
    line-height: 1.35;
}

.home-news__item-title {
    margin: 10px 0 0;
    color: var(--dark);
    text-transform: none;
    font-size: clamp(16px, 1.25vw, 19px);
    font-weight: 500;
    line-height: 1.24;

    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    line-clamp: 4;
}

.home-news__link {
    display: inline-flex;
    align-items: center;
    margin-top: auto;
    padding-top: 20px;
    color: var(--primary);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    transition: color 0.2s ease;
}

.home-news__link:hover,
.home-news__link:focus,
.home-news__link:active {
    color: #b80011;
}

.home-news__link-arrow {
    margin-left: 8px;
    font-size: 1.15em;
    line-height: 1;
    transition: transform 0.2s ease;
}

.home-news__link:hover .home-news__link-arrow,
.home-news__link:focus .home-news__link-arrow {
    transform: translateX(3px);
}

@media (max-width: 991.98px) {
    .home-news__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .home-news__header {
        align-items: flex-start;
        flex-direction: column;
        margin-bottom: 32px;
    }

    .home-news__eyebrow {
        margin-bottom: 12px;
        font-size: 13px;
    }

    .home-news__title {
        font-size: 34px;
    }

    .home-news__content {
        padding: 18px 22px 24px;
    }
}

@media (max-width: 575.98px) {
    .home-news__grid {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   HOME ABOUT
   ========================================================= */

.home-about {
    padding: 0;
    background: #f6f6f4;
}

.home-about > .container {
    padding-top: 72px;
    padding-bottom: 72px;
}

.home-about__layout {
    display: grid;
    grid-template-columns: minmax(0, 13fr) minmax(0, 7fr);
    gap: clamp(32px, 3vw, 32px);
    align-items: start;
}

.home-about__content {
    max-width: 650px;
}

.home-about__eyebrow {
    margin: 0 0 14px;
    color: var(--primary);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.08em;
    line-height: 1.2;
    text-transform: uppercase;
}

.home-about__title {
    margin: 0;
    color: var(--dark);
    font-size: clamp(36px, 2.7vw, 42px);
    font-weight: 600;
    line-height: 1.08;
    letter-spacing: -0.025em;
}

.home-about__text {
    margin: 18px 0 0;
    color: #555;
    font-size: 17px;
    line-height: 1.6;
}

.home-about__action,
.home-about__action:hover,
.home-about__action:focus,
.home-about__action:active {
    text-decoration: none !important;
}

.home-about__action {
    display: inline-flex;
    align-items: center;
    margin-top: 28px;
    color: var(--primary);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.2;
    transition: color 0.2s ease;
}

.home-about__action:hover,
.home-about__action:focus,
.home-about__action:active {
    color: #b80011;
}

.home-about__action:focus-visible {
    outline: 2px solid var(--dark);
    outline-offset: 4px;
}

.home-about__action-arrow {
    margin-left: 10px;
    font-size: 1.2em;
    line-height: 0;
    transition: transform 0.2s ease;
    transform: translateY(-2px);
}

.home-about__action:hover .home-about__action-arrow,
.home-about__action:focus .home-about__action-arrow {
    transform: translate(3px, -2px);
}

.home-about__stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.home-about__stat {
    display: flex;
    flex-direction: column;
    min-height: 176px;
    padding: 20px;
}

.home-about__stat:nth-child(odd) {
    border-right: 1px solid #d8d8d6;
}

.home-about__stat:nth-child(n + 3) {
    border-top: 1px solid #d8d8d6;
}

.home-about__number {
    color: var(--dark);
    font-size: clamp(34px, 3vw, 46px);
    font-weight: 600;
    line-height: 1;
}

.home-about__label {
    max-width: 180px;
    margin-top: 18px;
    color: #626262;
    font-size: 14px;
    line-height: 1.45;
}

@media (max-width: 991.98px) {
.home-about {
        padding: 0;
    }

    .home-about > .container {
        padding: 64px 44px;
    }

    .home-about__layout {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    .home-about__content,
    .home-about__stats {
        max-width: 720px;
    }
}

@media (max-width: 767.98px) {
.home-about {
        padding: 0;
    }

    .home-about > .container {
        padding: 48px 24px;
    }

    .home-about__eyebrow {
        margin-bottom: 12px;
        font-size: 13px;
    }

    .home-about__title {
        font-size: 34px;
    }

    .home-about__text {
        margin-top: 16px;
        font-size: 16px;
    }

    .home-about__action {
        margin-top: 24px;
        font-size: 15px;
    }

    .home-about__layout {
        gap: 40px;
    }

    .home-about__stat {
        min-height: 154px;
        padding: 18px;
    }

    .home-about__number {
        font-size: 36px;
    }

    .home-about__label {
        margin-top: 14px;
        font-size: 13px;
    }
}

@media (max-width: 379.98px) {
    .home-about__stats {
        grid-template-columns: 1fr;
    }

    .home-about__stat,
    .home-about__stat:nth-child(odd) {
        min-height: 132px;
        border-right: 0;
    }

    .home-about__stat + .home-about__stat {
        border-top: 1px solid #d8d8d6;
    }
}

/* Mobile home page adjustments */
#header .header-mobile-contacts {
    display: none;
}

@media (max-width: 991.98px) {
    #header .header-nav-main nav > ul li > a {
        font-family: "Poppins", Arial, sans-serif;
        font-size: 14px;
        font-weight: 600;
        line-height: 28px;
        letter-spacing: 0;
        padding-top: 4px;
        padding-bottom: 12px;
    }

    #header .header-nav-main nav > ul {
        padding: 0;
    }

    #header .header-mobile-contacts {
        display: flex;
        align-items: center;
        gap: 16px;
        margin: 18px 0;
    }

    #header .header-mobile-contacts a {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        padding: 0;
        color: var(--dark);
        font-family: "Poppins", Arial, sans-serif;
        font-size: 14px;
        font-weight: 600;
        line-height: 20px;
        letter-spacing: 0;
        text-decoration: none;
        white-space: nowrap;
    }

    #header .header-mobile-contacts__icon {
        flex: 0 0 auto;
        color: var(--primary);
        font-size: 12px;
        line-height: 1;
    }
}

@media (max-width: 379.98px) {
    #header .header-mobile-contacts {
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
    }
}

@media (max-width: 767.98px) {
    #footer > .container > .row.py-5.my-4 {
        padding-top: 42px !important;
        padding-bottom: 42px !important;
        margin-top: 21px !important;
        margin-bottom: 21px !important;
    }

    #footer > .container > .row.py-5.my-4 > [class*="col-"] {
        margin-bottom: 21px !important;
    }

    #footer > .container > .row.py-5.my-4 li.mb-1 {
        margin-bottom: 3.5px !important;
    }
}

/* =========================================================
   INNER HERO
   ========================================================= */

.inner-hero {
    position: relative;
    overflow: hidden;
    padding: 52px 0 64px;
    color: #fff;
    background: #181818;
}

.inner-hero::before {
    position: absolute;
    z-index: 1;
    inset: 0;
    content: '';
    background: rgba(9, 9, 9, 0.56);
    pointer-events: none;
}

.inner-hero .parallax-background {
    z-index: 0;
}

.inner-hero > .container {
    position: relative;
    z-index: 2;
}

.inner-hero__breadcrumbs .breadcrumb {
    margin: 0 0 18px;
}

.inner-hero__breadcrumbs .breadcrumb > li,
.inner-hero__breadcrumbs .breadcrumb > li > a,
.inner-hero__breadcrumbs .breadcrumb > li + li:before {
    color: rgba(255, 255, 255, 0.5);
}

.inner-hero__breadcrumbs .breadcrumb > li {
    font-size: 13px;
    text-transform: none;
}

.inner-hero__breadcrumbs .breadcrumb > li.active {
    color: rgba(255, 255, 255, 0.7);
}

.inner-hero__title {
    margin: 0;
    color: #fff;
    font-size: clamp(36px, 4vw, 56px);
    font-weight: 600;
    line-height: 1.08;
    letter-spacing: -0.025em;
    text-transform: uppercase;
}

.inner-hero__subtitle {
    margin: 18px 0 0;
    color: var(--light);
    font-size: 1.3em;
    font-weight: 300;
    opacity: 0.7;
}

/* =========================================================
   PAYMENT & DELIVERY
   ========================================================= */

.payment-delivery {
    background: #fff;
}

.payment-delivery__section {
    padding: 88px 0;
}

.payment-delivery__section--payments {
    padding-top: 0;
}

.payment-delivery__header {
    margin-bottom: 42px;
}

.payment-delivery__title {
    margin: 0;
    color: var(--dark);
    font-size: clamp(30px, 3vw, 40px);
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: -0.025em;
    text-transform: uppercase;
}

.payment-delivery__lead {
    margin: 14px 0 0;
    color: #626262;
    font-size: 17px;
    line-height: 1.5;
}

.payment-delivery__delivery-grid,
.payment-delivery__payment-grid {
    display: grid;
    gap: 18px;
}

.payment-delivery__delivery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.payment-delivery__payment-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.payment-delivery__delivery-card,
.payment-delivery__payment-card {
    min-width: 0;
    border: 1px solid #d8d8d6;
    background: #fff;
}

.payment-delivery__delivery-card {
    padding: 20px 30px;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.payment-delivery__delivery-card:hover {
    border-color: var(--primary);
    box-shadow: 0 8px 24px rgba(0, 0, 0, .07);
}

.payment-delivery__delivery-card-header {
    display: flex;
    align-items: center;
    gap: 14px;
}

.payment-delivery__delivery-details {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: 18px;
    margin-top: 18px;
}

.payment-delivery__carrier-info {
    min-width: 0;
    height: 100%;
    padding: 20px 30px;
    border: 1px solid #d8d8d6;
    background: #f6f6f4;
    display: flex;
    flex-direction: column;
}

.payment-delivery__payment-card {
    padding: 16px 22px;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.payment-delivery__payment-card:hover {
    border-color: var(--primary);
    box-shadow: 0 8px 24px rgba(0, 0, 0, .07);
}

.payment-delivery__payment-note {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 24px;
    padding: 18px 24px;
    background: #f6f6f4;
}

.payment-delivery__payment-note-icon {
    flex: 0 0 auto;
    color: #1f2326;
    font-size: 16px;
    line-height: 1;
}

.payment-delivery__payment-note-text {
    min-width: 0;
    color: #5f6368;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
}

.payment-delivery__payment-card .payment-delivery__icon {
    margin-bottom: 14px;
    font-size: 24px;
}

.payment-delivery__icon {
    display: block;
    margin-bottom: 18px;
    color: var(--primary);
    font-size: 30px;
    line-height: 1;
}

.payment-delivery__delivery-card-header .payment-delivery__icon {
    flex: 0 0 auto;
    margin: 0;
}

.payment-delivery__delivery-card-header h3 {
    min-width: 0;
}

.payment-delivery__delivery-card h3,
.payment-delivery__carrier-info h3,
.payment-delivery__payment-card h3 {
    margin: 4px 0 0 0;
    color: var(--dark);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.15;
}

.payment-delivery__carrier-info h3 {
    font-size: 18px;
    text-transform: none;
}

.payment-delivery__delivery-card p,
.payment-delivery__payment-card p {
    margin: 14px 0 0;
    color: #626262;
    font-size: 14px;
    line-height: 1.5;
}

.payment-delivery__accent {
    font-weight: 500;
}

.payment-delivery__accent span{
    color: var(--primary) !important;
}

.payment-delivery__list,
.payment-delivery__warehouse-list {
    margin: 22px 0 0;
    padding: 0;
    list-style: none;
}

.payment-delivery__list li {
    position: relative;
    margin-top: 10px;
    padding-left: 18px;
    color: #626262;
    font-size: 14px;
    line-height: 1.45;
}

.payment-delivery__list li::before {
    position: absolute;
    top: 0.55em;
    left: 0;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--primary);
    content: "";
}

.payment-delivery__delivery-card .payment-delivery__list {
    margin-top: 20px;
    padding-top: 18px;
    border-top: 1px solid #e5e5e5;
}

.payment-delivery__delivery-card .payment-delivery__list li {
    display: flex;
    gap: 10px;
    margin-top: 0;
    padding-left: 0;
    padding-bottom: 4px;
}

.payment-delivery__delivery-card .payment-delivery__list li + li {
    margin-top: 10px;
}

.payment-delivery__delivery-card .payment-delivery__list li::before {
    content: none;
}

.payment-delivery__list-icon {
    flex: 0 0 16px;
    min-width: 16px;
    width: 16px;
    margin-top: 0.1em;
    color: var(--primary);
    font-size: 16px;
    line-height: 1;
    text-align: center;
}

.payment-delivery__carrier-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin-top: 12px;
}

.payment-delivery__carrier-grid span {
    padding: 4px 4px;
    border: 1px solid #e5e5e3;
    color: var(--dark);
    font-size: 13px;
    font-weight: 600;
    line-height: 2.2;
    text-align: center;
}

.payment-delivery__note {
    margin: 10px 0 0 0 !important;
    font-size: 13px !important;
}

.payment-delivery__warning {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    height: 100%;
    padding: 20px 30px;
    border: 1px solid rgba(226, 0, 21, 0.1);
    background: #fff5f5;
}

.payment-delivery__warning-icon {
    flex: 0 0 auto;
    margin-top: 2px;
    color: var(--primary);
    font-size: 30px;
}

.payment-delivery__warning p {
    margin: 0;
    color: #4d3a3a;
    font-size: 15px;
    line-height: 1.5;
}

.payment-delivery__warning p + p {
    margin-top: 8px;
}

.payment-delivery__warehouses {
    width: 100%;
    padding: 52px 0 100px 0;
    color: #fff;
    background: #191b1d;
}

.payment-delivery__warehouses .payment-delivery__title {
    color: #fff;
}

.payment-delivery__warehouses-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
    align-items: center;
}

.payment-delivery__warehouse-list {
    display: grid;
    margin-top: 40px;
    gap: 28px;
}

.payment-delivery__warehouse-list li {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    color: rgba(255, 255, 255, 0.8);
    font-size: 16px;
    line-height: 1.45;
}

.payment-delivery__warehouse-list i {
    flex: 0 0 20px;
    margin-top: 2px;
    color: var(--primary);
    font-size: 18px;
    text-align: center;
}

.payment-delivery__map {
    display: flex;
    align-self: start;
    justify-content: center;
    margin-top: -12px;
    background: transparent;
}

.payment-delivery__map img {
    display: block;
    max-width: 100%;
    width: 100%;
    height: auto;
}

.payment-delivery__cta {
    display: flex;
    gap: 28px;
    align-items: center;
    justify-content: space-between;
    margin-top: 36px;
    padding: 22px 34px;
    color: var(--dark);
    background: #fff;
}

.payment-delivery__cta h2,
.payment-delivery__cta p {
    margin: 0;
}

.payment-delivery__cta h2 {
    font-size: 26px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -0.02em;
}

.payment-delivery__cta p {
    max-width: 640px;
    margin-top: 7px;
    color: #626262;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.5;
}

.payment-delivery__cta-button {
    flex: 0 0 auto;
    padding: 13px 20px;
    border: 1px solid var(--primary);
    border-radius: 0;
    color: #fff;
    background: var(--primary);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
}

.payment-delivery__cta-button:hover,
.payment-delivery__cta-button:focus {
    border-color: #b80012;
    color: #fff;
    background: #b80012;
}

.payment-delivery__cta-button i {
    margin-right: 8px;
}

@media (max-width: 991.98px) {
    .payment-delivery__delivery-grid,
    .payment-delivery__delivery-details,
    .payment-delivery__payment-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .payment-delivery__delivery-card {
        padding: 19px 26px;
    }

    .payment-delivery__payment-card {
        padding: 16px 20px;
    }

    .payment-delivery__warehouses-grid {
        grid-template-columns: 1fr;
    }

    .payment-delivery__map {
        margin-top: 0;
    }

}

@media (max-width: 767.98px) {
    .inner-hero {
        padding: 37px 0 42px;
    }

    .inner-hero__breadcrumbs .breadcrumb {
        margin-bottom: 14px;
    }

    .inner-hero__title {
        font-size: clamp(34px, 9vw, 46px);
    }

    .payment-delivery__section,
    .payment-delivery__warehouses {
        padding: 64px 0;
    }

    .payment-delivery__section--payments {
        padding-top: 0;
    }

    .payment-delivery__header {
        margin-bottom: 30px;
    }

    .payment-delivery__delivery-grid,
    .payment-delivery__delivery-details,
    .payment-delivery__payment-grid {
        gap: 14px;
    }

    .payment-delivery__delivery-grid,
    .payment-delivery__delivery-details {
        grid-template-columns: 1fr;
    }

    .payment-delivery__warning,
    .payment-delivery__carrier-info {
        height: auto;
    }

    .payment-delivery__cta {
        align-items: flex-start;
        flex-direction: column;
        margin-top: 48px;
        padding: 18px 26px;
    }
}

@media (max-width: 575.98px) {
    .payment-delivery__delivery-grid,
    .payment-delivery__delivery-details,
    .payment-delivery__payment-grid {
        grid-template-columns: 1fr;
    }

    .payment-delivery__delivery-card {
        padding: 17px 24px;
    }

    .payment-delivery__warning,
    .payment-delivery__carrier-info {
        height: auto;
    }

    .payment-delivery__payment-card {
        padding: 16px 20px;
    }

    .payment-delivery__payment-note {
        gap: 12px;
        padding: 15px 16px;
    }

    .payment-delivery__carrier-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .payment-delivery__warning {
        gap: 9px;
        padding: 20px;
    }


    .payment-delivery__cta-button {
        width: 100%;
        text-align: center;
    }
}

/* =========================================================
   END PRODUCT HARDENER SELECTOR — DEMO
   ========================================================= */

/* =========================================================
   TECHNOLOGIES LIST
   ========================================================= */

.technologies-list {
    padding: 72px 0 80px;

    color: #1d1d1f;
    background: #fff;
}

.technologies-list__items {
    border-top: 1px solid #e5e5e5;
}

.technologies-list__item {
    position: relative;
    border-bottom: 1px solid #e5e5e5;
}

.technologies-list__toggle {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 24px;
    gap: 32px;
    align-items: center;
    width: 100%;
    padding: 15px 0;

    border: 0;
    color: inherit;
    background: transparent;
    cursor: pointer;
    text-align: left;
}

.technologies-list__toggle:focus-visible,
.technologies-list__link:focus-visible,
.technologies-list__cta-button:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: 4px;
}

.technologies-list__heading {
    width: calc((100% - 56px) * 0.45);
    min-width: 0;
}

.technologies-list__title {
    color: #1d1d1f;
    font-size: 24px;
    font-weight: 600;
    line-height: 1.15;
    transition: color 0.2s ease;
}

.technologies-list__intro {
    margin: 0;

    color: #6e6e73;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.55;
    text-align: right;
}

@media (min-width: 768px) {
    .technologies-list__item:not(.is-open) {
        display: grid;
        grid-template-columns: minmax(0, 0.45fr) minmax(0, 0.55fr) 32px 24px;
        align-items: center;
    }

    .technologies-list__item:not(.is-open) .technologies-list__toggle {
        grid-row: 1;
        grid-column: 1 / -1;
        align-self: stretch;
    }

    .technologies-list__item:not(.is-open) .technologies-list__intro {
        position: static;
        z-index: 1;
        grid-row: 1;
        grid-column: 2;
        width: auto;
        transform: none;
        align-self: center;
        pointer-events: none;
    }
}

.technologies-list__indicator {
    position: relative;
    width: 18px;
    height: 18px;
    transform: translateY(4px);
}

.technologies-list__indicator::before,
.technologies-list__indicator::after {
    position: absolute;
    top: 8px;
    left: 1px;
    width: 16px;
    height: 1px;

    content: '';
    background: #1d1d1f;
    transition: transform 0.2s ease, background-color 0.2s ease;
}

.technologies-list__indicator::after {
    transform: rotate(90deg);
}

.technologies-list__details {
    display: none;
    grid-template-columns: 1fr;
    gap: 20px;
    align-items: start;
    padding: 0;
}

.technologies-list__item.is-open .technologies-list__details {
    display: grid;
}

.technologies-list__details--with-visual {
    grid-template-columns: minmax(0, 1.2fr) minmax(240px, 0.8fr);
}

.technologies-list__item.is-open {
    box-shadow: inset 2px 0 0 var(--primary);
    background: #fafafa;
}

.technologies-list__item.is-open .technologies-list__toggle {
    padding-right: 32px;
    padding-left: 28px;
}

.technologies-list__item.is-open .technologies-list__details {
    padding: 8px 32px 18px 28px;
}

.technologies-list__item.is-open .technologies-list__title {
    color: #1d1d1f;
}

.technologies-list__item.is-open .technologies-list__heading {
    width: auto;
}

.technologies-list__item.is-open .technologies-list__intro {
    max-width: 660px;
    margin: 8px 32px 28px 28px;

    color: #6b6f73;
    font-size: 16px;
    line-height: 1.5;
    text-align: left;
}

.technologies-list__item.is-open .technologies-list__indicator::before,
.technologies-list__item.is-open .technologies-list__indicator::after {
    background: var(--primary);
}

.technologies-list__item.is-open .technologies-list__indicator::after {
    transform: rotate(0deg);
}

.technologies-list__content {
    display: grid;
    gap: 14px;
}

.technologies-list__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 13px;
    align-items: center;
}

.technologies-list__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 43px;
    padding: 0 17px;

    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.2;
    text-decoration: none;
    text-transform: none;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

a.technologies-list__link,
a.technologies-list__link:hover,
a.technologies-list__link:focus,
a.technologies-list__link:focus-visible,
a.technologies-list__link:active {
    text-decoration: none;
}

.technologies-list__link--primary {
    border: 1px solid var(--primary);
    color: #fff;
    background: var(--primary);
}

.technologies-list__link--primary:hover,
.technologies-list__link--primary:focus {
    border-color: #b80011;
    color: #fff;
    background: #b80011;
    text-decoration: none;
}

.technologies-list__link:not(.technologies-list__link--primary) {
    border: 1px solid #bfc1c4;
    color: #1d1d1f;
    background: transparent;
}

.technologies-list__link:not(.technologies-list__link--primary):hover,
.technologies-list__link:not(.technologies-list__link--primary):focus {
    border-color: var(--primary);
    color: var(--primary);
    background: #fff;
    text-decoration: none;
}

.technologies-list__link:not(.technologies-list__link--primary) span {
    margin-left: 8px;
    font-size: 1.15em;
    line-height: 1;
    transition: transform 0.2s ease;
}

.technologies-list__link:not(.technologies-list__link--primary):hover span,
.technologies-list__link:not(.technologies-list__link--primary):focus span {
    transform: translateX(3px);
}

.technologies-list__visual {
    width: 100%;
    max-width: 400px;
    justify-self: end;
}

.technologies-list__visual img {
    display: block;
    width: 100%;
    height: auto;
}

@media (min-width: 768px) {
    .technologies-list__item.is-open {
        display: grid;
        grid-template-columns: minmax(0, 1.2fr) minmax(240px, 0.8fr);
    }

    .technologies-list__item.is-open .technologies-list__toggle {
        grid-column: 1 / -1;
    }

    .technologies-list__item.is-open .technologies-list__intro {
        grid-column: 1;
        margin: 8px 0 16px 28px;
    }

    .technologies-list__item.is-open .technologies-list__details {
        grid-column: 1 / -1;
    }

    .technologies-list__item.is-open .technologies-list__details--with-visual {
        display: contents;
        padding: 0;
    }

    .technologies-list__item.is-open .technologies-list__details--with-visual .technologies-list__content {
        grid-column: 1;
        margin: 0 0 18px 28px;
    }

    .technologies-list__item.is-open .technologies-list__visual {
        grid-row: 2 / span 2;
        grid-column: 2;
        align-self: start;
        box-sizing: border-box;
        padding: 6px 32px 18px 0;
    }
}

.technologies-list__cta {
    display: flex;
    gap: 32px;
    align-items: center;
    justify-content: space-between;
    margin-top: 56px;
    padding: 28px 32px;

    color: #1f2326;
    background: #f7f7f7;
}

.technologies-list__cta-content {
    max-width: 720px;
}

.technologies-list__cta-title,
.technologies-list__cta-text {
    margin: 0;
}

.technologies-list__cta-title {
    font-size: 22px;
    font-weight: 600;
    line-height: 1.25;
}

.technologies-list__cta-text {
    margin-top: 8px;

    color: #5f6368;
    font-size: 15px;
    line-height: 1.5;
}

.technologies-list__cta-button {
    flex: 0 0 auto;
    padding: 14px 22px;

    border: 1px solid var(--primary);
    color: #fff;
    background: var(--primary);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
}

a.technologies-list__cta-button,
a.technologies-list__cta-button:hover,
a.technologies-list__cta-button:focus,
a.technologies-list__cta-button:focus-visible,
a.technologies-list__cta-button:active {
    text-decoration: none;
}

.technologies-list__cta-button:hover,
.technologies-list__cta-button:focus {
    border-color: #b80012;
    color: #fff;
    background: #b80012;
    text-decoration: none;
}

@media (max-width: 767.98px) {
    .technologies-list {
        padding: 64px 0 72px;
    }

    .technologies-list__toggle {
        grid-template-columns: 1fr 20px;
        gap: 12px 16px;
        padding: 20px 0;
    }

    .technologies-list__heading {
        width: auto;
    }

    .technologies-list__title {
        font-size: 24px;
    }

    .technologies-list__intro {
        font-size: 13px;
    }

    .technologies-list__item:not(.is-open) .technologies-list__intro {
        position: static;
        width: auto;
        margin: -12px 36px 20px 0;
        transform: none;
        text-align: left;
    }

    .technologies-list__indicator {
        margin-top: 6px;
    }

    .technologies-list__details {
        grid-template-columns: 1fr;
        gap: 20px;
        padding: 0;
    }

    .technologies-list__item.is-open .technologies-list__toggle {
        padding-right: 20px;
        padding-left: 18px;
    }

    .technologies-list__item.is-open .technologies-list__details {
        padding: 0 20px 18px 18px;
    }

    .technologies-list__item.is-open .technologies-list__intro {
        margin: 0px 20px 14px 18px;
        font-size: 15px;
    }

    .technologies-list__actions {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }

    .technologies-list__link {
        max-width: 100%;
    }

    .technologies-list__visual {
        max-width: 100%;
        margin-top: 0;
        justify-self: start;
    }

    .technologies-list__cta {
        align-items: flex-start;
        flex-direction: column;
        gap: 20px;
        margin-top: 40px;
        padding: 24px;
    }

    .technologies-list__cta-button {
        width: 100%;
        text-align: center;
    }
}

@media (min-width: 1440px) {
    .container:not(.container-bs):not(.container-xl-custom):not(.container-xxl-custom) {
        max-width: 1280px;
    }
}

/* Search page */
.search-page {
    padding: 3rem 0 4rem;
}

.search-page__form {
    max-width: 760px;
    margin-bottom: 1.5rem;
}

.search-page__form .form-control,
.search-page__form .btn {
    min-height: 48px;
}

.search-page__hint,
.search-page__summary {
    margin-bottom: 1.5rem;
    color: #666;
}

.search-result {
    padding: 1.25rem 0;
    border-bottom: 1px solid #e9e9e9;
}

.search-result__title {
    margin: 0 0 .5rem;
    font-size: 1.25rem;
    font-weight: 400;
}

.search-page .search-result__title a,
.search-page .search-result__link {
    color: var(--primary);
}

.search-page .search-result__title a:visited,
.search-page .search-result__link:visited {
    color: var(--primary);
}

.search-page .search-result__title a:hover,
.search-page .search-result__title a:focus,
.search-page .search-result__link:hover,
.search-page .search-result__link:focus {
    color: var(--primary-200);
}

.search-result__excerpt {
    margin-bottom: .5rem;
    color: #666;
}

.search-results__pagination {
    margin-top: 2rem;
}

@media (max-width: 575.98px) {
    .search-page {
        padding: 2rem 0 3rem;
    }

    .search-page__form .input-group {
        flex-wrap: nowrap;
    }

    .search-page__form .btn {
        padding-right: 1rem;
        padding-left: 1rem;
    }
}

/* Cabinet dashboard */
.cabinet-header-account {
    position: relative;
}

.cabinet-header-account__trigger {
    display: inline-flex;
    align-items: center;
    min-width: 0;
    gap: .45rem;
    color: inherit;
    text-decoration: none;
}

#header .header-nav-features .cabinet-header-account .cabinet-header-account__trigger {
    text-transform: none;
}

.cabinet-header-account__trigger:hover,
.cabinet-header-account__trigger:focus,
.cabinet-header-account__trigger:visited {
    color: inherit;
    text-decoration: none;
}

.cabinet-header-account__name {
    display: block;
    max-width: 10rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cabinet-header-account__greeting {
    flex: 0 0 auto;
    white-space: nowrap;
}

.cabinet-header-menu,
.cabinet-header-auth {
    width: min(13.25rem, calc(100vw - 2rem));
    border: 1px solid #dedede;
    border-radius: 3px;
    box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .08);
    background: #fff;
}

#header .header-nav-features .cabinet-header-account .cabinet-header-menu {
    width: min(16.25rem, calc(100vw - 2rem));
    min-width: min(16.25rem, calc(100vw - 2rem));
    padding: .875rem 1.25rem;
}

.cabinet-header-menu__links {
    display: flex;
    flex-direction: column;
}

.cabinet-header-menu__link {
    display: flex;
    align-items: center;
    gap: .65rem;
    min-height: 2.5rem;
    padding: .5rem 0;
    color: #303030;
    font-size: .875rem;
    line-height: 1.25;
    text-decoration: none !important;
    transition: color .2s ease;
}

.cabinet-header-menu__link:visited,
.cabinet-header-menu__link:hover,
.cabinet-header-menu__link:focus,
.cabinet-header-menu__link:active {
    text-decoration: none !important;
}

.cabinet-header-menu__link:visited {
    color: #303030;
}

.cabinet-header-menu__link:hover,
.cabinet-header-menu__link:focus {
    color: var(--primary);
}

.cabinet-header-menu__link:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: -2px;
}

.cabinet-header-menu__link i {
    flex: 0 0 1rem;
    width: 1rem;
    font-size: .95rem;
    text-align: center;
}

.cabinet-header-menu__divider {
    display: block;
    height: 1px;
    margin: .375rem 0;
    background: #dedede;
}

.cabinet-header-menu__link--logout:hover,
.cabinet-header-menu__link--logout:focus {
    color: var(--primary);
}

.cabinet-header-auth {
    width: min(21rem, calc(100vw - 2rem));
    padding: 1.25rem;
}

.cabinet-header-auth .signin-form,
.cabinet-header-auth form {
    margin: 0;
}

.cabinet-header-auth .form-control:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 1px var(--primary);
}

.cabinet-header-auth [data-cabinet-feedback],
.cabinet-header-auth [data-cabinet-message] {
    font-size: .8125rem;
}

.cabinet-header-auth__message:empty {
    display: none;
}

.cabinet-header-auth .extra-actions {
    margin-top: 1rem;
}

.cabinet-header-auth .extra-actions p {
    margin: 0;
}

.cabinet-header-auth a:hover,
.cabinet-header-auth a:focus {
    color: var(--primary);
    text-decoration: none;
}

@media (max-width: 575.98px) {
    .cabinet-header-account__greeting {
        display: none;
    }

    .cabinet-header-account__name {
        max-width: 7rem;
    }
}

.cabinet-dashboard {
    padding-top: .5rem;
    padding-bottom: .5rem;
}

.cabinet-dashboard__intro {
    margin-bottom: 1.5rem;
}

.cabinet-dashboard__eyebrow,
.cabinet-dashboard__greeting,
.cabinet-dashboard__description {
    margin: 0;
}

.cabinet-dashboard__eyebrow {
    margin-bottom: .35rem;
    color: var(--primary);
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .08em;
    line-height: 1.2;
    text-transform: uppercase;
}

.cabinet-dashboard__greeting {
    color: #1f2326;
    font-size: 1.25rem;
    line-height: 1.35;
}

.cabinet-dashboard__greeting strong {
    font-weight: 600;
}

.cabinet-dashboard__description {
    max-width: 42rem;
    margin-top: .35rem;
    color: #666;
    font-size: .9375rem;
    line-height: 1.5;
}

.cabinet-dashboard__card {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 104px;
    padding: 1.25rem;
    border: 1px solid #dedede;
    border-radius: 2px;
    color: #1f2326;
    background: #fff;
    text-decoration: none;
    transition: border-color .2s ease, background-color .2s ease;
}

.cabinet-dashboard__card:hover,
.cabinet-dashboard__card:focus {
    border-color: var(--primary);
    color: #1f2326;
    background: #fffafa;
    text-decoration: none;
}

.cabinet-dashboard__card:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
}

.cabinet-dashboard__icon {
    flex: 0 0 auto;
    width: 2.5rem;
    margin-right: 1rem;
    color: var(--primary);
    font-size: 1.5rem;
    line-height: 1;
    text-align: center;
}

.cabinet-dashboard__card-content,
.cabinet-dashboard__card-title,
.cabinet-dashboard__card-text {
    display: block;
}

.cabinet-dashboard__card-title {
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.3;
}

.cabinet-dashboard__card-text {
    margin-top: .2rem;
    color: #666;
    font-size: .8125rem;
    line-height: 1.4;
}

.cabinet-dashboard__card--logout:hover,
.cabinet-dashboard__card--logout:focus {
    border-color: #b80012;
    background: #fff8f8;
}

.cabinet-dashboard__card--logout:hover .cabinet-dashboard__icon,
.cabinet-dashboard__card--logout:focus .cabinet-dashboard__icon {
    color: #b80012;
}

.cabinet-dashboard__card,
.cabinet-dashboard__card:hover,
.cabinet-dashboard__card:focus {
    text-decoration: none;
}

/* Cabinet section navigation */
.cabinet-nav {
    display: flex;
    position: relative;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin: -.5rem 0 2.5rem;
    padding: .5rem 0 0;
    border-bottom: 1px solid #dedede;
}

.cabinet-nav__links {
    display: flex;
    align-items: center;
    gap: 1.25rem;
}

.cabinet-nav__link {
    display: inline-flex;
    position: relative;
    align-items: center;
    min-height: 2.5rem;
    gap: .5rem;
    padding: .5rem 0;
    color: #1f2326;
    font-size: .9375rem;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    transition: color .2s ease;
}

.cabinet-nav__link:hover,
.cabinet-nav__link:focus {
    color: var(--primary);
    text-decoration: none;
}

.cabinet-nav__link,
.cabinet-nav__link:hover,
.cabinet-nav__link:focus,
.cabinet-nav__link:focus-visible {
    text-decoration: none !important;
}

.cabinet-nav__link:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
}

.cabinet-nav__link--active {
    color: var(--primary);
}

.cabinet-nav__link--active::after {
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    height: 2px;
    background: var(--primary);
    content: "";
}

.cabinet-nav__icon {
    flex: 0 0 auto;
    width: 1rem;
    font-size: 1rem;
    line-height: 1;
    text-align: center;
}

.cabinet-nav__logout {
    margin-left: auto;
    color: #4d4d4d;
}

.cabinet-nav__logout:hover,
.cabinet-nav__logout:focus {
    color: var(--primary);
}

.cabinet .order-stats__item {
    padding-top: .85rem !important;
    padding-bottom: .85rem !important;
}

/* Cabinet orders: restrained storefront presentation. */
.cabinet-orders .order-stats {
    gap: .75rem !important;
    margin-bottom: 2.25rem !important;
}

.cabinet-orders .order-stats__item {
    flex: 1 1 0;
    min-width: 0;
    padding: 1.1875rem 1rem !important;
    border-color: #dedede !important;
    border-radius: 3px !important;
    box-shadow: none !important;
    background: #fff;
}

.cabinet-orders .order-stats__icon {
    flex: 0 0 2.125rem;
    width: 2.125rem;
    height: 2.125rem;
    padding: .5rem !important;
}

.cabinet-orders .order-stats__icon svg {
    width: 1.125rem;
    height: 1.125rem;
}

.cabinet-orders .order-stats__val {
    color: #1f2326;
    font-size: 1.0625rem !important;
    font-weight: 600;
}

.cabinet-orders .order-stats__item--amount .order-stats__val {
    color: var(--primary);
}

.cabinet-orders .order-stats__label,
.cabinet-orders .order-info__item-label,
.cabinet-orders .order-filter__label {
    color: #6b6b6b !important;
    font-size: .82rem;
    line-height: 1.35;
}

.cabinet-orders__filter {
    margin-bottom: 2.25rem !important;
    padding: 1.1875rem 1.25rem !important;
    border-color: #dedede !important;
    border-radius: 3px !important;
    box-shadow: none !important;
    background: #fff;
}

.cabinet-orders .order-filter__form,
.cabinet-orders .order-filter__fields {
    gap: .75rem !important;
}

.cabinet-orders .order-filter__input,
.cabinet-orders .order-filter__btn {
    min-height: 36px;
    border-radius: 2px;
}

.cabinet-orders .order-filter__input {
    min-width: 9.5rem;
    border-color: #cfcfcf;
}

.cabinet-orders .order-filter__input:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 1px var(--primary);
}

.cabinet-orders .order-filter__actions {
    gap: .5rem !important;
}

.cabinet-orders .order-filter__btn,
.cabinet-orders .order__action {
    justify-content: center;
    min-height: 34px;
    padding: .4rem .7rem;
    border-radius: 2px;
    font-size: .8125rem;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
}

.cabinet-orders .order-filter__btn:hover,
.cabinet-orders .order-filter__btn:focus,
.cabinet-orders .order__action:hover,
.cabinet-orders .order__action:focus {
    text-decoration: none;
}

.cabinet-orders__list {
    gap: 2.25rem !important;
}

.cabinet-orders .cabinet-order-card {
    padding: 0 1.25rem !important;
    border-color: #dedede !important;
    border-radius: 3px !important;
    box-shadow: none !important;
    background: #fff;
}

.cabinet-orders .cabinet-order-card__header {
    gap: 1rem !important;
    padding: 1.4375rem 0 !important;
    border-color: #dedede !important;
}

.cabinet-orders .order-info {
    gap: 2.6rem !important;
}

.cabinet-orders .order-info__item-val {
    color: #1f2326;
}

.cabinet-orders .order-info__item--status .badge,
.cabinet-order-details .order-info__item--status .badge {
    justify-content: center;
    border-radius: 50rem !important;
    color: #fff !important;
    font-size: .75rem;
    line-height: 1.2;
}

.cabinet-orders .order__body {
    padding: .25rem 0;
}

.cabinet-orders .cabinet-order-product {
    margin: 1.5rem 0 !important;
    padding: .5rem 0;
}

.cabinet-orders .order__item-thumb {
    max-width: 126px;
    height: 100px;
    border-radius: 2px !important;
    object-fit: contain;
}

.cabinet-orders .cabinet-order-product .order__item-media > a,
.cabinet-order-details .cabinet-order-product .order__item-media > a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 126px;
    height: 100px;
}

.cabinet-orders .cabinet-order-product .order__item-thumb,
.cabinet-order-details .cabinet-order-product .order__item-thumb {
    width: 100% !important;
}

.cabinet-orders .order__item-title a,
.cabinet-orders .order__item-title a:visited {
    color: #1f2326;
    text-decoration: none;
    transition: color .2s ease;
}

.cabinet-orders .order__item-title a:hover,
.cabinet-orders .order__item-title a:focus {
    color: var(--primary);
    text-decoration: none;
}

.cabinet-orders .order__action--details,
.cabinet-orders .order__action--details:visited,
.cabinet-orders .order__action--details:hover,
.cabinet-orders .order__action--details:focus,
.cabinet-orders .order__action--details:active {
    color: #495057 !important;
    border-color: #adb5bd !important;
    background: #fff;
    text-decoration: none;
}

.cabinet-orders .order__action--details:hover,
.cabinet-orders .order__action--details:focus,
.cabinet-orders .order__action--details:active {
    color: #343a40 !important;
    border-color: #6c757d !important;
    background: #f8f9fa;
}

.cabinet-orders .order__item-price {
    color: #1f2326;
    font-size: 1rem;
}

.cabinet-orders .order__item-title,
.cabinet-order-details .order__item-title {
    font-size: 1.0625rem;
    line-height: 1.4;
}

.cabinet-orders .order__item-price,
.cabinet-order-details .order__item-price {
    font-size: 1.125rem;
    line-height: 1.35;
}

.cabinet-orders .order__item-action--reorder,
.cabinet-order-details .order__item-action--reorder {
    min-height: 32px;
    padding: .35rem .65rem;
}

.cabinet-orders .order__item-footer {
    gap: 1rem !important;
    margin-top: 1.3125rem !important;
}

.cabinet-orders .cabinet-order-product .order__item-header {
    margin-bottom: 1.5rem !important;
}

.cabinet-orders .order__item-footer .order-info__item {
    gap: .75rem !important;
}

@media (min-width: 992px) {
    .cabinet-orders .cabinet-order-product .order__item-content,
    .cabinet-order-details .cabinet-order-product .order__item-content {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        column-gap: 1.5rem;
        row-gap: .85rem;
    }

    .cabinet-orders .cabinet-order-product .order__item-header,
    .cabinet-orders .cabinet-order-product .order__item-footer,
    .cabinet-order-details .cabinet-order-product .order__item-header,
    .cabinet-order-details .cabinet-order-product .order__item-footer {
        display: contents !important;
    }

    .cabinet-orders .cabinet-order-product .order__item-title,
    .cabinet-order-details .cabinet-order-product .order__item-title {
        grid-column: 1;
        grid-row: 1;
        align-self: center;
    }

    .cabinet-orders .cabinet-order-product .order__item-price,
    .cabinet-order-details .cabinet-order-product .order__item-price {
        grid-column: 2;
        grid-row: 1;
        align-self: center;
        text-align: right;
    }

    .cabinet-orders .cabinet-order-product .order__item-footer > .order-info__item,
    .cabinet-order-details .cabinet-order-product .order__item-footer > .order-info__item {
        grid-column: 1;
        grid-row: 2;
        align-self: start;
    }

    .cabinet-orders .cabinet-order-product .order__item-footer > .order__actions,
    .cabinet-order-details .cabinet-order-product .order__item-footer > .order__actions {
        grid-column: 2;
        grid-row: 2;
        justify-self: end;
        align-self: start;
    }

    .cabinet-orders .order__item-footer,
    .cabinet-order-details .order__item-footer {
        margin-top: 0 !important;
    }
}

.cabinet-orders .order__body hr {
    margin: 1.25rem 0 !important;
    border-color: #dedede;
    opacity: 1;
}

/* The order summary on the details page uses the same visual language. */
.cabinet-order-details .cabinet-order-card {
    padding: 0 1.25rem !important;
    border-color: #dedede !important;
    border-radius: 3px !important;
    box-shadow: none !important;
    background: #fff;
}

.cabinet-order-details .cabinet-order-card__header {
    gap: 1rem !important;
    padding: 1.4375rem 0 !important;
    border-color: #dedede !important;
}

.cabinet-order-details .order-info {
    gap: 2.6rem !important;
}

.cabinet-order-details .order-info__item-label {
    color: #6b6b6b !important;
    font-size: .82rem;
    line-height: 1.35;
}

.cabinet-order-details .order-info__item-val {
    color: #1f2326;
}

.cabinet-order-details .order__body {
    padding: .25rem 0;
}

.cabinet-order-details .cabinet-order-product {
    margin: 1.5rem 0 !important;
    padding: .5rem 0;
}

.cabinet-order-details .order__item-thumb {
    max-width: 126px;
    height: 100px;
    border-radius: 2px !important;
    object-fit: contain;
}

.cabinet-order-details .order__item-title a,
.cabinet-order-details .order__item-title a:visited {
    color: #1f2326;
    text-decoration: none;
    transition: color .2s ease;
}

.cabinet-order-details .order__item-title a:hover,
.cabinet-order-details .order__item-title a:focus {
    color: var(--primary);
    text-decoration: none;
}

.cabinet-order-details .order__item-price {
    color: #1f2326;
    font-size: 1rem;
}

.cabinet-order-details .order__item-footer {
    gap: 1rem !important;
    margin-top: 1.3125rem !important;
}

.cabinet-order-details .cabinet-order-product .order__item-header {
    margin-bottom: 1.5rem !important;
}

.cabinet-order-details .order__item-footer .order-info__item {
    gap: .75rem !important;
}

.cabinet-order-details .order__body hr {
    margin: 1.25rem 0 !important;
    border-color: #dedede;
    opacity: 1;
}

.cabinet-orders__empty {
    padding: 1rem 1.25rem;
    border: 1px solid #dedede;
    border-radius: 3px;
    color: #4d4d4d;
    background: #f8f8f8;
}

.cabinet-orders__empty svg {
    color: var(--primary);
}

@media (max-width: 1199.98px) {
    .cabinet-orders .order-stats__item {
        flex: 1 1 calc(50% - .375rem);
    }
}

@media (max-width: 991.98px) {
    .cabinet-orders .order-toggles {
        display: flex;
        gap: .5rem;
        margin-bottom: 1.5rem !important;
    }
}

@media (max-width: 767.98px) {
    .cabinet-orders .cabinet-order-card {
        padding: 0 1rem !important;
    }

    .cabinet-order-details .cabinet-order-card {
        padding: 0 1rem !important;
    }

    .cabinet-orders .order-info {
        gap: .5rem !important;
    }

    .cabinet-order-details .order-info {
        gap: .5rem !important;
    }

    .cabinet-orders .order-info__item {
        align-items: baseline;
    }

    .cabinet-order-details .order-info__item {
        align-items: baseline;
    }

    .cabinet-orders .order__actions,
    .cabinet-orders .order-filter__actions,
    .cabinet-order-details .order__actions {
        width: 100%;
    }

    .cabinet-orders .order__action,
    .cabinet-orders .order-filter__btn,
    .cabinet-order-details .order__action {
        flex: 1 1 auto;
    }

    .cabinet-orders .order__item-media {
        text-align: left !important;
    }

    .cabinet-order-details .order__item-media {
        text-align: left !important;
    }

    .cabinet-orders .order__item-thumb {
        max-width: 106px;
        height: 84px;
    }

    .cabinet-order-details .cabinet-order-product .order__item-media > a {
        width: 106px;
        height: 84px;
    }

    .cabinet-order-details .order__item-thumb {
        max-width: 106px;
        height: 84px;
    }

    .cabinet-orders .order__item-footer .order-info__item {
        flex-wrap: wrap;
        row-gap: .25rem !important;
    }

    .cabinet-order-details .order__item-footer .order-info__item {
        flex-wrap: wrap;
        row-gap: .25rem !important;
    }
}

/* Cabinet profile */
.cabinet-profile { max-width: 900px; padding-bottom: 2.25rem; color: #1f2326; }
.cabinet-profile__section { padding: 0; background: #fff; }
.cabinet-profile__section + .cabinet-profile__section { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid #dedede; }
.cabinet-profile__avatar-row { display: flex; align-items: center; gap: 1rem; padding-bottom: 1.5rem; border-bottom: 1px solid #dedede; }
.cabinet-profile__avatar { display: flex; flex: 0 0 88px; align-items: center; justify-content: center; width: 88px; height: 88px; overflow: hidden; border: 1px solid #dedede; border-radius: 50%; cursor: pointer; }
.cabinet-profile .profile__avatar .avatar__image { display: block; width: 100%; height: auto; max-height: 100%; object-fit: cover; }
.cabinet-profile__avatar-copy { min-width: 0; }
.cabinet-profile__avatar-actions { display: flex; flex-wrap: wrap; gap: .5rem; margin-left: auto; }
.cabinet-profile__subheading { margin: 0 0 .8rem; color: #1f2326; font-size: 1.1875rem; font-weight: 600; line-height: 1.3; text-transform: none; }
.cabinet-profile__helper { margin: 0; color: #6b6b6b; font-size: .8125rem; line-height: 1.45; }
.cabinet-profile__form { margin-top: 1.5rem; }
.cabinet-profile__fields { display: grid; gap: 1rem; }
.cabinet-profile__field { margin: 0; }
.cabinet-profile__field .form-label { margin-bottom: .1rem; color: #3d3d3d; font-size: .8rem; font-weight: 500; }
.cabinet-profile__field .form-control { min-height: 42px; border-color: #cfcfcf; border-radius: 2px; }
.cabinet-profile__field .form-control:focus { border-color: var(--primary); box-shadow: 0 0 0 1px var(--primary); }
.cabinet-profile__actions { margin-top: 1.25rem; }
.cabinet-profile__actions .btn { padding: .6rem 1rem; border-radius: 2px; font-size: .875rem; font-weight: 600; }
.cabinet-profile [data-cabinet-message] { margin-top: 1rem; }
.cabinet-profile [data-cabinet-message] .alert { margin: 0; padding: .75rem 1rem; border-radius: 2px; font-size: .875rem; }
.cabinet-profile__socials { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid #dedede; }
@media (max-width: 767.98px) { .cabinet-profile__avatar-row { align-items: flex-start; flex-wrap: wrap; } .cabinet-profile__avatar-actions { width: 100%; margin-left: 0; } .cabinet-profile__avatar-actions .btn { flex: 1 1 auto; } }

.cabinet-section-title {
    margin: 0 0 1.5rem;
    color: #1f2326;
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.25;
}

.cabinet-back-link,
.cabinet-back-link:visited,
.cabinet-back-link:hover,
.cabinet-back-link:focus,
.cabinet-back-link:active,
.cabinet-back-link:focus-visible {
    border: 0;
    background: transparent;
    text-decoration: none !important;
}

.cabinet-back-link {
    display: inline-flex;
    margin: 0 0 .75rem;
    color: #4d4d4d;
    font-size: .9375rem;
    line-height: 1.4;
    text-decoration: none;
}

.cabinet-back-link:hover,
.cabinet-back-link:focus {
    color: var(--primary);
}

.cabinet-back-link:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
}

@media (max-width: 575.98px) {
    .cabinet-nav {
        align-items: stretch;
        flex-direction: column;
        gap: .25rem;
    }

    .cabinet-nav__links {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .75rem;
    }

    .cabinet-nav__link {
        justify-content: center;
        min-height: 2.75rem;
        text-align: center;
    }

    .cabinet-nav__logout {
        margin-left: 0;
    }
}

/* Press Center MVP */
.press-center { margin-top: 1.25rem; }
.press-center__section + .press-center__section { margin-top: 2.5rem; padding-top: 1.75rem; border-top: 1px solid #dedede; }
.press-center__heading { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem; }
.press-center__heading h2,
.press-related-products h2 { margin: 0; color: #1f2326; font-size: 1.5rem; font-weight: 600; line-height: 1.25; text-transform: none; }
.press-center__all,
.press-card__link { display: inline-flex; align-items: center; gap: .45rem; color: #353535; font-size: .875rem; font-weight: 600; line-height: 1.3; text-decoration: none; }
.press-center__all:visited,
.press-center__all:hover,
.press-center__all:focus,
.press-center__all:active,
.press-card__link:visited,
.press-card__link:hover,
.press-card__link:focus,
.press-card__link:active {
    text-decoration: none !important;
    text-decoration-line: none !important;
    border-bottom: 0 !important;
    background-image: none !important;
}
.press-center__all:visited,
.press-card__link:visited { color: #353535; }
.press-center__all:hover,
.press-center__all:focus,
.press-card__link:hover,
.press-card__link:focus { color: var(--primary); text-decoration: none; }
.press-page-title { margin: 0 0 1.25rem; color: #1f2326; font-size: clamp(1.75rem, 3vw, 2.2rem); font-weight: 600; line-height: 1.18; text-transform: none; }
.press-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-left: 1px solid #dedede; }
.press-card { display: flex; flex-direction: column; min-width: 0; border-right: 1px solid #dedede; border-bottom: 1px solid #dedede; background: #fff; }
.press-card__media { display: flex; align-items: center; justify-content: center; aspect-ratio: 16 / 9; overflow: hidden; background: #f6f6f6; color: #a0a0a0; font-size: .6875rem; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; }
.press-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .2s ease; }
.press-card:hover .press-card__media img { transform: scale(1.025); }
.press-card__body { display: flex; flex: 1 1 auto; flex-direction: column; padding: .9rem 1.1rem 1rem; }
.press-card__date,
.press-article__date { display: block; margin-bottom: .4rem; color: #626262; font-size: .8125rem; line-height: 1.3; }
.press-card__title { margin: 0; font-size: 1.0625rem; font-weight: 600; line-height: 1.35; text-transform: none; }
.press-card__title a { color: #1f2326; text-decoration: none; }
.press-card__title a:hover,
.press-card__title a:focus { color: var(--primary); text-decoration: none; }
.press-card__intro { display: -webkit-box; overflow: hidden; margin: .55rem 0 .8rem; color: #5f5f5f; font-size: .875rem; line-height: 1.5; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.press-card__link { margin-top: auto; }
.press-empty { padding: 1.25rem; border: 1px solid #dedede; color: #6b6b6b; font-size: .9375rem; }
.press-pagination { margin-top: 52px; }
.press-pagination .pagination { justify-content: flex-end; }
.press-article { width: 100%; max-width: none; margin-top: .25rem; }
.press-article__header { margin-bottom: 0; }
.press-article__header h1 { margin: 0 0 .45rem; color: #1f2326; font-size: clamp(1.75rem, 3vw, 2.2rem); font-weight: 600; line-height: 1.18; text-transform: none; }
.press-article__date { margin-bottom: 22px; }
.press-article__lead { display: flex; flex-wrap: wrap; align-items: flex-start; margin: 1rem -.75rem 1.75rem; }
.press-article__lead-media,
.press-article__lead-copy { min-width: 0; padding: 0 .75rem; }
.press-article__intro { color: #4e4e4e; font-size: 1.0625rem; line-height: 1.65; }
.press-article__cover { margin: 0; }
.press-article__cover { overflow: hidden; }
.press-article__cover img { display: block; width: 100%; height: 100%; object-fit: cover; }
.press-article__cover figcaption,
.press-gallery__item figcaption { margin-top: .5rem; color: #777; font-size: .8125rem; line-height: 1.4; }
.press-article__content { color: #40403e; line-height: 1.65; }
.press-article__content img { max-width: 100%; height: auto; }
.press-gallery { margin-top: 2.25rem; padding-top: 1.75rem; border-top: 1px solid #dedede; }
.press-gallery__title { margin: 0 0 1.25rem; color: #1f2326; font-size: 1.25rem; font-weight: 600; line-height: 1.3; text-transform: none; }
.press-gallery__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; }
.press-gallery__carousel { display: block; }
.press-gallery__carousel .press-gallery__item { width: 100%; }
.press-gallery__item { margin: 0; }
.press-gallery__link { position: relative; display: block; aspect-ratio: 3 / 4; overflow: hidden; background: #f4f4f4; cursor: zoom-in; }
.press-gallery__link::after { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(0, 0, 0, .16); color: #fff; content: '\f00e'; font-family: 'Font Awesome 5 Free'; font-size: 1rem; font-weight: 900; opacity: 0; transition: opacity .18s ease; }
.press-gallery__link:hover::after,
.press-gallery__link:focus::after { opacity: 1; }
.press-gallery__link:focus { outline: 2px solid var(--primary); outline-offset: 2px; }
.press-gallery__item img { width: 100%; height: 100%; object-fit: cover; transition: opacity .18s ease; }
.press-gallery__link:hover img,
.press-gallery__link:focus img { opacity: .86; }

/* =========================================================
   ABOUT
   ========================================================= */

.about-section {
    padding-top: .5rem;
}

.about-section__content {
    min-width: 0;
}

.about-section__title {
    margin: 0 0 1.5rem;
    color: #1f2326;
    font-size: clamp(1.75rem, 3vw, 2.2rem);
    font-weight: 600;
    line-height: 1.18;
    text-transform: none;
}

.about-section__text {
    color: #40403e;
    font-size: 1rem;
    line-height: 1.65;
}

.about-section__text > :first-child {
    margin-top: 0;
}

.about-section__text > :last-child {
    margin-bottom: 0;
}

.about-section__text h2,
.about-section__text h3 {
    margin: 36px 0 16px;
    color: #1f2326;
    font-weight: 600;
    line-height: 1.25;
    text-transform: none;
}

.about-section__text h2 { margin-top: 52px; margin-bottom: 20px; font-size: 1.45rem; }
.about-section__text h3 { font-size: 1.2rem; }

.about-section__text p,
.about-section__text ul,
.about-section__text ol {
    margin-bottom: 1.15rem;
}

.about-section__text .btn {
    margin-top: .5rem;
}

.about-sidebar .catalog-sidebar__title {
    margin-bottom: .75rem;
}

.about-people,
.about-certificates {
    margin-top: 2rem;
}

.about-people__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.5rem;
}

.about-person__media {
    aspect-ratio: 4 / 5;
    overflow: hidden;
    background: #f4f4f4;
}

.about-person__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

.about-person__fallback {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    color: #777;
    font-size: 2rem;
    font-weight: 600;
    text-align: center;
}

.about-person__body {
    padding-top: 1rem;
}

.about-person__name,
.about-certificate__title {
    margin: 0;
    color: #1f2326;
    font-weight: 600;
    line-height: 1.25;
    text-transform: none;
}

.about-person__name {
    font-size: 1rem;
}

.about-person__position,
.about-person__description,
.about-person__contacts,
.about-certificate__year,
.about-certificate__caption {
    margin: 0;
}

.about-person__position,
.about-certificate__year {
    margin-top: .35rem;
    color: #777;
    font-size: .86rem;
    line-height: 1.45;
}

.about-person__description,
.about-certificate__caption {
    margin-top: .75rem;
    color: #555;
    font-size: .9375rem;
    line-height: 1.55;
}

.about-person__contacts {
    display: grid;
    gap: .25rem;
    margin-top: .75rem;
    font-size: .9375rem;
}

.about-person__contacts a {
    color: var(--primary);
    text-decoration: none;
}

.about-person__contacts a:hover,
.about-person__contacts a:focus {
    color: #b80011;
    text-decoration: none;
}

.about-certificates__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.25rem;
}

.about-certificate__link,
.about-certificate__document {
    display: block;
    color: inherit;
    text-decoration: none;
}

.about-certificate__media {
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 3 / 4;
    overflow: hidden;
    border: 1px solid #dedede;
    background: #fff;
}

.about-certificate__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.about-certificate__link:focus-visible,
.about-certificate__document:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: 3px;
}

.about-certificate__fallback {
    padding: 1rem;
    color: #777;
    font-size: .875rem;
    text-align: center;
}

.about-certificate__body {
    padding-top: .75rem;
}

.about-certificate__title {
    font-size: 1rem;
}

@media (max-width: 991.98px) {
    .about-people__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .about-certificates__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 575.98px) {
    .about-section { padding-top: 0; }
    .about-section__title { margin-bottom: 1.25rem; }
    .about-people__grid,
    .about-certificates__grid { grid-template-columns: minmax(0, 1fr); }
}

/* =========================================================
   TRAINING
   ========================================================= */

.training-section { padding-top: .5rem; }
.training-section__content { min-width: 0; }

.training-section__title {
    margin: 0 0 1.5rem;
    color: #1f2326;
    font-size: clamp(1.75rem, 3vw, 2.2rem);
    font-weight: 600;
    line-height: 1.18;
    text-transform: none;
}

.training-section__text,
.training-detail__content {
    color: #40403e;
    line-height: 1.65;
}

.training-section__text > :first-child,
.training-detail__content > :first-child { margin-top: 0; }
.training-section__text > :last-child,
.training-detail__content > :last-child { margin-bottom: 0; }

.training-section__text h2,
.training-section__text h3,
.training-detail__content h2,
.training-detail__content h3 {
    margin: 36px 0 16px;
    color: #1f2326;
    font-weight: 600;
    line-height: 1.25;
    text-transform: none;
}

.training-section__text h2,
.training-detail__content h2 { margin-top: 52px; margin-bottom: 20px; font-size: 1.45rem; }
.training-section__text h3,
.training-detail__content h3 { font-size: 1.2rem; }
.training-detail__content img { max-width: 100%; height: auto; }
.training-detail__content table { width: 100%; max-width: 100%; }

.training-list,
.training-videos { margin-top: 2rem; }

.training-list__grid,
.training-videos__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
}

.training-card {
    display: flex;
    flex-direction: column;
    border: 1px solid #dedede;
    background: #fff;
}

.training-card__media {
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #f4f4f4;
}

.training-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.training-card__body { display: flex; flex: 1; flex-direction: column; padding: 1.25rem; }
.training-card__title { margin: 0; font-size: 1.25rem; font-weight: 600; line-height: 1.3; text-transform: none; }
.training-card__title a { color: #1f2326; text-decoration: none; }
.training-card__title a:hover,
.training-card__title a:focus { color: var(--primary); text-decoration: none; }
.training-card__intro { margin: .75rem 0 0; color: #555; line-height: 1.55; }
.training-card__meta-item { display: block; margin-top: .5rem; color: #777; font-size: .9375rem; line-height: 1.4; }
.training-card__price { margin: 1rem 0 0; color: #1f2326; font-size: 1.0625rem; font-weight: 600; }
.training-card__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: auto; padding-top: 1.25rem; }
.training-card__actions .btn { min-height: 42px; }
.training-card__more { background: #fff; color: #343a40; }
.training-card__more:hover,
.training-card__more:focus { background: #fff; color: var(--primary); }

.training-meta { display: flex; flex-wrap: wrap; gap: .5rem .75rem; margin: -1rem 0 1.25rem; }
.training-meta__item { color: #626262; font-size: .9375rem; line-height: 1.4; }
.training-meta__item + .training-meta__item { padding-left: .75rem; border-left: 1px solid #dedede; }
.training-meta__item--status { color: var(--primary); font-weight: 600; }
.training-detail__cover { aspect-ratio: 16 / 10; margin: 0 0 1.5rem; overflow: hidden; background: #f4f4f4; }
.training-detail__cover img { display: block; width: 100%; height: 100%; object-fit: cover; }
.training-detail__intro { margin: 0 0 1.5rem; color: #4e4e4e; font-size: 1.0625rem; line-height: 1.65; }
.training-detail__cta { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid #dedede; }
.training-detail__price { margin: 0; color: #1f2326; font-size: 1.25rem; font-weight: 600; }
.training-registration-modal__course[hidden] { display: none; }
.product-request-modal .request-form--training.is-success > .row,
.product-request-modal .request-form--training.is-success > .error_form { display: none; }

.training-video__media { overflow: hidden; background: #f4f4f4; }
.training-video__media iframe { width: 100%; height: 100%; border: 0; }
.training-video__placeholder { display: flex; align-items: center; justify-content: center; aspect-ratio: 16 / 9; padding: 1rem; color: #777; text-align: center; }
.training-video__body { padding-top: .875rem; }
.training-video__title { margin: 0; color: #1f2326; font-size: 1.125rem; font-weight: 600; line-height: 1.3; text-transform: none; }
.training-video__description { margin: .5rem 0 0; color: #555; line-height: 1.55; }

@media (max-width: 767.98px) {
    .training-section { padding-top: 0; }
    .training-list__grid,
    .training-videos__grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 575.98px) {
    .training-section__title { margin-bottom: 1.25rem; }
    .training-meta { display: grid; gap: .35rem; margin-top: -.75rem; }
    .training-meta__item + .training-meta__item { padding-left: 0; border-left: 0; }
}
.press-related-products { margin-top: 2.5rem; padding-top: 2rem; border-top: 1px solid #dedede; }
.press-related-products h2 { margin-bottom: 1.25rem; }
.press-related-products .catalog-product-card { height: 100%; }
.press-related-products__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem; }
.press-related-products__carousel .product,
.press-related-products__grid .product { min-width: 0; }
.home-products-carousel .product-thumb-info {
    background-color: #fff;
    border: 0 !important;
    box-shadow: none;
}
.home-products-carousel .product:hover .product-thumb-info,
.home-products-carousel .product:focus-within .product-thumb-info,
.home-products-carousel .product-thumb-info:active { background-color: #fff; }
.home-products-carousel .product .product-thumb-info .product-thumb-info-image::before {
    display: none;
}
.home-products-carousel .product .product-thumb-info .product-thumb-info-image img {
    filter: none;
    transform: none;
    transition: filter .2s ease, transform .2s ease;
}
.home-products-carousel .product:hover .product-thumb-info .product-thumb-info-image img,
.home-products-carousel .product:focus-within .product-thumb-info .product-thumb-info-image img {
    filter: brightness(.92);
    transform: scale(1.02);
}

@media (max-width: 991.98px) {
    .press-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .press-gallery__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .press-related-products__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 767.98px) {
    .press-center__section + .press-center__section { margin-top: 2rem; padding-top: 1.5rem; }
    .press-center__heading { align-items: flex-start; flex-direction: column; gap: .5rem; }
    .press-grid { grid-template-columns: minmax(0, 1fr); }
    .press-card__body { padding: 1rem; }
    .press-article__lead { margin-right: -.75rem; margin-left: -.75rem; row-gap: 1rem; }
    .press-gallery__grid { gap: 1rem; }
    .press-related-products__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 575.98px) {
    .press-gallery__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .press-related-products__grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 359.98px) {
    .press-gallery__grid { grid-template-columns: minmax(0, 1fr); }
}

/* Equipment catalog MVP: shared catalog UI with isolated content rules. */
.equipment-catalog .equipment-empty { margin: 1.5rem 0 0; color: #6b6b6b; }

/* =========================================================
   INNER PAGE LIST RHYTHM
   ========================================================= */

.inner-page-list {
    /* Porto .page-header already contributes a 35px bottom margin. */
    padding-top: calc(var(--inner-section-space) - 35px);
}

.inner-page-detail {
    /* Porto .page-header already contributes a 35px bottom margin. */
    padding-top: calc(var(--inner-section-space) - 35px);
}

.inner-page-detail .press-article {
    margin-top: 0;
}

.inner-page-list__title {
    margin: 0 0 var(--inner-heading-space);
}

.inner-page-list__title + .press-center {
    margin-top: 0;
}

.inner-page-list .press-pagination,
.inner-page-list .training-list {
    margin-top: var(--inner-block-space);
}

/* Match the catalog product-card frame without changing material listings. */
.equipment-catalog .equipment-product-card .product-thumb-info-image {
    aspect-ratio: 1 / 1;
    background: #fff;
}

.equipment-catalog .equipment-product-card .product-thumb-info-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}

/* =========================================================
   HOME MOTION
   ========================================================= */

.home-products-carousel > .home-reveal-card:nth-child(2),
.home-products-carousel .owl-item:nth-child(2) .home-reveal-card,
.home-training__programs > .home-reveal-card:nth-child(2),
.home-news__grid > .home-reveal-card:nth-child(2),
.home-clients__grid > .home-reveal-card:nth-child(2) {
    animation-delay: 120ms !important;
}

.home-products-carousel > .home-reveal-card:nth-child(3),
.home-products-carousel .owl-item:nth-child(3) .home-reveal-card,
.home-training__programs > .home-reveal-card:nth-child(3),
.home-news__grid > .home-reveal-card:nth-child(3),
.home-clients__grid > .home-reveal-card:nth-child(3) {
    animation-delay: 240ms !important;
}

.home-products-carousel > .home-reveal-card:nth-child(4),
.home-products-carousel .owl-item:nth-child(4) .home-reveal-card,
.home-clients__grid > .home-reveal-card:nth-child(4) {
    animation-delay: 360ms !important;
}

.home-products-carousel > .home-reveal-card:nth-child(5),
.home-products-carousel .owl-item:nth-child(5) .home-reveal-card,
.home-clients__grid > .home-reveal-card:nth-child(5) {
    animation-delay: 480ms !important;
}

.home-products-carousel > .home-reveal-card:nth-child(6),
.home-products-carousel .owl-item:nth-child(6) .home-reveal-card,
.home-clients__grid > .home-reveal-card:nth-child(6) {
    animation-delay: 600ms !important;
}

@media (hover: hover) {
    .home-products-carousel .home-reveal-card,
    .home-news__item {
        transition: transform .2s ease;
    }

    .home-training__program {
        transition: min-height .25s ease, background-color .2s ease, transform .2s ease;
    }

    .home-products-carousel .home-reveal-card:hover,
    .home-products-carousel .home-reveal-card:focus-within,
    .home-news__item:hover,
    .home-news__item:focus-within,
    .home-training__program:hover,
    .home-training__program:focus-within {
        transform: translateY(-3px);
    }

    .home-news__image {
        transition: transform .2s ease;
    }

    .home-news__item:hover .home-news__image,
    .home-news__item:focus-within .home-news__image {
        transform: scale(1.02);
    }

    .home-training__image {
        transition: filter .25s ease, transform .2s ease;
    }

    .home-training__program:hover .home-training__image,
    .home-training__program:focus-within .home-training__image {
        transform: scale(1.02);
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-hero [data-appear-animation],
    .home-materials [data-appear-animation],
    .home-products [data-appear-animation],
    .home-equipment [data-appear-animation],
    .home-training [data-appear-animation],
    .home-clients [data-appear-animation],
    .home-news [data-appear-animation] {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }

    .home-clients__item:not(.home-clients__item--summary)::after {
        transition: none;
    }
}

/* =========================================================
   STICKY HEADER
   ========================================================= */

@media (min-width: 992px) {
    html:not(.boxed).sticky-header-enabled #header.header-effect-shrink .header-body {
        width: 100%;
        max-width: none;
        margin-right: 0;
        margin-left: 0;
        transition: top .25s ease, background-color .25s ease, border-color .25s ease, box-shadow .25s ease;
    }

    html:not(.boxed).sticky-header-enabled #header.header-effect-shrink,
    html:not(.boxed).sticky-header-enabled #header.header-effect-shrink .header-top,
    html:not(.boxed).sticky-header-enabled #header.header-effect-shrink .header-container {
        transition: height .25s ease, min-height .25s ease, padding-top .25s ease, padding-bottom .25s ease, background-color .25s ease, border-color .25s ease, box-shadow .25s ease;
    }
}

/* This comes after component-specific prose styles. */
@media (max-width: 767.98px) {
    .press-article__content h2,
    .about-section__text h2,
    .training-section__text h2,
    .training-detail__content h2,
    .category-content h2,
    .product-description h2,
    .product-specifications h2,
    .contacts-page__content h2 {
        margin-top: 40px;
        margin-bottom: 18px;
        font-size: 1.35rem;
    }

    .press-article__content h3,
    .about-section__text h3,
    .training-section__text h3,
    .training-detail__content h3,
    .category-content h3,
    .product-description h3,
    .product-specifications h3,
    .contacts-page__content h3 {
        margin-top: 30px;
        margin-bottom: 14px;
        font-size: 1.15rem;
    }
}

/*** cookies ***/

#cookie_note{
    display: none;
    position: fixed;
    bottom: 30px;
    left: 50%;
    width: calc(100% - 32px);
    max-width: 830px;
    box-sizing: border-box;
    transform: translateX(-50%);
    align-items: center;
    gap: 24px;
    padding: 16px 20px;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.12);
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.14);
    color: #666;
    z-index: 1100;
}

#cookie_note p{
    flex: 1 1 auto;
    margin: 0;
    font-size: 14px;
    line-height: 1.5;
    text-align: left;
}

#cookie_note a {
    color: var(--primary, #ed5c69);
    text-decoration: none;
}

#cookie_note a:hover {
    color: var(--primary--100, #c94350);
}

#cookie_note a:focus-visible {
    outline: 2px solid var(--primary-rgba-50, rgba(237, 92, 105, 0.35));
    outline-offset: 2px;
}

#cookie_note .cookie_accept{
    flex: 0 0 auto;
    min-width: 120px;
    padding: 0.5rem 1rem;
    white-space: nowrap;
}

#cookie_note.show{
    display: flex;
}

@media (max-width: 575px){
    #cookie_note{
        bottom: 16px;
        flex-direction: column;
        align-items: stretch;
        gap: 14px;
        padding: 14px 16px;
    }

    #cookie_note.show{
        display: flex;
    }

    #cookie_note .cookie_accept{
        width: 100%;
    }
}
