/* ============================================
   Rotemix — CSS Base (compartilhado por todas as páginas)
   ============================================
   Reset, variáveis de cor, nav, footer e menu mobile — tudo que é
   idêntico em todo arquivo .php do site. Qualquer alteração aqui
   afeta o site inteiro de uma vez, sem precisar editar página por página.

   O que NÃO está aqui, de propósito: CSS específico de cada página
   (o card de imóvel, o formulário de busca, a página de detalhes da
   imobiliária, etc.) — isso continua no <style> de cada arquivo.
*/

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
--black:#0a0a0a;--gray-900:#111111;--gray-700:#333333;--gray-500:#666666;
--gray-400:#888;--gray-300:#999999;--gray-200:#cccccc;--gray-100:#f2f2f2;
--white:#fff;--blue:#2563eb;--blue-dark:#1d4ed8;--green:#25d366;--green-dark:#1fb855;
--r:8px;--r-pill:9999px;--t:.2s ease;
}
html{scroll-behavior:smooth;font-size:16px}
body{background:#fff;color:var(--black);font-family:'Roboto',system-ui,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{text-decoration:none;color:inherit}
.container{max-width:1160px;margin:0 auto;padding:0 24px}

.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 24px;border-radius:var(--r-pill);font:.9rem 'Inter',sans-serif;font-weight:600;transition:.2s;border:none}
.btn-sm{padding:9px 18px;font-size:.82rem}
.btn-lg{padding:16px 32px;font-size:1rem}
.btn-dark{background:var(--black);color:#fff}
.btn-outline{background:transparent;border:1.5px solid var(--gray-200)}

/* Nav — escopado com #nav (nunca "nav{}" genérico, que sequestra
   qualquer outra tag <nav> da página, tipo breadcrumbs) */
nav#nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border-bottom:1px solid transparent;transition:border-color .2s}
nav#nav.scrolled{border-color:var(--gray-100)}
.nav-inner{height:64px;display:flex;align-items:center;justify-content:space-between}
.logo{font-size:1.35rem;font-weight:800;letter-spacing:-.04em}
.logo em{color:var(--blue);font-style:normal}
.nav-links{display:flex;gap:28px;list-style:none}
.nav-links a{font-size:.875rem;font-weight:500;color:var(--gray-500)}
.nav-right{display:flex;gap:10px}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;padding:4px;cursor:pointer}
.hamburger span{width:22px;height:2px;background:var(--black);display:block}

/* Footer */
footer{background:#fff;border-top:1px solid var(--gray-100);padding:64px 0 32px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px;margin-bottom:48px}
.footer-brand .logo{display:block;margin-bottom:14px}
.footer-brand p{font-size:.82rem;color:var(--gray-400);line-height:1.7;max-width:240px;margin-bottom:18px}
.socials{display:flex;gap:8px}
.social{width:34px;height:34px;border:1px solid var(--gray-100);border-radius:var(--r);display:flex;align-items:center;justify-content:center;color:var(--gray-500);transition:color var(--t),border-color var(--t)}
.social:hover{color:var(--blue);border-color:var(--blue)}
.social svg{width:17px;height:17px}
.footer-col h4{font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:16px}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:9px}
.footer-col a,.footer-links a{font-size:.83rem;color:var(--gray-400)}
.footer-bottom{border-top:1px solid var(--gray-100);padding-top:24px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.footer-bottom p{font-size:.78rem;color:var(--gray-300)}
.footer-links{display:flex;gap:20px}

/* Menu mobile */
.mobile-menu{display:none;position:fixed;inset:0;background:#fff;z-index:200;flex-direction:column;padding:24px;overflow:auto}
.mobile-menu.open{display:flex}
.mob-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px}
.mob-nav{display:flex;flex-direction:column;gap:4px;flex:1}
.mob-nav a{font-size:1.3rem;font-weight:700;padding:12px 0;border-bottom:1px solid var(--gray-100)}
.mob-cta{margin-top:28px;display:flex;flex-direction:column;gap:10px}

@media(max-width:768px){
.nav-links{display:none}
.hamburger{display:flex}
.footer-grid{grid-template-columns:1fr}
.footer-bottom{flex-direction:column;text-align:center}
.footer-links{justify-content:center}
}
