.go-unified-catalog{
    --go-sidebar-width: 280px;
    --go-catalog-gap: 34px;
    display:grid;
    grid-template-columns:minmax(230px,var(--go-sidebar-width)) minmax(0,1fr);
    align-items:start;
    gap:var(--go-catalog-gap);
    width:100%;
    min-width:0;
}
.go-unified-filters,
.go-unified-products{
    min-width:0;
    width:100%;
}
.go-unified-filters .go-filters-root,
.go-unified-products .go-product-catalog{
    width:100%;
    max-width:none;
}

/* En escritorio, el lateral permanece visible y acompaña al catálogo. */
@media (min-width: 901px){
    .go-unified-filters{
        position:relative;
    }
    .go-unified-filters .go-product-filters{
        width:100%;
    }
}

/* Tablet y móvil: una sola columna; Elementor deja de decidir los anchos internos. */
@media (max-width: 900px){
    .go-unified-catalog{
        display:flex;
        flex-direction:column;
        gap:16px;
        width:100%;
    }
    .go-unified-filters,
    .go-unified-products{
        width:100%!important;
        max-width:none!important;
        flex:0 0 100%;
    }
    .go-unified-filters .go-mobile-filter-trigger{
        margin:0;
        min-height:52px;
        border-radius:4px;
        color:#111!important;
        border-color:#111!important;
        background:#fff!important;
    }
    .go-unified-products .go-catalog-toolbar{
        margin:0 0 16px;
        gap:10px;
    }
    .go-unified-products .go-toolbar-left,
    .go-unified-products .go-toolbar-right{
        width:100%;
    }
    .go-unified-products .go-toolbar-right{
        margin-left:0;
    }
    .go-unified-products .go-ordering{
        width:100%;
    }
    .go-unified-products .go-ordering select{
        width:100%;
        min-height:48px;
        border:1px solid #d4d4d4;
        padding:10px 38px 10px 12px;
        background-color:#fff;
    }
    .go-unified-products .go-view-switcher{
        display:none!important;
    }
    .go-unified-products .go-product-grid{
        width:100%;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:28px 12px!important;
    }
    .go-unified-products .go-product-card{
        min-width:0;
    }
    .go-unified-products .go-product-image{
        width:100%;
    }
    .go-unified-products .go-product-quick-button{
        min-height:42px;
        padding:9px 8px;
        font-size:12px;
        line-height:1.15;
    }
    .go-unified-products .go-product-badges{
        top:6px;
        left:6px;
        right:6px;
        gap:3px;
    }
    .go-unified-products .go-badge{
        min-height:20px;
        padding:3px 6px;
        font-size:8px;
    }
    .go-unified-products .go-product-variants-wrap{
        min-width:0;
    }
    .go-unified-products .go-product-variants{
        min-width:0;
        overflow-x:auto;
        scrollbar-width:none;
    }
    .go-unified-products .go-product-variants::-webkit-scrollbar{
        display:none;
    }
    .go-unified-products .go-variant-thumb{
        flex:0 0 34px;
        width:34px;
        height:34px;
    }
    .go-unified-products .go-product-excerpt{
        display:none!important;
    }
}

@media (max-width: 420px){
    .go-unified-products .go-product-grid{
        gap:24px 9px!important;
    }
    .go-unified-products .go-product-quick-button{
        font-size:11px;
    }
    .go-unified-products .go-variant-thumb{
        flex-basis:31px;
        width:31px;
        height:31px;
    }
}


/* Móvil: el botón rápido queda debajo de la fotografía, no superpuesto. */
@media (max-width: 900px){
    .go-unified-products .go-product-media{
        display:flex;
        flex-direction:column;
    }
    .go-unified-products .go-product-image-link{
        order:1;
    }
    .go-unified-products .go-product-quick-button,
    .go-unified-products .go-product-quick-button.is-hover-only{
        order:2;
        position:static!important;
        left:auto!important;
        right:auto!important;
        bottom:auto!important;
        width:100%;
        min-height:42px;
        margin:8px 0 0;
        padding:10px 8px;
        opacity:1!important;
        transform:none!important;
        pointer-events:auto!important;
        box-sizing:border-box;
    }
}
