.categories-section{
    max-width:1300px;
    margin:80px auto;
    padding:0 20px;
}

.categories-title{
    text-align:center;
    font-size:34px;
    font-weight:700;
    margin-bottom:50px;
}

.categories-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:30px;
}

.category-card{
    position:relative;
    display:block;
    overflow:hidden;
    border-radius:12px;
    height:380px;
    text-decoration:none;
}

.category-card img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.4s ease;
}

.category-card:hover img{
    transform:scale(1.08);
}

.category-overlay{
    position:absolute;
    inset:0;

    display:flex;
    align-items:flex-end;

    padding:25px;

    background:linear-gradient(
        to top,
        rgba(0,0,0,.7),
        rgba(0,0,0,.05)
    );
}

.category-overlay h3{
    color:#fff;
    font-size:28px;
    font-weight:700;
}
.categories-section {
    padding: 80px 0;
    background: #fff;
}

.categories-title {
    text-align: center;
    font-size: 36px;
    font-weight: 700;
    margin-bottom: 45px;
}

.categories-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.category-card {
    position: relative;
    height: 420px;
    overflow: hidden;
    text-decoration: none;
    display: block;
}

.category-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.category-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgba(0, 0, 0, 0.65),
        rgba(0, 0, 0, 0.05)
    );
}

.category-card:hover img {
    transform: scale(1.06);
}

.category-overlay {
    position: absolute;
    left: 25px;
    bottom: 25px;
    z-index: 2;
}

.category-overlay h3 {
    color: #fff;
    font-size: 24px;
    font-weight: 700;
    margin: 0;
}

@media (max-width: 900px) {
    .categories-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .category-card {
        height: 350px;
    }
}