/* =============================================================
   CAROUSEL WIDTH & RESPONSIVENESS FIXES (Reviews & Categories)
   ============================================================= */

/* Container fixes - ensure full width */
.emma-reviews-carousel-container,
.emma-category-carousel-container {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
    box-sizing: border-box;
}

/* Carousel wrapper fixes */
.emma-reviews-carousel,
.emma-category-carousel {
    width: 100%;
    overflow: hidden;
}

/* Slick carousel full width fixes */
.emma-reviews-carousel .aiz-carousel,
.emma-category-carousel .aiz-carousel,
.emma-reviews-carousel .slick-slider,
.emma-category-carousel .slick-slider {
    width: 100% !important;
    max-width: 100%;
    overflow: visible !important;
}

/* Slick list full width */
.emma-reviews-carousel .slick-list,
.emma-category-carousel .slick-list {
    width: 100%;
    margin: 0 -10px;
    padding: 0 !important;
}

/* Slick track fixes */
.emma-reviews-carousel .slick-track,
.emma-category-carousel .slick-track {
    display: flex !important;
    align-items: stretch;
}

/* Slick slide proper sizing */
.emma-reviews-carousel .slick-slide,
.emma-category-carousel .slick-slide {
    padding: 0 10px;
    box-sizing: border-box;
    height: auto !important;
}

.emma-reviews-carousel .slick-slide>div,
.emma-category-carousel .slick-slide>div {
    height: 100%;
}

/* Carousel box full width */
.emma-reviews-carousel .carousel-box,
.emma-category-carousel .carousel-box {
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Slick dots styling */
.emma-reviews-carousel .slick-dots,
.emma-category-carousel .slick-dots {
    position: relative !important;
    bottom: auto !important;
    margin-top: 1.5rem;
    padding: 0;
    display: flex !important;
    justify-content: center;
    list-style: none;
}

.emma-reviews-carousel .slick-dots li,
.emma-category-carousel .slick-dots li {
    margin: 0 4px;
}

.emma-reviews-carousel .slick-dots li button,
.emma-category-carousel .slick-dots li button {
    width: 10px;
    height: 10px;
    padding: 0;
    border-radius: 50%;
    background: rgba(179, 165, 114, 0.3);
    border: none;
    font-size: 0;
    cursor: pointer;
    transition: all 0.3s ease;
}

.emma-reviews-carousel .slick-dots li.slick-active button,
.emma-category-carousel .slick-dots li.slick-active button {
    background: #b3a572;
    transform: scale(1.2);
}

/* Review card fix for carousel */
.emma-reviews-carousel .emma-review-card {
    width: 100%;
    height: 100%;
    min-height: 280px;
}

/* Category card fix for carousel */
.emma-category-carousel .emma-category-card {
    width: 100%;
    aspect-ratio: 3/4;
}

/* ===== MOBILE RESPONSIVE FIXES ===== */

/* Tablet */
@media (max-width: 991px) {

    .emma-reviews-carousel-container,
    .emma-category-carousel-container {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .emma-reviews-carousel .slick-slide,
    .emma-category-carousel .slick-slide {
        padding: 0 8px;
    }

    .emma-reviews-carousel .slick-list,
    .emma-category-carousel .slick-list {
        margin: 0 -8px;
    }

    .emma-reviews-carousel .emma-review-card {
        min-height: 260px;
    }
}

/* Mobile */
@media (max-width: 767px) {

    .emma-reviews-carousel-container,
    .emma-category-carousel-container {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }

    .emma-reviews-carousel .slick-slide,
    .emma-category-carousel .slick-slide {
        padding: 0 6px;
    }

    .emma-reviews-carousel .slick-list,
    .emma-category-carousel .slick-list {
        margin: 0 -6px;
    }

    .emma-reviews-carousel .emma-review-card {
        min-height: 240px;
        padding: 1rem;
    }

    .emma-reviews-carousel .slick-dots,
    .emma-category-carousel .slick-dots {
        margin-top: 1rem;
    }

    .emma-reviews-carousel .slick-dots li button,
    .emma-category-carousel .slick-dots li button {
        width: 8px;
        height: 8px;
    }
}

/* Small mobile */
@media (max-width: 480px) {

    .emma-reviews-carousel-container,
    .emma-category-carousel-container {
        padding-left: 5px !important;
        padding-right: 5px !important;
    }

    .emma-reviews-carousel .slick-slide,
    .emma-category-carousel .slick-slide {
        padding: 0 4px;
    }

    .emma-reviews-carousel .slick-list,
    .emma-category-carousel .slick-list {
        margin: 0 -4px;
    }

    .emma-reviews-carousel .emma-review-card {
        min-height: 220px;
        padding: 0.875rem;
    }

    .emma-review-title {
        font-size: 0.85rem !important;
    }

    .emma-review-text {
        font-size: 0.8rem !important;
    }

    .emma-review-name {
        font-size: 0.8rem !important;
    }

    .emma-category-carousel .emma-category-card {
        aspect-ratio: 4/5;
    }
}