/* ============================================================
   REVOLUÇÃO VISUAL 2.0 — Fábio Felipe Corretor
   Nova identidade: "editorial dark-lux" + glassmorphism.
   Camada aplicada sobre redesign.css sem alterar comportamento.
   Princípios mantidos: Não me faça pensar — hierarquia óbvia,
   uma ação primária por bloco, reconhecimento > memória.
   ============================================================ */

/* ---------- tokens da nova era ---------- */
body.rv{
  --rv-bg:#070b14;
  --rv-surface:rgba(255,255,255,.045);
  --rv-line:rgba(255,255,255,.1);
  --rv-text:#eef3fb;
  --rv-muted:#93a3c0;
  --rv-gold:#e8c476;
  --rv-gold-deep:#c9a24d;
  --rv-mint:#3ddc97;
  --rv-glow:0 30px 80px rgba(0,0,0,.55);
  background:var(--rv-bg)!important;
  color:var(--rv-text);
  font-family:"Inter","Segoe UI",system-ui,-apple-system,sans-serif;
  -webkit-font-smoothing:antialiased;
}
/* fundo cósmico fixo atrás de tudo */
body.rv::before{
  content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;
  background:
    radial-gradient(900px 500px at 85% -10%,rgba(232,196,118,.14),transparent 60%),
    radial-gradient(800px 600px at -10% 30%,rgba(61,220,151,.08),transparent 55%),
    radial-gradient(1200px 800px at 50% 115%,rgba(37,78,158,.25),transparent 60%),
    var(--rv-bg);
}
body.rv::after{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.5;
  background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1.5px);
  background-size:34px 34px;
  mask-image:radial-gradient(ellipse at 50% 0%,#000 20%,transparent 75%);
}

/* ---------- topbar: pílula flutuante de vidro ---------- */
body.rv .r-topbar{
  position:sticky;top:12px;z-index:60;
  margin:12px auto 0;max-width:1120px;width:calc(100% - 24px);
  background:rgba(10,15,26,.6);
  border:1px solid var(--rv-line);
  backdrop-filter:blur(18px) saturate(1.4);
  -webkit-backdrop-filter:blur(18px) saturate(1.4);
  border-radius:999px;padding:.5rem .6rem .5rem 1.1rem;
  box-shadow:0 18px 44px rgba(0,0,0,.45);
}
body.rv .r-logo span:not(.r-logo-mark){font-weight:700;letter-spacing:.01em}
body.rv .r-logo em{color:var(--rv-gold)}
body.rv .r-logo-mark{
  background:linear-gradient(135deg,var(--rv-gold),var(--rv-gold-deep))!important;
  color:#10151f!important;font-weight:900;box-shadow:0 6px 18px rgba(232,196,118,.35);
}
body.rv .r-topbar nav a{color:var(--rv-muted)}
body.rv .r-topbar nav a:hover{background:rgba(255,255,255,.07);color:#fff}
body.rv .r-wa-pill{
  background:linear-gradient(135deg,#2fd488,#1faa50)!important;
  box-shadow:0 8px 22px rgba(47,212,136,.35);
}

/* ---------- hero: capa de revista ---------- */
body.rv section.bg-blue-950{
  background:transparent!important;
  padding-top:clamp(2.2rem,6vw,4.5rem);padding-bottom:clamp(2.5rem,6vw,4.5rem);
}
body.rv section.bg-blue-950::after{display:none}
body.rv section.bg-blue-950 > div{max-width:1120px}
body.rv section.bg-blue-950 h1{
  font-size:clamp(2.6rem,7vw,4.6rem)!important;
  font-weight:900;letter-spacing:-.035em;line-height:1.02;
  background:linear-gradient(100deg,#ffffff 20%,var(--rv-gold) 78%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
body.rv section.bg-blue-950 .text-xl{
  color:var(--rv-muted)!important;font-size:clamp(1.05rem,2.2vw,1.3rem)!important;
  font-weight:500;line-height:1.6;max-width:44ch;
}
body.rv section.bg-blue-950 .text-sm.text-blue-200{color:var(--rv-muted)}
/* retrato em moldura dourada com halo */
body.rv .r-avatar-wrap{filter:drop-shadow(0 24px 48px rgba(232,196,118,.25))}
body.rv .r-avatar-wrap::before{
  inset:-7px;
  background:conic-gradient(from 200deg,var(--rv-gold),rgba(232,196,118,.15) 40%,var(--rv-gold) 75%,rgba(232,196,118,.15));
  filter:blur(0);animation:rv-spin 9s linear infinite;
}
@keyframes rv-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){body.rv .r-avatar-wrap::before{animation:none}}
body.rv .r-avatar-wrap > div{border-radius:50%;ring:none}
body.rv section.bg-blue-950 .ring-white\/20{--tw-ring-color:rgba(255,255,255,.14)!important}
/* selo CRECI em vidro */
body.rv .r-creci{
  background:rgba(232,196,118,.12)!important;border:1px solid rgba(232,196,118,.5);
  color:var(--rv-gold)!important;font-weight:800;letter-spacing:.04em;
  backdrop-filter:blur(8px);
}
body.rv .r-creci::before{color:var(--rv-mint)}
/* tags viram chips de vidro */
body.rv section.bg-blue-950 span.bg-white\/10.rounded-full.px-3.py-1.text-sm{
  background:var(--rv-surface);border:1px solid var(--rv-line);color:var(--rv-muted);
  backdrop-filter:blur(6px);
}
body.rv section.bg-blue-950 span.bg-white\/10.rounded-full.px-3.py-1.text-sm:hover{
  background:rgba(255,255,255,.1);color:#fff;
}
/* CTA WhatsApp: orquestrado em verde-menta luminoso */
body.rv section.bg-blue-950 a.bg-green-500{
  background:linear-gradient(135deg,#3ddc97,#1faa50)!important;color:#06240f!important;
  font-weight:900!important;letter-spacing:.01em;border-radius:999px!important;
  padding:1rem 2.2rem!important;box-shadow:0 16px 40px rgba(61,220,151,.35)!important;
  transition:transform .18s ease,box-shadow .25s ease;
}
body.rv section.bg-blue-950 a.bg-green-500:hover{transform:translateY(-2px);box-shadow:0 22px 54px rgba(61,220,151,.5)!important}
/* CTA secundário em contorno dourado */
body.rv section.bg-blue-950 a[href="#imoveis"]{
  background:transparent!important;color:#fff!important;
  border:1.5px solid rgba(232,196,118,.65);border-radius:999px!important;
  padding:1rem 2rem!important;font-weight:800;backdrop-filter:blur(6px);
  transition:all .2s ease;
}
body.rv section.bg-blue-950 a[href="#imoveis"]:hover{
  background:rgba(232,196,118,.12);border-color:var(--rv-gold);
}

/* ---------- faixa de confiança vira barra de vidro ---------- */
body.rv .r-trust{
  max-width:1120px;margin:-1.2rem auto 0;width:calc(100% - 2rem);
  background:var(--rv-surface);border:1px solid var(--rv-line);
  border-radius:18px;backdrop-filter:blur(14px);
  color:var(--rv-muted);font-weight:600;box-shadow:0 14px 34px rgba(0,0,0,.3);
}
body.rv .r-trust b{color:var(--rv-gold)}

/* ---------- títulos de seção em estilo editorial ---------- */
body.rv .r-kicker{color:var(--rv-gold);letter-spacing:.22em;font-size:.72rem}
body.rv .r-h2{
  color:#fff!important;font-weight:900;letter-spacing:-.03em;
  font-size:clamp(1.7rem,4.2vw,2.6rem);
}
body.rv #r-count{color:var(--rv-muted)}

/* ---------- vitrine: painel escuro premium ---------- */
body.rv .r-shop{max-width:1120px}
body.rv .r-router{
  background:rgba(13,19,33,.72);border:1px solid var(--rv-line);
  box-shadow:var(--rv-glow);backdrop-filter:blur(16px);
}
body.rv .r-router-q{color:#fff;font-size:1.3rem;font-weight:900;letter-spacing:-.01em}
body.rv .r-router-sub{color:var(--rv-muted)}
body.rv .r-chip{
  background:var(--rv-surface);border:1px solid var(--rv-line);color:#dbe5f5;
}
body.rv .r-chip small{color:var(--rv-muted)}
body.rv .r-chip:hover{border-color:rgba(232,196,118,.6);transform:translateY(-2px);background:rgba(255,255,255,.08)}
body.rv .r-chip[aria-pressed="true"]{
  background:linear-gradient(135deg,var(--rv-gold),var(--rv-gold-deep));
  border-color:transparent;color:#10151f;box-shadow:0 10px 26px rgba(232,196,118,.4);
}
body.rv .r-chip[aria-pressed="true"] small{color:rgba(16,21,31,.75)}
body.rv .r-router-hint{color:var(--rv-muted)}

/* ---------- cards dos imóveis: vidro com brilho ao hover ---------- */
body.rv .r-grid article{
  background:rgba(13,19,33,.72)!important;border:1px solid var(--rv-line)!important;
  box-shadow:0 18px 44px rgba(0,0,0,.45);backdrop-filter:blur(14px);
  border-radius:24px!important;
}
body.rv .r-grid article:hover{
  transform:translateY(-6px);border-color:rgba(232,196,118,.45)!important;
  box-shadow:0 30px 70px rgba(0,0,0,.6),0 0 0 1px rgba(232,196,118,.25);
}
body.rv .r-grid .bg-gray-100{background:#0b1120!important}
body.rv .r-grid h3{color:#fff!important;font-weight:800}
body.rv .r-grid .text-xs{color:var(--rv-muted)!important}
body.rv .r-grid p.text-primary{
  color:var(--rv-gold)!important;font-weight:900;font-size:1.5rem!important;
}
body.rv .r-grid p.text-primary::after{color:var(--rv-muted)}
body.rv .r-grid .flex.gap-4.mt-4{border-top-color:rgba(255,255,255,.12)!important}
body.rv .r-grid .flex.gap-4.mt-4 span{
  background:var(--rv-surface);color:#c9d6ee;border:1px solid var(--rv-line);
}
body.rv .r-tag-venda{background:linear-gradient(135deg,var(--rv-gold),var(--rv-gold-deep));color:#10151f}
body.rv .r-tag-aluguel{background:linear-gradient(135deg,#3ddc97,#0e9264);color:#06240f}
body.rv .r-grid article > a::after{
  background:linear-gradient(135deg,var(--rv-gold),var(--rv-gold-deep));color:#10151f;
  font-weight:900;box-shadow:0 10px 26px rgba(232,196,118,.4);
}
body.rv .r-empty{
  background:rgba(13,19,33,.7);border-color:rgba(232,196,118,.4);color:var(--rv-muted);
}
body.rv .r-empty a{color:var(--rv-gold)!important}

/* ---------- sobre: cartão-manifesto ---------- */
body.rv section.max-w-6xl > div.bg-white:first-child{
  background:rgba(13,19,33,.72)!important;border:1px solid var(--rv-line)!important;
  box-shadow:var(--rv-glow);backdrop-filter:blur(16px);
}
body.rv section.max-w-6xl div.bg-white.border h2{color:#fff}
body.rv section.max-w-6xl div.bg-white.border h2::before{
  background:linear-gradient(var(--rv-gold),var(--rv-mint));
}
body.rv section.max-w-6xl div.bg-white.border p.text-gray-600,
body.rv section.max-w-6xl div.bg-white.border p.text-gray-600 *{
  color:var(--rv-muted)!important;
}
body.rv section.max-w-6xl a.text-blue-950{
  background:transparent!important;color:#fff!important;
  border:1.5px solid var(--rv-line)!important;border-radius:999px!important;
}
body.rv section.max-w-6xl a.text-blue-950:hover{border-color:rgba(232,196,118,.6)!important;color:var(--rv-gold)!important}

/* ---------- contato: formulário de vidro ---------- */
body.rv #contato{
  background:rgba(10,15,26,.55)!important;border-top:1px solid var(--rv-line)!important;
  backdrop-filter:blur(18px);
}
body.rv #contato h2,body.rv #contato .text-center p{color:var(--rv-muted)}
body.rv #contato .text-center h2{color:#fff}
body.rv #contato form{
  background:rgba(13,19,33,.72)!important;border:1px solid var(--rv-line)!important;
  box-shadow:var(--rv-glow);
}
body.rv #contato label.block{color:#dbe5f5}
body.rv #contato input,body.rv #contato textarea{
  background:rgba(255,255,255,.05)!important;border:1px solid var(--rv-line)!important;
  color:#fff!important;border-radius:14px!important;
}
body.rv #contato input::placeholder,body.rv #contato textarea::placeholder{color:#5f7091}
body.rv #contato input:focus,body.rv #contato textarea:focus{
  border-color:rgba(232,196,118,.7)!important;box-shadow:0 0 0 4px rgba(232,196,118,.15)!important;
}
body.rv #contato button.btn-primary{
  background:linear-gradient(135deg,#3ddc97,#1faa50)!important;color:#06240f!important;
  font-weight:900;border-radius:999px!important;box-shadow:0 16px 38px rgba(61,220,151,.35);
}
body.rv #contato button.btn-primary:hover{transform:translateY(-2px);box-shadow:0 22px 50px rgba(61,220,151,.5)}
body.rv #contato .text-xs{color:#5f7091}

/* ---------- rodapé ---------- */
body.rv .r-footer{background:transparent;border-top:1px solid var(--rv-line)}
body.rv .r-footer p,body.rv .r-footer .text-gray-500{color:var(--rv-muted)}
body.rv .r-footer strong{color:var(--rv-gold)}

/* ---------- FAB WhatsApp: cápsula neon ---------- */
body.rv .r-fab{
  background:linear-gradient(135deg,#3ddc97,#1faa50);color:#06240f;font-weight:900;
  box-shadow:0 16px 40px rgba(61,220,151,.45);
}
@keyframes rv-pulse{
  0%,100%{box-shadow:0 16px 40px rgba(61,220,151,.45),0 0 0 0 rgba(61,220,151,.45)}
  50%{box-shadow:0 16px 40px rgba(61,220,151,.45),0 0 0 16px rgba(61,220,151,0)}
}
body.rv .r-fab{animation:rv-pulse 2.6s infinite}

/* ---------- captura de localização também entra no tema ---------- */
body.rv #location-capture{
  background:rgba(13,19,33,.92)!important;border:1px solid var(--rv-line)!important;
  color:var(--rv-text);backdrop-filter:blur(16px);
}
body.rv #location-capture .text-gray-900{color:#fff!important}
body.rv #location-capture .text-gray-500{color:var(--rv-muted)!important}

/* seleções e foco consistentes */
body.rv ::selection{background:rgba(232,196,118,.35);color:#fff}
body.rv a:focus-visible,body.rv button:focus-visible{outline:2px solid var(--rv-gold);outline-offset:3px;border-radius:8px}

/* ---------- revelação ao rolar ---------- */
body.rv .rv-reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
body.rv .rv-reveal.rv-in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){body.rv .rv-reveal{opacity:1;transform:none;transition:none}}
