/* RealEstate Listings Pro — front-end styles */

:root{
  --rel-primary:#b8860b;
  --rel-primary-dark:#8a6508;
  --rel-ink:#1f2430;
  --rel-muted:#6b7280;
  --rel-border:#e5e7eb;
  --rel-bg:#fafafa;
  --rel-success:#1a7f37;
  --rel-warning:#b45309;
  --rel-error:#b91c1c;
  --rel-radius:10px;
}

.rel-btn{
  display:inline-block;
  padding:10px 18px;
  border-radius:var(--rel-radius);
  border:1px solid var(--rel-border);
  background:#fff;
  color:var(--rel-ink);
  text-decoration:none;
  font-weight:600;
  cursor:pointer;
  font-size:14px;
}
.rel-btn-primary{
  background:var(--rel-primary);
  border-color:var(--rel-primary);
  color:#fff;
}
.rel-btn-primary:hover{ background:var(--rel-primary-dark); }

.rel-notice{ padding:14px 16px; border-radius:var(--rel-radius); margin-bottom:16px; }
.rel-notice-success{ background:#ecfdf3; color:var(--rel-success); border:1px solid #b7ebc6; }
.rel-notice-error{ background:#fef2f2; color:var(--rel-error); border:1px solid #f5b5b5; }
.rel-notice-warning{ background:#fffaeb; color:var(--rel-warning); border:1px solid #fde3a7; }

.rel-login-gate{ text-align:center; padding:40px 20px; background:var(--rel-bg); border-radius:var(--rel-radius); }
.rel-login-gate .rel-btn{ margin:0 6px; }

/* Form */
.rel-form{ max-width:820px; }
.rel-form h3{ margin-top:28px; margin-bottom:10px; color:var(--rel-ink); border-bottom:2px solid var(--rel-primary); display:inline-block; padding-bottom:4px; }
.rel-row{ margin-bottom:16px; }
.rel-row label{ display:block; font-weight:600; font-size:13px; color:var(--rel-ink); margin-bottom:6px; }
.rel-row input[type=text],
.rel-row input[type=number],
.rel-row input[type=email],
.rel-row input[type=url],
.rel-row input[type=date],
.rel-row input[type=file],
.rel-row select,
.rel-row textarea{
  width:100%;
  padding:10px 12px;
  border:1px solid var(--rel-border);
  border-radius:8px;
  font-size:14px;
  box-sizing:border-box;
  background:#fff;
}
.rel-row-2{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.rel-row-3{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:16px; }
@media (max-width:640px){ .rel-row-2, .rel-row-3{ grid-template-columns:1fr; } }

.rel-checkbox-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
@media (max-width:640px){ .rel-checkbox-grid{ grid-template-columns:1fr 1fr; } }
.rel-checkbox{ font-weight:400 !important; display:flex; align-items:center; gap:8px; }
.rel-checkbox input{ width:auto !important; }

.rel-hint{ font-size:12px; color:var(--rel-muted); margin-top:6px; }
.rel-submit-row{ margin-top:24px; }

.rel-badge-row{ margin-bottom:16px; }
.rel-plan-badge{ display:inline-block; padding:4px 12px; border-radius:999px; font-size:12px; font-weight:700; letter-spacing:.03em; }
.rel-plan-badge.is-free{ background:#eef2f7; color:var(--rel-muted); }
.rel-plan-badge.is-pro{ background:linear-gradient(135deg,#f7d774,var(--rel-primary)); color:#3a2a00; }

/* Filter bar */
.rel-filter-bar{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:24px; background:var(--rel-bg); padding:16px; border-radius:var(--rel-radius); }
.rel-filter-bar input, .rel-filter-bar select{ padding:9px 10px; border:1px solid var(--rel-border); border-radius:8px; flex:1 1 150px; }

/* Grid / cards */
.rel-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:20px; }
.rel-card{ display:block; border:1px solid var(--rel-border); border-radius:var(--rel-radius); overflow:hidden; text-decoration:none; color:var(--rel-ink); background:#fff; position:relative; transition:box-shadow .15s ease, transform .15s ease; }
.rel-card:hover{ box-shadow:0 8px 24px rgba(0,0,0,.08); transform:translateY(-2px); }
.rel-card.is-featured{ border-color:var(--rel-primary); }
.rel-featured-badge{ position:absolute; top:10px; left:10px; background:var(--rel-primary); color:#fff; font-size:11px; font-weight:700; padding:4px 10px; border-radius:999px; z-index:2; }
.rel-card-thumb{ position:relative; aspect-ratio:4/3; background:#f0f0f0; overflow:hidden; }
.rel-card-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.rel-ltype-badge{ position:absolute; bottom:10px; right:10px; background:rgba(0,0,0,.65); color:#fff; font-size:11px; padding:3px 9px; border-radius:6px; }
.rel-card-body{ padding:14px; }
.rel-card-title{ font-size:16px; margin:0 0 4px; }
.rel-card-location{ font-size:13px; color:var(--rel-muted); margin:0 0 8px; }
.rel-card-price{ font-size:17px; font-weight:700; color:var(--rel-primary-dark); margin:0 0 6px; }
.rel-card-meta{ font-size:12px; color:var(--rel-muted); margin:0; }
.rel-empty{ grid-column:1/-1; text-align:center; color:var(--rel-muted); padding:40px 0; }
.rel-pagination{ margin-top:24px; text-align:center; }

/* Single property */
.rel-single-property{ margin-top:24px; }
.rel-price-bar{ display:flex; justify-content:space-between; align-items:center; padding:16px; background:var(--rel-bg); border-radius:var(--rel-radius); margin-bottom:16px; }
.rel-price-big{ font-size:24px; font-weight:800; color:var(--rel-primary-dark); }
.rel-views{ color:var(--rel-muted); font-size:13px; }
.rel-gallery{ display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:10px; margin-bottom:20px; }
.rel-gallery img{ width:100%; border-radius:8px; object-fit:cover; aspect-ratio:4/3; }
.rel-specs-table{ width:100%; border-collapse:collapse; margin:16px 0; }
.rel-specs-table th, .rel-specs-table td{ text-align:left; padding:10px 12px; border-bottom:1px solid var(--rel-border); font-size:14px; }
.rel-specs-table th{ width:35%; color:var(--rel-muted); font-weight:600; }
.rel-amenities-list{ list-style:none; padding:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:8px; }
.rel-amenities-list li{ background:var(--rel-bg); padding:8px 12px; border-radius:8px; font-size:13px; }
.rel-amenities-list li::before{ content:"✓ "; color:var(--rel-success); font-weight:700; }
.rel-contact-box{ background:var(--rel-bg); padding:18px; border-radius:var(--rel-radius); margin-top:20px; }

/* My Listings dashboard */
.rel-plan-summary{ display:flex; align-items:center; gap:12px; margin-bottom:16px; }
.rel-usage{ font-size:13px; color:var(--rel-muted); }
.rel-my-listings-table{ width:100%; border-collapse:collapse; }
.rel-my-listings-table th, .rel-my-listings-table td{ text-align:left; padding:10px 12px; border-bottom:1px solid var(--rel-border); font-size:14px; }
.rel-status{ padding:3px 10px; border-radius:999px; font-size:11px; font-weight:700; text-transform:capitalize; }
.rel-status-publish{ background:#ecfdf3; color:var(--rel-success); }
.rel-status-pending{ background:#fffaeb; color:var(--rel-warning); }
.rel-status-draft{ background:#f3f4f6; color:var(--rel-muted); }

/* Admin dashboard widget */
.rel-dash-stats{ list-style:none; margin:0; padding:0; }
.rel-dash-stats li{ padding:4px 0; font-size:13px; }
