/* Le regole dei figli usano :is(.px-tabselect, .acc-area .acc-nav .px-tabselect): nel menu dell'area riservata
   vincono su ".acc-area .acc-nav button" di account.css (pulsante trasparente, senza bordo, peso 500) */
/* Tab come selettore su mobile (tab-select.js): query loop, widget Tab, menu dell'area riservata.
   Su desktop il selettore non c'è; su mobile prende il posto delle tab, con lo stile dei campi del sito. */
.px-tabselect {
    display: none;
}

@media (max-width: 767px) {
    .px-tabselect {
        display: block;
        position: relative;
        width: 100%;
        font-family: inherit;
        z-index: 20;
    }
    /* Tab originali nascoste (restano nella pagina: il selettore le attiva) */
    .px-tabselect-host > :not(.px-tabselect),
    .px-tabselect + .px-tabselect-host {
        display: none !important;
    }
    .pp-ql-tabs.px-tabselect-host,
    .acc-nav.px-tabselect-host {
        display: block;
        overflow: visible;
        padding: 0;
        border: 0;
        background: none;
    }

    :is(.px-tabselect, .acc-area .acc-nav .px-tabselect) .px-tabselect__btn {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        width: 100%;
        min-height: 56px;
        padding: 0 20px;
        font: inherit;
        font-size: 1rem;
        font-weight: 700;
        text-align: left;
        color: #001F75;
        background: #F6EEDD;
        border: 2px solid rgba(0, 31, 117, 0.14);
        border-radius: 16px;
        cursor: pointer;
        transition: border-color .2s;
    }
    :is(.px-tabselect, .acc-area .acc-nav .px-tabselect) .px-tabselect__btn:focus-visible {
        outline: 2px solid #2C5BF9;
        outline-offset: 2px;
    }
    :is(.px-tabselect.is-open, .acc-area .acc-nav .px-tabselect.is-open) .px-tabselect__btn {
        border-color: rgba(44, 91, 249, 0.44);
    }
    :is(.px-tabselect, .acc-area .acc-nav .px-tabselect) .px-tabselect__value {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    :is(.px-tabselect, .acc-area .acc-nav .px-tabselect) .px-tabselect__chevron {
        flex-shrink: 0;
        transition: transform .2s;
    }
    :is(.px-tabselect.is-open, .acc-area .acc-nav .px-tabselect.is-open) .px-tabselect__chevron {
        transform: rotate(180deg);
    }

    :is(.px-tabselect, .acc-area .acc-nav .px-tabselect) .px-tabselect__list {
        position: absolute;
        top: calc(100% + 6px);
        left: 0;
        right: 0;
        margin: 0;
        padding: 6px;
        list-style: none;
        max-height: min(60vh, 420px);
        overflow-y: auto;
        background: #FFF8E8;
        border: 2px solid rgba(0, 31, 117, 0.14);
        border-radius: 16px;
        box-shadow: 0 16px 40px rgba(0, 31, 117, 0.18);
        outline: none;
    }
    :is(.px-tabselect, .acc-area .acc-nav .px-tabselect) .px-tabselect__list[hidden] {
        display: none;
    }
    :is(.px-tabselect, .acc-area .acc-nav .px-tabselect) .px-tabselect__option {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        min-height: 48px;
        padding: 10px 14px;
        border-radius: 10px;
        font-size: 1rem;
        font-weight: 500;
        color: #001F75;
        cursor: pointer;
    }
    :is(.px-tabselect, .acc-area .acc-nav .px-tabselect) .px-tabselect__option::before {
        content: none !important;
    }
    :is(.px-tabselect, .acc-area .acc-nav .px-tabselect) .px-tabselect__option.is-focused,
    :is(.px-tabselect, .acc-area .acc-nav .px-tabselect) .px-tabselect__option:hover {
        background: rgba(44, 91, 249, 0.10);
    }
    :is(.px-tabselect, .acc-area .acc-nav .px-tabselect) .px-tabselect__option.is-selected {
        font-weight: 700;
        background: rgba(0, 31, 117, 0.08);
    }
    :is(.px-tabselect, .acc-area .acc-nav .px-tabselect) .px-tabselect__check {
        flex-shrink: 0;
        color: #2C5BF9;
        visibility: hidden;
    }
    :is(.px-tabselect, .acc-area .acc-nav .px-tabselect) .px-tabselect__option.is-selected .px-tabselect__check {
        visibility: visible;
    }
}

@media (max-width: 767px) and (prefers-reduced-motion: reduce) {
    :is(.px-tabselect, .acc-area .acc-nav .px-tabselect) .px-tabselect__chevron {
        transition: none;
    }
}
