/* Public Premium Olive Theme - safe visual overrides only.
   Do not target #rvpFilterSheet. Do not affect controller/images/routes. */
.rv-public-premium{
  --rv-premium-olive:#123A2B;
  --rv-premium-olive-2:#1F5A42;
  --rv-premium-olive-soft:#E8F1EA;
  --rv-premium-warm:#F4F3EA;
  --rv-premium-warm-2:#FAF9F4;
  --rv-premium-border:#E5E7DF;
  --rv-premium-text:#111827;
  --rv-premium-muted:#6B7280;
  --rv-premium-cta:#0B0B0B;
  --rv-premium-danger:#E53935;
}

/* Top menu sync with /nha-dat-cho-thue */
.rv-public-premium .rvp-topbar{
  background:rgba(255,255,255,.82) !important;
  border-bottom:1px solid rgba(229,231,223,.78) !important;
  box-shadow:0 10px 34px rgba(18,58,43,.045) !important;
}
.rv-public-premium .rvp-brand-mark{
  background:linear-gradient(135deg,var(--rv-premium-olive),var(--rv-premium-olive-2)) !important;
  color:#fff !important;
  box-shadow:0 12px 26px rgba(18,58,43,.18) !important;
}
.rv-public-premium .rvp-brand-mark img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  background:#fff !important;
}
.rv-public-premium .rvp-nav-pill{
  background:linear-gradient(135deg,#0B0B0B 0%,#111827 45%,#123A2B 100%) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.10) !important;
  box-shadow:0 16px 34px rgba(18,58,43,.22) !important;
}
.rv-public-premium .rvp-nav-pill a,
.rv-public-premium .rvp-nav-pill button{
  color:rgba(255,255,255,.76) !important;
  background:transparent !important;
}
.rv-public-premium .rvp-nav-pill a.active,
.rv-public-premium .rvp-nav-pill a:hover,
.rv-public-premium .rvp-nav-pill button:hover,
.rv-public-premium .rvp-nav-pill button:focus-visible{
  background:rgba(255,255,255,.13) !important;
  color:#fff !important;
}
.rv-public-premium .rvp-nav-search{
  background:rgba(255,255,255,.08) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.06) !important;
}
.rv-public-premium .rvp-nav-search:hover,
.rv-public-premium .rvp-nav-search:focus-visible{
  background:#123A2B !important;
}

/* Contact strip fix:
   Original inline rule ".rvp-contact-box span" overrides .rvp-contact-icon because the icon is also a span.
   Restore icon centering, color and size with stronger specificity. */
.rv-public-premium .rvp-contact-box > .rvp-contact-icon,
.rv-public-premium .rvp-contact-icon,
.rv-public-premium .rvp-support-icon{
  width:38px !important;
  height:38px !important;
  min-width:38px !important;
  max-width:38px !important;
  min-height:38px !important;
  max-height:38px !important;
  flex:0 0 38px !important;
  display:grid !important;
  place-items:center !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:14px !important;
  margin:0 !important;
  padding:0 !important;
  line-height:1 !important;
  font-size:16px !important;
  font-weight:760 !important;
  color:#fff !important;
  background:linear-gradient(135deg,#0B0B0B,#123A2B) !important;
  box-shadow:0 12px 26px rgba(18,58,43,.16) !important;
  overflow:hidden !important;
}
.rv-public-premium .rvp-contact-box > .rvp-contact-icon svg,
.rv-public-premium .rvp-contact-icon svg,
.rv-public-premium .rvp-support-icon svg{
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
  max-width:18px !important;
  min-height:18px !important;
  max-height:18px !important;
  display:block !important;
  margin:0 !important;
  color:currentColor !important;
  stroke:currentColor !important;
  fill:none;
}
.rv-public-premium .rvp-contact-box > div > span{
  display:block !important;
  color:var(--rv-premium-muted) !important;
  font-size:12px !important;
  margin-top:2px !important;
}

/* Shared public controls, conservative. */
.rv-public-premium .rvp-chip.dark,
.rv-public-premium .rvp-search-tabs button.active,
.rv-public-premium .rvp-primary-cta,
.rv-public-premium .rvp-listing-actions .hot,
.rv-public-premium .rvp-card-phone,
.rv-public-premium .rvp-view-toggle a.active{
  background:#0B0B0B !important;
  border-color:#0B0B0B !important;
  color:#fff !important;
}
.rv-public-premium .rvp-chip.brand,
.rv-public-premium .rvp-hero-badge,
.rv-public-premium .rvp-eyebrow,
.rv-public-premium .rvp-see-all,
.rv-public-premium .rvp-ad-label{
  background:#E8F1EA !important;
  border-color:#D7E8DB !important;
  color:#123A2B !important;
}
.rv-public-premium .rvp-vip-badge,
.rv-public-premium .rvp-badge.vip,
.rv-public-premium .rvp-card-badge{
  background:linear-gradient(135deg,#123A2B,#1F5A42) !important;
  border-color:#123A2B !important;
  color:#fff !important;
}
.rv-public-premium .rvp-price,
.rv-public-premium .rvp-card-price,
.rv-public-premium .price,
.rv-public-premium .text-danger{
  color:#E53935 !important;
}
