/**
 * SSP Properties - IDX Broker Custom CSS Overrides
 * 
 * This file styles IDX Broker listing detail pages to match the SSP brand.
 * Loaded by WordPress via wp_enqueue_scripts on all pages (IDX-specific 
 * selectors won't affect non-IDX pages).
 * 
 * Last updated: 2026-01-28
 * IDX Account: Core (no template editor access)
 * Template: IDX Broker Starter
 * 
 * Reference: .claude/IDX-BROKER-KNOWLEDGE.md
 */
body:has(#IDX-main) .nav-item.active,
body:has(#IDX-main) .mobile-nav-item.active,
body:has(.IDX-wrapper-standard) .nav-item.active,
body:has(.IDX-wrapper-standard) .mobile-nav-item.active,
body:has(.IDX-pageContainer) .nav-item.active,
body:has(.IDX-pageContainer) .mobile-nav-item.active,
body:has(#IDX-detailsWrapper) .nav-item.active,
body:has(#IDX-detailsWrapper) .mobile-nav-item.active {
  background-color: transparent !important;
  color: inherit !important;
}

#IDX-primaryPhoto .swiper-container,
#IDX-primaryPhoto .swiper-slide {
  padding-bottom: 0 !important;
  padding-top: 0 !important;
  height: auto !important;
  aspect-ratio: 5/3 !important;
}

#IDX-primaryPhoto,
.swiper-container,
.swiper-wrapper {
  margin: 0 !important;
  padding: 0 !important;
}

#IDX-detailsSlidesActions {
  padding-top: 16px !important;
  background-color: transparent !important;
}
#IDX-detailsSlidesActions .IDX-inline-buttons {
  display: flex !important;
  flex-direction: row !important;
  margin-top: 0 !important;
}

#IDX-main.IDX-category-details .IDX-inline-buttons__lg > * {
  width: auto !important;
}

#IDX-main.IDX-category-details .IDX-panel-body .IDX-row {
  padding-left: 0 !important;
}
#IDX-main.IDX-category-details .IDX-panel-body .IDX-row > div {
  padding-left: 0 !important;
}

.idx-wrapper-template-default .blog-post-title {
  display: none;
}

body.idx-wrapper-template-default {
  padding-top: 90px;
}

.IDX-nav.IDX-inline-buttons {
  display: none !important;
}

#IDX-saveProperty,
.IDX-saveProperty {
  display: none !important;
}

#IDX-printable,
a[href*=printable] {
  display: none !important;
}

#audioStreamPlayer {
  display: none !important;
}

.sharethis-inline-share-buttons {
  display: none !important;
}

#IDX-detailsHeader .IDX-row {
  max-width: 100% !important;
}

#IDX-detailsHeaderActions {
  display: none !important;
}

a[href*=more-information],
a[href*=get-directions],
.IDX-btn__link[href*="google.com/maps"] {
  display: none !important;
}

.IDX-disclaimer,
.IDX-mlsDisclaimer {
  font-size: 11px !important;
  color: #909296 !important;
  opacity: 0.7 !important;
  margin-top: 48px !important;
  border-top: 1px solid #c0bfbf !important;
}

#IDX-contactInformation {
  display: none !important;
}

#IDX-main.IDX-category-details .IDX-details-contact .IDX-contact-form__title {
  text-align: left !important;
  text-transform: none !important;
  font-size: 21px !important;
  margin-bottom: 16px !important;
  padding: 0 !important;
  text-transform: none !important;
  background: none !important;
}

#IDX-detailsPageContainer > div:first-of-type > div[style*="text-align:justify"],
#IDX-main div[style*="padding:10px 0"][style*="text-align:justify"] {
  background: #ffffff !important;
  border: 1px solid rgba(144, 146, 150, 0.2) !important;
  border-radius: 12px !important;
  padding: 24px 32px !important;
  margin: 32px auto !important;
  max-width: 1168px !important;
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: #909296 !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
}
#IDX-detailsPageContainer > div:first-of-type > div[style*="text-align:justify"] img,
#IDX-main div[style*="padding:10px 0"][style*="text-align:justify"] img {
  display: none !important;
}

#IDX-main > div[style*="text-align:center"][style*="padding:15px"],
div[style*="Data services provided"] {
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-size: 14px !important;
  color: #909296 !important;
  padding: 20px 0 !important;
  margin: 0 auto !important;
  max-width: 1168px !important;
}
#IDX-main > div[style*="text-align:center"][style*="padding:15px"] a,
div[style*="Data services provided"] a {
  color: #953a2c !important;
  text-decoration: none !important;
  font-weight: 500 !important;
}
#IDX-main > div[style*="text-align:center"][style*="padding:15px"] a:hover,
div[style*="Data services provided"] a:hover {
  text-decoration: underline !important;
}

#IDX-detailsDescriptionActions .IDX-btn.IDX-btn__link.IDX-clamp__button:after {
  display: none !important;
}
#IDX-detailsDescriptionActions .IDX-tooltip-wrapper {
  display: none !important;
}
#IDX-detailsDescriptionActions #IDX-detailsDescriptionActionsMoreInfo {
  display: none !important;
}

#IDX-detailsWrapper {
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 40px !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 40px !important;
  align-items: flex-start !important;
}
@media (min-width: 769px) and (max-width: 1200px) {
  #IDX-detailsWrapper {
    flex-wrap: wrap !important;
  }
}
@media (max-width: 768px) {
  #IDX-detailsWrapper {
    flex-wrap: wrap !important;
    gap: 24px !important;
    padding: 0 20px !important;
  }
}

#IDX-detailsMain {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
@media (min-width: 769px) and (max-width: 1200px) {
  #IDX-detailsMain {
    flex: 0 0 100% !important;
  }
}
@media (max-width: 768px) {
  #IDX-detailsMain {
    flex: 0 0 100% !important;
    order: -1 !important;
  }
}

.IDX-details-contact,
.IDX-contactAgent {
  flex: 0 0 320px !important;
  margin: 0 !important;
  position: sticky !important;
  background: transparent !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 24px !important;
}
@media (min-width: 769px) and (max-width: 1200px) {
  .IDX-details-contact,
  .IDX-contactAgent {
    flex: 0 0 100% !important;
    position: static !important;
    margin-top: 32px !important;
  }
}
@media (max-width: 768px) {
  .IDX-details-contact,
  .IDX-contactAgent {
    flex: 0 0 100% !important;
    position: static !important;
    margin-top: 24px !important;
    order: 2 !important;
  }
}
.IDX-details-contact > div:first-child,
.IDX-contactAgent > div:first-child {
  background: #ffffff !important;
  border-radius: 12px !important;
  border: 1px solid rgba(144, 146, 150, 0.2) !important;
  padding: 32px !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
}
.IDX-details-contact > form,
.IDX-details-contact > .IDX-leadFormWrap,
.IDX-contactAgent > form,
.IDX-contactAgent > .IDX-leadFormWrap {
  background: #ffffff !important;
  border-radius: 12px !important;
  border: 1px solid rgba(144, 146, 150, 0.2) !important;
  padding: 32px !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
}
.IDX-details-contact h3, .IDX-details-contact h4, .IDX-details-contact .IDX-h3, .IDX-details-contact .IDX-h4,
.IDX-details-contact div[style*=background],
.IDX-contactAgent h3,
.IDX-contactAgent h4,
.IDX-contactAgent .IDX-h3,
.IDX-contactAgent .IDX-h4,
.IDX-contactAgent div[style*=background] {
  background: transparent !important;
  background-color: transparent !important;
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #252422 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  padding: 0 !important;
  margin: 0 0 24px 0 !important;
}
.IDX-details-contact .IDX-agentPhoto,
.IDX-contactAgent .IDX-agentPhoto {
  border-radius: 50% !important;
  width: 80px !important;
  height: 80px !important;
  object-fit: cover !important;
  margin-bottom: 16px !important;
}
.IDX-details-contact .IDX-agentName,
.IDX-contactAgent .IDX-agentName {
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #252422 !important;
  margin-bottom: 4px !important;
}
.IDX-details-contact .IDX-agentTitle,
.IDX-details-contact .IDX-officeName,
.IDX-contactAgent .IDX-agentTitle,
.IDX-contactAgent .IDX-officeName {
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-size: 16px !important;
  color: #909296 !important;
  margin-bottom: 2px !important;
}
.IDX-details-contact .IDX-agentPhone,
.IDX-details-contact .IDX-agentEmail,
.IDX-contactAgent .IDX-agentPhone,
.IDX-contactAgent .IDX-agentEmail {
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-size: 16px !important;
  color: #953a2c !important;
  text-decoration: none !important;
}
.IDX-details-contact .IDX-agentPhone:hover,
.IDX-details-contact .IDX-agentEmail:hover,
.IDX-contactAgent .IDX-agentPhone:hover,
.IDX-contactAgent .IDX-agentEmail:hover {
  text-decoration: underline !important;
}
.IDX-details-contact .IDX-agentAddress,
.IDX-details-contact .IDX-agentCity,
.IDX-details-contact .IDX-agentState,
.IDX-details-contact .IDX-agentZip,
.IDX-details-contact .IDX-agentCountry,
.IDX-details-contact .IDX-officeAddress,
.IDX-details-contact .IDX-officeCity,
.IDX-details-contact .IDX-officeState,
.IDX-details-contact .IDX-officeZip,
.IDX-details-contact .IDX-officeCountry,
.IDX-contactAgent .IDX-agentAddress,
.IDX-contactAgent .IDX-agentCity,
.IDX-contactAgent .IDX-agentState,
.IDX-contactAgent .IDX-agentZip,
.IDX-contactAgent .IDX-agentCountry,
.IDX-contactAgent .IDX-officeAddress,
.IDX-contactAgent .IDX-officeCity,
.IDX-contactAgent .IDX-officeState,
.IDX-contactAgent .IDX-officeZip,
.IDX-contactAgent .IDX-officeCountry {
  display: none !important;
}

.IDX-details-contact .IDX-leadFormWrap,
.IDX-details-contact .IDX-contactForm,
.IDX-contactAgent .IDX-leadFormWrap,
.IDX-contactAgent .IDX-contactForm {
  background: transparent !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
  margin: 0 !important;
}
.IDX-details-contact .IDX-leadFormWrap label,
.IDX-details-contact .IDX-contactForm label,
.IDX-contactAgent .IDX-leadFormWrap label,
.IDX-contactAgent .IDX-contactForm label {
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  color: #252422 !important;
  display: block !important;
  margin-bottom: 6px !important;
}

.IDX-leadFormWrap input[type=text],
.IDX-leadFormWrap input[type=email],
.IDX-leadFormWrap input[type=tel],
.IDX-leadFormWrap textarea,
.IDX-contactForm input[type=text],
.IDX-contactForm input[type=email],
.IDX-contactForm input[type=tel],
.IDX-contactForm textarea,
.IDX-details-contact form input[type=text],
.IDX-details-contact form input[type=email],
.IDX-details-contact form input[type=tel],
.IDX-details-contact form textarea {
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-size: 16px !important;
  padding: 12px 16px !important;
  border: 1px solid #c0bfbf !important;
  border-radius: 8px !important;
  transition: border-color 0.2s ease !important;
  width: 100% !important;
  box-sizing: border-box !important;
  margin-bottom: 16px !important;
  background: #fffcf2 !important;
}
.IDX-leadFormWrap input[type=text]:focus,
.IDX-leadFormWrap input[type=email]:focus,
.IDX-leadFormWrap input[type=tel]:focus,
.IDX-leadFormWrap textarea:focus,
.IDX-contactForm input[type=text]:focus,
.IDX-contactForm input[type=email]:focus,
.IDX-contactForm input[type=tel]:focus,
.IDX-contactForm textarea:focus,
.IDX-details-contact form input[type=text]:focus,
.IDX-details-contact form input[type=email]:focus,
.IDX-details-contact form input[type=tel]:focus,
.IDX-details-contact form textarea:focus {
  border-color: #953a2c !important;
  outline: none !important;
  background: #ffffff !important;
}
.IDX-leadFormWrap input[type=text]::placeholder,
.IDX-leadFormWrap input[type=email]::placeholder,
.IDX-leadFormWrap input[type=tel]::placeholder,
.IDX-leadFormWrap textarea::placeholder,
.IDX-contactForm input[type=text]::placeholder,
.IDX-contactForm input[type=email]::placeholder,
.IDX-contactForm input[type=tel]::placeholder,
.IDX-contactForm textarea::placeholder,
.IDX-details-contact form input[type=text]::placeholder,
.IDX-details-contact form input[type=email]::placeholder,
.IDX-details-contact form input[type=tel]::placeholder,
.IDX-details-contact form textarea::placeholder {
  color: #909296 !important;
}
.IDX-leadFormWrap textarea,
.IDX-contactForm textarea,
.IDX-details-contact form textarea {
  min-height: 100px !important;
  resize: vertical !important;
}
.IDX-leadFormWrap button[type=submit],
.IDX-leadFormWrap input[type=submit],
.IDX-contactForm button[type=submit],
.IDX-contactForm input[type=submit],
.IDX-details-contact form button[type=submit],
.IDX-details-contact form input[type=submit] {
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  background-color: #953a2c !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 14px 32px !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  width: 100% !important;
  margin-top: 8px !important;
}
.IDX-leadFormWrap button[type=submit]:hover,
.IDX-leadFormWrap input[type=submit]:hover,
.IDX-contactForm button[type=submit]:hover,
.IDX-contactForm input[type=submit]:hover,
.IDX-details-contact form button[type=submit]:hover,
.IDX-details-contact form input[type=submit]:hover {
  background-color: rgb(117.5015544041, 45.7388601036, 34.6984455959) !important;
}

#IDX-main.IDX-category-details .IDX-details-contact [data-role=fieldcontain],
#IDX-main.IDX-category-details .IDX-details-contact #IDX-agentOwner-group,
#IDX-main.IDX-category-details .IDX-details-contact .IDX-showingDates > * {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.IDX-pageContainer,
#IDX-detailsPageContainer {
  max-width: 100% !important;
  padding: 0 !important;
}

.IDX-row {
  max-width: 1168px !important;
  margin: 0 auto !important;
  padding: 0 40px !important;
}

.IDX-wrapper-standard,
.IDX-page-listing,
.IDX-notLoggedIn,
#IDX-detailsWrapper,
#IDX-detailsPageContainer,
#IDX-detailsMain,
.IDX-pageContainer {
  background-color: #fffcf2 !important;
}

.blog-post,
.blog-post-content-wrapper,
.blog-post-content {
  background-color: #fffcf2 !important;
}

.IDX-inline-buttons,
.IDX-inline-buttons__lg,
#IDX-primaryPhoto,
.IDX-text-center {
  background-color: transparent !important;
}

.IDX-wrapper-standard,
.IDX-page-listing,
#IDX-detailsWrapper,
#IDX-detailsPageContainer {
  font-family: "Plus Jakarta Sans", sans-serif !important;
}

.IDX-h2 {
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-size: 48px !important;
  font-weight: 700 !important;
  color: #252422 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.5px !important;
  margin-bottom: 8px !important;
}

.IDX-detailsAddress__divider {
  color: #909296 !important;
  margin: 0 8px !important;
}

#IDX-detailsAddress {
  margin-bottom: 0 !important;
  width: 100% !important;
}
#IDX-detailsAddress .IDX-detailsAddressStreet {
  font-family: "Plus Jakarta Sans", sans-serif !important;
}
#IDX-detailsAddress .IDX-detailsAddressCity {
  font-family: "Plus Jakarta Sans", sans-serif !important;
}
#IDX-detailsAddress .IDX-detailsAddressState {
  font-family: "Plus Jakarta Sans", sans-serif !important;
}
#IDX-detailsAddress .IDX-detailsAddressZip {
  font-family: "Plus Jakarta Sans", sans-serif !important;
}

.IDX-field-price,
.IDX-field-listingPrice {
  font-family: "Cormorant Garamond", serif !important;
  font-size: 32px !important;
  font-weight: 700 !important;
  color: #252422 !important;
}

.swiper-container {
  border-radius: 0 !important;
  overflow: hidden !important;
}

.swiper-slide img {
  width: 100% !important;
  max-height: 600px !important;
  object-fit: cover !important;
}

.swiper-button-prev,
.swiper-button-next {
  background: #252422 !important;
  width: 60px !important;
  height: 60px !important;
  border-radius: 50% !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
  transition: all 0.3s ease !important;
}
.swiper-button-prev:hover,
.swiper-button-next:hover {
  background: #953a2c !important;
  transform: scale(1.05) !important;
}
.swiper-button-prev::after,
.swiper-button-next::after {
  color: #252422 !important;
  font-size: 20px !important;
}

.swiper-pagination.swiper-text-block {
  display: none !important;
}

.IDX-btn__PL {
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  border-radius: 8px !important;
  padding: 14px 28px !important;
  transition: all 0.3s ease !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
}
.IDX-btn__PL.IDX-btn__lg {
  background: none !important;
  color: #953a2c !important;
  border: 1px solid #953a2c !important;
}
.IDX-btn__PL.IDX-btn__lg:hover {
  background-color: #953a2c !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
  filter: none !important;
}

.IDX-inline-buttons__lg {
  display: flex !important;
  gap: 16px !important;
  justify-content: flex-start !important;
  margin: 24px 0 32px !important;
  flex-wrap: wrap !important;
}

.IDX-panel.IDX-panel-default {
  background: #ffffff !important;
  border: 1px solid rgba(144, 146, 150, 0.2) !important;
  border-radius: 12px !important;
  margin-bottom: 24px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
  overflow: hidden !important;
}

.IDX-panel-heading {
  background: #ffffff !important;
  border-bottom: 1px solid rgba(144, 146, 150, 0.1) !important;
  padding: 28px 32px !important;
  cursor: pointer !important;
  transition: background-color 0.2s ease !important;
  background-color: #f5f5f5 !important;
}
.IDX-panel-heading:hover {
  background: rgba(192, 191, 191, 0.5) !important;
}

.IDX-panel-title {
  font-family: "Cormorant Garamond", serif !important;
  font-size: 28px !important;
  font-weight: 600 !important;
  color: #252422 !important;
  letter-spacing: -0.3px !important;
}
.IDX-panel-title a {
  color: #252422 !important;
  text-decoration: none !important;
}

.IDX-panel-body {
  padding: 0 32px 32px !important;
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
  color: #252422 !important;
}

.IDX-panel-heading i,
.IDX-panel-heading svg,
.IDX-panel-heading .fa,
.IDX-panel-heading .fas,
.IDX-panel-heading .far,
.IDX-panel-heading .fal,
.IDX-panel-heading .fab,
.IDX-panel-heading [class*=icon],
.IDX-panel-heading [class*=chevron],
.IDX-panel-heading [class*=arrow],
.IDX-panel-heading [class*=caret],
.IDX-panel-title i,
.IDX-panel-title svg,
.IDX-panel-title .fa,
.IDX-panel-title .fas,
.IDX-panel-title .far,
.IDX-panel-title .fal,
.IDX-panel-title .fab,
.IDX-panel-title [class*=icon],
.IDX-panel-title [class*=chevron],
.IDX-panel-title [class*=arrow],
.IDX-panel-title [class*=caret],
.IDX-panel-collapse-toggle i,
.IDX-panel-collapse-toggle svg,
.IDX-panel-collapse-toggle .fa,
.IDX-panel-collapse-toggle .fas,
.IDX-panel-collapse-toggle .far,
.IDX-panel-collapse-toggle .fal,
.IDX-panel-collapse-toggle .fab,
.IDX-panel-collapse-toggle [class*=icon],
.IDX-panel-collapse-toggle [class*=chevron],
.IDX-panel-collapse-toggle [class*=arrow],
.IDX-panel-collapse-toggle [class*=caret],
.IDX-panel i,
.IDX-panel svg,
.IDX-panel .fa,
.IDX-panel .fas,
.IDX-panel .far,
.IDX-panel .fal,
.IDX-panel .fab,
.IDX-panel [class*=icon],
.IDX-panel [class*=chevron],
.IDX-panel [class*=arrow],
.IDX-panel [class*=caret] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
  left: -9999px !important;
}
.IDX-panel-heading i::before, .IDX-panel-heading i::after,
.IDX-panel-heading svg::before,
.IDX-panel-heading svg::after,
.IDX-panel-heading .fa::before,
.IDX-panel-heading .fa::after,
.IDX-panel-heading .fas::before,
.IDX-panel-heading .fas::after,
.IDX-panel-heading .far::before,
.IDX-panel-heading .far::after,
.IDX-panel-heading .fal::before,
.IDX-panel-heading .fal::after,
.IDX-panel-heading .fab::before,
.IDX-panel-heading .fab::after,
.IDX-panel-heading [class*=icon]::before,
.IDX-panel-heading [class*=icon]::after,
.IDX-panel-heading [class*=chevron]::before,
.IDX-panel-heading [class*=chevron]::after,
.IDX-panel-heading [class*=arrow]::before,
.IDX-panel-heading [class*=arrow]::after,
.IDX-panel-heading [class*=caret]::before,
.IDX-panel-heading [class*=caret]::after,
.IDX-panel-title i::before,
.IDX-panel-title i::after,
.IDX-panel-title svg::before,
.IDX-panel-title svg::after,
.IDX-panel-title .fa::before,
.IDX-panel-title .fa::after,
.IDX-panel-title .fas::before,
.IDX-panel-title .fas::after,
.IDX-panel-title .far::before,
.IDX-panel-title .far::after,
.IDX-panel-title .fal::before,
.IDX-panel-title .fal::after,
.IDX-panel-title .fab::before,
.IDX-panel-title .fab::after,
.IDX-panel-title [class*=icon]::before,
.IDX-panel-title [class*=icon]::after,
.IDX-panel-title [class*=chevron]::before,
.IDX-panel-title [class*=chevron]::after,
.IDX-panel-title [class*=arrow]::before,
.IDX-panel-title [class*=arrow]::after,
.IDX-panel-title [class*=caret]::before,
.IDX-panel-title [class*=caret]::after,
.IDX-panel-collapse-toggle i::before,
.IDX-panel-collapse-toggle i::after,
.IDX-panel-collapse-toggle svg::before,
.IDX-panel-collapse-toggle svg::after,
.IDX-panel-collapse-toggle .fa::before,
.IDX-panel-collapse-toggle .fa::after,
.IDX-panel-collapse-toggle .fas::before,
.IDX-panel-collapse-toggle .fas::after,
.IDX-panel-collapse-toggle .far::before,
.IDX-panel-collapse-toggle .far::after,
.IDX-panel-collapse-toggle .fal::before,
.IDX-panel-collapse-toggle .fal::after,
.IDX-panel-collapse-toggle .fab::before,
.IDX-panel-collapse-toggle .fab::after,
.IDX-panel-collapse-toggle [class*=icon]::before,
.IDX-panel-collapse-toggle [class*=icon]::after,
.IDX-panel-collapse-toggle [class*=chevron]::before,
.IDX-panel-collapse-toggle [class*=chevron]::after,
.IDX-panel-collapse-toggle [class*=arrow]::before,
.IDX-panel-collapse-toggle [class*=arrow]::after,
.IDX-panel-collapse-toggle [class*=caret]::before,
.IDX-panel-collapse-toggle [class*=caret]::after,
.IDX-panel i::before,
.IDX-panel i::after,
.IDX-panel svg::before,
.IDX-panel svg::after,
.IDX-panel .fa::before,
.IDX-panel .fa::after,
.IDX-panel .fas::before,
.IDX-panel .fas::after,
.IDX-panel .far::before,
.IDX-panel .far::after,
.IDX-panel .fal::before,
.IDX-panel .fal::after,
.IDX-panel .fab::before,
.IDX-panel .fab::after,
.IDX-panel [class*=icon]::before,
.IDX-panel [class*=icon]::after,
.IDX-panel [class*=chevron]::before,
.IDX-panel [class*=chevron]::after,
.IDX-panel [class*=arrow]::before,
.IDX-panel [class*=arrow]::after,
.IDX-panel [class*=caret]::before,
.IDX-panel [class*=caret]::after {
  content: none !important;
  display: none !important;
}

.IDX-panel-title a,
.IDX-panel-title a.IDX-panel-collapse-toggle {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}
.IDX-panel-title a::after,
.IDX-panel-title a.IDX-panel-collapse-toggle::after {
  content: "" !important;
  flex-shrink: 0 !important;
  width: 10px !important;
  height: 10px !important;
  margin-left: 16px !important;
  border-right: 2px solid #953a2c !important;
  border-bottom: 2px solid #953a2c !important;
  transition: transform 0.3s ease !important;
  transform: rotate(45deg) !important;
}

.IDX-panel:has(.IDX-in) .IDX-panel-title a::after,
.IDX-panel:has(.IDX-collapse.IDX-in) .IDX-panel-title a::after {
  transform: rotate(-135deg) !important;
}

.IDX-panel:not(:has(.IDX-in)) .IDX-panel-title a::after {
  transform: rotate(45deg) !important;
}

.IDX-label {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #953a2c !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  margin-bottom: 4px !important;
  display: inline-block !important;
}

.IDX-field {
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-size: 16px !important;
  color: #252422 !important;
  margin-bottom: 16px !important;
  line-height: 1.5 !important;
}

.IDX-panel-body .IDX-field {
  padding-bottom: 12px !important;
  border-bottom: 1px solid rgba(144, 146, 150, 0.1) !important;
}
.IDX-panel-body .IDX-field:last-child {
  border-bottom: none !important;
  padding-bottom: 0 !important;
}

.IDX-clamp__target {
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
  color: #252422 !important;
}

.IDX-clamp__button,
.IDX-btn__link {
  font-family: "Cormorant Garamond", serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  font-style: italic !important;
  color: #953a2c !important;
  text-decoration: underline !important;
  background: none !important;
  border: none !important;
  padding: 0 !important;
  margin-top: 12px !important;
  cursor: pointer !important;
  transition: opacity 0.2s ease !important;
}
.IDX-clamp__button:hover,
.IDX-btn__link:hover {
  opacity: 0.8 !important;
}

#IDX-similar-listings-title {
  display: none !important;
}

.IDX-similar-listings {
  display: none !important;
}
.IDX-similar-listings h2,
.IDX-similar-listings .IDX-h2 {
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-size: 40px !important;
  font-weight: 600 !important;
  color: #252422 !important;
  text-align: center !important;
  margin-bottom: 40px !important;
}
.IDX-similar-listings .IDX-row {
  display: flex !important;
  gap: 24px !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
}

.IDX-similar-listings--item {
  background: #ffffff !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
  max-width: 400px !important;
  flex: 1 !important;
  min-width: 280px !important;
}
.IDX-similar-listings--item:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12) !important;
}
.IDX-similar-listings--item img {
  width: 100% !important;
  height: 200px !important;
  object-fit: cover !important;
}
.IDX-similar-listings--item a {
  text-decoration: none !important;
}

.IDX-similar-listings--price {
  font-family: "Cormorant Garamond", serif !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  color: #252422 !important;
  margin-top: 16px !important;
  padding: 0 16px !important;
}

.IDX-similar-listings--address {
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-size: 14px !important;
  color: #252422 !important;
  padding: 8px 16px 16px !important;
  line-height: 1.4 !important;
}

.IDX-map-container,
#IDX-detailsMap {
  border-radius: 12px !important;
  overflow: hidden !important;
  border: 1px solid rgba(144, 146, 150, 0.2) !important;
}

@media (max-width: 1200px) {
  #IDX-detailsWrapper,
  .IDX-row {
    padding: 0 32px !important;
  }
  .IDX-h2 {
    font-size: 40px !important;
  }
  .IDX-panel-title {
    font-size: 24px !important;
  }
  .IDX-similar-listings h2,
  .IDX-similar-listings .IDX-h2 {
    font-size: 36px !important;
  }
}
@media (max-width: 768px) {
  #IDX-detailsWrapper,
  .IDX-row {
    padding: 0 20px !important;
  }
  .IDX-h2 {
    font-size: 32px !important;
  }
  .IDX-panel-title {
    font-size: 22px !important;
  }
  .IDX-panel-heading {
    padding: 20px !important;
  }
  .IDX-panel-body {
    padding: 0 20px 20px !important;
  }
  .swiper-slide img {
    max-height: 350px !important;
  }
  .swiper-button-prev,
  .swiper-button-next {
    width: 44px !important;
    height: 44px !important;
  }
  .IDX-btn__PL {
    font-size: 16px !important;
    padding: 12px 20px !important;
  }
  .IDX-inline-buttons__lg {
    flex-direction: column !important;
    gap: 12px !important;
    background: transparent !important;
  }
  .IDX-inline-buttons__lg .IDX-btn__PL {
    width: 100% !important;
    text-align: center !important;
  }
  #IDX-detailsContactLinks {
    display: none !important;
  }
  .IDX-similar-listings {
    padding: 48px 0 !important;
  }
  .IDX-similar-listings h2,
  .IDX-similar-listings .IDX-h2 {
    font-size: 28px !important;
    margin-bottom: 24px !important;
  }
  .IDX-similar-listings--item {
    max-width: 100% !important;
  }
}
.impress-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 40px !important;
  justify-content: center !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
.impress-row .columns {
  padding-left: 0 !important;
  padding-right: 0 !important;
  float: none !important;
}

.impress-showcase-widget {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 24px !important;
  justify-content: center !important;
}

.impress-showcase-property {
  background-color: #ffffff !important;
  border: 1.875px solid #f0effb !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
  text-decoration: none !important;
  color: inherit !important;
  width: calc(50% - 20px) !important;
  max-width: 500px !important;
  flex: 0 0 calc(50% - 20px) !important;
}
.impress-showcase-property.columns {
  padding: 0 !important;
  float: none !important;
}
@media (max-width: 768px) {
  .impress-showcase-property {
    width: 100% !important;
    max-width: none !important;
    flex: 0 0 100% !important;
  }
}
.impress-showcase-property:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
}
.impress-showcase-property a {
  text-decoration: none !important;
  color: inherit !important;
  display: block !important;
}
.impress-showcase-property a img,
.impress-showcase-property > a:first-child img,
.impress-showcase-property img {
  margin: 0 !important;
  padding: 0 !important;
}
.impress-showcase-property > a:first-child,
.impress-showcase-property > a:first-of-type {
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 0 !important;
}
.impress-showcase-property span.impress-price,
.impress-showcase-property .impress-price {
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-size: 24px !important;
  font-weight: 800 !important;
  color: #252422 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.5px !important;
  display: block !important;
  padding: 16px 20px 0 !important;
  margin: 0 !important;
}
.impress-showcase-property .impress-address {
  font-family: "Plus Jakarta Sans", sans-serif !important;
  padding: 4px 20px 0 !important;
  margin: 0 !important;
}
.impress-showcase-property span.impress-street {
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #252422 !important;
  line-height: 1.3 !important;
  display: block !important;
  margin: 0 !important;
}
.impress-showcase-property span.impress-street::after {
  content: none !important;
}
.impress-showcase-property span.impress-city,
.impress-showcase-property span.impress-state,
.impress-showcase-property span.impress-zip {
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #252422 !important;
  opacity: 0.6 !important;
  line-height: 1.3 !important;
}
.impress-showcase-property p.impress-beds-baths-sqft,
.impress-showcase-property .impress-beds-baths-sqft {
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #252422 !important;
  opacity: 0.7 !important;
  padding: 8px 20px 16px !important;
  margin: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
}
.impress-showcase-property p.impress-beds-baths-sqft span,
.impress-showcase-property .impress-beds-baths-sqft span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
}
.impress-showcase-property span.impress-status {
  display: none !important;
}

.featured-properties-section .idx-widget-container {
  width: 100% !important;
}
.featured-properties-section .impress-row {
  max-width: 100% !important;
  width: 100% !important;
}
.featured-properties-section .impress-showcase-widget {
  width: 100% !important;
}
.featured-properties-section .shortcode {
  width: 100% !important;
}

@media print {
  .swiper-button-prev,
  .swiper-button-next,
  .IDX-btn__PL,
  .IDX-similar-listings {
    display: none !important;
  }
}
