/* Approved interface refinements. */
.filter-help,
.catalog-note,
.catalog-details,
.featured-toolbar span + span,
.commission-contact > span {
  font-size: 12px;
  line-height: 1.6;
}
.filter-help { color: var(--muted); }
.dj-events { font-size: 13px; line-height: 1.6; }
.featured-toolbar {
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  gap: 12px;
  min-height: 64px;
  color: var(--cream);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 1.5px;
}
.featured-toolbar::before {
  content: "";
  display: block;
  width: 4px;
  height: 20px;
  flex: 0 0 4px;
  border-radius: 2px;
  background: var(--green);
}
.results-toolbar { font-size: 12px; }
.catalog-badge { font-size: 10px; }
.more-heading p { font-size: 12px; }

/* One artist deserves an intentional composition, not an unfinished grid. */
@media (min-width: 601px) {
  .catalog-grid:has(> .compact-card:only-child) { grid-template-columns: 1fr; }
  .catalog-grid > .compact-card:only-child {
    grid-template-columns: minmax(210px, 27%) minmax(0, 1fr);
    min-height: 240px;
  }
  .catalog-grid > .compact-card:only-child .dj-photo { min-height: 240px; }
  .catalog-grid > .compact-card:only-child .dj-photo:after {
    background: linear-gradient(90deg, transparent 65%, #10200f), linear-gradient(0deg, #0c170c40, transparent 35%);
  }
  .catalog-grid > .compact-card:only-child .dj-info {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-content: center;
    align-items: start;
    gap: 8px 32px;
    padding: 28px 36px;
  }
  .catalog-grid > .compact-card:only-child .dj-info > * { grid-column: 1; margin: 0; }
  .catalog-grid > .compact-card:only-child .dj-info h2 { font-size: 34px; }
  .catalog-grid > .compact-card:only-child .feature-label { font-size: 10px; margin-bottom: 3px; }
  .catalog-grid > .compact-card:only-child .dj-events { margin-top: 3px; max-width: none; }
  .catalog-grid > .compact-card:only-child .profile-btn {
    grid-column: 2;
    grid-row: 1 / 6;
    align-self: center;
    justify-self: end;
    margin: 0;
    min-height: 48px;
    font-size: 15px;
    white-space: nowrap;
  }
}
@media (min-width: 601px) and (max-width: 1000px) {
  .catalog-grid > .compact-card:only-child .dj-info { display: flex; padding: 24px; gap: 8px; }
  .catalog-grid > .compact-card:only-child .profile-btn { margin-top: 8px; }
}
@media (max-width: 600px) {
  .hero { min-height: 0; }
  .hero-copy { padding-top: 30px; padding-bottom: 66px; }
  h1 { font-size: clamp(30px, 9.25vw, 50px); letter-spacing: -1.3px; line-height: 1.06; }
  .hero-eyebrow { margin-bottom: 16px; }
  .main-wrap { margin-top: -26px; }
  .filter-help { margin-top: 12px; font-size: 12px; }
  .featured-toolbar { min-height: 60px; font-size: 14px; letter-spacing: 1.2px; }
  .featured-toolbar span + span { font-size: 11px; }
  .dj-events { font-size: 12px; }
  .catalog-note { font-size: 12px; }
  .catalog-details { font-size: 12px; }
  .commission-contact > span { font-size: 12px; }
  .dj-info h2 { font-size: clamp(34px, 10.5vw, 42px); }
}
@media (max-width: 380px) {
  .filters .select-field:nth-child(3),
  .filters .search-btn { grid-column: 1 / -1; }
  .search-btn { min-height: 48px; white-space: nowrap; }
  .select-field { height: 48px; }
  .discover-aside h2 { font-size: 30px; }
}

/* Persistent name search follows the same rhythm as the filter controls. */
.name-search { max-width: none; padding-top: 0; margin-bottom: 12px; }
.name-search label.sr-only { margin: -1px; }
.name-search input { height: 54px; border-radius: 12px; font-size: 16px; }
.name-search input::placeholder { color: var(--muted); opacity: 1; }
.name-search svg { left: 16px; top: 50%; transform: translateY(-50%); }
@media (max-width: 600px) {
  .name-search input { height: 48px; }
}

/* Keep the catalog heading and count above its filters and results. */
.discover-grid + .more-catalog { margin-top: 32px; }
.more-catalog .catalog-grid { margin-top: 24px; scroll-margin-top: 25px; }
@media (max-width: 600px) {
  .discover-grid + .more-catalog { margin-top: 24px; }
  .more-catalog .catalog-grid { margin-top: 20px; }
}

/* Comfortable header controls and keyboard navigation destinations. */
.icon-btn, .menu-btn { min-width: 44px; min-height: 44px; flex-shrink: 0; }
.more-catalog:focus-visible, .catalog-grid:focus-visible, .about:focus-visible, .commission:focus-visible { outline: 2px solid var(--green); outline-offset: 5px; }
@media (min-width: 601px) and (max-width: 900px) {
  .nav-shell { gap: 12px; padding-inline: 20px; }
  .desktop-nav { gap: 10px; }
}
@media (max-width: 600px) {
  .nav-shell { gap: 10px; }
  .menu-btn { padding: 7px; align-items: center; justify-content: center; }
}
@media (max-width: 380px) {
  .nav-shell { gap: 6px; padding-inline: 16px; }
  .brand span { font-size: 21px; }
}
