.bloxx-loop-toolbar {
    --bloxx-accent: #2359a1;
    --bloxx-text: #202733;
    --bloxx-background: #fff;
    --bloxx-border: #a4acb8;
    --bloxx-radius: .35rem;
    --bloxx-control-size: 2.75rem;
    --bloxx-space: .65rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--bloxx-space);
    color: var(--bloxx-text);
    margin-block: 1rem;
}
.bloxx-loop-toolbar *, [data-bloxx-grid] > .bloxx-grid-item { box-sizing: border-box; }
.bloxx-loop-toolbar [hidden] { display: none !important; }
.bloxx-loop-toolbar .bloxx-loop-controls,
.bloxx-loop-toolbar [role="group"],
.bloxx-loop-toolbar form,
.bloxx-loop-toolbar .bloxx-pagination { display:flex; align-items:center; flex-wrap:wrap; gap:var(--bloxx-space); }
.bloxx-loop-toolbar .bloxx-loop-primary { margin-inline-end:auto; }
.bloxx-loop-toolbar .bloxx-loop-controls { margin-inline-start:auto; }
.bloxx-loop-toolbar :is(button, select, a, .bloxx-pagination__page, .bloxx-per-page__option) {
    font: inherit;
    color: var(--bloxx-text);
    background: var(--bloxx-background);
    border: 1px solid var(--bloxx-border);
    border-radius: var(--bloxx-radius);
    min-height: var(--bloxx-control-size);
    min-width: var(--bloxx-control-size);
    padding: .5rem .7rem;
    line-height: 1.35;
}
.bloxx-loop-toolbar a { display:inline-flex; align-items:center; justify-content:center; text-decoration:none; }
.bloxx-loop-toolbar button { cursor:pointer; }
.bloxx-loop-toolbar [data-bloxx-view] { display:inline-flex; align-items:center; justify-content:center; }
.bloxx-loop-view-icon { display:block; flex:none; width:1.5rem; height:1.5rem; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.bloxx-loop-toolbar :is([aria-pressed="true"], [aria-current]) { background:var(--bloxx-accent); border-color:var(--bloxx-accent); color:#fff; }
.bloxx-loop-toolbar :is(button, select, a):focus-visible { outline:3px solid var(--bloxx-accent); outline-offset:3px; }
.bloxx-loop-toolbar .bloxx-pagination svg { width:1rem; height:1rem; fill:none; stroke:currentColor; stroke-width:2; }
.bloxx-loop-toolbar .bloxx-loop-status:empty { display:none; }
.bloxx-loop-toolbar .bloxx-loop-status { max-width:25rem; font-size:.9em; }
.bloxx-product-area {
    --bloxx-grid-3-desktop: 3;
    --bloxx-grid-4-desktop: 4;
    --bloxx-grid-3-tablet: 2;
    --bloxx-grid-4-tablet: 3;
    --bloxx-grid-3-mobile: 1;
    --bloxx-grid-4-mobile: 2;
    --bloxx-grid-gap: 1.5rem;
}
[data-bloxx-grid] { display:grid !important; grid-template-columns:repeat(var(--bloxx-columns), minmax(0, 1fr)) !important; gap:var(--bloxx-grid-gap, 1.5rem) !important; }
[data-bloxx-grid][data-bloxx-view="grid-3"] { --bloxx-columns: var(--bloxx-grid-3-desktop, 3); }
[data-bloxx-grid][data-bloxx-view="grid-4"] { --bloxx-columns: var(--bloxx-grid-4-desktop, 4); }
[data-bloxx-grid][data-bloxx-view="list"] { --bloxx-columns: 1; }
[data-bloxx-grid] > .bloxx-grid-item { width:100% !important; max-width:none !important; min-width:0; margin:0 !important; }
/* List = one full-width native card per row. Optional author-supplied inner
   groups enable horizontal media/content without moving any Divi nodes. */
[data-bloxx-grid][data-bloxx-view="list"] > .bloxx-grid-item .bloxx-card-layout { display:grid; grid-template-columns:minmax(8rem, 25%) minmax(0, 1fr); gap:var(--bloxx-grid-gap, 1.5rem); align-items:start; }
@media (max-width:980px) {
    [data-bloxx-grid][data-bloxx-view="grid-3"] { --bloxx-columns:var(--bloxx-grid-3-tablet, 2); }
    [data-bloxx-grid][data-bloxx-view="grid-4"] { --bloxx-columns:var(--bloxx-grid-4-tablet, 3); }
}
@media (max-width:767px) {
    [data-bloxx-grid][data-bloxx-view="grid-3"] { --bloxx-columns:var(--bloxx-grid-3-mobile, 1); }
    [data-bloxx-grid][data-bloxx-view="grid-4"] { --bloxx-columns:var(--bloxx-grid-4-mobile, 2); }
    .bloxx-loop-toolbar, .bloxx-loop-toolbar .bloxx-loop-controls { align-items:stretch; }
    .bloxx-loop-toolbar form { width:100%; }
    .bloxx-loop-toolbar select { min-width:0; max-width:100%; flex:1; }
    [data-bloxx-grid][data-bloxx-view="list"] > .bloxx-grid-item .bloxx-card-layout { grid-template-columns:1fr; }
}
