/**
 * Image Accordion Widget Styles
 * Package: Vertical Timeline for Elementor
 */

/* Main Container */
.vtl-image-accordion-wrap {
    width: 100%;
    box-sizing: border-box;
    position: relative;
}

.vtl-image-accordion-wrap *,
.vtl-image-accordion-wrap *::before,
.vtl-image-accordion-wrap *::after {
    box-sizing: border-box;
}

.vtl-ia-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 40px;
    width: 100%;
}

/* Direction: Left vs Right */
.vtl-image-accordion-wrap.vtl-ia-layout-left .vtl-ia-inner {
    flex-direction: row;
}

.vtl-image-accordion-wrap.vtl-ia-layout-right .vtl-ia-inner {
    flex-direction: row-reverse;
}

/* Columns */
.vtl-ia-col {
    position: relative;
}

.vtl-ia-image-col {
    flex: 0 0 48%;
    max-width: 48%;
}

.vtl-ia-accordion-col {
    flex: 1 1 0%;
    min-width: 0;
}

/* ==========================================
   IMAGE SECTION & LAYERED STACK STYLING
   ========================================== */
.vtl-ia-image-container {
    position: relative;
    width: 100%;
    display: block;
}

.vtl-ia-image-frame {
    position: relative;
    width: 100%;
    height: 480px;
    min-height: 300px;
}

/* Individual Image Stack Card */
.vtl-ia-img-item {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 12px;
    overflow: hidden;
    background-color: #1a1e24;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12);
    transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1),
                opacity 0.4s ease,
                filter 0.4s ease,
                box-shadow 0.4s ease;
    cursor: pointer;
    will-change: transform, opacity;
}

.vtl-ia-img-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    user-select: none;
    -webkit-user-drag: none;
}

/* Stack Card Darken Overlay */
.vtl-ia-card-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--vtl-stack-overlay-color, rgba(0, 0, 0, 0.25));
    opacity: 0;
    transition: opacity 0.4s ease;
    pointer-events: none;
}

/* --- Stack Positions --- */

/* Pos 0: Active Foreground Card */
.vtl-ia-img-item[data-stack-pos="0"],
.vtl-ia-img-item.vtl-ia-card-active,
.vtl-ia-img-item.vtl-ia-img-active {
    transform: translate3d(0, 0, 0) scale(1) rotate(0deg);
    z-index: 10;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    cursor: default;
}
.vtl-ia-img-item[data-stack-pos="0"] .vtl-ia-card-overlay,
.vtl-ia-img-item.vtl-ia-card-active .vtl-ia-card-overlay {
    opacity: 0;
}

/* Pos 1: 1st Background Stacked Layer (other accordion item's image) */
.vtl-ia-img-item[data-stack-pos="1"] {
    transform: translate3d(var(--vtl-stack-x1, 24px), var(--vtl-stack-y1, 24px), 0) scale(var(--vtl-stack-scale1, 0.96)) rotate(var(--vtl-stack-rot1, 0deg));
    z-index: 9;
    opacity: var(--vtl-stack-opacity1, 0.90);
    visibility: visible;
    pointer-events: auto;
}
.vtl-ia-img-item[data-stack-pos="1"]:hover {
    transform: translate3d(calc(var(--vtl-stack-x1, 24px) + 4px), calc(var(--vtl-stack-y1, 24px) + 4px), 0) scale(var(--vtl-stack-scale1, 0.96));
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.18);
}
.vtl-ia-img-item[data-stack-pos="1"] .vtl-ia-card-overlay {
    opacity: var(--vtl-stack-overlay-op1, 0.25);
}

/* Pos 2: 2nd Background Stacked Layer */
.vtl-ia-img-item[data-stack-pos="2"] {
    transform: translate3d(var(--vtl-stack-x2, 48px), var(--vtl-stack-y2, 48px), 0) scale(var(--vtl-stack-scale2, 0.92)) rotate(var(--vtl-stack-rot2, 0deg));
    z-index: 8;
    opacity: var(--vtl-stack-opacity2, 0.80);
    visibility: visible;
    pointer-events: auto;
}
.vtl-ia-img-item[data-stack-pos="2"]:hover {
    transform: translate3d(calc(var(--vtl-stack-x2, 48px) + 4px), calc(var(--vtl-stack-y2, 48px) + 4px), 0) scale(var(--vtl-stack-scale2, 0.92));
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.18);
}
.vtl-ia-img-item[data-stack-pos="2"] .vtl-ia-card-overlay {
    opacity: var(--vtl-stack-overlay-op2, 0.45);
}

/* Pos 3: 3rd Background Stacked Layer */
.vtl-ia-img-item[data-stack-pos="3"] {
    transform: translate3d(var(--vtl-stack-x3, 72px), var(--vtl-stack-y3, 72px), 0) scale(var(--vtl-stack-scale3, 0.88)) rotate(var(--vtl-stack-rot3, 0deg));
    z-index: 7;
    opacity: var(--vtl-stack-opacity3, 0.70);
    visibility: visible;
    pointer-events: auto;
}
.vtl-ia-img-item[data-stack-pos="3"] .vtl-ia-card-overlay {
    opacity: var(--vtl-stack-overlay-op3, 0.60);
}

/* Pos 4+: Deeper layers */
.vtl-ia-img-item[data-stack-pos="4"],
.vtl-ia-img-item[data-stack-pos="5"] {
    transform: translate3d(var(--vtl-stack-x3, 72px), var(--vtl-stack-y3, 72px), 0) scale(var(--vtl-stack-scale3, 0.88));
    z-index: 6;
    opacity: 0.5;
    visibility: visible;
    pointer-events: auto;
}

/* Hidden / Off-stack items (when total items > visible stack limit) */
.vtl-ia-img-item.vtl-ia-stack-hidden {
    transform: translate3d(0, 0, 0) scale(0.85);
    z-index: 1;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

/* Fallback for when Stack is disabled */
.vtl-image-accordion-wrap.vtl-ia-stack-disabled .vtl-ia-img-item {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    z-index: 1;
    transform: scale(1.04);
}
.vtl-image-accordion-wrap.vtl-ia-stack-disabled .vtl-ia-img-item.vtl-ia-img-active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    z-index: 2;
    transform: scale(1);
}

/* ==========================================
   ACCORDION SECTION STYLING
   ========================================== */
.vtl-ia-accordion-list {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.vtl-ia-accordion-item {
    width: 100%;
    margin-bottom: 0;
    border-bottom: 1px solid #e5e7eb;
    background-color: transparent;
    transition: background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

/* Accordion Header */
.vtl-ia-item-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 0;
    cursor: pointer;
    user-select: none;
    outline: none;
    transition: color 0.3s ease, background-color 0.3s ease, padding 0.3s ease;
}

.vtl-ia-header-text {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.vtl-ia-item-subtitle {
    display: block;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #6b7280;
    transition: color 0.3s ease;
}

.vtl-ia-item-title {
    margin: 0;
    padding: 0;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.35;
    color: #111827;
    transition: color 0.3s ease;
}

/* Icon */
.vtl-ia-item-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 18px;
    line-height: 1;
    color: #111827;
    transition: color 0.3s ease, transform 0.3s ease, background-color 0.3s ease;
    margin-left: 16px;
}

.vtl-ia-item-icon.vtl-ia-icon-left {
    margin-left: 0;
    margin-right: 16px;
}

.vtl-ia-item-icon .vtl-ia-icon-normal,
.vtl-ia-item-icon .vtl-ia-icon-active {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.vtl-ia-item-icon .vtl-ia-icon-active {
    display: none;
}

.vtl-ia-item-icon svg {
    width: 1em;
    height: 1em;
    fill: currentColor;
}

/* Active Icon State */
.vtl-ia-accordion-item.vtl-ia-item-active .vtl-ia-item-icon .vtl-ia-icon-normal {
    display: none;
}

.vtl-ia-accordion-item.vtl-ia-item-active .vtl-ia-item-icon .vtl-ia-icon-active {
    display: inline-flex;
}

/* Accordion Content Body */
.vtl-ia-item-body {
    overflow: hidden;
    transition: height 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.vtl-ia-item-content {
    padding: 0 0 24px 0;
    font-size: 15px;
    line-height: 1.7;
    color: #4b5563;
}

.vtl-ia-item-content p {
    margin: 0 0 14px 0;
}

.vtl-ia-item-content p:last-child {
    margin-bottom: 0;
}

.vtl-ia-item-content ul,
.vtl-ia-item-content ol {
    margin: 12px 0 16px 20px;
    padding: 0;
}

.vtl-ia-item-content li {
    margin-bottom: 8px;
    line-height: 1.6;
}

.vtl-ia-item-content li:last-child {
    margin-bottom: 0;
}

/* Hover & Active States */
.vtl-ia-item-header:hover .vtl-ia-item-title {
    color: #2563eb;
}

.vtl-ia-item-header:hover .vtl-ia-item-icon {
    color: #2563eb;
}

.vtl-ia-accordion-item.vtl-ia-item-active .vtl-ia-item-title {
    color: #111827;
}

/* ==========================================
   RESPONSIVE BREAKPOINTS
   ========================================== */
@media (max-width: 1024px) {
    .vtl-ia-image-col {
        flex: 0 0 45%;
        max-width: 45%;
    }
    .vtl-ia-image-frame {
        height: 400px;
    }
}

@media (max-width: 767px) {
    .vtl-ia-inner,
    .vtl-image-accordion-wrap.vtl-ia-layout-left .vtl-ia-inner,
    .vtl-image-accordion-wrap.vtl-ia-layout-right .vtl-ia-inner {
        flex-direction: column;
        gap: 30px;
    }

    .vtl-image-accordion-wrap.vtl-ia-mobile-content-first .vtl-ia-inner {
        flex-direction: column-reverse;
    }

    .vtl-ia-image-col,
    .vtl-ia-accordion-col {
        flex: 0 0 100%;
        max-width: 100%;
        width: 100%;
    }

    .vtl-ia-image-frame {
        height: 320px;
    }
}
