/* Shared RealHomes detail layout: photo, title and enquiry each get their own space. */
body.single-property .single-property-fullwidth { background: #faf9f6; }
body.single-property .single-property-fullwidth .single-property-fullwidth-flexslider {
  height: auto !important; max-width: 1180px; margin: 24px auto 0; background: #fff;
}
body.single-property .single-property-fullwidth .property-detail-slider-wrapper,
body.single-property .single-property-fullwidth .property-detail-slider-wrapper .flexslider,
body.single-property .single-property-fullwidth .property-detail-slider-wrapper .slides,
body.single-property .single-property-fullwidth .property-detail-slider-wrapper .slides > li {
  height: clamp(340px, 38vw, 490px) !important; min-height: 0 !important;
}
body.single-property .single-property-fullwidth .property-detail-slider-wrapper .slides > li > a { display: block; height: 100%; }
body.single-property .single-property-fullwidth .property-detail-slider-wrapper .slides img {
  width: 100% !important; height: 100% !important; object-fit: contain; background: #eae9e4;
}
body.single-property .single-property-fullwidth .property-head-wrapper {
  position: relative !important; inset: auto !important; background: #fff !important;
  padding: 28px 32px 8px !important; color: #263d36; width: 100%; box-sizing: border-box;
}
body.single-property .single-property-fullwidth .property-head-wrapper .rh_page__head {
  width: 100%; max-width: none; padding: 0 0 22px !important; display: flex !important;
  justify-content: space-between; align-items: flex-start; gap: 24px; flex-wrap: wrap;
}
body.single-property .single-property-fullwidth .rh_page__property_title { min-width: 0; flex: 1 1 340px; }
body.single-property .single-property-fullwidth .rh_page__property_price { flex: 0 1 auto; text-align: right; }
body.single-property .single-property-fullwidth .property-head-wrapper .page-breadcrumbs,
body.single-property .single-property-fullwidth .property-head-wrapper .page-breadcrumbs a,
body.single-property .single-property-fullwidth .property-head-wrapper .status,
body.single-property .single-property-fullwidth .property-head-wrapper .rh_page__property_address { color: #53675e !important; }
body.single-property .single-property-fullwidth h1.rh_page__title { font-size: 32px !important; overflow-wrap: anywhere; }
body.single-property .single-property-fullwidth .viveo-property-actions { margin: 0 0 20px; padding: 20px; }
body.single-property .single-property-fullwidth #primary > .single-property-section > .container {
  width: min(100%, 960px) !important; max-width: 960px !important; padding-left: 32px; padding-right: 32px; box-sizing: border-box;
}
body.single-property .single-property-fullwidth #primary .content-wrapper { padding-top: 32px; }
body.single-property .single-property-fullwidth #primary .rh_content { max-width: none; margin: 0; }
body.single-property .single-property-fullwidth .property-detail-slider-wrapper { position: relative; }
body.single-property .single-property-fullwidth .viveo-gallery-count {
  position: absolute; z-index: 8; right: 18px; bottom: 16px; pointer-events: none;
  padding: 9px 14px; border-radius: 24px; background: rgba(25,43,37,.9); color: #fff;
  font: 600 13px/1.2 Arial,sans-serif; letter-spacing: .02em;
}
body.single-property .single-property-fullwidth #primary .rh_content h3 {
  font: 600 22px/1.35 Arial, sans-serif; color: #263d36; margin: 30px 0 12px;
}
body.single-property .single-property-fullwidth #primary .rh_content p { max-width: none; }
body.single-property .single-property-fullwidth #primary .rh_property__meta_wrap { gap: 28px; flex-wrap: wrap; }
/* Keep decorative ticks separate from readable feature labels. */
.viveo-floor-plans { margin: 42px 0 16px; padding-top: 32px; border-top: 1px solid #dce4df; }
.viveo-floor-plans h2 { margin: 0 0 22px; color: #263d36; font: 600 28px/1.25 Arial,sans-serif; }
.viveo-plan-card { margin: 0 0 24px; overflow: hidden; background: #fff; border: 1px solid #dce4df; border-radius: 14px; }
.viveo-plan-heading { padding: 20px 24px; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 20px; border-bottom: 1px solid #edf0ed; }
body.single-property .single-property-fullwidth #primary .rh_content .viveo-plan-heading h3 { margin: 0; font-size: 19px; }
.viveo-plan-heading span { font-size: 14px; color: #61746a; }
.viveo-plan-preview { display: block; padding: 16px; background: #fff; }
.viveo-plan-preview img { display: block; width: 100%; max-height: 660px; object-fit: contain; margin: 0 auto !important; }
.viveo-plan-actions { display: flex; flex-wrap: wrap; gap: 12px; padding: 20px 24px; border-top: 1px solid #edf0ed; }
.viveo-plan-actions a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 18px; border-radius: 7px; border: 1px solid #285b4f; color: #285b4f !important; font-size: 15px; font-weight: 600; text-decoration: none !important; }
.viveo-plan-actions a:first-child { background: #285b4f; color: #fff !important; }
.viveo-plan-actions a:hover { box-shadow: 0 0 0 3px #dce9e1; }
.viveo-plan-actions a:focus-visible,.viveo-plan-preview:focus-visible { outline: 3px solid #b38a43; outline-offset: 3px; }
.viveo-plan-pages summary { padding: 16px 24px; cursor: pointer; font-size: 16px; color: #285b4f; border-top: 1px solid #edf0ed; }
body.single-property .single-property-fullwidth #primary .rh_content .viveo-plan-note { font-size: 14px; color: #61746a; line-height: 1.6; }
@media(max-width:600px) { .viveo-plan-heading,.viveo-plan-actions { padding: 16px; } .viveo-plan-actions a { flex: 1 1 auto; } .viveo-plan-preview { padding: 8px; } }
body.single-property .single-property-fullwidth .rh_property__features_wrap {
  padding: 28px; background: #fff; border: 1px solid #dce4df; border-radius: 16px;
}
body.single-property .single-property-fullwidth .rh_property__features_wrap .rh_property__heading { margin: 0 0 20px; }
body.single-property .single-property-fullwidth .rh_property__features {
  display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0 28px !important; padding: 0 !important; margin: 0 !important; list-style: none !important;
}
body.single-property .single-property-fullwidth .rh_property__features .rh_property__feature {
  display: flex !important; align-items: flex-start !important; gap: 12px; width: auto !important;
  padding: 14px 0 !important; margin: 0 !important; min-width: 0;
  border-bottom: 1px solid #edf0ed; color: #3d5149; font-size: 16px !important; line-height: 1.5 !important;
}
body.single-property .single-property-fullwidth .rh_property__features .rh_property__feature[hidden] { display: none !important; }
body.single-property .single-property-fullwidth .rh_property__features .rh_property__feature::before { content: none !important; }
body.single-property .single-property-fullwidth .rh_property__features .rh_done_icon {
  position: static !important; inset: auto !important; transform: none !important;
  display: flex !important; align-items: center; justify-content: center; flex: 0 0 24px;
  width: 24px !important; height: 24px !important; margin: 0 !important; padding: 0;
  border-radius: 50%; background: #eaf2ed;
}
body.single-property .single-property-fullwidth .rh_property__features .rh_done_icon svg {
  display: block; width: 12px !important; height: 12px !important; fill: #285b4f !important;
}
body.single-property .single-property-fullwidth .viveo-feature-text { min-width: 0; overflow-wrap: anywhere; }
body.single-property .single-property-fullwidth .viveo-feature-text strong { color: #263d36; font-weight: 600; }
@media (max-width: 767px) {
  body.single-property .single-property-fullwidth .rh_property__features_wrap { padding: 22px 18px; }
  body.single-property .single-property-fullwidth .rh_property__features { grid-template-columns: minmax(0, 1fr) !important; }
  body.single-property .single-property-fullwidth .single-property-fullwidth-flexslider { margin-top: 0; }
  body.single-property .single-property-fullwidth .property-detail-slider-wrapper,
  body.single-property .single-property-fullwidth .property-detail-slider-wrapper .flexslider,
  body.single-property .single-property-fullwidth .property-detail-slider-wrapper .slides,
  body.single-property .single-property-fullwidth .property-detail-slider-wrapper .slides > li { height: clamp(230px, 65vw, 360px) !important; }
  body.single-property .single-property-fullwidth .property-head-wrapper { padding: 22px 18px 1px !important; }
  body.single-property .single-property-fullwidth .property-head-wrapper .rh_page__head { display: block !important; }
  body.single-property .single-property-fullwidth h1.rh_page__title { font-size: 27px !important; }
  body.single-property .single-property-fullwidth .rh_page__property_price { text-align: left; }
  body.single-property .single-property-fullwidth #primary > .single-property-section > .container { padding-left: 18px; padding-right: 18px; }
}
.single-property .viveo-property-facts{margin-top:36px;padding-top:28px;border-top:1px solid #e1e6e2}
.single-property .viveo-property-facts dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;margin:20px 0}
.single-property .viveo-property-facts dl>div{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid #e1e6e2;font-size:16px;line-height:1.5}
.single-property .viveo-property-facts dt{font-weight:400;color:#53645f}
.single-property .viveo-property-facts dd{font-weight:600;margin:0;text-align:right}
.single-property .viveo-property-facts a{color:#234f47;text-decoration:underline;text-underline-offset:4px}
@media(max-width:600px){.single-property .viveo-property-facts dl{grid-template-columns:1fr}}
