/* DPV Image Tabs Carousel */
.dpv-image-tabs-carousel{
    position:relative;
    width:100%;
    min-width:0;
    isolation:isolate;
    --dpv-itc-tab-columns:3;
    --dpv-itc-tabs-gap:8px;
    --dpv-itc-tabs-start:14px;
    --dpv-itc-tabs-end:14px;
    --dpv-itc-nav-x:0px;
    --dpv-itc-nav-y:0px;
    --dpv-itc-tabs-center:18px;
    --dpv-itc-stage-center:160px;
    --dpv-itc-connector-start:14px;
    --dpv-itc-connector-end:14px;
    --dpv-itc-connector-y:50%;
    --dpv-itc-connector-width:1px;
}

/* Tabs / journey rail */
.dpv-itc-tabs-wrap{
    position:relative;
    width:100%;
    overflow:hidden;
}
.dpv-itc-tabs-wrap::before{
    content:"";
    position:absolute;
    left:var(--dpv-itc-connector-start);
    right:var(--dpv-itc-connector-end);
    top:var(--dpv-itc-connector-y);
    height:var(--dpv-itc-connector-width);
    background-color:#A9C7FF;
    transform:translateY(-50%);
    z-index:0;
    pointer-events:none;
}
.dpv-itc-tabs{
    position:relative;
    z-index:1;
    display:flex;
    align-items:center;
    width:max-content;
    min-width:100%;
    padding-block:0;
    padding-inline-start:var(--dpv-itc-tabs-start);
    padding-inline-end:var(--dpv-itc-tabs-end);
    box-sizing:border-box;
}
.dpv-itc-tab{
    position:relative;
    z-index:1;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    flex:1 0 auto;
    min-width:max-content;
    border:1px solid rgba(65,138,249,.22);
    box-sizing:border-box;
    cursor:pointer;
    line-height:1.2;
    transition:color .2s ease,background-color .2s ease,border-color .2s ease,transform .2s ease;
}
.dpv-itc-tab:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.dpv-itc-tab.is-active{font-weight:600}
.dpv-itc-tab-icon{display:inline-flex;align-items:center;justify-content:center;line-height:1}
.dpv-itc-tab-icon i{font-size:1em}
.dpv-itc-tab-icon svg{width:1em;height:1em;fill:currentColor}

/* Windowed tabs: full integer tab count stays independent from image preview. */
.dpv-itc-tabs-windowed .dpv-itc-tabs{
    width:100%;
    min-width:100%;
    will-change:transform;
    transform:translate3d(0,0,0);
}
.dpv-itc-tabs-windowed .dpv-itc-tab{
    flex:0 0 calc((100% - (var(--dpv-itc-tab-columns) - 1)*var(--dpv-itc-tabs-gap))/var(--dpv-itc-tab-columns));
    min-width:0;
    max-width:none;
}
.dpv-itc-tabs-windowed .dpv-itc-tab-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dpv-itc-tabs-all .dpv-itc-tabs{width:100%;min-width:100%;transform:none!important}
.dpv-itc-tabs-all .dpv-itc-tab{flex:1 1 auto}

/* Slides */
.dpv-itc-stage{position:relative;min-width:0}
.dpv-itc-swiper{width:100%;min-width:0;overflow:hidden}
.dpv-itc-slide{height:auto;box-sizing:border-box}
.dpv-itc-figure{margin:0}
.dpv-itc-image-link{display:block;text-decoration:none;color:inherit}
.dpv-itc-image{position:relative;width:100%;overflow:hidden;background:#f5f7fb}
.dpv-itc-image img{display:block;width:100%;height:100%;object-fit:cover}
.dpv-itc-caption{margin-top:10px}

/* Navigation. Buttons live at widget-root level; JS measures tabs/stage centers. */
.dpv-itc-nav{
    position:absolute;
    z-index:10;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0!important;
    border-radius:999px;
    cursor:pointer;
    line-height:1;
    transform:translate(-50%,-50%);
    transition:opacity .2s ease,transform .2s ease,background-color .2s ease,border-color .2s ease;
}
.dpv-itc-nav span{display:flex;align-items:center;justify-content:center;font-size:26px;line-height:1;margin-top:-2px}
.dpv-itc-nav:hover{transform:translate(-50%,-50%) scale(1.04)}
.dpv-itc-nav:disabled{opacity:.35;cursor:default}
.dpv-itc-nav:focus-visible{outline:2px solid currentColor;outline-offset:2px}

/* Top Corners = centered vertically on the tab rail. */
.dpv-itc-nav-position-top .dpv-itc-nav{
    top:calc(var(--dpv-itc-tabs-center) + var(--dpv-itc-nav-y));
}
.dpv-itc-nav-position-top .dpv-itc-prev{
    left:var(--dpv-itc-nav-x);
}
.dpv-itc-nav-position-top .dpv-itc-next{
    left:calc(100% - var(--dpv-itc-nav-x));
}

/* Image Sides = centered vertically on the image/stage. */
.dpv-itc-nav-position-sides .dpv-itc-nav{
    top:calc(var(--dpv-itc-stage-center) + var(--dpv-itc-nav-y));
}
.dpv-itc-nav-position-sides .dpv-itc-prev{
    left:var(--dpv-itc-nav-x);
}
.dpv-itc-nav-position-sides .dpv-itc-next{
    left:calc(100% - var(--dpv-itc-nav-x));
}

/* Hotspot-enabled slide images. */
.dpv-itc-image.dpv-hotspot-wrapper{height:100%}
.dpv-itc-image .dpv-itc-image-link{display:block;width:100%;height:100%;position:relative;z-index:1}
.dpv-itc-image .dpv-hotspots-layer{z-index:2}

@media(max-width:767px){
    .dpv-itc-tabs-wrap{scrollbar-width:none;-webkit-overflow-scrolling:touch}
    .dpv-itc-tabs-wrap::-webkit-scrollbar{display:none}
    .dpv-image-tabs-carousel{--dpv-itc-tabs-start:8px;--dpv-itc-tabs-end:8px}
    .dpv-itc-tabs-windowed .dpv-itc-tabs-wrap{overflow:hidden}
    .dpv-itc-tabs-windowed .dpv-itc-tabs{min-width:100%}
    .dpv-image-tabs-carousel{--dpv-itc-connector-start:8px;--dpv-itc-connector-end:8px}
}

/* Elementor-style visual state transitions */
.dpv-itc-image,.dpv-itc-image img{transition-property:opacity,filter,transform,box-shadow,border-color;transition-timing-function:ease}
.dpv-itc-caption{transition:color .2s ease}
.dpv-itc-image .dpv-hs-box{transition-property:background-color,border-color,box-shadow,transform;transition-timing-function:ease}


/* Whole-item hover can activate hotspot content without requiring direct hotspot hover. */
.dpv-itc-image .dpv-hotspot-item.is-area-hovered .dpv-hs-box{
    background-color:var(--dpv-box-bg-hover,rgba(24,95,165,.25));
}
.dpv-itc-image .dpv-hotspot-item.is-area-hovered .dpv-hs-label{
    opacity:0;
}
.dpv-itc-image .dpv-hotspot-item.is-area-hovered .dpv-hs-tooltip{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
}
