/* ============================================================
   NEXO SURFHOUSE — LOOPS CSS  v1.0.0
   ============================================================ */
.nexo-loop-toolbar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem; margin-bottom:2rem; padding:1rem 0; border-bottom:1px solid var(--nexo-border); }
.nexo-loop-count  { font-size:0.9375rem; color:var(--nexo-muted); }
.nexo-loop-sort   { display:flex; gap:0.5rem; }
.nexo-sort-btn    { padding:0.375rem 0.875rem; border:1px solid var(--nexo-border); border-radius:9999px; font-size:0.8125rem; font-weight:600; background:#fff; cursor:pointer; transition:all 0.25s; }
.nexo-sort-btn.is-active,.nexo-sort-btn:hover { background:var(--nexo-primary); border-color:var(--nexo-primary); color:#fff; }
.nexo-loop-grid   { display:grid; grid-template-columns:repeat(3,1fr); gap:1.75rem; }
.nexo-loop-grid--2 { grid-template-columns:repeat(2,1fr); }
.nexo-loop-grid--4 { grid-template-columns:repeat(4,1fr); }
.nexo-load-more   { display:block; margin:3rem auto 0; }
.nexo-loop-skeleton .nexo-card { animation:nexo-pulse 1.5s ease-in-out infinite; }
@keyframes nexo-pulse { 0%,100%{opacity:1} 50%{opacity:0.5} }
@media(max-width:1024px){ .nexo-loop-grid,.nexo-loop-grid--4{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:600px) { .nexo-loop-grid,.nexo-loop-grid--2,.nexo-loop-grid--4{ grid-template-columns:1fr; } }
