@layer base, component, mod; @layer base {
    :root {
        --swiper-theme-color: #007aff
    }

    :host {
        position: relative;
        display: block;
        margin-left: auto;
        margin-right: auto;
        z-index: 1
    }

    .swiper {
        margin-left: auto;
        margin-right: auto;
        position: relative;
        overflow: hidden;
        list-style: none;
        padding: 0;
        z-index: 1;
        display: block
    }

    .swiper-vertical > .swiper-wrapper {
        flex-direction: column
    }

    .swiper-wrapper {
        position: relative;
        width: 100%;
        height: 100%;
        z-index: 1;
        display: flex;
        transition-property: transform;
        transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
        box-sizing: content-box
    }

    .swiper-android .swiper-slide, .swiper-ios .swiper-slide, .swiper-wrapper {
        transform: translateZ(0)
    }

    .swiper-horizontal {
        touch-action: pan-y
    }

    .swiper-vertical {
        touch-action: pan-x
    }

    .swiper-slide {
        flex-shrink: 0;
        width: 100%;
        height: 100%;
        position: relative;
        transition-property: transform;
        display: block
    }

    .swiper-slide-invisible-blank {
        visibility: hidden
    }

    .swiper-autoheight, .swiper-autoheight .swiper-slide {
        height: auto
    }

    .swiper-autoheight .swiper-wrapper {
        align-items: flex-start;
        transition-property: transform, height
    }

    .swiper-backface-hidden .swiper-slide {
        transform: translateZ(0);
        backface-visibility: hidden
    }

    .swiper-3d.swiper-css-mode .swiper-wrapper {
        perspective: 1200px
    }

    .swiper-3d .swiper-wrapper {
        transform-style: preserve-3d
    }

    .swiper-3d {
        perspective: 1200px
    }

    .swiper-3d .swiper-slide, .swiper-3d .swiper-cube-shadow {
        transform-style: preserve-3d
    }

    .swiper-css-mode > .swiper-wrapper {
        overflow: auto;
        scrollbar-width: none;
        -ms-overflow-style: none
    }

    .swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
        display: none
    }

    .swiper-css-mode > .swiper-wrapper > .swiper-slide {
        scroll-snap-align: start start
    }

    .swiper-css-mode.swiper-horizontal > .swiper-wrapper {
        scroll-snap-type: x mandatory
    }

    .swiper-css-mode.swiper-vertical > .swiper-wrapper {
        scroll-snap-type: y mandatory
    }

    .swiper-css-mode.swiper-free-mode > .swiper-wrapper {
        scroll-snap-type: none
    }

    .swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
        scroll-snap-align: none
    }

    .swiper-css-mode.swiper-centered > .swiper-wrapper:before {
        content: "";
        flex-shrink: 0;
        order: 9999
    }

    .swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
        scroll-snap-align: center center;
        scroll-snap-stop: always
    }

    .swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
        -webkit-margin-start: var(--swiper-centered-offset-before);
        margin-inline-start: var(--swiper-centered-offset-before)
    }

    .swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper:before {
        height: 100%;
        min-height: 1px;
        width: var(--swiper-centered-offset-after)
    }

    .swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
        -webkit-margin-before: var(--swiper-centered-offset-before);
        margin-block-start: var(--swiper-centered-offset-before)
    }

    .swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper:before {
        width: 100%;
        min-width: 1px;
        height: var(--swiper-centered-offset-after)
    }

    .swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-top, .swiper-3d .swiper-slide-shadow-bottom {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        pointer-events: none;
        z-index: 10
    }

    .swiper-3d .swiper-slide-shadow {
        background: #00000026
    }

    .swiper-3d .swiper-slide-shadow-left {
        background-image: linear-gradient(to left, #00000080, #0000)
    }

    .swiper-3d .swiper-slide-shadow-right {
        background-image: linear-gradient(to right, #00000080, #0000)
    }

    .swiper-3d .swiper-slide-shadow-top {
        background-image: linear-gradient(to top, #00000080, #0000)
    }

    .swiper-3d .swiper-slide-shadow-bottom {
        background-image: linear-gradient(to bottom, #00000080, #0000)
    }

    .swiper-lazy-preloader {
        width: 42px;
        height: 42px;
        position: absolute;
        left: 50%;
        top: 50%;
        margin-left: -21px;
        margin-top: -21px;
        z-index: 10;
        transform-origin: 50%;
        box-sizing: border-box;
        border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
        border-radius: 50%;
        border-top-color: transparent
    }

    .swiper:not(.swiper-watch-progress) .swiper-lazy-preloader, .swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
        animation: swiper-preloader-spin 1s infinite linear
    }

    .swiper-lazy-preloader-white {
        --swiper-preloader-color: #fff
    }

    .swiper-lazy-preloader-black {
        --swiper-preloader-color: #000
    }

    @keyframes swiper-preloader-spin {
        0% {
            transform: rotate(0)
        }
        to {
            transform: rotate(360deg)
        }
    }
} :root {
      --spacing: 100px;
      --font-primary: "opensans", sans-serif, -apple-system, blinkmacsystemfont, roboto, ubuntu, "Droid Sans", "Helvetica Neue", arial, sans-serif, "Apple Color Emoji"
  }

:root {
    --color-primary: #000;
    --color-primary--rgb: 0, 0, 0;
    --color-alt: #8D8D92;
    --color-alt--rgb: 141, 141, 146;
    --color-blck: #000;
    --color-blck--rgb: 0, 0, 0;
    --color-whte: #fff;
    --color-whte--rgb: 255, 255, 255;
    --color-accent: #146D8A;
    --color-accent--rgb: 20, 109, 138;
    --color-gry: #D9D9D9;
    --color-gry--rgb: 217, 217, 217;
    --color-gry-50: #F5F5F5;
    --color-gry-50--rgb: 245, 245, 245;
    --color-gry-100: #E8E8ED;
    --color-gry-100--rgb: 232, 232, 237;
    --color-border: #B5B5B5;
    --color-border--rgb: 181, 181, 181;
    --color-red: #EE1426;
    --color-red--rgb: 238, 20, 38;
    --color-text: #000;
    --color-text--rgb: 0, 0, 0;
    --color-text-alt: #a8a8a8;
    --color-text-alt--rgb: 168, 168, 168;
    --color-bg: #000;
    --color-bg--rgb: 0, 0, 0;
    --color-bg-secondary: #e0e0e0;
    --color-bg-secondary--rgb: 224, 224, 224;
    --color-success: #259243;
    --color-success--rgb: 37, 146, 67;
    --color-error: #f00;
    --color-error--rgb: 255, 0, 0;
    --font-size-default: 16px;
    --index-1: 100;
    --index-2: 200;
    --index-3: 1200;
    --index-4: 1300
}

@layer base {
    * {
        margin: 0;
        padding: 0;
        border: 0
    }

    *, *:before, *:after {
        box-sizing: border-box
    }

    *:before, *:after {
        display: inline-block
    }

    html, body {
        min-width: 360px;
        height: 100%;
        scroll-behavior: smooth;
        -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
        scrollbar-gutter: stable
    }

    html, body {
        margin: 0;
        background: #fff
    }

    .ios-safe-area {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        height: env(safe-area-inset-top);
        background: #fff;
        z-index: 2147483647;
        pointer-events: none;
        transform: translateZ(0);
        -webkit-transform: translateZ(0)
    }

    html, body, .header {
        background: var(--color-whte)
    }

    body {
        color: var(--color-primary);
        font-size: var(--font-size-default);
        font-family: var(--font-primary);
        line-height: 1.5;
        -webkit-text-size-adjust: 100%;
        -moz-text-size-adjust: 100%;
        text-size-adjust: 100%;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale
    }

    ::-webkit-scrollbar {
        width: 6px;
        height: 5px
    }

    ::-webkit-scrollbar-track {
        background: var(--color-scroll-bg)
    }

    ::-webkit-scrollbar-thumb {
        background: var(--color-alt);
        border-radius: 10px
    }

    ::selection {
        color: var(--color-whte);
        background: var(--color-bg)
    }

    input, button, textarea {
        font-size: inherit;
        font-family: var(--font-primary);
        line-height: inherit
    }

    button {
        color: inherit;
        font-family: var(--font-primary);
        background-color: transparent;
        outline: 0;
        cursor: pointer
    }

    div[class*=__text] p:only-of-type, div[class*=__text] p:last-of-type, div[class*=__details] p:only-of-type, div[class*=__details] p:last-of-type, div[class*=__note] p:only-of-type, div[class*=__note] p:last-of-type {
        margin: 0
    }

    [class*=image] img {
        width: 100%;
        object-fit: cover;
        object-position: center
    }

    a {
        display: inline-block;
        color: inherit;
        text-decoration: none
    }

    ul li {
        list-style: none
    }

    img {
        vertical-align: top
    }

    h1, h2, h3, h4, h5, h6 {
        font-weight: inherit;
        font-size: inherit
    }

    address, cite {
        font-style: normal
    }

    fieldset, dl, dd {
        margin: 0;
        padding: 0
    }

    fieldset {
        border: none
    }
} details, details summary {
      background-image: none;
      -webkit-appearance: none
  }

details > summary {
    list-style: none
}

details > summary::-webkit-details-marker {
    display: none
}

.lock body, body.lock {
    overflow: hidden;
    touch-action: none;
    overscroll-behavior: none
}

img {
    max-width: 100%
}

@font-face {
    font-weight: 400;
    font-family: opensans;
    font-style: normal;
    src: url(../fonts/opensans-400.woff2) format("woff2"), url(../fonts/opensans-400.woff) format("woff");
    font-display: swap
}

@font-face {
    font-weight: 500;
    font-family: opensans;
    font-style: normal;
    src: url(../fonts/opensans-500.woff2) format("woff2"), url(../fonts/opensans-500.woff) format("woff");
    font-display: swap
}

@font-face {
    font-weight: 600;
    font-family: opensans;
    font-style: normal;
    src: url(../fonts/opensans-600.woff2) format("woff2"), url(../fonts/opensans-600.woff) format("woff");
    font-display: swap
}

@font-face {
    font-weight: 700;
    font-family: opensans;
    font-style: normal;
    src: url(../fonts/opensans-700.woff2) format("woff2"), url(../fonts/opensans-700.woff) format("woff");
    font-display: swap
}

body:after {
    position: fixed;
    top: 0;
    left: 0;
    z-index: calc(var(--index-3) - 1);
    width: 100%;
    height: 100%;
    background-color: #00000080;
    opacity: 0;
    transition: opacity .8s ease 0s;
    content: "";
    pointer-events: none
}

[data-popup].popup-open {
    pointer-events: none
}

.popup-show body:after {
    opacity: 1
}

@layer component {
    .popup {
        position: fixed;
        inset: 0;
        padding: 30px 10px;
        visibility: hidden;
        transition: visibility .8s ease 0s;
        pointer-events: none
    }

    .popup_show {
        z-index: var(--index-3);
        overflow: auto;
        visibility: visible;
        pointer-events: auto
    }

    .popup_show .popup__content {
        transform: scale(1);
        visibility: visible
    }

    .popup__wrapper {
        display: flex;
        flex: 1 1 auto;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        width: 100%;
        min-height: 100%
    }

    .popup__content {
        width: 100%;
        max-width: 330px;
        padding: 24px;
        background-color: var(--color-accent);
        color: var(--color-whte);
        transform: scale(0);
        visibility: hidden;
        transition: transform .3s ease 0s
    }

    .lock .popup__content {
        visibility: visible
    }

    .popup__close {
        position: absolute;
        top: 24px;
        right: 24px;
        width: 24px;
        height: 24px;
        mask: url(../img/icons/close.svg) center center/24px no-repeat;
        -webkit-mask: url(../img/icons/close.svg) center center/24px no-repeat;
        background-color: var(--color-whte)
    }

    .popup-remove-item__top {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 24px
    }

    .popup-remove-item__action {
        display: flex;
        align-items: center;
        gap: 12px
    }

    .popup-remove-item__action .btn {
        flex-grow: 1
    }

    .popup-remove-item__title {
        font-size: 24px;
        line-height: 1;
        font-weight: 600
    }

    .popup-remove-item__desc {
        font-size: 14px;
        line-height: 1.5;
        margin-bottom: 32px
    }
} .header {
      position: fixed;
      left: 0;
      right: 0;
      width: 100%;
      background: var(--color-whte);
      z-index: 1000
  }

.header-main {
    position: relative;
    padding: 15px 0;
    z-index: 2;
    background-color: var(--color-whte)
}

.header-main__container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px
}

.header-main__logo {
    display: block;
    width: 52px;
    height: 30px;
    flex-shrink: 0
}

.header-main__logo img, .header-main__logo picture {
    display: block;
    max-width: 100%
}

.header-main__searchbar, .header-main__nav {
    display: none
}

.header-main__link {
    transition: color .25s ease-in-out
}

.header-main__tools {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-left: auto;
    flex-shrink: 0
}

.header-main__tools-btn {
    --size: 30px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--size);
    height: var(--size);
    color: var(--color-accent)
}

.header-main__tools-btn span {
    font-size: 10px;
    position: absolute;
    top: 0;
    right: -5px
}

.header-main__tools-btn:before {
    content: "";
    width: var(--size);
    height: var(--size);
    mask: var(--icon) center center/var(--size) no-repeat;
    -webkit-mask: var(--icon) center center/var(--size) no-repeat;
    background-color: currentColor
}

.header-main__tools-btn-static, .header-main__tools-btn-active {
    display: none;
    width: 24px;
    height: 24px
}

.header-main__burger {
    width: 22px;
    height: 22px;
    background: url(../img/icons/burger.svg) center center/22px no-repeat;
    flex-shrink: 0
}

.header-bottom {
    display: none
}

.header-bottom__nav-list {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px
}

.header-bottom__nav-link {
    display: block;
    font-size: 14px;
    line-height: 1.2;
    transition: color .25s ease-in-out
}

.header-bottom__nav-link.is-active {
    color: var(--color-accent)
}

.header-menu {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100 dvh;
    overflow-y: auto;
    background-color: var(--color-whte);
    z-index: 1;
    transform: translateY(-100%);
    transition: transform .4s ease-in-out
}

.header-menu__inner {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    padding: 60px 20px 40px
}

.header-menu__nav {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px
}

.header-menu__item-head {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px
}

.header-menu__item-head:after {
    content: "";
    width: 20px;
    height: 20px;
    mask: url(../img/icons/chevron-down.svg) center center/20px no-repeat;
    -webkit-mask: url(../img/icons/chevron-down.svg) center center/20px no-repeat;
    background-color: currentColor
}

.header-menu__item-head._spoller-active {
    color: var(--color-accent)
}

.header-menu__item-head._spoller-active:after {
    transform: rotate(180deg)
}

.header-menu__item-body {
    padding-top: 10px
}

.header-menu__links {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px
}

.header-menu__contacts {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
    max-width: 300px;
    width: 100%;
    padding-top: 24px;
    margin-top: 24px;
    border-top: 1px solid currentColor
}

.header-menu__contacts-link {
    display: flex;
    align-items: center;
    gap: 8px;
    justify-content: flex-end
}

.header-catalog {
    width: 100%;
    position: fixed;
    top: 129px;
    left: 0;
    height: calc(100vh - 129px);
    background-color: var(--color-whte);
    z-index: 3;
    overflow-x: hidden;
    background-color: #f8fafc;
    display: none
}

.header-catalog__container {
    width: 100%;
    height: 100%
}

.header-catalog__block {
    width: 100%;
    height: calc(100vh - 129px);
    display: none;
    align-items: stretch
}

.header-catalog__block.is-active {
    display: flex
}

.header-catalog__section {
    display: none;
    align-items: flex-start;
    width: 100%;
    padding: 40px 48px;
    height: calc(100vh - 129px);
    overflow-y: auto
}

.header-catalog__section.is-active {
    display: flex
}

.header-catalog__section-nav {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    width: 380px
}

.header-catalog__section-nav-link {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    transition: color .25s ease-in-out
}

.header-catalog__section-nav-link.is-active {
    color: var(--color-accent)
}

.header-catalog__section-nav-link:after {
    content: "";
    width: 24px;
    height: 24px;
    mask: url(../img/icons/chevron-right-sec.svg) center center/24px no-repeat;
    -webkit-mask: url(../img/icons/chevron-right-sec.svg) center center/24px no-repeat;
    background-color: currentColor
}

.header-catalog__section-block {
    display: none;
    padding-left: 24px;
    margin-left: 24px;
    border-left: 1px solid var(--color-gry-100)
}

.header-catalog__section-block.is-active {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px
}

.header-catalog__nav {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    width: 150px;
    flex-shrink: 0;
    padding: 40px 16px 40px 0;
    background-color: var(--color-whte)
}

.header-catalog__nav:before {
    content: "";
    width: 100vw;
    height: 100%;
    background-color: var(--color-whte);
    position: absolute;
    right: 100%;
    top: 0
}

.header-catalog__nav-link {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    transition: color .25s ease-in-out
}

.header-catalog__nav-link.is-active {
    color: var(--color-accent)
}

.header-catalog__nav-link:after {
    content: "";
    width: 24px;
    height: 24px;
    mask: url(../img/icons/chevron-right-sec.svg) center center/24px no-repeat;
    -webkit-mask: url(../img/icons/chevron-right-sec.svg) center center/24px no-repeat;
    background-color: currentColor
}

.menu-open .header-main__searchbar, .menu-open .header-main__tools {
    display: none
}

.menu-open .header-main__burger {
    background-image: url(../img/icons/close-sec.svg)
}

.menu-open .header-menu {
    transform: translateY(0)
}

.footer {
    padding: 40px 0;
    background-color: var(--color-accent);
    color: var(--color-whte)
}

.footer__main {
    display: flex;
    flex-direction: column;
    gap: 12px
}

.footer__nav {
    padding: 10px 0;
    border-bottom: 1px solid var(--color-whte)
}

.footer__nav.is-open .footer__nav-list {
    display: flex
}

.footer__nav.is-open .footer__nav-title:after {
    transform: rotate(180deg)
}

.footer__nav-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 14px;
    line-height: 1.3334;
    margin-bottom: 10px
}

.footer__nav-title:after {
    content: "";
    width: 24px;
    height: 24px;
    -webkit-mask: url(../img/icons/chevron-down.svg) center center/24px no-repeat;
    mask: url(../img/icons/chevron-down.svg) center center/24px no-repeat;
    -webkit-ask: url(../img/icons/chevron-down.svg) center center/24px no-repeat;
    background-color: currentColor
}

.footer__nav-link {
    font-size: 14px;
    line-height: 1.3334;
    color: var(--color-alt);
    transition: color .25s ease-in-out
}

.footer__nav-list {
    display: none;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px
}

.footer__bottom {
    padding: 20px 0;
    display: flex;
    flex-direction: column;
    gap: 10px
}

.footer__company {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px
}

.footer__schedule {
    font-size: 14px;
    line-height: 1.3334
}

.footer__links {
    display: flex;
    flex-direction: column-reverse;
    align-items: flex-start;
    gap: 10px
}

.footer__policy {
    font-size: 14px;
    line-height: 1.3334
}

.footer__socials {
    display: flex;
    align-items: center;
    gap: 16px
}

@layer component {
    .btn {
        display: inline-flex;
        justify-content: center;
        align-items: center;
        padding: 10px 16px;
        font-size: 16px;
        line-height: 1.25;
        background-color: var(--color-accent);
        color: var(--color-whte);
        text-align: center;
        border-radius: 6px;
        outline: none;
        -webkit-user-select: none;
        user-select: none;
        border: none;
        z-index: 2
    }
} @layer mod {
    .btn--alt {
        position: relative;
        background-color: transparent;
        transition: background-color .25s ease-in-out
    }

    .btn--alt:before {
        content: "";
        background: linear-gradient(93.54deg, #146d8a 26.94%, #0f94bf 94.46%);
        position: absolute;
        inset: 0;
        border-radius: 6px;
        z-index: -1;
        transition: opacity .25s ease-in-out
    }

    .btn--wide {
        width: 100%
    }

    .btn--outline-white {
        background-color: transparent;
        color: var(--color-whte);
        border: 1px solid var(--color-whte)
    }

    .btn--red {
        background-color: var(--color-red)
    }

    .btn--xl {
        font-size: 14px;
        line-height: 1.75;
        padding: 8px 24px;
        min-height: 56px
    }
} @layer component {
    .select {
        position: relative;
        min-width: 0
    }

    .select__body {
        position: relative
    }

    .select__title {
        width: 100%;
        color: inherit;
        text-align: left;
        border: 1px solid var(--color-gry-100);
        border-radius: 8px;
        cursor: pointer
    }

    ._select-open .select__title {
        border-radius: 8px 8px 0 0;
        border-bottom-color: transparent
    }

    .select__value {
        display: flex;
        gap: 10px;
        align-items: center;
        min-width: 0;
        height: 56px;
        padding: 0 15px
    }

    .select__value > * {
        flex: 1 1 auto
    }

    .select__value:after {
        display: flex;
        flex: 0 0 24px;
        width: 24px;
        height: 24px;
        background: url(../img/icons/select-chevron-down.svg) center center/24px no-repeat;
        align-items: center;
        justify-content: center;
        transition: all .3s ease 0s;
        content: ""
    }

    ._select-open .select__value:after {
        transform: rotate(-180deg)
    }

    .select__value._select-pseudo-label:before {
        opacity: .5;
        content: attr(data-pseudo-label)
    }

    .select__content, .select__text {
        flex: 1 1 auto;
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis
    }

    .select__input {
        width: 100%;
        height: 100%;
        background-color: transparent
    }

    .select__options {
        position: absolute;
        top: calc(100% - 1px);
        left: 0;
        min-width: 100%;
        padding: 10px 0 5px;
        color: var(--color-primary);
        background-color: var(--color-whte);
        border: 1px solid var(--color-gry-100);
        border-top: 0;
        border-radius: 0 0 4px 4px
    }

    .select__scroll {
        max-height: 200px;
        overflow-x: hidden;
        overflow-y: auto
    }

    .select__option {
        width: 100%;
        padding: 5px 15px;
        color: inherit;
        text-align: left;
        cursor: pointer
    }

    .select__option._select-selected {
        background-color: var(--color-alt)
    }

    .select__row {
        display: inline-flex;
        align-items: center
    }

    .select--show-top .select__options {
        top: auto;
        bottom: calc(100% - 1px);
        padding: 5px 0 10px;
        border: 1px solid var(--color-bg);
        border-bottom: 0;
        border-radius: 4px 4px 0 0
    }

    ._select-tag {
        cursor: pointer
    }
} .form-group {
      position: relative
  }

.form-group._form-error .form-control {
    border-color: #ee1426
}

.form-label {
    display: block;
    margin-bottom: 8px
}

.form-control {
    display: block;
    width: 100%;
    height: 56px;
    padding: 15px;
    font-size: 16px;
    line-height: 1.5;
    background-color: var(--color-whte);
    border: 1px solid var(--color-gry-100);
    outline: none;
    -webkit-user-select: none;
    user-select: none;
    border-radius: 8px
}

.form-control:placeholder {
    color: #979797
}

.form-checkbox {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    position: relative
}

.form-checkbox._form-error i {
    border-color: #ee1426
}

.form-checkbox input {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    visibility: hidden
}

.form-checkbox input:checked ~ i {
    background-color: var(--color-accent)
}

.form-checkbox input:checked ~ i:before {
    opacity: 1
}

.form-checkbox i {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    border: 1px solid var(--color-accent);
    border-radius: 3px
}

.form-checkbox i:before {
    content: "";
    width: 7px;
    height: 7px;
    background: url(../img/icons/checkbox.svg) center center/7px no-repeat
}

.form-checkbox span {
    display: block;
    width: 100%;
    font-size: 16px;
    line-height: 1.25;
    min-height: 24px;
    line-height: 24px
}

.form-checkbox span span {
    display: inline;
    font-size: 12px;
    color: #929292
}

.outer {
    width: 100%;
    overflow: hidden;
    position: relative
}

.page {
    --p-top: 61px;
    padding-top: var(--p-top)
}

.page-inner {
    --p-top: 77px;
    padding-top: var(--p-top)
}

.inner {
    width: 100%;
    height: 100%;
    overflow-y: scroll;
    scroll-behavior: smooth;
    box-sizing: content-box
}

.wrapper {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    overflow: hidden
}

@supports (overflow: clip) {
    .wrapper {
        overflow: clip
    }
}

.wrapper > main {
    flex-grow: 1
}

.wrapper > * {
    min-width: 0
}

@layer base {
    [class*=__container], .container {
        --pad: 16px;
        box-sizing: border-box;
        max-width: 1440px;
        margin: 0 auto;
        padding: 0 var(--pad)
    }
} @layer component {
    .hero {
        position: relative
    }

    .hero__img, .hero__img img {
        display: block;
        width: 100%
    }

    .hero__slider {
        z-index: 1
    }

    .hero__bottom {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        padding-bottom: 6px;
        z-index: 2
    }

    .hero__container {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 16px
    }

    .hero .slider-nav {
        display: none
    }

    .hero .swiper-pagination {
        display: flex;
        align-items: center;
        gap: 10px
    }

    .hero .swiper-pagination-bullet {
        width: 6px;
        height: 6px;
        background-color: var(--color-whte);
        border-radius: 50%;
        opacity: .6;
        transition: transform .25s ease-in-out, opacity .25s ease-in-out;
        cursor: pointer
    }

    .hero .swiper-pagination-bullet-active {
        transform: scale(1.5);
        opacity: 1
    }
} @layer component {
    .main-catalog__container {
        max-width: 100%;
        padding: 0
    }

    .main-catalog__grid {
        display: grid;
        grid-template-columns:repeat(2, 1fr);
        border-top: 1px solid var(--color-accent)
    }

    .main-catalog__item {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 32px;
        padding: 22px;
        border-right: 1px solid var(--color-accent);
        border-bottom: 1px solid var(--color-accent)
    }

    .main-catalog__item:nth-of-type(2n) {
        border-right: none
    }

    .main-catalog__item-img {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 120px;
        aspect-ratio: 1/1
    }

    .main-catalog__item-title {
        text-align: center
    }
} @layer component {
    .services__container {
        display: grid;
        grid-template-columns:100%;
        gap: 32px
    }

    .services__card {
        position: relative;
        height: 520px;
        padding: 60px 16px 16px;
        z-index: 2
    }

    .services__card-img {
        display: block;
        width: 100%;
        height: 100%;
        position: absolute;
        inset: 0;
        z-index: -1
    }

    .services__card-img img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover
    }

    .services__card-head {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 16px;
        text-align: center;
        color: var(--color-accent)
    }

    .services__card-title {
        font-size: 32px;
        line-height: 1.25;
        font-weight: 600
    }
} @layer component {
    .best-price__title {
        color: var(--color-accent);
        margin-bottom: 24px;
        padding-left: 16px
    }

    .best-price__container {
        max-width: 100%;
        padding: 0
    }

    .best-price__grid {
        display: grid;
        grid-template-columns:repeat(2, 1fr);
        border-top: 1px solid var(--color-accent)
    }

    .best-price__item {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 24px;
        padding: 16px;
        border-right: 1px solid var(--color-accent);
        border-bottom: 1px solid var(--color-accent)
    }

    .best-price__item:nth-of-type(2n) {
        border-right: none
    }

    .best-price__item-img, .best-price__item-img img {
        display: block;
        width: auto;
        height: 128px
    }

    .best-price__item-info {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 12px;
        text-align: center
    }

    .best-price__item-action {
        width: 100%;
        display: flex;
        align-items: center;
        flex-direction: column;
        gap: 12px
    }

    .best-price__item-title {
        font-size: 14px;
        line-height: 1.1429
    }

    .best-price__item-btn {
        width: 100%;
        flex-grow: 1
    }
} @layer component {
    .store__img {
        display: block;
        width: 100%;
        height: 454px
    }

    .store__img img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover
    }
} @layer component {
    .searchbar, .searchbar__field {
        position: relative;
        width: 100%
    }

    .searchbar__input {
        display: block;
        width: 100%;
        height: 40px;
        border-radius: 5px;
        background: url(../img/icons/search.svg) top 7px right 14px/24px no-repeat, var(--color-gry-50);
        border: 1px solid var(--color-accent);
        color: var(--color-primary);
        padding: 10px 40px 10px 13px;
        font-size: 14px;
        line-height: 1.3334;
        outline: none;
        -webkit-user-select: none;
        user-select: none
    }

    .searchbar__input::placeholder {
        color: var(--color-alt)
    }

    .searchbar__results {
        width: 100%;
        position: absolute;
        top: 100%;
        left: 0;
        margin-top: 12px;
        display: none
    }

    .searchbar__results.is-open {
        display: block
    }

    .searchbar__results-inner {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 24px;
        padding: 24px;
        border-radius: 4px;
        background-color: var(--color-gry-50);
        color: var(--color-primary)
    }

    .searchbar__results-list {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 24px
    }

    .searchbar__results-btn {
        margin-left: auto
    }

    .searchbar__results-item-label {
        color: var(--color-accent);
        margin-bottom: 8px
    }

    .searchbar__results-item-links {
        display: flex;
        align-items: center;
        gap: 12px;
        flex-wrap: wrap
    }
} @layer component {
    .slider-nav {
        display: flex;
        align-items: center;
        gap: 20px
    }

    .slider-nav-btn {
        --size: 40px;
        width: var(--size);
        height: var(--size);
        display: flex;
        align-items: center;
        justify-content: center;
        background-color: var(--color-whte);
        color: var(--color-accent);
        border-radius: 50%;
        transition: opacity .25s ease-in-out
    }

    .slider-nav-btn:before {
        content: "";
        width: 12px;
        height: 18px;
        mask: var(--icon) center center/12px no-repeat;
        -webkit-mask: var(--icon) center center/12px no-repeat;
        background-color: currentColor
    }
} @layer component {
    .section {
        padding: 90px 0
    }

    .section + .section {
        padding-top: 0
    }

    .page-inner {
        padding: 40px 0
    }
} @layer component {
    .h2 {
        font-size: 24px;
        font-weight: 600
    }
} @layer component {
    .basket__container {
        display: grid;
        grid-template-columns:100%;
        gap: 40px
    }

    .basket__order-title {
        margin-bottom: 24px
    }

    .basket__order-products {
        display: flex;
        flex-direction: column;
        gap: 24px
    }

    .basket__product {
        display: grid;
        grid-template-columns:70px 1fr;
        align-items: center;
        gap: 16px;
        padding-bottom: 24px;
        border-bottom: 1px solid var(--color-gry-100)
    }

    .basket__product-img {
        display: flex;
        width: 100%
    }

    .basket__product-img img {
        display: block;
        width: 100%
    }

    .basket__product-main, .basket__product-info {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 8px
    }

    .basket__product-articul {
        font-size: 14px;
        line-height: 1.3334
    }

    .basket__product-action {
        width: 100%;
        display: flex;
        align-items: center;
        gap: 16px
    }

    .basket__product-price {
        font-size: 16px;
        line-height: 1.5
    }

    .basket__product-remove {
        width: 24px;
        height: 24px;
        mask: url(../img/icons/close.svg) center center/24px no-repeat;
        -webkit-mask: url(../img/icons/close.svg) center center/24px no-repeat;
        margin-left: auto;
        background-color: currentColor;
        cursor: pointer;
        transition: opacity .25s ease-in-out
    }

    .basket__form {
        padding: 40px 16px;
        border: 1px solid #ebebeb
    }

    .basket__form-title {
        font-size: 20px;
        line-height: 1.2;
        margin-bottom: 24px
    }

    .basket__form-main {
        display: flex;
        flex-direction: column;
        gap: 24px;
        margin-bottom: 24px
    }

    .basket__form-total {
        display: flex;
        align-items: center;
        justify-content: space-between
    }

    .basket__form-btn {
        margin-top: 40px;
        padding: 16px;
        font-size: 16px;
        line-height: 1.5
    }

    .basket__form .form-checkbox {
        align-items: flex-start !important
    }

    .basket__form .form-checkbox i {
        margin-top: 3px
    }

    .basket__form .form-checkbox span {
        line-height: 1.25 !important
    }

    .counter {
        display: flex;
        align-items: center;
        gap: 8px
    }

    .counter__btn {
        width: 24px;
        height: 24px;
        mask: var(--icon) center center/24px no-repeat;
        -webkit-mask: var(--icon) center center/24px no-repeat;
        transition: opacity .25s ease-in-out;
        background-color: currentColor
    }

    .counter__input {
        width: 42px;
        height: 32px;
        border: 1px solid var(--color-gry);
        border-radius: 4px;
        background-color: transparent;
        color: var(--color-primary);
        font-size: 16px;
        line-height: 32px;
        text-align: center;
        padding: 0 4px;
        outline: none;
        -webkit-user-select: none;
        user-select: none
    }
} @layer component {
    .information {
        padding: 64px 0
    }

    .information__title {
        margin-bottom: 40px;
        color: var(--color-accent)
    }

    .information__inner {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 24px
    }

    .information__nav {
        width: calc(100% + 32px);
        margin: 0 -16px;
        padding: 8px 16px;
        overflow-x: auto;
        display: flex;
        align-items: center;
        gap: 12px
    }

    .information__nav::-webkit-scrollbar {
        display: none
    }

    .information__nav-item {
        font-weight: 600;
        flex-shrink: 0;
        line-height: 1;
        text-align: left;
        color: unset
    }

    .information__nav-item._tab-active {
        color: var(--color-accent)
    }

    .information__section-title {
        font-size: 24px;
        line-height: 1.2;
        font-weight: 600;
        margin-bottom: 24px
    }
} @layer component {
    .product {
        --gap: 32px;
        --aside-width: 100%
    }

    .product__container {
        display: flex;
        flex-direction: column;
        gap: var(--gap)
    }

    .product__gallery {
        overflow: hidden;
        display: flex;
        flex-direction: column;
        gap: 16px
    }

    .product__thumbs {
        overflow: hidden
    }

    .product__thumbs .swiper-slide-thumb-active {
        position: relative
    }

    .product__thumbs .swiper-slide-thumb-active .product__thumbs-img {
        border-color: var(--color-accent)
    }

    .product__thumbs-img {
        display: block;
        width: 100%;
        aspect-ratio: 1/1;
        border: 1px solid transparent;
        cursor: pointer
    }

    .product__thumbs-img img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover
    }

    .product__slider {
        overflow: hidden
    }

    .product__img {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center
    }

    .product__img img {
        display: block;
        width: 100%
    }

    .product__main {
        display: flex;
        align-items: flex-start;
        flex-direction: column;
        width: var(--aside-width)
    }

    .product__label {
        margin-bottom: 8px;
        padding: 0 8px;
        font-size: 14px;
        line-height: 24px;
        text-align: center;
        background-color: #169b00;
        color: var(--color-whte);
        border-radius: 6px
    }

    .product__title {
        font-size: 32px;
        line-height: 1.25;
        font-weight: 700;
        margin-bottom: 24px
    }

    .product__features {
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: 24px
    }

    .product__features-title {
        font-size: 14px;
        line-height: 1.4;
        margin-bottom: 16px
    }

    .product__features-items {
        display: flex;
        align-items: center;
        gap: 8px
    }

    .product__features-item {
        display: block;
        cursor: pointer;
        flex-grow: 1
    }

    .product__features-item input {
        position: absolute;
        top: 0;
        left: 0;
        opacity: 0;
        visibility: hidden
    }

    .product__features-item input:checked + span {
        border-color: var(--color-accent)
    }

    .product__features-item span {
        display: block;
        text-align: center;
        background-color: #f5f5f7;
        padding: 15px;
        font-size: 14px;
        line-height: 1.715;
        border-radius: 8px;
        border: 1px solid #f5f5f7;
        min-width: 80px
    }

    .product__features-colors {
        display: flex;
        align-items: center;
        gap: 24px
    }

    .product__features-colors .product__features-title {
        margin-bottom: 0
    }

    .product__features-colors-list {
        display: flex;
        align-items: center;
        gap: 8px
    }

    .product__features-color {
        display: block;
        position: relative;
        cursor: pointer
    }

    .product__features-color input {
        position: absolute;
        top: 0;
        left: 0;
        opacity: 0;
        visibility: hidden
    }

    .product__features-color input:checked + span {
        border-color: var(--color-accent)
    }

    .product__features-color span {
        display: block;
        width: 32px;
        height: 32px;
        background-color: var(--color);
        border: 1px solid transparent;
        border-radius: 50%
    }

    .product__price {
        display: flex;
        align-items: center;
        gap: 16px;
        margin-bottom: 16px
    }

    .product__price-current {
        font-size: 32px;
        line-height: 1.2;
        font-weight: 500
    }

    .product__price-old {
        font-size: 24px;
        line-height: 1.2;
        text-decoration: line-through;
        color: #a0a0a0
    }

    .product__desc {
        font-size: 14px;
        line-height: 1.4;
        order: 99;
        margin-top: 24px
    }

    .product__action {
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: 16px;
        margin-top: 32px;
        order: 100
    }

    .product__action-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        width: 100%;
        padding: 7px;
        border: 1px solid transparent;
        border-radius: 8px;
        transition: .25s ease-in-out;
        min-height: 56px
    }

    .product__action-btn-img-active {
        display: none
    }

    .product__action-btn-img {
        display: block
    }

    .product__action-btn.is-active .product__action-btn-img {
        display: none
    }

    .product__action-btn.is-active .product__action-btn-img-active {
        display: block
    }
} @layer component {
    .breadcrumbs {
        padding-bottom: 24px
    }

    .breadcrumbs__container {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 16px
    }

    .breadcrumbs__list {
        display: flex;
        align-items: center;
        gap: 4px;
        width: calc(100% + 32px);
        margin: 0 -16px;
        padding: 0 16px;
        overflow-x: auto
    }

    .breadcrumbs__list::-webkit-scrollbar {
        display: none
    }

    .breadcrumbs__item {
        font-size: 14px;
        line-height: 1.4;
        white-space: nowrap
    }

    .breadcrumbs__item:not(:first-child) {
        display: flex;
        align-items: center;
        gap: 4px
    }

    .breadcrumbs__item:not(:first-child):before {
        content: "/"
    }

    .breadcrumbs__item:last-child .breadcrumbs__link {
        pointer-events: none;
        color: var(--color-accent)
    }

    .breadcrumbs__back-btn {
        display: flex;
        align-items: center;
        gap: 8px;
        font-size: 14px;
        line-height: 1.4
    }

    .breadcrumbs__back-btn:before {
        content: "";
        display: block;
        width: 14px;
        height: 14px;
        mask: url(../img/icons/chevron-left.svg) center center/14px no-repeat;
        -webkit-mask: url(../img/icons/chevron-left.svg) center center/14px no-repeat;
        background-color: currentColor
    }
} @layer component {
    .catalog__filter {
        position: fixed;
        inset: 0;
        width: 100%;
        height: 100 dvh;
        display: none
    }

    .catalog__filter.is-open {
        display: block;
        z-index: 100
    }

    .catalog__filter-overlay {
        position: absolute;
        inset: 0;
        z-index: 1;
        background-color: #d3d3d380
    }

    .catalog__filter-head {
        display: flex;
        align-items: center;
        justify-content: space-between
    }

    .catalog__filter-title {
        display: flex;
        align-items: center;
        gap: 10px;
        font-size: 22px;
        line-height: 1.5
    }

    .catalog__filter-title:before {
        content: "";
        display: block;
        margin-top: 3px;
        width: 8px;
        height: 15px;
        background: url(../img/icons/chevron-left-sec.svg) center center/8px no-repeat
    }

    .catalog__filter-close {
        width: 24px;
        height: 24px;
        mask: url(../img/icons/close.svg) center center/24px no-repeat;
        -webkit-mask: url(../img/icons/close.svg) center center/24px no-repeat;
        background-color: var(--color-primary)
    }

    .catalog__filter-panel {
        position: relative;
        width: 100%;
        height: 100 dvh;
        display: flex;
        flex-direction: column;
        gap: 24px;
        padding: 80px 16px 32px;
        overflow-y: auto;
        background-color: var(--color-whte);
        z-index: 2
    }

    .catalog__filter-panel::-webkit-scrollbar {
        display: none
    }

    .catalog__filter-block {
        padding-bottom: 12px;
        border-bottom: 1px solid var(--color-accent)
    }

    .catalog__filter-block-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        font-size: 18px;
        line-height: 1.2;
        padding: 12px 0 0;
        cursor: pointer
    }

    .catalog__filter-block-head:after {
        content: "";
        width: 24px;
        height: 24px;
        background: url(../img/icons/chevron-down.svg) center center/24px no-repeat
    }

    .catalog__filter-block-head._spoller-active:after {
        transform: rotate(180deg)
    }

    .catalog__filter-block-body {
        padding-top: 24px
    }

    .catalog__filter-block-search {
        width: 100%;
        margin-bottom: 16px
    }

    .catalog__filter-block-search-input {
        display: block;
        width: 100%;
        height: 40px;
        padding: 11px 11px 11px 48px;
        background: url(../img/icons/search-sec.svg) top 8px left 16px/24px no-repeat, var(--color-gry-50);
        border-radius: 8px;
        font-size: 14px;
        line-height: 1.2;
        outline: none;
        border: none
    }

    .catalog__filter-block-search-input::placeholder {
        color: #656565
    }

    .catalog__filter-block-controls {
        display: flex;
        flex-direction: column;
        gap: 8px;
        max-height: 195px;
        overflow-y: auto
    }

    .catalog__filter-block-controls::-webkit-scrollbar {
        width: 2px
    }

    .catalog__filter-block-controls::-webkit-scrollbar-track {
        width: 2px;
        background-color: var(--color-gry)
    }

    .catalog__filter-block-controls::-webkit-scrollbar-thumb {
        background-color: var(--color-accent);
        width: 2px
    }

    .catalog__filter-block-price {
        display: grid;
        grid-template-columns:1fr 20px 1fr;
        align-items: flex-end;
        gap: 16px
    }

    .catalog__filter-block-price-group {
        width: 100%
    }

    .catalog__filter-block-price-group--right .catalog__filter-block-price-label, .catalog__filter-block-price-group--right .catalog__filter-block-price-input {
        text-align: right
    }

    .catalog__filter-block-price-divider {
        width: 20px;
        height: 1px;
        background-color: #e7e7e7;
        margin-bottom: 16px
    }

    .catalog__filter-block-price-label {
        font-size: 14px;
        line-height: 1.1429;
        margin-bottom: 8px
    }

    .catalog__filter-block-price-input {
        display: block;
        width: 100%;
        height: 32px;
        padding: 7px;
        font-size: 14px;
        line-height: 1.1429;
        border: 1px solid #9f9f9f;
        background-color: var(--color-whte);
        color: var(--color-primary);
        border-radius: 4px;
        outline: none
    }

    .catalog__grid {
        width: calc(100% + 32px);
        margin: 0 -16px;
        display: grid;
        grid-template-columns:100%;
        border-top: 1px solid var(--color-accent)
    }

    .catalog__grid--2-2 {
        display: grid;
        grid-template-columns:repeat(2, 1fr)
    }

    .catalog__grid--2-2 .catalog__item {
        border-right: 1px solid var(--color-accent)
    }

    .catalog__grid--2-2 .catalog__item:nth-of-type(2n) {
        border-right: 0
    }

    .catalog__grid .catalog__item {
        border-bottom: 1px solid var(--color-accent)
    }

    .catalog__panel {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 30px;
        flex-wrap: wrap;
        gap: 24px
    }

    .catalog__filter-btn {
        display: flex;
        align-items: center;
        gap: 16px;
        padding: 15px;
        border: 1px solid var(--color-gry-100);
        border-radius: 8px
    }

    .catalog__filter-btn:before {
        content: "";
        width: 24px;
        height: 24px;
        mask: url(../img/icons/filters.svg) center center/24px no-repeat;
        -webkit-mask: url(../img/icons/filters.svg) center center/24px no-repeat;
        background: currentColor
    }

    .catalog-category-item {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 40px;
        padding: 24px 24px 40px
    }

    .catalog-item {
        width: 100%;
        height: 100%;
        display: flex;
        flex-direction: column;
        gap: 20px;
        padding: 16px
    }

    .catalog-item__top {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: space-between
    }

    .catalog-item__to-favorite {
        width: 32px;
        height: 32px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-left: auto
    }

    .catalog-item__to-favorite-active, .catalog-item__to-favorite.is-favorite .catalog-item__to-favorite-static {
        display: none
    }

    .catalog-item__to-favorite.is-favorite .catalog-item__to-favorite-active {
        display: block
    }

    .catalog-item__label {
        font-size: 16px;
        line-height: 1.25;
        color: #169b00
    }

    .catalog-item__img {
        display: flex;
        align-items: center;
        justify-content: center
    }

    .catalog-item__img img {
        display: block;
        width: auto;
        height: 128px
    }

    .catalog-item__info {
        display: flex;
        flex-direction: column;
        gap: 16px;
        text-align: center
    }

    .catalog-item__action {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 8px;
        margin-top: auto
    }

    .catalog-item__action .btn {
        width: 100%;
        flex-grow: 1
    }
} @layer component {
    .favorites__head {
        margin-bottom: 50px
    }

    .favorites__grid {
        display: grid;
        grid-template-columns:repeat(2, 1fr);
        gap: 12px
    }
} @layer component {
    .compare {
        overflow: hidden
    }

    .compare__head {
        margin-bottom: 50px
    }

    .compare__list .swiper-slide {
        width: 100%
    }

    .compare__item {
        display: flex;
        flex-direction: column;
        gap: 24px;
        padding: 16px 12px 12px
    }

    .compare__item-top {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 8px
    }

    .compare__item-label {
        font-size: 16px;
        line-height: 1.25;
        color: #169b00
    }

    .compare__item-to-favorite {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px
    }

    .compare__item-to-favorite-active {
        display: none
    }

    .compare__item-to-favorite-static {
        display: block
    }

    .compare__item-to-favorite.is-favorite .compare__item-to-favorite-static {
        display: none
    }

    .compare__item-to-favorite.is-favorite .compare__item-to-favorite-active {
        display: block
    }

    .compare__item-img {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 16px
    }

    .compare__item-img img {
        display: block;
        max-width: unset;
        width: auto;
        height: 128px
    }

    .compare__item-title {
        text-align: center;
        margin-bottom: 10px
    }

    .compare__item-price {
        text-align: center
    }

    .compare__item-btn {
        width: 100%;
        margin-top: 20px
    }

    .compare__item-color {
        display: flex;
        align-items: center;
        gap: 16px
    }

    .compare__item-color-value {
        width: 32px;
        height: 32px;
        border-radius: 50%;
        flex-shrink: 0;
        background-color: var(--color)
    }

    .compare__item-features {
        display: flex;
        flex-direction: column;
        gap: 16px
    }

    .compare__item-feature-label {
        font-size: 14px;
        line-height: 1.3;
        margin-bottom: 12px
    }

    .compare__item-feature-value {
        width: 100%;
        padding: 16px;
        font-size: 14px;
        line-height: 1.2;
        text-align: center;
        background-color: #f5f5f7;
        border-radius: 8px
    }

    .compare__item-aditional-info {
        font-size: 14px;
        line-height: 1.3
    }
} @media only screen and (min-width: 767.98px) {
    .header-main {
        padding: 10px 0
    }

    .header-main__container {
        gap: 30px
    }

    .header-main__searchbar {
        display: block;
        flex-grow: 1
    }

    .footer__main {
        display: grid;
        grid-template-columns:repeat(5, 1fr);
        gap: 24px 32px
    }

    .footer__nav {
        padding: 0;
        border-bottom: 0
    }

    .footer__nav-title {
        pointer-events: none
    }

    .footer__nav-title:after {
        display: none
    }

    .footer__nav-list {
        display: flex
    }

    .footer__bottom {
        flex-direction: row;
        align-items: flex-start;
        justify-content: space-between;
        padding-top: 31px;
        margin-top: 40px;
        border-top: 1px solid var(--color-whte)
    }

    .footer__links {
        flex-direction: column;
        align-items: flex-end;
        gap: 20px
    }

    @layer base {
        [class*=__container], .container {
            --pad: 20px
        }
    }@layer component {
        .hero__bottom {
            padding-bottom: 20px
        }
    }@layer component {
        .main-catalog__item-img {
            aspect-ratio: 30/17;
            width: 300px
        }
    }@layer component {
        .services__container {
            grid-template-columns:repeat(2, 1fr);
            gap: 20px
        }
    }@layer component {
        .services__card {
            height: 440px;
            padding: 40px 16px 16px
        }
    }@layer component {
        .services__card:first-child {
            grid-column: span 2
        }
    }@layer component {
        .best-price__item {
            padding-top: 56px
        }
    }@layer component {
        .best-price__item-action {
            flex-direction: row
        }
    }@layer component {
        .section {
            padding: 64px 0
        }
    }@layer component {
        .basket__container {
            gap: 64px
        }
    }@layer component {
        .basket__order-title {
            margin-bottom: 40px
        }
    }@layer component {
        .basket__order-products {
            gap: 40px
        }
    }@layer component {
        .basket__product {
            grid-template-columns:80px 1fr;
            padding-bottom: 40px
        }
    }@layer component {
        .basket__product-main {
            flex-direction: row;
            align-items: center;
            gap: 24px
        }
    }@layer component {
        .basket__product-action {
            width: auto;
            margin-left: auto;
            flex-shrink: 0;
            gap: 24px
        }
    }@layer component {
        .basket__product-price {
            font-size: 20px
        }
    }@layer component {
        .basket__form-title {
            margin-bottom: 40px
        }
    }@layer component {
        .information__inner {
            gap: 32px
        }
    }@layer component {
        .information__nav {
            width: calc(100% + 40px);
            padding: 8px 20px;
            margin: 0 -20px
        }
    }@layer component {
        .product__gallery {
            gap: 32px
        }
    }@layer component {
        .breadcrumbs__list {
            width: calc(100% + 40px);
            margin: 0 -20px;
            padding: 0 20px
        }
    }@layer component {
        .catalog__filter-panel {
            width: 375px;
            padding: 80px 10px 30px
        }
    }@layer component {
        .catalog__filter-block {
            padding-left: 12px
        }
    }@layer component {
        .catalog__grid {
            width: calc(100% + 40px);
            margin: 0 -20px;
            grid-template-columns:repeat(2, 1fr)
        }
    }@layer component {
        .catalog__grid .catalog__item {
            border-right: 1px solid var(--color-accent)
        }

        .catalog__grid .catalog__item:nth-of-type(2n) {
            border-right: 0
        }
    }@layer component {
        .catalog-item__action {
            flex-direction: row
        }
    }@layer component {
        .compare__list .swiper-slide {
            width: 320px
        }
    }@layer component {
        .compare__item {
            padding: 20px
        }
    }@layer component {
        .compare__item-top {
            margin-bottom: 12px
        }
    }
}

@media only screen and (min-width: 1023.98px) {
    .header-main {
        background-color: var(--color-accent);
        color: var(--color-whte)
    }

    .header-main__nav {
        display: flex;
        align-items: center;
        gap: 12px
    }

    .header-main__tools-btn {
        color: var(--color-whte)
    }

    .header-main__tools-btn:before {
        display: none
    }

    .header-main__tools-btn-static {
        display: block
    }

    .header-main__burger {
        display: none
    }

    .header-bottom {
        display: block;
        padding: 16px 0
    }

    .header-menu {
        display: none !important
    }

    .header-catalog.is-active {
        display: block
    }

    .page {
        --p-top: 110px
    }

    .page-inner {
        --p-top: 126px
    }

    @layer component {
        .hero__bottom {
            padding-bottom: 40px
        }
    }@layer component {
    .hero__container {
        padding: 0 120px;
        min-height: 40px
    }
}@layer component {
    .hero .slider-nav {
        display: flex;
        position: absolute;
        top: 0;
        right: 20px
    }
}@layer component {
    .main-catalog__grid {
        grid-template-columns:repeat(5, 1fr);
        border-left: 1px solid var(--color-accent)
    }
}@layer component {
    .main-catalog__item:nth-of-type(2n) {
        border-right: 1px solid var(--color-accent)
    }
}@layer component {
    .main-catalog__item-img {
        max-width: 200px;
        width: 100%;
        aspect-ratio: 20/17
    }
}@layer component {
    .services__card {
        height: 600px;
        padding: 60px 16px 16px
    }
}@layer component {
    .services__card-title {
        font-size: 40px
    }
}@layer component {
    .best-price__title {
        padding: 10px
    }
}@layer component {
    .best-price__grid {
        grid-template-columns:repeat(4, 1fr);
        border-left: 1px solid var(--color-accent)
    }
}@layer component {
    .best-price__item:nth-of-type(2n) {
        border-right: 1px solid var(--color-accent)
    }
}@layer component {
    .section + .section {
        padding-top: 70px
    }
}@layer component {
    .section {
        padding: 70px 0
    }
}@layer component {
    .page-inner {
        padding: 64px 0
    }
}@layer component {
    .h2 {
        font-size: 32px
    }
}@layer component {
    .basket__form {
        padding: 56px 24px
    }
}@layer component {
    .basket__form-btn {
        margin-top: 48px
    }
}@layer component {
    .information {
        padding: 70px 0
    }
}@layer component {
    .information__title {
        margin-bottom: 50px
    }
}@layer component {
    .information__inner {
        flex-direction: row;
        align-items: flex-start;
        gap: 60px
    }
}@layer component {
    .information__nav {
        width: 270px;
        padding: 0;
        margin: 0;
        flex-direction: column;
        align-items: flex-start;
        overflow: visible;
        gap: 10px
    }
}@layer component {
    .product {
        --gap: 44px;
        --aside-width: 476px
    }
}@layer component {
    .product__container {
        flex-direction: row;
        align-items: flex-start
    }
}@layer component {
    .product__gallery {
        flex-direction: row-reverse;
        align-items: flex-start;
        width: calc(100% - var(--aside-width) - var(--gap));
        gap: 20px
    }
}@layer component {
    .product__thumbs {
        width: 80px;
        flex-shrink: 0
    }
}@layer component {
    .product__thumbs-img {
        width: 80px;
        height: 80px
    }
}@layer component {
    .product__slider {
        width: calc(100% - 100px)
    }
}@layer component {
    .product__img {
        aspect-ratio: 1/1
    }
}@layer component {
    .product__main {
        flex-shrink: 0
    }
}@layer component {
    .product__title {
        margin-bottom: 12px
    }
}@layer component {
    .product__features-item {
        flex-grow: unset
    }
}@layer component {
    .product__features-item span {
        padding: 7px 15px
    }
}@layer component {
    .product__price {
        margin-bottom: 24px
    }
}@layer component {
    .product__price-current {
        font-size: 40px;
        font-weight: 600
    }
}@layer component {
    .product__desc {
        font-size: 16px;
        line-height: 1.5;
        order: unset;
        margin-top: 0;
        margin-bottom: 24px
    }
}@layer component {
    .breadcrumbs {
        padding-bottom: 32px
    }
}@layer component {
    .breadcrumbs__list {
        margin: 0;
        padding: 0;
        width: 100%;
        flex-wrap: wrap
    }
}@layer component {
    .catalog__container {
        display: flex;
        align-items: flex-start;
        gap: 40px
    }
}@layer component {
    .catalog__filter {
        display: block;
        width: 290px;
        padding: 0 10px 50px;
        position: static;
        height: auto;
        flex-shrink: 0;
        box-shadow: 1px 1px 20px #0000001a
    }
}@layer component {
    .catalog__filter-overlay {
        display: none
    }
}@layer component {
    .catalog__filter-head {
        display: none
    }
}@layer component {
    .catalog__filter-panel {
        width: 100%;
        overflow: hidden;
        height: auto;
        padding: 0
    }
}@layer component {
    .catalog__filter-block {
        padding-left: 10px
    }
}@layer component {
    .catalog__filter-apply {
        display: none
    }
}@layer component {
    .catalog__grid {
        width: 100%;
        margin: 0;
        border-left: 1px solid var(--color-accent);
        border-top: 0
    }
}@layer component {
    .catalog__grid .catalog__item {
        border-right: 1px solid var(--color-accent)
    }

    .catalog__grid .catalog__item:nth-of-type(2n) {
        border-right: 1px solid var(--color-accent)
    }

    .catalog__grid .catalog__item:nth-of-type(1), .catalog__grid .catalog__item:nth-of-type(2) {
        border-top: 1px solid var(--color-accent)
    }
}@layer component {
    .catalog__panel {
        display: none
    }
}@layer component {
    .favorites__grid {
        grid-template-columns:repeat(3, 1fr);
        gap: 24px
    }
}
}

@media only screen and (min-width: 1023.98px)and (hover: hover) {
    .header-main__tools-btn:hover .header-main__tools-btn-static {
        display: none
    }

    .header-main__tools-btn:hover .header-main__tools-btn-active {
        display: block
    }
}

@media only screen and (min-width: 1279.98px) {
    .header-main {
        padding: 12px 0
    }

    .header-main__container, .header-main__nav {
        gap: 34px
    }

    .header-main__tools {
        position: relative;
        gap: 38px;
        padding-left: 38px
    }

    .header-main__tools:before {
        content: "";
        width: 1px;
        height: 22px;
        background-color: var(--color-whte);
        position: absolute;
        top: 50%;
        left: 0;
        transform: translateY(-50%)
    }

    .header-main__tools-btn {
        border-radius: 4px;
        background-color: transparent;
        transition: background-color .25s ease-in-out, color .25s ease-in-out
    }

    .header-bottom {
        padding: 22px 0
    }

    .header-bottom__nav-link {
        font-size: 16px;
        line-height: 1.25
    }

    .footer__main {
        display: flex;
        flex-direction: row;
        justify-content: space-between
    }

    .footer__bottom {
        padding-top: 23px;
        margin-top: 50px
    }

    .page {
        --p-top: 129px
    }

    .page-inner {
        --p-top: 160px
    }

    @layer component {
        .hero__container {
            padding: 0 132px
        }
    }@layer component {
    .hero .slider-nav {
        right: 32px
    }
}@layer component {
    .store__img {
        height: 600px
    }
}@layer component {
    .searchbar__input {
        padding-left: 20px;
        padding-right: 48px;
        background-position: top 7px right 20px
    }
}@layer component {
    .basket__container {
        grid-template-columns:repeat(2, 1fr);
        gap: 48px
    }
}@layer component {
    .basket__product-price {
        font-size: 16px
    }
}@layer component {
    .basket__form {
        padding: 56px 64px
    }
}@layer component {
    .product {
        --gap: 50px;
        --aside-width: 576px
    }
}@layer component {
    .catalog__container {
        gap: 75px
    }
}@layer component {
    .catalog__grid {
        grid-template-columns:repeat(3, 1fr)
    }
}@layer component {
    .catalog__grid .catalog__item:nth-of-type(3) {
        border-top: 1px solid var(--color-accent)
    }
}@layer component {
    .favorites__grid {
        grid-template-columns:repeat(4, 1fr)
    }
}
}

@media only screen and (min-width: 1365.98px) {
    @layer base {
        [class*=__container], .container {
            --pad: 32px
        }
    }
}

@media only screen and (min-width: 1439.98px) {
    @layer component {
        .main-catalog__container {
            max-width: 1440px;
            padding: 0 32px
        }
    }@layer component {
    .best-price__container {
        max-width: 1440px;
        padding: 0 32px
    }
}
}

@media (max-width: 991.98px) {
    :root {
        --spacing: 80px
    }
}

@media (max-width: 767.98px) {
    :root {
        --spacing: 60px
    }
}

@media (hover: hover) {
    .header-main__link:hover:hover {
        color: var(--color-alt)
    }

    .header-bottom__nav-link:hover:hover {
        color: var(--color-accent)
    }

    .footer__nav-link:hover {
        color: var(--color-whte)
    }

    @layer mod {
        .btn--alt:hover {
            background-color: var(--color-accent)
        }

        .btn--alt:hover:before {
            opacity: 0
        }
    }@layer component {
    .slider-nav-btn:hover {
        opacity: .6
    }
}@layer component {
    .basket__product-remove:hover {
        opacity: .6
    }
}@layer component {
    .counter__btn:hover {
        opacity: .6
    }
}@layer component {
    .product__action-btn:hover {
        border-color: var(--color-accent)
    }
}@layer component {
    .breadcrumbs__link:hover {
        text-decoration: underline
    }
}@layer component {
    .breadcrumbs__back-btn:hover {
        text-decoration: underline
    }
}
}

@media (any-hover: hover) {
    @layer component {
        .btn:hover {
            background-color: #0e4c61
        }
    }@layer component {
    .select__option:hover {
        background: var(--color-alt)
    }
}
}

@media only screen and (max-width: 991.98px) {
    .outer {
        height: 100 dvh
    }
}
