/* ═══════════════════════════════════════════════════════════════
   Navdrishti Properties v4.0 — Complete Frontend
   Brand: #0d1f3c Navy · #9f0000 Red · #ae8b38 Gold · #16a34a Green
   Fonts: Cormorant Garamond (headings) · DM Sans (body)
   ═══════════════════════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;0,700;1,400;1,700&family=DM+Sans:opsz,wght@9..40,300;9..40,400;9..40,500;9..40,600;9..40,700&display=swap');

:root {
  --c-navy:    #7a0000;
  --c-navy2:   #9f0000;
  --c-navy3:   #b30000;
  --c-red:     #9f0000;
  --c-red-dk:  #7a0000;
  --c-red-lt:  #ffe4e4;
  --c-gold:    #ae8b38;
  --c-gold-dk: #8a6e2a;
  --c-gold-lt: #d4aa55;
  --c-gold-bg: #fdf8ee;
  --c-green:   #16a34a;
  --c-green-lt:#dcfce7;
  --c-black:   #111111;
  --c-white:   #ffffff;
  --c-cream:   #f9f6f1;
  --c-text:    #1a1a1a;
  --c-muted:   #64748b;
  --c-border:  #e5ddd0;
  --r:  12px;
  --r2: 18px;
  --sh:  0 2px 20px rgba(13,31,60,.07);
  --sh2: 0 8px 40px rgba(13,31,60,.13);
  --sh3: 0 20px 70px rgba(13,31,60,.2);
  --ease: .25s cubic-bezier(.4,0,.2,1);
  --serif: 'Cormorant Garamond', Georgia, serif;
  --sans:  'DM Sans', 'Segoe UI', sans-serif;
}

/* ── Base ─────────────────────────────────────────────────── */
.np-wrap,.np-modal-ov,.np-sw,.np-sticky-form {
  font-family: var(--sans) !important;
  color: var(--c-text) !important;
  line-height: 1.6 !important;
}
.np-wrap *,.np-modal-ov *,.np-sw * { box-sizing: border-box !important; }
.np-wrap h1,.np-wrap h2,.np-wrap h3,
.np-card-title,.np-sl-title,.np-sh,.np-sh2,
.np-sf-hd h3,.np-modal-hd h3,
.np-state-hero h1,.np-loc-hero h1,
.np-type-hero-new h1,.np-ov-header h2,
.np-featured-title,.np-results-count {
  font-family: var(--serif) !important;
  line-height: 1.15 !important;
}
.np-wrap a { text-decoration: none !important;  }
.np-wrap img { max-width: 100% !important; }
.np-wrap { max-width: 1320px !important; margin: 0 auto !important; padding: 24px 24px 80px !important; }

/* ── Back Button ──────────────────────────────────────────── */
.np-back-btn {
  display: inline-flex !important; align-items: center !important; gap: 6px !important;
  background: var(--c-cream) !important; border: 1px solid var(--c-border) !important;
  color: var(--c-navy) !important; font-family: var(--sans) !important;
  font-size: 13px !important; font-weight: 600 !important;
  padding: 8px 16px !important; border-radius: 8px !important; cursor: pointer !important;
  margin-bottom: 20px !important; transition: all var(--ease) !important;
}
.np-back-btn:hover { background: var(--c-navy) !important; color: #fff !important; border-color: var(--c-navy) !important; }

/* ── Breadcrumb ───────────────────────────────────────────── */
.np-bc-row { display: flex !important; align-items: center !important; gap: 12px !important; margin-bottom: 20px !important; flex-wrap: wrap !important; }
.np-bc-row .np-back-btn { margin-bottom: 0 !important; }
.np-bc { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 12px !important; color: var(--c-muted) !important; flex-wrap: wrap !important; }
.np-bc a { color: var(--c-navy) !important; font-weight: 500 !important; }
.np-bc a:hover { color: var(--c-gold-dk) !important; }
.np-bc-cur { color: var(--c-navy) !important; font-weight: 600 !important; }

/* ── Search Widget (Homepage) ─────────────────────────────── */
.np-sw { width: 100% !important; }
.np-sw--dark .np-sw-form  { background: rgba(13,31,60,.94) !important; backdrop-filter: blur(16px) !important; border: 1px solid rgba(174,139,56,.35) !important; border-radius: var(--r2) !important; box-shadow: var(--sh3) !important; padding: 5px !important; }
.np-sw--light .np-sw-form { background: #fff !important; border-radius: var(--r2) !important; box-shadow: var(--sh3) !important; padding: 5px !important; }
.np-sw--glass .np-sw-form { background: rgba(255,255,255,.14) !important; backdrop-filter: blur(20px) !important; border: 1px solid rgba(255,255,255,.25) !important; border-radius: var(--r2) !important; padding: 5px !important; }
.np-sw-inner { display: flex !important; align-items: stretch !important; }
@media(max-width:768px){.np-sw-inner{flex-direction:column !important;gap:2px !important;}}
.np-sw-field { display: flex !important; align-items: center !important; gap: 10px !important; flex: 1 !important; padding: 14px 18px !important; }
.np-sw--dark .np-sw-field  { border-right: 1px solid rgba(255,255,255,.1) !important; }
.np-sw--light .np-sw-field { border-right: 1px solid var(--c-border) !important; }
.np-sw--glass .np-sw-field { border-right: 1px solid rgba(255,255,255,.15) !important; }
@media(max-width:768px){.np-sw-field{border-right:none !important;}}
.np-sw-ico { font-size: 18px !important; flex-shrink: 0 !important; }
.np-sw-fd { flex: 1 !important; min-width: 0 !important; }
.np-sw-fd label { display: block !important; font-size: 10px !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 1px !important; margin-bottom: 3px !important; }
.np-sw--dark .np-sw-fd label  { color: rgba(174,139,56,.9) !important; }
.np-sw--light .np-sw-fd label { color: var(--c-gold-dk) !important; }
.np-sw--glass .np-sw-fd label { color: rgba(255,255,255,.8) !important; }
.np-sw-fd select { width: 100% !important; background: none !important; border: none !important; outline: none !important; font-size: 15px !important; font-family: var(--sans) !important; font-weight: 500 !important; cursor: pointer !important; padding-left:5px !important; -webkit-appearance: none !important; appearance: none !important; }
.np-sw--dark .np-sw-fd select,.np-sw--glass .np-sw-fd select { color: #fff !important; }
.np-sw--light .np-sw-fd select { color: var(--c-navy) !important; }
.np-sw-fd select option { background: var(--c-navy) !important; color: #fff !important; }
.np-sw-btn { background: var(--c-gold) !important; color: #fff !important; border: none !important; border-radius: 12px !important; padding: 0 32px !important; font-size: 15px !important; font-weight: 700 !important; font-family: var(--sans) !important; cursor: pointer !important; display: flex !important; align-items: center !important; gap: 8px !important; white-space: nowrap !important; transition: background var(--ease) !important; margin: 4px !important; min-height: 50px !important; }
.np-sw-btn:hover { background: var(--c-gold-lt) !important; }
@media(max-width:768px){.np-sw-btn{margin:6px 4px 4px !important;width:calc(100% - 8px) !important;justify-content:center !important;padding:14px !important;}}

/* ── Filter Bar (Listings page) ───────────────────────────── */
.np-fbar { background: var(--c-navy) !important; border-radius: var(--r2) !important; padding: 20px 22px !important; margin-bottom: 28px !important; box-shadow: var(--sh2) !important; }
.np-fbar-inner { display: grid !important; gap: 8px !important; align-items: center !important; grid-template-columns: 2fr 1fr 1fr 1fr 1fr 1fr auto !important; }
@media(max-width:1100px){.np-fbar-inner{grid-template-columns:1fr 1fr 1fr !important;}}
@media(max-width:640px){.np-fbar-inner{grid-template-columns:1fr !important;}}
.np-fbar-field { display: flex !important; align-items: center !important; gap: 8px !important; background: rgba(255,255,255,.07) !important; border: 1px solid rgba(255,255,255,.12) !important; border-radius: 9px !important; padding: 10px 12px !important; transition: border-color var(--ease) !important; }
.np-fbar-field:focus-within { border-color: var(--c-gold) !important; }
.np-fbar-field input,.np-fbar-field select { flex: 1 !important; background: none !important; border: none !important; outline: none !important; color: #fff !important; font-size: 13px !important; font-family: var(--sans) !important; min-width: 0 !important; -webkit-appearance: none !important; appearance: none !important; }
.np-fbar-field input::placeholder { color: rgba(255,255,255,.4) !important; }
.np-fbar-field select option { background: var(--c-navy) !important; color: #fff !important; }
.np-fbar-btn { background: var(--c-gold) !important; color: #fff !important; border: none !important; border-radius: 9px !important; padding: 11px 22px !important; font-size: 14px !important; font-weight: 700 !important; font-family: var(--sans) !important; cursor: pointer !important; white-space: nowrap !important; transition: background var(--ease) !important; }
.np-fbar-btn:hover { background: var(--c-gold-lt) !important; }
.np-fbar-search svg { color: rgba(255,255,255,.5) !important; flex-shrink: 0 !important; }
.np-results-bar { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 24px !important; }
.np-results-count { font-size: 22px !important; color: var(--c-navy) !important; }
.np-results-count strong { color: var(--c-gold-dk) !important; }
.np-clear-btn { font-size: 13px !important; color: var(--c-muted) !important; border: 1px solid var(--c-border) !important; padding: 6px 14px !important; border-radius: 6px !important; cursor: pointer !important; transition: all var(--ease) !important; text-decoration: none !important; }
.np-clear-btn:hover { border-color: var(--c-red) !important; color: var(--c-red) !important; }

/* ── Grid ─────────────────────────────────────────────────── */
.np-grid { display: grid !important; gap: 26px !important; }
.np-grid--3 { grid-template-columns: repeat(3,1fr) !important; }
.np-grid--2 { grid-template-columns: repeat(2,1fr) !important; }
.np-grid--1 { grid-template-columns: 1fr !important; }
@media(max-width:1100px){.np-grid--3{grid-template-columns:repeat(2,1fr) !important;}}
@media(max-width:640px){.np-grid--3,.np-grid--2{grid-template-columns:1fr !important;}}

/* ── Property Card ────────────────────────────────────────── */
.np-card { background: var(--c-white) !important; border-radius: var(--r2) !important; border: 1px solid var(--c-border) !important; box-shadow: var(--sh) !important; overflow: hidden !important; display: flex !important; flex-direction: column !important; transition: transform var(--ease),box-shadow var(--ease) !important; }
.np-card:hover { transform: translateY(-6px) !important; box-shadow: var(--sh2) !important; }
.np-card-img { position: relative !important; height: 230px !important; overflow: hidden !important; background: #1a2744 !important; }
.np-card-main { width: 100% !important; height: 100% !important; object-fit: cover !important; transition: transform .5s ease !important; display: block !important; }
.np-card:hover .np-card-main { transform: scale(1.05) !important; }
.np-garr { position: absolute !important; top: 50% !important; transform: translateY(-50%) !important; background: rgba(13,31,60,.72) !important; color: #fff !important; border: none !important; width: 36px !important; height: 36px !important; border-radius: 50% !important; font-size: 22px !important; cursor: pointer !important; display: none !important; align-items: center !important; justify-content: center !important; z-index: 3 !important; transition: background var(--ease) !important; padding: 0 !important; }
.np-card:hover .np-garr { display: flex !important; }
.np-garr--l { left: 10px !important; } .np-garr--r { right: 10px !important; }
.np-garr:hover { background: var(--c-gold) !important; }
.np-img-c { position: absolute !important; bottom: 10px !important; right: 10px !important; background: rgba(13,31,60,.75) !important; color: rgba(255,255,255,.9) !important; font-size: 11px !important; font-weight: 600 !important; padding: 3px 9px !important; border-radius: 20px !important; display: flex !important; align-items: center !important; gap: 4px !important; backdrop-filter: blur(4px) !important; }
.np-thumbs { display: flex !important; gap: 4px !important; padding: 6px 8px !important; background: var(--c-cream) !important; border-bottom: 1px solid var(--c-border) !important; }
.np-thumb { flex: 1 !important; height: 46px !important; border-radius: 6px !important; overflow: hidden !important; cursor: pointer !important; border: 2px solid transparent !important; transition: border-color var(--ease) !important; }
.np-thumb img { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important; }
.np-thumb.active { border-color: var(--c-gold) !important; }
.np-thumb-more { flex: 1 !important; height: 46px !important; border-radius: 6px !important; background: var(--c-navy) !important; color: rgba(255,255,255,.75) !important; display: flex !important; align-items: center !important; justify-content: center !important; font-size: 12px !important; font-weight: 600 !important; }

/* Badges */
.np-badge { position: absolute !important; top: 12px !important; left: 12px !important; font-family: var(--sans) !important; font-size: 10px !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: .7px !important; padding: 4px 10px !important; border-radius: 20px !important; color: #fff !important; z-index: 2 !important; }
.np-badge--construction { background: linear-gradient(135deg,#f59e0b,#d97706) !important; }
.np-badge--ready        { background: linear-gradient(135deg,var(--c-green),#15803d) !important; }
.np-badge--launch       { background: linear-gradient(135deg,var(--c-red),var(--c-red-dk)) !important; }
.np-badge--partial      { background: linear-gradient(135deg,#7c3aed,#6d28d9) !important; }
.np-badge--lg { font-size: 12px !important; padding: 6px 16px !important; position: static !important; display: inline-flex !important; }
.np-hot-tag { position: absolute !important; top: 12px !important; right: 12px !important; background: var(--c-red) !important; color: #fff !important; font-size: 10px !important; font-weight: 700 !important; padding: 4px 10px !important; border-radius: 20px !important; z-index: 2 !important; }
.np-hotlist-badge,.np-hotlist-tag { background: var(--c-red) !important; color: #fff !important; font-size: 11px !important; font-weight: 700 !important; padding: 4px 12px !important; border-radius: 20px !important; display: inline-flex !important; align-items: center !important; gap: 4px !important; }
.np-type-pill { position: absolute !important; top: 10px !important;
    left: 180px !important; background: rgba(13,31,60,.82) !important; color: rgba(255,255,255,.92) !important; font-size: 10px !important; font-weight: 600 !important; text-transform: uppercase !important; letter-spacing: .5px !important; padding: 4px 10px !important; border-radius: 20px !important; backdrop-filter: blur(4px) !important; z-index: 2 !important; }
.np-type-pill--lg     { font-size: 12px !important; padding: 6px 14px !important; }
.np-type-pill--inline { position: static !important; display: inline-block !important; margin-bottom: 6px !important; }

/* Card body */
.np-card-a { text-decoration: none !important; color: inherit !important; flex: 1 !important; display: block !important; }
.np-card-body { padding: 18px 20px 12px !important; }
.np-card-title { font-size: 24px !important; font-weight: 700 !important; color: var(--c-navy) !important; margin: 0 0 6px !important; transition: color var(--ease) !important; line-height: 1.25 !important; }
.np-card:hover .np-card-title { color: var(--c-gold-dk) !important; }
.np-card-addr { font-size: 12px !important; color: var(--c-muted) !important; display: flex !important; align-items: center !important; gap: 5px !important; margin: 0 0 3px !important; }
.np-card-dev { font-size: 12px !important; color: var(--c-muted) !important; margin: 0 0 12px !important; }
.np-chips { display: flex !important; flex-wrap: wrap !important; gap: 6px !important; margin-bottom: 10px !important; }
.np-chip { font-family: var(--sans) !important; font-size: 11px !important; font-weight: 600 !important; color: var(--c-navy) !important; background: var(--c-cream) !important; border: 1px solid var(--c-border) !important; padding: 4px 10px !important; border-radius: 6px !important; white-space: nowrap !important; }
.np-chip--price {     background-color: #ae8b38 !important;
    border-color: var(--c-gold) !important;
    color: #fff !important;
    font-family: 'DM SANS' !important;
    font-size: 14px !important;
    font-weight: 700 !important;
} }
.np-chip--status { border: none !important; color: #fff !important; font-size: 10px !important; text-transform: uppercase !important; letter-spacing: .5px !important; }
.np-chip--status-construction { background: #d97706 !important; }
.np-chip--status-ready        { background: var(--c-green) !important; }
.np-chip--status-launch       { background: var(--c-red) !important; }
.np-chip--status-partial      { background: #7c3aed !important; }
.np-card-rera { font-size: 11px !important; color: var(--c-muted) !important; margin: 0 !important; padding-top: 8px !important; border-top: 1px solid var(--c-border) !important; }
.np-card-act { padding: 12px 16px 16px !important; display: flex !important; gap: 8px !important; flex-wrap: wrap !important; border-top: 1px solid var(--c-border) !important; }

/* ── Buttons ──────────────────────────────────────────────── */
.np-btn { display: inline-flex !important; align-items: center !important; justify-content: center !important; font-family: var(--sans) !important; font-size: 12px !important; font-weight: 700 !important; padding: 9px 16px !important; border-radius: 8px !important; border: none !important; cursor: pointer !important; text-decoration: none !important; transition: all var(--ease) !important; white-space: nowrap !important; letter-spacing: .3px !important; }
.np-btn--navy    { background: var(--c-navy) !important; color: #fff !important; }
.np-btn--navy:hover { background: #b30000 !important; }
.np-btn--gold    { background: var(--c-gold) !important; color: #fff !important; }
.np-btn--gold:hover { background: var(--c-gold-lt) !important; }
.np-btn--red     { background: var(--c-red) !important; color: #fff !important; }
.np-btn--red:hover { background: var(--c-red-dk) !important; }
.np-btn--green   { background: var(--c-green) !important; color: #fff !important; }
.np-btn--outline { background: transparent !important; color: var(--c-navy) !important; border: 2px solid var(--c-navy) !important; }
.np-btn--outline:hover { background: var(--c-navy) !important; color: #fff !important; }
.np-btn--sm { font-size: 12px !important; padding: 7px 14px !important; }
.np-empty { text-align: center !important; padding: 80px 20px !important; }
.np-empty span { font-size: 52px !important; display: block !important; margin-bottom: 16px !important; }
.np-empty h3 { font-size: 28px !important; color: var(--c-navy) !important; margin: 0 0 8px !important; }
.np-empty a { color: var(--c-gold-dk) !important; }

/* ═══════════════════════════════════════════════════════════
   SINGLE PROPERTY — HERO CAROUSEL
   ═══════════════════════════════════════════════════════════ */
.np-carousel {
  position: relative !important;
  border-radius: var(--r2) !important;
  overflow: hidden !important;
  height: 350px !important;   /* smaller, elegant */
  background: var(--c-navy) !important;
  margin-bottom: 8px !important;
  box-shadow: var(--sh2) !important;
}
@media(max-width:768px){.np-carousel{height:250px !important;}}
.np-carousel-track { width: 100% !important; height: 100% !important; position: relative !important; }
.np-carousel-slide { position: absolute !important; inset: 0 !important; opacity: 0 !important; transition: opacity .6s ease !important; }
.np-carousel-slide.active { opacity: 1 !important; }
.np-carousel-slide img { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important; }
.np-carousel-video { width: 100% !important; height: 100% !important; }
.np-carousel-video iframe { width: 100% !important; height: 100% !important; border: none !important; }
.np-car-overlay { position: absolute !important; top: 18px !important; left: 18px !important; display: flex !important; gap: 8px !important; z-index: 4 !important; }
.np-car-arr { position: absolute !important; top: 50% !important; transform: translateY(-50%) !important; background: rgba(13,31,60,.72) !important; color: #fff !important; border: none !important; width: 48px !important; height: 48px !important; border-radius: 50% !important; font-size: 26px !important; cursor: pointer !important; z-index: 5 !important; transition: background var(--ease) !important; padding: 0 !important; display: flex !important; align-items: center !important; justify-content: center !important; }
.np-car-arr--l { left: 16px !important; } .np-car-arr--r { right: 16px !important; }
.np-car-arr:hover { background: var(--c-gold) !important; }
.np-car-dots { position: absolute !important; bottom: 16px !important; left: 50% !important; transform: translateX(-50%) !important; display: flex !important; gap: 6px !important; z-index: 4 !important; }
.np-car-dot { width: 8px !important; height: 8px !important; border-radius: 50% !important; background: rgba(255,255,255,.45) !important; border: none !important; cursor: pointer !important; padding: 0 !important; transition: background var(--ease),transform var(--ease) !important; }
.np-car-dot.active { background: var(--c-gold) !important; transform: scale(1.3) !important; }
.np-car-counter { position: absolute !important; bottom: 16px !important; right: 16px !important; background: rgba(0,0,0,.55) !important; color: #fff !important; font-size: 12px !important; font-weight: 600 !important; padding: 3px 10px !important; border-radius: 20px !important; z-index: 4 !important; }
/* Thumbnail strip */
.np-car-thumbs { display: flex !important; gap: 6px !important; overflow-x: auto !important; padding: 6px 0 10px !important; scrollbar-width: none !important; margin-bottom: 24px !important; }
.np-car-thumbs::-webkit-scrollbar { display: none !important; }
.np-car-thumb { flex-shrink: 0 !important; width: 90px !important; height: 60px !important; border-radius: 8px !important; overflow: hidden !important; cursor: pointer !important; border: 2.5px solid transparent !important; transition: border-color var(--ease) !important; }
.np-car-thumb img { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important; }
.np-car-thumb.active { border-color: var(--c-gold) !important; }
.np-car-thumb-video { width: 100% !important; height: 100% !important; background: var(--c-navy) !important; display: flex !important; align-items: center !important; justify-content: center !important; color: var(--c-gold) !important; }

/* ═══════════════════════════════════════════════════════════
   SINGLE PROPERTY — 2-col layout
   ═══════════════════════════════════════════════════════════ */
.np-single-header { margin-bottom: 20px !important; }
.np-single-title-row { display: flex !important; justify-content: space-between !important; align-items: flex-start !important; gap: 16px !important; flex-wrap: wrap !important; margin: 8px 0 !important; }
.np-sl-title { font-size: 38px !important; font-weight: 700 !important; color: var(--c-black) !important; margin: 0 0 6px !important; }
@media(max-width:640px){.np-sl-title{font-size:26px !important;}}
.np-sl-addr { display: flex !important; align-items: center !important; gap: 6px !important; color: var(--c-muted) !important; font-size: 14px !important; margin: 0 !important; }
.np-sl-price-block { text-align: right !important; }
.np-sl-price { font-family: var(--serif) !important; font-size: 28px !important; font-weight: 700 !important; color: var(--c-gold-dk) !important; white-space: nowrap !important; }
.np-sl-price-note { font-size: 12px !important; color: var(--c-muted) !important; margin-top: 2px !important; }
.np-sl-dev { font-size: 14px !important; color: var(--c-muted) !important; margin: 0 0 16px !important; }
.np-sl-dev strong { color: var(--c-navy) !important; }

/* Action strip */
.np-action-strip { display: flex !important; align-items: center !important; gap: 10px !important; flex-wrap: wrap !important; margin-bottom: 24px !important; padding: 16px !important; background: var(--c-cream) !important; border-radius: var(--r) !important; border: 1px solid var(--c-border) !important; }
.np-status-chip { font-family: var(--sans) !important; font-size: 12px !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: .6px !important; padding: 6px 14px !important; border-radius: 20px !important; color: #fff !important; }
.np-status-chip--construction { background: #d97706 !important; }
.np-status-chip--ready        { background: var(--c-green) !important; }
.np-status-chip--launch       { background: var(--c-red) !important; }
.np-status-chip--partial      { background: #7c3aed !important; }

/* Specs grid */
.np-specs { display: grid !important; grid-template-columns: repeat(auto-fill,minmax(165px,1fr)) !important; gap: 10px !important; margin-bottom: 32px !important; }
.np-spec-box { display: flex !important; align-items: flex-start !important; gap: 10px !important; background: #fff !important; border-radius: 10px !important; padding: 14px !important; border: 1px solid var(--c-border) !important; box-shadow: var(--sh) !important; transition: transform var(--ease) !important; }
.np-spec-box:hover { transform: translateY(-2px) !important; }
.np-spec-box--price { border-color: var(--c-gold) !important; background: var(--c-gold-bg) !important; }
.np-spec-box--status { border-color: var(--c-green) !important; }
.np-spec-box--rera { border-color: var(--c-navy) !important; }
.np-spec-ico { font-size: 18px !important; flex-shrink: 0 !important; margin-top: 1px !important; }
.np-spec-lbl { display: block !important; font-size: 10px !important; text-transform: uppercase !important; letter-spacing: .6px !important; color: var(--c-muted) !important; margin-bottom: 4px !important; font-weight: 600 !important; }
.np-spec-val { font-size: 14px !important; font-weight: 700 !important; color: var(--c-navy) !important; font-family: 'DM Sans' !important; display: block !important; line-height: 1.3 !important; word-break: break-word !important; }

/* Sections */
.np-sl { display: grid !important; grid-template-columns: 1fr 390px !important; gap: 40px !important; align-items: start !important; }
@media(max-width:1100px){.np-sl{grid-template-columns:1fr !important;}.np-sl-right{order:-1 !important;}}
.np-section { margin-bottom: 36px !important; }
.np-sh { font-size: 26px !important; font-weight: 700 !important; color: var(--c-navy) !important; margin: 0 0 16px !important; padding-bottom: 10px !important; border-bottom: 2.5px solid var(--c-gold) !important; display: flex !important; align-items: center !important; gap: 10px !important; }
.np-sh2 { font-size: 26px !important; font-weight: 700 !important; color: var(--c-navy) !important; margin: 0 0 20px !important; }
.np-sh2 em { color: var(--c-gold-dk) !important; font-style: italic !important; }
.np-sh2-row { display: flex !important; align-items: center !important; justify-content: space-between !important; margin-bottom: 20px !important; }
.np-sb { font-size: 15px !important; line-height: 1.85 !important; color: #2d2d2d !important; }
.np-sb p { margin: 0 0 14px !important; }

/* Brochure gate section */
.np-bro-section { margin-top: 20px !important; padding: 18px 20px !important; background: var(--c-gold-bg) !important; border-radius: var(--r) !important; border: 1px solid var(--c-gold) !important; display: flex !important; align-items: center !important; gap: 14px !important; flex-wrap: wrap !important; }
.np-bro-note { font-size: 13px !important; color: var(--c-gold-dk) !important; font-style: italic !important; }

/* Amenities */
.np-amen-grid { display: grid !important; grid-template-columns: repeat(auto-fill,minmax(200px,1fr)) !important; gap: 10px !important; }
.np-amen-item { display: flex !important; align-items: center !important; gap: 10px !important; background: var(--c-cream) !important; border: 1px solid var(--c-border) !important; border-radius: 8px !important; padding: 10px 14px !important; font-size: 13px !important; font-weight: 500 !important; color: var(--c-navy) !important; }
.np-amen-ck { color: var(--c-green) !important; font-weight: 700 !important; font-size: 16px !important; flex-shrink: 0 !important; }
.np-land-list { display: flex !important; flex-direction: column !important; gap: 8px !important; }
.np-land-item { display: flex !important; align-items: flex-start !important; gap: 10px !important; background: var(--c-cream) !important; border-left: 3px solid var(--c-gold) !important; border-radius: 0 8px 8px 0 !important; padding: 10px 16px !important; font-size: 14px !important; color: var(--c-text) !important; }
.np-dev-card { display: flex !important; gap: 16px !important; background: var(--c-cream) !important; border-radius: var(--r) !important; padding: 20px !important; border-left: 4px solid var(--c-gold) !important; }
.np-dev-ico { font-size: 30px !important; flex-shrink: 0 !important; }
.np-map { border-radius: var(--r2) !important; overflow: hidden !important; }
.np-video-wrap { position: relative !important; padding-bottom: 42% !important; height: 0 !important; border-radius: var(--r2) !important; overflow: hidden !important; margin-bottom: 32px !important; }
.np-video-wrap iframe { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; }

/* ═══════════════════════════════════════════════════════════
   STICKY SIDEBAR FORM
   ═══════════════════════════════════════════════════════════ */
.np-sl-right { position: relative !important; }
.np-sticky-form { background: #fff !important; border-radius: var(--r2) !important; border: 1px solid var(--c-border) !important; box-shadow: var(--sh2) !important; overflow: hidden !important; position: sticky !important; top: 24px !important; overflow-y: auto !important; scrollbar-width: none !important; z-index: 100 !important; }
.np-sticky-form::-webkit-scrollbar { display: none !important; }
@media(max-width:1100px){.np-sticky-form{position:static !important;top:auto !important;max-height:none !important;}}
.np-sf-hd { background: linear-gradient(135deg,var(--c-navy) 0%,#b30000 100%) !important; padding: 22px 22px 16px !important; color: #fff !important; }
.np-sf-hd h3 { font-size: 22px !important; font-weight: 700 !important; margin: 0 0 4px !important; color: #fff !important; }
.np-sf-hd h3 em { color: var(--c-gold-lt) !important; font-style: italic !important; }
.np-sf-hd p { margin: 0 !important; font-size: 13px !important; color: rgba(255,255,255,.65) !important; }
.np-sf-hd p strong { color: var(--c-gold-lt) !important; }
.np-sf-tabs { display: flex !important; background: var(--c-cream) !important; border-bottom: 1px solid var(--c-border) !important; }
.np-sftab { flex: 1 !important; background: none !important; border: none !important; border-bottom: 3px solid transparent !important; padding: 10px 4px !important; font-family: var(--sans) !important; font-size: 12px !important; font-weight: 700 !important; color: var(--c-muted) !important; cursor: pointer !important; transition: all var(--ease) !important; }
.np-sftab.active { color: var(--c-gold-dk) !important; border-bottom-color: var(--c-gold) !important; }
.np-sf-form { padding: 18px 20px !important; }
.np-sff { margin-bottom: 10px !important; }
.np-sff input,.np-sff select,.np-sff textarea { width: 100% !important; border: 1.5px solid var(--c-border) !important; border-radius: 8px !important; padding: 11px 13px !important; font-size: 14px !important; font-family: var(--sans) !important; color: var(--c-text) !important; background: #fff !important; outline: none !important; transition: border-color var(--ease),box-shadow var(--ease) !important; box-sizing: border-box !important; }
.np-sff input:focus,.np-sff textarea:focus { border-color: var(--c-gold) !important; box-shadow: 0 0 0 3px rgba(174,139,56,.1) !important; }
.np-sff textarea { resize: vertical !important; }
.np-sf-btn { width: 100% !important; background: linear-gradient(135deg,var(--c-gold) 0%,var(--c-gold-dk) 100%) !important; color: #fff !important; border: none !important; border-radius: 10px !important; padding: 14px !important; font-size: 15px !important; font-weight: 700 !important; font-family: var(--sans) !important; cursor: pointer !important; transition: transform var(--ease),box-shadow var(--ease) !important; }
.np-sf-btn:hover { transform: translateY(-2px) !important; box-shadow: 0 6px 24px rgba(174,139,56,.35) !important; }
.np-sf-note { font-size: 11px !important; color: var(--c-muted) !important; text-align: center !important; margin: 8px 0 0 !important; }
.np-form-resp { padding: 11px 14px !important; border-radius: 8px !important; font-size: 13px !important; margin-bottom: 10px !important; }
.np-form-resp.ok  { background: var(--c-green-lt) !important; color: #14532d !important; border: 1px solid #86efac !important; }
.np-form-resp.err { background: var(--c-red-lt) !important; color: #7f0000 !important; border: 1px solid #fca5a5 !important; }
.np-sf-links { padding: 0 20px 18px !important; display: flex !important; flex-direction: column !important; gap: 8px !important; }
.np-sf-link { display: flex !important; align-items: center !important; justify-content: center !important; gap: 8px !important; padding: 11px !important; border-radius: 8px !important; font-size: 13px !important; font-weight: 600 !important; text-decoration: none !important; background: var(--c-cream) !important; color: var(--c-navy) !important; border: 1px solid var(--c-border) !important; transition: all var(--ease) !important; cursor: pointer !important; }
.np-sf-link:hover { background: var(--c-navy) !important; color: #fff !important; border-color: var(--c-navy) !important; }
.np-sf-link--wa { background: #dcfce7 !important; color: #15803d !important; border-color: #86efac !important; }
.np-sf-link--wa:hover { background: #25d366 !important; color: #fff !important; border-color: #25d366 !important; }

/* ═══════════════════════════════════════════════════════════
   MODAL — Main + Brochure
   ═══════════════════════════════════════════════════════════ */
.np-modal-ov { position: fixed !important; inset: 0 !important; width: 100vw !important; height: 100vh !important; background: rgba(5,15,35,.72) !important; z-index: 999999 !important; align-items: center !important; justify-content: center !important; padding: 20px !important; backdrop-filter: blur(4px) !important; }
.np-modal-box { background: #fff !important; border-radius: 20px !important; width: 100% !important; max-width: 580px !important; max-height: 90vh !important; overflow-y: auto !important; position: relative !important; box-shadow: var(--sh3) !important; margin: auto !important; flex-shrink: 0 !important; animation: npMIn .25s cubic-bezier(.34,1.4,.64,1) both !important; }
@keyframes npMIn{from{transform:scale(.9) translateY(12px);opacity:0;}to{transform:scale(1) translateY(0);opacity:1;}}
.np-modal-x { position: absolute !important; top: 12px !important; right: 12px !important; z-index: 20 !important; width: 36px !important; height: 36px !important; border-radius: 50% !important; background: rgba(255,255,255,.25) !important; border: 2px solid rgba(255,255,255,.6) !important; color: #fff !important; font-size: 17px !important; font-weight: 800 !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; line-height: 1 !important; padding: 0 !important; transition: all var(--ease) !important; }
.np-modal-x:hover { background: var(--c-red) !important; border-color: var(--c-red) !important; transform: scale(1.1) !important; }
.np-modal-hd { background: linear-gradient(135deg,var(--c-navy) 0%,#b30000 100%) !important; padding: 26px 28px 18px !important; border-radius: 20px 20px 0 0 !important; color: #fff !important; }
.np-modal-hd h3 { font-size: 24px !important; font-weight: 700 !important; margin: 0 !important; color: #fff !important; padding-right: 46px !important; }
.np-modal-tabs { display: flex !important; background: var(--c-cream) !important; border-bottom: 1px solid var(--c-border) !important; }
.np-modal-form { padding: 20px 28px 28px !important; }
.np-modal-row { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
@media(max-width:520px){.np-modal-row{grid-template-columns:1fr !important;}}

/* ═══════════════════════════════════════════════════════════
   STATE PAGES
   ═══════════════════════════════════════════════════════════ */
.np-state-hero { background: linear-gradient(135deg,var(--c-navy) 0%,#b30000 100%) !important; border-radius: var(--r2) !important; padding: 40px !important; display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 24px !important; margin-bottom: 36px !important; color: #fff !important; border-left: 6px solid var(--state-color,var(--c-gold)) !important; }
.np-state-hero-left { display: flex !important; align-items: center !important; gap: 24px !important; flex: 1 !important; }
.np-state-icon { font-size: 56px !important; flex-shrink: 0 !important; }
.np-state-tagline { font-size: 11px !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 1.5px !important; color: var(--c-gold-lt) !important; margin: 0 0 6px !important; }
.np-state-hero h1 { font-size: 36px !important; font-weight: 700 !important; margin: 0 0 8px !important; color: #fff !important; }
.np-state-desc { margin: 0 !important; color: rgba(255,255,255,.75) !important; font-size: 14px !important; }
.np-state-stats { display: flex !important; gap: 16px !important; flex-shrink: 0 !important; }
.np-state-stat { text-align: center !important; background: rgba(255,255,255,.08) !important; border-radius: 12px !important; padding: 14px 18px !important; border: 1px solid rgba(255,255,255,.12) !important; }
.np-state-stat strong { display: block !important; font-family: var(--serif) !important; font-size: 26px !important; color: var(--c-gold-lt) !important; line-height: 1 !important; }
.np-state-stat span { font-size: 10px !important; color: rgba(255,255,255,.6) !important; text-transform: uppercase !important; }
.np-state-cities { margin-bottom: 36px !important; }
.np-city-pills { display: flex !important; flex-wrap: wrap !important; gap: 10px !important; }
.np-city-pill { background: var(--c-cream) !important; border: 1.5px solid var(--c-border) !important; color: var(--c-navy) !important; font-size: 14px !important; font-weight: 600 !important; padding: 9px 20px !important; border-radius: 30px !important; text-decoration: none !important; transition: all var(--ease) !important; }
.np-city-pill:hover { background: var(--c-navy) !important; color: #fff !important; border-color: var(--c-navy) !important; }
@media(max-width:768px){.np-state-hero{flex-direction:column !important;padding:24px !important;}.np-state-stats{width:100% !important;justify-content:center !important;}.np-state-hero-left{flex-direction:column !important;text-align:center !important;}}

/* ═══════════════════════════════════════════════════════════
   LOCATION PAGES
   ═══════════════════════════════════════════════════════════ */
.np-loc-hero { background: linear-gradient(135deg,var(--c-navy),#b30000) !important; color: #fff !important; border-radius: var(--r2) !important; padding: 36px 40px !important; display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 24px !important; margin-bottom: 36px !important; flex-wrap: wrap !important; }
.np-loc-hero-left { display: flex !important; align-items: center !important; gap: 20px !important; flex: 1 !important; }
.np-loc-icon { font-size: 50px !important; flex-shrink: 0 !important; }
.np-loc-hero h1 { font-size: 34px !important; font-weight: 700 !important; margin: 0 0 8px !important; color: #fff !important; }
.np-loc-desc { margin: 0 !important; color: rgba(255,255,255,.75) !important; font-size: 14px !important; }
.np-loc-stats { display: flex !important; gap: 14px !important; flex-shrink: 0 !important; }
.np-loc-stat { text-align: center !important; background: rgba(174,139,56,.15) !important; border: 1px solid rgba(174,139,56,.3) !important; border-radius: 12px !important; padding: 12px 16px !important; }
.np-loc-stat strong { display: block !important; font-family: var(--serif) !important; font-size: 22px !important; color: var(--c-gold-lt) !important; line-height: 1 !important; }
.np-loc-stat span { font-size: 10px !important; color: rgba(255,255,255,.6) !important; text-transform: uppercase !important; }
@media(max-width:768px){.np-loc-hero{flex-direction:column !important;padding:24px !important;}.np-loc-hero-left{flex-direction:column !important;text-align:center !important;}.np-loc-stats{width:100% !important;justify-content:center !important;}
    
    .np-sl-price-note{
        text-align: left;
    }
}


/* ═══════════════════════════════════════════════════════════
   PROPERTY TYPE PAGES — Glamorous redesign
   ═══════════════════════════════════════════════════════════ */
.np-type-hero-new {
  position: relative !important;
  border-radius: var(--r2) !important;
  overflow: hidden !important;
  margin-bottom: 32px !important;
  min-height: 220px !important;
  background: linear-gradient(135deg,var(--c-navy) 0%,#b30000 100%) !important;
  border-left: 6px solid var(--type-color,var(--c-gold)) !important;
  box-shadow: var(--sh2) !important;
}
.np-type-hero-bg {
  position: absolute !important; inset: 0 !important;
  background: linear-gradient(135deg,var(--type-color,var(--c-gold)) 0%,transparent 60%) !important;
  opacity: .12 !important;
}
.np-type-hero-content { position: relative !important; z-index: 1 !important; padding: 36px 40px !important; display: flex !important; align-items: center !important; gap: 24px !important; flex-wrap: wrap !important; }
.np-type-hero-icon { font-size: 60px !important; flex-shrink: 0 !important; filter: drop-shadow(0 4px 12px rgba(0,0,0,.3)) !important; }
.np-type-hero-text { flex: 1 !important; }
.np-type-hero-tag { font-size: 11px !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 1.5px !important; color: var(--c-gold-lt) !important; margin: 0 0 8px !important; }
.np-type-hero-new h1 { font-size: 36px !important; font-weight: 700 !important; margin: 0 0 10px !important; color: #fff !important; text-shadow: 0 2px 8px rgba(0,0,0,.3) !important; }
.np-type-hero-desc { margin: 0 !important; color: rgba(255,255,255,.8) !important; font-size: 15px !important; line-height: 1.6 !important; }
.np-type-hero-badge { background: rgba(255,255,255,.1) !important; border: 1px solid rgba(255,255,255,.2) !important; border-radius: 16px !important; padding: 18px 26px !important; text-align: center !important; flex-shrink: 0 !important; }
.np-type-hero-num { display: block !important; font-family: var(--serif) !important; font-size: 44px !important; font-weight: 700 !important; color: var(--c-gold-lt) !important; line-height: 1 !important; text-shadow: 0 2px 8px rgba(0,0,0,.2) !important; }
.np-type-hero-badge span { font-size: 11px !important; color: rgba(255,255,255,.7) !important; text-transform: uppercase !important; letter-spacing: 1px !important; }
@media(max-width:768px){.np-type-hero-content{padding:24px !important;flex-direction:column !important;text-align:center !important;}.np-type-hero-new h1{font-size:26px !important;}}

/* Filter pills */
.np-type-filters { display: flex !important; align-items: center !important; gap: 10px !important; flex-wrap: wrap !important; margin-bottom: 28px !important; }
.np-tf-lbl { font-size: 13px !important; font-weight: 600 !important; color: var(--c-muted) !important; white-space: nowrap !important; }
.np-tf-pill { text-decoration: none !important; font-family: var(--sans) !important; font-size: 13px !important; font-weight: 600 !important; padding: 8px 18px !important; border-radius: 30px !important; border: 1.5px solid var(--c-border) !important; color: var(--c-navy) !important; background: #fff !important; transition: all var(--ease) !important; }
.np-tf-pill:hover,.np-tf-pill.active { background: var(--c-navy) !important; color: #fff !important; border-color: var(--c-navy) !important; }

/* ═══════════════════════════════════════════════════════════
   OVERVIEW SHORTCODES
   ═══════════════════════════════════════════════════════════ */
.np-ov-header { text-align: center !important; padding: 24px 20px 40px !important; }
.np-ov-header h2 { font-size: 40px !important; font-weight: 700 !important; color: var(--c-navy) !important; margin: 0 0 10px !important; }
.np-ov-header h2 em { color: var(--c-gold-dk) !important; font-style: italic !important; }
.np-ov-header p { font-size: 15px !important; color: var(--c-muted) !important; margin: 0 !important; }
.np-states-grid { display: grid !important; grid-template-columns: repeat(auto-fill,minmax(280px,1fr)) !important; gap: 20px !important; margin-bottom: 60px !important; }
.np-state-card { background: #fff !important; border: 1px solid var(--c-border) !important; border-top: 4px solid var(--sc,var(--c-gold)) !important; border-radius: var(--r2) !important; padding: 24px !important; text-decoration: none !important; color: var(--c-text) !important; display: flex !important; flex-direction: column !important; gap: 12px !important; box-shadow: var(--sh) !important; transition: transform var(--ease),box-shadow var(--ease) !important; }
.np-state-card:hover { transform: translateY(-5px) !important; box-shadow: var(--sh2) !important; }
.np-sc-top { display: flex !important; align-items: center !important; gap: 12px !important; }
.np-sc-ico { font-size: 34px !important; flex-shrink: 0 !important; }
.np-sc-top h3 { font-size: 21px !important; font-weight: 700 !important; color: var(--c-navy) !important; margin: 0 0 2px !important; }
.np-sc-tag { font-size: 12px !important; color: var(--c-muted) !important; margin: 0 !important; }
.np-sc-count { margin-left: auto !important; text-align: center !important; background: var(--c-cream) !important; border-radius: 10px !important; padding: 8px 12px !important; flex-shrink: 0 !important; font-family: var(--serif) !important; font-size: 22px !important; font-weight: 700 !important; color: var(--c-navy) !important; }
.np-sc-count small { display: block !important; font-family: var(--sans) !important; font-size: 10px !important; color: var(--c-muted) !important; text-transform: uppercase !important; }
.np-sc-cities { display: flex !important; flex-wrap: wrap !important; gap: 6px !important; }
.np-sc-city { font-size: 12px !important; font-weight: 600 !important; color: var(--c-navy) !important; background: var(--c-cream) !important; border: 1px solid var(--c-border) !important; padding: 3px 9px !important; border-radius: 20px !important; }
.np-sc-arrow { font-size: 13px !important; font-weight: 700 !important; color: var(--sc,var(--c-gold-dk)) !important; }
.np-types-grid { display: grid !important; grid-template-columns: repeat(auto-fill,minmax(220px,1fr)) !important; gap: 20px !important; }
.np-type-card { background: #fff !important; border: 1px solid var(--c-border) !important; border-left: 5px solid var(--tc,var(--c-gold)) !important; border-radius: var(--r2) !important; padding: 26px 22px !important; text-decoration: none !important; color: var(--c-text) !important; display: flex !important; flex-direction: column !important; gap: 10px !important; box-shadow: var(--sh) !important; transition: transform var(--ease),box-shadow var(--ease) !important; }
.np-type-card:hover { transform: translateY(-5px) !important; box-shadow: var(--sh2) !important; }
.np-tc-ico { font-size: 38px !important; }
.np-type-card h3 { font-size: 22px !important; font-weight: 700 !important; color: var(--c-navy) !important; margin: 0 !important; }
.np-type-card p { font-size: 14px !important; color: var(--c-muted) !important; margin: 0 !important; flex: 1 !important; line-height: 1.6 !important; }
.np-tc-count { font-size: 13px !important; font-weight: 700 !important; color: var(--tc,var(--c-gold-dk)) !important; }
.np-tc-arrow { font-size: 13px !important; font-weight: 700 !important; color: var(--c-navy) !important; }

/* ═══════════════════════════════════════════════════════════
   FEATURED / HOTLIST
   ═══════════════════════════════════════════════════════════ */
.np-featured-wrap { padding-top: 0 !important; }
.np-featured-header { display: flex !important; align-items: center !important; justify-content: space-between !important; margin-bottom: 24px !important; flex-wrap: wrap !important; gap: 12px !important; }
.np-featured-title { font-size: 34px !important; font-weight: 700 !important; color: var(--c-navy) !important; margin: 0 !important; }
.np-featured-title em { color: var(--c-gold-dk) !important; font-style: italic !important; }

/* ═══════════════════════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════════════════════ */
@media(max-width:768px){
  .np-wrap{padding:16px 16px 60px !important;}
  .np-fbar{padding:14px !important;}
  .np-specs{grid-template-columns:1fr 1fr !important;}
  .np-amen-grid{grid-template-columns:1fr !important;}
  .np-sf-form{padding:14px !important;}
  .np-sf-links{padding:0 14px 14px !important;}
  .np-modal-hd{padding:20px !important;}
  .np-modal-form{padding:16px 20px 24px !important;}
  .np-card-img{height:200px !important;}
  .np-states-grid{grid-template-columns:1fr !important;}
  .np-types-grid{grid-template-columns:1fr !important;}
  .np-results-bar{flex-direction:column !important;align-items:flex-start !important;gap:10px !important;}
  .np-card-act .np-btn{flex:1 1 auto !important;}
  .np-featured-title{font-size:26px !important;}
  .np-ov-header h2{font-size:28px !important;}
  .np-action-strip{flex-direction:column !important;align-items:flex-start !important;}
  .np-bro-section{flex-direction:column !important;align-items:flex-start !important;}
}
@media(max-width:480px){
  .np-sl-title{font-size:22px !important;}
  .np-state-hero h1,.np-loc-hero h1{font-size:24px !important;}
  .np-specs{grid-template-columns:1fr !important;}
  .np-modal-box{border-radius:12px !important;}
  .np-sf-tabs .np-sftab{font-size:11px !important;padding:9px 3px !important;}
}
