/* ==========================================================================
   Alleimob | Signature — Tema nov/2026 das landing pages
   Mesmo visual do site e do painel (referência "Quixotic"): fundo cinza claro,
   blocos e cards brancos arredondados com sombra suave, botões em pílula e
   setinha dentro do círculo. Mesmas cores da marca (preto + dourado).
   Carregado DEPOIS do style.css e do lp-topo.css; só sobrescreve.
   ========================================================================== */

:root {
  --canvas: #EDECE8;
  --card: #FFFFFF;
  --r-xl: 30px;
  --r-lg: 24px;
  --r-md: 18px;
  --r-sm: 14px;
  --inset: 12px;
  --shadow-soft: 0 1px 2px rgba(11,11,10,.04), 0 12px 32px -16px rgba(11,11,10,.16);
  --shadow-lift: 0 2px 4px rgba(11,11,10,.05), 0 26px 50px -24px rgba(11,11,10,.30);
  --arrow-gold: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C9A24E' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M8 7h9v9'/%3E%3C/svg%3E");
  --arrow-dark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B0B0A' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M8 7h9v9'/%3E%3C/svg%3E");
}

/* Nada pode alargar a página no celular */
html, body { overflow-x: clip; max-width: 100%; }
body { background: var(--canvas); }
.footer-nav { flex-wrap: wrap; gap: 10px 22px; }

/* ---------- Botões em pílula ---------- */
.btn { border-radius: 999px; letter-spacing: .05em; }
.btn-primary { box-shadow: 0 10px 24px -12px rgba(138,106,34,.65); }
.btn-primary:hover { transform: translateY(-1px); }

/* Setinha no círculo nos botões de chamada (fora do formulário) */
.authority-card .btn-primary,
.cta-band .btn-primary,
.fullbleed-caption .btn,
.sticky-cta .btn-primary { gap: 12px; padding-right: 8px; }
.authority-card .btn-primary::after,
.cta-band .btn-primary::after,
.fullbleed-caption .btn::after,
.sticky-cta .btn-primary::after {
  content: ""; flex-shrink: 0; width: 34px; height: 34px; border-radius: 50%;
  background: var(--black) center / 15px no-repeat var(--arrow-gold);
  transition: transform .3s var(--ease);
}
.authority-card .btn-primary:hover::after,
.cta-band .btn-primary:hover::after,
.fullbleed-caption .btn:hover::after { transform: rotate(45deg); }

/* ---------- Cabeçalho em pílula ---------- */
.site-header, .site-header.scrolled { border-radius: 999px; }
.header-inner { padding: 10px 10px 10px clamp(20px, 2.4vw, 28px); }
.main-nav { gap: 4px; }
.main-nav a { padding: 8px 13px; border-radius: 999px; transition: background .25s var(--ease), color .25s var(--ease); }
.site-header:not(.scrolled) .main-nav a:hover { background: rgba(255,255,255,.16); }
.site-header.scrolled .main-nav a:hover { background: rgba(11,11,10,.06); }
.header-cta { border-radius: 999px; }
.menu-toggle { width: 42px; height: 42px; border-radius: 50%; align-items: center; justify-content: center; padding: 0; }
.site-header:not(.scrolled) .menu-toggle { background: rgba(255,255,255,.14); }
.site-header.scrolled .menu-toggle { background: rgba(11,11,10,.06); }
.menu-toggle span { width: 18px; }
body.nav-open .menu-toggle { background: transparent; }
body.nav-open .menu-toggle span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
body.nav-open .menu-toggle span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ---------- Topo (hero) como bloco arredondado ---------- */
.hero { margin: var(--inset) var(--inset) 0; border-radius: var(--r-xl); }
.hero-price, .hero-price:hover { border-radius: var(--r-md); }
.hero-more { border-radius: 999px; }
.hero-form { border-radius: 28px; box-shadow: 0 34px 80px -20px rgba(0,0,0,.5); }
.hero-form .field input,
.hero-form .field select { border-radius: var(--r-sm); background-color: #FAF9F6; }
.hero-form .field input:focus { background-color: #fff; }
.hero-form .form-option { border-radius: var(--r-sm); background: #FAF9F6; }
.hero-form .form-option:has(input:checked) { background: rgba(201,162,78,.12); }
.hero-form .form-option-badge { border-radius: 50%; background: #fff; }
.hero-form .btn { border-radius: 999px; }
.form-progress-bar { height: 6px; border-radius: 999px; }
.form-progress-bar span { border-radius: 999px; }

/* ---------- Seções: fundo cinza, conteúdo em cards brancos ---------- */
.section, .section.alt, .problem-section, .contact-section, .stats-bar, .pillars-strip { background: transparent; border: 0; }
.section { padding: clamp(56px, 8vw, 104px) 0; }

/* Etiqueta da seção em pílula */
.section .eyebrow:not(.hero-eyebrow) {
  width: fit-content; padding: 7px 15px; border-radius: 999px;
  background: var(--card); box-shadow: var(--shadow-soft);
  font-size: 11.5px; letter-spacing: .16em;
}
.section .eyebrow.center { margin-left: auto; margin-right: auto; }
.section.dark .eyebrow { background: rgba(255,255,255,.08); box-shadow: none; }
.interior-text .eyebrow, .split-text .eyebrow, .authority-text .eyebrow { background: var(--canvas) !important; box-shadow: none !important; }

/* Bloco grande branco (texto + foto lado a lado) */
.section-inner.split,
.authority-grid {
  width: calc(100% - 2 * var(--gutter)); max-width: 1112px;
  background: var(--card); border-radius: var(--r-xl); box-shadow: var(--shadow-soft);
  padding: clamp(14px, 1.6vw, 20px);
  padding-left: clamp(24px, 4.4vw, 60px);
}
.split-media img, .loc-map img { border-radius: var(--r-lg); }
.authority-grid { padding: clamp(24px, 4vw, 56px); align-items: center; }

/* Números em cards (KPI) */
.stats-inner { gap: 12px; padding-top: 0; padding-bottom: 0; }
.stat {
  background: var(--card); border: 0 !important; border-radius: var(--r-lg); box-shadow: var(--shadow-soft);
  padding: 24px 12px 20px !important;
}
.stat-num { color: var(--black); }

/* O desafio */
.problem-grid { gap: 16px; }
.problem-card {
  background: var(--card); border: 0; border-radius: var(--r-lg); box-shadow: var(--shadow-soft);
  padding: 26px 26px 28px;
}
.problem-num {
  display: inline-flex; align-items: center; justify-content: center;
  width: 42px; height: 42px; border-radius: 50%; background: var(--black); color: var(--gold);
  font-size: 13px; letter-spacing: .02em; margin-bottom: 18px;
}

/* Corretor */
.authority-card { background: var(--canvas); border: 0; border-radius: var(--r-lg); padding: 30px 24px 24px; }
.broker-avatar.large { width: 76px; height: 76px; box-shadow: 0 0 0 4px #fff, 0 0 0 5px rgba(201,162,78,.6); }
.authority-points li::before { background: var(--gold); }

/* Fotos em tela cheia: blocos arredondados com respiro nas bordas */
.fullbleed { margin: 0 var(--inset); border-radius: var(--r-xl); min-height: 74vh; }
.fullbleed + .fullbleed, .section + .fullbleed { margin-top: 0; }

/* Arquitetura */
.arch-media-a img, .arch-media-full img { border-radius: var(--r-lg); }
.arch-media-full { padding: 0 var(--gutter); max-width: var(--container); margin-left: auto; margin-right: auto; }
.arch-notes { gap: 12px; }
.arch-note {
  border: 0; background: var(--card); border-radius: var(--r-md); box-shadow: var(--shadow-soft);
  padding: 20px 22px;
}

/* Interiores: cada ambiente vira um card */
.interior-block {
  width: calc(100% - 2 * var(--gutter)); max-width: 1112px; margin: 0 auto 16px;
  background: var(--card); border-radius: var(--r-xl); box-shadow: var(--shadow-soft);
  padding: clamp(12px, 1.4vw, 16px);
}
.interior-block:last-child { margin-bottom: 0; }
.interior-text { padding: 12px clamp(8px, 3vw, 40px); }
.interior-media img { border-radius: var(--r-lg); }

/* Galeria */
.gallery-grid { gap: 12px; }
.gallery-item { border-radius: var(--r-md); }
.gallery-item::after { border-radius: inherit; }

/* Depoimentos */
.testimonial-grid { gap: 16px; }
.testimonial-card { border: 0; border-radius: var(--r-lg); box-shadow: var(--shadow-soft); }
.testimonial-rating { color: var(--gold); }

/* Faixa de pilares em pílula */
.pillars-strip { padding: 4px 0 8px; }
.pillars-inner {
  width: fit-content; max-width: calc(100% - 2 * var(--gutter));
  background: var(--card); border-radius: 999px; box-shadow: var(--shadow-soft);
  padding: 14px 28px; color: var(--black); font-size: clamp(12px, 1.3vw, 14px);
}
.pillars-dot { color: var(--gold); }

/* Exclusividade: bloco preto arredondado */
.section.dark { margin: 0 var(--inset); border-radius: var(--r-xl); }
.exclusive-list { gap: 10px; }
.exclusive-list li, .exclusive-list li:last-child {
  border: 0; background: rgba(255,255,255,.05); border-radius: var(--r-md);
  padding: 18px 22px; align-items: center;
}
.exclusive-list .num {
  display: inline-flex; align-items: center; justify-content: center;
  width: 46px; height: 46px; border-radius: 50%; border: 1px solid rgba(201,162,78,.55);
  font-size: 15px;
}

/* Ficha técnica em cards */
.specs-grid { gap: 12px; }
.spec, .spec:nth-child(5n+1), .spec:nth-child(2n+1) {
  border: 0; background: var(--card); border-radius: var(--r-md); box-shadow: var(--shadow-soft);
  padding: 22px 20px;
}
.spec:last-child, .spec:last-child:nth-child(n) {
  background: var(--black); color: #fff; border: 0; border-radius: var(--r-lg);
  margin-top: 0; padding: 24px 28px; align-items: center;
}
.spec:last-child .spec-label { color: rgba(255,255,255,.7); }
.spec:last-child .spec-val { color: var(--gold); }

/* Localização */
.loc-list li { padding-left: 0; }

/* Chamada final */
.cta-band .section-inner {
  width: calc(100% - 2 * var(--gutter)); max-width: 1112px;
  background: var(--card); border-radius: var(--r-xl); box-shadow: var(--shadow-soft);
  padding: clamp(40px, 6vw, 72px) clamp(22px, 4vw, 56px);
}
.cta-band h2.center { margin-left: auto; margin-right: auto; }
.cta-band .btn { border-radius: 999px; }

/* Perguntas frequentes em cards */
.faq-list { display: grid; gap: 10px; }
.faq-item, .faq-item:last-child {
  border: 0; background: var(--card); border-radius: var(--r-md); box-shadow: var(--shadow-soft);
  padding: 0 22px;
}
.faq-q { padding: 20px 0; }
.faq-icon { width: 34px; height: 34px; border-radius: 50%; background: var(--canvas); }
.faq-icon::before { width: 14px; top: 16px; left: 10px; }
.faq-icon::after { height: 14px; top: 10px; left: 16px; }
.faq-item.open .faq-icon { background: var(--black); }
.faq-item.open .faq-icon::before { background: var(--gold); }

/* Rodapé como bloco preto arredondado */
.site-footer { margin: 0 var(--inset) var(--inset); border-radius: var(--r-xl); }

/* Botão fixo do celular flutuando */
.sticky-cta {
  left: 10px; right: 10px; bottom: 10px; padding: 8px;
  border: 0; border-radius: 999px; background: rgba(255,255,255,.92);
  box-shadow: 0 16px 40px -14px rgba(11,11,10,.45);
}
.sticky-cta.visible { transform: translateY(0); }
.sticky-cta.hide-end, .sticky-cta:not(.visible) { transform: translateY(140%); }
.sticky-cta .btn { min-height: 48px; }

/* Galeria em tela cheia */
.lightbox-close, .lightbox-nav { width: 52px; height: 52px; padding: 0; border-radius: 50%; background: rgba(255,255,255,.08); }

/* ---------- Responsivo ---------- */
@media (max-width: 1023px) {
  .section-inner.split { padding: clamp(12px, 2vw, 16px); }
  .split-text { padding: 16px 10px 4px; }
  .authority-grid { padding: 24px 18px; }
  .interior-text { padding: 6px 10px 12px; }
  .arch-media-a img, .split-media img, .loc-map img { aspect-ratio: 4/3; }
}
@media (max-width: 640px) {
  :root { --inset: 8px; --r-xl: 24px; --r-lg: 20px; --r-md: 16px; }
  .hero-eyebrow { font-size: 11.5px; letter-spacing: .18em; line-height: 1.7; }
  .site-header, .site-header.scrolled { border-radius: 999px; }
  .header-inner { padding: 8px 8px 8px 18px; }
  .stats-inner { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .stat:last-child { grid-column: 1 / -1; }
  .problem-card { padding: 22px 20px 24px; }
  .exclusive-list li, .exclusive-list li:last-child { grid-template-columns: 46px 1fr; padding: 14px 16px; gap: 14px; font-size: 16px; }
  .exclusive-list .num { width: 40px; height: 40px; font-size: 13px; }
  .specs-grid { gap: 10px; }
  .spec:last-child { flex-direction: column; align-items: flex-start; gap: 4px; }
  .pillars-inner { border-radius: var(--r-lg); padding: 12px 18px; gap: 8px 12px; }
  .faq-item, .faq-item:last-child { padding: 0 16px; }
  .faq-q { font-size: 15.5px; }
  .fullbleed { min-height: 64vh; }
  .footer-inner { gap: 18px; }
  .footer-nav { gap: 10px 18px; }
}

/* Respiro entre blocos escuros/foto que ficam colados */
.pillars-strip { padding-bottom: 16px; }
.section.dark + .fullbleed, .fullbleed + .section.dark, .fullbleed + .fullbleed { margin-top: var(--inset); }
.section.dark + .fullbleed + .section { padding-top: clamp(56px, 8vw, 104px); }
.cta-band .eyebrow { background: var(--canvas) !important; box-shadow: none !important; }
