/*  WRAPPER */
.full-width-carousel {
    width: 100%;
    max-width: none;
    margin: 0 auto;
    position: relative;
    overflow-x: hidden;
    box-sizing: border-box;
}
/* SLIDE CONTENT  */
.full-width-carousel .carousel-item > * {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    box-sizing: border-box;
}
/* IMAGE SAFETY – SHOW FULL IMAGE WITHOUT CROPPING */
.full-width-carousel img {
    width: 100%;
    height: auto;
    object-fit: contain;  /* show full image */
    display: block;
    margin: 0 auto;
}
/*  REMOVE BOOTSTRAP ICONS  */
.carousel-control-prev-icon,
.carousel-control-next-icon {
    display: none !important;
}
/* ARROWS  */
.carousel-control-prev,
.carousel-control-next {
    color: inherit !important;
}
.custom-arrow {
    font-size: 45px;
    font-weight: bold;
    color: var(--arrow-color, #000) !important;
    cursor: pointer;
    user-select: none;
    opacity: 1 !important;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}
.carousel-control-prev .custom-arrow { left: 30px; }
.carousel-control-next .custom-arrow { right: 30px; }
/* TABLET */
@media (max-width: 991px) and (min-width: 768px) {
    .full-width-carousel .carousel-item {
        padding: 0 20px;
        box-sizing: border-box;
    }
    .full-width-carousel .carousel-item img {
        width: 100%;
        margin: 0 auto;
    }
    .custom-arrow { font-size: 36px; }
    .carousel-control-prev .custom-arrow { left: 25px; }
    .carousel-control-next .custom-arrow { right: 25px; }
}
/*  MOBILE – FIX IMAGE CROPPING (FINAL) */
@media (max-width: 767px) {

    /* Carousel container full width */
    .full-width-carousel,
    .full-width-carousel .carousel-inner {
        width: 100%;
        overflow: hidden;
    }

    /* Carousel items — keep Bootstrap behavior */
    .full-width-carousel .carousel-item {
        padding: 0 0px !important;   /* optional safe padding inside slide */
        box-sizing: border-box;
    }

    /* Slide content */
    .full-width-carousel .carousel-item > * {
        width: 100%;
        max-width: 100%;
        margin: 0 auto;
        box-sizing: border-box;
    }

    /* Images — fit inside slide without cropping */
    .full-width-carousel .carousel-item img {
        width: 80%;          /* scale to container */
        max-width: 100%;
        height: auto;         /* maintain aspect ratio */
        object-fit: contain;  /* no cropping */
        display: block;
        margin: 0 auto;
        position: relative;
        padding: 0;           /* REMOVE padding from image */
    }

    /* Arrows */
    .custom-arrow {
        font-size: 28px;
        top: 50%;
        transform: translateY(-50%);
    }

    .carousel-control-prev .custom-arrow { left: -30px; }
    .carousel-control-next .custom-arrow { right: -30px; }
}

/* DESKTOP  */
@media (min-width: 992px) {
    .full-width-carousel .carousel-item {
        padding: 0 85px;
        box-sizing: border-box;
    }
    .full-width-carousel .carousel-item img {
        width: 100%;
        margin: 0 auto;
    }
}