﻿body { color: #1d2a3a; }
.hero-gradient { background: linear-gradient(135deg, #66c0f4, #6fe3c8); }
.card-stat { border: 1px solid #eef2f7; }
.card-stat .h4 { color: #1b6ca8; }
.sidebar { width: 220px; min-height: 100vh; }
.sidebar-link { display: block; padding: 8px 6px; color: #1d2a3a; text-decoration: none; }
.sidebar-link:hover { color: #0d6efd; }

/* Responsive helpers */
img, video { max-width: 100%; height: auto; }
iframe { max-width: 100%; }
/* Property page enhancements */
.chip, .prop-summary .chip { display:inline-flex; align-items:center; gap:6px; padding:.35rem .55rem; border-radius:999px; background:#f5f7fb; border:1px solid #eef2f7; color:#1d2a3a; font-size:.85rem; }
.chip svg, .prop-summary .chip svg { opacity:.7; }

/* Carousel thumbs */
#propThumbs .thumb { border:0; padding:0; background:transparent; border-radius:6px; overflow:hidden; outline:0; position:relative; }
#propThumbs .thumb img { width:68px; height:48px; object-fit:cover; display:block; border:1px solid #eef2f7; border-radius:6px; }
#propThumbs .thumb.active img { box-shadow:0 0 0 2px #0d6efd inset; border-color:#0d6efd; }

/* Sticky CTA (mobile) */
.sticky-cta { position:fixed; left:0; right:0; bottom:0; background:#fff; border-top:1px solid #eef2f7; padding:.5rem .75rem; display:flex; align-items:center; gap:.5rem; z-index:1030; }
.sticky-cta .price { font-weight:600; color:#1d2a3a; }
.sticky-cta .btn { flex:1; }
@media (min-width: 992px) {
  .sticky-cta { display:none; }
}

/* Responsive sidebar for dashboards (admin/partner/owner) */
@media (max-width: 991.98px) {
  .sidebar { position: fixed; left: 0; top: 0; bottom: 0; width: 260px; background: #fff; transform: translateX(-100%); transition: transform .2s ease; z-index: 1040; }
  body.sidebar-open .sidebar { transform: translateX(0); box-shadow: 0 0 0 9999px rgba(0,0,0,.35); }
}

/* Public navbar sizing tweaks (make header compact) */
.navbar { padding-top: .25rem; padding-bottom: .25rem; }
.navbar .nav-link { padding-top: .25rem; padding-bottom: .25rem; font-size: .95rem; }
.navbar .btn { padding: .25rem .5rem; font-size: .875rem; }
.navbar-toggler { padding: .25rem .5rem; }
.navbar-brand img { height: 28px; }
.navbar-brand span { font-size: 1rem; }
@media (min-width: 992px) {
  .navbar-brand img { height: 32px; }
  .navbar-brand span { font-size: 1.05rem; }
}

/* Red & white theme overrides */
:root {
  --bs-primary: #dc3545;
  --bs-link-color: #dc3545;
  --bs-link-hover-color: #b02a37;
}
.btn-primary {
  --bs-btn-bg: #dc3545;
  --bs-btn-border-color: #dc3545;
  --bs-btn-hover-bg: #bb2d3b;
  --bs-btn-hover-border-color: #b02a37;
  --bs-btn-active-bg: #b02a37;
  --bs-btn-active-border-color: #a52834;
}
.btn-outline-primary {
  --bs-btn-color: #dc3545;
  --bs-btn-border-color: #dc3545;
  --bs-btn-hover-bg: #dc3545;
  --bs-btn-hover-border-color: #dc3545;
}
.badge.bg-primary { background-color: #dc3545 !important; }
