.artes-page-wrap { max-width: 1280px; margin: 0 auto; padding: 32px 24px 64px; }
.artes-header { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 22px; }
.artes-header h1 { font-size: 1.75rem; font-weight: 800; margin: 0 0 4px; }

/* Filled by ArtManager (via app.js); artes.js shuffles + paginates its children */
/* ArtManager (shared-art.js) sets the "horizontal strip" layout as INLINE styles on this
   container (flex row + overflow-x scroll). Inline styles beat normal CSS, so every
   layout property here needs !important to turn it into a wrapping grid feed. */
#artsContainer {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 24px !important;
  align-items: start !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  max-height: none !important;
  min-height: 200px;
  overflow: visible !important;
  overflow-x: visible !important;
  flex-wrap: wrap !important;
}
#artsContainer > .art-card {
  flex: none !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  scroll-snap-align: none;
}

.artes-empty-state, .artes-loading-state { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 70px 20px; color: #6b6b76; }
.artes-empty-state i { font-size: 2.4rem; margin-bottom: 14px; color: #c9c5df; }
.artes-empty-state h3 { font-size: 1.15rem; font-weight: 700; color: #2a1f6b; margin-bottom: 6px; }
.artes-sentinel { height: 1px; width: 100%; }
.artes-loading-more { display: flex; justify-content: center; padding: 28px 0 0; }
#notificationDropdown { display: none; }

@media (max-width: 900px)  { #artsContainer { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 14px !important; } }
@media (max-width: 600px) {
    .artes-page-wrap { padding: 16px 12px 40px; }
    .artes-header h1 { font-size: 1.4rem; }
    #artsContainer { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 6px !important; }
}