@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Noto+Sans+Bengali:wght@400;500;600;700&display=swap');

body.single-efp_property,
body.post-type-archive-efp_property,
body.tax-efp_property_type,
body.tax-efp_property_location,
body.tax-efp_property_status {
  overflow-x: hidden !important;
}

.efp-shortcode,
.efp-page-shell,
.efp-shortcode *,
.efp-page-shell * {
  box-sizing: border-box !important;
  font-family: 'Noto Sans Bengali', 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

.efp-shortcode a,
.efp-page-shell a {
  text-decoration: none !important;
}

.efp-shortcode img,
.efp-page-shell img,
.efp-page-shell video,
.efp-page-shell iframe {
  max-width: 100% !important;
}

.efp-page-shell {
  width: 100% !important;
  max-width: 100vw !important;
  min-height: 70vh !important;
  clear: both !important;
  display: block !important;
  position: relative !important;
  isolation: isolate !important;
  overflow: clip !important;
  margin: 0 !important;
  padding: clamp(96px, 8vw, 128px) 16px 70px !important;
  background: #f6f7f9 !important;
  color: #111111 !important;
  z-index: 1 !important;
}

.efp-page-container,
.efp-container {
  width: min(1180px, 100%) !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 !important;
}

.efp-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  padding: 11px 18px !important;
  border-radius: 8px !important;
  border: 1px solid transparent !important;
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease, border-color .2s ease !important;
  box-shadow: none !important;
}

.efp-btn:hover {
  transform: translateY(-1px) !important;
}

.efp-btn--primary {
  background: var(--efp-button, #d0021b) !important;
  border-color: var(--efp-button, #d0021b) !important;
  color: #ffffff !important;
}

.efp-btn--ghost {
  background: #ffffff !important;
  border-color: rgba(17,17,17,.22) !important;
  color: #111111 !important;
}

.efp-btn--whatsapp {
  background: #128c7e !important;
  border-color: #128c7e !important;
  color: #ffffff !important;
}

.efp-btn--full {
  width: 100% !important;
}

/* Homepage shortcode */
.efp-shortcode {
  width: 100% !important;
  background: transparent !important;
  padding: 24px 0 !important;
  overflow: hidden !important;
}

.efp-shortcode__head {
  text-align: center !important;
  margin-bottom: 24px !important;
}

.efp-shortcode__head h2 {
  margin: 0 !important;
  color: #111111 !important;
  font-size: clamp(28px, 3vw, 40px) !important;
  line-height: 1.15 !important;
  font-weight: 800 !important;
}

.efp-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  width: 100% !important;
}

.efp-grid--cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)) !important; }
.efp-grid--cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.efp-grid--cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.efp-grid--cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }

.efp-card {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  min-height: 420px !important;
  background: #ffffff !important;
  border: 1px solid rgba(17, 17, 17, 0.12) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  box-shadow: 0 12px 34px rgba(17, 17, 17, 0.07) !important;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease !important;
}

.efp-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 20px 50px rgba(17, 17, 17, 0.13) !important;
  border-color: rgba(208, 2, 27, .25) !important;
}

.efp-card::after,
.efp-archive-card::after {
  content: "" !important;
  position: absolute !important;
  top: -120% !important;
  left: -55% !important;
  width: 42% !important;
  height: 340% !important;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.48), transparent) !important;
  transform: rotate(22deg) !important;
  pointer-events: none !important;
  opacity: 0 !important;
  z-index: 5 !important;
}

.efp-card.is-scanning::after,
.efp-archive-card.is-scanning::after {
  animation: efpScan .85s ease forwards !important;
  opacity: 1 !important;
}

@keyframes efpScan { from { left: -55%; } to { left: 125%; } }

.efp-card__media {
  position: relative !important;
  height: 220px !important;
  background: #111111 !important;
  overflow: hidden !important;
}

.efp-card__media a,
.efp-card__media img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

.efp-card__media img {
  object-fit: cover !important;
  transition: transform .45s ease !important;
}

.efp-card:hover .efp-card__media img {
  transform: scale(1.04) !important;
}

.efp-card__shade {
  position: absolute !important;
  inset: auto 0 0 0 !important;
  height: 48% !important;
  background: linear-gradient(180deg, transparent, rgba(0,0,0,.58)) !important;
  pointer-events: none !important;
}

.efp-card__badges {
  position: absolute !important;
  left: 14px !important;
  bottom: 12px !important;
  display: flex !important;
  gap: 8px !important;
  z-index: 2 !important;
}

.efp-card__badges span,
.efp-card__status {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 28px !important;
  padding: 6px 12px !important;
  border-radius: 999px !important;
  color: #ffffff !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  border: 1px solid rgba(255,255,255,.72) !important;
  background: rgba(0,0,0,.28) !important;
  backdrop-filter: blur(8px) !important;
  text-transform: uppercase !important;
}

.efp-card__status {
  position: absolute !important;
  top: 12px !important;
  left: 12px !important;
  background: var(--efp-primary, #d0021b) !important;
  border-color: var(--efp-primary, #d0021b) !important;
}

.efp-card__heart {
  position: absolute !important;
  right: 12px !important;
  bottom: 12px !important;
  width: 38px !important;
  height: 38px !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.94) !important;
  color: #111111 !important;
  font-size: 24px !important;
  line-height: 1 !important;
  cursor: pointer !important;
  z-index: 2 !important;
}

.efp-card__body {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
  padding: 17px !important;
}

.efp-card__title {
  margin: 0 0 10px !important;
  color: #111111 !important;
  font-size: 20px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
}

.efp-card__title a {
  color: inherit !important;
}

.efp-card__title a:hover {
  color: var(--efp-primary, #d0021b) !important;
}

.efp-card__meta-line {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 7px !important;
  color: #444444 !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
}

.efp-card__meta-line strong {
  color: #111111 !important;
  font-size: 18px !important;
}

.efp-card__meta-line span:not(:first-child)::before {
  content: "•" !important;
  margin-right: 7px !important;
  color: #777777 !important;
}

.efp-card__mini {
  display: flex !important;
  gap: 10px !important;
  margin-top: 8px !important;
  color: #555555 !important;
  font-size: 14px !important;
}

.efp-card__location {
  margin: 8px 0 16px !important;
  color: #4b5563 !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
}

.efp-card__footer {
  margin-top: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
}

.efp-card__seller {
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

.efp-card__seller img,
.efp-card__seller-avatar,
.efp-contact-card__seller img,
.efp-contact-card__avatar {
  width: 42px !important;
  height: 42px !important;
  border-radius: 9px !important;
  object-fit: cover !important;
  background: #f2f2f2 !important;
  flex: 0 0 auto !important;
}

.efp-card__seller-avatar,
.efp-contact-card__avatar {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #ffffff !important;
  background: var(--efp-primary, #d0021b) !important;
  font-weight: 800 !important;
}

.efp-card__seller strong,
.efp-card__seller small {
  display: block !important;
  max-width: 125px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.efp-card__seller strong {
  color: #111111 !important;
  font-size: 14px !important;
  line-height: 1.1 !important;
}

.efp-card__seller small {
  color: #555555 !important;
  font-size: 13px !important;
  margin-top: 3px !important;
}

.efp-card__actions {
  display: flex !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
}

.efp-card__actions .efp-btn {
  min-height: 36px !important;
  padding: 9px 12px !important;
  font-size: 14px !important;
}

.efp-empty {
  margin: 20px 0 !important;
  color: #555555 !important;
}

/* Single property page */
.efp-property-hero-card {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 22px !important;
  padding: 28px !important;
  border: 1px solid rgba(17,17,17,.08) !important;
  border-radius: 18px !important;
  background: #ffffff !important;
  box-shadow: 0 16px 48px rgba(17,17,17,.07) !important;
  margin-bottom: 18px !important;
}

.efp-property-hero-card__main {
  min-width: 0 !important;
}

.efp-property-tags {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-bottom: 12px !important;
}

.efp-property-tags span {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 30px !important;
  padding: 7px 12px !important;
  border-radius: 999px !important;
  background: rgba(208,2,27,.08) !important;
  color: var(--efp-primary, #d0021b) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

.efp-property-tags--small {
  margin-bottom: 8px !important;
}

.efp-property-tags--small span {
  min-height: 26px !important;
  padding: 6px 10px !important;
  font-size: 12px !important;
}

.efp-property-title {
  width: 100% !important;
  margin: 0 !important;
  color: #111111 !important;
  font-size: clamp(34px, 4.2vw, 56px) !important;
  line-height: 1.08 !important;
  font-weight: 800 !important;
  letter-spacing: -.035em !important;
  overflow-wrap: anywhere !important;
}

.efp-property-location {
  margin: 12px 0 0 !important;
  max-width: 820px !important;
  color: #4b5563 !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  line-height: 1.55 !important;
}

.efp-property-rating {
  flex: 0 0 auto !important;
  min-width: 122px !important;
  text-align: center !important;
  padding: 13px 16px !important;
  border: 1px solid rgba(17,17,17,.10) !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  box-shadow: 0 10px 26px rgba(17,17,17,.06) !important;
}

.efp-property-rating strong {
  display: block !important;
  color: #111111 !important;
  font-size: 19px !important;
  line-height: 1.15 !important;
}

.efp-property-rating span {
  display: block !important;
  margin-top: 4px !important;
  color: #6b7280 !important;
  font-size: 13px !important;
}

.efp-summary-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) auto !important;
  gap: 12px !important;
  margin-bottom: 22px !important;
}

.efp-summary-item,
.efp-summary-actions {
  min-width: 0 !important;
  padding: 16px !important;
  border: 1px solid rgba(17,17,17,.08) !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  box-shadow: 0 10px 30px rgba(17,17,17,.05) !important;
}

.efp-summary-item span {
  display: block !important;
  margin-bottom: 5px !important;
  color: #6b7280 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .02em !important;
  text-transform: uppercase !important;
}

.efp-summary-item strong {
  display: block !important;
  color: #111111 !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  line-height: 1.22 !important;
  overflow-wrap: anywhere !important;
}

.efp-summary-item small {
  display: block !important;
  margin-top: 3px !important;
  color: #6b7280 !important;
  font-size: 12px !important;
}

.efp-summary-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  white-space: nowrap !important;
}

.efp-property-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 360px !important;
  gap: 24px !important;
  align-items: start !important;
}

.efp-property-main {
  min-width: 0 !important;
}

.efp-property-sidebar {
  min-width: 0 !important;
}

.efp-gallery-block {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 136px !important;
  gap: 12px !important;
  margin-bottom: 22px !important;
}

.efp-gallery-main {
  position: relative !important;
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  min-height: 390px !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  background: #111111 !important;
  box-shadow: 0 16px 46px rgba(17,17,17,.14) !important;
}

.efp-gallery-main img,
.efp-gallery-main video,
.efp-gallery-main iframe {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  border: 0 !important;
}

.efp-embed-wrap {
  width: 100% !important;
  height: 100% !important;
}

.efp-embed-wrap iframe {
  width: 100% !important;
  height: 100% !important;
}

.efp-gallery-thumbs {
  display: grid !important;
  grid-template-rows: repeat(5, 1fr) !important;
  gap: 10px !important;
  min-height: 390px !important;
}

.efp-gallery-thumb {
  width: 100% !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background: #111111 !important;
  cursor: pointer !important;
  box-shadow: 0 8px 24px rgba(17,17,17,.08) !important;
}

.efp-gallery-thumb img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
}

.efp-content-box {
  margin: 0 0 22px !important;
  padding: 25px !important;
  border: 1px solid rgba(17,17,17,.08) !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  box-shadow: 0 12px 34px rgba(17,17,17,.055) !important;
}

.efp-content-box h2 {
  margin: 0 0 15px !important;
  color: #111111 !important;
  font-size: 26px !important;
  line-height: 1.22 !important;
  font-weight: 800 !important;
  letter-spacing: -.01em !important;
}

.efp-property-content {
  color: #374151 !important;
  font-size: 16px !important;
  line-height: 1.84 !important;
}

.efp-property-content p {
  margin: 0 0 16px !important;
}

.efp-property-content p:last-child {
  margin-bottom: 0 !important;
}

.efp-highlight-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

.efp-highlight-item {
  position: relative !important;
  padding: 14px 15px 14px 40px !important;
  min-height: 52px !important;
  background: #f8f9fb !important;
  border: 1px solid rgba(17,17,17,.06) !important;
  border-radius: 12px !important;
  color: #111111 !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
}

.efp-highlight-item::before {
  content: "" !important;
  position: absolute !important;
  left: 15px !important;
  top: 20px !important;
  width: 10px !important;
  height: 10px !important;
  border-radius: 50% !important;
  background: var(--efp-primary, #d0021b) !important;
  box-shadow: 0 0 0 5px rgba(208,2,27,.10) !important;
}

.efp-details-table {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  border: 1px solid rgba(17,17,17,.08) !important;
  border-radius: 14px !important;
  overflow: hidden !important;
}

.efp-details-table div {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 14px !important;
  padding: 15px 16px !important;
  border-bottom: 1px solid rgba(17,17,17,.08) !important;
  background: #ffffff !important;
}

.efp-details-table div:nth-child(4n+1),
.efp-details-table div:nth-child(4n+2) {
  background: #fafafa !important;
}

.efp-details-table span {
  color: #6b7280 !important;
  font-weight: 700 !important;
}

.efp-details-table strong {
  color: #111111 !important;
  text-align: right !important;
  font-weight: 800 !important;
  overflow-wrap: anywhere !important;
}

.efp-amenities {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}

.efp-amenities span {
  padding: 10px 14px !important;
  border-radius: 999px !important;
  background: rgba(208,2,27,.08) !important;
  color: #111111 !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}

.efp-map-box {
  width: 100% !important;
  height: 360px !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  background: #f3f4f6 !important;
}

.efp-map-box iframe,
.efp-map-box img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border: 0 !important;
  display: block !important;
}

.efp-contact-card,
.efp-property-sidebar {
  position: relative !important;
}

.efp-contact-card__inner {
  position: sticky !important;
  top: 116px !important;
  width: 100% !important;
  border: 1px solid rgba(17,17,17,.10) !important;
  border-radius: 18px !important;
  padding: 20px !important;
  background: #ffffff !important;
  box-shadow: 0 18px 54px rgba(17,17,17,.12) !important;
}

.admin-bar .efp-contact-card__inner {
  top: 148px !important;
}

.efp-contact-card__seller {
  display: flex !important;
  align-items: center !important;
  gap: 13px !important;
  margin-bottom: 16px !important;
  min-width: 0 !important;
}

.efp-contact-card__seller img,
.efp-contact-card__avatar {
  width: 60px !important;
  height: 60px !important;
  border-radius: 14px !important;
}

.efp-contact-card__seller h3 {
  margin: 0 !important;
  color: #111111 !important;
  font-size: 20px !important;
  line-height: 1.15 !important;
  font-weight: 800 !important;
}

.efp-contact-card__seller p {
  margin: 5px 0 0 !important;
  color: #555555 !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
}

.efp-contact-card__buttons {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
  margin-bottom: 15px !important;
}

.efp-inquiry-form {
  display: grid !important;
  gap: 11px !important;
}

.efp-inquiry-form label {
  display: grid !important;
  gap: 6px !important;
  margin: 0 !important;
}

.efp-inquiry-form span {
  color: #555555 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

.efp-inquiry-form input,
.efp-inquiry-form textarea {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 42px !important;
  border: 1px solid rgba(17,17,17,.18) !important;
  border-radius: 10px !important;
  padding: 10px 12px !important;
  background: #ffffff !important;
  color: #111111 !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
  outline: none !important;
  box-shadow: none !important;
}

.efp-inquiry-form textarea {
  resize: vertical !important;
  min-height: 108px !important;
}

.efp-inquiry-form input:focus,
.efp-inquiry-form textarea:focus {
  border-color: var(--efp-primary, #d0021b) !important;
  box-shadow: 0 0 0 3px rgba(208,2,27,.08) !important;
}

.efp-contact-card__note {
  margin: 12px 0 0 !important;
  color: #6b7280 !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
}

.efp-alert {
  padding: 10px 12px !important;
  border-radius: 9px !important;
  margin-bottom: 12px !important;
  font-size: 14px !important;
  font-weight: 800 !important;
}

.efp-alert--success {
  color: #065f46 !important;
  background: #d1fae5 !important;
}

/* Archive page */
.efp-archive-hero {
  text-align: center !important;
  max-width: 820px !important;
  margin: 0 auto 24px !important;
}

.efp-archive-hero span {
  display: inline-flex !important;
  padding: 8px 15px !important;
  border-radius: 999px !important;
  background: rgba(208,2,27,.08) !important;
  color: var(--efp-primary, #d0021b) !important;
  font-weight: 800 !important;
  margin-bottom: 11px !important;
}

.efp-archive-hero h1 {
  margin: 0 !important;
  color: #111111 !important;
  font-size: clamp(34px, 4vw, 52px) !important;
  line-height: 1.12 !important;
  font-weight: 800 !important;
  letter-spacing: -.025em !important;
}

.efp-archive-hero p {
  margin: 12px 0 0 !important;
  color: #555555 !important;
  font-size: 17px !important;
  line-height: 1.65 !important;
}

.efp-filter-bar {
  display: grid !important;
  grid-template-columns: 1.5fr repeat(3, 1fr) auto !important;
  gap: 10px !important;
  padding: 15px !important;
  background: #ffffff !important;
  border: 1px solid rgba(17,17,17,.10) !important;
  border-radius: 16px !important;
  box-shadow: 0 12px 34px rgba(17,17,17,.07) !important;
  margin-bottom: 24px !important;
}

.efp-filter-bar input,
.efp-filter-bar select {
  min-height: 46px !important;
  border: 1px solid rgba(17,17,17,.16) !important;
  border-radius: 10px !important;
  padding: 10px 12px !important;
  font-size: 15px !important;
  background: #ffffff !important;
  width: 100% !important;
  color: #111111 !important;
}

.efp-archive-list {
  display: grid !important;
  gap: 18px !important;
}

.efp-archive-card {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 330px minmax(0, 1fr) !important;
  gap: 20px !important;
  padding: 16px !important;
  background: #ffffff !important;
  border: 1px solid rgba(17,17,17,.10) !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  box-shadow: 0 10px 30px rgba(17,17,17,.065) !important;
  transition: box-shadow .25s ease, transform .25s ease !important;
}

.efp-archive-card:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 18px 48px rgba(17,17,17,.12) !important;
}

.efp-archive-card__image {
  display: block !important;
  height: 230px !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  background: #111111 !important;
}

.efp-archive-card__image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform .45s ease !important;
}

.efp-archive-card:hover .efp-archive-card__image img {
  transform: scale(1.04) !important;
}

.efp-archive-card__body {
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}

.efp-archive-card__head {
  display: flex !important;
  justify-content: space-between !important;
  gap: 18px !important;
  align-items: flex-start !important;
}

.efp-archive-card__head h2 {
  margin: 0 !important;
  color: #111111 !important;
  font-size: 26px !important;
  line-height: 1.22 !important;
  font-weight: 800 !important;
}

.efp-archive-card__head h2 a {
  color: inherit !important;
}

.efp-archive-card__head h2 a:hover {
  color: var(--efp-primary, #d0021b) !important;
}

.efp-archive-card__head p {
  margin: 7px 0 0 !important;
  color: #555555 !important;
}

.efp-archive-card__head strong {
  color: #111111 !important;
  font-size: 23px !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}

.efp-archive-card__meta {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 14px 0 !important;
}

.efp-archive-card__meta span {
  padding: 7px 11px !important;
  border-radius: 999px !important;
  background: #f3f4f6 !important;
  color: #374151 !important;
  font-weight: 800 !important;
  font-size: 13px !important;
}

.efp-archive-card__excerpt {
  color: #555555 !important;
  line-height: 1.68 !important;
  margin: 0 0 16px !important;
}

.efp-archive-card__actions {
  margin-top: auto !important;
  display: flex !important;
  gap: 10px !important;
}

.efp-pagination {
  display: flex !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-top: 24px !important;
}

.efp-pagination .page-numbers {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 40px !important;
  height: 40px !important;
  padding: 0 12px !important;
  border: 1px solid rgba(17,17,17,.14) !important;
  border-radius: 9px !important;
  color: #111111 !important;
  background: #ffffff !important;
}

.efp-pagination .current {
  background: var(--efp-primary, #d0021b) !important;
  color: #ffffff !important;
  border-color: var(--efp-primary, #d0021b) !important;
}

@media (max-width: 1100px) {
  .efp-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .efp-summary-actions {
    grid-column: span 2 !important;
    justify-content: flex-start !important;
  }
  .efp-property-layout {
    grid-template-columns: 1fr !important;
  }
  .efp-contact-card__inner {
    position: relative !important;
    top: auto !important;
  }
  .efp-filter-bar {
    grid-template-columns: 1fr 1fr !important;
  }
  .efp-filter-bar button {
    grid-column: span 2 !important;
  }
}

@media (max-width: 900px) {
  .efp-grid--cols-3,
  .efp-grid--cols-4 {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }
  .efp-archive-card {
    grid-template-columns: 1fr !important;
  }
  .efp-archive-card__image {
    height: auto !important;
    aspect-ratio: 16/9 !important;
  }
}

@media (max-width: 767px) {
  .efp-page-shell {
    padding: 82px 14px 42px !important;
  }
  .efp-grid,
  .efp-grid--cols-2,
  .efp-grid--cols-3,
  .efp-grid--cols-4 {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
  .efp-grid--mobile-carousel {
    display: flex !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    scroll-behavior: smooth !important;
    padding: 4px 14px 14px !important;
    margin-left: -14px !important;
    margin-right: -14px !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
  }
  .efp-grid--mobile-carousel::-webkit-scrollbar {
    display: none !important;
  }
  .efp-grid--mobile-carousel .efp-card {
    flex: 0 0 86% !important;
    scroll-snap-align: center !important;
    min-height: 420px !important;
  }
  .efp-carousel-dots {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 7px !important;
    margin-top: 8px !important;
  }
  .efp-carousel-dots button {
    width: 7px !important;
    height: 7px !important;
    border-radius: 999px !important;
    border: 0 !important;
    padding: 0 !important;
    background: rgba(208,2,27,.25) !important;
    transition: .2s ease !important;
  }
  .efp-carousel-dots button.is-active {
    width: 22px !important;
    background: var(--efp-primary, #d0021b) !important;
  }
  .efp-card__footer {
    align-items: flex-start !important;
    flex-direction: column !important;
  }
  .efp-card__actions {
    width: 100% !important;
    justify-content: stretch !important;
  }
  .efp-card__actions .efp-btn {
    flex: 1 !important;
  }
  .efp-property-hero-card {
    display: block !important;
    padding: 21px !important;
    border-radius: 16px !important;
  }
  .efp-property-rating {
    margin-top: 14px !important;
    text-align: left !important;
  }
  .efp-property-title {
    font-size: 30px !important;
    line-height: 1.15 !important;
  }
  .efp-property-location {
    font-size: 15px !important;
  }
  .efp-summary-grid,
  .efp-filter-bar {
    grid-template-columns: 1fr !important;
  }
  .efp-summary-actions,
  .efp-filter-bar button {
    grid-column: auto !important;
  }
  .efp-summary-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
  }
  .efp-summary-actions .efp-btn {
    width: 100% !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
  .efp-gallery-block {
    grid-template-columns: 1fr !important;
  }
  .efp-gallery-main {
    min-height: 0 !important;
    aspect-ratio: 16/9 !important;
    border-radius: 14px !important;
  }
  .efp-gallery-thumbs {
    display: flex !important;
    min-height: 0 !important;
    overflow-x: auto !important;
    padding-bottom: 3px !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
  }
  .efp-gallery-thumbs::-webkit-scrollbar {
    display: none !important;
  }
  .efp-gallery-thumb {
    flex: 0 0 106px !important;
    width: 106px !important;
    height: 74px !important;
  }
  .efp-content-box {
    padding: 18px !important;
    border-radius: 14px !important;
  }
  .efp-content-box h2 {
    font-size: 22px !important;
  }
  .efp-highlight-grid,
  .efp-details-table {
    grid-template-columns: 1fr !important;
  }
  .efp-details-table div:nth-child(odd),
  .efp-details-table div:nth-child(even) {
    background: #ffffff !important;
  }
  .efp-details-table div {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 4px !important;
  }
  .efp-details-table strong {
    text-align: left !important;
  }
  .efp-contact-card__buttons {
    grid-template-columns: 1fr !important;
  }
  .efp-map-box {
    height: 250px !important;
  }
  .efp-related-box .efp-grid--related {
    grid-template-columns: 1fr !important;
  }
  .efp-archive-hero h1 {
    font-size: 32px !important;
  }
  .efp-archive-hero p {
    font-size: 15px !important;
  }
  .efp-archive-card {
    border-radius: 16px !important;
    padding: 13px !important;
  }
  .efp-archive-card__head {
    flex-direction: column !important;
    gap: 8px !important;
  }
  .efp-archive-card__head h2 {
    font-size: 23px !important;
  }
  .efp-archive-card__head strong {
    white-space: normal !important;
  }
  .efp-archive-card__actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
  }
}

/* EstateFlow Pro v1.0.4 theme-safe single/archive layouts */
.efp4-page,
.efp4-page * {
  box-sizing: border-box !important;
  font-family: 'Noto Sans Bengali', 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

.efp4-page {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: clamp(34px, 5vw, 72px) 0 72px !important;
  background: #fff !important;
  color: #111 !important;
  line-height: 1.5 !important;
  overflow-x: hidden !important;
  clear: both !important;
}

.efp4-wrap {
  width: min(1200px, calc(100% - 40px)) !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}

.efp4-page a {
  text-decoration: none !important;
}

.efp4-page img,
.efp4-page video,
.efp4-page iframe {
  max-width: 100% !important;
}

.efp4-breadcrumb {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-bottom: 16px !important;
  color: #6b7280 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

.efp4-breadcrumb a {
  color: var(--efp-primary, #d0021b) !important;
}

.efp4-breadcrumb strong {
  color: #374151 !important;
  font-weight: 700 !important;
}

.efp4-hero-head {
  margin-bottom: 24px !important;
}

.efp4-kickers {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 9px !important;
  margin-bottom: 14px !important;
}

.efp4-kickers span,
.efp4-archive-head span {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 30px !important;
  padding: 7px 13px !important;
  border-radius: 999px !important;
  background: rgba(208, 2, 27, .08) !important;
  color: var(--efp-primary, #d0021b) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

.efp4-title {
  margin: 0 !important;
  max-width: 900px !important;
  color: #111 !important;
  font-size: clamp(36px, 4.2vw, 58px) !important;
  line-height: 1.06 !important;
  font-weight: 800 !important;
  letter-spacing: -0.04em !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}

.efp4-location {
  margin: 12px 0 0 !important;
  max-width: 780px !important;
  color: #4b5563 !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
}

.efp4-meta-strip {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin-top: 24px !important;
}

.efp4-meta-strip > div {
  min-width: 0 !important;
  padding: 16px !important;
  border: 1px solid rgba(17, 17, 17, .09) !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 10px 30px rgba(17, 17, 17, .05) !important;
}

.efp4-meta-strip span,
.efp4-form span {
  display: block !important;
  margin-bottom: 5px !important;
  color: #6b7280 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}

.efp4-meta-strip strong {
  display: block !important;
  overflow: hidden !important;
  color: #111 !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.efp4-meta-strip em {
  display: block !important;
  margin-top: 4px !important;
  color: #6b7280 !important;
  font-size: 13px !important;
  font-style: normal !important;
}

.efp4-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 360px !important;
  gap: 28px !important;
  align-items: start !important;
}

.efp4-above-fold {
  margin-bottom: 26px !important;
}

.efp4-media-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 128px !important;
  gap: 12px !important;
  min-width: 0 !important;
}

.efp4-main-media {
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  min-height: 410px !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  background: #111 !important;
  box-shadow: 0 18px 50px rgba(17, 17, 17, .12) !important;
}

.efp4-main-media img,
.efp4-main-media video,
.efp4-main-media iframe,
.efp4-embed,
.efp4-embed iframe {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  border: 0 !important;
}

.efp4-thumbs {
  display: grid !important;
  grid-template-rows: repeat(4, 1fr) !important;
  gap: 12px !important;
  min-height: 410px !important;
}

.efp4-thumb {
  width: 100% !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background: #111 !important;
  cursor: pointer !important;
}

.efp4-thumb img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  transition: transform .3s ease !important;
}

.efp4-thumb:hover img {
  transform: scale(1.06) !important;
}

.efp4-contact {
  position: sticky !important;
  top: 24px !important;
  width: 100% !important;
  min-width: 0 !important;
}

.admin-bar .efp4-contact {
  top: 56px !important;
}

.efp4-contact-card {
  width: 100% !important;
  border: 1px solid rgba(17, 17, 17, .10) !important;
  border-radius: 18px !important;
  padding: 20px !important;
  background: #fff !important;
  box-shadow: 0 18px 54px rgba(17, 17, 17, .10) !important;
}

.efp4-seller {
  display: flex !important;
  align-items: center !important;
  gap: 13px !important;
  margin-bottom: 16px !important;
}

.efp4-seller img,
.efp4-seller span {
  width: 62px !important;
  height: 62px !important;
  flex: 0 0 62px !important;
  border-radius: 15px !important;
  object-fit: cover !important;
}

.efp4-seller span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--efp-primary, #d0021b) !important;
  color: #fff !important;
  font-size: 24px !important;
  font-weight: 800 !important;
}

.efp4-seller h2 {
  margin: 0 !important;
  color: #111 !important;
  font-size: 21px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
}

.efp4-seller p {
  margin: 4px 0 0 !important;
  color: #4b5563 !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
}

.efp4-actions {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
  margin-bottom: 14px !important;
}

.efp4-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 44px !important;
  padding: 11px 16px !important;
  border-radius: 9px !important;
  border: 1px solid transparent !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-align: center !important;
  cursor: pointer !important;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease !important;
}

.efp4-btn:hover {
  transform: translateY(-1px) !important;
}

.efp4-btn-primary {
  background: var(--efp-button, #d0021b) !important;
  border-color: var(--efp-button, #d0021b) !important;
  color: #fff !important;
}

.efp4-btn-whatsapp {
  background: #128c7e !important;
  border-color: #128c7e !important;
  color: #fff !important;
}

.efp4-btn-outline {
  background: #fff !important;
  border-color: rgba(17, 17, 17, .22) !important;
  color: #111 !important;
}

.efp4-btn-block {
  width: 100% !important;
}

.efp4-form {
  display: grid !important;
  gap: 11px !important;
}

.efp4-form label {
  display: grid !important;
  gap: 6px !important;
  margin: 0 !important;
}

.efp4-form input,
.efp4-form textarea {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 10px 12px !important;
  border: 1px solid rgba(17, 17, 17, .18) !important;
  border-radius: 9px !important;
  background: #fff !important;
  color: #111 !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

.efp4-form textarea {
  min-height: 108px !important;
  resize: vertical !important;
}

.efp4-note {
  margin: 12px 0 0 !important;
  color: #6b7280 !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
}

.efp4-alert {
  margin: 0 0 12px !important;
  padding: 11px 12px !important;
  border-radius: 10px !important;
  background: #d1fae5 !important;
  color: #065f46 !important;
  font-weight: 800 !important;
}

.efp4-content-grid {
  display: block !important;
}

.efp4-box {
  margin: 0 0 22px !important;
  padding: 26px !important;
  border: 1px solid rgba(17, 17, 17, .09) !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: 0 12px 34px rgba(17, 17, 17, .055) !important;
}

.efp4-box h2 {
  margin: 0 0 16px !important;
  color: #111 !important;
  font-size: 27px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
}

.efp4-text {
  color: #374151 !important;
  font-size: 16px !important;
  line-height: 1.82 !important;
}

.efp4-text p {
  margin: 0 0 16px !important;
}

.efp4-highlights,
.efp4-details {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

.efp4-highlights div {
  position: relative !important;
  min-height: 54px !important;
  padding: 14px 15px 14px 42px !important;
  border: 1px solid rgba(17, 17, 17, .07) !important;
  border-radius: 11px !important;
  background: #fafafa !important;
  color: #111 !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
}

.efp4-highlights div::before {
  content: '' !important;
  position: absolute !important;
  left: 16px !important;
  top: 20px !important;
  width: 9px !important;
  height: 9px !important;
  border-radius: 50% !important;
  background: var(--efp-primary, #d0021b) !important;
  box-shadow: 0 0 0 5px rgba(208, 2, 27, .10) !important;
}

.efp4-details {
  gap: 0 !important;
  border: 1px solid rgba(17, 17, 17, .09) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}

.efp4-details div {
  display: flex !important;
  justify-content: space-between !important;
  gap: 14px !important;
  padding: 15px 16px !important;
  border-bottom: 1px solid rgba(17, 17, 17, .08) !important;
  background: #fff !important;
}

.efp4-details div:nth-child(4n+1),
.efp4-details div:nth-child(4n+2) {
  background: #fafafa !important;
}

.efp4-details span {
  color: #6b7280 !important;
  font-weight: 700 !important;
}

.efp4-details strong {
  color: #111 !important;
  font-weight: 800 !important;
  text-align: right !important;
}

.efp4-amenities {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}

.efp4-amenities span {
  padding: 9px 13px !important;
  border-radius: 999px !important;
  background: rgba(208, 2, 27, .08) !important;
  color: #111 !important;
  font-weight: 700 !important;
}

.efp4-map {
  width: 100% !important;
  height: 380px !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  background: #f3f4f6 !important;
}

.efp4-map iframe,
.efp4-map img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border: 0 !important;
  display: block !important;
}

.efp4-archive {
  background: #fafafa !important;
}

.efp4-archive-head {
  max-width: 830px !important;
  margin: 0 auto 26px !important;
  text-align: center !important;
}

.efp4-archive-head h1 {
  max-width: none !important;
  margin: 10px auto 0 !important;
}

.efp4-archive-head p {
  margin: 12px 0 0 !important;
  color: #4b5563 !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
}

.efp4-filter {
  display: grid !important;
  grid-template-columns: 1.6fr repeat(3, 1fr) auto !important;
  gap: 10px !important;
  margin-bottom: 22px !important;
  padding: 14px !important;
  border: 1px solid rgba(17, 17, 17, .10) !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 12px 34px rgba(17, 17, 17, .055) !important;
}

.efp4-filter input,
.efp4-filter select {
  width: 100% !important;
  min-height: 46px !important;
  margin: 0 !important;
  padding: 10px 12px !important;
  border: 1px solid rgba(17, 17, 17, .16) !important;
  border-radius: 9px !important;
  background: #fff !important;
  color: #111 !important;
  font-size: 15px !important;
  outline: 0 !important;
}

.efp4-list {
  display: grid !important;
  gap: 16px !important;
}

.efp4-list-card {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 300px minmax(0, 1fr) !important;
  gap: 18px !important;
  width: 100% !important;
  padding: 14px !important;
  border: 1px solid rgba(17, 17, 17, .10) !important;
  border-radius: 14px !important;
  background: #fff !important;
  overflow: hidden !important;
  box-shadow: 0 10px 30px rgba(17, 17, 17, .055) !important;
  transition: transform .24s ease, box-shadow .24s ease !important;
}

.efp4-list-card:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 18px 45px rgba(17, 17, 17, .10) !important;
}

.efp4-list-img {
  position: relative !important;
  display: block !important;
  height: 220px !important;
  border-radius: 11px !important;
  overflow: hidden !important;
  background: #111 !important;
}

.efp4-list-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.efp4-list-img span {
  position: absolute !important;
  left: 12px !important;
  top: 12px !important;
  padding: 7px 11px !important;
  border-radius: 999px !important;
  background: var(--efp-primary, #d0021b) !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

.efp4-list-body {
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}

.efp4-list-top {
  display: flex !important;
  justify-content: space-between !important;
  gap: 18px !important;
  align-items: flex-start !important;
}

.efp4-list-top h2 {
  margin: 0 !important;
  color: #111 !important;
  font-size: 26px !important;
  line-height: 1.18 !important;
  font-weight: 800 !important;
}

.efp4-list-top h2 a {
  color: inherit !important;
}

.efp4-list-top h2 a:hover {
  color: var(--efp-primary, #d0021b) !important;
}

.efp4-list-top p {
  margin: 7px 0 0 !important;
  color: #4b5563 !important;
  font-size: 15px !important;
}

.efp4-list-top strong {
  flex: 0 0 auto !important;
  color: #111 !important;
  font-size: 24px !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}

.efp4-list-meta {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 14px 0 !important;
}

.efp4-list-meta span {
  padding: 7px 11px !important;
  border-radius: 999px !important;
  background: #f3f4f6 !important;
  color: #374151 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

.efp4-list-body > p {
  margin: 0 0 16px !important;
  color: #4b5563 !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
}

.efp4-list-actions {
  display: flex !important;
  gap: 10px !important;
  margin-top: auto !important;
}

.efp4-pagination {
  display: flex !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-top: 24px !important;
}

.efp4-pagination .page-numbers {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 40px !important;
  min-height: 40px !important;
  padding: 0 13px !important;
  border: 1px solid rgba(17, 17, 17, .14) !important;
  border-radius: 9px !important;
  background: #fff !important;
  color: #111 !important;
  font-weight: 700 !important;
}

.efp4-pagination .current {
  border-color: var(--efp-primary, #d0021b) !important;
  background: var(--efp-primary, #d0021b) !important;
  color: #fff !important;
}

.efp4-empty {
  padding: 24px !important;
  border: 1px solid rgba(17, 17, 17, .10) !important;
  border-radius: 14px !important;
  background: #fff !important;
  color: #4b5563 !important;
  text-align: center !important;
}

@media (max-width: 1024px) {
  .efp4-grid,
  .efp4-media-grid,
  .efp4-list-card {
    grid-template-columns: 1fr !important;
  }

  .efp4-contact {
    position: relative !important;
    top: auto !important;
  }

  .efp4-thumbs {
    display: flex !important;
    min-height: 0 !important;
    overflow-x: auto !important;
    padding-bottom: 3px !important;
    scrollbar-width: none !important;
  }

  .efp4-thumbs::-webkit-scrollbar {
    display: none !important;
  }

  .efp4-thumb {
    flex: 0 0 118px !important;
    width: 118px !important;
    height: 82px !important;
  }

  .efp4-filter {
    grid-template-columns: 1fr 1fr !important;
  }

  .efp4-filter .efp4-btn {
    grid-column: span 2 !important;
  }
}

@media (max-width: 767px) {
  .efp4-page {
    padding: 28px 0 48px !important;
  }

  .efp4-wrap {
    width: calc(100% - 28px) !important;
  }

  .efp4-title {
    font-size: 30px !important;
    line-height: 1.18 !important;
    letter-spacing: -0.02em !important;
  }

  .efp4-location {
    font-size: 15px !important;
  }

  .efp4-meta-strip {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }

  .efp4-meta-strip > div {
    padding: 13px !important;
  }

  .efp4-meta-strip strong {
    font-size: 16px !important;
  }

  .efp4-main-media {
    min-height: 0 !important;
    aspect-ratio: 16 / 9 !important;
    border-radius: 14px !important;
  }

  .efp4-actions,
  .efp4-list-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .efp4-box {
    padding: 18px !important;
    border-radius: 14px !important;
  }

  .efp4-box h2 {
    font-size: 23px !important;
  }

  .efp4-highlights,
  .efp4-details {
    grid-template-columns: 1fr !important;
  }

  .efp4-details div {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 4px !important;
  }

  .efp4-details strong {
    text-align: left !important;
  }

  .efp4-map {
    height: 260px !important;
  }

  .efp4-filter {
    grid-template-columns: 1fr !important;
  }

  .efp4-filter .efp4-btn {
    grid-column: auto !important;
    width: 100% !important;
  }

  .efp4-list-card {
    padding: 12px !important;
  }

  .efp4-list-img {
    height: auto !important;
    aspect-ratio: 16 / 9 !important;
  }

  .efp4-list-top {
    display: block !important;
  }

  .efp4-list-top h2 {
    font-size: 23px !important;
  }

  .efp4-list-top strong {
    display: block !important;
    margin-top: 10px !important;
    font-size: 22px !important;
  }

  .efp4-list-actions {
    grid-template-columns: 1fr 1fr !important;
  }
}

.efp4-list-card::after,
.efp4-contact-card::after {
  content: "";
  position: absolute;
  top: -120%;
  left: -55%;
  width: 42%;
  height: 340%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .48), transparent);
  transform: rotate(22deg);
  pointer-events: none;
  opacity: 0;
  z-index: 5;
}
.efp4-list-card.is-scanning::after,
.efp4-contact-card.is-scanning::after {
  opacity: 1;
  animation: efpScan .85s ease forwards;
}
.efp4-contact-card { position: relative !important; overflow: hidden !important; }


/* EstateFlow Pro v1.0.8 — International typography refinement */
.efp-shortcode,
.efp-page-shell,
.efp4-page,
.efp5-page,
.efp-shortcode *,
.efp-page-shell *,
.efp4-page *,
.efp5-page * {
  font-family: 'Noto Sans Bengali', 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  text-rendering: optimizeLegibility !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
}
.efp-page-shell,
.efp4-page,
.efp5-page {
  color: #1f2937 !important;
  line-height: 1.62 !important;
}
.efp-btn,
.efp5-btn {
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}
.efp-shortcode__head h2,
.efp-archive-hero h1,
.efp4-title,
.efp5-title {
  font-size: clamp(30px, 3.1vw, 44px) !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  letter-spacing: -0.015em !important;
  color: #111827 !important;
}
.efp-shortcode__head h2 {
  font-size: clamp(24px, 2.4vw, 32px) !important;
}
.efp-card__title,
.efp4-list-top h2,
.efp5-list-top h2 {
  font-size: 22px !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
}
.efp-card__title {
  font-size: 18px !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
}
.efp-content-box h2,
.efp4-panel h2,
.efp5-panel h2 {
  font-size: 22px !important;
  line-height: 1.32 !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
}
.efp-property-location,
.efp4-location,
.efp5-location,
.efp-archive-hero p,
.efp4-archive-head p,
.efp5-archive-head p {
  font-size: 15.5px !important;
  line-height: 1.72 !important;
  font-weight: 400 !important;
  color: #4b5563 !important;
}
.efp-property-content,
.efp4-text,
.efp5-text,
.efp-archive-card__excerpt,
.efp4-list-body > p,
.efp5-list-body > p,
.efp4-list-top p,
.efp5-list-top p {
  font-size: 15.5px !important;
  line-height: 1.82 !important;
  font-weight: 400 !important;
  color: #374151 !important;
}
.efp-card__meta-line,
.efp-card__location,
.efp-card__mini,
.efp-card__seller small,
.efp-contact-card__seller p,
.efp4-seller p,
.efp5-seller p,
.efp4-note,
.efp5-note {
  font-size: 14px !important;
  line-height: 1.55 !important;
  font-weight: 400 !important;
}
.efp-card__meta-line strong,
.efp4-list-top strong,
.efp5-list-top strong {
  font-size: 21px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
}
.efp-card__seller strong,
.efp-contact-card__seller h3,
.efp4-seller h2,
.efp5-seller h2 {
  font-size: 18px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
}
.efp-card__seller strong {
  font-size: 14px !important;
}
.efp-property-tags span,
.efp-summary-item span,
.efp-archive-hero span,
.efp-filter-bar label,
.efp-card__badges span,
.efp-card__status,
.efp4-kickers span,
.efp4-archive-head span,
.efp4-meta-strip span,
.efp5-badge,
.efp5-archive-head span,
.efp5-summary-item span,
.efp5-list-img span {
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em !important;
}
.efp-summary-item strong,
.efp4-meta-strip strong,
.efp5-summary-item strong {
  font-size: 17px !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
}
.efp-highlight-item,
.efp-details-table span,
.efp-details-table strong,
.efp-amenities span,
.efp4-highlights div,
.efp4-details span,
.efp4-details strong,
.efp4-tags span,
.efp5-highlights div,
.efp5-details span,
.efp5-details strong,
.efp5-tags span,
.efp5-list-meta span {
  font-size: 14.5px !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
}
.efp-details-table strong,
.efp4-details strong,
.efp5-details strong {
  font-weight: 600 !important;
}
.efp4-avatar,
.efp5-avatar {
  font-size: 20px !important;
  font-weight: 700 !important;
}
.efp-form label,
.efp-inquiry-form span,
.efp4-form label,
.efp5-form label {
  font-size: 13px !important;
  font-weight: 500 !important;
}
.efp-inquiry-form input,
.efp-inquiry-form textarea,
.efp-filter-bar input,
.efp-filter-bar select,
.efp4-form input,
.efp4-form textarea,
.efp4-filter input,
.efp4-filter select,
.efp5-form input,
.efp5-form textarea,
.efp5-filter input,
.efp5-filter select {
  font-size: 14px !important;
  font-weight: 400 !important;
}
.efp5-summary-item,
.efp4-meta-strip > div {
  padding: 14px !important;
}
.efp4-panel,
.efp5-panel {
  padding: 24px !important;
}
.efp5-breadcrumb,
.efp4-breadcrumb {
  font-size: 13px !important;
  font-weight: 500 !important;
}
.efp5-breadcrumb a,
.efp4-breadcrumb a {
  font-weight: 600 !important;
}
.efp5-pagination .page-numbers,
.efp4-pagination .page-numbers,
.efp-pagination .page-numbers {
  font-weight: 600 !important;
}
@media (max-width: 767px) {
  .efp-shortcode__head h2,
  .efp-archive-hero h1,
  .efp4-title,
  .efp5-title {
    font-size: 26px !important;
    line-height: 1.24 !important;
    letter-spacing: -0.01em !important;
  }
  .efp-card__title,
  .efp4-list-top h2,
  .efp5-list-top h2 {
    font-size: 20px !important;
  }
  .efp-card__title {
    font-size: 17px !important;
  }
  .efp-content-box h2,
  .efp4-panel h2,
  .efp5-panel h2 {
    font-size: 20px !important;
  }
  .efp-property-content,
  .efp4-text,
  .efp5-text,
  .efp-archive-card__excerpt,
  .efp4-list-body > p,
  .efp5-list-body > p {
    font-size: 15px !important;
  }
  .efp-summary-item strong,
  .efp4-meta-strip strong,
  .efp5-summary-item strong,
  .efp4-list-top strong,
  .efp5-list-top strong {
    font-size: 16px !important;
  }
}


/* EstateFlow Pro v1.0.8 — single property header + media badge refinement */
.efp5-single .efp5-title {
  max-width: 860px !important;
  margin: 0 0 18px !important;
  font-size: clamp(26px, 2.35vw, 34px) !important;
  line-height: 1.24 !important;
  font-weight: 650 !important;
  letter-spacing: -0.012em !important;
}
.efp5-single .efp5-location {
  display: none !important;
}
.efp5-single .efp5-head > .efp5-badges {
  display: none !important;
}
.efp5-main-media {
  isolation: isolate !important;
}
.efp5-media-badges {
  position: absolute !important;
  left: 18px !important;
  top: 18px !important;
  z-index: 12 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  max-width: calc(100% - 36px) !important;
  pointer-events: none !important;
}
.efp5-media-badge {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 30px !important;
  padding: 7px 12px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.92) !important;
  color: var(--efp-red) !important;
  border: 1px solid rgba(255,255,255,.70) !important;
  box-shadow: 0 8px 22px rgba(17,24,39,.12) !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  backdrop-filter: blur(10px) !important;
}
.efp5-summary {
  margin: 18px 0 30px !important;
}
.efp5-summary-item strong {
  font-weight: 600 !important;
}
@media (max-width: 767px) {
  .efp5-single .efp5-title {
    font-size: 24px !important;
    line-height: 1.28 !important;
    margin-bottom: 16px !important;
  }
  .efp5-media-badges {
    left: 12px !important;
    top: 12px !important;
    max-width: calc(100% - 24px) !important;
    gap: 6px !important;
  }
  .efp5-media-badge {
    min-height: 27px !important;
    padding: 6px 10px !important;
    font-size: 11px !important;
  }
}

/* EstateFlow Pro v1.0.8 — inquiry board shortcode */
.efp-inquiry-board,
.efp-inquiry-board * {
  box-sizing: border-box;
  font-family: 'Noto Sans Bengali', 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}
.efp-inquiry-board {
  width: min(1120px, calc(100vw - 32px));
  margin: 40px auto;
  color: #111827;
}
.efp-inquiry-board__head {
  margin-bottom: 18px;
}
.efp-inquiry-board__head span {
  display: inline-flex;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(208, 2, 27, .08);
  color: var(--efp-primary, #d0021b);
  font-size: 12px;
  font-weight: 600;
}
.efp-inquiry-board__head h2 {
  margin: 10px 0 6px;
  font-size: clamp(24px, 2.5vw, 34px);
  line-height: 1.2;
  font-weight: 650;
  letter-spacing: -.012em;
}
.efp-inquiry-board__head p {
  margin: 0;
  max-width: 720px;
  color: #4b5563;
  font-size: 15px;
  line-height: 1.7;
}
.efp-inquiry-list {
  display: grid;
  gap: 14px;
}
.efp-inquiry-item {
  padding: 18px;
  border: 1px solid rgba(17, 24, 39, .10);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 12px 34px rgba(17, 24, 39, .06);
}
.efp-inquiry-item__top {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
}
.efp-inquiry-item__top h3 {
  margin: 0;
  font-size: 18px;
  line-height: 1.3;
  font-weight: 650;
}
.efp-inquiry-item__top p {
  margin: 4px 0 0;
  color: #4b5563;
  font-size: 14px;
  line-height: 1.5;
}
.efp-inquiry-item__top > span {
  flex: 0 0 auto;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(208, 2, 27, .08);
  color: var(--efp-primary, #d0021b);
  font-size: 12px;
  font-weight: 600;
  text-transform: capitalize;
}
.efp-inquiry-item__meta,
.efp-inquiry-item__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 12px;
}
.efp-inquiry-item__meta a,
.efp-inquiry-item__meta time,
.efp-inquiry-item__actions a {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 7px 11px;
  border-radius: 999px;
  background: #f3f4f6;
  color: #374151;
  font-size: 13px;
  font-weight: 500;
  text-decoration: none;
}
.efp-inquiry-item__actions a {
  background: var(--efp-primary, #d0021b);
  color: #fff;
}
.efp-inquiry-item__message {
  margin: 14px 0 0;
  color: #374151;
  font-size: 15px;
  line-height: 1.75;
}
.efp-inquiry-empty {
  width: min(760px, calc(100vw - 32px));
  margin: 40px auto;
  padding: 24px;
  border: 1px solid rgba(17, 24, 39, .10);
  border-radius: 16px;
  background: #fff;
  color: #4b5563;
  text-align: center;
  box-shadow: 0 12px 34px rgba(17, 24, 39, .06);
}
@media (max-width: 767px) {
  .efp-inquiry-item__top { display: block; }
  .efp-inquiry-item__top > span { margin-top: 10px; }
}


/* EstateFlow Pro v1.0.8 — premium customer-friendly single page polish */
.efp5-page.efp5-single {
  background: linear-gradient(180deg, #ffffff 0%, #fbfbfd 58%, #ffffff 100%) !important;
}
.efp5-page.efp5-single .efp5-head {
  margin-bottom: 24px !important;
}
.efp5-page.efp5-single .efp5-breadcrumb {
  margin-bottom: 10px !important;
  color: #667085 !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
}
.efp5-page.efp5-single .efp5-breadcrumb a {
  font-weight: 600 !important;
}
.efp5-page.efp5-single .efp5-title {
  max-width: 780px !important;
  margin: 0 0 16px !important;
  color: #101828 !important;
  font-size: clamp(23px, 2.15vw, 31px) !important;
  line-height: 1.28 !important;
  font-weight: 600 !important;
  letter-spacing: -0.008em !important;
}
.efp5-page.efp5-single .efp5-summary {
  gap: 12px !important;
  margin: 18px 0 30px !important;
}
.efp5-page.efp5-single .efp5-summary-item {
  min-height: 88px !important;
  padding: 13px 16px !important;
  border-radius: 16px !important;
  border-color: rgba(16, 24, 40, .09) !important;
  background: rgba(255, 255, 255, .92) !important;
  box-shadow: 0 10px 28px rgba(16, 24, 40, .055) !important;
}
.efp5-page.efp5-single .efp5-summary-item span {
  margin-bottom: 5px !important;
  color: #667085 !important;
  font-size: 10.5px !important;
  font-weight: 600 !important;
  letter-spacing: .035em !important;
}
.efp5-page.efp5-single .efp5-summary-item strong {
  color: #101828 !important;
  font-size: 15.5px !important;
  line-height: 1.36 !important;
  font-weight: 600 !important;
}
.efp5-page.efp5-single .efp5-summary-item small {
  margin-top: 4px !important;
  color: #667085 !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
  font-weight: 400 !important;
}
.efp5-page.efp5-single .efp5-layout {
  gap: 30px !important;
}
.efp5-page.efp5-single .efp5-main-media {
  border-radius: 18px !important;
  box-shadow: 0 16px 42px rgba(16, 24, 40, .12) !important;
}
.efp5-page.efp5-single .efp5-thumb {
  border-radius: 12px !important;
  box-shadow: 0 8px 22px rgba(16,24,40,.08) !important;
}
.efp5-page.efp5-single .efp5-media-badge {
  min-height: 28px !important;
  padding: 6px 11px !important;
  color: var(--efp-red) !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  background: rgba(255, 255, 255, .94) !important;
  box-shadow: 0 8px 20px rgba(16, 24, 40, .10) !important;
}
.efp5-page.efp5-single .efp5-panel {
  padding: 24px !important;
  border-radius: 18px !important;
  border-color: rgba(16, 24, 40, .08) !important;
  box-shadow: 0 12px 32px rgba(16, 24, 40, .045) !important;
}
.efp5-page.efp5-single .efp5-panel h2 {
  margin-bottom: 14px !important;
  color: #101828 !important;
  font-size: 20px !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
}
.efp5-page.efp5-single .efp5-text,
.efp5-page.efp5-single .efp5-text p {
  color: #344054 !important;
  font-size: 15.25px !important;
  line-height: 1.82 !important;
  font-weight: 400 !important;
}
.efp5-page.efp5-single .efp5-highlights div,
.efp5-page.efp5-single .efp5-details span,
.efp5-page.efp5-single .efp5-details strong,
.efp5-page.efp5-single .efp5-tags span {
  font-size: 14px !important;
  line-height: 1.58 !important;
  font-weight: 500 !important;
}
.efp5-page.efp5-single .efp5-details strong {
  color: #101828 !important;
  font-weight: 600 !important;
}
.efp5-page.efp5-single .efp5-contact-card {
  padding: 20px !important;
  border-radius: 20px !important;
  border-color: rgba(16, 24, 40, .09) !important;
  box-shadow: 0 18px 44px rgba(16, 24, 40, .105) !important;
}
.efp5-page.efp5-single .efp5-avatar {
  width: 56px !important;
  height: 56px !important;
  flex-basis: 56px !important;
  border-radius: 15px !important;
  font-size: 19px !important;
  font-weight: 600 !important;
}
.efp5-page.efp5-single .efp5-seller h2 {
  color: #101828 !important;
  font-size: 17px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
}
.efp5-page.efp5-single .efp5-seller p {
  color: #667085 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
}
.efp5-page.efp5-single .efp5-btn {
  min-height: 42px !important;
  border-radius: 10px !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
}
.efp5-page.efp5-single .efp5-form label {
  color: #344054 !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
}
.efp5-page.efp5-single .efp5-form input,
.efp5-page.efp5-single .efp5-form textarea {
  min-height: 42px !important;
  border-radius: 10px !important;
  border-color: rgba(16, 24, 40, .16) !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}
.efp5-page.efp5-single .efp5-form textarea {
  min-height: 102px !important;
}
.efp5-page.efp5-single .efp5-note {
  color: #667085 !important;
  font-size: 11.75px !important;
  line-height: 1.55 !important;
}
.efp5-archive .efp5-list-top h2 {
  font-size: 22px !important;
  font-weight: 600 !important;
  line-height: 1.32 !important;
}
.efp5-archive .efp5-list-top strong {
  font-size: 20px !important;
  font-weight: 600 !important;
}
.efp5-archive .efp5-list-meta span,
.efp5-archive .efp5-list-body > p {
  font-size: 14px !important;
  font-weight: 400 !important;
}
@media (max-width: 1024px) {
  .efp5-page.efp5-single .efp5-title {
    max-width: 100% !important;
  }
}
@media (max-width: 767px) {
  .efp5-page.efp5-single .efp5-title {
    font-size: 22px !important;
    line-height: 1.34 !important;
  }
  .efp5-page.efp5-single .efp5-summary {
    grid-template-columns: 1fr 1fr !important;
    gap: 9px !important;
  }
  .efp5-page.efp5-single .efp5-summary-item {
    min-height: 78px !important;
    padding: 11px 12px !important;
    border-radius: 14px !important;
  }
  .efp5-page.efp5-single .efp5-summary-item span {
    font-size: 10px !important;
  }
  .efp5-page.efp5-single .efp5-summary-item strong {
    font-size: 14px !important;
  }
  .efp5-page.efp5-single .efp5-panel {
    padding: 18px !important;
    border-radius: 15px !important;
  }
  .efp5-page.efp5-single .efp5-panel h2 {
    font-size: 18px !important;
  }
}


/* EstateFlow Pro v1.0.10 — compact header, clean Woodmart background, slimmer summary cards */
.efp5-page.efp5-single {
  background: #ffffff !important;
  padding-top: 126px !important;
}
body.admin-bar .efp5-page.efp5-single {
  padding-top: 150px !important;
}
.efp5-page.efp5-single:before,
.efp5-page.efp5-single:after {
  display: none !important;
  content: none !important;
}
.efp5-page.efp5-single .efp5-container {
  width: min(1180px, calc(100vw - 40px)) !important;
  max-width: 1180px !important;
}
.efp5-page.efp5-single .efp5-head {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  margin: 0 0 22px !important;
  padding: 18px 20px 18px !important;
  border-radius: 20px !important;
  border: 1px solid rgba(16, 24, 40, .07) !important;
  background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(255,250,250,.74)) !important;
  box-shadow: 0 14px 38px rgba(16, 24, 40, .055) !important;
}
.efp5-page.efp5-single .efp5-head:before {
  content: '' !important;
  position: absolute !important;
  right: -54px !important;
  top: -62px !important;
  width: 148px !important;
  height: 148px !important;
  border-radius: 999px !important;
  background: rgba(208, 2, 27, .055) !important;
  pointer-events: none !important;
  z-index: -1 !important;
}
.efp5-page.efp5-single .efp5-head:after {
  content: '' !important;
  position: absolute !important;
  left: 20px !important;
  right: 20px !important;
  bottom: 0 !important;
  height: 2px !important;
  border-radius: 999px 999px 0 0 !important;
  background: linear-gradient(90deg, var(--efp-red), rgba(18, 140, 126, .52), transparent) !important;
  pointer-events: none !important;
}
.efp5-page.efp5-single .efp5-breadcrumb {
  margin: 0 0 10px !important;
  padding: 6px 10px !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .78) !important;
  border: 1px solid rgba(16,24,40,.07) !important;
  box-shadow: none !important;
  color: #667085 !important;
  font-size: 11.5px !important;
  line-height: 1.35 !important;
  font-weight: 500 !important;
}
.efp5-page.efp5-single .efp5-breadcrumb a {
  color: var(--efp-red) !important;
  font-weight: 600 !important;
}
.efp5-page.efp5-single .efp5-title {
  max-width: 760px !important;
  margin: 0 !important;
  color: #101828 !important;
  font-size: clamp(20px, 1.72vw, 25px) !important;
  line-height: 1.34 !important;
  font-weight: 600 !important;
  letter-spacing: -0.006em !important;
}
.efp5-page.efp5-single .efp5-summary {
  gap: 10px !important;
  margin: 15px 0 20px !important;
}
.efp5-page.efp5-single .efp5-summary-item {
  min-height: 62px !important;
  padding: 10px 13px 10px 15px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(16,24,40,.075) !important;
  background: rgba(255,255,255,.92) !important;
  box-shadow: 0 8px 22px rgba(16, 24, 40, .045) !important;
  backdrop-filter: none !important;
}
.efp5-page.efp5-single .efp5-summary-item:before {
  top: 12px !important;
  bottom: 12px !important;
  width: 3px !important;
  opacity: .92 !important;
}
.efp5-page.efp5-single .efp5-summary-item span {
  margin-bottom: 3px !important;
  color: #667085 !important;
  font-size: 9px !important;
  line-height: 1.15 !important;
  font-weight: 600 !important;
  letter-spacing: .05em !important;
}
.efp5-page.efp5-single .efp5-summary-item strong {
  color: #101828 !important;
  font-size: 13.5px !important;
  line-height: 1.32 !important;
  font-weight: 600 !important;
}
.efp5-page.efp5-single .efp5-summary-item small {
  margin-top: 2px !important;
  color: #667085 !important;
  font-size: 10.5px !important;
  line-height: 1.35 !important;
  font-weight: 400 !important;
}
.efp5-page.efp5-single .efp5-layout {
  gap: 26px !important;
}
.efp5-page.efp5-single .efp5-main-media {
  border-radius: 20px !important;
  box-shadow: 0 18px 54px rgba(16,24,40,.13) !important;
}
.efp5-page.efp5-single .efp5-contact-card {
  border-radius: 20px !important;
  box-shadow: 0 20px 54px rgba(16,24,40,.105) !important;
}
@media (max-width: 1024px) {
  .efp5-page.efp5-single {
    padding-top: 110px !important;
  }
  body.admin-bar .efp5-page.efp5-single {
    padding-top: 134px !important;
  }
}
@media (max-width: 767px) {
  .efp5-page.efp5-single {
    padding-top: 84px !important;
  }
  body.admin-bar .efp5-page.efp5-single {
    padding-top: 108px !important;
  }
  .efp5-page.efp5-single .efp5-container {
    width: calc(100vw - 28px) !important;
  }
  .efp5-page.efp5-single .efp5-head {
    padding: 15px !important;
    border-radius: 18px !important;
    margin-bottom: 16px !important;
  }
  .efp5-page.efp5-single .efp5-breadcrumb {
    font-size: 11px !important;
    margin-bottom: 9px !important;
    padding: 6px 9px !important;
  }
  .efp5-page.efp5-single .efp5-title {
    font-size: 19px !important;
    line-height: 1.36 !important;
  }
  .efp5-summary--desktop {
    display: none !important;
  }
  .efp5-summary--mobile {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    margin: 12px 0 18px !important;
  }
  .efp5-page.efp5-single .efp5-summary-item {
    min-height: 60px !important;
    padding: 9px 10px 9px 13px !important;
    border-radius: 12px !important;
  }
  .efp5-page.efp5-single .efp5-summary-item:before {
    top: 11px !important;
    bottom: 11px !important;
    width: 3px !important;
  }
  .efp5-page.efp5-single .efp5-summary-item span {
    font-size: 8.7px !important;
    margin-bottom: 3px !important;
  }
  .efp5-page.efp5-single .efp5-summary-item strong {
    font-size: 12.5px !important;
  }
  .efp5-page.efp5-single .efp5-summary-item small {
    font-size: 10px !important;
  }
}

/* EstateFlow Pro v1.0.11 — mobile contact placement, refined title, clean video, better details */
.efp5-page.efp5-single .efp5-title {
  font-size: clamp(23px, 2.05vw, 30px) !important;
  line-height: 1.28 !important;
  font-weight: 620 !important;
  letter-spacing: -0.01em !important;
}
.efp5-mobile-contact-wrap {
  display: none !important;
}
.efp5-page.efp5-single .efp5-main-media video {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  background: #111827 !important;
}
.efp5-page.efp5-single .efp5-main-media video::-webkit-media-controls,
.efp5-page.efp5-single .efp5-main-media video::-webkit-media-controls-enclosure,
.efp5-page.efp5-single .efp5-main-media video::-webkit-media-controls-panel,
.efp5-page.efp5-single .efp5-main-media video::-webkit-media-controls-play-button,
.efp5-page.efp5-single .efp5-main-media video::-webkit-media-controls-timeline,
.efp5-page.efp5-single .efp5-main-media video::-webkit-media-controls-current-time-display,
.efp5-page.efp5-single .efp5-main-media video::-webkit-media-controls-time-remaining-display,
.efp5-page.efp5-single .efp5-main-media video::-webkit-media-controls-toggle-closed-captions-button,
.efp5-page.efp5-single .efp5-main-media video::-webkit-media-controls-volume-slider,
.efp5-page.efp5-single .efp5-main-media video::-webkit-media-controls-mute-button,
.efp5-page.efp5-single .efp5-main-media video::-webkit-media-controls-fullscreen-button {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}
.efp5-page.efp5-single .efp5-panel-headline {
  margin: 0 0 16px !important;
}
.efp5-page.efp5-single .efp5-panel-headline h2 {
  margin: 0 0 6px !important;
}
.efp5-page.efp5-single .efp5-panel-headline p {
  margin: 0 !important;
  color: #667085 !important;
  font-size: 14px !important;
  line-height: 1.62 !important;
  font-weight: 400 !important;
}
.efp5-page.efp5-single .efp5-details-panel {
  background: linear-gradient(135deg, #ffffff 0%, #fbfcff 100%) !important;
}
.efp5-page.efp5-single .efp5-details {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  border: 0 !important;
  background: transparent !important;
}
.efp5-page.efp5-single .efp5-details div {
  position: relative !important;
  display: block !important;
  min-height: 70px !important;
  padding: 14px 14px 14px 17px !important;
  border: 1px solid rgba(16, 24, 40, .08) !important;
  border-radius: 15px !important;
  background: #ffffff !important;
  box-shadow: 0 8px 22px rgba(16, 24, 40, .035) !important;
  overflow: hidden !important;
}
.efp5-page.efp5-single .efp5-details div:before {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  top: 14px !important;
  bottom: 14px !important;
  width: 3px !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg, var(--efp-red), rgba(18, 140, 126, .7)) !important;
}
.efp5-page.efp5-single .efp5-details span {
  display: block !important;
  margin: 0 0 5px !important;
  color: #667085 !important;
  font-size: 10.5px !important;
  line-height: 1.2 !important;
  font-weight: 650 !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
}
.efp5-page.efp5-single .efp5-details strong {
  display: block !important;
  color: #101828 !important;
  text-align: left !important;
  font-size: 14.5px !important;
  line-height: 1.42 !important;
  font-weight: 600 !important;
}
@media (max-width: 767px) {
  .efp5-page.efp5-single .efp5-title {
    font-size: 22.5px !important;
    line-height: 1.32 !important;
  }
  .efp5-page.efp5-single .efp5-right {
    display: none !important;
  }
  .efp5-mobile-contact-wrap {
    display: block !important;
    margin: 16px 0 22px !important;
  }
  .efp5-mobile-contact-wrap .efp5-contact {
    position: relative !important;
    top: auto !important;
    display: block !important;
    width: 100% !important;
  }
  .efp5-mobile-contact-wrap .efp5-contact-card {
    padding: 18px !important;
    border-radius: 18px !important;
  }
  .efp5-page.efp5-single .efp5-details {
    grid-template-columns: 1fr !important;
  }
  .efp5-page.efp5-single .efp5-details div {
    min-height: auto !important;
    padding: 13px 13px 13px 16px !important;
  }
}

/* EstateFlow Pro v1.0.11 — inquiry board polish */
.efp-inquiry-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 22px 0;
}
.efp-inquiry-stats div {
  padding: 16px;
  border: 1px solid rgba(16, 24, 40, .08);
  border-radius: 18px;
  background: linear-gradient(135deg, #ffffff, #fbfbfd);
  box-shadow: 0 12px 32px rgba(16, 24, 40, .055);
}
.efp-inquiry-stats span {
  display: block;
  color: #667085;
  font-size: 12px;
  line-height: 1.2;
  font-weight: 650;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.efp-inquiry-stats strong {
  display: block;
  margin-top: 6px;
  color: #101828;
  font-size: 28px;
  line-height: 1;
  font-weight: 650;
}
.efp-inquiry-item__top .efp-status {
  display: inline-flex;
  align-items: center;
  padding: 7px 11px;
  border-radius: 999px;
  font-size: 12px;
  line-height: 1;
  font-weight: 650;
  text-transform: capitalize;
}
.efp-status--new { background: rgba(208, 2, 27, .08) !important; color: #d0021b !important; }
.efp-status--contacted { background: rgba(18, 140, 126, .10) !important; color: #0f766e !important; }
.efp-status--closed { background: rgba(55, 48, 163, .10) !important; color: #3730a3 !important; }
@media (max-width: 767px) {
  .efp-inquiry-stats { grid-template-columns: 1fr; }
}

/* EstateFlow Pro v1.0.12 — mobile cleanup: hide breadcrumb and Woodmart sidebar opener */
@media (max-width: 767px) {
  body.single-efp_property .efp5-page.efp5-single .efp5-breadcrumb,
  .efp5-page.efp5-single .efp5-breadcrumb {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  body.single-efp_property .wd-show-sidebar-btn,
  body.single-efp_property .woodmart-show-sidebar-btn,
  body.single-efp_property .wd-sidebar-opener,
  body.single-efp_property .wd-sticky-sidebar-opener,
  body.single-efp_property .wd-off-canvas-sidebar-btn,
  body.single-efp_property .wd-open-sidebar,
  body.single-efp_property .btn-show-sidebar,
  body.single-efp_property .sidebar-opener,
  body.single-efp_property .sidebar-toggle,
  body.single-efp_property .mobile-sidebar-opener,
  body.single-efp_property .shop-sidebar-opener,
  body.single-efp_property .wd-filter-btn,
  body.single-efp_property .wd-filter-buttons,
  body.single-efp_property .wd-action-btn[class*="sidebar"],
  body.single-efp_property button[class*="show-sidebar"],
  body.single-efp_property a[class*="show-sidebar"],
  body.single-efp_property button[class*="sidebar-opener"],
  body.single-efp_property a[class*="sidebar-opener"] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  body.single-efp_property .efp5-page.efp5-single .efp5-head {
    padding-top: 15px !important;
  }

  body.single-efp_property .efp5-page.efp5-single .efp5-title {
    margin-top: 0 !important;
  }
}


/* EstateFlow Pro v1.0.13 — multinational polish, compact contact, reviews, SEO-safe frontend */
.efp5-page.efp5-single {
  background: linear-gradient(180deg, #ffffff 0%, #ffffff 150px, #f8fafc 151px, #ffffff 760px) !important;
}
.efp5-page.efp5-single .efp5-container {
  max-width: 1160px !important;
}
.efp5-page.efp5-single .efp5-head {
  padding: 22px 24px 20px !important;
  border: 1px solid rgba(16, 24, 40, .07) !important;
  border-radius: 22px !important;
  background: rgba(255,255,255,.96) !important;
  box-shadow: 0 18px 55px rgba(16,24,40,.055) !important;
}
.efp5-page.efp5-single .efp5-title {
  max-width: 880px !important;
  font-size: clamp(25px, 2.25vw, 32px) !important;
  line-height: 1.24 !important;
  font-weight: 630 !important;
}
.efp5-page.efp5-single .efp5-summary {
  margin: 18px 0 0 !important;
  gap: 10px !important;
}
.efp5-page.efp5-single .efp5-summary-item {
  min-height: 68px !important;
  padding: 11px 14px 11px 16px !important;
  border-radius: 15px !important;
  background: #fff !important;
  box-shadow: 0 10px 28px rgba(16,24,40,.045) !important;
}
.efp5-page.efp5-single .efp5-summary-item span {
  font-size: 10px !important;
  font-weight: 650 !important;
  letter-spacing: .055em !important;
}
.efp5-page.efp5-single .efp5-summary-item strong {
  font-size: 14.5px !important;
  line-height: 1.28 !important;
  font-weight: 610 !important;
}
.efp5-page.efp5-single .efp5-summary-item small {
  margin-top: 3px !important;
  font-size: 12px !important;
  line-height: 1.3 !important;
  font-weight: 400 !important;
}
.efp5-page.efp5-single .efp5-layout {
  grid-template-columns: minmax(0, 1fr) 320px !important;
  gap: 24px !important;
  margin-top: 24px !important;
}
.efp5-page.efp5-single .efp5-panel {
  border-color: rgba(16,24,40,.075) !important;
  border-radius: 20px !important;
  box-shadow: 0 14px 42px rgba(16,24,40,.052) !important;
}
.efp5-page.efp5-single .efp5-panel h2 {
  font-size: 23px !important;
  font-weight: 650 !important;
  letter-spacing: -.01em !important;
}
.efp5-page.efp5-single .efp5-contact {
  top: 106px !important;
}
.admin-bar .efp5-page.efp5-single .efp5-contact {
  top: 136px !important;
}
.efp5-page.efp5-single .efp5-contact-card {
  padding: 16px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(16,24,40,.08) !important;
  box-shadow: 0 14px 42px rgba(16,24,40,.07) !important;
}
.efp5-page.efp5-single .efp5-seller {
  gap: 10px !important;
  margin-bottom: 12px !important;
}
.efp5-page.efp5-single .efp5-avatar {
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  border-radius: 14px !important;
  font-size: 19px !important;
  font-weight: 650 !important;
}
.efp5-page.efp5-single .efp5-seller h2 {
  font-size: 17px !important;
  line-height: 1.25 !important;
  font-weight: 650 !important;
  margin: 0 0 2px !important;
}
.efp5-page.efp5-single .efp5-seller p,
.efp5-page.efp5-single .efp5-note {
  font-size: 12px !important;
  line-height: 1.45 !important;
}
.efp5-page.efp5-single .efp5-actions {
  gap: 8px !important;
  margin: 10px 0 12px !important;
}
.efp5-page.efp5-single .efp5-btn {
  min-height: 38px !important;
  border-radius: 10px !important;
  font-size: 13px !important;
  font-weight: 650 !important;
}
.efp5-page.efp5-single .efp5-form {
  gap: 9px !important;
}
.efp5-page.efp5-single .efp5-form label,
.efp5-page.efp5-single .efp5-review-form label {
  font-size: 11.5px !important;
  line-height: 1.35 !important;
  font-weight: 650 !important;
  color: #475467 !important;
}
.efp5-page.efp5-single .efp5-form input,
.efp5-page.efp5-single .efp5-form textarea,
.efp5-page.efp5-single .efp5-review-form input,
.efp5-page.efp5-single .efp5-review-form textarea,
.efp5-page.efp5-single .efp5-review-form select {
  min-height: 38px !important;
  margin-top: 5px !important;
  padding: 9px 11px !important;
  border-radius: 10px !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  border: 1px solid rgba(16,24,40,.12) !important;
  background: #fff !important;
}
.efp5-page.efp5-single .efp5-form textarea,
.efp5-page.efp5-single .efp5-review-form textarea {
  min-height: 78px !important;
}
.efp5-page.efp5-single .efp5-details-panel {
  background: linear-gradient(135deg, #ffffff 0%, #fbfcff 52%, #fff7f8 100%) !important;
}
.efp5-page.efp5-single .efp5-details {
  gap: 9px !important;
}
.efp5-page.efp5-single .efp5-details div {
  min-height: 62px !important;
  border-radius: 14px !important;
  box-shadow: 0 7px 18px rgba(16,24,40,.032) !important;
}
.efp5-page.efp5-single .efp5-review-panel {
  background: linear-gradient(135deg, #ffffff, #f8fafc) !important;
}
.efp5-review-head {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 16px !important;
  margin-bottom: 16px !important;
}
.efp5-review-score {
  min-width: 118px !important;
  padding: 12px 14px !important;
  border: 1px solid rgba(16,24,40,.08) !important;
  border-radius: 16px !important;
  background: #fff !important;
  text-align: center !important;
  box-shadow: 0 10px 26px rgba(16,24,40,.045) !important;
}
.efp5-review-score strong {
  display: block !important;
  font-size: 24px !important;
  line-height: 1 !important;
  font-weight: 650 !important;
  color: #101828 !important;
}
.efp5-review-score span {
  display: block !important;
  color: #f59e0b !important;
  font-size: 14px !important;
  letter-spacing: .05em !important;
  margin: 5px 0 3px !important;
}
.efp5-review-score small {
  color: #667085 !important;
  font-size: 11.5px !important;
}
.efp5-review-list {
  display: grid !important;
  gap: 10px !important;
  margin: 0 0 16px !important;
}
.efp5-review-item,
.efp5-review-quote,
.efp5-review-empty {
  border: 1px solid rgba(16,24,40,.08) !important;
  border-radius: 16px !important;
  background: #fff !important;
  padding: 15px !important;
  box-shadow: 0 8px 24px rgba(16,24,40,.035) !important;
}
.efp5-review-item__top {
  display: flex !important;
  justify-content: space-between !important;
  gap: 10px !important;
  margin-bottom: 6px !important;
}
.efp5-review-item__top strong {
  font-size: 14px !important;
  font-weight: 650 !important;
  color: #101828 !important;
}
.efp5-review-item__top span {
  color: #f59e0b !important;
  font-size: 13px !important;
  white-space: nowrap !important;
}
.efp5-review-item p,
.efp5-review-quote p,
.efp5-review-empty {
  color: #344054 !important;
  font-size: 14px !important;
  line-height: 1.68 !important;
  margin: 0 !important;
}
.efp5-review-item time,
.efp5-review-quote footer {
  display: block !important;
  margin-top: 8px !important;
  color: #667085 !important;
  font-size: 12px !important;
}
.efp5-review-form {
  margin-top: 16px !important;
  padding: 16px !important;
  border: 1px solid rgba(16,24,40,.08) !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.82) !important;
}
.efp5-review-form__grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin-bottom: 10px !important;
}
.efp5-alert--warning {
  background: rgba(245, 158, 11, .10) !important;
  color: #92400e !important;
}
body.single-efp_property .efp5-page [class*="sidebar-opener"],
body.single-efp_property .efp5-page [class*="show-sidebar"],
body.single-efp_property .efp5-page [class*="filter-btn"],
body.single-efp_property .efp5-page [class*="wd-filter"],
body.single-efp_property .efp5-main-media [class*="sidebar"],
body.single-efp_property .efp5-main-media [class*="filter"],
body.single-efp_property .efp5-left > .wd-sidebar-opener,
body.single-efp_property .efp5-left > .wd-show-sidebar-btn {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.efp-inquiry-board__head span {
  color: #d0021b !important;
}
@media (max-width: 1024px) {
  .efp5-page.efp5-single .efp5-layout {
    grid-template-columns: 1fr !important;
  }
  .efp5-page.efp5-single .efp5-right {
    display: none !important;
  }
}
@media (max-width: 767px) {
  .efp5-page.efp5-single {
    background: #fff !important;
    padding-top: 122px !important;
  }
  body.admin-bar .efp5-page.efp5-single {
    padding-top: 132px !important;
  }
  .efp5-page.efp5-single .efp5-container {
    width: calc(100vw - 28px) !important;
  }
  .efp5-page.efp5-single .efp5-head {
    padding: 14px 14px 16px !important;
    border-radius: 18px !important;
    box-shadow: 0 10px 30px rgba(16,24,40,.05) !important;
  }
  .efp5-page.efp5-single .efp5-title {
    font-size: 25.5px !important;
    line-height: 1.28 !important;
    font-weight: 650 !important;
  }
  .efp5-page.efp5-single .efp5-layout {
    margin-top: 18px !important;
    gap: 18px !important;
  }
  .efp5-mobile-contact-wrap {
    display: block !important;
    margin: 16px 0 18px !important;
  }
  .efp5-mobile-contact-wrap .efp5-contact-card {
    padding: 15px !important;
    border-radius: 18px !important;
  }
  .efp5-page.efp5-single .efp5-summary--mobile {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin: 16px 0 0 !important;
  }
  .efp5-page.efp5-single .efp5-summary-item {
    min-height: 76px !important;
    padding: 12px 12px 12px 15px !important;
  }
  .efp5-page.efp5-single .efp5-panel {
    padding: 20px !important;
    border-radius: 18px !important;
    margin-bottom: 18px !important;
  }
  .efp5-page.efp5-single .efp5-panel h2 {
    font-size: 22px !important;
  }
  .efp5-page.efp5-single .efp5-details {
    grid-template-columns: 1fr !important;
  }
  .efp5-review-head,
  .efp5-review-form__grid {
    grid-template-columns: 1fr !important;
    display: grid !important;
  }
  .efp5-review-score {
    width: 100% !important;
    text-align: left !important;
  }
  body.single-efp_property .wd-sidebar-opener,
  body.single-efp_property .wd-show-sidebar-btn,
  body.single-efp_property .wd-shop-tools,
  body.single-efp_property .wd-sticky-sidebar-opener,
  body.single-efp_property .wd-off-canvas-sidebar-btn,
  body.single-efp_property [class*="sidebar-opener"],
  body.single-efp_property [class*="show-sidebar"] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
  body.single-efp_property .whb-header [class*="mobile"],
  body.single-efp_property .whb-header .wd-tools-element,
  body.single-efp_property .whb-header .wd-header-mobile-nav,
  body.single-efp_property .whb-header .wd-header-main-nav,
  body.single-efp_property .whb-header .wd-header-menu,
  body.single-efp_property .whb-header .wd-header-cats {
    display: initial !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }
}
