/* Minimal styles + loader */
.avl-grid{
  --avl-sidebar:30%;
  --avl-cols-d:3; --avl-cols-t:2; --avl-cols-m:1;
  display:grid; grid-template-columns: var(--avl-sidebar) 1fr; gap:1rem;
}
.avl-grid[data-sidebar-pos="right"]{ grid-template-columns: 1fr var(--avl-sidebar); }
@media (max-width:1024px){ .avl-grid{ grid-template-columns: 1fr; } }

.avl-loop{ display:block; min-width:0; }
.avl-toolbar-row{ display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:.75rem; }
.avl-views{ display:flex; flex-wrap:wrap; gap:.5rem; }
.avl-btn, .avl-sort-btn, .avl-load-more{ background-image:none !important; }

.avl-btn{ display:inline-flex; align-items:center; gap:.45rem; padding:.45rem .6rem; border:1px solid rgba(0,0,0,.15); background:#fff; border-radius:.6rem; cursor:pointer; }
.avl-btn.is-active{ border-color: rgba(0,0,0,.35); box-shadow: 0 0 0 2px rgba(0,0,0,.04) inset }
.avl-btn svg, .avl-views .avl-btn svg *{ width:1em; height:1em; fill: currentColor; }

.avl-sort-btn{ display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; border:1px solid rgba(0,0,0,.15); border-radius:.6rem; background:#fff; cursor:pointer; }
.avl-sort-btn svg{ width:18px; height:18px; display:block; fill: currentColor; }

.avl-sidebar{ min-width:0; }
.avl-filters{ display:grid; grid-template-columns:1fr; gap:1rem; }
.avl-filter{ border:1px solid rgba(0,0,0,.08); border-radius:.6rem; background:#fff }
.avl-filter-toggle{ width:100%; display:flex; justify-content:space-between; align-items:center; padding:.6rem .75rem; background:none; border:0; border-bottom:1px solid rgba(0,0,0,.06); cursor:pointer; }
.avl-filter-body{ padding:.75rem; display:block; }
.avl-filter.is-collapsed .avl-filter-body{ display:none; }
.avl-filter-label{ font-weight:600; }
.avl-options{ display:flex; flex-direction:column; gap:.35rem; }

.avl-loop-holder{ display:grid; gap:1rem; grid-template-columns: repeat(var(--avl-cols-d), minmax(0,1fr)); }
@media (max-width:1024px){ .avl-loop-holder{ grid-template-columns: repeat(var(--avl-cols-t), minmax(0,1fr)); } }
@media (max-width:767px){ .avl-loop-holder{ grid-template-columns: repeat(var(--avl-cols-m), minmax(0,1fr)); } }

.avl-load-more-wrap{ margin-top:1rem; text-align:center; }
.avl-load-more{ padding:.6rem 1rem; border-radius:.6rem; border:1px solid rgba(0,0,0,.15); background:#fff; cursor:pointer; }

.avl-fallback{ padding:.75rem; border:1px solid rgba(0,0,0,.08); border-radius:.6rem; background:#fff }

/* Loader overlay */
.avl-loop-shell{ position:relative; min-height:120px; }
.avl-loop-shell.is-loading::after{
  content:""; position:absolute; inset:0; background:#fff; opacity:.8; pointer-events:all; z-index:10;
}
.avl-loop-loader{ position:absolute; z-index:11; top:50%; left:50%; width:48px; height:48px; transform:translate(-50%,-50%); border-radius:50%; border:4px solid rgba(0,0,0,.1); border-top-color:rgba(0,0,0,.6); animation:avl-spin .6s linear infinite; display:none; }
.avl-loop-shell.is-loading .avl-loop-loader{ display:block; }
@keyframes avl-spin{ to{ transform:translate(-50%,-50%) rotate(360deg);} }
