/* ==========================================================
   IDX BROKER OVERRIDES — Luxoria Brand
   Targets IDX-injected DOM elements to match site design.
   Applied on any page that embeds an IDX widget.
   ========================================================== */

/* ── Global reset for IDX containers ── */
#idxStart,
.IDX-showcaseContainer,
.IDX-carouselWrapper,
.IDX-primeMapSearchWrapper,
.IDX-mapSearchWrapper,
.idx-prime-map-search,
.idx-property-card {
  font-family: 'Josefin Sans', sans-serif !important;
}

/* ── Map search property cards (real class names from DOM) ── */
.idx-property-card__listing-price {
  font-family: 'Cinzel', serif !important;
  color: #1B5B5A !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
}

.idx-property-card__address {
  font-family: 'Josefin Sans', sans-serif !important;
  font-size: 0.78rem !important;
  color: #000000 !important;
  font-weight: 500 !important;
}

.idx-property-card__listing-status {
  font-size: 0.6rem !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  color: #1B5B5A !important;
}

.idx-property-card__sqft {
  font-size: 0.68rem !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #666666 !important;
}

.idx-property-card__wrap {
  border-radius: 0 !important;
}

/* Map price pins — match brass */
.price-pin-icon {
  background: #C5A368 !important;
  border-radius: 4px !important;
  font-family: 'Josefin Sans', sans-serif !important;
  font-size: 0.65rem !important;
  font-weight: 700 !important;
}

/* ── Hide IDX branding/attribution ── */
.IDX-poweredByIDXBroker,
.IDX-brokerInfo,
.IDX-disclaimerText a[href*="idxbroker"] {
  display: none !important;
}

/* ── Disclaimer text ── */
.IDX-disclaimerText {
  font-size: 0.6rem !important;
  letter-spacing: 0.08em !important;
  color: #999999 !important;
  font-family: 'Josefin Sans', sans-serif !important;
}

/* ──────────────────────────────────────
   LISTING CARDS (Showcase + Carousel)
   ────────────────────────────────────── */

.IDX-showcaseCell,
.IDX-carouselSlide {
  border-radius: 0 !important;
  border: 1px solid rgba(0, 0, 0, 0.06) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
  overflow: hidden !important;
  background: #ffffff !important;
  transition: box-shadow 0.3s ease, transform 0.3s ease !important;
}

.IDX-showcaseCell:hover {
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.1) !important;
  transform: translateY(-3px) !important;
}

/* Photo container */
.IDX-showcasePhoto,
.IDX-carouselPhoto,
.IDX-showcaseCellPhoto {
  border-radius: 0 !important;
  overflow: hidden !important;
}

.IDX-showcasePhoto img,
.IDX-carouselPhoto img,
.IDX-showcaseCellPhoto img {
  transition: transform 0.6s ease !important;
}

.IDX-showcaseCell:hover .IDX-showcasePhoto img,
.IDX-showcaseCell:hover .IDX-carouselPhoto img {
  transform: scale(1.04) !important;
}

/* Price */
.IDX-showcaseCellPrice,
.IDX-carouselPrice,
.IDX-listingPrice,
.IDX-price {
  font-family: 'Cinzel', serif !important;
  color: #1B5B5A !important;
  font-size: 1.15rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.03em !important;
}

/* Address */
.IDX-showcaseCellAddress,
.IDX-carouselAddress,
.IDX-listingAddress,
.IDX-address {
  font-family: 'Josefin Sans', sans-serif !important;
  color: #000000 !important;
  font-weight: 500 !important;
  font-size: 0.9rem !important;
}

/* Beds / Baths / SqFt */
.IDX-showcaseCellBedsBaths,
.IDX-carouselBedsBaths,
.IDX-listingDetails,
.IDX-bedsBaths {
  font-family: 'Josefin Sans', sans-serif !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #666666 !important;
  font-weight: 500 !important;
}

/* Cell content padding */
.IDX-showcaseCellContent,
.IDX-carouselCaption {
  padding: 1.25rem !important;
  background: #ffffff !important;
}

/* Status badge */
.IDX-showcaseCellStatus,
.IDX-listingStatus {
  font-family: 'Josefin Sans', sans-serif !important;
  font-size: 0.6rem !important;
  letter-spacing: 0.25em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  border-radius: 0 !important;
}

/* ──────────────────────────────────────
   BUTTONS
   ────────────────────────────────────── */

.IDX-primaryButton,
.IDX-btn,
.IDX-button,
button.IDX-btn,
a.IDX-primaryButton,
.IDX-showcaseViewAllButton {
  background: #C5A368 !important;
  color: #ffffff !important;
  border: 1px solid #C5A368 !important;
  border-radius: 0 !important;
  font-family: 'Josefin Sans', sans-serif !important;
  font-size: 0.65rem !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  padding: 0.8rem 1.75rem !important;
  transition: background 0.25s ease, border-color 0.25s ease !important;
  box-shadow: none !important;
}

.IDX-primaryButton:hover,
.IDX-btn:hover,
.IDX-button:hover,
a.IDX-primaryButton:hover,
.IDX-showcaseViewAllButton:hover {
  background: #A3844A !important;
  border-color: #A3844A !important;
  color: #ffffff !important;
}

/* Secondary / ghost buttons */
.IDX-secondaryButton,
.IDX-outlineButton {
  background: transparent !important;
  color: #1B5B5A !important;
  border: 1px solid #1B5B5A !important;
  border-radius: 0 !important;
  font-family: 'Josefin Sans', sans-serif !important;
  font-size: 0.65rem !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
}

.IDX-secondaryButton:hover,
.IDX-outlineButton:hover {
  background: #1B5B5A !important;
  color: #ffffff !important;
}

/* ──────────────────────────────────────
   FORM INPUTS
   ────────────────────────────────────── */

.IDX-input,
input.IDX-input,
select.IDX-select,
.IDX-formControl,
.IDX-searchInput {
  border-radius: 0 !important;
  border: 1px solid rgba(0, 0, 0, 0.15) !important;
  font-family: 'Josefin Sans', sans-serif !important;
  font-size: 0.78rem !important;
  color: #000000 !important;
  background: #ffffff !important;
  padding: 0.65rem 0.9rem !important;
  outline: none !important;
  transition: border-color 0.2s ease !important;
}

.IDX-input:focus,
input.IDX-input:focus,
select.IDX-select:focus {
  border-color: #C5A368 !important;
  box-shadow: 0 0 0 2px rgba(197, 163, 104, 0.12) !important;
}

/* Labels */
.IDX-label,
label.IDX-label {
  font-family: 'Josefin Sans', sans-serif !important;
  font-size: 0.65rem !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  color: #000000 !important;
}

/* ──────────────────────────────────────
   CAROUSEL SPECIFIC
   ────────────────────────────────────── */

.IDX-carouselWrapper,
.IDX-carouselContainer {
  background: transparent !important;
  max-width: 100% !important;
  width: 100% !important;
}

/* Bigger cards — IDX defaults to small 3-up. Push to 2-up or larger. */
.IDX-carouselSlide,
.IDX-carouselCell,
.IDX-carouselItem {
  min-width: 380px !important;
  max-width: 420px !important;
}

.IDX-carouselSlide img,
.IDX-carouselCell img,
.IDX-carouselItem img {
  width: 100% !important;
  height: 260px !important;
  object-fit: cover !important;
}

/* Caption area inside dark section — force white bg */
.IDX-carouselCaption,
.IDX-carouselContent {
  background: #ffffff !important;
  padding: 1.25rem 1.25rem 1.5rem !important;
}

/* Nav arrows */
.IDX-carouselNav button,
.IDX-carouselArrow,
.IDX-carouselPrev,
.IDX-carouselNext,
.slick-prev,
.slick-next {
  background: rgba(197, 163, 104, 0.9) !important;
  border: none !important;
  border-radius: 0 !important;
  color: #ffffff !important;
  width: 44px !important;
  height: 44px !important;
  transition: background 0.2s ease !important;
}

.IDX-carouselNav button:hover,
.IDX-carouselArrow:hover,
.slick-prev:hover,
.slick-next:hover {
  background: #C5A368 !important;
}

/* Dots */
.IDX-carouselDots button,
.IDX-carouselDot,
.slick-dots li button {
  background: rgba(197, 163, 104, 0.35) !important;
  border-radius: 50% !important;
  border: none !important;
}

.IDX-carouselDots button.active,
.IDX-carouselDot.active,
.slick-dots li.slick-active button {
  background: #C5A368 !important;
}

/* "View All" link above carousel */
.IDX-showcaseViewAllLink,
.IDX-carouselViewAll {
  font-family: 'Josefin Sans', sans-serif !important;
  font-size: 0.65rem !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  color: #C5A368 !important;
  text-decoration: none !important;
}

/* ──────────────────────────────────────
   MAP SEARCH SPECIFIC
   ────────────────────────────────────── */

.IDX-primeMapSearchWrapper,
.IDX-mapSearchWrapper {
  border-radius: 0 !important;
}

.IDX-mapSearchFormWrapper,
.IDX-searchPanel {
  background: #ffffff !important;
  border-right: 1px solid rgba(0, 0, 0, 0.08) !important;
  border-radius: 0 !important;
}

.IDX-mapSearchResultsWrapper .IDX-showcaseCell {
  border-radius: 0 !important;
}

/* Map info window */
.IDX-mapInfoWindow,
.IDX-infoWindow {
  font-family: 'Josefin Sans', sans-serif !important;
  border-radius: 0 !important;
  border: 1px solid rgba(0, 0, 0, 0.1) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12) !important;
}

.IDX-infoWindowPrice {
  font-family: 'Cinzel', serif !important;
  color: #1B5B5A !important;
}

/* ──────────────────────────────────────
   PAGINATION
   ────────────────────────────────────── */

.IDX-pagination,
.IDX-paginationWrapper {
  font-family: 'Josefin Sans', sans-serif !important;
}

.IDX-pagination a,
.IDX-pageLink {
  border-radius: 0 !important;
  border: 1px solid rgba(0, 0, 0, 0.12) !important;
  color: #000000 !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.1em !important;
  transition: all 0.2s ease !important;
}

.IDX-pagination a:hover,
.IDX-pageLink:hover {
  border-color: #C5A368 !important;
  color: #C5A368 !important;
}

.IDX-pagination .active a,
.IDX-pageLink.active {
  background: #C5A368 !important;
  border-color: #C5A368 !important;
  color: #ffffff !important;
}

/* ──────────────────────────────────────
   HEADINGS INSIDE IDX
   ────────────────────────────────────── */

#idxStart h1,
#idxStart h2,
#idxStart h3,
.IDX-showcaseContainer h1,
.IDX-showcaseContainer h2,
.IDX-showcaseContainer h3 {
  font-family: 'Cinzel', serif !important;
  color: #000000 !important;
}

/* ──────────────────────────────────────
   LOADING STATE
   ────────────────────────────────────── */

.IDX-loadingSpinner,
.IDX-spinner {
  border-top-color: #C5A368 !important;
  border-left-color: #C5A368 !important;
}
