/* ============================================================
   Findar V46115 — SAFE Redfin PDP Polish on top of V46112
   Scope: existing V46112 single-propriete.php only.
   No routing, no DB, no plugin, no PHP template rewrite.
   ============================================================ */

body.findar-mobile-premium-single {
  --frp15-ink: #071329;
  --frp15-muted: #5f6b7a;
  --frp15-line: #dce4ef;
  --frp15-soft: #f6f8fb;
  --frp15-card: #ffffff;
  --frp15-blue: #1447ff;
  --frp15-green: #07964b;
  --frp15-radius: 20px;
  --frp15-shadow: 0 18px 45px rgba(7, 19, 41, .08);
  background: #fff;
}

/* Stop old layout from creating large dead zones under header */
body.findar-mobile-premium-single .fmp-single-page.fmp-single-trulia-v3 {
  padding-top: 22px !important;
  margin-top: 0 !important;
  background: #fff !important;
}

body.findar-mobile-premium-single .fmp-trulia-wrap {
  width: min(100% - 32px, 1480px) !important;
  max-width: 1480px !important;
  margin: 0 auto !important;
}

body.findar-mobile-premium-single .fmp-trulia-breadcrumb {
  margin: 0 0 14px !important;
  font-size: 13px !important;
  color: var(--frp15-muted) !important;
}

/* Gallery: Redfin-like, wide and clean */
body.findar-mobile-premium-single .fmp-trulia-gallery {
  display: grid !important;
  grid-template-columns: minmax(0, 1.55fr) minmax(320px, .95fr) !important;
  gap: 10px !important;
  min-height: 430px !important;
  height: clamp(430px, 47vw, 620px) !important;
  overflow: hidden !important;
  border-radius: 0 !important;
  background: #eef3f8 !important;
  box-shadow: none !important;
  margin-bottom: 28px !important;
}

body.findar-mobile-premium-single .fmp-trulia-gallery-main,
body.findar-mobile-premium-single .fmp-trulia-gallery-tile {
  position: relative !important;
  display: block !important;
  overflow: hidden !important;
  background: #edf2f7 !important;
  border: 0 !important;
  border-radius: 0 !important;
  min-height: 100% !important;
}

body.findar-mobile-premium-single .fmp-trulia-gallery-main img,
body.findar-mobile-premium-single .fmp-trulia-gallery-tile img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform .25s ease !important;
}

body.findar-mobile-premium-single .fmp-trulia-gallery-main:hover img,
body.findar-mobile-premium-single .fmp-trulia-gallery-tile:hover img {
  transform: scale(1.015) !important;
}

body.findar-mobile-premium-single .fmp-trulia-gallery-side {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  min-height: 0 !important;
}

body.findar-mobile-premium-single .fmp-gallery-status,
body.findar-mobile-premium-single .fmp-trulia-photo-count,
body.findar-mobile-premium-single .fmp-trulia-gallery-actions button {
  border-radius: 999px !important;
  box-shadow: 0 8px 22px rgba(7, 19, 41, .18) !important;
}

body.findar-mobile-premium-single .fmp-gallery-status {
  top: 18px !important;
  left: 18px !important;
  padding: 8px 13px !important;
  background: #fff !important;
  color: var(--frp15-ink) !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
}

body.findar-mobile-premium-single .fmp-trulia-photo-count {
  right: 18px !important;
  bottom: 18px !important;
  padding: 10px 14px !important;
  background: #fff !important;
  color: var(--frp15-ink) !important;
  font-weight: 900 !important;
}

body.findar-mobile-premium-single .fmp-trulia-gallery-actions {
  top: 18px !important;
  right: 18px !important;
  gap: 10px !important;
}

body.findar-mobile-premium-single .fmp-trulia-gallery-actions button {
  background: #fff !important;
  color: var(--frp15-ink) !important;
  border: 0 !important;
  min-height: 46px !important;
  padding: 0 18px !important;
  font-weight: 900 !important;
}

/* Summary: Redfin layout under photos */
body.findar-mobile-premium-single .fmp-trulia-topline {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto auto !important;
  align-items: start !important;
  gap: 24px !important;
  padding: 0 0 26px !important;
  margin: 0 0 22px !important;
  border-bottom: 1px solid var(--frp15-line) !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.findar-mobile-premium-single .fmp-trulia-titlebox h1 {
  font-size: clamp(31px, 4vw, 56px) !important;
  line-height: .98 !important;
  letter-spacing: -.05em !important;
  margin: 0 0 10px !important;
  color: var(--frp15-ink) !important;
  max-width: 900px !important;
}

body.findar-mobile-premium-single .fmp-trulia-titlebox p,
body.findar-mobile-premium-single .fmp-trulia-meta {
  color: var(--frp15-muted) !important;
  font-size: 17px !important;
  line-height: 1.45 !important;
}

body.findar-mobile-premium-single .fmp-trulia-pricebox {
  text-align: right !important;
  min-width: 230px !important;
}

body.findar-mobile-premium-single .fmp-trulia-pricebox strong {
  display: block !important;
  font-size: clamp(32px, 3vw, 48px) !important;
  line-height: 1 !important;
  letter-spacing: -.045em !important;
  color: var(--frp15-ink) !important;
  white-space: nowrap !important;
}

body.findar-mobile-premium-single .fmp-inline-whatsapp-cta {
  min-height: 54px !important;
  border-radius: 999px !important;
  background: var(--frp15-green) !important;
  color: #fff !important;
  padding: 0 24px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-weight: 950 !important;
  text-decoration: none !important;
  box-shadow: 0 14px 30px rgba(7, 150, 75, .22) !important;
}

/* Sticky section nav */
body.findar-mobile-premium-single .fmp-pdp-tabs {
  position: sticky !important;
  top: var(--fmp-header-offset, 92px) !important;
  z-index: 30 !important;
  display: flex !important;
  gap: 8px !important;
  overflow-x: auto !important;
  padding: 10px !important;
  margin: 0 0 28px !important;
  background: rgba(255,255,255,.96) !important;
  border: 1px solid var(--frp15-line) !important;
  border-radius: 999px !important;
  box-shadow: 0 14px 40px rgba(7, 19, 41, .08) !important;
  backdrop-filter: blur(12px) !important;
}

body.findar-mobile-premium-single .fmp-pdp-tabs a {
  flex: 0 0 auto !important;
  border-radius: 999px !important;
  padding: 12px 20px !important;
  font-size: 15px !important;
  font-weight: 950 !important;
  color: #445063 !important;
  text-decoration: none !important;
  border: 0 !important;
}

body.findar-mobile-premium-single .fmp-pdp-tabs a.is-active,
body.findar-mobile-premium-single .fmp-pdp-tabs a:hover {
  background: var(--frp15-ink) !important;
  color: #fff !important;
}

/* Main + sidebar */
body.findar-mobile-premium-single .fmp-trulia-content {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(330px, 390px) !important;
  gap: 34px !important;
  align-items: start !important;
}

body.findar-mobile-premium-single .fmp-trulia-maincol {
  min-width: 0 !important;
}

body.findar-mobile-premium-single .fmp-trulia-section,
body.findar-mobile-premium-single .fmp-trulia-highlights,
body.findar-mobile-premium-single .fmp-pdp-chips,
body.findar-mobile-premium-single .fmp-trulia-contact-card,
body.findar-mobile-premium-single .fmp-trulia-ref-card,
body.findar-mobile-premium-single .fmp-pdp-trust-list {
  background: var(--frp15-card) !important;
  border: 1px solid var(--frp15-line) !important;
  border-radius: var(--frp15-radius) !important;
  box-shadow: 0 10px 35px rgba(7, 19, 41, .045) !important;
}

body.findar-mobile-premium-single .fmp-trulia-section,
body.findar-mobile-premium-single .fmp-trulia-highlights {
  padding: 28px !important;
  margin: 0 0 24px !important;
}

body.findar-mobile-premium-single .fmp-trulia-section h2,
body.findar-mobile-premium-single .fmp-trulia-location h2,
body.findar-mobile-premium-single .fmp-pdp-sun h2 {
  font-size: clamp(24px, 2.4vw, 34px) !important;
  line-height: 1.1 !important;
  letter-spacing: -.03em !important;
  margin: 0 0 18px !important;
  color: var(--frp15-ink) !important;
}

body.findar-mobile-premium-single .fmp-trulia-description {
  font-size: 18px !important;
  line-height: 1.68 !important;
  color: #142037 !important;
  max-width: 920px !important;
}

body.findar-mobile-premium-single .fmp-trulia-highlights {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  padding: 0 !important;
  overflow: hidden !important;
}

body.findar-mobile-premium-single .fmp-trulia-highlights > div {
  padding: 24px !important;
  border-right: 1px solid var(--frp15-line) !important;
}

body.findar-mobile-premium-single .fmp-trulia-highlights > div:last-child {
  border-right: 0 !important;
}

body.findar-mobile-premium-single .fmp-trulia-highlights strong {
  font-size: 24px !important;
  color: var(--frp15-ink) !important;
  letter-spacing: -.03em !important;
}

body.findar-mobile-premium-single .fmp-trulia-highlights span,
body.findar-mobile-premium-single .fmp-trulia-highlights small {
  color: var(--frp15-muted) !important;
}

body.findar-mobile-premium-single .fmp-pdp-chips {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
  padding: 12px !important;
  margin: 0 0 24px !important;
  background: #fff !important;
}

body.findar-mobile-premium-single .fmp-pdp-chip {
  border: 1px solid var(--frp15-line) !important;
  border-radius: 14px !important;
  background: var(--frp15-soft) !important;
  padding: 16px !important;
}

body.findar-mobile-premium-single .fmp-pdp-chip strong {
  color: var(--frp15-ink) !important;
  font-size: 17px !important;
}

body.findar-mobile-premium-single .fmp-trulia-detail-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 20px 28px !important;
}

body.findar-mobile-premium-single .fmp-trulia-detail-grid > div {
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
}

body.findar-mobile-premium-single .fmp-trulia-detail-grid strong {
  color: var(--frp15-ink) !important;
  font-size: 17px !important;
}

body.findar-mobile-premium-single .fmp-trulia-detail-grid span,
body.findar-mobile-premium-single .fmp-trulia-detail-grid li {
  color: #24324a !important;
  font-size: 16px !important;
}

/* Sun + neighborhood */
body.findar-mobile-premium-single .fmp-pdp-sun-stats {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

body.findar-mobile-premium-single .fmp-pdp-sun-stats > div,
body.findar-mobile-premium-single .fmp-pdp-quartier-tabs a {
  border: 1px solid var(--frp15-line) !important;
  border-radius: 14px !important;
  background: #fff !important;
}

body.findar-mobile-premium-single .fmp-single-map,
body.findar-mobile-premium-single .fmp-trulia-map {
  min-height: 420px !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  border: 1px solid var(--frp15-line) !important;
  background: #eef3f8 !important;
}

body.findar-mobile-premium-single .fmp-pdp-quartier-tabs {
  display: flex !important;
  gap: 10px !important;
  overflow-x: auto !important;
  margin: 0 0 18px !important;
}

body.findar-mobile-premium-single .fmp-pdp-quartier-tabs a {
  padding: 11px 16px !important;
  color: #42506a !important;
  text-decoration: none !important;
  font-weight: 850 !important;
}

body.findar-mobile-premium-single .fmp-pdp-quartier-tabs a.is-active,
body.findar-mobile-premium-single .fmp-pdp-quartier-tabs a:hover {
  background: var(--frp15-ink) !important;
  color: #fff !important;
}

/* Seller card */
body.findar-mobile-premium-single .fmp-trulia-sidecol {
  position: sticky !important;
  top: calc(var(--fmp-header-offset, 92px) + 82px) !important;
  align-self: start !important;
}

body.findar-mobile-premium-single .fmp-trulia-contact-card {
  padding: 24px !important;
}

body.findar-mobile-premium-single .fmp-trulia-contact-head {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  padding-bottom: 18px !important;
  margin-bottom: 18px !important;
  border-bottom: 1px solid var(--frp15-line) !important;
}

body.findar-mobile-premium-single .fmp-trulia-avatar {
  width: 64px !important;
  height: 64px !important;
  border-radius: 50% !important;
  background: #0b234e !important;
  color: #fff !important;
  display: grid !important;
  place-items: center !important;
  font-weight: 950 !important;
}

body.findar-mobile-premium-single .fmp-trulia-call,
body.findar-mobile-premium-single .fmp-trulia-whatsapp,
body.findar-mobile-premium-single .fmp-request-visit {
  min-height: 58px !important;
  border-radius: 14px !important;
  font-weight: 950 !important;
  font-size: 17px !important;
  text-decoration: none !important;
}

body.findar-mobile-premium-single .fmp-trulia-whatsapp {
  background: var(--frp15-green) !important;
  color: #fff !important;
  border: 0 !important;
}

body.findar-mobile-premium-single .fmp-request-visit {
  background: var(--frp15-ink) !important;
  color: #fff !important;
  border: 0 !important;
}

body.findar-mobile-premium-single .fmp-trulia-call {
  background: #fff !important;
  border: 1px solid #008b80 !important;
  color: #006b66 !important;
}

body.findar-mobile-premium-single .fmp-pdp-trust-list,
body.findar-mobile-premium-single .fmp-trulia-ref-card {
  padding: 20px !important;
  margin-top: 18px !important;
}

/* Remove clashing old floating bars if any old module adds them */
body.findar-mobile-premium-single .fmp-scroll-summary,
body.findar-mobile-premium-single .fmp-single-sticky-summary,
body.findar-mobile-premium-single .fmp-sticky-contact-bar:not(.fmp-mobile-bottom-contact) {
  display: none !important;
}

@media (max-width: 1100px) {
  body.findar-mobile-premium-single .fmp-trulia-gallery {
    grid-template-columns: 1fr !important;
    height: auto !important;
    min-height: 0 !important;
  }
  body.findar-mobile-premium-single .fmp-trulia-gallery-main {
    min-height: 420px !important;
  }
  body.findar-mobile-premium-single .fmp-trulia-content,
  body.findar-mobile-premium-single .fmp-trulia-topline {
    grid-template-columns: 1fr !important;
  }
  body.findar-mobile-premium-single .fmp-trulia-sidecol {
    position: static !important;
  }
  body.findar-mobile-premium-single .fmp-trulia-pricebox {
    text-align: left !important;
  }
}

@media (max-width: 720px) {
  body.findar-mobile-premium-single .fmp-single-page.fmp-single-trulia-v3 {
    padding-top: 8px !important;
  }
  body.findar-mobile-premium-single .fmp-trulia-wrap {
    width: 100% !important;
  }
  body.findar-mobile-premium-single .fmp-trulia-breadcrumb,
  body.findar-mobile-premium-single .fmp-trulia-topline,
  body.findar-mobile-premium-single .fmp-pdp-tabs,
  body.findar-mobile-premium-single .fmp-trulia-content {
    margin-left: 14px !important;
    margin-right: 14px !important;
  }
  body.findar-mobile-premium-single .fmp-trulia-gallery {
    gap: 4px !important;
    margin-bottom: 18px !important;
  }
  body.findar-mobile-premium-single .fmp-trulia-gallery-main {
    min-height: 300px !important;
  }
  body.findar-mobile-premium-single .fmp-trulia-gallery-side {
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 4px !important;
  }
  body.findar-mobile-premium-single .fmp-trulia-gallery-tile {
    min-height: 82px !important;
  }
  body.findar-mobile-premium-single .fmp-trulia-titlebox h1 {
    font-size: 32px !important;
  }
  body.findar-mobile-premium-single .fmp-trulia-pricebox strong {
    font-size: 34px !important;
  }
  body.findar-mobile-premium-single .fmp-trulia-highlights,
  body.findar-mobile-premium-single .fmp-pdp-chips,
  body.findar-mobile-premium-single .fmp-trulia-detail-grid,
  body.findar-mobile-premium-single .fmp-pdp-sun-stats {
    grid-template-columns: 1fr !important;
  }
  body.findar-mobile-premium-single .fmp-trulia-section,
  body.findar-mobile-premium-single .fmp-trulia-highlights {
    padding: 20px !important;
  }
}
