/* Stack de cartões */
.orion-card-stack {
    display: grid;
    gap: 14px;
}
.orion-card {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 12px;
    box-shadow: 0 1px 2px rgba(0,0,0,.04);
}
.orion-card__head {
    font-weight: 700;
    padding: 12px 14px;
    border-bottom: 1px solid #eee;
    font-size:14px;
}
.orion-card__body {
    padding: 12px 14px;
}

/* Chips selecionados */
.orion-selected {
    background:#f9f9f9;
    border-color:#dfdfdf;
}
.orion-chips {
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    padding: 10px 14px 6px;
}
.orion-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border-bottom: 1px solid #ebebeb;
    padding: 3px 0px;
    font-size: 12px;
    width: 100%;
    justify-content: space-between;
    margin:0 4px!important;
}
.orion-chip .x {
    border:0;
    background:transparent;
    cursor:pointer;
    font-size:14px;
    line-height:1;
    padding-right:0;
}
.orion-chip .x:hover {
    color:#ff2500;
}

.orion-clear-all {
    margin: 6px 14px 12px;
    background:#ebebeb;
    border-radius:8px;
    padding:6px 10px;
    font-size:12px;
    cursor:pointer;
    border:none;
}
.orion-clear-all:hover {
    background:#dfdfdf;
}

/* Checkbox estilizado */
.orion-check {
    display:flex;
    align-items:center;
    gap:8px;
    cursor:pointer;
    user-select:none;
    font-size:12px;
}
.orion-check input[type="checkbox"] {
    width:16px;
    height:16px;
    accent-color:#4c1d95;
} /* roxo */

/* Preço (inputs) */
.orion-price__row {
    display:flex;
    align-items:center;
    gap:8px;
    margin-bottom:8px;
}
.orion-price__row label {
    width:36px;
    font-size:12px;
    color:#666;
}
.orion-price input[type="number"] {
    width:100%;
    padding:8px 10px;
    border:1px solid #ddd;
    border-radius:8px;
}

/* Categorias */
.orion-cats__search input {
    width:100%;
    padding:8px 10px;
    border:1px solid #ddd;
    border-radius:8px;
    margin-bottom:10px;
}
.orion-cats__list {
    max-height:260px;
    overflow:auto;
    padding-right:6px;
}
.orion-cat-level {
    list-style:none;
    padding-left:0;
    margin:0;
}
.orion-cat-level-1 {
    margin-left:12px;
}
.orion-cat-level-2 {
    margin-left:24px;
}
.orion-cat-level-3 {
    margin-left:36px;
}

/* Wrapper carregando */
#orion-products-wrap.is-loading {
    position:relative;
    opacity:.6;
}
#orion-products-wrap.is-loading:after{
    content:"Carregando...";
    position:absolute;
    inset:0;
    display:grid;
    place-items:center;
    background:rgba(255,255,255,.6);
    font-weight:600;
}

/* Paginação simples */
.orion-pagination {
    display:flex;
    gap:8px;
    justify-content:center;
    margin-top:16px;
}
.orion-pagination .orion-page {
    border:1px solid #ddd;
    background:#fff;
    padding:6px 10px;
    border-radius:8px;
    cursor:pointer;
}
.orion-pagination .orion-page.is-active {
    border-color:#4c1d95;
    outline:2px solid #eadcff;
}

/* Sem resultados */
.orion-no-results {
    padding:20px;
    text-align:center;
}

/* Limpezas Divi */
.et_pb_widget.widget_block:empty{
    display:none;
}
.et_pb_widget.widget_block>p{
    display:none!important;
}

/* =======================
   Slider de preço (duplo)
   ======================= */

/* container + trilha de fundo */
.orion-price__slider{
    position:relative;
    height:38px;
    margin:8px 2px 14px;
}
.orion-price__slider::before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:14px;
    height:8px;
    background:#e6e6e6;
    border-radius:4px;
    z-index:0;
}

/* faixa selecionada (fica ENTRE o fundo e os thumbs) */
.orion-range-fill{
    position:absolute;
    top:14px;
    height:8px;
    left:0;
    width:0;
    background:#300b51;
    border-radius:4px;
    z-index:2;
}

/* ranges sobrepostos; interação só no THUMB */
.orion-price__slider .orion-range{
    position:absolute;
    left:0;
    right:0;
    top:10px;
    width:100%;
    -webkit-appearance:none;
    appearance:none;
    background:transparent;
    height:16px;
    pointer-events:none;             /* cliques não pegam na trilha */
    touch-action: none;
}

/* z-index inicial (thumbs acima do fill) */
#orion-range-min{
    z-index:3;
}
#orion-range-max{
    z-index:4;
}

/* trilhas nativas transparentes */
.orion-range::-webkit-slider-runnable-track{
    height:8px;
    background:transparent;
    border-radius:4px;
}
.orion-range::-moz-range-track{
    height:8px;
    background:transparent;
    border-radius:4px;
}

/* thumbs — MIN (roxo claro) / MAX (roxo forte) */
#orion-range-min::-webkit-slider-thumb{
    -webkit-appearance:none;
    appearance:none;
    width:22px;
    height:22px;
    border-radius:50%;
    background:#b388ff;              /* min */
    border:2px solid #fff;
    box-shadow:0 0 0 2px rgba(0,0,0,.06);
    pointer-events:auto;
    cursor:pointer;
    margin-top:-7px;
}
#orion-range-min::-moz-range-thumb{
    width:22px;
    height:22px;
    border-radius:50%;
    background:#b388ff;
    border:2px solid #fff;
    box-shadow:0 0 0 2px rgba(0,0,0,.06);
    pointer-events:auto;
    cursor:pointer;
}
#orion-range-max::-webkit-slider-thumb{
    -webkit-appearance:none;
    appearance:none;
    width:22px;
    height:22px;
    border-radius:50%;
    background:#5b1fb2;              /* max */
    border:2px solid #fff;
    box-shadow:0 0 0 2px rgba(0,0,0,.06);
    pointer-events:auto;
    cursor:pointer;
    margin-top:-7px;
}
#orion-range-max::-moz-range-thumb{
    width:22px;
    height:22px;
    border-radius:50%;
    background:#5b1fb2;
    border:2px solid #fff;
    box-shadow:0 0 0 2px rgba(0,0,0,.06);
    pointer-events:auto;
    cursor:pointer;
}

/* bubbles premium (valores) */
.orion-bubble{
    position:absolute;
    top:0;
    left:0;
    transform: translate(-50%, -8px) scale(.98);
    opacity:0;
    background:#fff;
    color:#222;
    font-weight:600;
    font-size:12px;
    padding:6px 8px;
    border-radius:10px;
    box-shadow:0 6px 18px rgba(0,0,0,.12), 0 1px 2px rgba(0,0,0,.08);
    white-space:nowrap;
    z-index:10;
    pointer-events:none;
    transition: transform .18s ease, opacity .18s ease;
}
.orion-bubble::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:-6px;
    transform:translateX(-50%);
    border-width:6px 6px 0;
    border-style:solid;
    border-color:#fff transparent transparent;
}
/* cores das bubbles */
.orion-bubble.min{
    background:#b388ff;
    color:#fff;
}
.orion-bubble.min::after{
    border-color:#b388ff transparent transparent;
}
.orion-bubble.max{
    background:#5b1fb2;
    color:#fff;
}
.orion-bubble.max::after{
    border-color:#5b1fb2 transparent transparent;
}

/* quando interage/hover/focus mostra as bubbles */
.orion-price__slider:hover .orion-bubble,
.orion-price__slider.is-dragging .orion-bubble,
.orion-price__slider:focus-within .orion-bubble{
    opacity:1;
    transform: translate(-50%, -14px) scale(1);
}

/* quando muito próximas, descola visualmente */
#orion-range-min.is-near::-webkit-slider-thumb{
    transform:translateX(-4px);
}
#orion-range-max.is-near::-webkit-slider-thumb{
    transform:translateX( 4px);
}
#orion-range-min.is-near::-moz-range-thumb{
    transform:translateX(-4px);
}
#orion-range-max.is-near::-moz-range-thumb{
    transform:translateX( 4px);
}

/* pilhar bubbles quando coladas */
.orion-bubble.stack-up   {
    transform: translate(-50%, -34px) scale(1);
}
.orion-bubble.stack-down {
    transform: translate(-50%,   6px) scale(1);
}

/* inputs abaixo do slider */
.orion-price__io{
    display:flex;
    gap:10px;
    align-items:flex-end;
}
.orion-price__field{
    flex:1;
}
.orion-price__field label{
    display:block;
    font-size:12px;
    color:#666;
    margin-bottom:6px;
}
.orion-price__field input{
    width:100%;
    padding:8px 10px;
    border:1px solid #ddd;
    border-radius:8px;
    background:#fafafa;
}

/* badge (X) e garantia de esconder quando hidden */
.orion-count{
    font-weight:600;
    color:#666;
}
.orion-card[hidden]{
    display:none !important;
}

/* ativa z-index maior durante o drag (classe aplicada pelo JS) */
.orion-range.is-front {
    z-index: 5;
}

/* ====== BUBBLES – levanta acima dos thumbs e ajusta empilhamento ====== */

/* posição base mais alta (sempre acima do trilho e dos thumbs) */
.orion-bubble{
    top: -56px;                       /* antes era top:0; agora sobe bem */
    transform: translate(-50%, 8px) scale(.98);
}

/* quando mostra (hover/drag/focus) sobe um pouco com animação */
.orion-price__slider:hover .orion-bubble,
.orion-price__slider.is-dragging .orion-bubble,
.orion-price__slider:focus-within .orion-bubble{
    transform: translate(-50%, 0) scale(1);
}

/* quando muito próximas, empilha SEM descer até o trilho */
.orion-bubble.stack-up   {
    transform: translate(-50%, -12px) scale(1);
}
.orion-bubble.stack-down {
    transform: translate(-50%,  12px) scale(1);
}

/* ===== Overrides finos ===== */

/* Bubbles menores e mais próximas do thumb */
.orion-bubble{
    top:-28px;                 /* aproxima das bolinhas */
    font-size:9px;             /* pedido: 6px */
    padding:4px 6px;
    border-radius:8px;
    transform: translate(-50%, 6px) scale(.98);
}
.orion-bubble::after{
    border-width:4px 4px 0;    /* triângulo menor pra combinar com 6px */
    bottom:-4px;
}

/* animação quando hover/drag/focus */
.orion-price__slider:hover .orion-bubble,
.orion-price__slider.is-dragging .orion-bubble,
.orion-price__slider:focus-within .orion-bubble{
    transform: translate(-50%, -2px) scale(1);
}

/* quando muito próximas, empilha sem afastar demais */
.orion-bubble.stack-up   {
    transform: translate(-50%, -10px) scale(1);
}
.orion-bubble.stack-down {
    transform: translate(-50%,   6px) scale(1);
}

/* Inputs mais “perto” das bolinhas (um à esquerda, outro à direita) */
.orion-price__io{
    display:grid;
    grid-template-columns: 1fr 1fr;  /* um campo por coluna */
    column-gap:8px;
    align-items:start;
    margin-top:8px;                  /* aproxima do slider */
}
.orion-price__field{
    max-width:120px;                 /* evita campos muito largos */
}
.orion-price__field:first-child{   /* Mínimo à esquerda */
    justify-self:start;
    text-align:left;
}
.orion-price__field:last-child{    /* Máximo à direita */
    justify-self:end;
    text-align:right;
}
.orion-price__field label{
    margin-bottom:4px;
}
.orion-price__field input{
    padding:6px 8px;
}




























/* ====== MOBILE: até 981px vira modal ====== */
@media (max-width: 981px) {

    /* botão "Filtros" logo abaixo do H1 */
    .orion-mobile-filter-trigger {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        background: #e30970;
        color: #fff;
        border: 0;
        padding: 10px 14px;
        border-radius: 999px;
        font-weight: 700;
        letter-spacing: .2px;
        cursor: pointer;
        position: absolute;
        right: 0;
        margin-top: -54px;
        border-radius: 0;
        text-transform: uppercase;
    }
    .orion-mobile-filter-trigger i {
        font-style: normal;
        font-weight: 700;
        width: 1.2em;
        text-align: center;
    }

    /* overlay */
    .orion-filter-overlay {
        position: fixed;
        inset: 0;
        background: rgba(0,0,0,.55);
        z-index: 9998;
        display: none;
    }
    .orion-filter-overlay.show {
        display: block;
    }

    /* painel */
    .orion-filter-panel {
        position: fixed;
        inset: 0;
        background: #fff;
        z-index: 9999;
        display: flex;
        flex-direction: column;
        transform: translateY(100%);
        transition: transform .28s ease;
        border-radius: 16px 16px 0 0;
    }
    .orion-filter-panel.show {
        transform: translateY(0);
    }

    .orion-filter-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 14px 16px;
        background: #3b0d6b;
        color:#fff;
        text-transform: uppercase;
    }
    .orion-filter-title {
        font-weight: 800;
        font-size: 16px;
    }
    .orion-filter-close {
        background: transparent;
        color:#fff;
        border:0;
        font-size: 22px;
        cursor:pointer;
    }

    .orion-filter-body {
        padding: 12px 14px 100px;   /* espaço pro botão fixo */
        overflow: auto;
        flex: 1;
        background: #fafafa;
    }

    /* Dá um visual de cartão aos grupos internos do seu #orion-filters */
    .orion-filter-body #orion-filters > .fgroup,
    .orion-filter-body #orion-filters > fieldset,
    .orion-filter-body #orion-filters > div {
        background:#fff;
        border:1px solid #eee;
        border-radius:12px;
        padding:12px;
        margin-bottom:12px;
    }

    /* barra fixa "Aplicar" */
    .orion-filter-footer {
        position: fixed;
        left:0;
        right:0;
        bottom:0;
        padding: 12px 16px;
        background: #fff;
        border-top:1px solid #eee;
        display: flex;
        gap: 10px;
    }
    .orion-filter-apply {
        flex:1;
        background:#3b0d6b;
        color:#fff;
        border:0;
        border-radius:12px;
        padding:14px;
        font-weight:800;
        cursor:pointer;
    }
    .orion-filter-clear {
        background:#eee;
        color:#333;
        border:0;
        border-radius:12px;
        padding:14px;
        font-weight:700;
        cursor:pointer;
    }

    /* esconder o #orion-filters original no fluxo da página (ele será movido pro painel) */
    #orion-filters.is-in-modal {
        display:block;
    }     /* visível dentro do modal */
    #orion-filters.is-hidden-on-page {
        display:none;
    }/* escondido na coluna */
}

