/**
 * Advanced Carousel Widget Styles
 * Version: 1.0.0
 */

/* ═══════════════════════════════════════════════════════════════
   RESET
   ═══════════════════════════════════════════════════════════════ */
.acw-carousel-wrapper *,
.acw-carousel-wrapper *::before,
.acw-carousel-wrapper *::after {
    box-sizing: border-box;
}

.acw-carousel-wrapper {
    position: relative;
    /* Prevent external scripts from adding transforms */
    transform: none !important;
    translate: none !important;
    rotate: none !important;
    scale: none !important;
    will-change: auto !important;
}

/* ═══════════════════════════════════════════════════════════════
   SHARED – text overlay used inside every slide card
   ═══════════════════════════════════════════════════════════════ */
.acw-carousel-wrapper .card-wrap {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
}

.acw-carousel-wrapper .card-wrap img.card-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

.acw-carousel-wrapper .card-grad {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        transparent 35%,
        rgba(38, 48, 28, 0.25) 55%,
        rgba(28, 36, 20, 0.5) 100%
    );
    pointer-events: none;
}

.acw-carousel-wrapper .card-body {
    display: flex;
    flex-direction: column;
    position: absolute;
    gap: 8px;
    bottom: 0;
    left: 0;
    right: 0;
    color: #fff;
    padding: 0 36px 30px;
    /* glassmorphism effect */
    background: rgba(0, 0, 0, 0.4);
    backdrop-filter: blur(17.5px);
    -webkit-backdrop-filter: blur(17.5px);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.acw-carousel-wrapper .card-title {
    font-size: 1.6rem;
    font-weight: 700;
    text-align: center;
    margin: 0px;
    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.4);
}

.acw-carousel-wrapper .card-content {
    font-size: 0.91rem;
    line-height: 1.55;
    text-align: justify;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
    margin: 0px;
}

.acw-carousel-wrapper .card-content p {
    font-size: 0.91rem;
    line-height: 1.55;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
    margin: 0px;
}

.acw-carousel-wrapper .card-content ul,
.acw-carousel-wrapper .card-content ol {
    list-style-position: inside;
    padding-left: 20px;
    margin: 0px;
}

.acw-carousel-wrapper .card-content ul {
    list-style-type: disc;
}

.acw-carousel-wrapper .card-content ol {
    list-style-type: decimal;
}

.acw-carousel-wrapper .card-content li {
    font-size: 0.89rem;
    line-height: 1.5;
    margin: 0px;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
}

.acw-carousel-wrapper .card-content strong,
.acw-carousel-wrapper .card-content b {
    font-weight: 600;
}

.acw-carousel-wrapper .card-content a {
    color: rgba(181, 221, 208, 0.95);
    text-decoration: underline;
    transition: color 0.2s;
}

.acw-carousel-wrapper .card-content a:hover {
    color: rgba(157, 212, 191, 0.98);
}

.acw-carousel-wrapper .btn-cta {
    display: block;
    margin: 0 auto;
    background: rgba(181, 221, 208, 0.95);
    color: #1c2e25;
    font-size: 0.93rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    padding: 11px 48px;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.22s, transform 0.12s;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    text-decoration: none;
    text-align: center;
}

.acw-carousel-wrapper .btn-cta:hover {
    background: rgba(157, 212, 191, 0.98);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
}

/* ═══════════════════════════════════════════════════════════════
   VISIBILITY TOGGLE – only one layout visible at a time
   ═══════════════════════════════════════════════════════════════ */
.acw-carousel-wrapper .layout-desktop {
    display: none;
}

.acw-carousel-wrapper .layout-mobile {
    display: none;
}

/* ── DESKTOP ≥ 1025px ── */
@media (min-width: 1025px) {
    .acw-carousel-wrapper .layout-desktop {
        display: flex;
        align-items: center;
        justify-content: center;
        padding-bottom: 80px; /* Space for arrows and dots below */
    }
    .acw-carousel-wrapper .layout-mobile {
        display: none !important;
    }
}

/* ── TABLET 768–1024px ── */
@media (min-width: 768px) and (max-width: 1024px) {
    .acw-carousel-wrapper .layout-desktop {
        display: none !important;
    }
    .acw-carousel-wrapper .layout-mobile {
        display: block;
        width: 100%;
        max-width: 560px;
        margin: 0 auto;
        padding: 40px 24px 20px;
    }
}

/* ── MOBILE < 768px ── */
@media (max-width: 767px) {
    .acw-carousel-wrapper .layout-desktop {
        display: none !important;
    }
    .acw-carousel-wrapper .layout-mobile {
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 100%;
        padding: 20px 12px;
    }
}

/* ═══════════════════════════════════════════════════════════════
   DESKTOP – 5 absolutely-positioned cards
   ═══════════════════════════════════════════════════════════════ */
.acw-carousel-wrapper .desktop-scene {
    position: relative;
    width: 1100px;
    max-width: 96vw;
    height: 540px;

}

.acw-carousel-wrapper .desktop-scene:active {
    cursor: grabbing;
}

/* side cards */
.acw-carousel-wrapper .d-side {
    position: absolute;
    border-radius: 40px;
    overflow: hidden;
    box-shadow: 0 6px 28px rgba(0, 0, 0, 0.18);
}

.acw-carousel-wrapper .d-side img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.acw-carousel-wrapper .d-side.l2 {
    width: 195px;
    height: 380px;
    left: -80px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
    filter: blur(1px);
}

.acw-carousel-wrapper .d-side.l1 {
    width: 210px;
    height: 400px;
    left: 26px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    filter: blur(0.5px);
}

.acw-carousel-wrapper .d-side.r1 {
    width: 210px;
    height: 400px;
    right: 26px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    filter: blur(0.5px);
}

.acw-carousel-wrapper .d-side.r2 {
    width: 195px;
    height: 380px;
    right: -80px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
    filter: blur(1px);
}

/* White overlay on side cards for depth effect */
.acw-carousel-wrapper .d-side.l2::after,
.acw-carousel-wrapper .d-side.r2::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, 0.6);
    z-index: 2;
    border-radius: inherit;
}

.acw-carousel-wrapper .d-side.l1::after,
.acw-carousel-wrapper .d-side.r1::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, 0.3);
    z-index: 2;
    border-radius: inherit;
}

/* center card */
.acw-carousel-wrapper .d-center {
    position: absolute;
    width: 800px;
    height: 580px;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
    border-radius: 40px;
    overflow: hidden;
    box-shadow: 0 8px 36px rgba(0, 0, 0, 0.22);
}

.acw-carousel-wrapper .d-center img.card-img {
    position: absolute;
    inset: 0;
}

/* ═══════════════════════════════════════════════════════════════
   NAVIGATION ARROWS
   ═══════════════════════════════════════════════════════════════ */
/* Desktop arrows */
.acw-carousel-wrapper .d-arrow,
.acw-carousel-wrapper .carousel-arrow.d-prev,
.acw-carousel-wrapper .carousel-arrow.d-next {
    background: none;
    border: none;
    font-size: 1.25rem;
    color: #5a7060;
    cursor: pointer;
    padding: 4px 6px;
    transition: color 0.2s;
    position: static; /* Not positioned, part of d-controls flex */
    display: inline-block;
    width: auto;
    height: auto;
    box-shadow: none;
    border-radius: 0;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

.acw-carousel-wrapper .d-arrow:hover,
.acw-carousel-wrapper .carousel-arrow.d-prev:hover,
.acw-carousel-wrapper .carousel-arrow.d-next:hover {
    color: #2d4a3a;
    background: none;
    transform: none;
    box-shadow: none;
}

.acw-carousel-wrapper .carousel-arrow svg {
    width: 1.25rem;
    height: 1.25rem;
    display: inline-block;
    vertical-align: middle;
}

/* Desktop arrow SVG sizing */
.acw-carousel-wrapper .d-arrow svg,
.acw-carousel-wrapper .carousel-arrow.d-prev svg,
.acw-carousel-wrapper .carousel-arrow.d-next svg {
    width: 1.25rem;
    height: 1.25rem;
}

/* Mobile arrow SVG sizing */
.acw-carousel-wrapper .m-arrow svg,
.acw-carousel-wrapper .carousel-arrow.m-prev svg,
.acw-carousel-wrapper .carousel-arrow.m-next svg {
    width: 1.3rem;
    height: 1.3rem;
}

/* Desktop arrow positioning - part of d-controls */
.acw-carousel-wrapper .d-controls {
    position: absolute;
    bottom: -68px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: 12px;
    z-index: 20;
}

/* Mobile arrows */
.acw-carousel-wrapper .m-arrow,
.acw-carousel-wrapper .carousel-arrow.m-prev,
.acw-carousel-wrapper .carousel-arrow.m-next {
    background: none;
    border: none;
    color: #aaa;
    font-size: 1.3rem;
    cursor: pointer;
    padding: 4px 8px;
    transition: color 0.2s;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: auto;
    height: auto;
    box-shadow: none;
    border-radius: 0;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

/* HIDE ARROWS ON MOBILE */

@media (max-width: 767px) {
    .acw-carousel-wrapper .m-arrow,
    .acw-carousel-wrapper .carousel-arrow.m-prev,
    .acw-carousel-wrapper .carousel-arrow.m-next {
        display: none !important;
    }
}

.acw-carousel-wrapper .m-arrow:hover,
.acw-carousel-wrapper .carousel-arrow.m-prev:hover,
.acw-carousel-wrapper .carousel-arrow.m-next:hover {
    color: #fff;
    background: none;
    transform: translateY(-50%); /* Keep the centering, no additional transform */
    box-shadow: none;
}

.acw-carousel-wrapper .m-prev,
.acw-carousel-wrapper .carousel-arrow.m-prev {
    left: 10px;
}

.acw-carousel-wrapper .m-next,
.acw-carousel-wrapper .carousel-arrow.m-next {
    right: 10px;
}

/* Tablet specific mobile arrow colors */
@media (min-width: 768px) and (max-width: 1024px) {
    .acw-carousel-wrapper .m-arrow,
    .acw-carousel-wrapper .carousel-arrow.m-prev,
    .acw-carousel-wrapper .carousel-arrow.m-next {
        color: #5a7060;
    }
    
    .acw-carousel-wrapper .m-arrow:hover,
    .acw-carousel-wrapper .carousel-arrow.m-prev:hover,
    .acw-carousel-wrapper .carousel-arrow.m-next:hover {
        color: #2d4a3a;
        transform: translateY(-50%); /* Keep the centering */
    }
}

/* ═══════════════════════════════════════════════════════════════
   DOTS (custom pagination)
   ═══════════════════════════════════════════════════════════════ */
.acw-carousel-wrapper .d-dots,
.acw-carousel-wrapper .m-dots {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.acw-carousel-wrapper .d-dot,
.acw-carousel-wrapper .m-dot {
    width: 12px;
    height: 12px;
    background: #999999;
    border-radius: 50%;
    cursor: pointer;
    transition: background 0.3s, transform 0.2s;
    border: none;
    padding: 0;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

.acw-carousel-wrapper .d-dot:hover,
.acw-carousel-wrapper .m-dot:hover {
    background: #999999;
    transform: none;
}

.acw-carousel-wrapper .d-dot.active,
.acw-carousel-wrapper .m-dot.active {
    background: #191d3a;
    transform: scale(1.3333);
    border-radius: 50%;
}



/* Desktop dots positioning */
.acw-carousel-wrapper .d-dots {
    display: flex;
    gap: 8px;
}

/* Mobile dots positioning */
.acw-carousel-wrapper .m-dots {
    display: flex;
    gap: 8px;
    align-items: center;
}

/* Mobile controls container */
.acw-carousel-wrapper .m-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 16px;
    width: calc(100vw - 28px);
    max-width: 420px;
}

@media (min-width: 768px) and (max-width: 1024px) {
    .acw-carousel-wrapper .m-controls {
        width: 100%;
        max-width: 560px;
        margin-top: 20px;
    }
    
    .acw-carousel-wrapper .m-dot {
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
    }
    

}



/* ═══════════════════════════════════════════════════════════════
   MOBILE SLIDER
   ═══════════════════════════════════════════════════════════════ */
.acw-carousel-wrapper .layout-mobile {
    position: relative;
}

.acw-carousel-wrapper .mobile-slider,
.acw-carousel-wrapper .slick-wrap {
    width: 100%;
}

.acw-carousel-wrapper .mobile-slider .card-wrap,
.acw-carousel-wrapper .slick-wrap .card-wrap {
    height: 480px;
}

/* Slick overrides */
.acw-carousel-wrapper .slick-prev,
.acw-carousel-wrapper .slick-next {
    display: none !important;
}

.acw-carousel-wrapper .slick-dots {
    display: none !important;
}

@media (max-width: 767px) {
    .acw-carousel-wrapper .mobile-slider .card-wrap {
        height: 520px;
    }
}

/* ═══════════════════════════════════════════════════════════════
   SLICK CAROUSEL OVERRIDES
   ═══════════════════════════════════════════════════════════════ */
.acw-carousel-wrapper .slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    user-select: none;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.acw-carousel-wrapper .slick-list {
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0;
    padding: 0;
}

.acw-carousel-wrapper .slick-track {
    position: relative;
    top: 0;
    left: 0;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.acw-carousel-wrapper .slick-slide {
    display: none;
    float: left;
    height: 100%;
    min-height: 1px;
}

.acw-carousel-wrapper .slick-slide img {
    display: block;
}

.acw-carousel-wrapper .slick-initialized .slick-slide {
    display: block;
}

.acw-carousel-wrapper .slick-loading .slick-slide {
    visibility: hidden;
}

/* Hidden engine */
.acw-carousel-wrapper .desktop-engine,
.acw-carousel-wrapper #desktopEngine {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    z-index: -1;
}

/* ═══════════════════════════════════════════════════════════════
   RESPONSIVE ADJUSTMENTS
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 1200px) {
    .acw-carousel-wrapper .desktop-scene {
        width: 96vw;
        height: 540px;
    }
    
    .acw-carousel-wrapper .d-center {
        width: 800px;
        height: 580px;
    }
    
    .acw-carousel-wrapper .d-side.l2,
    .acw-carousel-wrapper .d-side.r2 {
        width: 195px;
        height: 380px;
    }
    
    .acw-carousel-wrapper .d-side.l1,
    .acw-carousel-wrapper .d-side.r1 {
        width: 210px;
        height: 400px;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    .acw-carousel-wrapper .slick-wrap {
        width: 100%;
    }
    
    .acw-carousel-wrapper .slick-wrap .card-wrap,
    .acw-carousel-wrapper .mobile-slider .card-wrap {
        height: 500px;
    }
    
    .acw-carousel-wrapper .slick-wrap .card-body,
    .acw-carousel-wrapper .mobile-slider .card-body {
        padding: 0 28px 26px;
    }
}

@media (max-width: 767px) {
    .acw-carousel-wrapper .slick-wrap,
    .acw-carousel-wrapper .mobile-slider {
        width: calc(100vw - 28px);
        max-width: 420px;
    }
    
    .acw-carousel-wrapper .slick-wrap .card-wrap,
    .acw-carousel-wrapper .mobile-slider .card-wrap {
        height: 78vh;
        min-height: 540px;
        max-height: 700px;
    }
    
    .acw-carousel-wrapper .slick-wrap .card-body,
    .acw-carousel-wrapper .mobile-slider .card-body {
        padding: 0 20px 22px;
    }
    
    .acw-carousel-wrapper .card-title {
        font-size: 1.46rem;
    }
    
    .acw-carousel-wrapper .card-content,
    .acw-carousel-wrapper .card-content p {
        font-size: 0.87rem;
    }
    
    .acw-carousel-wrapper .card-content li {
        font-size: 0.85rem;
    }
    
    .acw-carousel-wrapper .btn-cta {
        padding: 13px 52px;
        font-size: 0.95rem;
        border-radius: 10px;
    }
}



/* ═══════════════════════════════════════════════════════════════
   LOADING STATE
   ═══════════════════════════════════════════════════════════════ */
.acw-carousel-wrapper.loading {
    opacity: 0.5;
    pointer-events: none;
}

/* ═══════════════════════════════════════════════════════════════
   ELEMENTOR EDITOR PREVIEW FIXES
   ═══════════════════════════════════════════════════════════════ */
.elementor-editor-active .acw-carousel-wrapper .desktop-scene {
    min-height: 540px;
}

.elementor-editor-active .acw-carousel-wrapper .mobile-slider .card-wrap {
    min-height: 480px;
}
/* HIDE ARROWS ON MOBILE & TABLET */
@media (max-width: 1024px) {
	.m-controls .m-arrow {
		display: none !important;
	}
}