.container {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    padding-right: 0.75rem;
    padding-left: 0.75rem;
}

.row {
    display: flex;
    flex-wrap: wrap;
    margin-right: calc(-0.5 * 1.5rem);
    margin-left: calc(-0.5 * 1.5rem);
}

header .swiper-header .swiper-slide {
    position: relative;
    overflow: hidden;
}

header .swiper-header .hero-slide-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    z-index: -2;
}

header .swiper-header .swiper-slide .container {
    position: relative;
    z-index: 1;
}

/* Keep carousel nav below slides (swiper-bundle defaults to vertical center) */
.blog .swiper-blog .swiper-button-next,
.blog .swiper-blog .swiper-button-prev,
.team .swiper .swiper-button-next,
.team .swiper .swiper-button-prev,
.store .swiper .swiper-button-next,
.store .swiper .swiper-button-prev {
    top: auto !important;
    bottom: 0 !important;
    margin-top: 0 !important;
}

.blog .swiper-blog .swiper-button-prev,
.team .swiper .swiper-button-prev,
.store .swiper .swiper-button-prev {
    left: calc(50% - 55px) !important;
    right: auto !important;
}

.blog .swiper-blog .swiper-button-next,
.team .swiper .swiper-button-next,
.store .swiper .swiper-button-next {
    right: calc(50% - 55px) !important;
    left: auto !important;
}

.nav.nav-tabs li .nav-link img.icon {
    object-fit: contain;
    aspect-ratio: 1 / 1;
}

.blog-box .image-contain img {
    object-fit: cover;
    aspect-ratio: auto;
}

/* Stable carousel layout before Swiper JS runs (prevents FOUC on refresh) */
.swiper:not(.swiper-initialized) .swiper-button-prev,
.swiper:not(.swiper-initialized) .swiper-button-next {
    visibility: hidden;
}

.category .swiper-category:not(.swiper-initialized) .swiper-wrapper {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.category .swiper-category:not(.swiper-initialized) .swiper-slide {
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
}

.category .swiper-category .swiper-button-next,
.category .swiper-category .swiper-button-prev {
    top: auto !important;
    bottom: 0 !important;
    margin-top: 0 !important;
}

.category .swiper-category .swiper-button-prev {
    left: calc(50% - 55px) !important;
    right: auto !important;
}

.category .swiper-category .swiper-button-next {
    right: calc(50% - 55px) !important;
    left: auto !important;
}

@media (max-width: 991px) {
    .category .swiper-category:not(.swiper-initialized) .swiper-wrapper {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
    }
}

.category.secondary .swiper-location:not(.swiper-initialized) .swiper-wrapper {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 18px;
}

.category.secondary .swiper-location:not(.swiper-initialized) .swiper-slide {
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
}

.blog .swiper-blog:not(.swiper-initialized) .swiper-wrapper {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 45px;
}

.blog .swiper-blog:not(.swiper-initialized) .swiper-slide {
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
}

@media (max-width: 991px) {
    .category.secondary .swiper-location:not(.swiper-initialized) .swiper-wrapper {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
    }

    .blog .swiper-blog:not(.swiper-initialized) .swiper-wrapper {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px;
    }
}

@media (max-width: 639px) {
    .blog .swiper-blog:not(.swiper-initialized) .swiper-wrapper {
        grid-template-columns: 1fr;
    }
}
