/* ── Bootstrap primary color → brand gold #CC9966 ── */
:root{--bs-primary:#CC9966;--bs-primary-rgb:204,153,102;--bs-link-color:#CC9966;--bs-link-color-rgb:204,153,102}
.btn-primary,.btn-primary:disabled,.btn-primary.disabled{background-color:#CC9966!important;border-color:#CC9966!important;color:#5b0161!important}
.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.show>.btn-primary.dropdown-toggle{background-color:#b8873d!important;border-color:#b8873d!important;color:#5b0161!important}
.btn-outline-primary{color:#CC9966!important;border-color:#CC9966!important}
.btn-outline-primary:hover,.btn-outline-primary:active,.btn-outline-primary.active{background-color:#CC9966!important;border-color:#CC9966!important;color:#5b0161!important}
.text-primary{color:#CC9966!important}.bg-primary{background-color:#CC9966!important;color:#5b0161!important}
.border-primary{border-color:#CC9966!important}.link-primary{color:#CC9966!important}
.page-link{color:#CC9966}.page-item.active .page-link{background-color:#CC9966!important;border-color:#CC9966!important;color:#5b0161!important}
.nav-pills .nav-link.active,.nav-pills .show>.nav-link{background-color:#CC9966!important;color:#5b0161!important}
.list-group-item.active{background-color:#CC9966!important;border-color:#CC9966!important;color:#5b0161!important}
.dropdown-item.active,.dropdown-item:active{background-color:#CC9966!important;color:#5b0161!important}
.form-check-input:checked{background-color:#CC9966!important;border-color:#CC9966!important}
.btn-link{color:#CC9966!important}

.choose-property-type [type=radio]:checked, .choose-property-type [type=radio]:not(:checked) {
    left: unset;
    position: relative;
}
/* ── Halcyon Court FAQ Accordion ── */
.hcfi{border:1px solid #e8e8e8;border-radius:6px;margin-bottom:8px;background:#fff;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.06);transition:border-color .25s,box-shadow .25s}
.hcfi.open{border-color:#5b0161;box-shadow:0 4px 16px rgba(91,1,97,.12)}
.hcfq{display:flex;align-items:center;gap:14px;padding:16px 20px;cursor:pointer;user-select:none;transition:background .2s}
.hcfq:hover{background:#f9f0fa}
.hcfi.open .hcfq{background:#f5eaf6}
.hcfnum{width:34px;height:34px;border-radius:50%;background:#1c2e4a;color:#fff;font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .25s}
.hcfi.open .hcfnum{background:#5b0161}
.hcftext{flex:1;font-weight:600;font-size:.96rem;color:#1c2e4a;line-height:1.4}
.hcficon{width:30px;height:30px;border-radius:50%;border:1.5px solid #ddd;display:flex;align-items:center;justify-content:center;color:#999;font-size:1.1rem;font-weight:300;flex-shrink:0;transition:all .3s;line-height:1}
.hcfi.open .hcficon{background:#5b0161;border-color:#5b0161;color:#fff;transform:rotate(45deg)}
.hcfa{max-height:0;overflow:hidden;transition:max-height .4s ease,padding .3s ease;padding:0 20px 0 68px;background:#f5eaf6;border-top:0px solid #d9b3dc;font-size:.93rem;color:#444;line-height:1.8}
.hcfi.open .hcfa{max-height:1400px;padding:16px 20px 20px 68px;border-top-width:1px}
.hcfa p{margin:0 0 10px}
.hcfa ul,.hcfa ol{padding-left:18px;margin:8px 0 10px}
.hcfa li{margin-bottom:5px}
.hcfa li::marker{color:#5b0161}
.hcfa strong{color:#1c2e4a}
.hcfa a{color:#5b0161;text-decoration:underline}
/* ── FAQ page wrapper ── */
.hcfaq-outer{max-width:820px;margin:0 auto;padding:32px 20px 60px}
.hcfaq-outer .hcfaq-intro{text-align:center;margin-bottom:28px;padding:20px;background:linear-gradient(135deg,#1c2e4a 0%,#0f1e33 100%);border-radius:8px}
.hcfaq-outer .hcfaq-intro p{color:rgba(255,255,255,.75);font-size:.95rem;margin:0}
.hcfaq-outer .hcfaq-intro strong{color:#fff}
/* ── CTA box ── */
.hcf-cta-box{margin-top:32px;background:linear-gradient(135deg,#5b0161 0%,#7a1f7e 60%,#CC9966 100%);border-radius:8px;padding:24px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.hcf-cta-box h4{color:#fff;font-size:1.05rem;font-weight:700;margin:0 0 4px}
.hcf-cta-box p{color:rgba(255,255,255,.75);font-size:.87rem;margin:0}
.hcf-wa-btn{display:inline-flex;align-items:center;gap:8px;background:#25D366;color:#fff!important;text-decoration:none!important;font-weight:700;font-size:.88rem;padding:11px 22px;border-radius:5px;white-space:nowrap;border:2px solid #25D366;transition:all .2s}
.hcf-wa-btn:hover{background:#1db954;border-color:#1db954;color:#fff!important}
@media(max-width:600px){
  .hcfa,.hcfi.open .hcfa{padding-left:20px}
  .hcf-cta-box{flex-direction:column;align-items:flex-start}
  .hcfaq-outer{padding:20px 14px 48px}
}

/* ── Hero search: remove overflow clip so Select2 dropdowns aren't cut off ── */
.hero-search-wrap { overflow: visible !important; }

/* ── Fix Select2 dropdown z-index (style.css has a later rule setting it to 1) ── */
.select2-dropdown { z-index: 99999 !important; }
.select2-container--open { z-index: 99999 !important; }

/* Last-resort price cap */
.vc_column-inner h2[style*="color"],
.vc_column-inner h3[style*="color"] {
  font-size: clamp(1.2rem, 3vw, 1.8rem) !important;
}

/* ── Floating WhatsApp Button ── */
.hc-float-wa{
  position:fixed;bottom:28px;right:28px;z-index:9999;
  display:flex;align-items:center;gap:10px;
  background:#25D366;color:#fff!important;
  text-decoration:none!important;
  padding:13px 20px 13px 16px;
  border-radius:50px;
  box-shadow:0 6px 24px rgba(37,211,102,.45);
  font-weight:700;font-size:.9rem;
  transition:all .3s;
  animation:hc-pulse 2.5s ease-in-out infinite;
}
.hc-float-wa:hover{
  background:#1db954;
  box-shadow:0 8px 32px rgba(37,211,102,.6);
  transform:translateY(-3px) scale(1.04);
  color:#fff!important;
}
.hc-float-wa svg{width:24px;height:24px;fill:#fff;flex-shrink:0}
.hc-float-wa-label{white-space:nowrap}
@keyframes hc-pulse{
  0%,100%{box-shadow:0 6px 24px rgba(37,211,102,.45)}
  50%{box-shadow:0 6px 32px rgba(37,211,102,.75),0 0 0 8px rgba(37,211,102,.12)}
}
@media(max-width:600px){
  .hc-float-wa-label{display:none}
  .hc-float-wa{padding:14px;border-radius:50%}
  .hc-float-wa svg{width:26px;height:26px}
}

/* ── Property card hover lift ── */
.property-listing{transition:transform .3s,box-shadow .3s!important}
.property-listing:hover{transform:translateY(-6px)!important;box-shadow:0 12px 36px rgba(0,0,0,.13)!important}

/* ── Nav link hover underline effect ── */
#navigation .nav-menu > li > a{position:relative;transition:color .2s}
#navigation .nav-menu > li > a::after{
  content:'';position:absolute;bottom:-2px;left:0;width:0;height:2px;
  background:#5b0161;transition:width .3s;
}
#navigation .nav-menu > li > a:hover::after{width:100%}

/* ── Button pulse on property pages ── */
.btn-red-grad, .btn-theme, a.btn-red{transition:transform .2s,box-shadow .2s!important}
.btn-red-grad:hover, .btn-theme:hover, a.btn-red:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 6px 20px rgba(91,1,97,.35)!important;
}

/* ── Section headings accent ── */
.sec-heading h2::after, .heading-title::after{
  content:'';display:block;width:48px;height:3px;
  background:#5b0161;margin:10px auto 0;border-radius:2px;
}

/* ── Smooth scroll ── */
html{scroll-behavior:smooth}

/* ── Image zoom on property cards ── */
.property-listing .listing-img-wrapper img,
.property-img img{transition:transform .45s ease!important;overflow:hidden}
.property-listing:hover .listing-img-wrapper img,
.property-listing:hover .property-img img{transform:scale(1.06)!important}

/* ── Page fade-in ── */
.page-container, #app, .main-content{animation:hc-fadein .5s ease}
@keyframes hc-fadein{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}

/* ── Nuclear price fix: overrides inline font-size on heading tags ── */
.vc_column-inner [style*="font-size"] h2,
.vc_column-inner [style*="font-size"] h3,
.vc_column-inner h2[style*="font-size"],
.vc_column-inner h3[style*="font-size"],
.wpb_column h2[style*="font-size"],
.wpb_column h3[style*="font-size"],
h2[style*="font-size"][style*="color"],
h3[style*="font-size"][style*="color"],
h2[style*="font-size"],
h3[style*="font-size"] {
  font-size: clamp(1.3rem, 2.5vw, 1.9rem) !important;
  line-height: 1.3 !important;
  white-space: normal !important;
  word-break: break-word !important;
}

/* ── Hero top-fade: softens sky at nav/hero boundary ── */
.image-cover.hero-banner{position:relative}
.image-cover.hero-banner::before{
  content:'';position:absolute;top:0;left:0;right:0;
  height:80px;
  background:linear-gradient(to bottom,rgba(255,255,255,.88) 0%,rgba(255,255,255,0) 100%);
  pointer-events:none;z-index:2
}
/* ── Hero carousel (Owl) ── */
.hero-banner-wrap{position:relative;overflow:hidden}
.hero-banner-wrap .hero-bg-carousel,.hero-banner-wrap .hero-slide-item{min-height:770px}
.hero-banner-wrap .owl-dots{position:absolute;bottom:20px;width:100%;text-align:center;z-index:4}
.hero-banner-wrap .owl-dot span{background:rgba(255,255,255,.5)!important}
.hero-banner-wrap .owl-dot.active span{background:#CC9966!important}
@media(max-width:991px){.hero-banner-wrap .hero-bg-carousel,.hero-banner-wrap .hero-slide-item{min-height:500px}}
@media(max-width:575px){.hero-banner-wrap .hero-bg-carousel,.hero-banner-wrap .hero-slide-item{min-height:380px}}
