/* Shared public tab presentation; providers retain interaction and visibility.
 * Tab surfaces override per-element provider backgrounds to keep one public skin. */
body:not(.wp-admin) :is(.woocommerce-tabs, .brxe-tabs, .brxe-tabs-nested, .turri-tabs) {
    --turri-tab-surface: var(--turri-color-surface-default);
    --turri-tab-inactive: var(--turri-color-surface-subtle);
    --turri-tab-border: var(--turri-color-border-default);
    --turri-tab-active: var(--turri-color-action-primary-background);
    min-width: 0;
}

body:not(.wp-admin) :is(.woocommerce-tabs > .tabs, .brxe-tabs > .tab-menu, .brxe-tabs-nested > .tab-menu, [role="tablist"]):not([hidden]) {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 0.4rem;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
    overflow: visible;
    border: 0;
    border-bottom: var(--turri-control-border-width) solid var(--turri-color-border-default);
    list-style: none;
}

body:not(.wp-admin) .woocommerce-tabs > ul.tabs > li:not([hidden]) {
    display: flex;
    flex: 1 1 0;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

body:not(.wp-admin) .woocommerce-tabs > ul.tabs::before,
body:not(.wp-admin) .woocommerce-tabs > ul.tabs::after,
body:not(.wp-admin) .woocommerce-tabs > ul.tabs > li::before,
body:not(.wp-admin) .woocommerce-tabs > ul.tabs > li::after {
    content: none;
}

body:not(.wp-admin) :is(.woocommerce-tabs > .tabs > li > a, .brxe-tabs > .tab-menu > .tab-title, .brxe-tabs-nested > .tab-menu > .tab-title, [role="tablist"] > [role="tab"], [role="tablist"] > [role="presentation"] > [role="tab"]):not([hidden]) {
    display: flex;
    flex: 1 1 0;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: var(--turri-control-min-block-size);
    margin: 0 0 -1px;
    padding: var(--turri-control-padding-block) var(--turri-control-padding-inline-compact);
    border: var(--turri-control-border-width) solid var(--turri-color-border-default);
    border-top: var(--turri-focus-width) solid transparent;
    border-radius: var(--turri-control-radius) var(--turri-control-radius) 0 0;
    background-color: var(--turri-color-surface-subtle) !important;
    color: var(--turri-color-text-secondary);
    font-size: var(--turri-control-label-font-size);
    font-weight: var(--turri-control-label-font-weight);
    line-height: var(--turri-control-label-line-height);
    text-align: center;
    text-decoration: none;
    white-space: normal;
    overflow-wrap: anywhere;
    box-shadow: none;
    cursor: pointer;
}

body:not(.wp-admin) :is(.woocommerce-tabs > .tabs > li.active > a, .brxe-tabs > .tab-menu > .tab-title.brx-open, .brxe-tabs-nested > .tab-menu > .tab-title.brx-open, [role="tablist"] [role="tab"][aria-selected="true"]) {
    position: relative;
    z-index: 1;
    border-top-color: var(--turri-color-action-primary-background);
    border-bottom-color: var(--turri-color-surface-default);
    background-color: var(--turri-color-surface-default) !important;
    color: var(--turri-color-action-secondary-foreground);
    font-weight: 700;
}

body:not(.wp-admin) :is(.woocommerce-tabs > .tabs > li > a, .brxe-tabs > .tab-menu > .tab-title, .brxe-tabs-nested > .tab-menu > .tab-title, [role="tablist"] [role="tab"]):hover {
    color: var(--turri-color-action-secondary-foreground);
    text-decoration: underline;
    text-underline-offset: 0.2em;
}

body:not(.wp-admin) :is(.woocommerce-tabs > .tabs > li > a, .brxe-tabs > .tab-menu > .tab-title, .brxe-tabs-nested > .tab-menu > .tab-title, [role="tablist"] [role="tab"]):focus-visible {
    z-index: 2;
    outline: var(--turri-focus-width) solid var(--turri-color-focus-ring);
    outline-offset: var(--turri-focus-offset);
}

body:not(.wp-admin) :is(.woocommerce-tabs > .woocommerce-Tabs-panel, .brxe-tabs > .tab-content, .brxe-tabs-nested > .tab-content, .turri-tabs > [role="tabpanel"]) {
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: var(--turri-control-padding-inline);
    border: var(--turri-control-border-width) solid var(--turri-color-border-default);
    border-top: 0;
    border-radius: 0 0 var(--turri-control-radius) var(--turri-control-radius);
    background: var(--turri-color-surface-default);
    color: var(--turri-color-text-primary);
    overflow-wrap: normal;
}

body:not(.wp-admin) [role="tablist"][aria-orientation="vertical"] {
    flex-direction: column;
}

body:not(.wp-admin) [role="tabpanel"]:not(.tab-pane):not(.woocommerce-Tabs-panel) {
    padding: var(--turri-control-padding-inline);
    border: var(--turri-control-border-width) solid var(--turri-color-border-default);
    border-top: 0;
    background: var(--turri-color-surface-default);
    color: var(--turri-color-text-primary);
}

body:not(.wp-admin) :is(.woocommerce-tabs > .tabs > li > a, .brxe-tabs > .tab-menu > .tab-title, .brxe-tabs-nested > .tab-menu > .tab-title, [role="tablist"] [role="tab"]) {
    transition: background-color var(--turri-control-motion-duration) ease,
        color var(--turri-control-motion-duration) ease,
        border-color var(--turri-control-motion-duration) ease;
}

@media (prefers-reduced-motion: reduce) {
    body:not(.wp-admin) :is(.woocommerce-tabs > .tabs > li > a, .brxe-tabs > .tab-menu > .tab-title, .brxe-tabs-nested > .tab-menu > .tab-title, [role="tablist"] [role="tab"]) {
        transition-duration: var(--turri-motion-reduced-duration);
    }
}
