@media (max-width: 1100px) {
    .navigation {
        gap: 18px;
    }

    .hero__container {
        grid-template-columns: minmax(0, 1fr) minmax(360px, 0.8fr);
        gap: 45px;
    }

    .hero__image-wrapper,
    .hero__image {
        min-height: 580px;
    }

    .products-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .about__container {
        gap: 55px;
    }
}

@media (max-width: 900px) {
    .header__container {
        min-height: 76px;
    }

    .header__menu-button {
        display: block;
        order: 3;
    }

    .cart-button {
        margin-left: auto;
    }

    .navigation {
        position: fixed;
        top: 76px;
        right: 0;
        left: 0;
        display: flex;
        max-height: 0;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        overflow: hidden;
        border-bottom: 1px solid var(--color-border);
        background: var(--color-background);
        opacity: 0;
        transition:
            max-height 300ms ease,
            opacity 200ms ease;
    }

    .navigation--open {
        max-height: 430px;
        opacity: 1;
    }

    .navigation__link {
        padding: 18px 24px;
        border-top: 1px solid var(--color-border);
    }

    .navigation__link::after {
        display: none;
    }

    .hero {
        padding-block: 70px 90px;
    }

    .hero__container {
        grid-template-columns: 1fr;
    }

    .hero__content {
        max-width: 760px;
    }

    .hero__visual {
        max-width: 620px;
        margin-inline: auto;
    }

    .hero__floating-card {
        left: 20px;
    }

    .categories__grid {
        grid-template-columns: 1fr;
    }

    .category-card {
        min-height: 260px;
    }

    .category-card h3 {
        margin-top: 35px;
    }

    .products-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .featured-products .products-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        justify-content: stretch;
    }

    .about__container {
        grid-template-columns: 1fr;
    }

    .about__visual {
        max-width: 600px;
        margin-inline: auto;
    }

    .shipping__grid {
        grid-template-columns: 1fr;
    }

    .shipping-card {
        min-height: auto;
    }

    .contact__container {
        grid-template-columns: 1fr;
    }

    .footer__container {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    
    .catalog-filter {
        min-height: 46px;
        padding: 10px 16px;
        font-size: 0.88rem;
    }
}

@media (max-width: 650px) {
    .container {
        width: min(calc(100% - 32px), var(--container-width));
    }

    .section {
        padding-block: 72px;
    }

    .header__logo {
        width: 64px;
        height: 64px;
    }

    .cart-button__text {
        display: none;
    }

    .hero {
        padding-top: 55px;
    }

    .hero__title {
        font-size: clamp(2.9rem, 15vw, 4.6rem);
    }

    .hero__description {
        font-size: 1rem;
    }

    .hero__actions {
        flex-direction: column;
    }

    .hero__actions .button {
        width: 100%;
    }

    .hero__features {
        grid-template-columns: 1fr;
    }

    .hero-feature,
    .hero-feature:not(:first-child) {
        padding: 16px 0;
        border-right: 0;
        border-bottom: 1px solid var(--color-border);
    }

    .hero__image-wrapper,
    .hero__image {
        min-height: 500px;
    }

    .hero__image-wrapper {
        border-radius: 170px 170px 24px 24px;
    }

    .hero__floating-card {
        right: 14px;
        bottom: 14px;
        left: 14px;
        min-width: 0;
    }

    .section-heading--row {
        align-items: flex-start;
        flex-direction: column;
    }

    .products-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
    }

    .featured-products .products-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        justify-content: stretch;
    }

    .product-card {
        max-width: none;
        margin-inline: 0;
    }

    .product-card__content {
        padding: 16px;
    }

    .product-card__title {
        font-size: 1.12rem;
    }

    .product-card__badge {
        top: auto;
        bottom: 0;
        left: 0;
        border-radius: 0 14px 0 0;
    }

    .product-card__footer {
        padding-top: 16px;
    }

    .about__visual {
        min-height: 430px;
        border-radius: 160px 160px 28px 28px;
    }

    .contact-link {
        align-items: flex-start;
        flex-direction: column;
    }

    .footer__brand {
        align-items: center;
        flex-direction: column;
        text-align: center;
        grid-column: 1 / -1;
    }

    .footer__container {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 22px;
    }

    .footer__column {
        align-items: center;
        text-align: center;
    }

    .footer__column:last-child {
        grid-column: auto;
    }

    .whatsapp-floating {
        right: 14px;
        bottom: 78px;
        width: 54px;
        height: 54px;
    }
}

@media (max-width: 420px) {
    .footer__container {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .footer__column:last-child {
        grid-column: 1 / -1;
    }

    .header__container {
        gap: 12px;
    }

    .cart-button {
        padding: 8px 10px;
    }

    .hero__title {
        font-size: 2.9rem;
    }

    .category-card__content {
        padding: 26px;
    }

    .about__visual {
        min-height: 370px;
    }
}