.elementor-widget-flexible-paired-tabs { width: 100%; min-width: 0; }
.fpt { min-width: 0; }
.fpt-tablist { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.fpt-pairs { display: grid; grid-template-columns: minmax(0, var(--fpt-left-width, 1fr)) minmax(0, var(--fpt-right-width, 1.4fr)); grid-template-rows: repeat(var(--fpt-count, 3), min-content min-content) 1fr; column-gap: var(--fpt-column-gap, 2rem); align-items: start; min-width: 0; }
.fpt-pair-slot { display: var(--fpt-slot-display, contents); grid-column: 1 / -1; min-width: 0; --fpt-surface: var(--fpt-inactive-bg, #ffffff); }
.fpt-pair-slot.is-active,
.fpt-pair-slot:has(> .fpt-trigger:hover),
.fpt-pair-slot:has(> .fpt-pair > .fpt-left:hover),
.fpt-pair-slot:has(> .fpt-pair > .e-con-inner > .fpt-left:hover) { --fpt-surface: var(--fpt-pair-bg, #efe7fa); }
.fpt-pair-slot > .fpt-pair, .fpt-pair-slot > .fpt-pair > .e-con-inner { display: contents !important; }
.fpt .fpt-trigger { grid-column: 1; grid-row: var(--fpt-row); display: block; width: 100%; min-width: 0; margin: 0; padding: var(--fpt-label-padding, 20px 24px); color: var(--fpt-text, #252238); background: var(--fpt-surface); border: 1px solid var(--fpt-border, #e6e6eb); border-bottom: 0; border-radius: var(--fpt-radius, 14px) var(--fpt-radius, 14px) 0 0; font: inherit; font-weight: 600; text-align: start; white-space: normal; overflow-wrap: anywhere; cursor: pointer; box-shadow: none; }
.fpt .fpt-trigger:hover { background: var(--fpt-pair-bg, #efe7fa); }
.fpt .fpt-trigger:focus-visible { outline: 3px solid var(--fpt-focus, #5538a0); outline-offset: 3px; position: relative; z-index: 2; }
.fpt .fpt-left { grid-column: 1; grid-row: var(--fpt-content-row); width: 100%; min-width: 0; min-height: 0; margin: 0 0 var(--fpt-tab-gap, .75rem); padding: var(--fpt-left-padding, 20px 24px); background-color: var(--fpt-surface); border: 1px solid var(--fpt-border, #e6e6eb); border-top: 0; border-radius: 0 0 var(--fpt-radius, 14px) var(--fpt-radius, 14px); }
.fpt .fpt-panel { grid-column: 2; grid-row: 1 / -1; align-self: var(--fpt-panel-align, start); width: 100%; min-width: 0; min-height: 0; margin: 0; padding: var(--fpt-right-padding, 20px 24px); background-color: var(--fpt-pair-bg, #efe7fa); border-radius: var(--fpt-radius, 14px); overflow-wrap: anywhere; }
.fpt-pair-slot:not(.is-active) > .fpt-pair > .fpt-panel,
.fpt-pair-slot:not(.is-active) > .fpt-pair > .e-con-inner > .fpt-panel { display: none !important; }
/* No height locking, scroll jumps, or animation that competes with Elementor. */
.fpt .fpt-panel img, .fpt .fpt-panel video { max-width: 100%; }

/* Optional built-in labels: the visible left side stays a genuine container. */
.fpt-label-hidden .fpt-trigger { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); border: 0; }
.fpt-label-hidden .fpt-left { border: 1px solid var(--fpt-border, #e6e6eb); border-radius: var(--fpt-radius, 14px); cursor: pointer; }
.fpt-label-hidden .fpt-trigger:focus-visible + .fpt-pair > .fpt-left,
.fpt-label-hidden .fpt-trigger:focus-visible + .fpt-pair > .e-con-inner > .fpt-left { outline: 3px solid var(--fpt-focus, #5538a0); outline-offset: 3px; }
.elementor-edit-mode .fpt-left, .elementor-edit-mode .fpt-panel { cursor: auto; }
.elementor-edit-mode .fpt-left.e-empty, .elementor-edit-mode .fpt-panel.e-empty { min-height: 100px; }

/* Keep theme button effects off the built-in tab title in every state. */
.elementor-widget-flexible-paired-tabs .fpt .fpt-trigger,
.elementor-widget-flexible-paired-tabs .fpt .fpt-trigger:is(:hover, :focus, :active) {
    color: var(--fpt-text, #252238) !important;
    background: var(--fpt-surface) !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    text-shadow: none !important;
    text-decoration: none !important;
    transform: none !important;
    translate: none !important;
    rotate: none !important;
    scale: none !important;
    animation: none !important;
    transition: none !important;
    filter: none !important;
    opacity: 1 !important;
}
.elementor-widget-flexible-paired-tabs .fpt .fpt-trigger::before,
.elementor-widget-flexible-paired-tabs .fpt .fpt-trigger::after {
    content: none !important;
    display: none !important;
}

/* Reference accordion: one subtle rounded outline, with a stationary end chevron. */
.elementor-widget-flexible-paired-tabs .fpt:not(.fpt-label-hidden) .fpt-trigger,
.elementor-widget-flexible-paired-tabs .fpt:not(.fpt-label-hidden) .fpt-trigger:is(:hover, :focus, :active) {
    position: relative;
    border: 1px solid var(--fpt-border, #e6e6eb) !important;
    border-bottom: 0 !important;
    border-radius: var(--fpt-radius, 14px) var(--fpt-radius, 14px) 0 0 !important;
    padding-inline-end: calc(var(--fpt-arrow-size, 18px) + 48px);
}
.elementor-widget-flexible-paired-tabs .fpt-label-hidden .fpt-left {
    position: relative;
    padding-inline-end: calc(var(--fpt-arrow-size, 18px) + 48px);
}
.elementor-widget-flexible-paired-tabs .fpt:not(.fpt-label-hidden) .fpt-trigger::after,
.elementor-widget-flexible-paired-tabs .fpt-label-hidden .fpt-left::after {
    content: "" !important;
    display: var(--fpt-arrow-display, block) !important;
    position: absolute;
    inset-inline-end: 24px;
    top: 50%;
    width: var(--fpt-arrow-size, 18px);
    height: var(--fpt-arrow-size, 18px);
    margin-top: calc(var(--fpt-arrow-size, 18px) / -2);
    background: var(--fpt-arrow-color, #020035);
    clip-path: polygon(25% 0, 75% 50%, 25% 100%, 10% 85%, 45% 50%, 10% 15%);
    pointer-events: none;
    animation: none;
    transition: none;
    transform: none;
}
.elementor-widget-flexible-paired-tabs .fpt .is-active > .fpt-trigger::after,
.elementor-widget-flexible-paired-tabs .fpt .is-active > .fpt-pair > .fpt-left::after,
.elementor-widget-flexible-paired-tabs .fpt .is-active > .fpt-pair > .e-con-inner > .fpt-left::after {
    visibility: hidden;
}

/* Accordion titles remain visible while both selected content sides open together. */
.fpt-collapse-left .fpt-pair-slot:not(.is-active) > .fpt-pair > .fpt-left,
.fpt-collapse-left .fpt-pair-slot:not(.is-active) > .fpt-pair > .e-con-inner > .fpt-left {
    display: none !important;
}
.elementor-widget-flexible-paired-tabs .fpt.fpt-collapse-left .fpt-pair-slot:not(.is-active) > .fpt-trigger {
    border-bottom: 1px solid var(--fpt-border, #e6e6eb) !important;
    border-radius: var(--fpt-radius, 14px) !important;
    margin-bottom: var(--fpt-tab-gap, .75rem);
}

/* The left stack sets desktop height; media fits inside the right panel. */
.fpt-height-matched .fpt-panel {
    height: var(--fpt-matched-height) !important;
    min-height: 0 !important;
    box-sizing: border-box;
    overflow: auto;
}
.fpt-height-matched .fpt-panel > .elementor-widget-image,
.fpt-height-matched .fpt-panel > .e-con-inner > .elementor-widget-image {
    flex: 1 1 0;
    min-height: 0;
    height: 100%;
}
.fpt-height-matched .fpt-panel .elementor-widget-image .elementor-widget-container,
.fpt-height-matched .fpt-panel .elementor-widget-image a {
    height: 100%;
}
.fpt-height-matched .fpt-panel .elementor-widget-image img {
    width: 100%;
    height: 100%;
    max-height: 100%;
    object-fit: contain;
}

/* Stacked cards reuse the original panel nodes, preserving image settings and links. */
.fpt-stacked-card .fpt-pair-slot { display: flex; flex-direction: column; }
.fpt-stacked-card .fpt-trigger { order: 0; }
.fpt-stacked-card .fpt-panel { order: 1; border-radius: 0; border-inline: 1px solid var(--fpt-border, #e6e6eb); }
.fpt-stacked-card .fpt-left { order: 2; }
.fpt-stacked-card.fpt-mobile-no-content .fpt-panel .elementor-widget:not(.elementor-widget-image),
.fpt-stacked-card.fpt-mobile-no-content .fpt-panel .e-con:not(:has(.elementor-widget-image)),
.fpt-stacked-card.fpt-mobile-no-images .fpt-panel .elementor-widget-image,
.fpt-stacked-card.fpt-mobile-no-content .fpt-panel:not(:has(.elementor-widget-image)),
.fpt-stacked-card.fpt-mobile-no-content.fpt-mobile-no-images .fpt-panel { display: none !important; }
.fpt-stacked-card.fpt-mobile-no-content .fpt-panel,
.fpt-stacked-card.fpt-mobile-no-content .fpt-panel .e-con {
    min-height: 0;
    height: auto;
}
.fpt-stacked-card.fpt-label-hidden .fpt-panel { border-radius: var(--fpt-radius, 14px) var(--fpt-radius, 14px) 0 0; }
.fpt-stacked-card.fpt-label-hidden .fpt-pair-slot.is-active:has(.fpt-panel .elementor-widget-image) .fpt-left { border-top-left-radius: 0; border-top-right-radius: 0; }

/* Optional full-bleed mobile banner before the title. */
.fpt-stacked-card .fpt-panel { order: var(--fpt-mobile-panel-order, -1); }
.fpt-stacked-card.fpt-banner-first .fpt-panel {
    border-radius: var(--fpt-radius, 14px) var(--fpt-radius, 14px) 0 0;
    overflow: hidden;
}
.fpt-stacked-card.fpt-banner-first.fpt-mobile-no-content .fpt-panel,
.fpt-stacked-card.fpt-banner-first.fpt-mobile-no-content .fpt-panel :is(.e-con, .e-con-inner, .elementor-widget-image, .elementor-widget-container) {
    padding: 0 !important;
    margin: 0 !important;
    gap: 0;
    width: 100%;
    max-width: 100%;
}
.fpt-stacked-card.fpt-banner-first.fpt-mobile-no-content .fpt-panel { border: 0; }
.fpt-stacked-card.fpt-banner-first .fpt-panel .elementor-widget-image img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: var(--fpt-mobile-image-ratio, 1);
    object-fit: var(--fpt-mobile-image-fit, contain);
    object-position: var(--fpt-mobile-image-focus, center center);
    border-radius: 0;
}
.elementor-widget-flexible-paired-tabs .fpt-stacked-card.fpt-banner-first:not(.fpt-mobile-no-images) .fpt-pair-slot.is-active:has(.fpt-panel .elementor-widget-image) > .fpt-trigger {
    border-top: 0 !important;
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
}

/* Measure each collapsed body in place, without painting intermediate states. */
.fpt.fpt-measuring .fpt-pair-slot > .fpt-pair > .fpt-left,
.fpt.fpt-measuring .fpt-pair-slot > .fpt-pair > .e-con-inner > .fpt-left {
    display: flex !important;
    min-height: 0 !important;
    height: auto !important;
}
.fpt.fpt-equal-ready .fpt-left {
    min-height: var(--fpt-equal-left-height, 0px) !important;
    box-sizing: border-box;
}

/* Inset the complete mobile image inside the shared card background. */
.fpt-stacked-card.fpt-banner-first.fpt-mobile-no-content .fpt-panel {
    padding: var(--fpt-mobile-image-padding, 15px) !important;
    box-sizing: border-box;
}
