/**
 * W12-1 — City SEO hub polish (dark-compat without editing board-dark.css).
 * Linked only from city.php via $GLOBALS['rcl_extra_styles'].
 */

[data-testid="city-landing"] {
  display: block;
}

[data-testid="city-landing"] .rcl-searchbar {
  margin-top: 0.85rem;
  gap: 0.5rem;
  flex-wrap: wrap;
}

[data-testid="city-landing"] .rcl-searchbar input[type="search"],
[data-testid="city-landing"] .rcl-searchbar select {
  min-height: 42px;
}

[data-testid="city-seo-verticals"] .rcl-vertical-grid {
  gap: 0.75rem;
}

[data-testid="city-seo-verticals"] .rcl-vertical-tile:focus-visible,
[data-testid="city-seo-sibling-nav"] a.rcy-chip:focus-visible,
[data-testid="city-seo-fallback"] a.rcy-chip:focus-visible,
[data-testid="city-seo-feed"] .rcl-empty-state__actions a.rcy-btn:focus-visible,
[data-testid="city-seo-ctas"] a.rcy-btn:focus-visible {
  outline: 3px solid var(--rcy-ink, #1a1f2e);
  outline-offset: 2px;
  box-shadow: 0 0 0 3px rgba(245, 197, 24, 0.45);
}

body.rcl-theme-dark [data-testid="city-seo-verticals"] .rcl-vertical-tile:focus-visible,
body.rcl-theme-dark [data-testid="city-seo-sibling-nav"] a.rcy-chip:focus-visible,
body.rcl-theme-dark [data-testid="city-seo-fallback"] a.rcy-chip:focus-visible,
body.rcl-theme-dark [data-testid="city-seo-feed"] .rcl-empty-state__actions a.rcy-btn:focus-visible,
body.rcl-theme-dark [data-testid="city-seo-ctas"] a.rcy-btn:focus-visible {
  outline-color: #f5c518;
  box-shadow: 0 0 0 3px rgba(245, 197, 24, 0.35);
}

body.rcl-theme-dark [data-testid="city-seo-feed"] .rcl-empty-state {
  background: rgba(18, 28, 46, 0.92);
  border-color: rgba(245, 197, 24, 0.35);
}

body.rcl-theme-dark [data-testid="city-seo-verticals"] .rcl-vertical-tile {
  background: rgba(18, 28, 46, 0.88);
  border-color: rgba(245, 197, 24, 0.28);
}

[data-testid="city-seo-feed"] .rcl-empty-state {
  margin-top: 0.5rem;
}

[data-testid="city-seo-feed"] .rcl-empty-state__actions {
  gap: 0.6rem;
  flex-wrap: wrap;
}

[data-testid="city-seo-404"] {
  margin-bottom: 0.85rem;
}

.rcl-city-404-back {
  margin-top: 1rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
}

[data-testid="city-seo-ctas"] {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin: 1rem 0;
}

@media (max-width: 640px) {
  [data-testid="city-seo-feed"] .rcl-empty-state__actions a.rcy-btn,
  [data-testid="city-seo-ctas"] a.rcy-btn,
  .rcl-city-404-back a.rcy-btn {
    min-height: 42px;
  }
}

@media (prefers-reduced-motion: reduce) {
  [data-testid="city-seo-verticals"] .rcl-vertical-tile,
  [data-testid="city-seo-feed"] .rcl-empty-state__actions a.rcy-btn,
  [data-testid="city-seo-ctas"] a.rcy-btn {
    transition: none;
  }
}

/* W15-2 — Jobs / Services card blocks on city landings */
.rcl-city-blocks {
  margin: 1rem 0 1.25rem;
}

.rcl-city-blocks__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.rcl-city-blocks .rcl-mixed-board__section {
  padding: 0.85rem 1rem 1rem;
  border: 1px solid rgba(245, 197, 24, 0.35);
  border-radius: 12px;
  background: rgba(255, 248, 220, 0.55);
}

body.rcl-theme-dark .rcl-city-blocks .rcl-mixed-board__section {
  background: rgba(18, 28, 46, 0.92);
  border-color: rgba(245, 197, 24, 0.32);
}

.rcl-city-blocks .rcl-mixed-board__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.35rem;
}

.rcl-city-blocks .rcl-mixed-board__count {
  font-weight: 700;
  color: var(--rcy-ink, #1a1f2e);
}

body.rcl-theme-dark .rcl-city-blocks .rcl-mixed-board__count {
  color: #f5c518;
}

.rcl-city-blocks .rcl-mixed-board__more {
  margin-top: 0.75rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.5rem;
  align-items: center;
}

.rcl-city-blocks .rcl-mixed-board__empty {
  padding: 0.75rem 0;
}

.rcl-city-blocks .rcy-card-grid,
.rcl-city-blocks .rcl-job-grid {
  margin-top: 0.5rem;
}

@media (max-width: 960px) {
  .rcl-city-blocks__grid {
    grid-template-columns: 1fr;
  }
}
