/* clone.css — Identidade oficial Gillian Milani (#00A95B & #52B852) */

:root{
  --gm-brand:#00a95b;
  --gm-brand-dark:#008f4c;
  --gm-brand-leaf:#52b852;
  --gm-charcoal:#1f2937;
  --gm-slate:#4b5563;
  --gm-border:#e5e7eb;
  --ks-primary:#00a95b !important;
}

/* ==========================================================================
   HERO PORTA DE ENTRADA — Identidade da Marca (#00A95B & #52B852)
   ========================================================================== */
.ks-hero-bg-slide img{
  filter:brightness(1.08) contrast(1.02) saturate(1.06);
}
.gm-hero-overlay{
  background:
    radial-gradient(ellipse 65% 48% at 50% 45%, rgba(10, 28, 20, 0.32) 0%, rgba(10, 28, 20, 0.10) 65%, rgba(0, 0, 0, 0) 100%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.08) 0%, rgba(0, 0, 0, 0.05) 55%, rgba(8, 22, 15, 0.28) 100%);
}

.gm-hero-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 16px;
  border-radius:999px;
  background:rgba(255, 255, 255, 0.22);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border:1px solid rgba(255, 255, 255, 0.28);
  color:#ffffff;
  font-size:11.5px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.14em;
  margin-bottom:16px;
  box-shadow:0 4px 16px rgba(0, 0, 0, 0.12);
}

.gm-hero-badge-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#52b852;
  box-shadow:0 0 0 3px rgba(0, 169, 91, 0.35), 0 0 10px #00a95b;
  flex-shrink:0;
}

.gm-hero-title{
  font-family:var(--font-display), Georgia, serif;
  font-size:clamp(2.2rem, 4.2vw, 3.6rem);
  font-weight:500;
  line-height:1.12;
  letter-spacing:-0.015em;
  color:#ffffff;
  margin:0 0 12px 0;
  text-shadow:0 4px 24px rgba(0, 0, 0, 0.32);
}

.gm-hero-title-em{
  font-style:italic;
  font-weight:600;
  color:#ffffff;
}

.gm-hero-subtitle{
  font-size:clamp(0.95rem, 1.35vw, 1.12rem);
  color:rgba(255, 255, 255, 0.9);
  max-width:620px;
  line-height:1.5;
  margin:0 auto;
  font-weight:400;
  text-shadow:0 2px 10px rgba(0, 0, 0, 0.25);
}

/* Barra Flutuante Clean em 1 Linha */
.gm-hero-bar-wrap{
  width:100%;
  max-width:1140px;
  margin:8px auto 0;
}

.gm-hero-clean-bar{
  display:flex;
  align-items:center;
  background:#ffffff;
  border-radius:999px;
  padding:8px 10px 8px 12px;
  box-shadow:0 22px 50px rgba(0, 0, 0, 0.28), 0 0 0 4px rgba(255, 255, 255, 0.16);
  width:100%;
  box-sizing:border-box;
}

/* Abas Prontos / Lançamentos com Verde Oficial da Marca */
.gm-bar-seg-tabs{
  flex-shrink:0;
}
.gm-tab-pill-mini{
  display:inline-flex;
  align-items:center;
  background:#f0fdf4;
  border:1px solid rgba(0, 169, 91, 0.16);
  border-radius:999px;
  padding:3.5px;
  gap:2px;
}
.gm-tab-btn{
  padding:8px 16px;
  border-radius:999px;
  font-size:13px;
  font-weight:700;
  color:#374151;
  background:transparent;
  border:0;
  cursor:pointer;
  transition:all .2s ease;
  white-space:nowrap;
}
.gm-tab-btn.active{
  background:linear-gradient(135deg, #00a95b 0%, #00914e 100%) !important;
  color:#ffffff !important;
  box-shadow:0 3px 10px rgba(0, 169, 91, 0.32);
}
.gm-tab-btn:hover:not(.active){
  color:#00a95b;
}

/* Divisor sutil */
.gm-bar-divider{
  width:1px;
  height:34px;
  background:#e5e7eb;
  margin:0 8px;
  flex-shrink:0;
}

/* Segmentos de Seleção com Ícones Verdes da Marca */
.gm-bar-seg{
  position:relative;
  flex:1;
  min-width:0;
}
.gm-bar-btn{
  width:100%;
  background:transparent;
  border:0;
  padding:6px 12px;
  border-radius:999px;
  display:flex;
  align-items:center;
  gap:10px;
  text-align:left;
  cursor:pointer;
  transition:background .18s ease;
  box-sizing:border-box;
}
.gm-bar-btn:hover{
  background:#f0fdf4;
}
.gm-bar-icon{
  width:34px;
  height:34px;
  border-radius:50%;
  background:rgba(0, 169, 91, 0.1);
  color:#00a95b;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  transition:all .2s ease;
}
.gm-bar-btn:hover .gm-bar-icon{
  background:#00a95b;
  color:#ffffff;
}
.gm-bar-icon svg{
  width:16px;
  height:16px;
}
.gm-bar-text{
  display:flex;
  flex-direction:column;
  min-width:0;
  flex:1;
}
.gm-bar-label{
  display:block;
  font-size:10.5px;
  font-weight:700;
  color:#6b7280;
  text-transform:uppercase;
  letter-spacing:.05em;
  line-height:1.2;
  margin-bottom:2px;
}
.gm-bar-val{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  font-size:14px;
  font-weight:700;
  color:#111827;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  line-height:1.25;
}
.gm-bar-chev{
  width:14px;
  height:14px;
  color:#00a95b;
  margin-left:6px;
  flex-shrink:0;
  transition:transform .2s ease;
}
[aria-expanded="true"] .gm-bar-chev{
  transform:rotate(180deg);
}

/* Botão Principal Buscar Imóveis — Verde Oficial #00A95B */
.gm-bar-action{
  flex-shrink:0;
  margin-left:6px;
}
.gm-bar-submit{
  height:50px;
  padding:0 28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  background:linear-gradient(135deg, #00a95b 0%, #008f4c 100%) !important;
  color:#ffffff !important;
  font-size:14.5px;
  font-weight:700;
  letter-spacing:.01em;
  border-radius:999px;
  border:0;
  cursor:pointer;
  transition:all .2s ease;
  white-space:nowrap;
  box-shadow:0 8px 22px rgba(0, 169, 91, 0.38);
}
.gm-bar-submit:hover{
  background:linear-gradient(135deg, #52b852 0%, #00a95b 100%) !important;
  transform:translateY(-1px);
  box-shadow:0 12px 26px rgba(0, 169, 91, 0.48);
}
.gm-bar-submit svg{
  stroke:#ffffff;
}

/* Chips Rápidos e Catálogo Completo */
.gm-bar-sublinks{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin-top:16px;
  font-size:13px;
  color:rgba(255, 255, 255, 0.92);
}
.gm-quick-tags{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
}
.gm-quick-label{
  font-size:12px;
  font-weight:600;
  color:rgba(255, 255, 255, 0.78);
  margin-right:2px;
}
.gm-quick-chip{
  padding:4px 12px;
  border-radius:999px;
  background:rgba(255, 255, 255, 0.22);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  border:1px solid rgba(255, 255, 255, 0.24);
  color:#ffffff !important;
  font-size:12px;
  font-weight:600;
  text-decoration:none !important;
  transition:all .18s ease;
}
.gm-quick-chip:hover{
  background:#00a95b;
  border-color:#00a95b;
  transform:translateY(-1px);
}
.gm-sub-sep{
  color:rgba(255, 255, 255, 0.35);
}
.gm-adv-link{
  color:#ffffff !important;
  font-weight:600;
  font-size:12.5px;
  display:inline-flex;
  align-items:center;
  gap:5px;
  text-decoration:none;
  padding:4px 10px;
  border-radius:999px;
  transition:color .18s ease;
}
.gm-adv-link:hover{
  color:#52b852 !important;
}

/* Dropdown styling posicionado no segmento */
.gm-bar-seg .ks-clone-panel{
  top:calc(100% + 10px) !important;
  left:0 !important;
  width:100% !important;
  min-width:220px !important;
  box-shadow:0 16px 38px rgba(0,0,0,0.16) !important;
  border:1px solid #e5e7eb !important;
  border-radius:16px !important;
  padding:8px !important;
}

/* Responsivo para Tablets e Mobile */
@media(max-width:980px){
  .gm-hero-clean-bar{
    border-radius:22px;
    padding:16px;
    flex-direction:column;
    align-items:stretch;
    gap:10px;
  }
  .gm-bar-divider{
    display:none;
  }
  .gm-bar-seg-tabs{
    width:100%;
  }
  .gm-tab-pill-mini{
    width:100%;
    display:flex;
  }
  .gm-tab-btn{
    flex:1;
    text-align:center;
    padding:9px 12px;
  }
  .gm-bar-seg{
    width:100%;
    border:1px solid #e5e7eb;
    border-radius:14px;
    background:#f9fafb;
  }
  .gm-bar-btn{
    padding:10px 14px;
    border-radius:14px;
  }
  .gm-bar-action{
    margin-left:0;
    width:100%;
  }
  .gm-bar-submit{
    width:100%;
    height:50px;
  }
  .gm-sub-sep{
    display:none;
  }
}

/* Informações da Gillian Corretor */
.gm-contact-float{position:fixed;z-index:50;right:24px;bottom:24px;display:grid;place-items:center;width:58px;height:58px;color:white;background:#25d366;border-radius:50%;box-shadow:0 8px 24px rgba(37,211,102,.38);transition:transform .2s,box-shadow .2s}.gm-contact-float:hover{background:#20ba5a;transform:scale(1.06);box-shadow:0 10px 28px rgba(37,211,102,.48)}
.gm-filter-note{font-size:11px;line-height:1.35;color:#fff;margin-top:8px;text-shadow:0 1px 3px #000}
.gm-about-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;max-width:980px;margin:3rem auto 0;line-height:1.75}
.gm-about-grid p+p{margin-top:1rem}.gm-about-aside{padding:2.4rem;border:1px solid #dce2de;border-radius:18px;background:#f5f7f5;box-shadow:0 12px 32px rgba(0,0,0,.03)}
.gm-about-aside span,.gm-property small{display:block;font-size:11px;letter-spacing:.16em;font-weight:700;color:#9b8056}.gm-about-aside strong{display:block;font-family:var(--font-display),Georgia,serif;font-size:1.8rem;margin:1rem 0;color:#181d1a}
.gm-pill{display:inline-block;border:1px solid #00a95b;border-radius:999px;padding:12px 26px;margin-top:1.4rem;font-weight:600;font-size:13.5px;letter-spacing:.04em;color:#00a95b;background:white;text-decoration:none;transition:all .2s ease}.gm-pill:hover{background:#00a95b;color:#fff;box-shadow:0 8px 20px rgba(0,169,91,.18)}
.gm-center{text-align:center;margin-top:1.5rem}.gm-properties{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:36px}.gm-property{border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 8px 26px rgba(0,0,0,.04);border:1px solid #e5eae6;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.gm-property:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(0,169,91,.1);border-color:#cfddd2}.gm-property a:not(.gm-act-btn):not(.gm-act){color:inherit;text-decoration:none}.gm-property-media{display:block;line-height:0;overflow:hidden}.gm-property img{width:100%;aspect-ratio:5/3;object-fit:cover;transition:transform .4s ease}.gm-property:hover img{transform:scale(1.03)}.gm-property-content{padding:22px 24px}.gm-property h3{font-family:var(--font-display),Georgia,serif;font-size:1.35rem;margin:8px 0;line-height:1.25;color:#181d1a}.gm-property strong{font-size:1.3rem;color:#00a95b;font-weight:700}.gm-property p{color:#626262;font-size:14px;line-height:1.7;margin:10px 0}

/* Faixa de Credenciais e Autoridade */
.gm-trust-bar{background:#ffffff;border-top:1px solid #e7ebe8;border-bottom:1px solid #e7ebe8;padding:22px 20px;position:relative;z-index:10}
.gm-trust-inner{max-width:1240px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:nowrap}
.gm-trust-item{display:flex;align-items:center;gap:14px;flex:1 1 auto;min-width:0;padding:0 4px}
.gm-trust-icon{width:42px;height:42px;border-radius:12px;background:#f3f6f4;border:1px solid #dce3dd;display:grid;place-items:center;flex-shrink:0;color:#00a95b}
.gm-trust-icon svg{width:21px;height:21px}
.gm-trust-text{min-width:0}
.gm-trust-text strong{display:block;font-size:13.5px;font-weight:700;color:#16241c;letter-spacing:.01em;white-space:nowrap}
.gm-trust-text span{display:block;font-size:11.5px;color:#6b756d;margin-top:2px;white-space:nowrap}
.gm-trust-divider{width:1px;height:38px;background:#e5eae6;flex-shrink:0;margin:0 8px}

.gm-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:24px}
.gm-service{padding:28px;background:#ffffff;border:1px solid #e3e7e4;border-radius:16px;box-shadow:0 4px 18px rgba(0,0,0,.02);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.gm-service:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(0,169,91,.08);border-color:#00a95b44}
.gm-service span{color:#bfa276;font-family:var(--font-display),Georgia,serif;font-size:13px;font-weight:700;letter-spacing:.18em;display:inline-block;margin-bottom:4px}
.gm-service h3{font-family:var(--font-display),Georgia,serif;font-size:1.35rem;line-height:1.25;margin:.6rem 0 .8rem;color:#181d1a;font-weight:600}
.gm-service p{font-size:13.5px;color:#5a635d;line-height:1.65;margin:0}
.gm-service a{display:inline-flex;align-items:center;gap:4px;margin-top:1.2rem;font-weight:700;font-size:12.5px;letter-spacing:.04em;color:#00a95b;text-decoration:none;transition:color .2s,gap .2s}
.gm-service a:hover{color:#bfa276;gap:7px}

.gm-services-layout{display:grid;grid-template-columns:minmax(280px,0.85fr) minmax(0,1.65fr);gap:40px;align-items:stretch}
.gm-services-image{position:relative;border-radius:20px;overflow:hidden;box-shadow:0 20px 45px -10px rgba(13,44,32,.18);background:#0e2a1f}
.gm-services-image img{display:block;width:100%;height:100%;min-height:560px;object-fit:cover;object-position:top center;border-radius:20px;transition:transform .4s ease}
.gm-services-image:hover img{transform:scale(1.02)}
.gm-services-badge{position:absolute;left:18px;right:18px;bottom:18px;padding:16px 20px;background:rgba(14,42,31,.88);backdrop-filter:blur(10px);border:1px solid rgba(191,162,118,.35);border-radius:14px;color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.gm-badge-creci{font-size:10.5px;letter-spacing:.22em;font-weight:700;color:#dfc8a5;text-transform:uppercase}
.gm-badge-name{font-family:var(--font-display),Georgia,serif;font-size:1.35rem;font-weight:600;letter-spacing:-.01em;color:#fff;margin:3px 0 2px}
.gm-badge-role{font-size:12px;color:rgba(255,255,255,.82);font-weight:400}
.gm-services-content{min-width:0;display:flex;flex-direction:column;justify-content:center}
.gm-services-content .gm-service p{min-height:0}

.gm-contact-card{max-width:850px;margin:2.5rem auto 0;padding:32px 36px;display:flex;justify-content:space-between;align-items:center;gap:20px;border-radius:18px;background:white;border:1px solid #e3e7e4;box-shadow:0 10px 30px rgba(0,0,0,.03)}.gm-contact-card strong{font-size:1.25rem;color:#181d1a}.gm-contact-card p{margin-top:8px;line-height:1.6;color:#5a635d}.gm-contact-card .gm-pill{margin:0}
.gm-footer{background:#111513;color:#f5f5f3;padding:75px max(24px,calc((100vw - 1220px)/2)) 28px;border-top:1px solid rgba(255,255,255,.06)}.gm-footer-inner{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:48px}.gm-footer-logo{width:165px;height:auto;margin-bottom:20px}.gm-footer p{line-height:1.7;font-size:14px;color:#d6ded8;margin-top:14px}.gm-footer strong{font-size:11px;letter-spacing:.14em}.gm-footer a{color:inherit}.gm-footer-bottom{border-top:1px solid #ffffff20;margin-top:55px;padding-top:20px;font-size:12px;display:flex;justify-content:space-between;gap:16px;color:#b7c0ba}

@media(max-width:1024px){.gm-trust-inner{flex-wrap:wrap;gap:20px 24px}.gm-trust-item{flex:1 1 42%}.gm-trust-divider{display:none}}
@media(max-width:600px){.gm-trust-item{flex:1 1 100%}}
@media(max-width:767px){.gm-about-grid{grid-template-columns:1fr;gap:22px}.gm-properties{grid-template-columns:1fr;gap:16px}.gm-services{grid-template-columns:1fr}.gm-service{padding:20px}.gm-contact-card{align-items:flex-start;flex-direction:column}.gm-footer-inner{grid-template-columns:1fr;gap:28px}.gm-footer-bottom{flex-direction:column}}
@media(max-width:767px){.gm-services-layout{grid-template-columns:1fr;gap:28px}.gm-services-image img{height:auto;aspect-ratio:4/3;object-position:center top}.gm-services-content .gm-services{gap:12px}.gm-services-content .gm-service h3{font-size:1.1rem}}
@media(min-width:768px) and (max-width:1023px){.gm-services{grid-template-columns:1fr 1fr}.gm-properties{grid-template-columns:1fr 1fr}}

/* ---------- seção de vídeos (Shorts) ---------- */
.ks-video-train{
  display:flex; gap:16px;
  overflow-x:auto; scroll-snap-type:x mandatory;
  scrollbar-width:none; -webkit-overflow-scrolling:touch;
  padding-bottom:6px;
}
.ks-video-train::-webkit-scrollbar{display:none}
.ks-video-card{
  position:relative; flex:0 0 auto; width:min(62vw,300px); aspect-ratio:9/16;
  border-radius:18px; overflow:hidden; background:#111412;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 12px 28px rgba(0,0,0,.25);
  scroll-snap-align:start;
  transition:border-color .2s, transform .2s, box-shadow .2s;
}
.ks-video-card:hover{border-color:rgba(255,255,255,.38); transform:translateY(-2px); box-shadow:0 16px 36px rgba(0,0,0,.35)}
.ks-video-card video{width:100%;height:100%;object-fit:cover;display:block}
.ks-video-sound{
  position:absolute; left:10px; bottom:10px;
  display:inline-flex; align-items:center; gap:6px;
  padding:7px 14px; border-radius:9999px; border:0; cursor:pointer;
  font-size:12px; font-weight:800; letter-spacing:.02em;
  color:var(--ks-primary-foreground,#fdfcf9);
  background:rgba(0,0,0,.5); backdrop-filter:blur(3px);
  transition:background .2s, color .2s;
}
.ks-video-sound:hover{background:#00a95b}
.ks-video-sound.ks-on{background:#00a95b; color:var(--ks-primary-foreground,#fdfcf9)}
.ks-video-dur{
  position:absolute; right:10px; top:10px;
  padding:3px 9px; border-radius:9999px;
  font-size:11px; font-weight:800; color:#fff; background:rgba(0,0,0,.5);
}
.ks-video-arrow{
  width:2.5rem; height:2.5rem; border-radius:9999px;
  border:1px solid rgba(0,0,0,.12); background:#fff;
  box-shadow:0 1px 2px rgba(0,0,0,.06); cursor:pointer;
  font-size:16px; line-height:1; color:var(--ks-secondary,#3B3B3B);
  display:inline-flex; align-items:center; justify-content:center;
  transition:border-color .2s, opacity .2s;
}
.ks-video-arrow:hover{border-color:#00a95b; color:#00a95b}
@media (max-width:640px){ .ks-video-card{width:70vw} }

/* dentro do carrossel de empreendimentos: largura vem da regra .ks-cw > * */
.ks-video-card.ks-train-video{ width:100%; aspect-ratio:3/4; min-height:0 }

@media (prefers-reduced-motion: reduce){
  .ks-video-card,.ks-video-sound,.ks-video-arrow{transition:none}
}

/* cards de imóvel cuja img veio sem o estilo fill do Next: encaixa igual aos outros */
.relative[class*="aspect-"]>img:not([style]){position:absolute;left:0;top:0;width:100%;height:100%;object-fit:cover}

/* carrossel do hero: congela sem o JS do site (só existe o slide com a foto) */
[data-ks-hero] [data-ks-slide]{animation:none !important; opacity:1 !important}
[data-ks-hero] [data-ks-slide]>*{opacity:1}

/* ---------- visual do carrossel igual ao site real (cores da marca) ---------- */
.ks-video-card{border-color:transparent}
.ks-video-card:hover{border-color:rgba(255,255,255,.38)}
.ks-video-play{
  position:absolute; left:50%; top:44%; transform:translate(-50%,-50%);
  width:50px; height:50px; border-radius:9999px; border:1px solid rgba(255,255,255,.35); cursor:pointer;
  background:rgba(18,24,20,.72); color:#fff; backdrop-filter:blur(6px); display:flex; align-items:center; justify-content:center;
  box-shadow:0 6px 18px rgba(0,0,0,.35); transition:all .2s;
}
.ks-video-play svg{width:22px; height:22px; margin-left:2px}
.ks-video-play.ks-paused svg{margin-left:3px}
.ks-video-play:hover{background:#00a95b; color:#fff; border-color:#bfa276; transform:translate(-50%,-50%) scale(1.08)}
.ks-video-cap{
  position:absolute; left:0; right:0; bottom:0; margin:0;
  padding:36px 14px 12px;
  background:linear-gradient(to top, rgba(0,0,0,.78), rgba(0,0,0,0));
  color:#fff; font-weight:600; font-size:15px; line-height:1.3;
  display:flex; align-items:flex-end;
}
.ks-video-nav{display:flex; align-items:center; justify-content:center; gap:14px; margin-top:22px}
.ks-video-dots{display:flex; align-items:center; gap:7px}
.ks-video-dot{
  width:8px; height:8px; border-radius:9999px; border:0; padding:0; cursor:pointer;
  background:rgb(209 213 219); transition:background .2s, width .2s;
}
.ks-video-dot:hover{background:rgb(156 163 175)}
.ks-video-dot.ks-active{background:#111827; width:18px}
.ks-video-arrow.ks-video-arrow-nav{
  width:38px; height:38px; display:inline-flex; align-items:center; justify-content:center;
  border-radius:9999px; border:1px solid rgba(17,24,39,.15); background:#fff; color:#3B3B3B; cursor:pointer;
  box-shadow:0 1px 3px rgba(0,0,0,.08); transition:border-color .2s, color .2s;
}
.ks-video-arrow.ks-video-arrow-nav:hover{border-color:#00a95b; color:#00a95b}
.ks-video-arrow.ks-video-arrow-nav svg{width:18px; height:18px}
@media (prefers-reduced-motion: reduce){ .ks-video-play,.ks-video-dot,.ks-video-arrow{transition:none} }

/* Shorts no lugar do feed de carregamento, com cinco cards no desktop. */
.ks-feed{position:relative;width:100vw;margin-left:calc(50% - 50vw);--feed-card:min(18.2vw,326px);--feed-gap:12px}
.ks-feed-highlight{position:absolute;left:50%;top:2px;transform:translateX(-50%);width:var(--feed-card);aspect-ratio:9/16;max-height:580px;border:1.5px solid rgba(255,255,255,0.35);border-radius:18px;pointer-events:none;z-index:5;box-shadow:0 14px 40px rgba(0,0,0,0.45)}
.ks-feed-track.ks-video-train{display:flex;gap:var(--feed-gap);width:100%;padding:2px calc((100% - var(--feed-card))/2) 3px;box-sizing:border-box;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-behavior:smooth;align-items:flex-start}
.ks-feed-track .ks-feed-card{width:var(--feed-card);height:auto;max-height:580px;aspect-ratio:9/16;scroll-snap-align:center;border:0;border-radius:15px;cursor:pointer}
.ks-feed-track .ks-feed-card video{width:100%;height:100%;object-fit:cover}
.ks-feed-track .ks-feed-card .ks-video-play{top:50%}
.ks-feed-track .ks-feed-card .ks-video-cap{padding:36px 15px 16px}
.ks-feed-nav{margin-top:22px}
.ks-feed-prev,.ks-feed-next{width:40px;height:40px;border:0;border-radius:50%;background:#e5e7eb;color:#3b3b3b;font-size:29px;line-height:1;cursor:pointer;display:grid;place-items:center;transition:background .2s,color .2s}
.ks-feed-prev:hover,.ks-feed-next:hover{background:#00a95b;color:white}
@media(max-width:767px){.ks-feed{--feed-card:70vw}.ks-feed-track.ks-video-train{padding-left:calc((100% - var(--feed-card))/2);padding-right:calc((100% - var(--feed-card))/2)}}
@media(min-width:768px) and (max-width:1023px){.ks-feed{--feed-card:42vw}}

/* ---------- modal estilo Reels (ao clicar em um short) ---------- */
.ks-reel-modal{position:fixed; inset:0; z-index:120; display:flex; align-items:center; justify-content:center}
.ks-reel-modal[hidden]{display:none}
.ks-reel-backdrop{position:absolute; inset:0; background:rgba(9,11,12,.72)}
.ks-reel-close{
  position:absolute; top:18px; right:20px; z-index:3;
  width:44px; height:44px; border-radius:9999px; border:0; cursor:pointer;
  background:transparent; color:#fff; display:flex; align-items:center; justify-content:center;
}
.ks-reel-close svg{width:22px; height:22px}
.ks-reel-close:hover{color:var(--ks-primary,#00A95B)}
.ks-reel-wrap{
  position:relative; z-index:2; display:flex; gap:0;
  border-radius:18px; overflow:hidden; box-shadow:0 30px 80px rgba(0,0,0,.5);
  max-width:min(92vw, 900px); max-height:92vh;
}
.ks-reel-video-box{position:relative; width:min(46vw,340px); background:#000; flex-shrink:0}
.ks-reel-video-box video{width:100%; height:100%; max-height:92vh; object-fit:cover; display:block}
.ks-reel-sound{
  position:absolute; top:12px; right:12px; z-index:2;
  width:38px; height:38px; border-radius:9999px; border:0; cursor:pointer;
  background:rgba(17,20,22,.55); color:#fff; display:flex; align-items:center; justify-content:center;
  transition:background .2s;
}
.ks-reel-sound svg{width:18px; height:18px}
.ks-reel-sound:hover{background:var(--ks-primary,#00A95B)}
.ks-reel-bar{
  position:absolute; left:0; right:0; bottom:0; z-index:2;
  display:flex; align-items:center; gap:10px; padding:10px 14px;
  background:linear-gradient(to top, rgba(0,0,0,.65), rgba(0,0,0,0));
  color:#fff;
}
.ks-reel-bar button{background:transparent; border:0; color:#fff; cursor:pointer; display:flex; padding:2px}
.ks-reel-bar button svg{width:18px; height:18px}
.ks-reel-track{flex:1; height:4px; border-radius:99px; background:rgba(255,255,255,.28); overflow:hidden; cursor:pointer}
.ks-reel-fill{height:100%; width:0%; background:#fff; border-radius:99px}
.ks-reel-time{font-size:12px; font-variant-numeric:tabular-nums; white-space:nowrap}
.ks-reel-panel{
  width:min(44vw, 420px); background:#181b1d; color:#eceff0;
  padding:34px 30px 26px; overflow:auto; display:flex; flex-direction:column; gap:16px;
}
.ks-reel-title{font-size:20px; font-weight:700; margin:0; line-height:1.3}
.ks-reel-desc{font-size:14.5px; line-height:1.62; color:rgba(236,239,240,.85); white-space:pre-line}
.ks-reel-wa{
  display:flex; align-items:center; justify-content:center; gap:10px;
  padding:13px; border-radius:12px; border:0; cursor:pointer;
  background:var(--ks-primary,#00A95B); color:#fdfcf9; font-weight:700; font-size:15.5px; text-decoration:none;
  transition:filter .2s;
}
.ks-reel-wa:hover{filter:brightness(1.08)}
.ks-reel-wa svg{width:20px; height:20px}
.ks-reel-share{display:flex; align-items:center; gap:10px; font-size:13.5px; color:rgba(236,239,240,.75); margin-top:2px}
.ks-reel-sh{
  width:34px; height:34px; border-radius:9999px; border:0; cursor:pointer;
  display:flex; align-items:center; justify-content:center; color:#111315; text-decoration:none;
  transition:transform .15s;
}
.ks-reel-sh svg{width:16px; height:16px}
.ks-reel-sh:hover{transform:scale(1.08)}
.ks-sh-wa{background:#25d366!important; color:#fff!important}
.ks-sh-fb{background:#1877F2!important; color:#fff!important}
.ks-sh-x{background:#fff!important}
.ks-sh-li{background:#0A66C2!important; color:#fff!important}
.ks-sh-copy{background:#fff!important}
@media (max-width:760px){
  .ks-reel-wrap{flex-direction:column; overflow:auto; max-height:94vh; width:min(94vw,420px)}
  .ks-reel-video-box{width:100%}
  .ks-reel-video-box video{max-height:56vh}
  .ks-reel-panel{width:100%}
}
@media (prefers-reduced-motion: reduce){ .ks-reel-sh{transition:none} }

/* ---------- navegação vertical estilo Reels (▲▼ + N/M) ---------- */
.ks-reel-nav{
  position:absolute; right:16px; top:50%; transform:translateY(-50%); z-index:4;
  display:flex; flex-direction:column; align-items:center; gap:12px;
}
.ks-reel-btn{
  width:46px; height:46px; border-radius:9999px; border:0; cursor:pointer;
  background:rgba(23,26,28,.62); color:#fff; backdrop-filter:blur(4px);
  display:flex; align-items:center; justify-content:center;
  transition:background .2s, transform .15s;
}
.ks-reel-btn svg{width:20px; height:20px}
.ks-reel-btn:hover{background:#00a95b}
.ks-reel-btn:active{transform:scale(.92)}
.ks-reel-pos{
  padding:4px 10px; border-radius:9999px; background:rgba(23,26,28,.62);
  color:#fff; font-size:12px; font-weight:700; letter-spacing:.04em; backdrop-filter:blur(4px);
}
@media (max-width:760px){ .ks-reel-nav{right:10px} }

/* --- card de imóvel: pills de área, especificações e ações --- */
.gm-property-content{display:flex;flex-direction:column}
.gm-property h3 a{color:inherit;text-decoration:none;transition:color .2s}
.gm-property h3 a:hover{color:#00a95b}
.gm-property-areas{display:flex;gap:8px;margin:12px 0 2px}
.gm-area-pill{flex:1;display:flex;align-items:center;gap:6px;border:1px solid #dfe5e1;border-radius:999px;padding:7px 12px;background:#f8faf8;min-width:0}
.gm-area-pill svg{width:15px;height:15px;flex:none;stroke:#00a95b}
.gm-area-pill b{font-size:13.5px;font-weight:700;color:#181d1a;white-space:nowrap}
.gm-area-pill em{font-style:normal;font-size:12.5px;font-weight:500;color:#6b756e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gm-property-specs{display:flex;list-style:none;margin:14px 0 0;padding:14px 0 0;border-top:1px solid #edf1ee;gap:6px}
.gm-property-specs li{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:12px;color:#6b756e;text-align:center;line-height:1.3}
.gm-property-specs svg{width:20px;height:20px;stroke:#00a95b}
.gm-property-specs b{display:block;font-size:15px;font-weight:700;color:#181d1a}
.gm-property-actions{display:flex;align-items:center;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid #edf1ee}
.gm-act{width:40px;height:40px;flex:none;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;text-decoration:none !important}
.gm-property a.gm-act-wa, .gm-act-wa{background:#25d366 !important;border:1px solid #20ba5a;color:#ffffff !important;box-shadow:0 3px 10px rgba(37,211,102,.28)}
.gm-act-wa svg{width:19px;height:19px;fill:#ffffff !important;stroke:none}
.gm-property a.gm-act-wa:hover, .gm-act-wa:hover{background:#20ba5a !important;transform:translateY(-2px);box-shadow:0 6px 16px rgba(37,211,102,.45)}
.gm-property button.gm-act-fav, .gm-act-fav{background:#ffffff;border:1px solid #dce2de;color:#5a635d;box-shadow:0 2px 6px rgba(0,0,0,.04)}
.gm-act-fav svg{width:18px;height:18px;stroke:#5a635d;fill:none;transition:stroke .2s,fill .2s}
.gm-act-fav:hover{background:#fff1f2;border-color:#fca5a5;transform:translateY(-2px);box-shadow:0 4px 12px rgba(225,29,72,.15)}
.gm-act-fav:hover svg{stroke:#e11d48;fill:#e11d48}
.gm-property a.gm-act-btn, a.gm-act-btn, .gm-act-btn{margin-left:auto;height:40px;display:inline-flex;align-items:center;justify-content:center;background:#00a95b !important;color:#ffffff !important;font-size:12px;font-weight:700;letter-spacing:.08em;padding:0 22px;border-radius:999px;text-decoration:none !important;box-shadow:0 4px 14px rgba(0,169,91,.2);transition:all .2s ease;border:none}
.gm-property a.gm-act-btn:hover, a.gm-act-btn:hover, .gm-act-btn:hover{background:#008f4c !important;color:#ffffff !important;transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,169,91,.32)}
@media(max-width:767px){.gm-property-specs{gap:4px}.gm-area-pill{padding:6px 10px}}

/* banner da home */
.gm-banner-link{display:block;border:1.5px solid #00a95b;border-radius:18px;overflow:hidden;background:#0d291e}
.gm-banner-link:hover{opacity:.97}
.gm-banner-img{display:block;width:100%;height:auto}

/* serviços — textos completos */
.gm-services-full{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:30px}
.gm-services-full .gm-service p{min-height:0}
@media(max-width:767px){.gm-services-full{grid-template-columns:1fr}}
