/* Shared utilities for static page sections */
.grid-img {
    width: 100%;
    display: block;
    object-fit: cover;
    border-radius: .5rem;
    transition: transform .25s ease, box-shadow .25s ease;
}
.square { aspect-ratio: 1/1; }
.square-img {
    width: 100%;
    aspect-ratio: 1/1;
    object-fit: cover;
    border-radius: 12px;
}
.tall { aspect-ratio: 4/5; }
.banner { grid-column: span 2; }
.grid-img:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, .15);
}
.horizontal-scroll,
.horizontal-scroll1 {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
}
.horizontal-scroll {
    gap: 12px;
    padding-bottom: 5px;
    scroll-behavior: smooth;
}
.horizontal-scroll1 { gap: 4px; }
.horizontal-scroll::-webkit-scrollbar,
.horizontal-scroll1::-webkit-scrollbar,
.horizontal-scroll-item::-webkit-scrollbar {
    display: none;
}
.scroll-item {
    flex: 0 0 40%;
    scroll-snap-align: start;
}
.scroll-item1 {
    flex: 0 0 52%;
    scroll-snap-align: start;
}
.grid-img-scroll {
    width: 100%;
    aspect-ratio: 4/7;
    object-fit: cover;
    border-radius: .5rem;
}
.image-scroll {
    min-width: 144px;
    margin-left: 10px;
    margin-bottom: 0;
}
.image-scroll:last-child { margin-right: 10px; }
.as-45 { aspect-ratio: 4/5; }
.overflow-auto::-webkit-scrollbar { display: none; }
.no-scrollbar::-webkit-scrollbar { display: none; }
.z-3 { z-index: 3 !important; }
.fit-contain { object-fit: contain; }
