/* iHomeFinder IDX widget customization — aligned to the site design system
   (Geist, brand orange #D95D00, ink neutrals, soft radii).
   Load order: this file is included AFTER all other stylesheets,
   so naked selectors win on cascade order; reserve !important for
   fighting iHF's own !important rules.
*/

/* === Layer 1: hide iHF chrome (preserved from the original Level 1 setup) === */
[class*="idx-logo"],
img[alt*="Internet Data Exchange"],
.ihf-logo,
.ihf-disclaimer,
.ihf-footer-logo {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

/* Keep map container from stretching the page.
   NOTE: map zoom controls are intentionally NOT hidden anymore — the old
   Webflow layout hid .mapboxgl-ctrl, which hurt map usability. */
.listing-section-twc {
  position: relative !important;
  z-index: 1 !important;
  overflow: hidden !important;
}

/* === Design tokens === */
:root {
  --idx-accent: #D95D00;
  --idx-accent-hover: #A14500;
  --idx-ink: #1F1E1E;
  --idx-ink-soft: #5E5B5B;
  --idx-border: #DCD9D9;
  --idx-border-soft: #F0EDED;
  --idx-bg-card: #fff;
  --idx-radius: 8px;
  --idx-radius-lg: 14px;
}

/* === Layer 2: typography — inherit the site's font stack (Geist) === */
[class*="ihf-"],
[class*="idx-"],
.ihf-container button,
.ihf-container input,
.ihf-container select,
.ihf-container textarea {
  font-family: 'Geist', system-ui, sans-serif !important;
}

[class*="ihf-card-title"],
[class*="ihf-listing-title"] {
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.3;
  letter-spacing: -0.012em;
  color: var(--idx-ink);
}

[class*="ihf-price"] {
  font-weight: 500;
  font-size: 1.25rem;
  letter-spacing: -0.02em;
  color: var(--idx-ink);
}

[class*="ihf-address"],
[class*="ihf-listing-address"] {
  font-size: 0.875rem;
  color: var(--idx-ink-soft);
  line-height: 1.4;
}

/* === Layer 3: colors / branding === */
[class*="ihf-btn-primary"],
[class*="ihf-button-primary"],
button[class*="ihf-"][class*="primary"],
.ihf-container button[type="submit"] {
  background-color: var(--idx-accent) !important;
  border-color: var(--idx-accent) !important;
  color: #fff !important;
  border-radius: var(--idx-radius) !important;
  font-weight: 500;
  transition: background-color 150ms cubic-bezier(0.23, 1, 0.32, 1);
}

[class*="ihf-btn-primary"]:hover,
[class*="ihf-button-primary"]:hover,
.ihf-container button[type="submit"]:hover {
  background-color: var(--idx-accent-hover) !important;
  border-color: var(--idx-accent-hover) !important;
}

[class*="ihf-"] a,
[class*="idx-"] a {
  color: var(--idx-accent-hover);
}

/* NOTE: broad [class*="active"] / [class*="selected"] overrides removed —
   they can restyle widget internals unpredictably (map controls, toggles). */

/* === Layer 4: inputs & filter controls === */
.ihf-container input[type="text"],
.ihf-container input[type="search"],
.ihf-container input[type="email"],
.ihf-container input[type="tel"],
.ihf-container input[type="number"],
.ihf-container select,
.ihf-container textarea {
  border: 1px solid var(--idx-border);
  border-radius: var(--idx-radius);
  color: var(--idx-ink);
  background-color: #fff;
}

.ihf-container input:focus,
.ihf-container select:focus,
.ihf-container textarea:focus {
  outline: 2px solid var(--idx-accent);
  outline-offset: 1px;
  border-color: var(--idx-accent);
}

/* NOTE: blanket radius on all non-primary widget buttons removed — it hit
   map zoom controls and internal toggles. */

/* === Layer 5: cards & results layout === */
[class*="ihf-card"],
[class*="ihf-listing-card"] {
  background-color: var(--idx-bg-card);
  border: 1px solid var(--idx-border-soft);
  border-radius: var(--idx-radius-lg);
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(31, 30, 30, 0.05);
}
/* NOTE: hover transform removed — transforms on widget cards can break its
   own click/hover handling and map popup positioning. */

[class*="ihf-grid"],
[class*="ihf-results-grid"] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 24px;
}

/* Status pills (Active, Pending, Sold) — keep readable, soften shape */
.ihf-container [class*="status"],
.ihf-container [class*="badge"] {
  border-radius: 6px;
  font-weight: 500;
}

/* Mobile: collapse card padding */
@media (max-width: 600px) {
  [class*="ihf-card"],
  [class*="ihf-listing-card"] {
    margin-bottom: 16px;
  }
}

/* === Quick search (homepage hero embed) ===
   Wrapped by .idx-quick-search in index.njk; make the widget's bar fill
   the white card cleanly. */
.idx-quick-search .ihf-container {
  width: 100%;
}
.idx-quick-search input {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  font-size: 1rem;
}
.idx-quick-search input:focus {
  outline: none !important;
}

/* === Page-specific (preserved) === */

/* From listing-detail.njk: suppress iHomeFinder branding / powered-by text */
.ihf-container + p,
.ihf-footer,
div[id*="ihf"] ~ p,
#ihf-main-container ~ p,
.ihf-powered-by {
  display: none !important;
}
