.page-ryobi__slideshow {
    margin-top: 1px;
}

.page-ryobi__slideshow .container {
    max-width: 100%;
    padding: 0;
}

.page-ryobi__slideshow .single-slider,
.page-ryobi__slideshow .hero-slide,
.page-ryobi__slideshow .hero-media,
.page-ryobi__slideshow .hero-media img {
    display: block;
    width: 100%;
}

.page-ryobi__slideshow .hero-media img {
    object-fit: cover;
}

.page-ryobi__section {
    padding: 24px 0 8px;
}

.page-ryobi__section-head {
    margin-bottom: 2rem;
}

.page-ryobi__categories-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 18px 10px;
    margin-bottom: 24px;
}

.page-ryobi__categories .categoryIcons__item {
    width: 100%;
}

.page-ryobi__categories .categoryIcons__imgWrapper {
    display: block;
    min-height: 90px;
}

.page-ryobi__categories .categoryIcons__item img {
    width: 110px;
    height: 80px;
    object-fit: contain;
    margin: 0 auto;
}

.page-ryobi__banners-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px 20px;
    margin-bottom: 40px;
}

.page-ryobi__banner-item {
    display: flex;
    overflow: hidden;
    text-decoration: none;
}

.page-ryobi__banner-item img {
    display: block;
    width: 100%;
}

.page-ryobi__ranges {
    padding: 8px 0 56px;
}

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

.page-ryobi__range-card {
    overflow: hidden;
    box-shadow: 0 10px 24px rgba(17, 17, 17, 0.08);
}

.page-ryobi__range-card img {
    width: 100%;
    display: block;
}

@media (min-width: 768px) {
    .page-ryobi__slideshow .single-slider,
    .page-ryobi__slideshow .hero-slide,
    .page-ryobi__slideshow .hero-media,
    .page-ryobi__slideshow .hero-media img {
        height: 25vw;
    }
}

@media (max-width: 767px) {
    .page-ryobi__slideshow .single-slider,
    .page-ryobi__slideshow .hero-slide,
    .page-ryobi__slideshow .hero-media,
    .page-ryobi__slideshow .hero-media img {
        height: 50vw;
    }

    .page-ryobi__banners-grid,
    .page-ryobi__ranges-grid {
        grid-template-columns: 1fr;
    }

    .page-ryobi__categories-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 20px 8px;
    }

    .page-ryobi__categories .categoryIcons__item img {
        width: 88px;
        height: 68px;
    }
}
