section.categories {
    .items {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 40px;
        margin-top: 40px;
         .item {
            position: relative;
            width: 100%;
            aspect-ratio: 3/2;
            overflow: hidden;
            border-radius: 20px;
            .main-img {
                object-position: center 15%;
            }
            .info {
                position: absolute;
                bottom: 0;
                left: 0;
                width: 100%;
                padding: 60px 30px 20px;
                z-index: 2;
                display: flex;
                flex-direction: column;
                justify-content: flex-end;
                transition: 0.3s linear;
                z-index: 9;
                h3 {
                    margin: 0;
                    width: fit-content;
                    font-size: 24px;
                    position: relative;
                    font-family: var(--font-main);
                    margin-bottom: 10px;
                    transition: transform 0.3s linear;
                    &::after {
                        content: '';
                        position: absolute;
                        width: 100%;
                        height: 2px;
                        background: var(--c-white);
                        left: 0;
                        bottom: 0;
                        z-index: 9;
                    }
                }
                p {
                    font-size: 16px;
                    opacity: 0;
                    font-weight: var(--fw-light);
                    max-height: 0; 
                    transition: 0.3s linear;
                }
            }
            .btn.follow {
                position: absolute;
                display: flex;
                justify-content: start;
                padding-left: 20px;
                top: 15px;
                right: 15px;
                background: rgba(255, 255, 255, 0.3);
                border: 2px solid var(--c-primary);
                width: 180px;
                height: 42px;
                border-radius: 20px;
                z-index: 3;
                opacity: 0;
                overflow: hidden;
                transition: 0.3s linear;
                backdrop-filter: blur(4px);
                span {
                    font-family: var(--font-main);
                    color: var(--c-dark);
                    font-weight: var(--fw-regular);
                    font-size: 16px;
                }
                &::after {
                    font-family: icon;
                    content: '\e90f';
                    font-size: 12px;
                    height: 37px;
                    width: 37px;
                    right: -2px;
                    top: -2px;
                    border: 2px solid var(--c-primary);
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    background: var(--c-primary);
                    color: var(--c-white);
                    position: absolute;
                    border-radius: 20px;
                    z-index: 9;
                    transition: .2s linear;
                }
            }
            &::before {
                content: '';
                position: absolute;
                width: 100%;
                height: 100%;
                left: 0;
                top: 0;
                opacity: 0;
                background: linear-gradient(to top, rgba(0,0,0,1) 0%, transparent 100%);
                z-index: 2;
                transition: 0.3s linear;
            }
            &::after {
                content: '';
                position: absolute;
                width: 100%;
                height: 100%;
                left: 0;
                top: 0;
                opacity: 1;
                background: rgba(7, 7, 7, 0.3);
                z-index: 2;
                transition: 0.3s linear;
            }
        }
    }
}
section.callback {
    .content {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 80px;
        margin-top: 60px;
        .text {
            p {
                font-size: 18px;
                line-height: 1.2;
                margin-bottom: 25px;
                font-weight: var(--fw-light);
            }
            h3 {
                margin-top: 10px;
                font-size: 28px;
                font-family: var(--font-main);
                margin-bottom: 15px;
            }
            .phone {
                display: flex;
                align-items: center;
                font-size: 32px;
                color: var(--c-white);
                font-weight: var(--fw-medium);
                margin-top: 60px;
                &::before {
                    font-family: icon;
                    content: '\e901';
                    font-size: 40px;
                    color: var(--c-primary);
                    margin-right: 20px;
                }
            }
        }
    }
}
@media screen and (max-width: 1759px) {
    section.categories {
        .items {
            grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
            .item {
                .info {
                    h3 {
                        font-size: 22px;
                    }
                }
            }
        }
    }
    section.callback {
        .content {
            .text {
                h3 {
                    font-size: 22px;
                }
                p {
                    font-size: 16px;
                }
                .phone {
                    font-size: 22px;
                    &::before {
                        font-size: 28px;
                    }
                }
            }
        }

    }
}
@media screen and (max-width: 1279px) {
    section.categories {
        .items {
            .item {
                .btn.follow {
                    opacity: 1;
                    width: 100%;
                    height: 100%;
                    padding: 0;
                    margin: 0;
                    top: 0;
                    left: 0;
                    background: none;
                    border: none;
                    border-radius: 0;
                    z-index: 9;
                    backdrop-filter: none;
                    span {
                        display: none;
                    }
                    &::after {
                        content: none;
                    }
                }
                .info {
                    h3 {
                        transform: translateY(-10px);
                    }
                    p {
                        opacity: 1;
                        transform: translateY(-10px);
                        max-height: 60px;
                    }
                }
                &::after {
                    opacity: 0;
                }
                &::before {
                    opacity: 1;
                }
            }
        }
    }
    section.callback {
        .content {
            grid-template-columns: repeat(auto-fit, minmax(480px, 1fr));
            gap: 40px;
            margin-top: 40px;
            .text {
                h3 {
                    font-size: 20px;
                }
                p {
                    margin-bottom: 15px;
                }
                .phone {
                    margin-top: 25px;
                }
            }
        }
    }
}
@media screen and (max-width: 767px) {
    section.categories {
        .items {
            grid-template-columns: 1fr;
            gap: 20px;
            .item {
                aspect-ratio: 1/1;
                .info {
                    padding: 60px 10px 20px 10px;
                    h3 {
                        transform: translateY(0);
                        font-size: 18px;
                    }
                    p {
                        transform: translateY(0);
                        font-size: 14px;
                        max-height: 80px;
                    }
                }
            }
        }
    }
    section.callback {
        .content {
            grid-template-columns: 1fr;
            .text {
                p {
                    font-size: 15px;
                }
                h3 {
                    font-size: 18px;
                }
                .phone {
                    font-size: 20px;
                    &::before {
                        font-size: 24px;
                    }
                }
            }
        }
    }
}
@media screen and (hover: hover) {
    section.categories {
        .items {
            .item {
                &:hover {
                    .btn.follow {
                        opacity: 1;
                        &:hover {
                            &::after {
                                transform: rotate(45deg);
                                background: transparent;
                            }
                        }
                    }
                    .info {
                        h3 {
                            transform: translateY(-10px);
                        }
                        p {
                            opacity: 1;
                            transform: translateY(-10px);
                            max-height: 60px;
                        }
                    }
                    &::after {
                        opacity: 0;
                    }
                    &::before {
                        opacity: 1;
                    }
                }
            }
        }
    }
    @media screen and (max-width: 767px) {
        section.categories {
            .items {
                .item:hover {
                    .info {
                        p {
                            max-height: 80px;
                        }
                    }
                }
            }
        }

    }
}