/* ==========================================================================
   Ohio Accordion + Image Sync with Toast Tab Centered Sticky Scroll
   ========================================================================== */

/* 1. Scroll Track (Common) */
.toast-scroll-track,
.elementor-element-7e15cd1 {
    position: relative !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
}

/* ==========================================================================
   Desktop View (min-width: 992px)
   ========================================================================== */
@media (min-width: 992px) {

    .toast-scroll-track,
    .elementor-element-7e15cd1 {
        min-height: 280vh !important;
    }

    /* Desktop Sticky Pinned Viewport (80vh height with 10vh top gap) */
    .toast-scroll-track>.e-con-inner,
    .elementor-element-7e15cd1>.e-con-inner {
        position: -webkit-sticky !important;
        position: sticky !important;
        top: 13vh !important;
        height: 80vh !important;
        max-height: 80vh !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
        z-index: 10 !important;
        width: 100% !important;
    }

    /* Left Column: Top-Level Ohio Accordion Column (42% width) */
    .toast-scroll-track>.e-con-inner>.toast-content-col,
    .toast-scroll-track>.toast-content-col,
    .toast-scroll-track>.e-con-inner>.scroll_inner,
    .toast-scroll-track>.e-con-inner>.elementor-element-3ea60b1,
    .toast-scroll-track>.e-con-inner>.e-con:first-child,
    .elementor-element-7e15cd1>.e-con-inner>.elementor-element-3ea60b1,
    .elementor-element-7e15cd1>.e-con-inner>.e-con:first-child {
        flex: 0 0 calc(42% + 10px) !important;
        max-width: calc(42% + 10px) !important;
        width: calc(42% + 10px) !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        z-index: 5 !important;
        position: relative !important;
        max-height: 80vh !important;
    }

    /* Reset ALL inner containers inside left column to 100% full width */
    .toast-scroll-track .toast-content-col .e-con,
    .toast-scroll-track .scroll_inner .e-con,
    .toast-scroll-track .elementor-element-3ea60b1 .e-con,
    .toast-scroll-track .elementor-element-2e7b49f,
    .toast-scroll-track .elementor-widget-ohio_accordion,
    .toast-scroll-track .elementor-widget-ohio_accordion>.elementor-widget-container,
    .toast-scroll-track .ohio-accordion-sс,
    .elementor-element-7e15cd1 .elementor-element-3ea60b1 .e-con,
    .elementor-element-7e15cd1 .elementor-element-2e7b49f,
    .elementor-element-7e15cd1 .elementor-widget-ohio_accordion,
    .elementor-element-7e15cd1 .elementor-widget-ohio_accordion>.elementor-widget-container,
    .elementor-element-7e15cd1 .ohio-accordion-sс {
        width: 100% !important;
        max-width: 100% !important;
        flex: 1 1 100% !important;
        box-sizing: border-box !important;
    }

    .toast-scroll-track .ohio-accordion-sс,
    .elementor-element-7e15cd1 .ohio-accordion-sс {
        max-height: 76vh !important;
        overflow-y: auto !important;
        scrollbar-width: none !important;
        -ms-overflow-style: none !important;
    }

    .toast-scroll-track .ohio-accordion-sс::-webkit-scrollbar,
    .elementor-element-7e15cd1 .ohio-accordion-sс::-webkit-scrollbar {
        display: none !important;
    }

    /* Right Column: Top-Level Image Stack Column (55% width) */
    .toast-scroll-track>.e-con-inner>.toast-media-col,
    .toast-scroll-track>.toast-media-col,
    .toast-scroll-track>.e-con-inner>.elementor-element-4c54c47,
    .toast-scroll-track>.e-con-inner>.e-con:last-child,
    .elementor-element-7e15cd1>.e-con-inner>.elementor-element-4c54c47,
    .elementor-element-7e15cd1>.e-con-inner>.e-con:last-child {
        flex: 0 0 calc(55% - 10px) !important;
        max-width: calc(55% - 10px) !important;
        width: calc(55% - 10px) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        position: relative !important;
        max-height: 80vh !important;
    }

    /* Reset ALL inner containers inside right column to 100% full width */
    .toast-scroll-track .toast-media-col .e-con,
    .toast-scroll-track .elementor-element-4c54c47 .e-con,
    .toast-scroll-track .elementor-element-7709da7,
    .toast-scroll-track .elementor-element-ea8738f,
    .toast-scroll-track .elementor-element-c56f4b9,
    .toast-scroll-track .accordion-image-wrapper,
    .elementor-element-7e15cd1 .elementor-element-4c54c47 .e-con,
    .elementor-element-7e15cd1 .elementor-element-7709da7,
    .elementor-element-7e15cd1 .elementor-element-ea8738f,
    .elementor-element-7e15cd1 .elementor-element-c56f4b9,
    .elementor-element-7e15cd1 .accordion-image-wrapper {
        width: 100% !important;
        max-width: 100% !important;
        flex: 1 1 100% !important;
        box-sizing: border-box !important;
    }
}

/* Accordion item cursor and visibility */
.toast-scroll-track .accordion-item,
.elementor-element-7e15cd1 .accordion-item {
    cursor: pointer !important;
}

.toast-scroll-track .accordion-item.active .accordion-collapse,
.elementor-element-7e15cd1 .accordion-item.active .accordion-collapse {
    display: block !important;
    height: auto !important;
    opacity: 1 !important;
}

.toast-scroll-track .accordion-item:not(.active) .accordion-collapse,
.elementor-element-7e15cd1 .accordion-item:not(.active) .accordion-collapse {
    display: none !important;
    height: 0px !important;
    opacity: 0 !important;
    overflow: hidden !important;
}

/* Image Wrapper Stack (Show active image, hide others) */
.toast-scroll-track .accordion-image-wrapper,
.toast-scroll-track .elementor-element-c56f4b9,
.toast-scroll-track .e-con:has(> .elementor-widget-image + .elementor-widget-image),
.elementor-element-7e15cd1 .accordion-image-wrapper,
.elementor-element-7e15cd1 .elementor-element-c56f4b9 {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: 1fr !important;
    align-items: center !important;
    justify-items: center !important;
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Stack images directly on top of each other */
.toast-scroll-track .accordion-image-wrapper>.elementor-widget-image,
.toast-scroll-track .elementor-element-c56f4b9>.elementor-widget-image,
.toast-scroll-track .e-con:has(> .elementor-widget-image + .elementor-widget-image)>.elementor-widget-image,
.elementor-element-7e15cd1 .accordion-image-wrapper>.elementor-widget-image,
.elementor-element-7e15cd1 .elementor-element-c56f4b9>.elementor-widget-image {
    grid-column: 1 / 2 !important;
    grid-row: 1 / 2 !important;
    width: 100% !important;
    max-width: 100% !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: scale(0.98) translateY(6px) !important;
    transition: opacity 0.3s cubic-bezier(0.2, 0.8, 0.2, 1),
        transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1),
        visibility 0.3s ease !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

/* Active Image Widget */
.toast-scroll-track .accordion-image-wrapper>.elementor-widget-image.active,
.toast-scroll-track .elementor-element-c56f4b9>.elementor-widget-image.active,
.toast-scroll-track .e-con:has(> .elementor-widget-image + .elementor-widget-image)>.elementor-widget-image.active,
.elementor-element-7e15cd1 .accordion-image-wrapper>.elementor-widget-image.active,
.elementor-element-7e15cd1 .elementor-element-c56f4b9>.elementor-widget-image.active {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: scale(1) translateY(0) !important;
    z-index: 5 !important;
}

/* Fallback: if no image is active yet, show the first image */
.toast-scroll-track .accordion-image-wrapper:not(:has(.active))>.elementor-widget-image:first-child,
.toast-scroll-track .elementor-element-c56f4b9:not(:has(.active))>.elementor-widget-image:first-child,
.toast-scroll-track .e-con:has(> .elementor-widget-image + .elementor-widget-image):not(:has(.active))>.elementor-widget-image:first-child,
.elementor-element-7e15cd1 .accordion-image-wrapper:not(:has(.active))>.elementor-widget-image:first-child,
.elementor-element-7e15cd1 .elementor-element-c56f4b9:not(:has(.active))>.elementor-widget-image:first-child {
    opacity: 1 !important;
    visibility: visible !important;
    transform: scale(1) translateY(0) !important;
    z-index: 5 !important;
}

/* Ensure images fill the wrapper properly and look crisp */
.toast-scroll-track .accordion-image-wrapper img,
.toast-scroll-track .elementor-element-c56f4b9 img,
.toast-scroll-track .e-con:has(> .elementor-widget-image + .elementor-widget-image) img,
.elementor-element-7e15cd1 .accordion-image-wrapper img,
.elementor-element-7e15cd1 .elementor-element-c56f4b9 img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 75vh !important;
    object-fit: contain !important;
    display: block !important;
    margin: 0 auto !important;
}

/* ==========================================================================
   Phone / Mobile View: 100% Full Width Edge-to-Edge Image & Cards
   ========================================================================== */
@media (max-width: 991px) {

    .toast-scroll-track,
    .elementor-element-7e15cd1 {
        min-height: 260vh !important;
        padding: 0 !important;
        margin: 0 !important;
        box-sizing: border-box !important;
        width: 100% !important;
    }

    /* Sticky Viewport on Mobile: Centered vertically and horizontally */
    .toast-scroll-track>.e-con-inner,
    .elementor-element-7e15cd1>.e-con-inner {
        position: -webkit-sticky !important;
        position: sticky !important;
        top: 65px !important;
        height: calc(100vh - 75px) !important;
        max-height: calc(100vh - 75px) !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 16px !important;
        overflow: hidden !important;
        padding-left: 0px !important;
        padding-right: 0px !important;
        padding-top: 4px !important;
        padding-bottom: 12px !important;
        box-sizing: border-box !important;
        z-index: 10 !important;
        width: 100% !important;
    }

    /* 1. Image on TOP */
    .toast-scroll-track>.e-con-inner>.toast-media-col,
    .toast-scroll-track>.toast-media-col,
    .toast-scroll-track>.e-con-inner>.elementor-element-4c54c47,
    .toast-scroll-track>.e-con-inner>.e-con:last-child,
    .elementor-element-7e15cd1>.e-con-inner>.elementor-element-4c54c47,
    .elementor-element-7e15cd1>.e-con-inner>.e-con:last-child {
        order: -1 !important;
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 auto !important;
        padding: 0 !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    .toast-scroll-track .accordion-image-wrapper,
    .toast-scroll-track .elementor-element-c56f4b9,
    .toast-scroll-track .e-con:has(> .elementor-widget-image + .elementor-widget-image),
    .elementor-element-7e15cd1 .accordion-image-wrapper,
    .elementor-element-7e15cd1 .elementor-element-c56f4b9 {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: 38vh !important;
        min-height: 190px !important;
        margin: 0 !important;
        padding: 0 !important;
        border-radius: 16px !important;
        overflow: hidden !important;
    }

    .toast-scroll-track .accordion-image-wrapper img,
    .toast-scroll-track .elementor-element-c56f4b9 img,
    .toast-scroll-track .e-con:has(> .elementor-widget-image + .elementor-widget-image) img,
    .elementor-element-7e15cd1 .accordion-image-wrapper img,
    .elementor-element-7e15cd1 .elementor-element-c56f4b9 img {
        width: 100% !important;
        height: auto !important;
        max-height: 38vh !important;
        object-fit: contain !important;
        display: block !important;
        margin: 0 auto !important;
    }

    /* 2. Accordion Container below Image: 95% Width & Always Centered */
    .toast-scroll-track>.e-con-inner>.toast-content-col,
    .toast-scroll-track>.toast-content-col,
    .toast-scroll-track>.e-con-inner>.scroll_inner,
    .toast-scroll-track>.e-con-inner>.elementor-element-3ea60b1,
    .toast-scroll-track>.e-con-inner>.e-con:first-child,
    .elementor-element-7e15cd1>.e-con-inner>.elementor-element-3ea60b1,
    .elementor-element-7e15cd1>.e-con-inner>.e-con:first-child {
        order: 2 !important;
        width: 95% !important;
        max-width: 95% !important;
        flex: 0 0 auto !important;
        overflow: hidden !important;
        position: relative !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        align-self: center !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    /* Remove nested Elementor container paddings and strictly clip overflow */
    .toast-scroll-track .toast-content-col .e-con,
    .toast-scroll-track .scroll_inner .e-con,
    .toast-scroll-track .elementor-element-3ea60b1 .e-con,
    .toast-scroll-track .elementor-element-2e7b49f,
    .toast-scroll-track .elementor-widget-ohio_accordion,
    .toast-scroll-track .elementor-widget-ohio_accordion>.elementor-widget-container,
    .elementor-element-7e15cd1 .elementor-element-3ea60b1 .e-con,
    .elementor-element-7e15cd1 .elementor-element-2e7b49f,
    .elementor-element-7e15cd1 .elementor-widget-ohio_accordion,
    .elementor-element-7e15cd1 .elementor-widget-ohio_accordion>.elementor-widget-container {
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
        padding: 0 !important;
        margin: 0 auto !important;
        box-sizing: border-box !important;
    }

    .toast-scroll-track .ohio-accordion-sс,
    .elementor-element-7e15cd1 .ohio-accordion-sс {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: flex-start !important;
        width: 100% !important;
        overflow: visible !important;
        gap: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
        will-change: transform !important;
    }

    .toast-scroll-track .ohio-accordion-sс::-webkit-scrollbar,
    .elementor-element-7e15cd1 .ohio-accordion-sс::-webkit-scrollbar {
        display: none !important;
    }

    /* Each accordion item: natural content height (no extra empty space) */
    .toast-scroll-track .accordion-item,
    .elementor-element-7e15cd1 .accordion-item {
        flex: 0 0 100% !important;
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: auto !important;
        align-self: flex-start !important;
        margin: 0 !important;
        padding: 16px 20px !important;
        box-sizing: border-box !important;
        transition: height 0.2s ease !important;
    }

    .toast-scroll-track .accordion-item.active .accordion-collapse,
    .elementor-element-7e15cd1 .accordion-item.active .accordion-collapse {
        display: block !important;
        height: auto !important;
        opacity: 1 !important;
    }

    .toast-scroll-track .accordion-item:not(.active) .accordion-collapse,
    .elementor-element-7e15cd1 .accordion-item:not(.active) .accordion-collapse {
        display: none !important;
        height: 0px !important;
        opacity: 0 !important;
        overflow: hidden !important;
    }
}