/* ============================================================
   IDX Broker Custom CSS — Tiffany Reyes | SWFL REALTOR®
   Palette: #0a1628 navy · #c9a96e gold · #faf9f7 bg · #e8e2d9 border
   ============================================================ */

/* ── CSS variables ──────────────────────────────────────── */
:root {
  --idx-stroke-gray: #fff;
  --idx-bg: #faf9f7;
  --idx-navy: #0a1628;
  --idx-gold: #c9a96e;
  --idx-border: #e8e2d9;
}

/* ── Global / Page shell ────────────────────────────────── */
body.IDX-page-listings,
body.idx-wrapper-template-default {
  background: #faf9f7 !important;
  color: #0a1628;
  font-family: 'Inter', 'Helvetica Neue', Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}

/* ── Results wrapper ────────────────────────────────────── */
.IDX-wrapper-standard .idx-results,
.idx-results {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px 60px;
}

/* ── Results header / total count ──────────────────────── */
.IDX-wrapper-standard .idx-results__header,
.idx-results__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  padding: 20px 0 16px;
  border-bottom: 1px solid #e8e2d9;
  margin-bottom: 24px;
}

.IDX-wrapper-standard .idx-results-total__heading,
.idx-results-total__heading {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 1.5rem;
  font-weight: 700;
  color: #0a1628;
  margin: 0;
}

/* ── Top action bar ─────────────────────────────────────── */
.IDX-wrapper-standard .IDX-topAction,
.IDX-topAction {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  padding: 0 0 16px;
}

/* ── Buttons ────────────────────────────────────────────── */
.IDX-wrapper-standard .IDX-btn,
.IDX-btn {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  padding: 9px 18px !important;
  border-radius: 6px !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  cursor: pointer;
  border: 1.5px solid #e8e2d9 !important;
  background: #fff !important;
  color: #0a1628 !important;
  text-decoration: none;
  transition: border-color 0.18s, background 0.18s;
  line-height: 1;
}
.IDX-wrapper-standard .IDX-btn:hover,
.IDX-btn:hover {
  border-color: #c9a96e !important;
  background: #fff8ef !important;
  color: #0a1628 !important;
  text-decoration: none;
}
.IDX-wrapper-standard .IDX-btn--rounded,
.IDX-btn--rounded { border-radius: 50px !important; }

.IDX-wrapper-standard .IDX-btn-primary,
.IDX-btn-primary {
  background: #c9a96e !important;
  border-color: #c9a96e !important;
  color: #fff !important;
}
.IDX-wrapper-standard .IDX-btn-primary:hover,
.IDX-btn-primary:hover {
  background: #b8944f !important;
  border-color: #b8944f !important;
  color: #fff !important;
}
.IDX-wrapper-standard .IDX-newSearch .IDX-btn,
.IDX-wrapper-standard .IDX-modifySearch .IDX-btn,
.IDX-newSearch .IDX-btn,
.IDX-modifySearch .IDX-btn {
  background: #0a1628 !important;
  border-color: #0a1628 !important;
  color: #fff !important;
}

/* ── Listing grid ───────────────────────────────────────── */
.IDX-wrapper-standard .idx-results__listings,
.idx-results__listings {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)) !important;
  gap: 24px !important;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* ── Listing card ───────────────────────────────────────── */
.IDX-wrapper-standard .idx-listing-card {
  background: #fff !important;
  border: 1px solid #e8e2d9 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  transition: box-shadow 0.22s, transform 0.22s !important;
  display: flex !important;
  flex-direction: column !important;
}
.IDX-wrapper-standard .idx-listing-card:hover {
  box-shadow: 0 8px 32px rgba(10, 22, 40, 0.13) !important;
  transform: translateY(-3px) !important;
}

/* ── Card image ─────────────────────────────────────────── */
.IDX-wrapper-standard .idx-listing-card__image {
  position: relative !important;
  width: 100% !important;
  aspect-ratio: 4/3;
  overflow: hidden !important;
  background: #e8e2d9 !important;
}
.IDX-wrapper-standard .idx-listing-card__image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform 0.35s !important;
}
.IDX-wrapper-standard .idx-listing-card:hover .idx-listing-card__image img {
  transform: scale(1.04) !important;
}
.IDX-wrapper-standard .idx-listing-card__image-overlay {
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(to top, rgba(10,22,40,0.4) 0%, transparent 55%) !important;
  pointer-events: none !important;
}

/* ── Status badge ───────────────────────────────────────── */
.IDX-wrapper-standard .idx-listing-card__status {
  position: absolute !important;
  top: 12px !important;
  left: 12px !important;
  background: #c9a96e !important;
  color: #fff !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  padding: 4px 10px !important;
  border-radius: 4px !important;
  z-index: 2 !important;
}

/* ── Card content ───────────────────────────────────────── */
.IDX-wrapper-standard .idx-listing-card__content {
  padding: 16px 18px 18px !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
  gap: 8px !important;
  background: #fff !important;
}

/* ── Price ──────────────────────────────────────────────── */
.IDX-wrapper-standard .idx-listing-card__price {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  color: #0a1628 !important;
  line-height: 1.2 !important;
  background: none !important;
}

/* ── Address ────────────────────────────────────────────── */
.IDX-wrapper-standard .idx-listing-card__address {
  font-size: 0.875rem !important;
  color: #374151 !important;
  line-height: 1.4 !important;
}
.IDX-wrapper-standard .idx-listing-card__address--number,
.IDX-wrapper-standard .idx-listing-card__address--street-name {
  font-weight: 600 !important;
  color: #0a1628 !important;
}
.IDX-wrapper-standard .idx-listing-card__address--City,
.IDX-wrapper-standard .idx-listing-card__address--state-abrv,
.IDX-wrapper-standard .idx-listing-card__address--zip {
  color: #6b7280 !important;
  font-size: 0.82rem !important;
}

/* ── Details row ────────────────────────────────────────── */
.IDX-wrapper-standard .idx-listing-card__details {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  font-size: 0.82rem !important;
  color: #374151 !important;
  padding-top: 8px !important;
  border-top: 1px solid #f0ebe3 !important;
  margin-top: 4px !important;
}

/* ── Card actions ───────────────────────────────────────── */
.IDX-wrapper-standard .idx-listing-card__actions {
  display: flex !important;
  gap: 8px !important;
  padding: 10px 18px 14px !important;
  background: #faf9f7 !important;
  border-top: 1px solid #f0ebe3 !important;
}
.IDX-wrapper-standard .idx-listing-card__action {
  flex: 1 !important;
  text-align: center !important;
  padding: 8px !important;
  border-radius: 6px !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  border: 1.5px solid #e8e2d9 !important;
  color: #0a1628 !important;
  background: #fff !important;
  cursor: pointer !important;
  text-decoration: none !important;
  transition: border-color 0.18s, background 0.18s !important;
}
.IDX-wrapper-standard .idx-listing-card__action:hover {
  border-color: #c9a96e !important;
  background: #fff8ef !important;
  text-decoration: none !important;
}

/* ── Card link ──────────────────────────────────────────── */
.IDX-wrapper-standard .idx-listing-card__link {
  color: inherit !important;
  text-decoration: none !important;
}

/* ── Courtesy / MLS ─────────────────────────────────────── */
.IDX-wrapper-standard .idx-listing-card__courtesy {
  font-size: 0.7rem !important;
  color: #9ca3af !important;
  margin-top: 4px !important;
  background: none !important;
}

/* ── Pagination ─────────────────────────────────────────── */
.IDX-wrapper-standard .idx-pagination a,
.IDX-wrapper-standard .idx-pagination span,
.idx-pagination a,
.idx-pagination span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 38px !important;
  height: 38px !important;
  padding: 0 10px !important;
  border-radius: 6px !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  border: 1.5px solid #e8e2d9 !important;
  color: #0a1628 !important;
  text-decoration: none !important;
  background: #fff !important;
  transition: all 0.18s !important;
}
.IDX-wrapper-standard .idx-pagination a:hover,
.idx-pagination a:hover {
  border-color: #c9a96e !important;
  background: #fff8ef !important;
  color: #0a1628 !important;
}
.IDX-wrapper-standard .idx-pagination .IDX-active,
.idx-pagination .IDX-active {
  background: #0a1628 !important;
  border-color: #0a1628 !important;
  color: #fff !important;
}

/* ── Category tabs ──────────────────────────────────────── */
.IDX-wrapper-standard .idx-results__category,
.idx-results__category {
  display: inline-flex !important;
  align-items: center !important;
  padding: 6px 16px !important;
  border-radius: 50px !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  border: 1.5px solid #e8e2d9 !important;
  color: #6b7280 !important;
  cursor: pointer !important;
  text-decoration: none !important;
  transition: all 0.18s !important;
  background: #fff !important;
}
.IDX-wrapper-standard .idx-results__category--active,
.idx-results__category--active {
  border-color: #c9a96e !important;
  background: #c9a96e !important;
  color: #fff !important;
}

/* ── Save/heart button ──────────────────────────────────── */
.IDX-wrapper-standard .IDX-resultsSaveProperty,
.IDX-wrapper-standard .IDX-saveProperty,
.IDX-resultsSaveProperty,
.IDX-saveProperty {
  background: none !important;
  border: none !important;
  cursor: pointer !important;
  color: #c9a96e !important;
}

/* ── Badge ──────────────────────────────────────────────── */
.IDX-wrapper-standard .IDX-badge,
.IDX-badge {
  display: inline-block !important;
  padding: 3px 9px !important;
  border-radius: 4px !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
}
.IDX-wrapper-standard .IDX-badge--success,
.IDX-badge--success {
  background: #d4edda !important;
  color: #155724 !important;
}
.IDX-wrapper-standard .IDX-reduced,
.IDX-reduced {
  background: #c9a96e !important;
  color: #fff !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  padding: 3px 9px !important;
  border-radius: 4px !important;
}

/* ── Forms ──────────────────────────────────────────────── */
.IDX-wrapper-standard .IDX-form-control,
.IDX-wrapper-standard .IDX-input,
.IDX-form-control,
.IDX-input {
  padding: 10px 14px !important;
  border: 1.5px solid #e8e2d9 !important;
  border-radius: 6px !important;
  background: #faf9f7 !important;
  color: #0a1628 !important;
  font-size: 0.875rem !important;
  transition: border-color 0.18s !important;
}
.IDX-wrapper-standard .IDX-form-control:focus,
.IDX-wrapper-standard .IDX-input:focus,
.IDX-form-control:focus,
.IDX-input:focus {
  border-color: #c9a96e !important;
  background: #fff !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(201,169,110,0.15) !important;
}

/* ── Map ────────────────────────────────────────────────── */
.IDX-wrapper-standard .idx-map,
.idx-map {
  border-radius: 10px !important;
  overflow: hidden !important;
  border: 1px solid #e8e2d9 !important;
}

/* ── Alerts ─────────────────────────────────────────────── */
.IDX-wrapper-standard .IDX-alert-info,
.IDX-alert-info {
  background: #eff6ff !important;
  border: 1px solid #bfdbfe !important;
  color: #1e40af !important;
  padding: 12px 16px !important;
  border-radius: 8px !important;
}

/* ── Listing detail page ────────────────────────────────── */
.IDX-wrapper-standard .IDX-title--PL,
.IDX-title--PL {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 2rem !important;
  font-weight: 700 !important;
  color: #0a1628 !important;
  line-height: 1.2 !important;
}
.IDX-wrapper-standard .IDX-btn__PL,
.IDX-btn__PL {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 12px 24px !important;
  border-radius: 8px !important;
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  text-decoration: none !important;
  background: #0a1628 !important;
  border: 1.5px solid #0a1628 !important;
  color: #fff !important;
  transition: all 0.18s !important;
}
.IDX-wrapper-standard .IDX-btn__PL:hover,
.IDX-btn__PL:hover {
  background: #c9a96e !important;
  border-color: #c9a96e !important;
  color: #fff !important;
}
.IDX-wrapper-standard .IDX-btn__PL--inverse,
.IDX-btn__PL--inverse {
  background: #fff !important;
  border-color: #0a1628 !important;
  color: #0a1628 !important;
}

/* ── Misc ───────────────────────────────────────────────── */
.IDX-wrapper-standard .IDX-psudolink,
.IDX-psudolink {
  color: #c9a96e !important;
  cursor: pointer !important;
}
.IDX-wrapper-standard .IDX-formResponse,
.IDX-formResponse {
  background: #f0fdf4 !important;
  border: 1px solid #bbf7d0 !important;
  color: #166534 !important;
  padding: 12px 16px !important;
  border-radius: 8px !important;
}

/* ── Responsive ─────────────────────────────────────────── */
@media (max-width: 768px) {
  .IDX-wrapper-standard .idx-results__listings,
  .idx-results__listings {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .IDX-wrapper-standard .idx-results__listings,
  .idx-results__listings {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
