.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-405 .elementor-element.elementor-element-a8f61d0 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-weight:500;line-height:1px;-webkit-text-stroke-width:0px;stroke-width:0px;-webkit-text-stroke-color:#000;stroke:#000;text-shadow:0px 0px 10px rgba(0,0,0,0.3);color:#000000;}.elementor-405 .elementor-element.elementor-element-cf2bd01{padding:0% 10% 0% 10%;}:root{--page-title-display:none;}@media(max-width:767px){.elementor-405 .elementor-element.elementor-element-cf2bd01{padding:0% 1% 0% 1%;}}/* Start custom CSS *//* =========================================================
   EQUAL HEIGHT CARDS + ALIGNED CONTENT
   ========================================================= */

/* Grid rows stretch all items to the tallest one */
[role="tabpanel"] .elementor-loop-container {
    align-items: stretch !important;
}

[role="tabpanel"] .e-loop-item {
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
    align-self: stretch !important;
}

/* The card fills the full height */
[role="tabpanel"] .e-loop-item > *:not(style) {
    flex: 1 1 auto !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
}

/* Inner wrapper (if Elementor adds one) also fills the card */
[role="tabpanel"] .e-loop-item > *:not(style) > .e-con-inner {
    flex: 1 1 auto !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
}

/* Name (second-last item) pushed down: name + relation sit at bottom */
[role="tabpanel"] .e-loop-item > *:not(style) > :nth-last-child(2),
[role="tabpanel"] .e-loop-item > *:not(style) > .e-con-inner > :nth-last-child(2) {
    margin-top: auto !important;
}


/* =========================================================
   TESTIMONIAL TABS: Figma style + sliding pill
   ========================================================= */

/* ---------- White pill wrapper ---------- */
[role="tablist"] {
    position: relative !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    width: fit-content !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 24px auto 0 !important;
    gap: 8px !important;
    padding: 6px !important;
    background: #ffffff !important;
    border: 1px solid #D9E1E6 !important;
    border-radius: 999px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
    box-sizing: border-box !important;
}

/* ---------- Sliding dark pill ---------- */
[role="tablist"]::before {
    content: "";
    position: absolute;
    top: 6px;
    left: 6px;
    width: calc(50% - 10px);
    height: calc(100% - 12px);
    background: #0B3A55;
    border-radius: 999px;
    transition: transform 0.4s cubic-bezier(0.65, 0, 0.35, 1);
    z-index: 0;
}

[role="tablist"]:has([role="tab"]:nth-child(2)[aria-selected="true"])::before {
    transform: translateX(calc(100% + 8px));
}

/* ---------- Tabs: fixed height, text centred ---------- */
[role="tab"] {
    position: relative;
    z-index: 1;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 1 1 0 !important;
    min-width: 170px !important;
    height: 44px !important;
    min-height: 0 !important;
    padding: 0 24px !important;
    margin: 0 !important;
    background: transparent !important;
    color: #0B3A55 !important;
    border: none !important;
    border-radius: 999px !important;
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    text-align: center !important;
    white-space: nowrap !important;
    cursor: pointer;
    box-sizing: border-box !important;
    transition: color 0.3s ease, background 0.25s ease;
}

/* Strip widget spacing from the text inside the tab */
[role="tab"] * {
    color: inherit !important;
    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    line-height: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    background: transparent !important;
    border: none !important;
}

[role="tab"]:not([aria-selected="true"]):hover {
    background: rgba(11, 58, 85, 0.06) !important;
}

[role="tab"][aria-selected="true"] {
    background: transparent !important;
    color: #ffffff !important;
}

[role="tab"]:focus-visible {
    outline: 2px solid #0B3A55 !important;
    outline-offset: 2px !important;
}

/* ---------- Cards area ---------- */
[role="tabpanel"] {
    margin-top: 40px !important;
    min-height: 360px;
    animation: tabFadeIn 0.45s ease;
}

@keyframes tabFadeIn {
    from {
        opacity: 0;
        transform: translateY(12px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* =========================================================
   TABLET
   ========================================================= */
@media (max-width: 1024px) {
    [role="tab"] {
        min-width: 150px !important;
        height: 40px !important;
        padding: 0 18px !important;
        font-size: 13px !important;
    }

    [role="tabpanel"] {
        margin-top: 32px !important;
        min-height: 0;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */
@media (max-width: 767px) {
    /* Compact wrapper */
    [role="tablist"] {
        width: fit-content !important;
        max-width: calc(100% - 32px) !important;
        margin: 16px auto 0 !important;
        gap: 4px !important;
        padding: 4px !important;
        box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
    }

    /* Sliding pill for 4px padding + 4px gap */
    [role="tablist"]::before {
        top: 4px;
        left: 4px;
        width: calc(50% - 6px);
        height: calc(100% - 8px);
    }

    [role="tablist"]:has([role="tab"]:nth-child(2)[aria-selected="true"])::before {
        transform: translateX(calc(100% + 4px));
    }

    /* Small, crisp tabs */
    [role="tab"] {
        flex: 1 1 0 !important;
        min-width: 118px !important;
        width: auto !important;
        height: 34px !important;
        padding: 0 12px !important;
        font-size: 12px !important;
        font-weight: 600 !important;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    [role="tabpanel"] {
        margin-top: 24px !important;
    }
}


/* =========================================================
   REDUCED MOTION
   ========================================================= */
@media (prefers-reduced-motion: reduce) {
    [role="tablist"]::before,
    [role="tab"] {
        transition: none !important;
    }

    [role="tabpanel"] {
        animation: none !important;
    }
}/* End custom CSS */