
/* ===================== BASE ===================== */
body{ font-family:'Poppins',system-ui,-apple-system,'Segoe UI',sans-serif; color:#1d1d24; background:#fff; }
html, body{ overflow-x:hidden; max-width:100%; }  /* mata a barra de rolagem horizontal (row -15px + badge recaptcha) */
/* site mais LARGO — Bootstrap ANTIGO pina .container em width:1140px (fixo), entao
   sobrescrevo o WIDTH (nao adianta so max-width). max-width:100% p/ nao passar da tela. */
@media (min-width:1200px){ .container, .c49row .container{ width:1300px!important; max-width:100%!important; } }
@media (min-width:1560px){ .container, .c49row .container{ width:1400px!important; } }
#c49main{ padding-top:0!important; padding-bottom:0; }  /* tira a "barra sobrando" (30px) entre header e hero */
.c49row{ margin-bottom:0; }
.c49row-destaques, .c49row-bairros, .c49row-equipe, .c49row-depoimentos, .c49row-tiles, .c49row-servicos{ padding:clamp(34px,5vw,64px) 0; }
.c49row-servicos{ background:#f5f5f8; }
.c49row-tiles{ background:#f5f5f8; }
.c49row-bairros, .c49row-equipe{ background:#f5f5f8; }
h1,h2,h3,h4{ font-family:'Poppins',sans-serif; font-weight:800; letter-spacing:-.02em; color:#17171c; }

/* ===================== TOPBAR ===================== */
.c49row-topbar{ background:#1c1c22; }
.c49row-topbar .container{ padding-top:.15rem!important; padding-bottom:.15rem!important; }
.c49row-topbar .row{ align-items:center; }
.c49row-topbar [class*="animate__"]{ animation:none!important; line-height:1!important; }
.c49row-topbar .row > [class*="col-"], .c49row-topbar .c49-phone, .c49row-topbar .c49-label, .c49row-topbar .c49-tag, .c49row-topbar .navbar-nav .nav-link, .c49row-topbar .c49top-cta a{ line-height:1.2!important; }
/* faixa FINA: telefones tudo numa linha (icone glyph pequeno, nome+numero inline) */
.c49row-topbar .c49mod-contact-dropdown, .c49row-topbar .c49-contact-phone{ display:inline-flex!important; align-items:center; gap:1.5rem; flex-wrap:nowrap; }
.c49row-topbar .c49-phone{ display:inline-flex!important; align-items:center; gap:.45em; color:#dcdce2!important; font-size:.84rem!important; font-weight:600!important; padding:0!important; margin:0!important; min-height:0!important; line-height:1.15!important; text-decoration:none!important; white-space:nowrap; }
.c49row-topbar .c49-phone:hover{ color:#fff!important; }
.c49row-topbar .c49-label, .c49row-topbar .c49-label.align-middle{ display:inline-flex!important; align-items:center; gap:.4em; }
.c49row-topbar .c49-tag{ display:inline!important; font-weight:600; color:#fff; }
/* TELEFONE APARECENDO 2x (nao e duplicidade no banco): o contact-dropdown renderiza DOIS <a> pro mesmo numero
   -> a.hidden-md-up (tel: p/ mobile) e a.hidden-sm-down (desktop). Essas classes responsivas LEGADAS nao existem
   neste Bootstrap, entao os dois ficam visiveis. Restauramos o comportamento: 1 por breakpoint. */
.c49mod-contact-dropdown .hidden-md-up,
.c49row-topbar .c49-phone a.hidden-md-up{ display:none!important; }
@media (max-width:767.98px){
  .c49mod-contact-dropdown .hidden-md-up,
  .c49row-topbar .c49-phone a.hidden-md-up{ display:inline!important; }
  .c49mod-contact-dropdown .hidden-sm-down,
  .c49row-topbar .c49-phone a.hidden-sm-down{ display:none!important; }
}
.c49row-topbar .c49-phone a{ color:inherit!important; text-decoration:none!important; padding:0!important; display:inline!important; }
.c49row-topbar .c49-icon, .c49row-topbar .c49-phone i, .c49row-topbar .c49-phone [class^="fa"], .c49row-topbar .c49-phone [class*=" fa"]{ font-size:1em!important; line-height:1!important; color:#e11b22; margin:0!important; padding:0!important; width:auto!important; height:auto!important; min-width:0!important; background:none!important; border:0!important; border-radius:0!important; box-shadow:none!important; }
/* menu do topbar (modulo 230): Area do cliente (link branco) + Anunciar (pill) */
.c49row-topbar .c49mod-menu-horizontal-basic, .c49row-topbar .c49mod-menu-horizontal-basic .navbar, .c49row-topbar .navbar{ padding:0!important; margin:0!important; background:transparent!important; border:0!important; min-height:0!important; }
.c49row-topbar [class*="animate__"], .c49row-topbar .c49mod-menu-horizontal-basic *{ line-height:1.2!important; }
.c49row-topbar .navbar-nav{ flex-direction:row!important; align-items:center; gap:.25rem; margin:0!important; }
.c49row-topbar .navbar-nav .nav-link, .c49row-topbar .navbar-nav a{ color:#dcdce2!important; font-size:.82rem!important; font-weight:600!important; padding:.12rem .7rem!important; white-space:nowrap; }
.c49row-topbar .navbar-nav .nav-link:hover, .c49row-topbar .navbar-nav a:hover{ color:#fff!important; }
.c49row-topbar .navbar-nav .nav-link::after{ display:none!important; }
.c49row-topbar .navbar-toggler, .c49row-topbar .navbar-brand{ display:none!important; }
.c49row-topbar .c49top-cta a, .c49row-topbar a.c49top-cta{ background:#e11b22; color:#fff!important; border-radius:999px; padding:.26rem 1.05rem!important; }
.c49row-topbar .c49top-cta a:hover{ background:#b3141a; color:#fff!important; }

/* ===================== HEADER / NAVBAR ===================== */
.c49row-navbar{ background:#fff; box-shadow:0 2px 14px -8px rgba(20,20,35,.25); }
.c49row-navbar .container{ padding-top:0!important; padding-bottom:0!important; }
/* logo dobrado: esconde o brand do menu, mantem so o modulo image (col-logo) */
.c49row-navbar .c49mod-menu-horizontal-basic .navbar-brand, .c49row-navbar .c49mod-menu-horizontal-basic img, .c49row-navbar .c49mod-menu-horizontal-basic .navbar-brand img{ display:none!important; }
.c49row-navbar .col-logo img{ height:108px!important; width:auto!important; max-height:108px!important; max-width:380px!important; }
/* logo acima do menu (a ul do menu tem container full-width que sobrepunha e bloqueava o clique no logo) */
.c49row-navbar .col-logo{ position:relative; z-index:3; }
.c49row-navbar .col-logo a{ display:inline-block; }
.c49row-navbar .navbar{ padding:0!important; background:transparent!important; border:0!important; box-shadow:none!important; }
.c49row-navbar .col-logo{ padding-top:0!important; padding-bottom:0!important; }
.c49row-navbar .navbar-nav .nav-link, .c49row-navbar .navbar-nav > li > a{ position:relative; color:#17171c!important; font-weight:600!important; font-size:.95rem; padding:.55rem .95rem!important; }
/* hover DISCRETO: risco vermelho crescendo por baixo do texto (sem trocar a cor do texto) */
.c49row-navbar .navbar-nav .nav-link::after, .c49row-navbar .navbar-nav > li > a::after{ content:""; position:absolute; left:.95rem; right:.95rem; bottom:.26rem; height:2px; border-radius:2px; background:#e11b22; transform:scaleX(0); transform-origin:left; transition:transform .22s ease; }
.c49row-navbar .navbar-nav .nav-link:hover::after, .c49row-navbar .navbar-nav > li > a:hover::after, .c49row-navbar .navbar-nav .active > a::after{ transform:scaleX(1); }
/* CTA "Contato": pill vermelho, sem risco */
.c49row-navbar .navbar-nav .c49nav-cta a, .c49row-navbar .navbar-nav a.c49nav-cta{ background:#e11b22; color:#fff!important; border-radius:999px; padding:.5rem 1.35rem!important; margin-left:.5rem; }
.c49row-navbar .navbar-nav .c49nav-cta a:hover{ background:#b3141a; }
.c49row-navbar .navbar-nav .c49nav-cta a::after, .c49row-navbar .navbar-nav .c49nav-cta::after{ display:none!important; }
.c49row-navbar .navbar-toggler, .c49row-navbar .c49-navbar-toggler{ border:0!important; color:#17171c!important; }

/* ===================== HERO (hero/search modulo 201) =====================
   O modulo hero/search tem CSS-base proprio e COMPLETO (modules/hero/search/
   c49mod-hero-search.css) que ja tematiza com $primary/$secondary. NAO
   sobrepor aqui — deixar o modulo renderizar. So um reforco de drama no scrim
   pro texto branco destacar sobre fotos claras (o topo do scrim do modulo e
   leve de proposito; o Prime pede mais contraste). */
/* Prime: hero SEM foto — fundo = degrade preto -> vermelho ($secondary -> $primary) */
.c49hero__bg img{ display:none!important; }
.c49hero__scrim{ background:none!important; }
.c49hero__bg{ background:linear-gradient(125deg, #1c1c22 0%, #1c1c22 42%, #e11b22 125%)!important; }
.c49hero__title .c49hero__accent{ color:#e11b22; font-style:normal; display:block; }
/* hero mais compacto pra compensar o logo maior: -10px antes do eyebrow, -8px depois da busca */
.c49hero__inner{ padding-top:62px!important; padding-bottom:48px!important; }

/* ===================== TITULOS DE SECAO ===================== */
.c49-title{ border:0!important; background:transparent!important; box-shadow:none!important; padding:0!important; }
.c49-properties-title, .c49row-destaques h2{ font-size:clamp(1.9rem,3.4vw,2.85rem); font-weight:800; letter-spacing:-.03em; color:#17171c; margin:0; line-height:1.08; }
.c49-kicker{ display:block; color:#e11b22; font-size:.78rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; margin-bottom:.5rem; }
/* header da secao: kicker+titulo (esq) + botao "Mais imoveis" no TOPO (dir), pill outline */
.c49-title--flex{ display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; flex-wrap:wrap; margin-bottom:1.9rem; }
.c49-title--flex .c49-properties-title, .c49-title__head .c49-properties-title{ margin:0!important; font-size:clamp(1.9rem,3.4vw,2.85rem)!important; font-weight:800!important; line-height:1.08!important; color:#17171c!important; text-transform:none!important; }
.c49-title--flex .c49-properties-title .fa, .c49-title--flex .c49-properties-title i{ display:none; }
.c49-title__btn{ display:inline-flex; align-items:center; background:transparent; border:1.6px solid #e11b22; color:#e11b22; border-radius:999px; padding:.62rem 1.7rem; font-weight:700; font-size:.9rem; line-height:1; white-space:nowrap; text-decoration:none!important; transition:background .16s ease, color .16s ease; }
.c49-title__btn:hover{ background:#e11b22; color:#fff!important; }

/* ===================== CARD IMERSIVO ("padrao lindao" da LISTAGEM) =====================
   Foto full-bleed + overlay escuro + titulo/preco/numeros SOBRE a foto. E o BASE de
   .c49mod-properties-grid .c49-property-card; a index (dentro de .c49row-destaques) sobrescreve
   pro card tradicional abaixo. Portado do templates/67 paris.css (tokens --ae-* -> $primary/$secondary). */
.c49mod-properties-grid .c49-property-card.card{ position:relative; display:flex; flex-direction:column; justify-content:flex-end; min-height:400px; border:0!important; border-radius:16px; overflow:hidden; box-shadow:0 14px 34px -20px rgba(20,20,35,.24); background:#1c1c22; transition:transform .35s ease, box-shadow .35s ease; margin-bottom:24px; }
.c49mod-properties-grid .c49-property-card.card:hover{ transform:translateY(-6px); box-shadow:0 26px 52px -22px rgba(20,20,35,.42); }
.c49mod-properties-grid .c49-property-card a{ text-decoration:none; }
.c49mod-properties-grid .c49-property-card .c49-property-photo,
.c49mod-properties-grid .c49-property-card .card-img-top{ position:absolute!important; inset:0; z-index:0; margin:0!important; padding:0!important; border-radius:0!important; aspect-ratio:auto!important; height:100%; width:100%; overflow:hidden; }
.c49mod-properties-grid .c49-property-card .carousel,
.c49mod-properties-grid .c49-property-card .carousel-inner,
.c49mod-properties-grid .c49-property-card .carousel-item,
.c49mod-properties-grid .c49-property-card .c49-carousel-photo-wrap,
.c49mod-properties-grid .c49-property-card .c49-carousel-photo-wrap a{ height:100%!important; }
/* display:block SO no wrap/a — NAO no .carousel-item (senao vence o display:none do Bootstrap nos inativos e as 3 fotos empilham -> transicao quebrada) */
.c49mod-properties-grid .c49-property-card .c49-carousel-photo-wrap,
.c49mod-properties-grid .c49-property-card .c49-carousel-photo-wrap a{ display:block; }
.c49mod-properties-grid .c49-property-card .c49-carousel-photo-wrap img,
.c49mod-properties-grid .c49-property-card .c49-property-photo img{ width:100%!important; height:100%!important; object-fit:cover!important; border-radius:0!important; transition:transform .6s ease; }
.c49mod-properties-grid .c49-property-card:hover .c49-carousel-photo-wrap img,
.c49mod-properties-grid .c49-property-card:hover .c49-property-photo img{ transform:scale(1.06); }
.c49mod-properties-grid .c49-property-card .carousel-indicators,
.c49mod-properties-grid .c49-property-card .carousel-control-prev,
.c49mod-properties-grid .c49-property-card .carousel-control-next{ display:none!important; }
.c49mod-properties-grid .c49-property-card::after{ content:""!important; display:block!important; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg, rgba(15,15,20,0) 34%, rgba(15,15,20,.5) 62%, rgba(10,10,14,.92) 100%); pointer-events:none; }
.c49mod-properties-grid .c49-property-card .c49-strip{ position:absolute!important; top:14px!important; left:14px!important; right:auto!important; bottom:auto!important; transform:none!important; width:auto!important; height:auto!important; z-index:3; background:#e11b22; color:#fff!important; border-radius:999px!important; font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.03em; padding:.34rem .8rem!important; box-shadow:0 8px 18px -10px rgba(0,0,0,.55); }
.c49mod-properties-grid .c49-property-card .c49-property-block{ position:relative!important; z-index:2; flex:0 0 auto; margin-top:auto!important; padding:1.1rem 1.2rem .35rem!important; background:transparent!important; }
.c49mod-properties-grid .c49-property-card .c49-property-block a{ color:#fff; }
.c49mod-properties-grid .c49-property-card .c49-property-title{ color:#fff!important; font-size:1.14rem; font-weight:700; line-height:1.28; text-shadow:0 2px 12px rgba(0,0,0,.45); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; margin:0 0 .6rem; min-height:0; }
.c49mod-properties-grid .c49-property-card .c49-property-resume{ display:none!important; }
.c49mod-properties-grid .c49-property-card .c49-property-code{ display:none!important; }
.c49mod-properties-grid .c49-property-card .c49-property-value{ display:inline-flex; align-items:baseline; gap:.25em; background:#e11b22; color:#fff!important; font-size:1.05rem; font-weight:800; padding:.34rem .85rem!important; border-radius:999px!important; margin:0 .45rem .5rem 0!important; box-shadow:0 12px 24px -10px rgba(225,27,34,.85); }
/* base imoveis.css joga os precos em position:absolute top:-45/-80 (2 precos ficam colados). Na LISTAGEM
   tiramos do absoluto -> fluxo normal, empilham com respiro real (a margin acima cria o gap). */
.c49mod-properties-grid .c49-property-card .c49-property-value,
.c49mod-properties-grid .c49-property-card .c49-property-count1,
.c49mod-properties-grid .c49-property-card .c49-property-count2{ position:relative!important; top:auto!important; left:auto!important; }
.c49mod-properties-grid .c49-property-card .c49-currency,
.c49mod-properties-grid .c49-property-card .c49-property-value .c49-currency{ font-size:.72rem; font-weight:600; color:rgba(255,255,255,.9)!important; }
.c49mod-properties-grid .c49-property-card .valorDesc{ color:rgba(255,255,255,.8)!important; }
.c49mod-properties-grid .c49-property-card .valorDesc:empty{ display:none; }
.c49mod-properties-grid .c49-property-card .text-muted{ color:rgba(255,255,255,.8)!important; }
.c49mod-properties-grid .c49-property-card .card-footer{ position:relative!important; z-index:2; margin-top:0!important; background:transparent!important; border:0!important; border-top:0!important; padding:.15rem 1.2rem 1.1rem!important; }
.c49mod-properties-grid .c49-property-card .c49-property-numbers{ justify-content:flex-start!important; flex-wrap:wrap; gap:.3rem .85rem; }
.c49mod-properties-grid .c49-property-card .c49-property-number-wrap{ display:flex; align-items:center; gap:.4em; color:#fff; font-size:.85rem; }
.c49mod-properties-grid .c49-property-card .c49-property-number-wrap [class^="c49icon"],
.c49mod-properties-grid .c49-property-card .c49-property-number-wrap [class*=" c49icon"]{ color:#fff!important; opacity:.85; font-size:1.08em; }
.c49mod-properties-grid .c49-property-card .c49-property-number{ font-weight:600; color:#fff; }
.c49mod-properties-grid .c49-property-card .c49-num-lbl{ display:none; }
.c49mod-properties-grid .c49-property-card .btn-group{ display:none!important; }

/* VARIANTE hover-infos (grade de imoveis do corretor no perfil, modulos 3/85/88): o perfil.css deixa o bloco de
   infos opacity:0 (titulo/preco so no HOVER) -> incompativel com o card imersivo (fica "nem index nem listagem").
   Aqui mostramos as infos SEMPRE, no rodape do card, igual a LISTAGEM. */
.c49mod-properties_hover-infos.c49mod-properties-grid .card .card-block.c49-property-block{ opacity:1!important; height:auto!important; position:relative!important; inset:auto!important; margin-top:auto!important; background:transparent!important; padding:1.1rem 1.2rem .35rem!important; }
.c49mod-properties_hover-infos.c49mod-properties-grid .card:hover .card-block.c49-property-block{ background:transparent!important; top:auto!important; left:auto!important; }

/* ===================== CARDS TRADICIONAIS (foto no topo + corpo branco) — SO NA INDEX (.c49row-destaques) =====================
   3 colunas largas; foto com aspecto FIXO (16/10) pra nao esticar/estourar a qualidade. */
.c49row-destaques .c49mod-properties-grid .c49-property-card{ position:relative; display:flex; flex-direction:column; justify-content:flex-start!important; min-height:0!important; background:#fff!important; border:1px solid #eceef2!important; border-radius:16px!important; overflow:hidden; box-shadow:0 14px 34px -20px rgba(20,20,35,.22)!important; transition:transform .2s ease, box-shadow .2s ease; }
.c49row-destaques .c49mod-properties-grid .c49-property-card:hover{ transform:translateY(-3px); box-shadow:0 24px 46px -20px rgba(20,20,35,.30)!important; }
.c49row-destaques .c49mod-properties-grid .c49-property-card::after{ display:none!important; }
/* FOTO topo, aspecto fixo */
.c49row-destaques .c49mod-properties-grid .c49-property-card .c49-property-photo{ position:relative!important; inset:auto!important; width:100%; height:auto!important; margin:0!important; padding:0!important; border-radius:0!important; overflow:hidden; aspect-ratio:16/10!important; background:#f0f1f4; flex:0 0 auto; z-index:auto!important; }
.c49row-destaques .c49mod-properties-grid .c49-property-card .c49-property-photo .carousel, .c49row-destaques .c49mod-properties-grid .c49-property-card .c49-property-photo .carousel-inner, .c49row-destaques .c49mod-properties-grid .c49-property-card .c49-property-photo .carousel-item{ height:100%!important; }
.c49row-destaques .c49mod-properties-grid .c49-property-card .c49-property-photo img{ width:100%!important; height:100%!important; object-fit:cover!important; border-radius:0!important; }
/* pill SALE/RENT no canto */
/* faixa estilo EDITORIAL (modelo 64): pill escuro elegante, letter-spacing, top-right; cor = secundaria do cliente */
.c49row-destaques .c49mod-properties-grid .c49-property-card .c49-strip{ position:absolute!important; top:14px!important; right:14px!important; left:auto!important; bottom:auto!important; transform:none!important; width:auto!important; max-width:none!important; height:auto!important; z-index:3; background:#1c1c22; color:#fff!important; border-radius:4px!important; padding:.45rem 1rem!important; font-size:.64rem; font-weight:700; text-transform:uppercase; letter-spacing:.2em; text-align:center; white-space:nowrap; box-shadow:0 10px 24px -10px rgba(0,0,0,.5); }
/* corpo branco */
.c49row-destaques .c49mod-properties-grid .c49-property-card .c49-property-block{ position:static!important; z-index:auto; margin:0!important; padding:1.15rem 1.25rem .5rem!important; background:transparent!important; flex:1 1 auto; }
.c49row-destaques .c49mod-properties-grid .c49-property-card .c49-property-block a{ color:#17171c; }
.c49row-destaques .c49mod-properties-grid .c49-property-card .c49-property-title{ color:#17171c!important; font-size:1.08rem; font-weight:700; line-height:1.32; text-shadow:none!important; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; margin:0 0 .55rem; min-height:2.85em; }
.c49row-destaques .c49mod-properties-grid .c49-property-card .c49-property-resume{ display:none!important; }
.c49row-destaques .c49mod-properties-grid .c49-property-card .c49-property-value{ display:inline-flex; align-items:baseline; gap:.2em; background:none!important; color:#17171c!important; font-size:1.38rem; font-weight:800; padding:0!important; margin:.35rem 0 0!important; border-radius:0!important; box-shadow:none!important; }
/* INDEX: mantem o preco como estava (absolute top:-45/-80 = fora do card, escondido pelo overflow) — NAO alterar destaques.
   Preco unico usa .c49-property-count (sem numero); por isso cobrimos o .c49-property-value generico. */
.c49row-destaques .c49mod-properties-grid .c49-property-card .c49-property-value{ position:absolute!important; top:-45px!important; }
.c49row-destaques .c49mod-properties-grid .c49-property-card .c49-property-count2{ position:absolute!important; top:-80px!important; }
.c49row-destaques .c49mod-properties-grid .c49-property-card .c49-currency, .c49row-destaques .c49mod-properties-grid .c49-property-card .c49-property-value .c49-currency{ color:#17171c!important; font-size:.86rem; font-weight:700; }
.c49row-destaques .c49mod-properties-grid .c49-property-card .valorDesc{ color:#8a8f98!important; font-size:.8rem; font-weight:600; }
.c49row-destaques .c49mod-properties-grid .c49-property-card .text-muted{ color:#8a8f98!important; }
.c49row-destaques .c49mod-properties-grid .c49-property-card .c49-property-code{ display:none!important; }
/* rodape: specs com linha separadora */
.c49row-destaques .c49mod-properties-grid .c49-property-card .card-footer{ position:static!important; margin:0!important; background:transparent!important; border:0!important; border-top:1px solid #eef0f3!important; padding:.8rem 1.25rem!important; }
.c49row-destaques .c49mod-properties-grid .c49-property-card .c49-property-numbers{ justify-content:flex-start!important; flex-wrap:wrap; gap:.3rem 1rem; }
.c49row-destaques .c49mod-properties-grid .c49-property-card .c49-property-number-wrap{ display:flex; align-items:center; gap:.4em; color:#4b5563; font-size:.86rem; }
.c49row-destaques .c49mod-properties-grid .c49-property-card .c49-property-number-wrap [class^="c49icon"], .c49row-destaques .c49mod-properties-grid .c49-property-card .c49-property-number-wrap [class*=" c49icon"]{ color:#e11b22 !important; opacity:1!important; font-size:1.05em; }
.c49row-destaques .c49mod-properties-grid .c49-property-card .c49-property-number{ font-weight:700; color:#17171c; }
.c49row-destaques .c49mod-properties-grid .c49-property-card .c49-num-lbl{ display:none; }
.c49row-destaques .c49mod-properties-grid .c49-property-card .btn-group{ display:none!important; }

/* ===================== BAIRROS — paineis ===================== */
.c49paineis{ margin-block:0; }
.c49paineis__head{ margin-bottom:22px; }
.c49paineis__kicker{ display:block; color:#e11b22; font-size:.78rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; margin-bottom:.5rem; }
.c49paineis__titulo{ font-family:'Poppins',sans-serif; font-size:clamp(1.9rem,3.4vw,2.85rem); font-weight:800; letter-spacing:-.03em; line-height:1.1; color:#17171c; margin:0 0 10px; position:relative; padding-bottom:12px; }
.c49paineis__titulo::after{ content:""; position:absolute; left:0; bottom:0; width:52px; height:3px; border-radius:3px; background:#e11b22; }
.c49paineis__sub{ margin:0; font-size:.9rem; color:#667085; }
.c49paineis__trilha{ display:flex; gap:10px; height:clamp(320px,42vw,440px); }
.c49painel{ position:relative; flex:1 1 0; min-width:0; overflow:hidden; border-radius:16px; text-decoration:none; background:#1c1c22; isolation:isolate; transition:flex-grow .55s cubic-bezier(.22,.61,.36,1); }
.c49paineis__trilha:hover .c49painel.is-inicial{ flex-grow:1; }
.c49painel:hover, .c49painel:focus-visible, .c49painel.is-inicial{ flex-grow:4.2; }
.c49painel:focus-visible{ outline:3px solid #e11b22; outline-offset:3px; }
.c49painel__foto{ position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; transition:transform .8s cubic-bezier(.22,.61,.36,1); }
.c49painel:hover .c49painel__foto{ transform:scale(1.06); }
.c49painel__veu{ position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(12,10,12,.2) 0%,rgba(12,10,12,.46) 45%,rgba(12,10,12,.88) 100%); transition:background .4s ease; }
.c49painel__vertical{ position:absolute; left:50%; bottom:22px; transform:translateX(-50%) rotate(180deg); writing-mode:vertical-rl; font-family:'Poppins',sans-serif; font-size:.92rem; font-weight:700; letter-spacing:.08em; color:#fff; white-space:nowrap; text-shadow:0 2px 12px rgba(0,0,0,.5); opacity:1; transition:opacity .3s ease; pointer-events:none; }
.c49painel:hover .c49painel__vertical, .c49painel:focus-visible .c49painel__vertical, .c49painel.is-inicial .c49painel__vertical{ opacity:0; }
.c49paineis__trilha:hover .c49painel.is-inicial .c49painel__vertical{ opacity:1; }
.c49painel.is-inicial:hover .c49painel__vertical{ opacity:0; }
.c49painel__conteudo{ position:absolute; left:0; right:0; bottom:0; display:flex; flex-direction:column; align-items:flex-start; gap:6px; padding:22px; opacity:0; transform:translateY(10px); transition:opacity .35s ease .1s, transform .35s ease .1s; }
.c49painel:hover .c49painel__conteudo, .c49painel:focus-visible .c49painel__conteudo, .c49painel.is-inicial .c49painel__conteudo{ opacity:1; transform:none; }
.c49paineis__trilha:hover .c49painel.is-inicial .c49painel__conteudo{ opacity:0; transform:translateY(10px); }
.c49painel.is-inicial:hover .c49painel__conteudo{ opacity:1; transform:none; }
.c49painel__cidade{ font-family:'Poppins',sans-serif; font-size:.64rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:rgba(255,255,255,.82); }
.c49painel__nome{ font-family:'Poppins',sans-serif; font-size:clamp(1.3rem,2.2vw,1.8rem); font-weight:800; letter-spacing:-.02em; line-height:1.08; color:#fff; text-shadow:0 2px 16px rgba(0,0,0,.45); }
.c49painel__n{ font-size:.8rem; font-weight:600; color:#fff; background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.28); backdrop-filter:blur(6px); padding:4px 11px; border-radius:100px; }
.c49painel__cta{ margin-top:8px; font-family:'Poppins',sans-serif; font-size:.74rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#fff; padding:9px 16px; border-radius:9px; background:#e11b22; transition:filter .16s ease; }
.c49painel:hover .c49painel__cta{ filter:brightness(1.12); }
@media (max-width:899px){ .c49paineis__trilha{ display:grid; grid-template-columns:repeat(2,1fr); height:auto; gap:12px; } .c49painel{ flex:none; height:210px; } .c49painel:hover,.c49painel.is-inicial{ flex-grow:0; } .c49painel__vertical{ display:none; } .c49painel__conteudo{ opacity:1; transform:none; padding:16px; } .c49painel__cta{ display:none; } .c49paineis__sub{ display:none; } }
@media (max-width:519px){ .c49paineis__trilha{ grid-template-columns:1fr; } .c49painel{ height:180px; } }

/* ===================== EQUIPE + DEPOIMENTOS: kicker + titulo grande (consistencia) ===================== */
.c49equipe__kicker, .c49mural__kicker{ display:block; color:#e11b22; font-size:.78rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; margin-bottom:.5rem; }
.c49equipe__titulo, .c49mural__titulo{ font-size:clamp(1.9rem,3.4vw,2.85rem)!important; font-weight:800!important; letter-spacing:-.03em!important; line-height:1.1!important; }

/* ===================== FOOTER (escuro, estilo do print) ===================== */
.c49row-footer, .c49row-copyright{ background:#1c1c22; }
.c49row-footer{ padding:clamp(44px,5vw,68px) 0 2.4rem!important; }
.c49row-footer .c49mod-image img{ max-height:64px; width:auto; }
.c49row-footer .c49foot-brand{ padding-right:2rem; }
.c49row-footer .c49foot-tag{ color:#a8a8b2!important; font-size:.93rem; line-height:1.6; margin:1.25rem 0 1.35rem; max-width:330px; }
.c49row-footer .c49foot-wa{ display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:12px; background:rgba(255,255,255,.08); color:#fff!important; font-size:1.15rem; text-decoration:none!important; transition:background .15s ease; }
.c49row-footer .c49foot-wa:hover{ background:#e11b22; }
.c49row-footer .c49foot-wa i{ color:#fff!important; }
/* headings das colunas (Imoveis / Institucional / Contato) */
.c49row-footer .c49mv-title, .c49row-footer h3, .c49row-footer .c49-contact-title{ color:#fff!important; font-size:1.02rem; font-weight:700; margin:0 0 1.15rem; position:relative; padding-bottom:.6rem; }
.c49row-footer .c49mv-title::after, .c49row-footer h3::after, .c49row-footer .c49-contact-title::after{ content:""; position:absolute; left:0; bottom:0; width:34px; height:2px; background:#e11b22; }
/* links das colunas (via text/basic — .c49foot-links) */
.c49row-footer .c49foot-links{ display:flex; flex-direction:column; gap:.75rem; }
.c49row-footer .c49foot-links a{ color:#b5b5be!important; font-size:.93rem; text-decoration:none!important; transition:color .15s ease, padding-left .15s ease; }
.c49row-footer .c49foot-links a:hover{ color:#fff!important; padding-left:3px; }
.c49row-footer .c49mod-menu-vertical-basic .menu-area{ display:flex; flex-direction:column; gap:.75rem; }
.c49row-footer .c49mod-menu-vertical-basic a{ color:#b5b5be!important; font-size:.93rem; text-decoration:none!important; transition:color .15s ease; }
.c49row-footer .c49mod-menu-vertical-basic a:hover{ color:#fff!important; padding-left:3px; }
.c49row-footer .c49mod-menu-vertical-basic a i, .c49row-footer .c49mv-title i{ display:none!important; }
/* contato + textos gerais do footer */
.c49row-footer a, .c49row-footer p, .c49row-footer span, .c49row-footer li, .c49row-footer .c49-phone{ color:#b5b5be!important; }
.c49row-footer .c49-phone:hover, .c49row-footer a:hover{ color:#fff!important; }
.c49row-footer i, .c49row-footer .c49-icon, .c49row-footer .c49-phone i{ color:#e11b22 !important; }
/* contato: telefones EMPILHADOS e tudo alinhado a ESQUERDA (o modulo poe 2 tels lado a lado e centraliza o email) */
.c49row-footer .c49-contact-phone, .c49row-footer .c49-contact-email, .c49row-footer .c49-contact-address{ display:flex!important; flex-direction:column!important; align-items:flex-start!important; gap:.55rem; width:auto!important; margin:0 0 .55rem!important; padding:0!important; }
.c49row-footer .c49-phone, .c49row-footer .c49-email{ display:flex!important; align-items:center; justify-content:flex-start!important; text-align:left!important; gap:.6em; width:auto!important; padding:0!important; margin:0!important; }
.c49row-footer .c49-label, .c49row-footer .c49-label.align-middle{ display:inline!important; text-align:left!important; }
.c49row-footer .c49-contact-email a, .c49row-footer .c49-contact-phone a, .c49row-footer .c49-phone a, .c49row-footer .c49-email a{ padding:0!important; margin:0!important; }
/* barra inferior */
.c49row-copyright{ border-top:1px solid rgba(255,255,255,.1); padding:1.5rem 0!important; }
.c49row-copyright, .c49row-copyright *{ color:#83838f!important; font-size:.85rem!important; }
.c49row-copyright a{ color:#b5b5be!important; }
.c49row-copyright a:hover{ color:#fff!important; }

/* ===================== BARRA UTILITARIA DAS INTERNAS (breadcrumb + cabecalho da listagem) =====================
   Veste no tema Prime: breadcrumb discreto (icones vermelhos), card branco limpo, "N" vermelho + titulo Poppins,
   toggles de visualizacao como controle segmentado (inativo cinza claro / ATIVO vermelho). */
.c49mod-breadcrumb-basic{ display:block; padding-top:1.6rem!important; padding-bottom:.4rem!important; }
.c49mod-breadcrumb-basic .breadcrumb{ background:transparent!important; padding:.15rem 0!important; margin:0!important; display:flex!important; align-items:center; gap:.55rem; border-radius:0; }
.c49mod-breadcrumb-basic .breadcrumb-item{ display:inline-flex; align-items:center; gap:.42em; color:#6b7280!important; font-size:.86rem; font-weight:600; text-decoration:none!important; transition:color .16s ease; }
/* separador "/" entre migalhas (menos antes do "Voltar", que vai pra direita) */
.c49mod-breadcrumb-basic .breadcrumb-item + .breadcrumb-item::before{ content:"/"!important; float:none!important; color:#c4c9d2!important; padding:0 .55rem 0 0!important; }
.c49mod-breadcrumb-basic .breadcrumb-item + .breadcrumb-return::before{ content:none!important; padding:0!important; }
.c49mod-breadcrumb-basic .breadcrumb-item i{ color:#e11b22 !important; }
.c49mod-breadcrumb-basic .breadcrumb-item:hover{ color:#e11b22 !important; }
.c49mod-breadcrumb-basic .breadcrumb-return{ margin-left:auto; }

.c49mod-properties-header-basic .card{ background:#fff!important; border:1px solid #eceef2!important; border-radius:14px!important; box-shadow:0 10px 30px -22px rgba(20,20,35,.25)!important; }
.c49mod-properties-header-basic .card-block{ display:flex!important; align-items:center; gap:.7rem 1rem; padding:.95rem 1.25rem!important; flex-wrap:wrap; }
.c49mod-properties-header-basic .c49-filter-number{ color:#e11b22 !important; font-family:'Poppins',sans-serif; font-size:1.7rem; font-weight:800; line-height:1; }
.c49mod-properties-header-basic .c49-filter-title{ color:#17171c!important; font-family:'Poppins',sans-serif; font-size:1.2rem; font-weight:700; margin:0!important; }
.c49mod-properties-header-basic .c49-filter-options{ margin-left:auto; display:flex; align-items:center; gap:.55rem; flex-wrap:wrap; }
.c49mod-properties-header-basic .c49-filter-options .btn-group{ display:inline-flex; gap:6px; }
.c49mod-properties-header-basic .c49-filter-options .btn-group > .btn{ margin:0!important; }
.c49mod-properties-header-basic .btn.btn-secondary{ background:#f4f5f7!important; border:1px solid #e6e8ee!important; color:#4b5563!important; border-radius:10px!important; min-width:40px; height:40px; display:inline-flex; align-items:center; justify-content:center; padding:0 .7rem!important; box-shadow:none!important; transition:background .16s ease, color .16s ease, border-color .16s ease; }
.c49mod-properties-header-basic .btn.btn-secondary:hover{ background:#eceef2!important; color:#17171c!important; }
.c49mod-properties-header-basic .btn.btn-secondary.active{ background:#e11b22 !important; border-color:#e11b22 !important; color:#fff!important; box-shadow:0 8px 18px -8px rgba(225,27,34,.7)!important; }
.c49mod-properties-header-basic .btn.btn-secondary.dropdown-toggle{ min-width:0; gap:.5em; padding:0 1rem!important; font-size:.85rem; font-weight:600; }
.c49mod-properties-header-basic .btn.btn-secondary.dropdown-toggle i{ color:#e11b22 !important; }
.c49mod-properties-header-basic .btn.btn-secondary.dropdown-toggle:hover i{ color:#17171c!important; }
.c49mod-properties-header-basic .dropdown-menu{ border:1px solid #eceef2!important; border-radius:12px!important; box-shadow:0 18px 40px -20px rgba(20,20,35,.32)!important; padding:.4rem!important; }
.c49mod-properties-header-basic .dropdown-item{ border-radius:8px; font-size:.88rem; }
.c49mod-properties-header-basic .dropdown-item:hover, .c49mod-properties-header-basic .dropdown-item.active{ background:rgba(225,27,34,.1)!important; color:#e11b22 !important; }

/* ===================== INTERNAS: CARD-HEADERS + BORDAS =====================
   O tema default pinta TODO .card-header com o secundario (no Prime = quase-preto) -> "fundo preto"
   no filtro da listagem e nos 3 cards do contato (form/contatos/mapa). Home nao usa .card-header.
   Prime: header claro, titulo escuro Poppins, icone vermelho. */
.card-header{ background:#fff!important; border:0!important; border-bottom:1px solid #f0f1f4!important; padding:1rem 1.25rem!important; }
.card-header, .card-header > *, .card-header a, .card-header .c49-card-title, .card-header .c49-card-title a, .card-header h1, .card-header h2, .card-header h3, .card-header h4, .card-header h5{ color:#17171c!important; background:transparent!important; font-family:'Poppins',sans-serif; }
.card-header .c49-card-title, .card-header h1, .card-header h2, .card-header h3, .card-header h4, .card-header h5{ font-weight:700!important; }
.card-header i{ color:#e11b22 !important; }

/* bordas/molduras dos cards INTERNOS (form/filtro/contato) — NUNCA os cards de imovel (.c49-property-card) */
/* familia c49wrap-card* (contato, ficha: fotos=c49wrap-card-tab, sobre/mapa/solicite/veja=c49wrap-card) + barra de preco da ficha
   -> tira a sombra pesada default (0 0 40px) e aplica a moldura Prime limpa. */
[class*="c49wrap-card"], :is(#c49page-imovel,#c49page-inmueble,#c49page-property) .c49mod-property-header-basic .card{ border:1px solid #eceef2!important; border-radius:14px!important; box-shadow:0 12px 34px -24px rgba(20,20,35,.22)!important; overflow:hidden; }
/* FICHA: titulos .card-header simples (Solicite/Mapa/Veja tambem) ganham o traço vermelho a esquerda,
   pra bater com os titulos custom c49imv__titulo/c49cor__titulo. (Escopo body-id da ficha; o id e traduzido
   -> :is(imovel,inmueble,property) cobre pt/es/en.) A aba "Fotos" e tratada a parte. */
:is(#c49page-imovel,#c49page-inmueble,#c49page-property) .card-header > .c49-card-title{ display:inline-block; position:relative; text-align:left; }
:is(#c49page-imovel,#c49page-inmueble,#c49page-property) .card-header > .c49-card-title::after{ content:""; display:block; width:38px; height:3px; margin:.5rem 0 0; border-radius:2px; background:#e11b22; }
/* aba de fotos (nav-pills): tira o visual de pilula, deixa como um titulo de secao com traço vermelho no item ativo */
:is(#c49page-imovel,#c49page-inmueble,#c49page-property) .slider-pro-tab{ border:0!important; }
:is(#c49page-imovel,#c49page-inmueble,#c49page-property) .slider-pro-tab .nav-link{ background:transparent!important; border:0!important; padding:0 0 .5rem!important; margin-right:1.5rem; color:#98a0ad!important; font-family:'Poppins',sans-serif; font-weight:700; font-size:1.15rem; position:relative; }
:is(#c49page-imovel,#c49page-inmueble,#c49page-property) .slider-pro-tab .nav-link.active{ color:#101828!important; }
:is(#c49page-imovel,#c49page-inmueble,#c49page-property) .slider-pro-tab .nav-link.active::after{ content:""; position:absolute; left:0; bottom:0; width:38px; height:3px; border-radius:2px; background:#e11b22; }
.c49mod-properties-filter-basic > .card{ border:1px solid #eceef2!important; border-radius:14px!important; box-shadow:0 12px 34px -24px rgba(20,20,35,.22)!important; overflow:hidden; }
.c49mod-properties-filter-basic #accordion .card, .c49mod-properties-filter-basic #accordion .card-header{ border-left:0!important; border-right:0!important; border-radius:0!important; box-shadow:none!important; }
.c49mod-properties-filter-basic #accordion > .card:first-child .card-header{ border-top:0!important; }
/* traco vermelho sob o titulo do filtro (igual "Encontre seu imovel"/"Find your property") */
/* ARMADILHA: .c49-card-title existe DUAS vezes (o <div> externo E o <h3> interno) -> ::after generico dava 2 riscos.
   Traco vermelho SO no div externo (filho direto do header); centralizado sob o titulo. */
.c49mod-properties-filter-basic .card-header > .c49-card-title{ display:block; text-align:center; position:relative; }
.c49mod-properties-filter-basic .card-header .c49-card-title > a{ display:flex; align-items:center; justify-content:center; position:relative; }
.c49mod-properties-filter-basic .card-header .c49-card-title h3{ margin:0!important; }
.c49mod-properties-filter-basic .card-header > .c49-card-title::after{ content:""; display:block; width:34px; height:3px; margin:.5rem auto 0; border-radius:2px; background:#e11b22; }
/* caret de colapso do accordion (era inexistente -> no mobile o filtro colapsava sem indicador). Cinza, gira ao expandir. */
.c49mod-properties-filter-basic .card-header .c49-card-title > a::after{ content:""; position:absolute; right:.1rem; top:50%; width:9px; height:9px; border-right:2px solid #9aa0aa; border-bottom:2px solid #9aa0aa; transform:translateY(-60%) rotate(45deg); transition:transform .2s ease; }
.c49mod-properties-filter-basic .card-header .c49-card-title > a[aria-expanded="true"]::after{ transform:translateY(-30%) rotate(-135deg); }
/* DESKTOP (>=992px): o filtro vira sidebar fixo -> colapsar nao faz sentido. Esconde o caret e trava o corpo aberto. */
@media (min-width:992px){
  .c49mod-properties-filter-basic .card-header .c49-card-title > a::after{ display:none!important; }
  .c49mod-properties-filter-basic .card-header .c49-card-title > a{ cursor:default; pointer-events:none; }
  .c49mod-properties-filter-basic .collapse{ display:block!important; height:auto!important; visibility:visible!important; }
}
