/* Casal Corretores — Identidade visual 2026
   Paleta e tipografia do manual de marca.
   Mantém a arquitetura original do site, o catálogo e o editor. */
:root {
  --navy: #0E2A47;
  --navy2: #173B59;
  --blue: #D4AF7F;
  --cyan: #B7864B;
  --gold: #D4AF7F;
  --ink: #172A3E;
  --muted: #6F7882;
  --line: #E8E1D8;
  --soft: #F8F7F4;
  --white: #FFFFFF;
  --shadow: 0 18px 52px rgba(14,42,71,.11);
}
body { font-family:Montserrat,Inter,Arial,sans-serif; color:var(--ink); background:#fff; }
h1,h2,h3 { text-wrap:balance; }
.hero h1,.section-heading h2,.story-copy h2,.premium-copy h2,
.about h2,.cta h2,.exclusive h2,.detail-emotional h2,.login-brand h1,
.login-form-wrap h2,.detail-top h2,.admin-title h1 {
  font-family:"Playfair Display",Georgia,serif;
  letter-spacing:-.035em;
}
.hero h1 { letter-spacing:-.03em; }
.hero h1 strong { color:#F3DDC0; font-weight:700; }
.kicker { color:#A97940; letter-spacing:2.3px; }
.kicker.light { color:#F3DDBF; }
.topbar { height:80px; border-bottom:1px solid rgba(14,42,71,.09); }
.nav-wrap { gap:22px; }
.brand-full img { width:240px!important; height:57px!important; object-fit:contain!important; object-position:left center!important; }
.footer-brand .brand-full img { width:245px!important; height:74px!important; }
.topbar nav a:hover,.text-link,.nav-anunciar { color:#A97940!important; }
.btn-primary { background:var(--navy); color:white; box-shadow:0 8px 23px rgba(14,42,71,.18); }
.btn-primary:hover { background:var(--navy2); }
.btn-outline,.property-view { border-color:#DCCEBB; color:var(--navy); }
.btn-outline:hover,.property-view:hover { background:#FBF5EB; }
.search-shell { box-shadow:0 22px 64px rgba(10,31,52,.22); border:1px solid rgba(212,175,127,.25); }
.search-tabs button.active { color:var(--navy); }
.search-tabs button.active::after { background:var(--gold); }
.search-grid label:focus-within,.advanced-search label:focus-within { border-color:var(--gold); }
input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible { outline:2px solid #B88749; outline-offset:3px; }
.property-card { border-color:#ECE5DC; }
.property-card:hover { border-color:#D4AF7F; }
.property-price,.property-info h3 { color:var(--navy); }
.badge-premium { background:#A97940; }
.exclusive-card { background:linear-gradient(110deg,#0E2A47,#173B59); }
.premium { background:var(--soft); }
.cta,.emotion-strip { background:var(--navy)!important; }
.emotion-item>span,.emotion-item b { color:#E3BF8F!important; }
footer { background:#0A2035; }
.sidebar { background:var(--navy)!important; }
.sidebar-nav button.active,.sidebar-nav button:hover { background:#234D6C!important; }
.metric-icon.gold { background:#FBF1E4; color:#A97940; }
.editor-nav button.active { border-color:var(--gold)!important; }
.color-grid input[type=color] { border-color:#E5D6C3; }
.login-shade { background:linear-gradient(90deg,rgba(6,24,40,.89),rgba(14,42,71,.44))!important; }
.login-logo { width:min(330px,100%)!important; }
.login-brand > img { width:min(370px,95%); max-height:148px; object-fit:contain; object-position:left center; }
.login-body { background:var(--soft); }
.sidebar-brand img { width:44px; height:44px; object-fit:contain; }
.sidebar-brand .brand-copy b { font-family:"Playfair Display",Georgia,serif; font-weight:600; }
.sidebar-brand .brand-copy small { color:#E4BD88; }
.dream-widget:not(.compact) .dream-reveal { background:linear-gradient(135deg,rgba(14,42,71,.88),rgba(23,59,89,.8)); }
.dream-widget.compact .dream-scene,.dream-widget.compact .dream-reveal {
  background:linear-gradient(135deg,#25D366 0%,#1FB857 100%)!important;
}
.dream-widget.compact .dream-scene { min-height:74px!important; }
.dream-wa-icon {
  width:44px!important;height:44px!important;flex:0 0 44px!important;
  border-radius:50%!important;background:rgba(255,255,255,.18)!important;
  border:1px solid rgba(255,255,255,.32)!important;display:grid!important;place-items:center!important;
}
.dream-wa-icon svg { width:26px!important;height:26px!important; }
.dream-widget.compact .dream-wa-copy b { font-size:12px!important;line-height:1.15!important; }
.dream-widget.compact .dream-wa-copy small { font-size:8px!important;opacity:.9!important; }

/* Preferências de navegação mantidas do site existente. */
#navPremium,#navAbout,#showFavorites,.hero-emotions { display:none!important; }

@media(max-width:1100px) {
  .brand-full img { width:205px!important;height:53px!important; }
  .topbar nav.open { border-color:var(--line); }
}
@media(max-width:760px) {
  .topbar {height:68px;}
  .brand-full img { width:175px!important;height:48px!important; }
  .footer-brand .brand-full img {width:215px!important;height:66px!important;}
  .hero h1 {letter-spacing:-.025em!important;}
  .dream-widget.compact .dream-scene {width:min(270px,calc(100vw - 24px))!important;}
}
@media(max-width:390px) {
  .brand-full img {width:156px!important;height:45px!important;}
  .nav-wrap {gap:8px;}
}

/* Revisão da marca: proporção e legibilidade em telas grandes e celulares */
.topbar{height:94px!important;}
.nav-wrap{gap:17px!important;}
.topbar .brand-full{flex-shrink:0;min-width:0;}
.topbar .brand-full img{
  width:312px!important;height:82px!important;
  object-fit:contain!important;object-position:left center!important;
  display:block;
}
.footer-brand .brand-full img{width:300px!important;height:83px!important;}
.login-form-wrap .login-logo{width:min(360px,100%)!important;}
.dream-widget.compact .dream-scene{
  width:280px!important;height:74px!important;min-height:74px!important;
  border:1px solid rgba(255,255,255,.16)!important;
  border-radius:16px!important;
}
.dream-widget.compact .dream-reveal{padding:9px 36px 9px 11px!important;}
.dream-widget.compact .dream-compact-cta{gap:9px!important;}
.dream-wa-icon{
  width:44px!important;height:44px!important;flex:0 0 44px!important;
  border:0!important;border-radius:50%!important;background:transparent!important;
  box-shadow:none!important;overflow:visible!important;
}
.dream-wa-icon img{
  display:block;width:43px;height:43px;object-fit:contain;
  filter:drop-shadow(0 1px 2px rgba(0,80,35,.13));
}
.dream-widget.compact .dream-wa-copy b{font:700 12px/1.18 Montserrat,Inter,sans-serif!important;}
.dream-widget.compact .dream-wa-copy small{font:500 9px/1.3 Montserrat,Inter,sans-serif!important;}
@media(max-width:1100px){
  .topbar .brand-full img{width:276px!important;height:72px!important;}
}
@media(max-width:760px){
  .topbar{height:74px!important;}
  .topbar .brand-full img{width:208px!important;height:56px!important;}
  .dream-widget.compact .dream-scene{width:min(280px,calc(100vw - 24px))!important;}
}
@media(max-width:390px){
  .topbar .brand-full img{width:178px!important;height:49px!important;}
  .nav-wrap{gap:9px!important;}
}

/* Acesso aos registros de visita no painel */
.sidebar-nav .visitas-nav{display:flex;align-items:center;gap:12px;text-decoration:none;color:#d7e6ef;border-radius:9px;padding:12px 13px;text-align:left;cursor:pointer;font-size:12px}
.sidebar-nav .visitas-nav:hover{background:#234D6C;color:#fff}
@media(max-width:760px){.sidebar-nav .visitas-nav{min-width:45px;padding:9px;font-size:16px}.sidebar-nav .visitas-nav span{display:none}}

/* Rebrand de cores: Lilian e Douglas (laranja + verde).
   Apenas elementos cromáticos são afetados; o layout permanece intacto. */
:root {
  --navy:#16642F;
  --navy2:#105127;
  --blue:#F26A08;
  --cyan:#218542;
  --gold:var(--blue);
  --ink:#1E3D2A;
  --muted:#66796A;
  --line:#E9E5DC;
  --soft:#FFF8F1;
  --shadow:0 18px 52px rgba(18,85,40,.11);
}
body{color:var(--ink)}
.topbar{border-bottom-color:rgba(22,100,47,.10)}
.kicker,.topbar nav a:hover,.text-link,.nav-anunciar{color:var(--blue)!important}
.kicker.light{color:#FFD9A6!important}
.hero h1 strong{color:#FFD0A1!important;background:none!important;-webkit-background-clip:initial!important;background-clip:initial!important}
.hero-overlay{background:linear-gradient(90deg,rgba(7,39,20,.87),rgba(12,67,32,.59) 48%,rgba(15,82,40,.11))}
.btn-primary{background:var(--blue)!important;color:#fff!important;border-color:var(--blue)!important;box-shadow:0 8px 23px rgba(242,106,8,.20)!important}
.btn-primary:hover{background:var(--blue)!important;border-color:var(--blue)!important;filter:brightness(.92)}
.btn-outline,.property-view{border-color:#C8D7C7;color:#16642F}
.btn-outline:hover,.property-view:hover{background:#EDF7EA;color:#14552B}
.search-shell{box-shadow:0 22px 64px rgba(19,76,38,.16);border-color:rgba(242,106,8,.24)}
.search-tabs button.active{color:#165F31!important}
.search-tabs button.active::after{background:var(--blue)!important}
.search-grid label:focus-within,.advanced-search label:focus-within{border-color:#F26A08}
input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline-color:#F26A08}
.property-card{border-color:#E9E6DD}
.property-card:hover{border-color:var(--blue)}
.property-price,.property-info h3{color:#16642F}
.badge-premium{background:#F26A08}
.exclusive-card{background:linear-gradient(110deg,#105127,#237943)}
.premium{background:#FFF8F1}
.cta,.emotion-strip{background:#12562E!important}
.emotion-item>span,.emotion-item b{color:#FFAA57!important}
.emotion-item p{color:#D5E8D6}
footer{background:#103B23!important}
.sidebar{background:#12552D!important}
.sidebar-nav button.active,.sidebar-nav button:hover,.sidebar-nav .visitas-nav:hover{background:var(--blue)!important;color:#fff!important}
.metric-icon.gold{background:#FFF0E3;color:#DF5B00}
.metric-icon.blue{background:#E9F5E7;color:#16642F}
.editor-nav button.active{background:#16642F!important;border-color:#F26A08!important}
.editor-status{background:linear-gradient(90deg,#EFF8ED,#FFF9F3)!important;border-color:#D6E6D0!important}
.editor-status .status-dot{background:#26934B!important;box-shadow:0 0 0 5px rgba(38,147,75,.12)!important}
.asset-preview.dark{background:#12552D!important}
.color-grid input[type=color]{border-color:#D4DFC9}
.site-editor input:focus,.site-editor textarea:focus,.site-editor select:focus{border-color:#F26A08;box-shadow:0 0 0 3px rgba(242,106,8,.10)}
.login-shade{background:linear-gradient(90deg,rgba(8,42,23,.89),rgba(17,93,40,.48))!important}
.dream-widget:not(.compact) .dream-reveal{background:linear-gradient(135deg,rgba(17,91,44,.91),rgba(30,123,55,.81))}
.story-shade{background:linear-gradient(90deg,rgba(8,43,22,.90),rgba(13,69,32,.67) 48%,rgba(15,82,40,.17) 80%)}
.sidebar-brand .brand-copy b{font-size:12px!important;white-space:nowrap;letter-spacing:-.35px}
.sidebar-brand .brand-copy small{color:#FFC68F!important}
.site-editor .upload-btn{border-color:#A9D4AA!important;color:#155B2D!important;background:#F4FBF1!important}


/* CRECI no bloco de contato do rodapé */
.footer-creci{
  display:block;
  color:#E8F2EA;
  font-size:11px;
  font-weight:700;
  letter-spacing:.35px;
  margin-top:3px;
}


/* CRECI abaixo da logo no cabeçalho */
.header-brand{
  position:relative;
  display:flex!important;
  flex-direction:column;
  align-items:flex-start!important;
  justify-content:center;
  gap:0!important;
  line-height:1;
}
.header-brand img{
  display:block;
}
.header-creci{
  display:block;
  margin-top:-2px;
  padding-left:7px;
  font-size:9px;
  line-height:1.15;
  font-weight:700;
  letter-spacing:.7px;
  color:#16642F;
  opacity:.86;
  white-space:nowrap;
}
@media(max-width:760px){
  .header-creci{
    font-size:8px;
    padding-left:5px;
    margin-top:-1px;
  }
}


/* CRECI abaixo da marca no rodapé */
.footer-brand-creci{
  display:block;
  margin-top:5px;
  padding-left:6px;
  color:#E7F1E9;
  font-size:10px;
  line-height:1.25;
  font-weight:700;
  letter-spacing:.45px;
  opacity:.92;
}
@media(max-width:760px){
  .footer-brand-creci{
    font-size:9px;
    padding-left:4px;
  }
}


/* ===== MOBILE PREMIUM FINAL 2026 ===== */
@media (max-width:760px){
  :root{--mobile-gutter:14px}

  /* Cabeçalho compacto */
  .topbar{height:72px!important}
  .nav-wrap{width:calc(100% - 28px)!important;gap:10px!important}
  .topbar .brand-full img{width:190px!important;height:48px!important}
  .header-creci{font-size:7.5px!important;margin-top:0!important;padding-left:4px!important}
  .mobile-menu{width:42px!important;height:42px!important;flex:0 0 42px!important;border-radius:11px!important}

  /* Hero: a foto termina antes da busca, evitando zoom/corte exagerado */
  .hero{
    display:block!important;
    min-height:0!important;
    padding:0 0 24px!important;
    overflow:visible!important;
    background:#fff!important;
  }
  .hero-bg,.hero-overlay{
    top:0!important;bottom:auto!important;
    height:510px!important;min-height:510px!important;
  }
  .hero-bg{
    object-fit:cover!important;
    object-position:68% center!important;
  }
  .hero-overlay{
    background:linear-gradient(90deg,rgba(7,39,20,.91) 0%,rgba(10,56,27,.78) 46%,rgba(12,66,31,.31) 100%)!important;
  }
  .hero-content{
    min-height:510px!important;
    padding:62px 0 54px!important;
    justify-content:center!important;
  }
  .hero .kicker{font-size:9px!important;letter-spacing:2px!important}
  .hero h1{
    max-width:340px!important;
    margin:14px 0 18px!important;
    font-size:39px!important;
    line-height:1.02!important;
    letter-spacing:-.025em!important;
  }
  .hero p{
    max-width:345px!important;
    margin:0!important;
    font-size:14px!important;
    line-height:1.55!important;
    color:rgba(255,255,255,.94)!important;
  }

  /* Busca: só o essencial aparece primeiro */
  .search-shell{
    position:relative!important;
    left:auto!important;right:auto!important;bottom:auto!important;
    transform:none!important;
    width:calc(100% - 28px)!important;
    margin:-26px auto 0!important;
    border-radius:20px!important;
    overflow:hidden!important;
    background:#fff!important;
    box-shadow:0 18px 48px rgba(18,85,40,.16)!important;
    z-index:8!important;
  }
  .search-tabs{
    height:49px!important;
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    overflow:hidden!important;
  }
  .search-tabs button{
    min-width:0!important;
    padding:0 4px!important;
    font-size:11px!important;
    white-space:nowrap!important;
  }
  .search-tabs button.active:after{
    left:9px!important;right:9px!important;height:2px!important;
  }
  .search-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    padding:12px!important;
  }
  .search-grid label{
    min-height:54px!important;
    padding:8px 11px!important;
    border-radius:12px!important;
  }
  .search-grid label span{font-size:8px!important}
  .search-grid input,.search-grid select{
    font-size:15px!important;
    line-height:1.2!important;
  }
  .search-grid label:nth-of-type(4),
  .search-grid label:nth-of-type(5){
    display:none!important;
  }
  .search-shell.mobile-filters-open .search-grid label:nth-of-type(4),
  .search-shell.mobile-filters-open .search-grid label:nth-of-type(5){
    display:grid!important;
  }
  .search-btn{
    width:100%!important;
    min-width:0!important;
    min-height:48px!important;
    border-radius:12px!important;
    margin-top:1px!important;
  }
  .advanced-search{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    padding:0 12px 12px!important;
  }
  .advanced-search.collapsed>label{display:none!important}
  .advanced-search:not(.collapsed)>label{display:grid!important}
  .advanced-search .toggle-search{min-height:48px!important}
  .more-filter-toggle{
    width:100%!important;
    height:44px!important;
    border-radius:11px!important;
  }

  /* Faixa logo abaixo da busca */
  .emotion-strip{margin-top:0!important}
  .emotion-grid{grid-template-columns:1fr!important}
  .emotion-item{padding:18px 4px!important}

  /* WhatsApp vira um botão redondo e não tampa o conteúdo */
  .dream-widget{
    right:12px!important;
    bottom:12px!important;
    width:58px!important;
    max-width:58px!important;
    z-index:84!important;
    filter:drop-shadow(0 9px 22px rgba(10,80,35,.2))!important;
  }
  .dream-widget.compact .dream-scene{
    width:58px!important;
    height:58px!important;
    min-height:58px!important;
    margin:0!important;
    border-radius:50%!important;
    overflow:hidden!important;
  }
  .dream-widget.compact .dream-reveal{
    padding:0!important;
    display:grid!important;
    place-items:center!important;
  }
  .dream-widget.compact .dream-compact-cta{
    width:58px!important;height:58px!important;
    display:grid!important;place-items:center!important;
    gap:0!important;
  }
  .dream-widget.compact .dream-wa-icon{
    width:58px!important;height:58px!important;
    flex:0 0 58px!important;
    display:grid!important;place-items:center!important;
  }
  .dream-widget.compact .dream-wa-icon svg,
  .dream-widget.compact .dream-wa-icon img{
    width:31px!important;height:31px!important;
  }
  .dream-widget.compact .dream-wa-copy,
  .dream-widget.compact .dream-wa-arrow,
  .dream-widget.compact .dream-close{
    display:none!important;
  }

  /* Comparador nunca aparece quando está vazio */
  .compare-bar.hidden{display:none!important}
  .compare-bar:not(.hidden){
    left:12px!important;
    right:82px!important;
    bottom:12px!important;
    transform:none!important;
    width:auto!important;
    min-height:58px!important;
    padding:8px 10px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:8px!important;
    border-radius:15px!important;
    z-index:83!important;
  }
  .compare-bar>div:first-child{min-width:0!important}
  .compare-bar>div:first-child b{font-size:10px!important}
  .compare-bar>div:first-child span{font-size:7px!important}
  .compare-bar .compare-chips{display:none!important}
  .compare-bar .btn{
    grid-column:auto!important;
    width:auto!important;
    min-height:38px!important;
    padding:9px 11px!important;
    font-size:9px!important;
  }
  .compare-clear{
    position:absolute!important;
    right:7px!important;
    top:3px!important;
    font-size:7px!important;
  }

  /* Cards e seções mais leves */
  .section{padding:46px 0!important}
  .property-media{height:220px!important}
  .property-card-actions{grid-template-columns:1fr 1fr!important}
  .property-view,.compare-btn{min-height:42px!important}
  .story-panel{min-height:440px!important}
  .premium-photo{height:270px!important}
  .cta{padding:42px 0!important}
  .footer-grid{gap:28px!important}
}

@media (max-width:390px){
  .topbar .brand-full img{width:172px!important;height:46px!important}
  .hero-bg,.hero-overlay,.hero-content{height:auto!important;min-height:490px!important}
  .hero h1{font-size:36px!important;max-width:315px!important}
  .hero p{font-size:13.5px!important;max-width:320px!important}
  .search-tabs button{font-size:10px!important}
}
