/* ==========================================================
   Blue Bird Woliver Realty — 2026 visual refresh
   Loaded after the theme CSS on every page.
   ========================================================== */
:root{
  --bb-navy:#0e2433;
  --bb-navy-2:#163a52;
  --bb-gold:#b8935a;
  --bb-gold-dark:#9c7a45;
  --bb-sand:#f7f3ec;
  --bb-ink:#1d1d1f;
  --bb-muted:#5d6670;
  --bb-line:rgba(14,36,51,.12);
  --bb-radius:4px;
  --bb-shadow:0 18px 40px -18px rgba(14,36,51,.35);
  --bb-ease:cubic-bezier(.2,.7,.2,1);
}
html{scroll-behavior:smooth}
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--bb-ink)}
img{image-rendering:auto}
::selection{background:var(--bb-gold);color:#fff}

/* ---------- Buttons ---------- */
.bb-btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;
  font-family:'Mulish',sans-serif;font-weight:700;font-size:12px;letter-spacing:.18em;text-transform:uppercase;
  padding:16px 30px;border:1px solid transparent;border-radius:var(--bb-radius);text-decoration:none!important;
  transition:background-color .3s var(--bb-ease),color .3s var(--bb-ease),border-color .3s var(--bb-ease),transform .3s var(--bb-ease),box-shadow .3s var(--bb-ease);
  cursor:pointer;line-height:1.2;white-space:nowrap}
.bb-btn:hover,.bb-btn:focus-visible{transform:translateY(-2px);box-shadow:var(--bb-shadow)}
.bb-btn-gold{background:var(--bb-gold);color:#fff!important;border-color:var(--bb-gold)}
.bb-btn-gold:hover{background:var(--bb-gold-dark);border-color:var(--bb-gold-dark)}
.bb-btn-light{background:#fff;color:var(--bb-navy)!important;border-color:#fff}
.bb-btn-light:hover{background:var(--bb-sand)}
.bb-btn-ghost{background:transparent;color:#fff!important;border-color:rgba(255,255,255,.75)}
.bb-btn-ghost:hover{background:#fff;color:var(--bb-navy)!important;border-color:#fff}
.bb-btn-dark{background:var(--bb-navy);color:#fff!important;border-color:var(--bb-navy)}
.bb-btn-dark:hover{background:var(--bb-navy-2)}
.bb-eyebrow{font-family:'Mulish',sans-serif;font-size:12px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--bb-gold);margin:0 0 14px}

/* Theme text buttons: crisper hover */
.primary-text-button{transition:color .3s var(--bb-ease),letter-spacing .3s var(--bb-ease)!important}
.primary-text-button:hover{color:var(--bb-gold)!important}

/* Form submit buttons sitewide */
.wpcf7-submit,input[type=submit]{transition:background-color .3s,color .3s,opacity .3s}

/* ---------- Header ---------- */
#site-header{transition:background-color .35s var(--bb-ease),box-shadow .35s var(--bb-ease)}
#site-header:not(.position-fixed){background:linear-gradient(180deg,rgba(0,0,0,.28),rgba(0,0,0,.08))}
#site-header.position-fixed{background:rgba(14,36,51,.94)!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 10px 30px -12px rgba(0,0,0,.45)}
#site-header.position-fixed #nav li{padding:1.4vw 0!important}
#site-header.position-fixed .site-header-logo a img{max-height:46px;width:auto}
#nav li a{letter-spacing:.08em!important;font-size:13px!important;font-weight:600!important}
#nav > li > a{position:relative}
#nav > li > a::after{content:'';position:absolute;left:50%;bottom:-2px;width:0;height:1px;background:var(--bb-gold);transition:width .3s var(--bb-ease),left .3s var(--bb-ease)}
#nav > li:hover > a::after{width:40%;left:30%}
#nav > li > a:hover{opacity:1!important;color:#fff}
#nav ul{box-shadow:var(--bb-shadow)}
#nav ul li a{border-right:0!important}

/* ---------- Hero ---------- */
body.home #home-slider .aios-slider-custom-video{background:#0e2433 url(/assets/video/hero-poster.jpg) center/cover no-repeat}
body.home #home-slider .aios-slider-custom-video canvas{display:none!important}
body.home #home-slider .aios-slider-custom-video{height:clamp(560px,92vh,980px)}
body.home #home-slider .aios-slider-custom-video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:none;clip-path:none;-webkit-clip-path:none}
body.home #home-slider .aios-slider-custom-video button{display:none!important}
body.home .slider-content::before{background:linear-gradient(180deg,rgba(8,22,32,.35) 0%,rgba(8,22,32,.08) 35%,rgba(8,22,32,.15) 60%,rgba(8,22,32,.6) 100%)!important;opacity:1!important;z-index:2!important}
.bb-hero-overlay{position:absolute;inset:0;z-index:5;display:flex;align-items:flex-end;justify-content:center;pointer-events:none;padding:0 6vw 11vh}
.bb-hero-inner{max-width:900px;text-align:center;color:#fff;pointer-events:auto;animation:bbRise 1.1s var(--bb-ease) .2s both}
.bb-hero-inner .bb-eyebrow{color:#fff;opacity:.9;text-shadow:0 1px 10px rgba(0,0,0,.35)}
.bb-hero-title{font-family:'Playfair Display',serif;font-weight:400;font-size:clamp(36px,4.6vw,72px);line-height:1.08;margin:0 0 30px;color:#fff;text-shadow:0 2px 24px rgba(0,0,0,.35)}
.bb-hero-title em{font-style:italic;color:#f3e3c4}
.bb-hero-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
@keyframes bbRise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.slider-smi a{transition:color .3s,background-color .3s!important}

/* ---------- Why Blue Bird strip ---------- */
.bb-why{background:var(--bb-navy);color:#fff;padding:64px 6vw}
.bb-why-grid{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.bb-why-item{padding:8px 32px;border-left:1px solid rgba(255,255,255,.14);text-align:left}
.bb-why-item:first-child{border-left:0;padding-left:0}
.bb-why-big{display:block;font-family:'Playfair Display',serif;font-size:clamp(30px,2.6vw,44px);line-height:1.1;color:#fff;margin-bottom:10px}
.bb-why-big small{font-size:.7em;color:var(--bb-gold);margin-left:4px}
.bb-why-label{display:block;font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--bb-gold);margin-bottom:8px}
.bb-why-text{font-size:14px;line-height:1.65;color:rgba(255,255,255,.78);margin:0}
.bb-why-text a{color:#fff;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(184,147,90,.8)}

/* ---------- About (Kristy photo fills full section height) ---------- */
body.home .home-expertise-container{align-items:stretch!important}
body.home .home-expertise-content{display:flex;flex-direction:column;justify-content:center}
body.home .home-expertise-content-text .section-title{font-size:clamp(34px,3.4vw,56px)}
body.home .home-expertise-content-text{color:#3b434b}
@media (min-width:992px){
  body.home .home-expertise-image{position:relative;align-self:stretch;min-height:100%;overflow:hidden}
  body.home .home-expertise-image img{position:absolute!important;inset:0;width:100%!important;height:100%!important;max-width:none;object-fit:cover;object-position:50% 22%;transition:transform 1.2s var(--bb-ease)}
  body.home .home-expertise-image:hover img{transform:scale(1.03)}
}
@media (max-width:991px){
  body.home .home-expertise-image{width:100%;aspect-ratio:4/4.3;overflow:hidden;position:relative}
  body.home .home-expertise-image img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover;object-position:50% 20%}
}

/* ---------- Communities ---------- */
.home-comm-item a{overflow:hidden;display:block}
.home-comm-item img{transition:transform 1.2s var(--bb-ease),filter .6s}
.home-comm-item a:hover img{transform:scale(1.06)}
.home-comm-item-content{background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.45));transition:background .5s}
.home-comm-item a:hover .home-comm-item-content{background:linear-gradient(180deg,rgba(14,36,51,.15),rgba(14,36,51,.7))}
.home-comm-item-title .section-title{text-shadow:0 2px 18px rgba(0,0,0,.35)}

/* ---------- Search Homes band ---------- */
.bb-search-band{position:relative;overflow:hidden;color:#fff;padding:120px 6vw;text-align:center;
  background:#0e2433 url(/wp-content/uploads/2022/06/ip-banner-bg.jpg) center/cover no-repeat}
.bb-search-band::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,36,51,.62),rgba(14,36,51,.42) 50%,rgba(14,36,51,.72))}
.bb-search-band-inner{position:relative;max-width:860px;margin:0 auto}
.bb-search-band h2{font-family:'Playfair Display',serif;font-weight:400;font-size:clamp(30px,3.4vw,54px);line-height:1.15;color:#fff;margin:0 0 18px}
.bb-search-band p.bb-lead{font-size:17px;line-height:1.75;color:rgba(255,255,255,.88);margin:0 auto 34px;max-width:680px}
.bb-search-band .bb-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.bb-search-band .bb-note{margin-top:26px;font-size:13px;letter-spacing:.06em;color:rgba(255,255,255,.75)}
.bb-search-band .bb-note a{color:#fff}

/* home: old placeholder sections are replaced by the band */
body.home #home-properties,body.home .bb-search-listings-section{display:none!important}

/* ---------- Testimonials ---------- */
#home-testimonials{background:var(--bb-sand)}
#home-testimonials .home-testimonial-item p{font-family:'Playfair Display',serif;font-size:clamp(18px,1.5vw,24px)!important;line-height:1.6!important;letter-spacing:0!important;color:var(--bb-ink)}
#home-testimonials .home-testimonial-item p.author{font-family:'Mulish',sans-serif;font-size:12px!important;letter-spacing:.24em!important;text-transform:uppercase;color:var(--bb-gold)!important}
#home-testimonials .home-testimonial-item p.author::before{content:'';display:block;width:40px;height:1px;background:var(--bb-gold);margin:0 auto 18px}
.bb-stars{display:block;text-align:center;color:var(--bb-gold);letter-spacing:.3em;font-size:16px;margin:0 0 18px}
/* JS-free fallback: if slick never initialises, show only the first quote */
.home-testimonial-items:not(.slick-initialized) .home-testimonial-item:not(:first-child){display:none}
.home-testimonials-button{border-color:var(--bb-line)!important}

/* ---------- CTA tiles (Property Portfolio / Sell / Sign-up) ---------- */
.home-cta-item{position:relative;overflow:hidden}
.home-cta-item::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,36,51,.15),rgba(14,36,51,.65));transition:background .5s;z-index:1}
.home-cta-item:hover::after{background:linear-gradient(180deg,rgba(14,36,51,.3),rgba(14,36,51,.82))}
.home-cta-item img{transition:transform 1.2s var(--bb-ease)}
.home-cta-item:hover img{transform:scale(1.06)}
.home-cta-content{z-index:2!important;color:#fff!important;text-shadow:0 2px 18px rgba(0,0,0,.4)}
.home-cta-content strong{color:#f3e3c4!important;opacity:1!important;letter-spacing:.3em}

/* ---------- Latest News (style only) ---------- */
#home-news .home-news-item{overflow:hidden}
#home-news .home-news-item img{transition:transform 1.2s var(--bb-ease)}
#home-news .home-news-item:hover img{transform:scale(1.06)}
#home-news .home-news-content{background:linear-gradient(180deg,rgba(0,0,0,0) 20%,rgba(10,26,38,.82) 100%)}
#home-news .home-news-title{text-shadow:0 1px 10px rgba(0,0,0,.35)}
#home-news .home-news-created{color:#f3e3c4!important;letter-spacing:.2em}

/* ---------- Contact band ---------- */
#send-message .section-title span{font-style:italic;color:#f3e3c4}
#send-message .wpcf7-form-control:not(.wpcf7-submit){transition:border-color .3s}
#send-message .wpcf7-form-control:focus{border-color:var(--bb-gold)!important;outline:none}

/* ---------- IDX placeholders on inner pages ---------- */
.bb-idx-placeholder{border:0!important;border-radius:var(--bb-radius)!important;background:var(--bb-navy) url(/wp-content/uploads/2022/06/ip-banner-bg.jpg) center/cover!important;position:relative;overflow:hidden;padding:64px 32px!important;color:#fff!important}
.bb-idx-placeholder::before{content:'';position:absolute;inset:0;background:rgba(14,36,51,.78)}
.bb-idx-placeholder>*{position:relative}
.bb-idx-placeholder h2{font-family:'Playfair Display',serif!important;color:#fff!important;font-weight:400;font-size:clamp(26px,2.6vw,40px)!important}
.bb-idx-placeholder p{color:rgba(255,255,255,.88)!important}
.bb-idx-placeholder p a{color:#fff!important;text-decoration:underline}
.bb-idx-placeholder p:last-of-type a{background:var(--bb-gold)!important;color:#fff!important;text-decoration:none!important;border-radius:var(--bb-radius)!important;padding:15px 28px!important;font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;transition:background .3s,transform .3s}
.bb-idx-placeholder p:last-of-type a:hover{background:var(--bb-gold-dark)!important;transform:translateY(-2px)}

/* ---------- Footer ---------- */
footer.footer{background:#0b1d29!important}
footer.footer .footer-brand{border-bottom:1px solid rgba(255,255,255,.08)}
footer.footer a{transition:color .3s,opacity .3s}
footer.footer a:hover{color:var(--bb-gold)!important;opacity:1!important}
footer.footer .footernav a{letter-spacing:.16em}
footer.footer .copyright{color:rgba(255,255,255,.6)}

/* ---------- Scroll reveal (works even if AOS fails) ---------- */
.bb-reveal{opacity:0;transform:translateY(28px);transition:opacity .9s var(--bb-ease),transform .9s var(--bb-ease)}
.bb-reveal.is-visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.bb-reveal{opacity:1;transform:none;transition:none}.bb-hero-inner{animation:none}html{scroll-behavior:auto}}

/* ---------- Responsive ---------- */
@media (max-width:1199px){
  .bb-why-grid{grid-template-columns:repeat(2,1fr);row-gap:36px}
  .bb-why-item:nth-child(3){border-left:0;padding-left:0}
}
@media (max-width:991px){
  body.home #home-slider .aios-slider-custom-video{height:clamp(480px,78vh,720px)}
  .bb-hero-overlay{padding:0 22px 64px}
  .bb-search-band{background-attachment:scroll;padding:84px 22px}
}
@media (max-width:600px){
  .bb-why{padding:48px 22px}
  .bb-why-grid{grid-template-columns:1fr;row-gap:28px}
  .bb-why-item{border-left:0;padding:0 0 26px;border-bottom:1px solid rgba(255,255,255,.12)}
  .bb-why-item:last-child{border-bottom:0;padding-bottom:0}
  .bb-hero-actions .bb-btn,.bb-search-band .bb-btn{width:100%}
  .bb-search-band p.bb-lead{font-size:15px}
}
body.home #home-slider .aios-slider-volume{display:none!important}
