@media (max-width: 767.98px) {
    :root {
        --gutter: 16px;
        --wrap: calc(100% - var(--gutter) * 2);
        --header-h: 110px;
    }

    body {
        -webkit-text-size-adjust: 100%;
    }

    .site-header {
        padding: 10px var(--gutter);
    }

    .site-header__inner {
        flex-wrap: wrap;
        height: auto;
        gap: 10px 8px;
    }

    .site-header__left {
        flex: 0 0 auto;
        gap: 0;
        margin-right: auto;
    }

    .site-header__right {
        display: contents;
    }

    .site-search {
        order: 5;
        flex: 0 0 100%;
        width: 100%;
        min-width: 0;
        height: 40px;
        padding: 0 14px;
        gap: 10px;
    }

    .site-search__input {
        height: 38px;
        font-size: 16px;
        line-height: 20px;
    }

    .site-search__input::placeholder {
        color: #707070;
    }

    .site-search__item {
        min-height: 52px;
    }

    .site-lang {
        display: none;
    }

    .site-basket {
        height: 40px;
        padding: 0 10px;
    }

    .site-burger {
        flex: 0 0 auto;
        width: 40px;
        height: 40px;
        padding: 0 11px;
    }

    .mobile-nav {
        max-height: calc(100vh - var(--header-h));
        max-height: calc(100dvh - var(--header-h));
        overscroll-behavior: contain;
        box-shadow: none;
    }

    .mobile-nav__inner {
        min-height: calc(100vh - var(--header-h));
        min-height: calc(100dvh - var(--header-h));
        padding: 8px var(--gutter) 32px;
    }

    .mobile-nav__list a {
        display: flex;
        align-items: center;
        min-height: 56px;
        padding: 0 28px 0 0;
        background: url("../img/arrow.svg") right 4px center / 13px 11px no-repeat;
        font-size: 17px;
        line-height: 22px;
    }

    .mobile-nav__list .current-menu-item > a,
    .mobile-nav__list .current_page_item > a,
    .mobile-nav__list .current-menu-parent > a,
    .mobile-nav__list .current-menu-ancestor > a {
        color: #499d64;
        font-weight: 600;
    }

    .mobile-nav__lang {
        min-width: 64px;
        height: 44px;
        margin-top: 24px;
        padding: 0 16px;
        font-size: 15px;
        font-weight: 500;
    }

    .page-head {
        padding-top: 12px;
    }

    .breadcrumb {
        min-width: 0;
        height: auto;
        min-height: 24px;
        white-space: nowrap;
    }

    .breadcrumb__link,
    .breadcrumb__arrow {
        flex: 0 0 auto;
    }

    .breadcrumb__current {
        flex: 0 1 auto;
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .page-title {
        margin-top: 24px;
        font-size: 26px;
        line-height: 34px;
    }

    .page-title--news,
    .page-title--cart,
    .page-title--duk,
    .page-title--text {
        margin-top: 24px;
    }

    .page-title--contacts,
    .page-title--shop {
        margin-top: 0;
    }

    .section-title {
        font-size: 24px;
        line-height: 32px;
    }

    .btn {
        height: 50px;
    }

    .btn--xs,
    .btn--ghost {
        height: 44px;
    }

    .hero {
        height: auto;
    }

    .hero__inner {
        display: flex;
        flex-direction: column;
        height: auto;
        padding: 40px 0 48px;
    }

    .hero__content {
        width: 100%;
    }

    .hero__title {
        margin-bottom: 12px;
        font-size: 30px;
        line-height: 38px;
    }

    .hero__lead {
        font-size: 16px;
        line-height: 26px;
    }

    .hero__buttons {
        flex-direction: column;
        gap: 10px;
        margin-top: 28px;
    }

    .hero__buttons .btn {
        width: 100%;
    }

    .hero__line {
        width: 100%;
        margin: 32px 0 28px;
    }

    .hero__stats {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 16px;
    }

    .hero__stat {
        gap: 8px;
    }

    .hero__stat-number {
        font-size: 32px;
        line-height: 36px;
    }

    .hero__stat-label {
        font-size: 14px;
        line-height: 18px;
    }

    .hero__image {
        position: static;
        width: 100%;
        height: auto;
        aspect-ratio: 16 / 11;
        margin-top: 36px;
        object-position: 50% 30%;
    }

    .partners {
        padding-top: 36px;
    }

    .partners__inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
        height: auto;
    }

    .partners__label {
        font-size: 18px;
    }

    .partners__track {
        flex: 0 0 auto;
        width: 100%;
        height: 29px;
    }

    .partners__marquee,
    .partners__group {
        height: 100%;
    }

    .partners__group {
        gap: 32px;
        padding-right: 32px;
    }

    .partners__line {
        margin-top: 36px;
    }

    .directions {
        padding: 48px 0 56px;
    }

    .directions__grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
        margin-top: 28px;
    }

    .card {
        min-height: 0;
        gap: 24px;
        padding: 24px;
    }

    .card__body {
        gap: 16px;
    }

    .card__title {
        font-size: 20px;
        line-height: 28px;
    }

    .card__text {
        font-size: 16px;
        line-height: 26px;
    }

    .card__link {
        align-self: flex-start;
        min-height: 24px;
    }

    .reviews {
        padding: 56px 0;
    }

    .reviews__head,
    .related__head,
    .more-news__head {
        gap: 16px;
        margin-bottom: 24px;
    }

    .reviews__nav {
        flex: 0 0 auto;
    }

    .reviews__arrow {
        width: 44px;
        height: 44px;
    }

    .reviews__track,
    .related__track,
    .more-news__track {
        gap: 16px;
    }

    .review {
        flex: 0 0 100%;
        width: auto;
        min-width: 0;
        gap: 20px;
        padding: 24px 20px;
    }

    .reviews--about .review {
        padding: 24px 20px;
    }

    .review__text {
        font-size: 15px;
        line-height: 24px;
    }

    .review__author {
        gap: 16px;
    }

    .review__logo {
        flex: 0 0 56px;
        width: 56px;
        height: 56px;
    }

    .review__logo img {
        max-width: 44px;
        height: auto;
    }

    .review__name {
        font-size: 16px;
    }

    .faq {
        padding: 56px 0;
    }

    .faq__inner {
        flex-direction: column;
        gap: 24px;
    }

    .faq__intro,
    .faq__list {
        width: 100%;
    }

    .faq__text {
        margin: 12px 0 20px;
    }

    .faq__text br {
        display: none;
    }

    .faq__list {
        gap: 4px;
        padding-top: 0;
    }

    .faq__question {
        min-height: 48px;
        padding: 12px 0;
        font-size: 16px;
        line-height: 24px;
    }

    .faq__answer-inner {
        padding-right: 0;
    }

    .faq__answer p {
        font-size: 15px;
        line-height: 24px;
    }

    .faq__answer-inner > :last-child {
        margin-bottom: 16px;
    }

    .cta {
        padding-bottom: 56px;
    }

    .cta.cta--about {
        padding-top: 56px;
    }

    .cta__box {
        flex-direction: column;
        align-items: stretch;
        gap: 24px;
        padding: 28px 20px;
        background-position: 70% center;
    }

    .cta__title {
        font-size: 24px;
        line-height: 32px;
    }

    .cta__box .btn {
        width: 100%;
    }

    .cta__lead {
        font-size: 14px;
        line-height: 22px;
    }

    @media (max-width: 359.98px) {
        .cta__box {
            padding: 24px 16px;
        }

        .cta__lead {
            font-size: 13px;
            line-height: 20px;
        }
    }

    .site-footer {
        padding: 40px 0 24px;
    }

    .site-footer__top {
        flex-direction: column;
        gap: 32px;
    }

    .site-footer__brand {
        flex: 0 0 auto;
        width: 100%;
        min-height: 0;
    }

    .site-footer__logo {
        margin-bottom: 16px;
    }

    .site-footer__about {
        font-size: 15px;
        line-height: 24px;
    }

    .site-footer__social {
        gap: 12px;
        margin-top: 20px;
    }

    .site-footer__social a {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 32px;
        height: 32px;
        margin: -4px;
    }

    .site-footer__cols {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 32px 24px;
        width: 100%;
    }

    .site-footer__col {
        width: auto;
        min-width: 0;
    }

    .site-footer__col:first-child {
        grid-row: span 2;
    }

    .site-footer__col--contact {
        grid-column: 1 / -1;
    }

    .site-footer__heading {
        margin-bottom: 12px;
        font-size: 16px;
    }

    .site-footer__links {
        gap: 4px;
        font-size: 15px;
        white-space: normal;
    }

    .site-footer__links a {
        display: inline-block;
        padding: 4px 0;
        overflow-wrap: anywhere;
    }

    .site-footer__col--contact .site-footer__links li:last-child {
        padding-top: 4px;
    }

    .site-footer__bottom {
        margin-top: 32px;
    }

    .site-footer__line {
        margin-bottom: 20px;
    }

    .site-footer__row {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }

    .site-footer__legal {
        flex-direction: column;
        gap: 6px;
        font-size: 14px;
        line-height: 22px;
    }

    .site-footer__credit {
        font-size: 14px;
    }

    .partner-list {
        padding: 24px 0 56px;
    }

    .partner-list__grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
    }

    .partner-card__logo {
        height: 112px;
    }

    .partner-card__title {
        font-size: 20px;
        line-height: 28px;
    }

    .partner-hero__inner {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        min-height: 0;
        padding: 12px 0 48px;
    }

    .partner-hero__left {
        margin-top: 28px;
    }

    .partner-hero__logo {
        height: 120px;
    }

    .partner-hero__logo img {
        max-width: 70%;
        max-height: 80px;
        width: auto;
    }

    .partner-hero__meta {
        margin-top: 20px;
        font-size: 15px;
    }

    .partner-hero__site {
        margin-top: 16px;
        min-height: 44px;
    }

    .partner-hero__line {
        width: 100%;
        height: 1px;
        min-height: 0;
        margin-top: 20px;
        opacity: 0.25;
    }

    .partner-hero__right {
        margin-top: 28px;
    }

    .partner-hero__title {
        font-size: 26px;
        line-height: 34px;
    }

    .partner-hero__text {
        font-size: 16px;
        line-height: 26px;
    }

    .partner-hero__text p + p {
        margin-top: 16px;
    }

    .partner-hero__right .btn {
        width: 100%;
        margin-top: 28px;
    }

    .categories {
        padding-top: 56px;
    }

    .categories__grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
        margin-top: 28px;
    }

    .category-card {
        gap: 16px;
        padding: 16px;
    }

    .category-card__image {
        flex: 0 0 88px;
        width: 88px;
        height: 88px;
    }

    .category-card__image img {
        width: 72px;
        height: auto;
    }

    .category-card__body {
        gap: 16px;
    }

    .category-card__title {
        font-size: 18px;
        line-height: 26px;
    }

    .category-card__desc {
        font-size: 15px;
        line-height: 24px;
    }

    .category-card__link {
        font-size: 15px;
        white-space: nowrap;
    }

    .solutions {
        padding-top: 56px;
    }

    .solutions__tabs {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0;
        margin: 20px 0 0;
        padding: 0;
        border-bottom: 0;
        box-shadow: none;
        overflow: visible;
        -webkit-overflow-scrolling: touch;
    }

    .solutions__tabs::-webkit-scrollbar {
        display: none;
    }

    .solutions__tab {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 56px;
        margin: 0;
        padding: 8px 8px 10px;
        border-bottom: 1px solid #cacaca;
        font-size: 15px;
        line-height: 20px;
        text-align: center;
        white-space: normal;
    }

    .solutions__tab.is-active {
        padding-bottom: 9px;
        border-bottom: 2px solid #499d64;
    }

    .solutions__panel {
        margin-top: 24px;
    }

    .solutions__content {
        gap: 12px;
    }

    .solutions__title {
        font-size: 20px;
        line-height: 28px;
    }

    .solutions__text {
        font-size: 15px;
        line-height: 26px;
    }

    .solutions__panel .btn {
        margin-top: 24px;
    }

    .contact {
        padding: 56px 0;
    }

    .single-product .contact {
        padding-top: 56px;
    }

    .contact.contact--article {
        padding: 56px 0 0;
    }

    .contact.contact--duk {
        padding: 56px 0;
    }

    .contact__box {
        flex-direction: column;
        gap: 28px;
        padding: 28px 20px;
    }

    .contact__info,
    .contact__form {
        flex: 0 0 auto;
        width: 100%;
    }

    .contact__lead {
        margin-top: 8px;
        font-size: 15px;
        line-height: 24px;
    }

    .contact__list {
        gap: 12px;
        margin-top: 24px;
    }

    .contact__row,
    .contacts__row {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
    }

    .contact__row + .contact__row,
    .contacts__row + .contacts__row {
        margin-top: 12px;
    }

    .contact__input {
        height: 48px;
        padding: 10px 14px;
    }

    .contact__textarea,
    .contacts__textarea {
        height: 144px;
        margin-top: 12px;
    }

    .contact__consent {
        gap: 12px;
        min-height: 44px;
        margin-top: 8px;
    }

    .contacts__consent {
        margin-top: 8px;
    }

    .contact__submit {
        height: 50px;
        margin-top: 8px;
    }

    .contacts__form .contact__submit {
        margin-top: 8px;
    }

    .shop {
        padding-bottom: 56px;
    }

    .shop__head {
        flex-direction: column;
        align-items: stretch;
        gap: 16px;
        height: auto;
        margin-top: 20px;
    }

    .shop__heading {
        flex-wrap: wrap;
        gap: 4px 12px;
    }

    .shop__controls {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 10px;
        margin-top: 0;
    }

    .shop__select--sort,
    .shop__select--per {
        width: auto;
        min-width: 0;
    }

    .shop__select select,
    .shop__select--per select {
        width: 100%;
        min-width: 0;
        height: 46px;
        padding: 0 40px 0 14px;
        font-size: 15px;
        line-height: 20px;
    }

    .shop__line {
        margin-top: 16px;
    }

    .shop__body {
        flex-direction: column;
        align-items: stretch;
        gap: 16px;
        margin-top: 16px;
    }

    .shop__filter-toggle {
        display: none;
    }

    .js .shop__filter-toggle {
        display: flex;
        align-items: center;
        gap: 10px;
        width: 100%;
        height: 46px;
        margin: 0;
        padding: 0 40px 0 14px;
        border: 1px solid #e0e0e0;
        border-radius: 8px;
        background: #ffffff url("../img/chevron.svg") right 16px center no-repeat;
        font-family: var(--font);
        font-size: 15px;
        line-height: 20px;
        font-weight: 500;
        color: #000000;
        text-align: left;
        cursor: pointer;
    }

    .js .shop__filter-toggle[aria-expanded="true"] {
        border-color: #0b3c36;
    }

    .shop__filter-count {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 22px;
        height: 22px;
        padding: 0 6px;
        border-radius: 11px;
        background: #499d64;
        font-size: 12px;
        line-height: 1;
        font-weight: 600;
        color: #ffffff;
    }

    .js .shop__filters:not(.is-open) {
        display: none;
    }

    .shop__filters {
        flex: 0 0 auto;
        width: 100%;
        gap: 20px;
        padding: 16px;
    }

    .filter-group__list {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        margin-top: 8px;
    }

    .filter-option {
        gap: 10px;
        height: auto;
        min-height: 40px;
        font-size: 15px;
        line-height: 20px;
    }

    .filter-option span {
        white-space: normal;
    }

    .filter-option input {
        flex: 0 0 20px;
        width: 20px;
        height: 20px;
    }

    .filter-option input:checked {
        background-size: 12px auto;
    }

    .shop__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .product-card {
        gap: 12px;
        padding: 10px;
    }

    .product-card__top {
        gap: 8px;
    }

    .product-card__image {
        height: 132px;
    }

    .product-card__name,
    .shop__grid .product-card__name {
        font-size: 17px;
        line-height: 22px;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .product-card__stock {
        align-items: flex-start;
        font-size: 13px;
        line-height: 18px;
    }

    .product-card__stock::before {
        flex: 0 0 10px;
        width: 10px;
        height: 10px;
        margin-top: 4px;
    }

    .product-card__price {
        font-size: 13px;
    }

    .product-card__price strong {
        font-size: 18px;
        line-height: 24px;
    }

    .product-card__btn {
        height: 44px;
        padding: 0 6px;
        font-size: 14px;
        line-height: 18px;
        text-align: center;
        white-space: nowrap;
    }

    @media (max-width: 429.98px) {
        .product-card__btn {
            font-size: 13px;
            letter-spacing: -0.1px;
        }
    }

    .pagination {
        justify-content: center;
        flex-wrap: wrap;
        margin-top: 32px;
    }

    .pagination .page-numbers {
        width: 44px;
        height: 44px;
    }

    .pagination--center {
        margin-top: 32px;
    }

    .product-hero__inner {
        flex-direction: column;
        align-items: stretch;
        gap: 24px;
        margin-top: 20px;
    }

    .product-gallery,
    .product-info {
        flex: 0 0 auto;
        width: 100%;
    }

    .product-gallery__main {
        aspect-ratio: 4 / 3;
        padding: 24px;
    }

    .product-gallery__thumbs {
        gap: 8px;
        margin-top: 8px;
    }

    .product-gallery__thumb {
        flex: 0 1 80px;
        padding: 6px;
    }

    .product-info__meta {
        font-size: 14px;
        line-height: 22px;
    }

    .product-info__title {
        margin-top: 6px;
        font-size: 26px;
        line-height: 34px;
        overflow-wrap: anywhere;
    }

    .product-info__desc {
        margin-top: 10px;
        font-size: 15px;
        line-height: 26px;
    }

    .product-info__more {
        margin-top: 8px;
        font-size: 15px;
    }

    .product-info__stock {
        margin-top: 20px;
    }

    .product-info__row {
        flex-wrap: wrap;
        gap: 12px 16px;
        margin-top: 14px;
    }

    .product-info__btn {
        flex: 1 1 auto;
        max-width: 240px;
        height: 46px;
    }

    .product-tabs {
        margin-top: 40px;
    }

    .product-tabs__inner {
        gap: 28px;
        max-width: none;
        padding: 0 var(--gutter);
        overflow-x: auto;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .product-tabs__inner::-webkit-scrollbar {
        display: none;
    }

    .product-tabs__tab {
        flex: 0 0 auto;
        padding: 14px 0;
        font-size: 16px;
        white-space: nowrap;
    }

    @media (max-width: 479.98px) {
        .product-tabs__inner {
            justify-content: space-between;
            gap: 12px;
        }

        .product-tabs__tab {
            font-size: 15px;
        }
    }

    @media (max-width: 374.98px) {
        .product-tabs__tab {
            font-size: 14px;
        }
    }

    @media (max-width: 339.98px) {
        .product-tabs__inner {
            gap: 8px;
        }

        .product-tabs__tab {
            font-size: 13px;
        }
    }

    .models,
    .product-desc,
    .spec {
        scroll-margin-top: calc(var(--header-h) + 16px);
    }

    .product-section__title {
        font-size: 24px;
        line-height: 32px;
    }

    .models {
        padding: 32px 0;
    }

    .models__head {
        display: none;
    }

    .models__row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-areas:
            "name name"
            "stock stock"
            "warranty price"
            "actions actions";
        align-items: start;
        gap: 16px 12px;
        padding: 16px;
        border: 1px solid var(--color-border);
        border-radius: 8px;
        background: #ffffff;
    }

    .models__row + .models__row {
        margin-top: 12px;
    }

    .models__name {
        grid-area: name;
        padding-right: 0;
    }

    .models__name strong {
        font-size: 18px;
        line-height: 26px;
        overflow-wrap: anywhere;
    }

    .models__name p {
        margin-top: 4px;
        font-size: 14px;
        line-height: 22px;
    }

    .models__stock {
        grid-area: stock;
        flex-wrap: wrap;
        align-items: center;
        column-gap: 8px;
        row-gap: 2px;
        padding-top: 14px;
        border-top: 1px solid #e9e9e9;
    }

    .models__stock::after,
    .models__warranty::before,
    .models__price::before {
        display: block;
        font-size: 12px;
        line-height: 18px;
        font-weight: 500;
        color: #707070;
    }

    .models__stock::after {
        content: "Prieinamumas";
        order: -1;
        flex: 0 0 100%;
    }

    .models__warranty {
        grid-area: warranty;
    }

    .models__warranty::before {
        content: "Garantinis";
    }

    .models__price {
        grid-area: price;
        font-size: 16px;
        font-weight: 600;
        color: #1a1a1a;
    }

    .models__price::before {
        content: "Kaina be PVM";
        margin-bottom: 0;
    }

    .models__actions {
        grid-area: actions;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 8px;
        width: auto;
    }

    .models__actions .qty {
        flex: 1 1 140px;
    }

    .qty__btn {
        flex: 0 0 44px;
        width: 44px;
        height: 44px;
        border-radius: 8px;
        font-size: 18px;
    }

    .qty__input {
        min-width: 0;
        height: 44px;
        border-radius: 8px;
        font-size: 16px;
    }

    .models__add {
        flex: 1 1 150px;
        width: auto;
        height: 44px;
        border-radius: 8px;
        font-size: 15px;
    }

    .product-desc {
        padding-top: 48px;
    }

    .product-desc__text {
        margin-top: 16px;
        font-size: 15px;
        line-height: 26px;
        overflow-wrap: anywhere;
    }

    .product-desc__text p + p {
        margin-top: 12px;
    }

    .spec {
        margin-top: 48px;
        padding: 40px 0;
    }

    .spec__table {
        display: block;
        width: 100%;
        margin-top: 20px;
    }

    .spec__table tbody,
    .spec__table tr,
    .spec__table th,
    .spec__table td {
        display: block;
    }

    .spec__group-title {
        padding: 24px 0 8px;
        font-size: 16px;
        line-height: 24px;
        font-weight: 600;
        color: #1a1a1a;
    }

    .spec__group-row:first-child .spec__group-title {
        padding-top: 0;
    }

    .spec__row {
        padding: 10px 0;
        border-top: 1px solid #e9e9e9;
    }

    .spec__row--last {
        border-bottom: 1px solid #e9e9e9;
    }

    .spec__table td,
    .spec__row--last td {
        padding: 0;
        border: 0;
    }

    .spec__table .spec__label {
        width: auto;
        padding-right: 0;
        line-height: 22px;
        white-space: normal;
        color: #6e6e6e;
    }

    .spec__value {
        margin-top: 2px;
        line-height: 22px;
        font-weight: 500;
        color: #000000;
    }

    .related {
        padding-top: 56px;
    }

    .related__track .product-card {
        flex: 0 0 100%;
        width: auto;
    }

    .related__track .product-card__image {
        height: 160px;
    }

    .about-hero {
        min-height: 0;
    }

    .about-hero__inner {
        padding: 12px 0 48px;
    }

    .about-hero__row {
        flex-direction: column;
        gap: 16px;
        margin-top: 28px;
    }

    .about-hero__title {
        flex: 0 0 auto;
        width: auto;
        padding-right: 0;
        font-size: 30px;
        line-height: 38px;
    }

    .about-hero__text {
        width: 100%;
        font-size: 16px;
        line-height: 26px;
    }

    .about-hero__text p + p {
        margin-top: 16px;
    }

    .about-title {
        font-size: 24px;
        line-height: 32px;
    }

    .why {
        padding-top: 48px;
    }

    .why__grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
        margin-top: 12px;
    }

    .why__item {
        min-height: 0;
        gap: 10px;
        padding: 20px 0;
    }

    .why__title {
        font-size: 18px;
        line-height: 26px;
    }

    .why__text {
        font-size: 15px;
        line-height: 24px;
    }

    .team {
        padding-top: 48px;
    }

    .team__grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
        margin-top: 24px;
    }

    .team-card {
        flex-direction: row;
        align-items: center;
        gap: 16px;
        padding: 8px;
    }

    .team-card__photo {
        flex: 0 0 96px;
        width: 96px;
    }

    .team-card__text {
        min-width: 0;
        padding-right: 8px;
    }

    .team-card__name {
        font-size: 16px;
        line-height: 24px;
    }

    .team-card__role,
    .team-card__email {
        font-size: 14px;
        line-height: 20px;
        overflow-wrap: anywhere;
    }

    .reviews.reviews--about {
        padding-top: 56px;
    }

    .news {
        padding: 24px 0 56px;
    }

    .news__grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
    }

    .news-card__title {
        font-size: 17px;
        line-height: 24px;
    }

    .more-news {
        padding: 56px 0;
    }

    .more-news__track .news-card {
        flex: 0 0 100%;
        width: auto;
    }

    .news-article__title {
        margin-top: 24px;
        font-size: 26px;
        line-height: 34px;
    }

    .news-article__banner {
        aspect-ratio: 16 / 10;
        margin-top: 24px;
    }

    .news-article__content {
        margin-top: 24px;
        font-size: 16px;
        line-height: 28px;
        overflow-wrap: break-word;
    }

    .news-article__content p + p {
        margin-top: 20px;
    }

    .news-article__content h2,
    .news-article__content h3 {
        margin-top: 28px;
        font-size: 20px;
        line-height: 28px;
    }

    .news-gallery {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 6px;
        margin: 28px calc(6px - var(--gutter));
    }

    .news-gallery img {
        width: 100%;
        height: auto;
        border-radius: 6px;
        aspect-ratio: 1 / 1;
        object-fit: cover;
    }

    .contacts {
        padding-bottom: 56px;
    }

    .contacts__inner {
        flex-direction: column;
        align-items: stretch;
        gap: 32px;
        padding-top: 24px;
    }

    .contacts__info,
    .contacts__form {
        flex: 0 0 auto;
        width: 100%;
        margin-top: 0;
    }

    .contacts__lead,
    .contacts__company p {
        font-size: 15px;
        line-height: 26px;
    }

    .contacts__social-links {
        gap: 0;
        margin: 0 0 0 -12px;
    }

    .contacts__social-links a {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
    }

    .contacts__social-links a + a {
        margin-left: -16px;
    }

    .contacts__map {
        margin-top: 40px;
    }

    .contacts__map img,
    .contacts__map-canvas {
        aspect-ratio: 4 / 3;
    }

    .duk__line {
        margin-top: 16px;
    }

    .duk__body {
        flex-direction: column;
        align-items: stretch;
        gap: 24px;
        margin-top: 24px;
    }

    .duk__topics,
    .duk__content {
        flex: 0 0 auto;
        width: 100%;
    }

    .duk__topics-title {
        font-size: 18px;
        line-height: 28px;
    }

    .duk__topics-box {
        margin-top: 8px;
    }

    .duk__topic {
        min-height: 44px;
        font-size: 15px;
        line-height: 22px;
        white-space: normal;
    }

    .faq__list.faq__list--duk {
        gap: 4px;
    }

    .faq__list--duk .faq__question {
        padding: 12px 0;
    }

    .faq__list--duk .faq__answer p {
        font-size: 15px;
        line-height: 26px;
    }

    .faq__list--duk .faq__answer p + p {
        margin-top: 16px;
    }

    .faq__list--duk .faq__answer-inner > :last-child {
        margin-bottom: 16px;
    }

    .cart {
        padding-bottom: 56px;
    }

    .cart__inner {
        flex-direction: column;
        align-items: stretch;
        gap: 32px;
        margin-top: 20px;
    }

    .cart__form,
    .cart-collaterals {
        flex: 0 0 auto;
        width: 100%;
        max-width: none;
    }

    .cart__head {
        display: none;
    }

    .cart__row {
        position: relative;
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas:
            "product product"
            "qty price";
        align-items: center;
        gap: 12px 8px;
        padding: 12px;
        border: 1px solid var(--color-border);
        border-radius: 8px;
    }

    .cart__row + .cart__row {
        margin-top: 12px;
    }

    .cart__product {
        grid-area: product;
        align-items: flex-start;
        gap: 12px;
        padding-right: 32px;
    }

    .cart__thumb {
        flex: 0 0 88px;
        width: 88px;
        height: 72px;
    }

    .cart__thumb img {
        width: 88px;
        height: 72px;
    }

    .cart__meta {
        gap: 6px;
        padding-top: 2px;
    }

    .cart__name {
        font-size: 16px;
        line-height: 20px;
    }

    .cart__unit {
        font-size: 14px;
        line-height: 18px;
    }

    .cart__qty {
        grid-area: qty;
    }

    .qty--cart .qty__input {
        flex: 0 0 56px;
        width: 56px;
    }

    .cart__price {
        grid-area: price;
        justify-self: end;
        font-size: 18px;
        font-weight: 600;
    }

    .cart__remove {
        position: absolute;
        top: 0;
        right: 0;
    }

    .cart__remove-link {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
    }

    .cart__actions {
        margin-top: 20px;
    }

    .cart__continue {
        min-height: 44px;
    }

    .cart-summary,
    .order-summary {
        padding: 16px;
    }

    .cart-summary__btn {
        height: 52px;
    }

    .checkout-page {
        padding-bottom: 56px;
    }

    .checkout__form {
        flex-direction: column;
        align-items: stretch;
        flex-wrap: nowrap;
        gap: 32px;
        margin-top: 20px;
    }

    .checkout__main,
    .checkout__side {
        flex: 0 0 auto;
        width: 100%;
        max-width: none;
    }

    .checkout__form .woocommerce-NoticeGroup {
        margin-bottom: 0;
    }

    .checkout__toggle {
        gap: 6px;
        padding: 6px;
    }

    .checkout__type {
        height: auto;
        min-height: 48px;
        padding: 6px 10px;
        font-size: 15px;
        line-height: 20px;
    }

    .checkout__heading {
        margin: 32px 0 16px;
        font-size: 18px;
        line-height: 26px;
    }

    .checkout__heading--delivery {
        margin-top: 32px;
    }

    .checkout__grid,
    .checkout__grid--delivery,
    .checkout__grid--notes {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
    }

    .checkout__grid label {
        margin-bottom: 6px;
        font-size: 14px;
        line-height: 18px;
    }

    .checkout__grid--delivery #billing_address_1_field,
    .checkout__grid--delivery #billing_postcode_field {
        grid-column: auto;
        width: auto;
        justify-self: stretch;
    }

    .checkout__grid .input-text,
    .checkout__grid select {
        height: 48px;
        padding: 0 14px;
    }

    .checkout__grid select {
        padding-right: 40px;
    }

    .checkout__grid textarea.input-text {
        height: 140px;
        padding: 12px 14px;
    }

    .checkout__method {
        padding: 14px 12px;
    }

    .checkout__method-name {
        font-size: 17px;
        line-height: 24px;
    }

    .checkout__method-box {
        margin-left: 31px;
    }

    .woocommerce-account-fields label.checkbox {
        min-height: 44px;
    }

    .order-summary__consent {
        gap: 12px;
        min-height: 44px;
        padding: 4px 0;
    }

    .order-summary__consent input {
        flex: 0 0 22px;
        width: 22px;
        height: 22px;
        margin-top: 0;
    }

    .order-summary__btn {
        height: 52px;
        margin-top: 12px;
    }

    .cart-modal {
        z-index: 100000;
        align-items: flex-end;
        padding: 16px 16px calc(16px + env(safe-area-inset-bottom));
    }

    .cart-modal__box {
        width: 100%;
        padding: 24px 16px 16px;
    }

    .cart-modal__close {
        top: 8px;
        right: 8px;
        width: 44px;
        height: 44px;
        line-height: 44px;
    }

    .cart-modal__title {
        margin: 0 40px 16px 0;
        font-size: 20px;
        line-height: 28px;
    }

    .cart-modal__product {
        gap: 12px;
        padding: 12px;
    }

    .cart-modal__thumb {
        flex: 0 0 64px;
        width: 64px;
        height: 64px;
    }

    .cart-modal__name {
        font-size: 16px;
        line-height: 22px;
        overflow-wrap: anywhere;
    }

    .cart-modal__actions {
        flex-direction: column-reverse;
        gap: 8px;
        margin-top: 16px;
    }

    .cart-modal__actions .btn {
        width: 100%;
        height: 48px;
    }

    .text-page {
        padding-bottom: 56px;
    }

    .text-page__content {
        margin-top: 20px;
        font-size: 16px;
        line-height: 28px;
        overflow-wrap: break-word;
    }

    .text-page__content h2 {
        margin: 32px 0 10px;
        font-size: 20px;
        line-height: 28px;
    }

    .text-page__content h3 {
        margin: 24px 0 8px;
        font-size: 17px;
        line-height: 24px;
    }

    .text-page__content table {
        display: block;
        max-width: 100%;
        overflow-x: auto;
    }

    .text-page__content #cmplz-document h2 {
        margin: 32px 0 10px;
        font-size: 20px;
        line-height: 28px;
    }

    .text-page__content #cmplz-document h3 {
        margin: 24px 0 8px;
        font-size: 17px;
        line-height: 24px;
    }

    .text-page__content .woocommerce-form-login {
        margin-top: 16px;
    }

    .woocommerce-form-login .form-row {
        margin: 0 0 16px;
        padding: 0;
    }

    .woocommerce-form-login .form-row label {
        display: block;
        margin-bottom: 8px;
        font-size: 14px;
        line-height: 20px;
        font-weight: 500;
    }

    .woocommerce-form-login .form-row .required {
        color: #c0392b;
        text-decoration: none;
    }

    .woocommerce-form-login .input-text {
        display: block;
        width: 100%;
        height: 48px;
        margin: 0;
        padding: 0 14px;
        border: 1px solid var(--color-border);
        border-radius: 8px;
        background: #ffffff;
        font-family: var(--font);
        font-size: 16px;
        line-height: 24px;
        color: #000000;
        outline: none;
        appearance: none;
        -webkit-appearance: none;
    }

    .woocommerce-form-login .input-text:focus {
        border-color: #0b3c36;
        box-shadow: 0 0 0 1px #0b3c36;
    }

    .woocommerce-form-login .password-input {
        display: block;
    }

    .woocommerce-form-login .show-password-input {
        display: none;
    }

    .woocommerce-form-login .form-row .woocommerce-form-login__rememberme {
        display: flex;
        align-items: center;
        gap: 12px;
        min-height: 44px;
        margin: 0;
        font-size: 15px;
        font-weight: 400;
        cursor: pointer;
    }

    .woocommerce-form-login__rememberme input {
        flex: 0 0 20px;
        width: 20px;
        height: 20px;
        margin: 0;
        border: 1px solid #dadada;
        border-radius: 4px;
        background: #ffffff;
        appearance: none;
        -webkit-appearance: none;
        cursor: pointer;
    }

    .woocommerce-form-login__rememberme input:checked {
        border-color: #499d64;
        background: #499d64 url("../img/check.svg") center no-repeat;
    }

    .woocommerce-form-login__submit {
        display: block;
        width: 100%;
        height: 50px;
        margin-top: 8px;
        padding: 0 20px;
        border: 0;
        border-radius: 8px;
        background: #499d64;
        font-family: var(--font);
        font-size: 16px;
        line-height: 19px;
        color: #ffffff;
        cursor: pointer;
    }

    .woocommerce-form-login__submit:active {
        background: #051b18;
    }

    .woocommerce-form-login .lost_password {
        margin: 4px 0 0;
        font-size: 15px;
    }

    #cmplz-cookiebanner-container .cmplz-cookiebanner {
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        min-width: 0;
        max-width: none;
        max-height: calc(100vh - var(--header-h));
        padding: 14px var(--gutter) calc(14px + env(safe-area-inset-bottom));
        border-radius: 12px 12px 0 0;
        grid-gap: 12px;
        box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.12);
    }

    #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-header {
        position: absolute;
        top: 4px;
        right: 4px;
        display: block;
    }

    #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-title,
    #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-divider {
        display: none;
    }

    #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-close {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        border-radius: 8px;
        color: #707070;
        outline: none;
    }

    #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-close:focus-visible {
        background: var(--color-field);
    }

    #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-close svg {
        width: 14px;
        height: 14px;
    }

    #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-body {
        min-width: 0;
    }

    #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message {
        margin: 0;
        padding-right: 36px;
        font-size: 14px;
        line-height: 20px;
    }

    #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 8px;
    }

    #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn {
        flex: 1 1 0;
        min-width: 0;
        min-height: 44px;
        padding: 0 8px;
        font-size: 14px;
    }

    #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-accept {
        flex: 0 0 100%;
    }

    #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-links.cmplz-documents {
        gap: 16px;
    }

    #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-links .cmplz-link {
        font-size: 14px;
    }

    @media (max-width: 389.98px) {
        .hero__title {
            font-size: 28px;
            line-height: 36px;
        }

        .hero__stat-number {
            font-size: 28px;
            line-height: 32px;
        }

        .page-title,
        .product-info__title,
        .news-article__title,
        .partner-hero__title {
            font-size: 24px;
            line-height: 32px;
        }

        .site-basket {
            gap: 6px;
            padding: 0 8px;
        }

        .category-card__image {
            flex: 0 0 64px;
            width: 64px;
            height: 64px;
        }

        .category-card__image img {
            width: 52px;
        }

        .cart__thumb {
            flex: 0 0 72px;
            width: 72px;
            height: 60px;
        }

        .cart__thumb img {
            width: 72px;
            height: 60px;
        }

        .cart__name {
            font-size: 15px;
        }
    }

    @media (max-width: 359.98px) {
        .shop__grid {
            grid-template-columns: minmax(0, 1fr);
        }

        .product-card__image {
            height: 160px;
        }
    }

    @media (min-width: 480px) {
        .hero__buttons {
            flex-direction: row;
        }

        .hero__buttons .btn {
            flex: 1 1 0;
            width: auto;
        }

        .shop__controls {
            grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
        }

        .filter-group__list {
            grid-template-columns: repeat(2, minmax(0, 1fr));
            column-gap: 16px;
        }

        .models__row {
            grid-template-columns: repeat(3, minmax(0, 1fr));
            grid-template-areas:
                "name name name"
                "stock warranty price"
                "actions actions actions";
        }

        .models__stock,
        .models__warranty,
        .models__price {
            padding-top: 14px;
            border-top: 1px solid #e9e9e9;
        }

        .models__actions .qty {
            flex: 0 0 160px;
        }

        .spec__table .spec__row {
            display: grid;
            grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
            gap: 16px;
        }

        .spec__value {
            margin-top: 0;
        }

        .related__track .product-card,
        .more-news__track .news-card {
            flex: 0 0 calc((100% - 16px) / 2);
        }
    }

    @media (min-width: 560px) {
        .partner-list__grid,
        .news__grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        .site-footer__cols {
            grid-template-columns: repeat(4, minmax(0, 1fr));
        }

        .site-footer__col:first-child {
            grid-row: auto;
        }

        .site-footer__col--contact {
            grid-column: auto;
        }

        .contact__row,
        .contacts__row,
        .checkout__grid,
        .checkout__grid--delivery {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        .checkout__grid--notes {
            grid-template-columns: minmax(0, 1fr);
        }

        .hero__image {
            aspect-ratio: 16 / 9;
        }

        .news-article__banner {
            aspect-ratio: 16 / 9;
        }

        .contacts__map img,
        .contacts__map-canvas {
            aspect-ratio: 16 / 9;
        }

        .team__grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 16px;
        }
    }

    @media (min-width: 600px) {
        .shop__grid {
            grid-template-columns: repeat(3, minmax(0, 1fr));
        }

        .cta__box {
            flex-direction: row;
            align-items: center;
            padding: 32px;
        }

        .cta__box .btn {
            flex: 0 0 auto;
            width: auto;
        }

        .news-gallery {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        .hero__title {
            font-size: 36px;
            line-height: 44px;
        }

        .hero__lead {
            max-width: 620px;
        }

        .hero__image {
            aspect-ratio: 2 / 1;
        }

        .hero__buttons .btn {
            flex: 0 0 auto;
            padding: 0 28px;
        }

        .section-title,
        .about-title {
            font-size: 28px;
            line-height: 36px;
        }

        .page-title,
        .news-article__title,
        .partner-hero__title {
            font-size: 30px;
            line-height: 38px;
        }

        .card {
            position: relative;
            padding-left: 96px;
        }

        .card__icon {
            position: absolute;
            top: 24px;
            left: 24px;
        }

        .card__body {
            gap: 12px;
        }

        .card__title {
            min-height: 48px;
            display: flex;
            align-items: center;
        }

        .review {
            flex: 0 0 calc((100% - 16px) / 2);
        }

        .product-hero__inner {
            flex-direction: row;
            align-items: flex-start;
            gap: 24px;
        }

        .product-gallery {
            flex: 0 0 44%;
            width: auto;
            min-width: 0;
        }

        .product-gallery__main {
            aspect-ratio: 1 / 1;
        }

        .product-info {
            flex: 1 1 0;
            width: auto;
            min-width: 0;
        }

        .product-info__title {
            font-size: 28px;
            line-height: 36px;
        }

        .partner-hero__left {
            display: grid;
            grid-template-columns: 240px minmax(0, 1fr);
            align-items: center;
            column-gap: 24px;
        }

        .partner-hero__logo {
            grid-row: span 2;
            width: 100%;
        }

        .partner-hero__meta {
            margin-top: 0;
        }

        .partner-hero__site {
            margin-top: 8px;
            align-self: start;
            justify-self: start;
        }

        .partner-hero__right .btn {
            width: auto;
        }

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

        .cart__row {
            grid-template-columns: minmax(0, 1fr) auto 120px;
            grid-template-areas: "product qty price";
            padding-right: 52px;
        }

        .cart__product {
            align-items: center;
            padding-right: 0;
        }

        .cart__remove {
            top: 50%;
            right: 4px;
            margin-top: -22px;
        }
    }
}
