/* Platty Custom Tabs — Frontend CSS v5 */
/* All critical layout rules use !important to survive theme overrides */

.pct-wrapper{display:flex!important;width:100%!important;box-sizing:border-box!important;position:relative!important;align-items:flex-start!important;}
.pct-wrapper.pct-orient-horizontal{flex-direction:column!important;}
.pct-wrapper.pct-orient-vertical  {flex-direction:row!important;align-items:flex-start!important;}
.pct-wrapper.pct-navpos-bottom     {flex-direction:column-reverse!important;}
.pct-wrapper.pct-orient-vertical.pct-navpos-right {flex-direction:row-reverse!important;}
.pct-wrapper.pct-orient-vertical.pct-navpos-bottom{flex-direction:column!important;}

.pct-nav{display:flex!important;flex-wrap:nowrap!important;margin:0!important;padding:0!important;position:relative!important;flex-shrink:0!important;list-style:none!important;}
.pct-wrapper.pct-orient-horizontal .pct-nav{flex-direction:row!important;width:100%!important;}
.pct-wrapper.pct-orient-vertical   .pct-nav{flex-direction:column!important;min-width:var(--pct-nav-w,180px)!important;width:var(--pct-nav-w,180px)!important;}

.pct-nav-item{display:flex!important;align-items:center!important;justify-content:center!important;cursor:pointer!important;position:relative!important;user-select:none!important;box-sizing:border-box!important;outline:none!important;list-style:none!important;transition:background-color .3s,color .3s,opacity .3s,transform .3s!important;}
.pct-nav-item:focus-visible{outline:2px solid currentColor!important;outline-offset:2px!important;}

.pct-nav-inner{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:6px!important;width:100%!important;text-decoration:none!important;color:inherit!important;}
a.pct-nav-inner{color:inherit!important;}

.pct-tab-icon{display:inline-flex!important;align-items:center!important;justify-content:center!important;line-height:1!important;flex-shrink:0!important;transition:color .3s!important;}
.pct-tab-icon svg{display:block!important;}
.pct-img-wrap{display:block!important;position:relative!important;overflow:hidden!important;line-height:0!important;flex-shrink:0!important;}
.pct-img-wrap::after{content:''!important;position:absolute!important;inset:0!important;background-color:transparent!important;transition:background-color .3s!important;pointer-events:none!important;}
.pct-tab-img{display:block!important;max-width:100%!important;height:auto!important;transition:filter .3s!important;}
.pct-tab-label{display:block!important;line-height:1.3!important;transition:color .3s!important;}

.pct-content{position:relative!important;flex:1!important;min-width:0!important;min-height:0!important;box-sizing:border-box!important;align-self:stretch!important;}
.pct-content{position:relative!important;}
.pct-panel{box-sizing:border-box!important;position:absolute!important;inset:0 0 auto 0!important;width:100%!important;opacity:0!important;pointer-events:none!important;transition:opacity var(--pct-dur,220ms) cubic-bezier(.4,0,.2,1)!important;z-index:0!important;}
.pct-panel.pct-active{position:relative!important;opacity:1!important;pointer-events:auto!important;z-index:1!important;}

/* Select NEVER shows on desktop */
.pct-select{display:none!important;width:100%;padding:10px 14px;font-size:15px;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer;margin-bottom:12px;box-sizing:border-box;}

/* Indicators */
.pct-ind-bottom .pct-nav-item::after,.pct-ind-top .pct-nav-item::before,.pct-ind-left .pct-nav-item::before,.pct-ind-right .pct-nav-item::after,.pct-ind-dot .pct-nav-item::after{content:''!important;position:absolute!important;background-color:transparent!important;transition:background-color .3s!important;}
.pct-ind-bottom .pct-nav-item::after{bottom:0!important;left:0!important;right:0!important;height:3px!important;}
.pct-ind-top    .pct-nav-item::before{top:0!important;left:0!important;right:0!important;height:3px!important;}
.pct-ind-left   .pct-nav-item::before{top:0!important;bottom:0!important;left:0!important;width:3px!important;}
.pct-ind-right  .pct-nav-item::after{top:0!important;bottom:0!important;right:0!important;width:3px!important;}
.pct-ind-dot    .pct-nav-item{padding-bottom:16px!important;}
.pct-ind-dot    .pct-nav-item::after{bottom:4px!important;left:50%!important;transform:translateX(-50%)!important;width:8px!important;height:8px!important;border-radius:50%!important;}

/* Blocks */
.pct-block{margin-bottom:12px;}.pct-block:last-child{margin-bottom:0;}
.pct-block-image{line-height:0;}.pct-block-image img{display:inline-block;}

/* Mobile */
@media(max-width:767px){
.pct-wrapper.pct-mob-scroll   .pct-nav{overflow-x:scroll!important;-webkit-overflow-scrolling:touch!important;scrollbar-width:none!important;flex-wrap:nowrap!important;width:100%!important;padding:0!important;}
.pct-wrapper.pct-mob-scroll   .pct-nav::-webkit-scrollbar{display:none!important;}
.pct-wrapper.pct-mob-scroll   .pct-nav .pct-nav-item{flex-shrink:0!important;}
.pct-wrapper.pct-mob-stack    {flex-direction:column!important;}
.pct-wrapper.pct-mob-stack    .pct-nav{flex-direction:row!important;width:100%!important;min-width:unset!important;overflow-x:auto!important;}
.pct-wrapper.pct-mob-accordion{flex-direction:column!important;}
.pct-wrapper.pct-mob-accordion .pct-nav{flex-direction:column!important;width:100%!important;min-width:unset!important;}
.pct-wrapper.pct-mob-dropdown .pct-nav{display:none!important;}
.pct-wrapper.pct-mob-dropdown .pct-select{display:block!important;}
.pct-wrapper.pct-orient-vertical.pct-mob-scroll  {flex-direction:column!important;}
.pct-wrapper.pct-orient-vertical.pct-mob-scroll .pct-nav{flex-direction:row!important;width:100%!important;min-width:unset!important;overflow-x:auto!important;}
}

/* ── Layout auto-sizing: content adapts to its content, nav adapts to content ── */
.pct-wrapper.pct-orient-horizontal{align-items:stretch!important;}
.pct-wrapper.pct-orient-horizontal .pct-content{width:100%!important;}
.pct-wrapper.pct-orient-vertical  .pct-content{flex:1!important;min-width:0!important;}
/* No fixed heights anywhere — everything sizes to content */
.pct-panel{height:auto!important;}

/* ── Elementor editor context fixes ──────────────────────────────────────── */
.elementor-widget-platty-custom-tabs .pct-wrapper,
.e-con .pct-wrapper {
    height: auto !important;
    min-height: 0 !important;
    align-self: flex-start !important;
}
.elementor-widget-platty-custom-tabs .pct-content,
.e-con .pct-content {
    height: auto !important;
    min-height: 0 !important;
}
/* ── Prevent nav from stretching content area height ─────────────────────── */
.pct-orient-vertical .pct-nav {
    align-self: flex-start !important;
}


@media(max-width:767px){
    .pct-mob-scroll .pct-nav{
        padding:0!important;
        margin:0!important;
    }
    .pct-mob-scroll .pct-nav .pct-nav-item{
        flex-shrink:0!important;
    }
    /* Stack layout: wrapper becomes column */
    .pct-mob-scroll.pct-orient-vertical{
        flex-direction:column!important;
    }
    .pct-mob-scroll.pct-orient-vertical .pct-nav{
        flex-direction:row!important;
        width:100%!important;
        min-width:unset!important;
    }
}

/* ── Snap scroll (enabled via pct-snap-enabled class) ──────────────────── */
.pct-snap-enabled.pct-mob-scroll .pct-nav {
    
    -webkit-
    scroll-behavior: auto !important;
}
.pct-snap-enabled.pct-mob-scroll .pct-nav .pct-nav-item {
    
    
}
/* Spacer pads injected by JS for first/last centering */
.pct-snap-enabled.pct-mob-scroll .pct-nav .pct-snap-pad {
    flex-shrink: 0 !important;
    pointer-events: none !important;
}


/* ── Horizontal scroll snap ─────────────────────────────────────────────
   Applied to ALL nav elements in scroll mode. CSS handles the snapping,
   JS only adds padding for edge items. */
.pct-mob-scroll .pct-nav,
.pct-tab-scroll .pct-nav {
    scroll-snap-type: x mandatory !important;
}
.pct-mob-scroll .pct-nav .pct-nav-item,
.pct-tab-scroll .pct-nav .pct-nav-item {
    scroll-snap-align: center !important;
}

/* ── Mobile: tabs always centered ───────────────────────────────────────── */
@media(max-width:767px){
    .pct-mob-scroll .pct-nav,
    .pct-mob-stack .pct-nav {
        justify-content: center !important;
    }
}
