/* ==========================================================================
   RE/MAX Casabella · páginas internas
   ========================================================================== */

/* ---------- Anuncie seu imóvel (fineprop sell-cover) ---------- */
.sell-cover {
  position: relative; min-height: calc(100vh - var(--header-altura)); display: flex; align-items: center; overflow: hidden;
  background: #000; color: #fff; padding: clamp(48px, 6vw, 80px) 0;
}
.sell-cover-image { position: absolute; inset: 0; background-size: cover; background-position: center; background-repeat: no-repeat; opacity: 0.6; }
.sell-cover .container { position: relative; z-index: 2; display: grid; grid-template-columns: 1.1fr 0.9fr; gap: clamp(24px, 4vw, 64px); align-items: center; }
.sell-cover-title-inner h1 { color: #fff; font-size: clamp(2.2rem, 4.6vw, 4.2rem); font-weight: 700; line-height: 1.02; opacity: 0; animation: fade-left var(--t-entrada) forwards; animation-delay: 0.3s; margin-bottom: 1rem; }
.sell-cover-title-inner p { color: #fff; font-size: clamp(1.05rem, 1.5vw, 1.4rem); font-weight: 600; max-width: 600px; opacity: 0; animation: fade-left var(--t-entrada) forwards; animation-delay: 0.5s; }
.sell-cover-title-inner ul { margin-top: 1.25rem; display: grid; gap: 8px; opacity: 0; animation: fade-left var(--t-entrada) forwards; animation-delay: 0.7s; }
.sell-cover-title-inner li { display: flex; gap: 10px; align-items: flex-start; font-size: 1rem; }
.sell-cover-title-inner li .ico { width: 20px; height: 20px; margin-top: 3px; color: #fff; }
.sell-page-contact-cta {
  background: #fff; color: var(--texto); border-radius: var(--radius-card); padding: clamp(20px, 3vw, 32px);
  box-shadow: 0 20px 60px -20px rgba(0, 0, 0, 0.5); opacity: 0; animation: sellCta 1.2s ease forwards; animation-delay: 0.9s;
}
.sell-page-contact-cta h2 { font-size: 1.4rem; font-weight: 600; margin-bottom: 0.25rem; }
.sell-page-contact-cta > p { font-size: 0.95rem; color: var(--texto-suave); margin-bottom: 1rem; }
@media (max-width: 991px) {
  .sell-cover { min-height: 0; }
  .sell-cover .container { grid-template-columns: 1fr; }
  .sell-cover-title-inner h1 { font-size: 2.4rem; }
}

.passos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; counter-reset: passo; }
.passo { background: #fff; border-radius: var(--radius-card); padding: 26px 22px; box-shadow: var(--sombra-card); position: relative; }
.passo::before {
  counter-increment: passo; content: counter(passo, decimal-leading-zero);
  font-family: var(--fonte-display); font-size: 2.2rem; font-weight: 700; color: var(--vermelho); line-height: 1; display: block; margin-bottom: 12px;
}
.passo h3 { font-size: 1.05rem; font-weight: 600; }
.passo p { margin: 0; font-size: 0.95rem; }
@media (max-width: 991px) { .passos { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 540px) { .passos { grid-template-columns: 1fr; } }

/* ---------- A imobiliária ---------- */
.sobre-grid { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: clamp(24px, 5vw, 72px); align-items: center; }
.sobre-grid img { border-radius: var(--radius-card); box-shadow: var(--sombra-card-hover); width: 100%; height: 100%; object-fit: cover; max-height: 520px; }
.sobre-grid h2 { font-size: clamp(1.8rem, 3vw, 2.5rem); font-weight: 300; }
.sobre-grid h2::after { content: ""; display: block; width: 250px; max-width: 60%; height: 2px; margin: 1.5rem 0; background: var(--secondary); }
.sobre-grid p { font-size: 1.1rem; }
.fundo-navy .sobre-grid h2::after { background: rgba(255, 255, 255, 0.35); }
.fundo-navy .sobre-grid p { color: #fff; }
@media (max-width: 900px) { .sobre-grid { grid-template-columns: 1fr; } .sobre-grid.invertida img { order: -1; } }

.selo-rede { display: flex; flex-wrap: wrap; gap: 16px 32px; align-items: center; justify-content: center; padding: 24px 0; }
.selo-rede div { text-align: center; }
.selo-rede .n { font-family: var(--fonte-display); font-size: 2rem; font-weight: 600; color: var(--navy); line-height: 1; }
.selo-rede .l { font-size: 0.85rem; color: var(--texto-suave); }

/* ---------- Contato ---------- */
.contato-grid { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: clamp(24px, 5vw, 64px); align-items: start; }
.contato-info h2 { font-size: 1.6rem; font-weight: 500; }
.contato-info dl { display: grid; gap: 14px; margin: 1.5rem 0; }
.contato-info dt { font-family: var(--fonte-display); font-size: 0.75rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--texto-suave); }
.contato-info dd { margin: 2px 0 0; font-size: 1.05rem; }
.contato-info dd a { color: var(--navy); font-weight: 600; }
.mapa { border: 0; width: 100%; height: 320px; border-radius: var(--radius-card); box-shadow: var(--sombra-card); display: block; }
.card-form { background: #fff; border-radius: var(--radius-card); padding: clamp(20px, 3vw, 36px); box-shadow: var(--sombra-card); }
.card-form h2 { font-size: 1.4rem; font-weight: 600; margin-bottom: 0.25rem; }
.card-form > p { color: var(--texto-suave); font-size: 0.95rem; margin-bottom: 1.25rem; }
@media (max-width: 900px) { .contato-grid { grid-template-columns: 1fr; } }

/* ---------- Privacidade e textos longos ---------- */
.prosa { max-width: 78ch; }
.prosa h2 { font-size: 1.5rem; font-weight: 500; margin-top: 2.25rem; }
.prosa h3 { font-size: 1.15rem; font-weight: 600; margin-top: 1.5rem; }
.prosa ul { list-style: disc; padding-left: 1.25rem; margin-bottom: 1rem; }
.prosa li { margin-bottom: 0.4rem; }
.prosa table { width: 100%; border-collapse: collapse; font-size: 0.95rem; margin: 1rem 0 1.5rem; }
.prosa th, .prosa td { text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--linha); vertical-align: top; }
.prosa th { font-family: var(--fonte-display); font-size: 0.8rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--navy); }
.vigencia { color: var(--texto-suave); font-size: 0.95rem; }

/* ---------- 404 ---------- */
.pagina-404 .erro { min-height: 60vh; display: flex; align-items: center; text-align: center; }
.pagina-404 .erro .n { font-family: var(--fonte-display); font-size: clamp(5rem, 14vw, 9rem); font-weight: 700; color: var(--navy); line-height: 1; opacity: 0.12; }
.pagina-404 .erro h1 { margin-top: -1.5rem; }

/* ---------- CTA final claro ---------- */
.cta-simples { text-align: center; }
.cta-simples h2 { font-size: clamp(1.6rem, 3vw, 2.25rem); font-weight: 300; }
.cta-simples p { max-width: 640px; margin: 0.5rem auto 1.5rem; font-size: 1.1rem; }
.cta-simples .acoes { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }

/* ---------- barra de busca por nome ---------- */
.corretores-lista { min-height: 200px; }
