/**
 * Parent Categories Block Styles
 */

.parent-categories-grid {
    display: grid;
    gap: 24px;
    margin-bottom: 32px;
}

/* Default grid with 4 columns */
.parent-categories-grid {
    grid-template-columns: repeat(2, 1fr);
}

/* Responsive grid adjustments */
@media (min-width: 576px) {
    .parent-categories-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 768px) {
    .parent-categories-grid.columns-4 {
        grid-template-columns: repeat(4, 1fr);
    }

    .parent-categories-grid.columns-5 {
        grid-template-columns: repeat(5, 1fr);
    }

    .parent-categories-grid.columns-6 {
        grid-template-columns: repeat(6, 1fr);
    }
}

/* Category item styling */
.parent-category-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    text-decoration: none !important;
    transition: transform 0.3s ease;
}

.parent-category-item:hover {
    transform: translateY(-5px);
}

/* Circular image container */
.parent-category-image-container {
    width: 100%;
    padding-bottom: 100%; /* Creates a square aspect ratio */
    position: relative;
    border-radius: 50%;
    overflow: hidden;
    margin-bottom: 16px;
    background-color: #f5f5f5;
	border: 1px solid #f2f2f2;
}

.parent-category-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
	margin: 0 !important;
}

/* Category name styling */
.parent-category-name {
    font-family: 'Manrope', sans-serif;
    font-weight: 500;
    font-size: 1.125rem;
    color: #000;
    margin: 0;
    padding: 0;
	text-decoration: none;
	margin-top: 0px !important;

	&:hover {
		color: var(--primary-color);
	}
}


/* Count styling */
.parent-category-count {
    font-family: 'Manrope', sans-serif;
    font-size: 0.875rem;
    color: #484848;
    margin-top: 4px;
}

/* Carousel Container Styles */
.parent-categories-carousel-container {
    position: relative;
    margin-bottom: 32px;
}

/* On desktop, show as grid when carousel is disabled */
.parent-categories-carousel-container.carousel-disabled {
    display: grid;
    gap: 24px;
    grid-template-columns: repeat(2, 1fr);
}

.parent-categories-carousel-container.carousel-disabled .parent-categories-carousel {
    display: contents;
}

.parent-categories-carousel-container.carousel-disabled .swiper-wrapper {
    display: contents;
}

.parent-categories-carousel-container.carousel-disabled .swiper-slide {
    display: block;
}

/* Desktop grid layout for carousel containers */
@media (min-width: 576px) {
    .parent-categories-carousel-container.carousel-disabled {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 768px) {
    .parent-categories-carousel-container.carousel-disabled.columns-4 {
        grid-template-columns: repeat(4, 1fr);
    }

    .parent-categories-carousel-container.carousel-disabled.columns-5 {
        grid-template-columns: repeat(5, 1fr);
    }

    .parent-categories-carousel-container.carousel-disabled.columns-6 {
        grid-template-columns: repeat(6, 1fr);
    }
}

/* Navigation arrows styling */
.parent-categories-carousel-container .swiper-button-prev,
.parent-categories-carousel-container .swiper-button-next {
    color: #720213;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 50%;
    width: 40px;
    height: 40px;
    margin-top: -20px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.parent-categories-carousel-container .swiper-button-prev:after,
.parent-categories-carousel-container .swiper-button-next:after {
    font-size: 16px;
    font-weight: bold;
}

/* Hide navigation on desktop */
@media (min-width: 768px) {
    .parent-categories-carousel-container .swiper-button-prev,
    .parent-categories-carousel-container .swiper-button-next {
        display: none;
    }
}

/* Mobile 3-column grid styles */
.parent-categories-carousel-container.mobile-grid-3 .parent-categories-mobile-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-bottom: 32px;
}

.parent-categories-carousel-container.mobile-grid-3 .parent-category-grid-item {
    display: block;
}

/* On desktop, mobile-grid-3 should behave like normal grid */
@media (min-width: 768px) {
    .parent-categories-carousel-container.mobile-grid-3 .parent-categories-mobile-grid {
        display: grid;
        gap: 24px;
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 576px) {
    .parent-categories-carousel-container.mobile-grid-3 .parent-categories-mobile-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 768px) {
    .parent-categories-carousel-container.mobile-grid-3.columns-4 .parent-categories-mobile-grid {
        grid-template-columns: repeat(4, 1fr);
    }

    .parent-categories-carousel-container.mobile-grid-3.columns-5 .parent-categories-mobile-grid {
        grid-template-columns: repeat(5, 1fr);
    }

    .parent-categories-carousel-container.mobile-grid-3.columns-6 .parent-categories-mobile-grid {
        grid-template-columns: repeat(6, 1fr);
    }
}


@media screen and (max-width: 767px) {
	.parent-category-name {
		font-size: 1rem !important;
	}
}

