/*
Theme Name: Realtopia Houzez Child
Theme URI: https://realtopia.co.za/
Description: Realtopia property marketplace child theme for Houzez.
Author: Realtopia
Version: 5.0.0
Template: houzez
Text Domain: realtopia
*/

:root {
  --rt-brand: #33383d;
  --rt-brand-dark: #24282c;
  --rt-accent: #c9a227;
  --rt-bg: #f7f7f5;
  --rt-white: #ffffff;
  --rt-text: #25282b;
  --rt-muted: #697077;
  --rt-border: #e5e7e9;
  --rt-radius: 10px;
  --rt-shadow: 0 12px 35px rgba(25, 30, 35, .08);
}

body.realtopia {
  color: var(--rt-text);
  background: var(--rt-white);
}

.rt-container { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }

.rt-topbar {
  background: var(--rt-brand-dark);
  color: #fff;
  font-size: 13px;
}
.rt-topbar .rt-container {
  display:flex; justify-content:space-between; align-items:center; min-height:38px;
}
.rt-topbar a { color:#fff; text-decoration:none; opacity:.92; }

.rt-header {
  background:#fff; border-bottom:1px solid var(--rt-border); position:sticky; top:0; z-index:999;
}
.rt-header-inner { min-height:78px; display:flex; align-items:center; justify-content:space-between; gap:25px; }
.rt-logo img { width:210px; height:auto; display:block; }
.rt-nav { display:flex; align-items:center; gap:24px; }
.rt-nav a { color:var(--rt-text); text-decoration:none; font-weight:600; font-size:14px; }
.rt-nav a:hover { color:var(--rt-accent); }
.rt-list-button {
  display:inline-flex; align-items:center; justify-content:center; padding:12px 18px;
  background:var(--rt-accent); color:#fff !important; border-radius:7px;
}
.rt-mobile-toggle { display:none; background:none; border:0; font-size:28px; }

.rt-hero {
  min-height:560px; display:flex; align-items:center;
  background:linear-gradient(90deg, rgba(27,30,33,.90), rgba(27,30,33,.55)), url('assets/images/realtopia-logo.png') center/520px auto no-repeat;
  background-color:#30353a; color:#fff; padding:75px 0;
}
.rt-hero h1 { font-size:clamp(38px, 5vw, 66px); line-height:1.03; margin:0 0 16px; max-width:720px; }
.rt-hero p { font-size:20px; line-height:1.6; max-width:650px; margin-bottom:30px; opacity:.92; }

.rt-search-card {
  background:#fff; color:var(--rt-text); padding:20px; border-radius:var(--rt-radius);
  box-shadow:var(--rt-shadow); max-width:1040px;
}
.rt-tabs { display:flex; gap:8px; margin-bottom:15px; }
.rt-tab {
  border:1px solid var(--rt-border); background:#fff; padding:10px 18px; border-radius:6px;
  font-weight:700; cursor:pointer;
}
.rt-tab.active { background:var(--rt-brand); color:#fff; border-color:var(--rt-brand); }
.rt-search-grid { display:grid; grid-template-columns:2fr 1.25fr 1fr 1fr auto; gap:10px; }
.rt-search-grid input, .rt-search-grid select {
  min-height:48px; width:100%; border:1px solid var(--rt-border); border-radius:6px; padding:0 12px;
}
.rt-search-submit {
  border:0; background:var(--rt-accent); color:#fff; padding:0 24px; border-radius:6px; font-weight:800; cursor:pointer;
}

.rt-section { padding:70px 0; }
.rt-section.alt { background:var(--rt-bg); }
.rt-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:30px; }
.rt-heading h2 { margin:0; font-size:34px; }
.rt-heading p { margin:7px 0 0; color:var(--rt-muted); }

.rt-cards { display:grid; grid-template-columns:repeat(3, 1fr); gap:24px; }
.rt-card {
  background:#fff; border:1px solid var(--rt-border); border-radius:var(--rt-radius); overflow:hidden;
  box-shadow:0 6px 20px rgba(0,0,0,.04);
}
.rt-card-image { height:210px; background:#e8eaec; display:flex; align-items:center; justify-content:center; color:#777; }
.rt-card-body { padding:20px; }
.rt-card-price { font-size:23px; font-weight:800; margin-bottom:8px; }
.rt-card-title { font-size:18px; font-weight:700; margin-bottom:8px; }
.rt-card-meta { color:var(--rt-muted); font-size:14px; }

.rt-cta-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.rt-cta {
  padding:32px; border-radius:var(--rt-radius); background:#fff; border:1px solid var(--rt-border); box-shadow:var(--rt-shadow);
}
.rt-cta h3 { margin-top:0; font-size:23px; }
.rt-cta p { color:var(--rt-muted); line-height:1.6; }
.rt-button {
  display:inline-flex; padding:12px 18px; border-radius:7px; text-decoration:none; font-weight:800;
  background:var(--rt-brand); color:#fff;
}
.rt-button.accent { background:var(--rt-accent); }

.rt-footer { background:var(--rt-brand-dark); color:#fff; padding:55px 0 20px; }
.rt-footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:35px; }
.rt-footer a { color:#fff; opacity:.88; text-decoration:none; }
.rt-footer h4 { margin-top:0; }
.rt-footer-bottom { border-top:1px solid rgba(255,255,255,.14); margin-top:35px; padding-top:18px; font-size:13px; opacity:.7; }

@media (max-width: 980px) {
  .rt-nav { display:none; }
  .rt-mobile-toggle { display:block; }
  .rt-search-grid { grid-template-columns:1fr 1fr; }
  .rt-search-submit { min-height:48px; }
  .rt-cards, .rt-cta-grid { grid-template-columns:1fr 1fr; }
  .rt-footer-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width: 640px) {
  .rt-container { width:min(100% - 28px, 1180px); }
  .rt-topbar .rt-container { min-height:34px; }
  .rt-logo img { width:170px; }
  .rt-hero { min-height:620px; padding:55px 0; }
  .rt-search-grid, .rt-cards, .rt-cta-grid, .rt-footer-grid { grid-template-columns:1fr; }
  .rt-section { padding:50px 0; }
  .rt-heading { display:block; }
}

/* Realtopia marketplace services */
.rt-service-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.rt-service {
  min-height:180px; padding:24px; border:1px solid var(--rt-border); border-radius:var(--rt-radius);
  background:#fff; box-shadow:0 7px 22px rgba(0,0,0,.05); text-decoration:none; color:var(--rt-text);
}
.rt-service h3 { margin:0 0 8px; font-size:18px; }
.rt-service p { color:var(--rt-muted); margin:0; line-height:1.5; font-size:14px; }
.rt-service .rt-service-icon { font-size:30px; margin-bottom:12px; }
.rt-province-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.rt-province {
  min-height:190px; border-radius:var(--rt-radius); overflow:hidden; background-size:cover; background-position:center;
  color:#fff; display:flex; align-items:flex-end; text-decoration:none;
}
.rt-province-body { padding:22px; width:100%; }
.rt-province h3 { margin:0; font-size:24px; }
.rt-province p { margin:6px 0 0; opacity:.9; }
.rt-price-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.rt-price-card { background:#fff; border:1px solid var(--rt-border); border-radius:var(--rt-radius); padding:26px; }
.rt-price-card.featured { border:2px solid var(--rt-accent); transform:translateY(-4px); }
.rt-price-card h3 { margin-top:0; }
.rt-price { font-size:30px; font-weight:900; margin:15px 0; }
.rt-price small { font-size:13px; color:var(--rt-muted); font-weight:500; }
.rt-price-card ul { padding-left:20px; color:var(--rt-muted); line-height:1.8; }
.rt-badge { display:inline-block; padding:5px 9px; background:var(--rt-accent); color:#fff; border-radius:999px; font-size:11px; font-weight:800; text-transform:uppercase; }
.rt-note { background:#f3f5f6; border-left:4px solid var(--rt-accent); padding:15px 18px; color:var(--rt-muted); }
@media (max-width:980px) {
 .rt-service-grid,.rt-price-grid { grid-template-columns:repeat(2,1fr); }
 .rt-province-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:640px) {
 .rt-service-grid,.rt-price-grid,.rt-province-grid { grid-template-columns:1fr; }
}

/* Realtopia Marketplace Core v3 */
.rt-container{width:min(1180px,92%);margin:0 auto}.rt-page{padding:55px 0}.rt-narrow{max-width:1000px}.rt-badge,.rt-package-label{display:inline-block;font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;background:#f0c419;color:#111;padding:6px 10px;border-radius:3px}.rt-muted{opacity:.7}.rt-btn{display:inline-block;background:#f0c419;color:#111!important;padding:12px 18px;border-radius:4px;font-weight:700;text-decoration:none;border:0;cursor:pointer}.rt-btn:hover{filter:brightness(.95)}.rt-btn-outline{background:transparent;border:1px solid #bbb;color:#222!important}.rt-packages{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:28px 0 45px}.rt-package{padding:26px;border:1px solid #ddd;border-radius:8px;background:#fff;box-shadow:0 5px 20px rgba(0,0,0,.05)}.rt-package h3{font-size:24px;margin:12px 0}.rt-price{font-size:34px;font-weight:800;margin-bottom:12px}.rt-price small{font-size:14px;font-weight:500}.rt-package p{min-height:78px}.rt-package-enterprise{background:#111;color:#fff}.rt-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.rt-service-card{background:#fff;border:1px solid #e5e5e5;border-radius:8px;overflow:hidden;box-shadow:0 4px 18px rgba(0,0,0,.05)}.rt-service-image img{display:block;width:100%;height:190px;object-fit:cover}.rt-service-body{padding:20px}.rt-service-body h3{margin:10px 0}.rt-service-body h3 a{color:inherit;text-decoration:none}.rt-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.rt-actions a{padding:8px 10px;border:1px solid #ddd;border-radius:4px;text-decoration:none;font-size:13px}.rt-form p{margin:0 0 16px}.rt-form label{display:block;font-weight:700;margin-bottom:6px}.rt-form input,.rt-form select,.rt-form textarea{width:100%;padding:11px;border:1px solid #ccc;border-radius:4px;box-sizing:border-box}.rt-notice{padding:14px 18px;background:#eef8ed;border-left:4px solid #4c9a4c;margin:20px 0}.rt-provider-single{max-width:900px;margin:0 auto}.rt-provider-contact{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0}.rt-lead{margin-top:35px;padding:25px;background:#f7f7f7;border-radius:8px}.rt-dashboard table{width:100%;border-collapse:collapse}.rt-dashboard th,.rt-dashboard td{padding:12px;border-bottom:1px solid #ddd;text-align:left}.rt-dashboard th{background:#f5f5f5}
@media(max-width:900px){.rt-packages{grid-template-columns:repeat(2,1fr)}.rt-service-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.rt-packages,.rt-service-grid{grid-template-columns:1fr}.rt-page{padding:35px 0}.rt-price{font-size:29px}}
/* Realtopia Marketplace v4 */
.rt-dashboard-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:20px 0 30px}.rt-dashboard-stats>div{background:#111;color:#fff;border-radius:8px;padding:22px}.rt-dashboard-stats strong{display:block;font-size:32px;color:#f0c419}.rt-dashboard-stats span{opacity:.8}.rt-dashboard table{overflow:hidden;border:1px solid #ddd;border-radius:8px}.rt-dashboard td a{font-weight:700}.rt-provider-single h1{font-size:clamp(34px,5vw,56px);margin:12px 0}.rt-service-card{transition:transform .2s ease,box-shadow .2s ease}.rt-service-card:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(0,0,0,.08)}
@media(max-width:640px){.rt-dashboard-stats{grid-template-columns:1fr}.rt-dashboard{overflow-x:auto}.rt-dashboard table{min-width:700px}}
/* Realtopia Marketplace v5 */
.rt-directory-hero{padding:55px 0 30px}.rt-directory-hero h1{font-size:clamp(36px,5vw,58px);max-width:820px;margin:14px 0}.rt-directory-hero p{font-size:18px;color:#697077;max-width:760px}.rt-search-panel{background:#111;color:#fff;padding:24px;border-radius:10px;margin:15px 0 42px}.rt-search-panel form{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr auto;gap:10px}.rt-search-panel input,.rt-search-panel select{min-height:48px;border:1px solid #555;border-radius:5px;padding:0 12px}.rt-search-panel .rt-btn{min-height:48px}.rt-results-head{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:20px}.rt-results-head h2{margin:0}.rt-featured-label{margin:0 0 14px}.rt-featured-label strong{font-size:20px}.rt-provider-card{position:relative}.rt-featured-ribbon{position:absolute;top:12px;left:12px;z-index:2;background:#f0c419;color:#111;padding:6px 9px;border-radius:4px;font-size:11px;font-weight:800;text-transform:uppercase}.rt-provider-card .rt-service-image{background:#eee}.rt-provider-card .rt-service-image img{height:205px}.rt-provider-meta{font-size:13px;color:#697077;line-height:1.7}.rt-provider-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.rt-provider-actions a{font-size:13px}.rt-empty{padding:30px;background:#f7f7f7;border-radius:8px}.rt-profile-stat{font-size:13px;color:#697077;margin-top:10px}.rt-contact-strip{display:flex;gap:12px;flex-wrap:wrap;margin-top:15px}.rt-contact-strip a{font-weight:700}.rt-dashboard-actions{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 25px}.rt-dashboard-card{border:1px solid #ddd;border-radius:8px;padding:20px;background:#fff;margin-bottom:20px}.rt-dashboard-card h3{margin-top:0}.rt-package-current{display:inline-block;padding:5px 9px;border-radius:4px;background:#111;color:#fff;font-size:12px;font-weight:700}
@media(max-width:980px){.rt-search-panel form{grid-template-columns:1fr 1fr}.rt-search-panel .rt-btn{min-height:48px}.rt-results-head{display:block}}
@media(max-width:640px){.rt-search-panel form{grid-template-columns:1fr}.rt-directory-hero{padding-top:35px}}

/* Bundled Realtopia image library */
.rt-hero{background-image:linear-gradient(90deg,rgba(27,30,33,.90),rgba(27,30,33,.50)),url('../images/hero-property.jpg') !important;background-position:center;background-size:cover;background-repeat:no-repeat;}
.rt-card-image{height:210px;overflow:hidden;padding:0 !important;}
.rt-card-image img{display:block;width:100%;height:100%;object-fit:cover;}
.rt-province{background-size:cover;background-position:center;min-height:260px;}
.rt-service-image img,.rt-provider-card .rt-service-image img{display:block;width:100%;height:205px;object-fit:cover;}
