/* Site-wide UI polish. Loaded last so it can correct earlier sheets
   (output.css is Tailwind-compiled from input.css; discovery.css; growth.css). */

/* ── Header: too many items at laptop widths ─────────────── */
.nav-add { white-space: nowrap; }
.site-nav .nav-link { white-space: nowrap; }
@media (min-width: 1180px) and (max-width: 1499px) {
  .logo-place { display: none; }
  .site-nav { gap: 2px; }
  .site-nav .nav-link { padding-inline: 10px; }
}

/* ── Footer logo: the invert filter turned the PNG's white background into a blank box ── */
.footer-logo-img { filter: none; padding: 7px 12px; border-radius: 12px; background: #fff; }

/* ── Home hero ───────────────────────────────────────────── */
/* Trust chips sit where the hero fades to cream — give them their own background so they read on both. */
.hero-trust span { padding: 6px 12px 6px 7px; border: 1px solid rgba(15, 23, 42, .08); border-radius: 999px; background: rgba(255, 255, 255, .92); color: #334155; box-shadow: 0 4px 14px rgba(15, 23, 42, .08); }
.hero-trust strong { color: #0f172a; }
.hero-trust span::before { border-color: #bbf7d0; background: #dcfce7; color: #15803d; }

/* Hide the weather widget while it has no data instead of showing "-- / Offline". */
.city-weather:has(.weather-status.offline) { display: none; }

/* Search tabs: keep all three on one row. */
.hero-search-tabs { display: flex; flex-wrap: wrap; gap: 6px; width: fit-content; max-width: 100%; }

/* ── Section headings ────────────────────────────────────── */
.cats-head { display: block; text-align: left; }
.cats-head .section-title { margin-top: 0; }
.section-heading-row > a.view-all-btn, .section-heading-row > a.view-all-btn:hover { color: #fff; }
.home-area-discovery + .latest-head, .home-area-discovery ~ .latest-head { margin-top: 64px; }
@media (max-width: 639px) {
  .latest-head, .section-head, .section-heading-row { align-items: flex-start; text-align: left; }
  .latest-head > div, .section-head > div { width: 100%; }
}

/* ── Category cards ──────────────────────────────────────── */
.cat-card-label { display: none; } /* duplicated the description below the title */
.cat-card-btn { color: #fff !important; }

/* ── Business cards (_EnterpriseCard) ────────────────────── */
.discovery-card { display: flex; flex-direction: column; }
.discovery-card-body { flex: 1; min-height: 0; gap: 10px; }
.discovery-card-links { margin-top: 2px; }
.discovery-card-actions { grid-template-columns: 1fr 1fr; }
.discovery-card-actions:has(> :only-child) { grid-template-columns: 1fr; }
.card-call-action { display: inline-flex; align-items: center; justify-content: center; gap: 5px; min-height: 39px; padding: 0 13px; border-radius: 10px; background: var(--discover-saffron, #e86424); color: #fff; font-size: 11px; font-weight: 900; }
.card-call-action:hover { background: var(--discover-saffron-dark, #b84416); color: #fff; }
.discovery-card-contact { display: flex; align-items: center; gap: 6px; margin: 0; color: #1d6b45; font-size: 11px; font-weight: 800; }
@media (max-width: 640px) {
  .discovery-card-media { height: 132px; }
  .discovery-card-body { padding: 14px 15px 10px; }
  .discovery-card-actions { padding: 0 15px 15px; }
}

/* ── Directory toolbar ───────────────────────────────────── */
label.filter-select { padding: 0; border: 0; background: none; box-shadow: none; }
.filter-select select { text-overflow: ellipsis; }
@media (min-width: 1101px) {
  .directory-toolbar { grid-template-columns: minmax(240px, 1fr) 210px 170px auto auto auto; }
}
/* Phones: always show the search box; only the extra filters fold behind the toggle. */
@media (max-width: 820px) {
  .directory-toolbar { display: grid; grid-template-columns: 1fr auto; }
  .directory-toolbar .directory-search { grid-column: 1; }
  .directory-toolbar .toolbar-submit { grid-column: 2; grid-row: 1; }
  .directory-toolbar:not(.open) > .filter-select,
  .directory-toolbar:not(.open) > .verified-filter,
  .directory-toolbar:not(.open) > .toolbar-clear { display: none; }
  .directory-toolbar.open > .filter-select, .directory-toolbar.open > .verified-filter { grid-column: 1 / -1; }
  .mobile-filter-toggle { order: 2; height: 38px; margin-top: 8px; font-size: 13px; }
  .directory-toolbar-wrap .directory-shell { display: flex; flex-direction: column; }
  .directory-toolbar-wrap .directory-shell > .directory-toolbar { order: 1; }
}

/* ── Reveal animation: content near the page end never crossed the -40px margin ── */
@media (prefers-reduced-motion: reduce) { .js .fade-up { opacity: 1; transform: none; } }

/* 9 categories → a clean 3×3 grid instead of 4+4+1 */
@media (min-width: 1280px) { .cats-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.view-all-btn { white-space: nowrap; }
@media (max-width: 639px) {
  .section-heading-row { flex-direction: column; align-items: flex-start; gap: 14px; }
}

/* ── Professionals ───────────────────────────────────────── */
.professional-category-nav a.active strong { background: #fff; color: var(--discover-saffron-dark, #b84416); }
.professional-card { display: flex; flex-direction: column; }
.professional-card-body { flex: 1; }
.professional-card-actions.has-contact { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.professional-card-actions.has-contact .pc-profile { grid-column: 1 / -1; background: transparent; border: 1px solid var(--discover-line, #e7dfd1); color: var(--discover-ink, #17221d); }
.professional-card-actions .pc-call, .professional-card-actions .pc-wa { justify-content: center; gap: 5px; }
.professional-card-actions .pc-call { background: var(--discover-saffron, #e86424); }
.professional-card-actions .pc-wa { background: #16a34a; }
.professional-card-actions.has-contact > a:nth-child(1):nth-last-child(2) { grid-column: 1 / -1; } /* call without WhatsApp */

/* ── Events: match the site's display font instead of a stray serif ── */
.events-title, .events-section-title { font-family: "Baloo 2", sans-serif !important; font-weight: 800 !important; letter-spacing: -.01em; }

@media (max-width: 639px) {
  .hero-search-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; }
  .hero-search-tabs .hero-search-tab { justify-content: center; padding-inline: 6px; font-size: 12px; white-space: nowrap; }
}

/* ── Home hero: compact so the page content starts above the fold ── */
.landing-hero .hero-inner { padding-top: 30px !important; padding-bottom: 34px !important; }
.landing-hero .hero-grid { align-items: center; gap: 32px; }
.landing-hero .hero-badge { margin-bottom: 12px; }
.landing-hero .hero-title { max-width: 820px; margin-bottom: 10px; font-size: clamp(32px, 3.4vw, 48px) !important; line-height: 1.04 !important; }
.landing-hero .hero-desc { margin-top: 0; margin-bottom: 16px; font-size: 15px; line-height: 1.55; }
.landing-hero .hero-search-head { display: none; } /* repeated "Add Listing" + count; header already has both */
.landing-hero .hero-search-panel { padding: 12px !important; }
.landing-hero .hero-search-tabs { margin-bottom: 10px; }
.landing-hero .hero-search-tab { padding-block: 7px; }
.landing-hero .quick-tags { margin-top: 10px; padding-top: 10px; }
.landing-hero .hero-trust { margin-top: 12px; }
.landing-hero .city-pulse-card { align-self: center; }
.landing-hero .city-pulse-market img { max-height: 210px; object-fit: cover; }
@media (max-width: 767px) {
  .landing-hero .hero-inner { padding-top: 20px !important; padding-bottom: 22px !important; }
  .landing-hero .hero-title { font-size: clamp(28px, 8.4vw, 36px) !important; }
  .landing-hero .hero-desc { font-size: 14px; margin-bottom: 12px; }
  .landing-hero .city-pulse-card { display: none; } /* weekly market is still in the menu and further down */
  .landing-hero .quick-tags { flex-wrap: nowrap; overflow-x: auto; }
}

/* ── Category badge on business cards uses an SVG icon instead of emoji ── */
.discovery-card-category svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
