/* PropertyGeek sitewide Lofty overrides
   Primary colors: dark blue #001F3F, teal #69C4CA, white #FFFFFF
   Hosted externally through Cloudflare Pages so this file can stay readable.
*/

:root{
  --pg-blue:#001F3F;
  --pg-teal:#69C4CA;
  --pg-white:#fff;
  --pg-ink:#001F3F;
  --pg-muted:rgba(255,255,255,.82);
  --pg-soft:rgba(105,196,202,.18);
  --pg-border:rgba(105,196,202,.36);
  --pg-shadow:0 18px 45px rgba(0,0,0,.22);
  --pg-radius:16px;
}

/* Base site helpers. Do not force every native Lofty section to white text. */
html,body,.site,.page-content{
  overflow-x:clip;
}

a{
  color:var(--pg-teal)!important;
}

a:hover{
  color:var(--pg-white)!important;
}

/* Native homepage image banner: keep text readable on light photos */
.banner.single :is(.site-title,.site-subtitle,.site-p,.content,.main-title,.desc,.description){
  color:var(--pg-ink)!important;
  text-shadow:0 1px 3px rgba(255,255,255,.75),0 0 18px rgba(255,255,255,.45)!important;
}

.banner.single :is(.site-title,.main-title){
  font-weight:900!important;
}

/* Keep normal form controls readable everywhere */
input:not([type=submit]):not([type=button]):not([type=checkbox]):not([type=radio]),
select,
textarea{
  background:#fff!important;
  color:var(--pg-ink)!important;
  border-color:rgba(0,31,63,.22)!important;
}

input::placeholder,
textarea::placeholder{
  color:rgba(0,31,63,.58)!important;
}

button,
input[type=submit],
.submit-btn,
.btn,
.site-btn,
.md-button{
  border-radius:10px!important;
}

/* Buttons and CTA styling */
:is(button,input[type=submit],.submit-btn,.site-btn,.md-button,.btn-primary):not(.slick-arrow):not(.swiper-button-next):not(.swiper-button-prev){
  background:var(--pg-teal)!important;
  border-color:var(--pg-teal)!important;
  color:var(--pg-ink)!important;
  font-weight:800!important;
}

:is(button,input[type=submit],.submit-btn,.site-btn,.md-button,.btn-primary):not(.slick-arrow):not(.swiper-button-next):not(.swiper-button-prev):hover{
  filter:brightness(1.06);
}

/* Header and navigation */
.md-header,
.header-container,
.nosticky.header-container,
.header-bg{
  color:var(--pg-white)!important;
}

.md-header :is(a,span,div,li,.menu-label,.has-child-a){
  color:var(--pg-white)!important;
}

.md-header :is(a:hover,.menu-item:hover,.menu-label:hover),
.md-header .iconfont{
  color:var(--pg-teal)!important;
}

.submenu,
.sub-menu,
.nav-mask{
  background:var(--pg-blue)!important;
}

/* Footer */
.md-footer,
footer,
[class*=footer]{
  background:var(--pg-blue)!important;
  color:var(--pg-white)!important;
}

.md-footer :is(p,span,div,li,h1,h2,h3,h4,h5,h6,label,strong,small),
footer :is(p,span,div,li,h1,h2,h3,h4,h5,h6,label,strong,small),
[class*=footer] :is(p,span,div,li,h1,h2,h3,h4,h5,h6,label,strong,small){
  color:var(--pg-white)!important;
}

.md-footer :is(a,.link,.copyright,.powered,.reserved),
footer :is(a,.link,.copyright,.powered,.reserved),
[class*=footer] :is(a,.link,.copyright,.powered,.reserved){
  color:var(--pg-teal)!important;
}

/* Full width behavior for all PropertyGeek custom embeds */
:is(.mg-container,.f-col,.ly-col,.page-content>*) :is(
  .pg-home-hero,
  .pg-property-search,
  .pg-search-heading,
  .pg-guides,
  .pg-about-me,
  .pg-full-bleed-section,
  .lakeway-snapshot
){
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
  overflow:visible!important;
}

:is(.mg-container,.f-col,.ly-col,.page-content>*):has(:is(
  .pg-home-hero,
  .pg-property-search,
  .pg-search-heading,
  .pg-guides,
  .pg-about-me,
  .pg-full-bleed-section,
  .lakeway-snapshot
)),
.md-custom-code.html-code:has(:is(.pg-home-hero,.pg-property-search,.pg-search-heading,.pg-guides,.pg-about-me,.pg-full-bleed-section,.lakeway-snapshot)){
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
  overflow:visible!important;
}

.pg-full-bleed-section,
.pg-home-hero,
.pg-property-search,
.pg-search-heading,
.pg-guides,
.pg-about-me,
.lakeway-snapshot{
  box-sizing:border-box!important;
}

/* Home search embed: center the full-bleed section inside Lofty's container */
.md-custom-code.html-code:has(.pg-property-search),
:is(.mg-container,.f-col,.ly-col,.page-content>*):has(.pg-property-search){
  position:relative!important;
  left:50%!important;
  width:100vw!important;
  max-width:100vw!important;
  margin-left:-50vw!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
  overflow:visible!important;
}

.pg-property-search{
  position:relative!important;
  left:auto!important;
  width:100%!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* PropertyGeek custom embeds */
.pg-home-hero,
.pg-property-search,
.pg-search-heading,
.pg-guides,
.pg-about-me,
.lakeway-snapshot{
  background:var(--pg-blue)!important;
  color:var(--pg-white)!important;
}

.pg-home-hero :is(h1,h2,h3,h4,p,span,div,strong),
.pg-property-search :is(h1,h2,h3,h4,p,span,div,strong),
.pg-search-heading :is(h1,h2,h3,h4,p,span,div,strong),
.pg-guides :is(h1,h2,h3,h4,p,span,div,strong),
.pg-about-me :is(h1,h2,h3,h4,p,span,div,strong),
.lakeway-snapshot :is(h1,h2,h3,h4,p,span,div,strong){
  color:var(--pg-white)!important;
}

.pg-home-hero :is(.pg-hero-subtitle,.pg-footer-copy,.pg-feature-copy),
.pg-search-heading p,
.pg-property-search p,
.pg-about-kicker,
.pg-about-title span,
.pg-mission-card h3,
.pg-connect,
.pg-guides :is(.pg-kicker,span),
.lakeway-snapshot :is(.lw-label,.lw-insight-brand){
  color:var(--pg-teal)!important;
}

/* Homepage hero uses a light photo area, so the main copy must stay dark */
.pg-home-hero :is(.pg-hero-title,.pg-feature-heading){
  color:var(--pg-blue)!important;
}

.pg-home-hero :is(.pg-hero-rule,.pg-feature-line,.pg-footer-line){
  background:var(--pg-teal)!important;
}

.pg-property-search form,
.pg-guide-card,
.pg-guides a{
  background:#fff!important;
  color:var(--pg-ink)!important;
  border-radius:var(--pg-radius)!important;
  box-shadow:var(--pg-shadow)!important;
}

.pg-property-search form :is(input,select,textarea),
.pg-guide-card :is(h3,p,strong,span),
.pg-guides a :is(h3,p,strong){
  color:var(--pg-ink)!important;
}

.pg-guide-card span,
.pg-guides a span{
  color:var(--pg-teal)!important;
}

/* Reused About Me mission row lives on dark blue, not white cards */
.pg-about-me .pg-mission-card,
.pg-about-me .pg-mission-card :is(p,span,div,strong){
  color:var(--pg-white)!important;
}

.pg-about-me .pg-mission-card h3{
  color:var(--pg-teal)!important;
}

/* Native Lofty guide, download, and lead forms */
.md-form,
[class*=guide],
[class*=download],
[class*=seller],
[class*=buyer]{
  color:var(--pg-white)!important;
}

.md-form :is(h1,h2,h3,h4,h5,h6,p,span,div,label,small,strong,li),
[class*=guide] :is(h1,h2,h3,h4,h5,h6,p,span,div,label,small,strong,li),
[class*=download] :is(h1,h2,h3,h4,h5,h6,p,span,div,label,small,strong,li),
[class*=seller] :is(h1,h2,h3,h4,h5,h6,p,span,div,label,small,strong,li),
[class*=buyer] :is(h1,h2,h3,h4,h5,h6,p,span,div,label,small,strong,li){
  color:var(--pg-white)!important;
}

.md-form a,
[class*=guide] a,
[class*=download] a,
[class*=seller] a,
[class*=buyer] a,
[class*=privacy] a,
[class*=consent] a,
[class*=disclaimer] a,
.privacy-link,
.policy a{
  color:var(--pg-teal)!important;
}

/* Home valuation / seller form process */
.md-evaluation-banner,
.evaluation-register,
.reg-form,
[class*=evaluation],
[class*=estimate]{
  color:var(--pg-white)!important;
}

.md-evaluation-banner :is(h1,h2,h3,h4,p,span,div,label,small,strong,li),
.evaluation-register :is(h1,h2,h3,h4,p,span,div,label,small,strong,li):not(.submit):not(.submit *),
.reg-form :is(h1,h2,h3,h4,p,span,div,label,small,strong,li):not(.submit):not(.submit *),
[class*=evaluation] :is(h1,h2,h3,h4,p,span,div,label,small,strong,li):not(.submit):not(.submit *),
[class*=estimate] :is(h1,h2,h3,h4,p,span,div,label,small,strong,li):not(.submit):not(.submit *){
  color:var(--pg-white)!important;
}

.evaluation-register .social .split,
.reg-form .social .split{
  color:var(--pg-white)!important;
}

:is(.evaluation-register,.reg-form) .submit{
  background:var(--pg-teal)!important;
  border-radius:0!important;
  height:52px!important;
  min-height:52px!important;
  padding:0!important;
  margin:18px 0 0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
}

:is(.evaluation-register,.reg-form) .submit input{
  background:var(--pg-teal)!important;
  color:#000!important;
  font-weight:800!important;
  font-size:16px!important;
  height:52px!important;
  line-height:52px!important;
  padding:0 18px!important;
  margin:0!important;
  border:0!important;
  width:100%!important;
  text-align:center!important;
  transform:none!important;
  position:static!important;
}

:is(.evaluation-register,.reg-form) .submit.disabled{
  background:rgba(105,196,202,.58)!important;
}

:is(.evaluation-register,.reg-form) .submit.disabled input{
  background:transparent!important;
  color:#000!important;
}

/* About/team module */
.md-team.layout10,
.md-team.layout10 .layout10-container{
  background:var(--pg-blue)!important;
  color:var(--pg-white)!important;
}

.md-team.layout10 :is(.agent-name,.agent-name a,.agent-position,.agent-position span,.single-intro,.single-intro *,.share-links,.share-links *,.license-company,.license-company *,.agent-item,.agent-item *){
  color:var(--pg-white)!important;
}

.md-team.layout10 :is(a,.iconfont){
  color:var(--pg-teal)!important;
}

/* Featured areas / communities */
:is([class*=featured],[class*=area],[class*=community]) :is(a,[class*=name],[class*=title],[class*=arrow],i){
  color:var(--pg-teal)!important;
}

/* Area pages and demographics */
:is(.md-area-overview,.md-nbr-demographics,.md-map,.md-house,.feature-area,.featureArea){
  background:var(--pg-blue)!important;
  color:var(--pg-white)!important;
}

:is(.md-area-overview,.md-nbr-demographics,.md-map,.md-house,.feature-area,.featureArea) :is(h1,h2,h3,h4,h5,h6,p,span,li,a,strong,em,small,div,label,table,thead,tbody,tr,th,td):not(input):not(textarea):not(select):not(button){
  color:var(--pg-white)!important;
}

:is(.md-area-overview,.md-nbr-demographics,.md-map,.md-house,.feature-area,.featureArea) a,
:is(.md-area-overview,.md-nbr-demographics,.md-map,.md-house,.feature-area,.featureArea) i{
  color:var(--pg-teal)!important;
}

:is(.md-area-overview,.md-nbr-demographics,.md-map,.md-house,.feature-area,.featureArea) svg text,
:is(.md-area-overview,.md-nbr-demographics,.md-map,.md-house,.feature-area,.featureArea) svg tspan{
  fill:var(--pg-white)!important;
  color:var(--pg-white)!important;
}

.md-nbr-demographics canvas{
  filter:invert(1)!important;
}

/* Education and demographic bar/list cleanup */
.md-nbr-demographics [style*="background"]{
  filter:invert(1) grayscale(1)!important;
}

.md-nbr-demographics :is(table,tr,td,th){
  border-color:rgba(255,255,255,.22)!important;
}

/* White cards/surfaces need dark text, not global white */
:is(.pg-guide-card,.pg-guides a,.pg-property-search form,.listing-card,.house-card,.property-card,.card,[class*=card],[class*=panel],[class*=modal],[class*=dropdown],[class*=suggestion],[class*=autocomplete]){
  color:var(--pg-ink)!important;
}

:is(.pg-guide-card,.pg-guides a,.pg-property-search form,.listing-card,.house-card,.property-card,.card,[class*=card],[class*=panel],[class*=modal],[class*=dropdown],[class*=suggestion],[class*=autocomplete]) :is(h1,h2,h3,h4,h5,h6,p,span,div,li,label,strong,small):not(button){
  color:inherit!important;
}

:is(.card,[class*=card],[class*=panel],[class*=modal],[class*=dropdown],[class*=suggestion],[class*=autocomplete]) a{
  color:var(--pg-teal)!important;
}

/* Listing search/results page */
.site.listing,
.site.listing .page-content,
.site.listing main,
.site.listing :is(.listing,.listing-page,.listing-container,.listing-content,.listing-search,.listing-result,.listing-results,.md-listing-search,.map-list,.map-search,.search-result,.search-results,.house-list,.filter-bar,.sort-bar,.view-switch){
  background:var(--pg-blue)!important;
  color:var(--pg-white)!important;
}

.site.listing :is(h1,h2,h3,h4,h5,h6,p,span,div,li,label,strong,small,em,button):not(input):not(select):not(textarea),
.site.listing :is(.price,.address,.name,.title,.desc,.description,.beds,.baths,.sqft,.broker,.agent,.count,.total,.sort,.filter){
  color:var(--pg-white)!important;
}

.site.listing a,
.site.listing :is(.active,.selected,.current,.iconfont,i){
  color:var(--pg-teal)!important;
}

.site.listing :is(input:not([type=submit]),select,textarea){
  background:#fff!important;
  color:var(--pg-ink)!important;
  border:1px solid rgba(105,196,202,.38)!important;
}

.site.listing :is(.listing-card,.house-card,.property-card,[class*=listing-card],[class*=house-card],[class*=property-card],[class*=listing-item],[class*=property-item]){
  background:rgba(255,255,255,.06)!important;
  border:1px solid rgba(105,196,202,.24)!important;
  color:var(--pg-white)!important;
  box-shadow:0 14px 34px rgba(0,0,0,.18)!important;
}

.site.listing :is(.listing-card,.house-card,.property-card,[class*=listing-card],[class*=house-card],[class*=property-card],[class*=listing-item],[class*=property-item]) :is(h1,h2,h3,h4,h5,h6,p,span,div,li,strong,small):not(button){
  color:var(--pg-white)!important;
}

.site.listing :is(.listing-card,.house-card,.property-card,[class*=listing-card],[class*=house-card],[class*=property-card],[class*=listing-item],[class*=property-item]) a{
  color:var(--pg-white)!important;
}

.site.listing :is(.pagination,[class*=pagination],[class*=pager]) :is(a,button,span){
  background:rgba(255,255,255,.08)!important;
  border-color:rgba(105,196,202,.34)!important;
  color:var(--pg-white)!important;
}

.site.listing :is(.pagination,[class*=pagination],[class*=pager]) :is(.active,.current,a:hover,button:hover){
  background:var(--pg-teal)!important;
  color:var(--pg-ink)!important;
}

/* Force the full listing canvas dark; keep only actual controls light */
.site.listing .page-content :is(section,main,article,aside,ul,li,div):not([class*=map]):not([class*=dropdown]):not([class*=suggestion]):not([class*=autocomplete]){
  background-color:transparent!important;
  color:var(--pg-white)!important;
}

.site.listing .page-content,
.site.listing .page-content>*,
.site.listing :is([class*=listing],[class*=search],[class*=result],[class*=filter],[class*=sort],[class*=house],[class*=property],[class*=list],[class*=grid],[class*=content],[class*=container],[class*=wrap]){
  background-color:var(--pg-blue)!important;
}

.site.listing :is([class*=item],[class*=card]) :is([class*=info],[class*=detail],[class*=content],[class*=bottom],[class*=body]){
  background-color:var(--pg-blue)!important;
  color:var(--pg-white)!important;
}

.site.listing :is(input:not([type=submit]),select,textarea,[class*=dropdown],[class*=suggestion],[class*=autocomplete]){
  background:#fff!important;
  color:var(--pg-ink)!important;
}

.site.listing :is(.save-search,[class*=save],[class*=submit],button){
  background:var(--pg-teal)!important;
  border-color:var(--pg-teal)!important;
  color:var(--pg-ink)!important;
}

/* Blog index and blog detail pages */
.site.blog,
.site.blog .page-content,
.site.article,
.site.article .page-content,
.site.post,
.site.post .page-content,
.page-content:has([class*=blog]){
  background:var(--pg-blue)!important;
  color:var(--pg-white)!important;
}

.site.blog :is(section,main,article,aside,div,ul,li),
.site.article :is(section,main,article,aside,div,ul,li),
.site.post :is(section,main,article,aside,div,ul,li),
.page-content:has([class*=blog]) :is(section,main,article,aside,div,ul,li){
  background-color:transparent!important;
}

.site.blog :is(h1,h2,h3,h4,h5,h6,p,span,div,li,label,strong,small,em),
.site.article :is(h1,h2,h3,h4,h5,h6,p,span,div,li,label,strong,small,em),
.site.post :is(h1,h2,h3,h4,h5,h6,p,span,div,li,label,strong,small,em),
.page-content:has([class*=blog]) :is(h1,h2,h3,h4,h5,h6,p,span,div,li,label,strong,small,em){
  color:var(--pg-white)!important;
}

.site.blog :is(a,.read-more,[class*=read],[class*=category],[class*=tag]),
.site.article :is(a,.read-more,[class*=read],[class*=category],[class*=tag]),
.site.post :is(a,.read-more,[class*=read],[class*=category],[class*=tag]),
.page-content:has([class*=blog]) :is(a,.read-more,[class*=read],[class*=category],[class*=tag]){
  color:var(--pg-teal)!important;
}

.site.blog :is(article,[class*=blog-item],[class*=post-item],[class*=blog-card],[class*=post-card],[class*=card]),
.page-content:has([class*=blog]) :is(article,[class*=blog-item],[class*=post-item],[class*=blog-card],[class*=post-card]){
  background:rgba(255,255,255,.06)!important;
  border:1px solid rgba(105,196,202,.24)!important;
  box-shadow:0 14px 34px rgba(0,0,0,.18)!important;
}

.site.blog :is(input:not([type=submit]),select,textarea),
.page-content:has([class*=blog]) :is(input:not([type=submit]),select,textarea){
  background:#fff!important;
  color:var(--pg-ink)!important;
}

.site.blog :is(button,input[type=submit],[class*=button],[class*=btn]),
.page-content:has([class*=blog]) :is(button,input[type=submit],[class*=button],[class*=btn]){
  background:var(--pg-teal)!important;
  border-color:var(--pg-teal)!important;
  color:var(--pg-ink)!important;
}

.site.blog :is(.pagination,[class*=pagination],[class*=pager]) :is(a,button,span),
.page-content:has([class*=blog]) :is(.pagination,[class*=pagination],[class*=pager]) :is(a,button,span){
  background:rgba(255,255,255,.08)!important;
  border-color:rgba(105,196,202,.34)!important;
  color:var(--pg-white)!important;
}

/* MLS and legal disclaimer text */
.mls-declaimer-container-v2,
.no-mls-disclaimer,
.claimer,
.declaimer,
.disclaimer-content,
.custom-disclaimer-list{
  color:var(--pg-white)!important;
}

.mls-declaimer-container-v2 a,
.no-mls-disclaimer a,
.claimer a,
.declaimer a,
.disclaimer-content a,
.custom-disclaimer-list a{
  color:var(--pg-teal)!important;
}

/* Responsive polish */
@media (max-width:768px){
  .pg-property-search{
    padding-left:14px!important;
    padding-right:14px!important;
  }

  .pg-property-search form{
    gap:10px!important;
  }

  .md-header .submenu,
  .md-header .sub-menu{
    background:var(--pg-blue)!important;
  }
}
