/*
Theme Name: RealHomes Child Theme
Theme URI: http://themeforest.net/item/real-homes-wordpress-real-estate-theme/5373914
Description: Child theme for Real Homes.
Author: Inspiry Themes
Author URI: https://www.inspirythemes.com/
Template: realhomes
Version: 1.4.2
*/
/*
 * Lussovita Real Estate — Brand CSS
 * Luxury Minimal | Deep Green + Champagne Gold
 * ============================================
/* ═══════════════════════════════════════════
   TOKENS
═══════════════════════════════════════════ */
:root {
  --green-deep:   #1A2E20;
  --green-darker: #0D1A10;
  --green-mid:    #243D2A;
  --gold:         #A59678;
  --gold-light:   #C4B49A;
  --gold-dark:    #8A7A60;
  --cream:        #F5F2ED;
  --white:        #FFFFFF;
  --text-dark:    #1A2E20;
  --text-muted:   #6B7A6E;
}

/* ═══════════════════════════════════════════
   GLOBAL
═══════════════════════════════════════════ */
body {
  background-color: var(--white);
  color: var(--text-dark);
}

a {
  color: var(--gold);
  transition: color 0.25s ease;
}
a:hover {
  color: var(--green-deep);
}

h1, h2, h3, h4, h5, h6 {
  color: var(--green-deep);
}

/* ═══════════════════════════════════════════
   HEADER — Force override inline styles
═══════════════════════════════════════════ */
.rh-ultra-header-wrapper,
.rh-ultra-header-wrapper[style],
.rh-responsive-header,
.rh-responsive-header[style] {
  background-color: var(--green-deep) !important;
  border-bottom: 1px solid var(--green-mid) !important;
}

/* Top bar */
.rh-ultra-top-bar,
.rh-ultra-top-bar[style] {
  background-color: var(--green-darker) !important;
  color: var(--gold-light) !important;
}

.rh-ultra-top-bar a,
.rh-ultra-top-bar span,
.rh-ultra-top-bar i {
  color: var(--gold-light) !important;
}

/* Nav links */
.rh-ultra-main-menu li > a,
.rh-ultra-main-menu li > a[style] {
  color: var(--white) !important;
  font-weight: 400;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: 13px;
}

.rh-ultra-main-menu li:hover > a,
.rh-ultra-main-menu li.current_page_item > a,
.rh-ultra-main-menu li.current-menu-ancestor > a {
  color: var(--gold) !important;
  background-color: transparent !important;
}

/* Dropdown */
.rh-ultra-main-menu li ul {
  background-color: var(--green-darker) !important;
  border-top: 2px solid var(--gold) !important;
}

.rh-ultra-main-menu li ul li a {
  color: var(--cream) !important;
  font-size: 12px;
}

.rh-ultra-main-menu li ul li:hover > a {
  color: var(--gold) !important;
  background-color: var(--green-mid) !important;
}

/* Make an Inquiry button */
.rh-ultra-submit a,
.rh-ultra-submit a[style] {
  background-color: transparent !important;
  border: 1px solid var(--gold) !important;
  color: var(--gold) !important;
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 8px 20px !important;
  transition: all 0.3s ease !important;
  border-radius: 1px !important;
}

.rh-ultra-submit a:hover {
  background-color: var(--gold) !important;
  color: var(--green-deep) !important;
}

/* Phone / social */
.rh-ultra-user-phone a { color: var(--gold-light) !important; }
.rh-ultra-user-phone a:hover { color: var(--white) !important; }
.rh-ultra-header-social-list a { color: var(--cream) !important; }
.rh-ultra-header-social-list a:hover { color: var(--gold) !important; }

/* Sticky */
.rh-sticky-header.sticked,
.rh-sticky-header.sticked[style] {
  background-color: var(--green-deeper, #0D1A10) !important;
  box-shadow: 0 2px 20px rgba(0,0,0,0.3) !important;
}

/* Mobile menu */
.rh-responsive-header .hc-nav-trigger span,
.rh-responsive-header .hc-nav-trigger span::before,
.rh-responsive-header .hc-nav-trigger span::after {
  background-color: var(--white) !important;
}

body .hc-offcanvas-nav .nav-container,
body .hc-offcanvas-nav .nav-wrapper,
body .hc-offcanvas-nav ul {
  background-color: var(--green-darker) !important;
}

body .hc-offcanvas-nav .nav-item-link {
  color: var(--cream) !important;
  border-bottom-color: var(--green-mid) !important;
}

body .hc-offcanvas-nav .nav-item-link:hover {
  color: var(--gold) !important;
  background-color: var(--green-mid) !important;
}

/* ═══════════════════════════════════════════
   SEARCH BAR
═══════════════════════════════════════════ */
.rh-property-search-wrap,
.inspiry-search-section,
.rh-ultra-search-banner,
.rh-ultra-search-banner[style] {
  background-color: var(--green-mid) !important;
  border-top: 1px solid rgba(165,150,120,0.2) !important;
}

/* Search dropdowns */
.rh-property-search-wrap select,
.rh-property-search-wrap .chosen-single,
.inspiry-field-wrap select {
  background-color: rgba(255,255,255,0.08) !important;
  border-color: rgba(165,150,120,0.3) !important;
  color: var(--cream) !important;
}

/* Search button */
.rh-property-search-wrap .search-submit,
.rh-property-search-wrap button[type="submit"],
.inspiry-search-section .search-submit {
  background-color: var(--gold) !important;
  border-color: var(--gold) !important;
  color: var(--green-deep) !important;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.rh-property-search-wrap .search-submit:hover {
  background-color: var(--green-deep) !important;
  border-color: var(--green-deep) !important;
  color: var(--gold) !important;
}

/* ═══════════════════════════════════════════
   BUTTONS — Primary = Deep Green
═══════════════════════════════════════════ */
.rh-btn-primary,
.rh-filled-button,
.rh-ultra-filled-button,
.pages-navigation a,
.rh-form button,
.rh-form input[type=submit],
.wpcf7-form input[type=submit],
.wpforms-form input[type=submit],
button[type=submit] {
  background-color: var(--green-deep) !important;
  border-color: var(--green-deep) !important;
  color: var(--white) !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-size: 12px;
  border-radius: 1px !important;
  transition: all 0.3s ease !important;
}

.rh-btn-primary:hover,
.rh-filled-button:hover,
.rh-ultra-filled-button:hover,
.rh-form button:hover,
.rh-form input[type=submit]:hover,
button[type=submit]:hover {
  background-color: var(--gold) !important;
  border-color: var(--gold) !important;
  color: var(--green-deep) !important;
}

/* Outline buttons */
.rh-btn-outline-primary,
.rh-hollow-button,
.rh-ultra-hollow-button {
  background-color: transparent !important;
  border: 1px solid var(--green-deep) !important;
  color: var(--green-deep) !important;
  border-radius: 1px !important;
}

.rh-btn-outline-primary:hover,
.rh-hollow-button:hover,
.rh-ultra-hollow-button:hover {
  background-color: var(--green-deep) !important;
  color: var(--white) !important;
}

/* For Rent / For Sale tabs */
.rh-ultra-property-status-tabs .rh-ultra-tab.active,
.rh-ultra-property-status-tabs .rh-ultra-tab:hover {
  background-color: var(--green-deep) !important;
  color: var(--white) !important;
  border-color: var(--green-deep) !important;
}

/* ═══════════════════════════════════════════
   PROPERTY CARDS
═══════════════════════════════════════════ */
.rh-ultra-property-card,
.property-item {
  border: 1px solid rgba(165,150,120,0.15) !important;
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.rh-ultra-property-card:hover,
.property-item:hover {
  box-shadow: 0 8px 30px rgba(26,46,32,0.12) !important;
  transform: translateY(-2px);
}

.rh-ultra-property-card .rh-property-title a,
.property-item .title a {
  color: var(--green-deep) !important;
}

.rh-ultra-property-card .rh-property-title a:hover,
.property-item .title a:hover {
  color: var(--gold) !important;
}

.rh-ultra-property-price,
.property-price {
  color: var(--gold-dark) !important;
  font-weight: 600;
}

/* Property badges */
.rh-ultra-property-badge,
.property-badge {
  background-color: var(--green-deep) !important;
  color: var(--white) !important;
}

/* Featured badge */
.rh-ultra-property-badge.featured {
  background-color: var(--gold) !important;
  color: var(--green-deep) !important;
}

/* ═══════════════════════════════════════════
   PROPERTY DETAIL PAGE
═══════════════════════════════════════════ */
/* Overview boxes */
.rh-ultra-overview-item,
.property-overview-item {
  background-color: var(--green-deep) !important;
  border-radius: 4px !important;
}

.rh-ultra-overview-item *,
.property-overview-item * {
  color: var(--cream) !important;
}

/* Contact form sidebar */
.rh-ultra-agent-contact-form,
.property-contact-form {
  border: 1px solid rgba(165,150,120,0.2) !important;
  border-radius: 4px !important;
}

/* Send Message button */
.rh-ultra-agent-contact-form button,
.property-contact-form button,
.rh-ultra-agent-contact-form input[type=submit] {
  background-color: var(--gold) !important;
  border-color: var(--gold) !important;
  color: var(--green-deep) !important;
  font-weight: 600 !important;
}

/* ═══════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════ */
.site-footer,
.site-footer[style] {
  background-color: var(--green-deeper, #0D1A10) !important;
  color: var(--cream) !important;
  border-top: 1px solid var(--green-mid) !important;
}

.site-footer h1, .site-footer h2, .site-footer h3,
.site-footer h4, .site-footer h5, .site-footer h6 {
  color: var(--gold-light) !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-size: 12px;
}

.site-footer a {
  color: var(--cream) !important;
  opacity: 0.8;
}

.site-footer a:hover {
  color: var(--gold) !important;
  opacity: 1;
}

.site-footer p, .site-footer li {
  color: rgba(245,242,237,0.7) !important;
}

.site-footer-contacts,
.site-footer-contacts[style] {
  background-color: var(--green-mid) !important;
  border-top: 1px solid rgba(165,150,120,0.2) !important;
}

.site-footer-contacts .rh-ultra-footer-help {
  color: var(--white) !important;
}

.site-footer .rh-ultra-footer-number {
  background-color: var(--gold) !important;
  color: var(--green-deep) !important;
  border-radius: 1px !important;
  font-weight: 600;
}

.site-footer .rh-ultra-footer-number:hover {
  background-color: var(--white) !important;
  color: var(--green-deep) !important;
}

/* ═══════════════════════════════════════════
   FORMS
═══════════════════════════════════════════ */
input[type=text],
input[type=email],
input[type=tel],
input[type=search],
textarea,
select {
  border-color: rgba(26,46,32,0.2) !important;
  border-radius: 2px !important;
  transition: border-color 0.2s ease !important;
}

input[type=text]:focus,
input[type=email]:focus,
textarea:focus {
  border-color: var(--gold) !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(165,150,120,0.1) !important;
}

/* ═══════════════════════════════════════════
   PAGINATION
═══════════════════════════════════════════ */
.pages-navigation a {
  border: 1px solid var(--green-deep) !important;
  color: var(--green-deep) !important;
  background: transparent !important;
}

.pages-navigation a:hover,
.pages-navigation .current {
  background-color: var(--green-deep) !important;
  color: var(--white) !important;
}

/* ═══════════════════════════════════════════
   MISC ACCENTS
═══════════════════════════════════════════ */
/* Section dividers */
.rh-ultra-section-title::after,
.section-title::after {
  background-color: var(--gold) !important;
}

/* Scrollbar */
::-webkit-scrollbar { width: 5px; }
::-webkit-scrollbar-track { background: var(--cream); }
::-webkit-scrollbar-thumb {
  background: var(--gold);
  border-radius: 0;
}

/* Selection */
::selection {
  background-color: var(--green-deep);
  color: var(--cream);
}
/* Advanced search button */
.rhea_advanced_expander,
div[id^="advance_button_"] {
  background-color: var(--gold) !important;
  border-color: var(--gold) !important;
  color: var(--green-deep) !important;
}
/* Make an Inquiry - filled gold all pages */
a.rhea-custom-button.default,
a.rhea-custom-button.default[style],
.elementor-widget-rhea-button-widget a,
.rhea-custom-button {
  background-color: var(--gold) !important;
  border: none !important;
  color: var(--white) !important;
  border-radius: 8px !important;
  padding: 10px 22px !important;
}

a.rhea-custom-button.default:hover,
.rhea-custom-button:hover {
  background-color: var(--gold-dark) !important;
  color: var(--white) !important;
}
/* Top bar buttons - reset to plain text */
.elementor-element-cb21eff a.rhea-custom-button.default,
.elementor-element-ada28d6 a.rhea-custom-button.default {
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  color: var(--gold-light) !important;
  box-shadow: none !important;
  font-size: 13px !important;
}

.elementor-element-cb21eff a.rhea-custom-button.default:hover,
.elementor-element-ada28d6 a.rhea-custom-button.default:hover {
  background-color: transparent !important;
  color: var(--white) !important;
}

/* Make an Inquiry button */
a.rhea-custom-button.default {
  background-color: var(--gold) !important;
  border: none !important;
  color: var(--white) !important;
  border-radius: 8px !important;
  padding: 10px 22px !important;
  transition: all 0.3s ease !important;
}

a.rhea-custom-button.default:hover {
  background-color: var(--gold-dark) !important;
  color: var(--white) !important;
}
/* For Rent / For Sale active tab */
.rhea-mod-tabs-list input[type=radio]:checked ~ .rhea-mod-tab-name {
  background-color: var(--green-deep) !important;
  color: var(--white) !important;
}

.rhea-mod-tabs-list input[type=radio]:hover ~ .rhea-mod-tab-name {
  background-color: var(--green-deep) !important;
  color: var(--white) !important;
}
/* Background - Warm Cream */
body,
.site-main,
#main {
  background-color: #F8F5F0 !important;
}
/* Payment Plan */
.lv-payment-plan {
  background: var(--white);
  border: 1px solid rgba(165,150,120,0.2);
  border-radius: 8px;
  padding: 28px;
  margin: 20px 0;
}
.lv-payment-plan h3 {
  color: var(--green-deep) !important;
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 20px;
}
.lv-pp-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-bottom: 16px;
}
.lv-pp-card {
  background: #FDF8F0;
  border: 1px solid rgba(165,150,120,0.2);
  border-radius: 8px;
  padding: 20px 12px;
  text-align: center;
}
.lv-pp-icon {
  width: 48px;
  height: 48px;
  background: var(--gold);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 12px;
}
.lv-pp-card p {
  color: var(--text-dark) !important;
  font-size: 13px;
  margin: 0 0 6px;
}
.lv-pp-card span {
  color: var(--gold) !important;
  font-size: 22px;
  font-weight: 700;
}
.lv-pp-date {
  background: #FDF8F0;
  border: 1px solid rgba(165,150,120,0.2);
  border-radius: 8px;
  padding: 16px;
  text-align: center;
  margin-bottom: 16px;
}
.lv-pp-date p {
  color: var(--text-dark) !important;
  font-weight: 600;
  margin: 0 0 4px;
}
.lv-pp-date span {
  color: var(--gold) !important;
  font-size: 18px;
  font-weight: 600;
}
.lv-pp-schedule h4 {
  color: var(--green-deep) !important;
  font-size: 15px;
  margin-bottom: 12px;
}
.lv-pp-schedule ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.lv-pp-schedule ul li {
  color: var(--text-dark) !important;
  padding: 6px 0;
  font-size: 14px;
  border-bottom: 1px solid rgba(165,150,120,0.1);
}
/* Hide top search bar strip */
.elementor-element-3b439e0 {
  display: none !important;
}
/* Hide white top bar on all pages */
.elementor-element-8fb9dbb {
  display: none !important;
}