/* property.css - Premium Property Page Styles */
:root{
  --brand-gold:#E0B245;
  --brand-gold-soft:#E6BE5A;
  --brand-muted:#aeb8bf;
  --brand-bg-1:#0f1418;
  --brand-stroke:rgba(255,255,255,.08);
}

html, body { background:#0c1114; color:#dfe7eb; }

/* Navbar */
.navbar{ background:linear-gradient(90deg,#0F1418,#1A2127)!important; box-shadow:0 2px 12px rgba(0,0,0,.25); }
.ms-stats{ gap:.5rem; align-items:center; }
.ms-stats .num{ font-weight:800; color:var(--brand-gold); }
.ms-stats .sep{ color:var(--brand-gold); opacity:.9; }
.navbar .ms-stats-mobile .num{ font-weight:800; color:#fff }

/* Hero */
.hero-fw .hero-inner{ padding:64px 0 28px }
.hero-title{ color:#fff; font-weight:900; letter-spacing:.01em; }
.hero-sub{ color:#dfe7eb; }
.brand-chip{
  display:inline-flex; align-items:center; gap:.5rem; font-weight:900; font-size:.9rem;
  background:rgba(0,0,0,.55); color:#fff; border:1px solid rgba(224,179,65,.45);
  padding:.25rem .55rem; border-radius:8px; backdrop-filter: blur(2px);
}
.rating-chip{
  display:inline-flex; align-items:center; gap:6px; margin-left:8px;
  padding:6px 10px; border-radius:10px; background:linear-gradient(180deg,#E6BE5A,#DAA93A);
  color:#1a1a1a; font-weight:800; font-size:.9rem; box-shadow:0 6px 14px rgba(0,0,0,.35);
}

/* Mobile hero spacing & alignment */
@media (max-width: 576px){
  .hero-fw .hero-inner{
    padding-left: max(22px, env(safe-area-inset-left));
    padding-right: max(22px, env(safe-area-inset-right));
  }
  .hero-fw .hero-inner > .d-flex{
    flex-wrap: wrap;
    gap: 8px !important;
    align-items: center;
  }
  .hero-fw .brand-chip{ margin-left: 2px; }
  .hero-fw .rating-chip{ margin-left: 6px; }
  .hero-fw .hero-title{ font-size: 1.35rem; line-height: 1.2; margin-top: 2px; }
  .hero-fw .hero-sub{ font-size: .95rem; margin-top: 6px; }
}

/* Cards + containers */
.page-wrap{ margin-top:18px; }
.card-soft{
  background:linear-gradient(180deg,#101619,#0c1114);
  border:1px solid var(--brand-stroke);
  border-radius:18px; padding:16px;
  box-shadow:inset 0 0 0 1px rgba(224,179,65,.04);
}
.section-hd{
  font-weight:600; margin:6px 0 12px;
  color:var(--brand-gold);
  border-left:4px solid var(--brand-gold);
  padding-left:10px;
}

/* Gallery */
.carousel .carousel-item img{ width:100%; height:420px; object-fit:cover; border-radius:12px; background:#0b1014; }
@media (max-width:576px){ .carousel .carousel-item img{ height:260px; } }

/* Booking (single elegant form) */
.booking-box{
  background:rgba(0,0,0,.35);
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px; padding:14px; backdrop-filter: blur(3px);
}
.booking-grid{ display:grid; grid-template-columns: 1.4fr 0.8fr 0.8fr 0.8fr; gap:12px; }
@media (max-width:992px){ .booking-grid{ grid-template-columns: 1fr 1fr } }
@media (max-width:576px){ .booking-grid{ grid-template-columns: 1fr } }
.form-soft{ background:rgba(255,255,255,.95); border:none; border-radius:10px; }
.btn-gold{ background:linear-gradient(180deg,#E6BE5A,#DAA93A); color:#1a1a1a; font-weight:900; border:none; border-radius:10px; }
.btn-gold:hover{ filter:brightness(1.05); color:#000; }
.lbl{ color:#bfcad0; font-size:.85rem; font-weight:700 }
.req-wrap{ display:flex; flex-wrap:wrap; gap:10px; margin-top:10px; }
.req-pill{ display:inline-flex; align-items:center; gap:8px; padding:8px 12px; border-radius:999px; background:rgba(255,255,255,.9); border:1px solid rgba(0,0,0,.07); color:#0f1418; }

/* Facts */
.fact-list{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.fact{ background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); border-radius:12px; padding:10px; }
.fact .label{ color:#aeb8bf; font-size:.86rem; }
.fact .value{ color:#fff; font-weight:800; }

/* Related cards */
.cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
@media (max-width:1200px){.cards-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:992px){ .cards-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:576px){ .cards-grid{grid-template-columns:1fr}}
.hotel-card{ background:var(--brand-bg-1); border:1px solid var(--brand-stroke); border-radius:18px; box-shadow:0 10px 20px rgba(0,0,0,.25); overflow:hidden; display:flex; flex-direction:column; }
.hotel-card .img{ width:100%; aspect-ratio:16/9; object-fit:cover; display:block; background:#0b1014; }
.hotel-card .meta{ padding:10px; }
.hotel-card a{ color:var(--brand-gold-soft); font-weight:800; text-decoration:none; }
.hotel-card a:hover{ color:var(--brand-gold); }

/* Explore Nearby */
#map { width:100%; height:420px; border-radius:14px; border:1px solid var(--brand-stroke); }
.poi-tabs .nav-link{ color:#fff; }
.poi-tabs .nav-link.active{ background:rgba(224,179,65,.25); border-color:rgba(224,179,65,.6); color:#fff; }
.poi-list{ list-style:none; padding:0; margin:0; }
.poi-item{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px 12px; border:1px solid var(--brand-stroke); background:var(--brand-bg-1); border-radius:12px; margin-bottom:10px; cursor:pointer; }
.poi-item:hover{ border-color:rgba(224,179,65,.55); box-shadow:0 10px 22px rgba(0,0,0,.20) }
.poi-name{ color:#fff; font-weight:800; }
.poi-sub{ color:#aeb8bf; font-size:.85rem; margin-right:auto; margin-left:10px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.poi-dist{ background:rgba(224,179,65,.20); color:#fff; border:1px solid rgba(224,179,65,.55); padding:.2rem .5rem; border-radius:999px; font-weight:800; font-size:.85rem; }

/* Prayer box */
.prayer-list{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.prayer-item{ background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); border-radius:10px; padding:8px; }
.prayer-item .k{ color:#aeb8bf; font-weight:700; }
.prayer-item .v{ color:#fff; font-weight:900; }

/* Weather & Air box */
.badge-air{ border-radius:999px; padding:.15rem .5rem; font-weight:800; }
.badge-air.good{ background:#1f7a1f; color:#fff; }
.badge-air.moderate{ background:#c6a700; color:#111; }
.badge-air.usg{ background:#ff7b00; color:#111; }
.badge-air.unhealthy{ background:#c62828; color:#fff; }
.badge-air.very{ background:#6a1b9a; color:#fff; }
.badge-air.hazard{ background:#4e342e; color:#fff; }
.wx-line{ display:flex; align-items:center; gap:10px; }
.wx-ico{ font-size:1.35rem; color:var(--brand-gold-soft); }
.wx-big{ font-size:1.35rem; font-weight:900; color:#fff; }
.wx-small{ color:#aeb8bf; font-weight:700; }

/* Ensure navbar collapses at correct breakpoint */
@media (max-width: 991px) {
  .navbar-collapse {
    background: linear-gradient(90deg,#0F1418,#1A2127);
    padding: 15px;
    margin-top: 10px;
    border-radius: 8px;
  }
}

/* Ensure navbar works properly */
.navbar-collapse {
  z-index: 1000;
}

@media (max-width: 991.98px) {
  .navbar-collapse {
    background: linear-gradient(90deg, #0F1418, #1A2127);
    padding: 1rem;
    margin-top: 1rem;
    border-radius: 8px;
    border: 1px solid rgba(255,255,255,0.1);
  }
}