:root{
  --ground:#FBF6F4;--surface:#fff;--surface-2:#F6EDEA;--surface-3:#F0E4E0;
  --ink:#1B1412;--muted:#8B7A74;--faint:#B6A49E;--line:#EBDFDA;
  --accent:#C1121F;--accent-deep:#8B0D16;--accent-soft:#FBE4E4;
  --wa:#1EB257;--wa-deep:#0F7A3C;--ok:#1E8E5A;--warn:#B4690E;--crit:#C1121F;--info:#2563A8;
  --shadow:0 1px 2px rgba(27,20,18,.06),0 8px 24px rgba(27,20,18,.08);
  --radius:16px;--radius-sm:10px;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --ground:#130F0F;--surface:#1D1717;--surface-2:#261D1C;--surface-3:#312524;
  --ink:#F4EBE8;--muted:#AC968F;--faint:#7C6560;--line:#332826;
  --accent:#F2515C;--accent-deep:#C1121F;--accent-soft:#3A1618;
  --wa:#2FCB6B;--wa-deep:#1EB257;--ok:#41B87E;--warn:#E0954B;--crit:#F2515C;--info:#6FA6E6;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 10px 30px rgba(0,0,0,.5);
}}
:root[data-theme="dark"]{
  --ground:#130F0F;--surface:#1D1717;--surface-2:#261D1C;--surface-3:#312524;
  --ink:#F4EBE8;--muted:#AC968F;--faint:#7C6560;--line:#332826;
  --accent:#F2515C;--accent-deep:#C1121F;--accent-soft:#3A1618;
  --wa:#2FCB6B;--wa-deep:#1EB257;--ok:#41B87E;--warn:#E0954B;--crit:#F2515C;--info:#6FA6E6;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 10px 30px rgba(0,0,0,.5);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--sans);line-height:1.5;
  -webkit-font-smoothing:antialiased;font-feature-settings:"kern","liga";overflow-x:hidden}
.num{font-variant-numeric:tabular-nums}
h1,h2,h3{margin:0;text-wrap:balance;letter-spacing:-.02em;line-height:1.15}
a{color:inherit;text-decoration:none}
img{max-width:100%}
button{font-family:inherit}
:focus-visible{outline:2.5px solid var(--accent);outline-offset:2px;border-radius:6px}
.wrap{max-width:1180px;margin:0 auto;padding:0 18px}
.sp{flex:1}
.hidden{display:none!important}

/* ---------- public header ---------- */
.nav{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--ground) 90%,transparent);
  backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;gap:14px;height:60px}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:-.03em;font-size:18px}
.logo{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;color:#fff;flex:none;
  background:linear-gradient(145deg,var(--accent),var(--accent-deep));font-weight:900;font-size:16px;
  box-shadow:0 2px 8px color-mix(in srgb,var(--accent) 40%,transparent)}
.brand small{display:block;font-weight:600;color:var(--muted);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase}
.brandmark{height:40px;width:auto;border-radius:9px;display:block;flex:none;box-shadow:0 2px 8px color-mix(in srgb,var(--accent) 20%,transparent)}
.brandmark-lg{height:58px;margin:0 auto 8px}
.navlinks{display:flex;gap:6px;align-items:center}
.navlinks a{font-size:14px;font-weight:600;color:var(--muted);padding:8px 12px;border-radius:9px}
.navlinks a.on,.navlinks a:hover{color:var(--accent);background:var(--surface-2)}
.navcta{display:inline-flex;align-items:center;gap:7px;background:var(--wa);color:#fff;font-weight:700;font-size:13.5px;padding:9px 14px;border-radius:10px}
.tbtn{width:38px;height:38px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;display:grid;place-items:center;font-size:16px}
.burger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:40px;height:38px;border-radius:10px;border:1px solid var(--line);background:var(--surface);cursor:pointer;padding:0}
.burger span{display:block;width:18px;height:2px;background:var(--ink);border-radius:2px;transition:transform .25s ease,opacity .2s ease}
.burger.on span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.burger.on span:nth-child(2){opacity:0}
.burger.on span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.mobmenu{display:none;position:fixed;top:60px;left:0;right:0;z-index:39;flex-direction:column;gap:2px;padding:12px 16px 18px;background:var(--ground);border-bottom:1px solid var(--line);box-shadow:0 14px 26px rgba(0,0,0,.14)}
.mobmenu a{font-size:15px;font-weight:600;color:var(--ink);padding:12px 12px;border-radius:10px}
.mobmenu a.on{color:var(--accent);background:var(--surface-2)}
.mobmenu .mm-wa{margin-top:8px;background:var(--wa);color:#fff;text-align:center;font-weight:700}
@media(max-width:760px){.navlinks{display:none}.navcta-top{display:none}.burger{display:flex}.mobmenu.on{display:flex}}

/* ---------- hero + search ---------- */
.hero{background:linear-gradient(160deg,var(--accent-deep),var(--accent));color:#fff;padding:30px 0 26px;position:relative;overflow:hidden}
.hero h1{font-size:clamp(24px,5.5vw,40px);font-weight:850;max-width:16ch}
.hero p{opacity:.92;margin:8px 0 18px;font-size:15.5px;max-width:52ch}
.hero .wrap{position:relative;z-index:2}
.hero-halftone{position:absolute;top:0;right:0;bottom:0;width:46%;max-width:640px;z-index:1;opacity:.92;-webkit-mask-image:linear-gradient(90deg,transparent,#000 24%);mask-image:linear-gradient(90deg,transparent,#000 24%)}
.hero-halftone canvas{width:100%;height:100%;display:block}
@media(max-width:860px){.hero-halftone{display:none}}
.wa-ic{border-radius:5px;background:#fff;padding:1px;vertical-align:-4px;display:inline-block;margin-right:5px;box-shadow:0 1px 2px rgba(0,0,0,.18)}
.btn-wa .wa-ic{margin-right:6px}
@media(max-width:640px){
  .tipo-sec{overflow-x:hidden}
  /* mobile: desliga o efeito "gooey" (removia o artefato branco) e usa COR FIXA nas abas */
  .gooey-nav-container .effect{display:none!important}
  .gooey-nav-container nav ul{gap:8px}
  .gooey-nav-container nav ul li{font-size:12px;max-width:100%;background:#f4f4f5!important;border-color:#e3e3e6!important;box-shadow:none!important;transform:none!important}
  .gooey-nav-container nav ul li a{padding:.5em .85em;white-space:normal;line-height:1.25;color:#1c1c1e!important}
  .gooey-nav-container nav ul li.active{background:var(--accent)!important;border-color:transparent!important}
  .gooey-nav-container nav ul li.active a{color:#fff!important}
  .gooey-nav-container nav ul li::after{display:none!important}
}
.searchbox{background:var(--surface);border-radius:16px;padding:14px;box-shadow:0 12px 40px rgba(0,0,0,.22)}
.toggle2{display:inline-flex;background:var(--surface-2);border-radius:999px;padding:3px;margin-bottom:12px}
.toggle2 a{color:var(--muted);font-weight:700;font-size:13.5px;padding:8px 18px;border-radius:999px}
.toggle2 a.on{background:var(--accent);color:#fff}
.sfields{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:10px}
@media(max-width:720px){.sfields{grid-template-columns:1fr 1fr}.sfields .go{grid-column:1/-1}}
.sfield{position:relative}
.sfield input,.sfield select{width:100%;border:1px solid var(--line);background:var(--surface);color:var(--ink);
  border-radius:11px;padding:12px 12px;font-size:14.5px;outline:0}
.sfield input:focus,.sfield select:focus{border-color:var(--accent)}
.go{background:var(--accent);color:#fff;border:0;border-radius:11px;padding:0 22px;font-weight:750;font-size:15px;cursor:pointer;min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.acbox{position:absolute;top:100%;left:0;right:0;z-index:20;background:var(--surface);border:1px solid var(--line);border-radius:11px;margin-top:4px;box-shadow:var(--shadow);overflow:hidden;display:none}
.acbox.on{display:block}
.acbox a{display:block;padding:10px 12px;font-size:14px;border-bottom:1px solid var(--line);color:var(--ink)}
.acbox a:hover{background:var(--surface-2)}
.acbox a small{color:var(--muted)}

/* ---------- sections ---------- */
.section{padding:26px 0}
.sec-head{display:flex;align-items:baseline;gap:12px;margin-bottom:16px}
.sec-head h2{font-size:22px;font-weight:800}
.sec-head a{margin-left:auto;font-size:13.5px;font-weight:650;color:var(--accent)}
.eyebrow{font-size:12px;font-weight:750;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}

/* ---------- cards grid ---------- */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform .15s,box-shadow .15s}
.card:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(27,20,18,.14)}
.ph{position:relative;aspect-ratio:16/10;background:var(--surface-3)}
.ph img{width:100%;height:100%;object-fit:cover;display:block}
.badge{position:absolute;top:10px;left:10px;font-size:11px;font-weight:750;padding:5px 9px;border-radius:8px;color:#fff;background:var(--accent)}
.badge.loc{background:var(--info)}.badge.ambos{background:#6B4CC9}
.fav{position:absolute;top:10px;right:10px;width:34px;height:34px;border-radius:50%;border:0;background:rgba(0,0,0,.42);color:#fff;cursor:pointer;font-size:15px;display:grid;place-items:center}
.fav.on{background:#fff;color:var(--accent)}
.src{position:absolute;bottom:10px;left:10px;font-size:10px;font-weight:700;padding:3px 7px;border-radius:6px;background:rgba(0,0,0,.5);color:#fff}
.cbody{padding:13px 14px 14px}
.price{font-size:19px;font-weight:850;letter-spacing:-.02em}
.price small{font-size:12px;font-weight:600;color:var(--muted)}
.ctitle{font-size:13.5px;font-weight:600;margin:3px 0 2px}
.cloc{font-size:12.5px;color:var(--muted)}
.code{font-family:var(--mono);font-size:11px;color:var(--faint)}
.feat{display:flex;gap:14px;margin:11px 0;color:var(--muted);font-size:12.5px;font-weight:600;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:9px 0;flex-wrap:wrap}
.cactions{display:flex;gap:8px}
.btn{border:0;border-radius:10px;padding:11px 14px;font-weight:750;font-size:13.5px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px}
.btn-wa{background:var(--wa);color:#fff;flex:1}
.btn-ghost{background:var(--surface-2);color:var(--ink);border:1px solid var(--line)}
.btn-primary{background:var(--accent);color:#fff}
.btn-block{width:100%}

/* pills / chips */
.pill{font-size:11.5px;font-weight:750;padding:4px 9px;border-radius:999px;display:inline-flex;gap:5px;align-items:center}
.pill.ok{background:color-mix(in srgb,var(--ok) 15%,transparent);color:var(--ok)}
.pill.warn{background:color-mix(in srgb,var(--warn) 15%,transparent);color:var(--warn)}
.pill.crit{background:color-mix(in srgb,var(--crit) 15%,transparent);color:var(--crit)}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chipx{font-size:12.5px;font-weight:600;padding:7px 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--muted)}
.chipx.on{background:var(--accent);color:#fff;border-color:var(--accent)}
/* ---- TargetCursor (cursor-alvo nos chips) ---- */
.tc-ready .cursor-zone,.tc-ready .cursor-zone *{cursor:none}
.cursor-target{transition:transform .18s ease}
.tcursor{position:fixed;left:0;top:0;z-index:9999;pointer-events:none;opacity:0;transform:translate(-50%,-50%);transition:opacity .18s}
.tcursor.on{opacity:1}
.tcursor:not(.locked){animation:tc-spin var(--tc-spin,2s) linear infinite}
@keyframes tc-spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
.tcursor .tc-dot{position:absolute;left:0;top:0;width:6px;height:6px;border-radius:50%;background:var(--accent);transform:translate(-50%,-50%)}
.tcursor .tc-c{position:absolute;left:0;top:0;width:13px;height:13px;border:2px solid var(--accent);transition:transform .2s cubic-bezier(.2,.8,.2,1)}
.tcursor .tc-c.tl{border-right:0;border-bottom:0}
.tcursor .tc-c.tr{border-left:0;border-bottom:0}
.tcursor .tc-c.br{border-left:0;border-top:0}
.tcursor .tc-c.bl{border-right:0;border-top:0}

/* tools row */
.tools{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px}
.tool{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px}
.tool .ic{width:36px;height:36px;border-radius:10px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-size:17px;margin-bottom:9px}
.tool b{font-size:14px}.tool p{margin:4px 0 0;font-size:12.5px;color:var(--muted)}

/* detail */
.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:130px;gap:8px;border-radius:16px;overflow:hidden}
.gallery .g0{grid-row:span 2;grid-column:1}
.gallery img{width:100%;height:100%;object-fit:cover}
@media(max-width:640px){.gallery{grid-template-columns:1fr 1fr}.gallery .g0{grid-column:1/-1;grid-row:auto;aspect-ratio:16/10;height:auto}}
.detail-grid{display:grid;grid-template-columns:1fr 340px;gap:26px;align-items:start}
@media(max-width:860px){.detail-grid{grid-template-columns:1fr}}
.spec{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}
.spec .s{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px}
.spec .s b{display:block;font-size:17px}.spec .s span{font-size:12px;color:var(--muted)}
.caract{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}
.caract div{font-size:13.5px;padding:8px 0;border-bottom:1px solid var(--line);color:var(--ink)}
.aside-cta{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow);position:sticky;top:76px}
.aside-cta .price{font-size:26px}

/* WA fab */
.wafab{position:fixed;right:16px;bottom:16px;z-index:50;width:58px;height:58px;border-radius:26%;background:transparent;color:#fff;border:0;display:block;box-shadow:0 8px 22px color-mix(in srgb,var(--wa) 55%,transparent);cursor:pointer;overflow:visible}
.wafab img{width:100%;height:100%;display:block;border-radius:26%}
.wafab::after{content:"";position:absolute;inset:0;border-radius:26%;box-shadow:0 0 0 0 color-mix(in srgb,var(--wa) 55%,transparent);animation:pulse 2.4s infinite}
@keyframes pulse{to{box-shadow:0 0 0 16px transparent}}
@media(prefers-reduced-motion:reduce){.wafab::after{animation:none}html{scroll-behavior:auto}}

/* admin bar (wordpress-like) on public when logged */
.adminbar{position:sticky;top:0;z-index:60;background:#1c1414;color:#f3e9e6;display:flex;align-items:center;gap:14px;padding:0 14px;height:38px;font-size:12.5px;font-weight:600}
.adminbar a{color:#f3e9e6;opacity:.85;display:inline-flex;gap:6px;align-items:center}
.adminbar a:hover{opacity:1}
.adminbar .avatar{width:22px;height:22px;border-radius:50%;background:linear-gradient(145deg,var(--accent),var(--accent-deep));color:#fff;display:grid;place-items:center;font-size:10px;font-weight:800}
.adminbar .ab-edit{background:var(--accent);color:#fff;padding:3px 11px;border-radius:6px;font-weight:750;opacity:1}
.adminbar .ab-edit:hover{background:var(--accent-deep)}

/* footer */
footer{border-top:0;margin-top:24px;padding:34px 0 90px;font-size:13.5px;background:linear-gradient(160deg,var(--accent-deep),var(--accent));color:rgba(255,255,255,.86)}
footer .brand,footer .brand div{color:#fff}
footer .brand small{color:rgba(255,255,255,.72)}
footer .brandmark{background:#fff;padding:4px;box-shadow:0 2px 10px rgba(0,0,0,.28)}
footer .navcta{background:#fff;color:var(--accent-deep)}
footer .navcta:hover{background:#cccccc;color:#000}
.fcols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:24px}
@media(max-width:700px){.fcols{grid-template-columns:1fr}}
footer h4{font-size:13px;color:#fff;margin-bottom:8px;text-transform:uppercase;letter-spacing:.05em}
footer a{display:block;color:rgba(255,255,255,.82);padding:3px 0}
footer a:hover{color:#fff}

/* forms */
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;min-width:0}
.field label{font-size:12.5px;font-weight:650;color:var(--muted)}
.field input,.field select,.field textarea{width:100%;box-sizing:border-box;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;padding:11px;font-size:15px;outline:0}
.sfields{max-width:100%}.sfields>*{min-width:0}
.field input:focus{border-color:var(--accent)}
.card-pad{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:var(--shadow)}

/* ======================= DASHBOARD ======================= */
.dash{display:grid;grid-template-columns:230px 1fr;min-height:100vh}
@media(max-width:860px){.dash{grid-template-columns:1fr}}
.side{background:var(--surface);border-right:1px solid var(--line);position:sticky;top:0;height:100vh;overflow-y:auto;padding:14px 10px}
@media(max-width:860px){.side{display:none;position:fixed;z-index:80;width:250px;box-shadow:var(--shadow)}.side.on{display:block}}
.side .brand{padding:8px 10px 14px}
.side nav a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;font-size:14px;font-weight:600;color:var(--muted);margin-bottom:2px}
.side nav a.on,.side nav a:hover{background:var(--surface-2);color:var(--accent)}
.side .navico{width:18px;text-align:center}
.side .grp{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--faint);padding:12px 12px 6px;font-weight:700}
.main{min-width:0;display:flex;flex-direction:column}
.dbar{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--ground) 92%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px;padding:0 18px;height:56px}
.dbar h1{font-size:17px}
.dbar .avatar{width:30px;height:30px;border-radius:50%;background:linear-gradient(145deg,var(--accent),var(--accent-deep));color:#fff;display:grid;place-items:center;font-size:12px;font-weight:800}
.mbtn{display:none;width:38px;height:38px;border-radius:10px;border:1px solid var(--line);background:var(--surface);cursor:pointer}
@media(max-width:860px){.mbtn{display:grid;place-items:center}}
.content{padding:18px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px}
.kpi{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px}
.kpi .l{font-size:11px;color:var(--muted);font-weight:650;text-transform:uppercase;letter-spacing:.05em}
.kpi .v{font-size:24px;font-weight:850;letter-spacing:-.03em;margin-top:4px}
.kpi .s{font-size:11.5px;color:var(--muted);margin-top:2px}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-bottom:16px}
.panel .ph3{font-size:14.5px;padding:14px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px;font-weight:700}
.panel .ph3 .tag{margin-left:auto;font-size:10.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.tbl{width:100%;border-collapse:collapse;font-size:13.5px}
.tbl th,.tbl td{padding:11px 14px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}
.tbl th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--surface-2)}
.tbl tr:hover td{background:var(--surface-2)}
.tbl .doc{font-family:var(--mono);font-size:12.5px;color:var(--muted)}
.tbl-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--accent) var(--surface-2)}
.tbl-scroll::-webkit-scrollbar{height:12px}
.tbl-scroll::-webkit-scrollbar-track{background:var(--surface-2);border-radius:6px}
.tbl-scroll::-webkit-scrollbar-thumb{background:var(--accent);border-radius:6px;border:2px solid var(--surface-2)}
.imv-link{color:var(--accent);font-weight:800;text-decoration:none}
.imv-link:hover{text-decoration:underline}
.scroll-hint{display:none;font-size:11px;font-weight:700;color:var(--accent);margin-left:8px}
@media (max-width:1100px){.scroll-hint{display:inline}}
/* widget de telefone internacional */
.iph{display:flex;align-items:stretch;position:relative;border:1px solid var(--line);border-radius:8px;background:var(--surface)}
.iph .iph-flag{flex:0 0 auto;border:0;background:var(--surface-2);padding:0 10px;font-size:14px;cursor:pointer;border-right:1px solid var(--line);border-radius:8px 0 0 8px;white-space:nowrap;color:var(--ink);font-weight:700}
.iph .iph-nat{flex:1;min-width:0;border:0!important;border-radius:0 8px 8px 0!important;margin:0!important;background:transparent}
.iph-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:60;width:280px;max-width:88vw;max-height:300px;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 34px rgba(0,0,0,.2);padding:8px}
.iph-search{width:100%;margin:0 0 6px!important;padding:8px;border:1px solid var(--line);border-radius:7px;background:var(--surface-2);color:var(--ink)}
.iph-opt{padding:8px 10px;cursor:pointer;border-radius:6px;font-size:13.5px;color:var(--ink)}
.iph-opt:hover{background:var(--surface-2)}
.sfl{display:block;font-size:11px;font-weight:700;color:var(--muted);margin-bottom:3px;text-transform:uppercase;letter-spacing:.03em;text-align:left}
.mini{font-size:10.5px;font-weight:700;padding:3px 7px;border-radius:6px;text-transform:uppercase}
.mini.s1{background:color-mix(in srgb,var(--info) 15%,transparent);color:var(--info)}
.mini.s2{background:var(--accent-soft);color:var(--accent)}
.mini.ambos{background:color-mix(in srgb,#6B4CC9 16%,transparent);color:#6B4CC9}
.reveal{border:1px solid var(--line);background:var(--surface-2);color:var(--ink);font-size:11.5px;font-weight:700;padding:6px 10px;border-radius:8px;cursor:pointer}
.pm{width:100%;border-collapse:collapse;font-size:13px}
.pm th,.pm td{padding:9px 12px;border-bottom:1px solid var(--line);text-align:left}
.pm td.c,.pm th.c{text-align:center;width:80px}
.pm .modh td{background:var(--surface-2);font-weight:750;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--accent)}
.cbx{width:20px;height:20px;border-radius:6px;border:1.5px solid var(--line);display:inline-grid;place-items:center;cursor:pointer;background:var(--surface);font-size:13px;color:#fff}
.cbx.on{background:var(--accent);border-color:var(--accent)}
.cbx.lock{opacity:.5;cursor:not-allowed;background:var(--surface-3);color:var(--faint);border-color:var(--line)}
.log{font-family:var(--mono);font-size:12px}
.log .li{display:flex;gap:10px;padding:9px 14px;border-bottom:1px solid var(--line);align-items:baseline}
.log time{color:var(--faint);white-space:nowrap}
.log .ac{color:var(--accent);font-weight:700}
.bars{display:flex;gap:3px;height:10px;border-radius:5px;overflow:hidden;margin:8px 0}
.bars i{display:block}
.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12.5px;color:var(--muted)}
.legend .sw{width:10px;height:10px;border-radius:3px;display:inline-block;margin-right:6px;vertical-align:middle}
.flash{background:color-mix(in srgb,var(--ok) 14%,transparent);color:var(--ok);border:1px solid color-mix(in srgb,var(--ok) 30%,transparent);border-radius:10px;padding:10px 14px;font-size:13.5px;font-weight:600;margin-bottom:14px}
.flash.err{background:color-mix(in srgb,var(--crit) 12%,transparent);color:var(--crit);border-color:color-mix(in srgb,var(--crit) 30%,transparent)}

/* login */
.loginwrap{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 50% 0%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 55%),var(--ground)}
.loginwrap .card-pad{max-width:380px;width:100%}
.loginwrap .logo{width:52px;height:52px;border-radius:14px;margin:0 auto 10px}
.loginwrap h2{text-align:center}
.loginwrap p.sub{text-align:center;color:var(--muted);font-size:13.5px;margin:4px 0 16px}
.hint{font-size:11.5px;color:var(--faint);text-align:center;font-family:var(--mono);margin-top:10px}

/* modal */
.modal{position:fixed;inset:0;z-index:100;background:rgba(10,6,6,.55);display:none;align-items:center;justify-content:center;padding:20px}
.modal.on{display:flex}
.mcard{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:22px;max-width:380px;width:100%;box-shadow:var(--shadow)}
.mcard h3{font-size:16px;margin-bottom:4px}
.mcard p{font-size:13px;color:var(--muted);margin:0 0 14px}
.revealed{font-family:var(--mono);font-size:13.5px;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:12px;margin-top:12px}
.revealed .k{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em}

/* ---- Lightbox (clicar na foto amplia) ---- */
.gallery img,[data-zoom]{cursor:zoom-in}
.rb-lightbox{position:fixed;inset:0;z-index:200;background:rgba(10,6,6,.92);display:none;align-items:center;justify-content:center;padding:24px;cursor:zoom-out}
.rb-lightbox.on{display:flex}
.rb-lightbox img{max-width:96vw;max-height:92vh;border-radius:10px;box-shadow:0 20px 60px rgba(0,0,0,.6);cursor:default}
.rb-lb-close{position:absolute;top:14px;right:22px;color:#fff;font-size:38px;line-height:1;cursor:pointer;opacity:.85}
.rb-lb-close:hover{opacity:1}

/* ---- Destrava LGPD (widget na barra lateral) ---- */
.lgpdbox{background:var(--surface-2);border:1px solid var(--line);border-radius:14px;padding:14px;margin:2px 4px 14px}
.lgpd-head{font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:10px;display:flex;align-items:center;gap:6px}
.lgpd-desc{font-size:11px;color:var(--muted);margin:6px 0 10px;line-height:1.4}
.lgpd-unlock-btn{padding:10px;font-size:13px}
.lgpd-unlocked{text-align:center}
.lgpd-sub{font-size:10.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}
/* relógio: chip azul-claro com fonte azul-escuro (mesmo tratamento dos chips do dashboard) */
.lgpd-clock{display:block;background:#E1EEFC;color:#0B3D91;border:1px solid #BFD9F5;border-radius:12px;
  padding:12px 8px;font-size:34px;font-weight:850;letter-spacing:.01em;font-variant-numeric:tabular-nums;line-height:1;text-align:center}
.lgpd-renew{display:block;width:100%;margin-top:12px;border:1px solid var(--line);background:var(--surface);color:var(--ink);
  border-radius:10px;padding:10px;font-size:12.5px;font-weight:750;cursor:pointer;transition:.15s}
.lgpd-renew:hover{border-color:#0B3D91;color:#0B3D91;background:#F2F7FE}
.lgpd-lock{display:block;width:100%;margin-top:8px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));background:var(--surface);color:var(--accent);border-radius:10px;padding:9px;font-size:12.5px;font-weight:750;cursor:pointer;transition:.15s}
.lgpd-lock:hover{background:var(--accent-soft);border-color:var(--accent)}
:root[data-theme="dark"] .lgpd-clock{background:#12233A;color:#8EC5FF;border-color:#25436B}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .lgpd-clock{background:#12233A;color:#8EC5FF;border-color:#25436B}}
:root[data-theme="dark"] .lgpd-renew:hover{background:#12233A;color:#8EC5FF;border-color:#25436B}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .lgpd-renew:hover{background:#12233A;color:#8EC5FF;border-color:#25436B}}

/* ---- Magic Bento (bordas dos imóveis) — vanilla, paleta Rubio ---- */
.card.bento-card{--glow-x:50%;--glow-y:50%;--glow-intensity:0;--glow-radius:300px;--glow-color:193,18,31}
.card.bento-card::after{content:'';position:absolute;inset:0;padding:2px;border-radius:inherit;pointer-events:none;z-index:4;
  background:radial-gradient(var(--glow-radius) circle at var(--glow-x) var(--glow-y),
    rgba(var(--glow-color),calc(var(--glow-intensity)*0.9)) 0%,
    rgba(var(--glow-color),calc(var(--glow-intensity)*0.4)) 30%, transparent 62%);
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;
  mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;
  transition:opacity .3s ease}
.card.bento-card:hover{box-shadow:0 6px 22px color-mix(in srgb,rgba(193,18,31,1) 22%,transparent),0 12px 30px rgba(27,20,18,.14)}
.global-spotlight{position:fixed;width:640px;height:640px;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:3;opacity:0;mix-blend-mode:multiply;transition:opacity .28s ease;will-change:left,top,opacity}
:root[data-theme="dark"] .global-spotlight{mix-blend-mode:screen}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .global-spotlight{mix-blend-mode:screen}}
@media(prefers-reduced-motion:reduce){.card.bento-card::after{transition:none}.global-spotlight{display:none}}

/* ---- DriftWall (banner superior 3D com imóveis) — porte vanilla, paleta Rubio ---- */
.driftbanner{position:relative;height:400px;overflow:hidden;background:#120F17;isolation:isolate}
.driftwall{position:absolute;inset:-16% -8%;display:flex;gap:16px;justify-content:center;
  transform:perspective(1200px) rotateX(16deg) rotateZ(-8deg) scale(1.18);transform-origin:center;z-index:1}
.drift-col{display:flex;flex-direction:column;gap:16px;animation:driftUp 42s linear infinite;will-change:transform}
.drift-col.d1{animation-name:driftDown;animation-duration:50s}
.drift-col.d2{animation-duration:36s}
.drift-col.d3{animation-name:driftDown;animation-duration:46s}
.drift-col.d4{animation-duration:54s}
.drift-tile{flex:none;width:210px;height:140px;border-radius:12px;overflow:hidden;background:#222;box-shadow:0 12px 34px rgba(0,0,0,.55)}
.drift-tile img{width:100%;height:100%;object-fit:cover;display:block}
@keyframes driftUp{from{transform:translateY(0)}to{transform:translateY(-50%)}}
@keyframes driftDown{from{transform:translateY(-50%)}to{transform:translateY(0)}}
.drift-overlay{position:absolute;inset:0;z-index:2;background:
  linear-gradient(180deg,rgba(18,15,23,.62) 0%,rgba(18,15,23,.35) 38%,rgba(139,13,22,.32) 78%,rgba(18,15,23,.9) 100%),
  radial-gradient(circle at 50% 42%,transparent 0%,rgba(18,15,23,.55) 75%)}
.drift-hero{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;padding:20px}
.drift-hero .eyebrow{color:#fff;opacity:.85;margin-bottom:6px}
.drift-hero h1{font-size:clamp(30px,6.5vw,58px);font-weight:850;letter-spacing:-.02em;text-shadow:0 3px 22px rgba(0,0,0,.55);text-transform:uppercase}
.drift-hero p{opacity:.94;margin:8px 0 18px;font-size:16.5px;text-shadow:0 2px 12px rgba(0,0,0,.5)}
.drift-hero .drift-cta{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.drift-hero .btn{padding:12px 20px}
@media(prefers-reduced-motion:reduce){.drift-col{animation:none}}
@media(max-width:640px){.driftbanner{height:320px}.drift-tile{width:150px;height:100px}}

/* ---- Por tipo de imóvel · GooeyNav (porte reactbits) + prévia ---- */
.tipo-sec{background:var(--surface-2);position:relative;overflow:hidden}
.tipo-sec::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(130% 90% at 0% 0%,color-mix(in srgb,var(--accent) 9%,transparent),transparent 58%)}
.tipo-sec .wrap{position:relative}
.gooey-nav-container{position:relative;--color-1:var(--accent);--color-2:var(--accent);--color-3:var(--accent-deep);--color-4:var(--accent)}
.gooey-nav-container nav{display:flex;position:relative;transform:translate3d(0,0,0.01px)}
.gooey-nav-container nav ul{display:flex;flex-wrap:wrap;gap:.7em 1em;list-style:none;padding:0;margin:0;position:relative;z-index:3}
.gooey-nav-container nav ul li{border-radius:100vw;position:relative;cursor:pointer;transition:color .3s ease,box-shadow .25s ease,transform .2s ease,border-color .3s ease;color:var(--ink);font-weight:700;font-size:13.5px;border:1px solid var(--line);background:var(--surface)}
.gooey-nav-container nav ul li a{display:inline-block;padding:.5em 1.05em;color:inherit;text-decoration:none}
.gooey-nav-container nav ul li:hover{transform:translateY(-1px);box-shadow:0 4px 13px color-mix(in srgb,var(--accent) 20%,transparent)}
.gooey-nav-container nav ul li:focus-within:has(:focus-visible){box-shadow:0 0 0 2px var(--accent)}
.gooey-nav-container nav ul li::after{content:'';position:absolute;inset:0;border-radius:100vw;background:var(--accent);opacity:0;transform:scale(0);transition:all .3s ease;z-index:-1}
.gooey-nav-container nav ul li.active{color:#fff;background:var(--accent);border-color:transparent;box-shadow:0 6px 18px color-mix(in srgb,var(--accent) 38%,transparent)}
.gooey-nav-container nav ul li.active::after{opacity:1;transform:scale(1)}
.gooey-nav-container .effect{position:absolute;left:0;top:0;width:0;height:0;opacity:1;pointer-events:none;display:grid;place-items:center;z-index:1}
.gooey-nav-container .effect.text{color:#fff;font-weight:700;font-size:13.5px;transition:color .3s ease}
.gooey-nav-container .effect.filter{filter:blur(7px) contrast(100) blur(0);mix-blend-mode:multiply}
.gooey-nav-container .effect.filter::before{content:'';position:absolute;inset:-75px;z-index:-2;background:#fff}
.gooey-nav-container .effect.filter::after{content:'';position:absolute;inset:0;background:var(--accent);transform:scale(0);opacity:0;z-index:-1;border-radius:100vw}
.gooey-nav-container .effect.active::after{animation:gn-pill .3s ease both}
@keyframes gn-pill{to{transform:scale(1);opacity:1}}
.gooey-nav-container .particle,.gooey-nav-container .point{display:block;opacity:0;width:20px;height:20px;border-radius:100%;transform-origin:center}
.gooey-nav-container .particle{--time:5s;position:absolute;top:calc(50% - 8px);left:calc(50% - 8px);animation:gn-particle calc(var(--time)) ease 1 -350ms}
.gooey-nav-container .point{background:var(--color);opacity:1;animation:gn-point calc(var(--time)) ease 1 -350ms}
@keyframes gn-particle{0%{transform:rotate(0deg) translate(var(--start-x),var(--start-y));opacity:1;animation-timing-function:cubic-bezier(.55,0,1,.45)}70%{transform:rotate(calc(var(--rotate)*.5)) translate(calc(var(--end-x)*1.2),calc(var(--end-y)*1.2));opacity:1;animation-timing-function:ease}85%{transform:rotate(calc(var(--rotate)*.66)) translate(var(--end-x),var(--end-y));opacity:1}100%{transform:rotate(calc(var(--rotate)*1.2)) translate(calc(var(--end-x)*.5),calc(var(--end-y)*.5));opacity:1}}
@keyframes gn-point{0%{transform:scale(0);opacity:0;animation-timing-function:cubic-bezier(.55,0,1,.45)}25%{transform:scale(calc(var(--scale)*.25))}38%{opacity:1}65%{transform:scale(var(--scale));opacity:1;animation-timing-function:ease}85%{transform:scale(var(--scale));opacity:1}100%{transform:scale(0);opacity:0}}
@media(prefers-reduced-motion:reduce){.gooey-nav-container .particle,.gooey-nav-container .point{display:none}}
/* prévia dos 6 imóveis + botão do catálogo */
.tipo-preview{margin-top:20px;transition:opacity .2s ease}
.tipo-preview.loading{opacity:.4;pointer-events:none}
.tipo-grid{margin-bottom:4px}
.btn-catalogo{display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center;max-width:760px;margin:22px auto 0;padding:17px 26px;border-radius:16px;color:#fff;text-decoration:none;background:linear-gradient(135deg,var(--accent),var(--accent-deep));box-shadow:0 10px 30px color-mix(in srgb,var(--accent) 38%,transparent);transition:transform .15s ease,box-shadow .2s ease}
.btn-catalogo:hover{transform:translateY(-2px);box-shadow:0 16px 40px color-mix(in srgb,var(--accent) 50%,transparent)}
.btn-catalogo .bc-main{font-weight:850;font-size:15px;letter-spacing:.04em;text-transform:uppercase}
.btn-catalogo .bc-arrow{display:inline-block;transition:transform .2s ease}
.btn-catalogo:hover .bc-arrow{transform:translateX(4px)}
.btn-catalogo .bc-sub{font-size:12.5px;opacity:.9;font-weight:600}

/* ---- Ferramentas em azul (Estimativa de valor / Simulador) ---- */
.tool-blue{border-color:color-mix(in srgb,var(--info) 45%,var(--line))}
.tool-blue .ic{background:color-mix(in srgb,var(--info) 14%,transparent);color:var(--info)}
.tool-blue b{color:var(--info)}

/* ---- Dashboard: boas-vindas + changelog de updates ---- */
.welcome{display:grid;grid-template-columns:1fr 1.15fr;gap:16px;margin-bottom:16px}
@media(max-width:860px){.welcome{grid-template-columns:1fr}}
.wc-hi{background:linear-gradient(140deg,var(--accent),var(--accent-deep));color:#fff;border-radius:16px;padding:20px 22px;display:flex;flex-direction:column;justify-content:space-between;gap:16px;box-shadow:0 10px 26px color-mix(in srgb,var(--accent) 30%,transparent)}
.wc-eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.08em;opacity:.85}
.wc-hi h2{font-size:24px;font-weight:850;margin:2px 0;letter-spacing:-.02em}
.wc-hi h2 span{font-weight:400}
.wc-sub{opacity:.9;font-size:13.5px}
.wc-mini{display:flex;gap:22px;flex-wrap:wrap}
.wc-m b{display:block;font-size:22px;font-weight:850;line-height:1.1}
.wc-m span{font-size:11px;opacity:.85;text-transform:uppercase;letter-spacing:.04em}
.wc-updates{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px 18px}
.wc-uphead{font-weight:800;font-size:14px;margin-bottom:10px}
.wc-uplist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;max-height:240px;overflow:auto}
.wc-uplist li{display:flex;align-items:flex-start;gap:9px;font-size:13px;padding-bottom:8px;border-bottom:1px dashed var(--line)}
.wc-uplist li:last-child{border-bottom:0;padding-bottom:0}
.wc-n{font-weight:800;color:var(--accent);flex:none;font-variant-numeric:tabular-nums}
.wc-ic{flex:none}
.wc-txt{flex:1;display:flex;flex-direction:column;gap:1px}
.wc-txt b{font-weight:700}
.wc-txt small{color:var(--muted);font-size:11.5px;line-height:1.35}
.wc-uplist time{flex:none;color:var(--faint);font-size:11px;white-space:nowrap}

/* ================= React Bits: ImageTrail / ReflectiveCard / LiquidEther ================= */
/* ===== ImageTrail (rb-imagetrail.js) ===== */
/* RB ImageTrail — scoped styles. Nothing here leaks outside .rb-imagetrail. */
.rb-imagetrail {
  /* JS also enforces these; declared for no-flash safety. */
  position: relative;
  overflow: hidden;
}

.rb-imagetrail__content {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none; /* trail never blocks scroll/taps on the hero */
}

.rb-imagetrail__img {
  position: absolute;
  top: 0;
  left: 0;
  width: 190px;              /* overridden inline by JS from config */
  aspect-ratio: 1.1;
  border-radius: 16px;
  overflow: hidden;
  opacity: 0;                /* hidden until a tween activates it */
  will-change: transform, opacity;
  transform: translate(-9999px, -9999px);
  /* Contrast against the red (#C1121F) hero: white edge + soft glow. */
  border: 2px solid rgba(255, 255, 255, 0.92);
  box-shadow:
    0 10px 26px rgba(139, 13, 22, 0.38),   /* --accent-deep tinted */
    0 0 0 4px rgba(255, 255, 255, 0.14);
  background-color: #8B0D16; /* --accent-deep placeholder while img loads */
}

.rb-imagetrail__img-inner {
  position: absolute;
  top: -10px;
  left: -10px;
  width: calc(100% + 20px);
  height: calc(100% + 20px);
  background-position: 50% 50%;
  background-size: cover;
  background-repeat: no-repeat;
}

/* Smaller trail cards on narrow / mobile viewports. */
@media (max-width: 640px) {
  .rb-imagetrail__img { width: 132px; border-radius: 13px; }
}

/* Static, no motion when the user asks for reduced motion. */
@media (prefers-reduced-motion: reduce) {
  .rb-imagetrail__img { will-change: auto; transition: none; }
}


/* ===== ReflectiveCard (reflective-card.js) ===== */
/* ==== ReflectiveCard (vanilla) — scoped entirely under .reflective-card ==== */
.reflective-card{
  position:relative;
  width:340px; max-width:100%;
  border-radius:22px;
  overflow:hidden;
  isolation:isolate;                 /* keeps mix-blend-mode layers local */
  background:linear-gradient(135deg,#F6EDEA 0%,#ffffff 45%,#FBE4E4 75%,#ffffff 100%);
  box-shadow:0 18px 44px rgba(27,20,18,.18), 0 0 0 1px rgba(193,18,31,.06) inset;
  font-family:"Inter","Segoe UI",system-ui,-apple-system,sans-serif;
}
.reflective-card .rc-filters{position:absolute;width:0;height:0;opacity:0;pointer-events:none;}

/* Reflective glass/metal surface: light silver base + a touch of Rubio red, warped by the SVG filter */
.reflective-card .rc-surface{
  position:absolute; inset:-12%; z-index:0; pointer-events:none;
  background:
    radial-gradient(120% 92% at 32% 12%, #ffffff 0%, #F6EDEA 44%, #FBE4E4 78%, #ffffff 100%),
    linear-gradient(135deg, rgba(193,18,31,.12), rgba(255,255,255,0) 55%);
  background-blend-mode:screen;
  will-change:filter;
}

/* Fine grain (roughness) */
.reflective-card .rc-noise{
  position:absolute; inset:0; z-index:1; pointer-events:none; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* Mouse-following gloss (metalness). --mx/--my set by JS */
.reflective-card .rc-sheen{
  position:absolute; inset:0; z-index:2; pointer-events:none; mix-blend-mode:screen;
  --mx:50%; --my:32%;
  background:
    radial-gradient(58% 52% at var(--mx) var(--my),
      rgba(255,255,255,.72) 0%, rgba(255,255,255,.16) 40%, rgba(255,255,255,0) 64%),
    linear-gradient(135deg, rgba(255,255,255,.35) 0%, rgba(255,255,255,0) 45%,
      rgba(255,255,255,0) 60%, rgba(255,255,255,.24) 100%);
  transition:background-position .05s linear;
}

/* Bright rim (above everything, never covers text) */
.reflective-card .rc-border{
  position:absolute; inset:0; z-index:30; pointer-events:none; border-radius:22px; padding:1px;
  background:linear-gradient(135deg, rgba(255,255,255,.92) 0%, rgba(193,18,31,.28) 50%, rgba(255,255,255,.72) 100%);
  -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;
          mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
          mask-composite:exclude;
}

/* Readable, clickable content sits ABOVE the effect */
.reflective-card .rc-content{
  position:relative; z-index:10;
  color:var(--rc-text,#1B1412);
  background:var(--rc-overlay, rgba(255,255,255,.06));
  padding:26px 24px 24px;
  display:flex; flex-direction:column; align-items:center; text-align:center; gap:12px;
}

/* ---- Profile content (fundadora) ---- */
.reflective-card .rc-avatar{
  width:104px; height:104px; border-radius:50%; object-fit:cover;
  border:3px solid #ffffff;
  box-shadow:0 8px 20px rgba(27,20,18,.22), 0 0 0 2px rgba(193,18,31,.18);
  background:#F6EDEA;
}
.reflective-card .rc-name{ margin:6px 0 0; font-size:20px; font-weight:800; letter-spacing:.01em; color:#1B1412; }
.reflective-card .rc-role{ margin:0; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:#C1121F; font-weight:700; }
.reflective-card .rc-creci{
  display:inline-block; margin-top:2px; padding:3px 10px; font-size:11px; font-weight:700; letter-spacing:.06em;
  color:#8B0D16; background:#FBE4E4; border:1px solid #EBDFDA; border-radius:999px;
}
.reflective-card .rc-meta{ margin:6px 0 2px; padding:0; list-style:none; display:flex; flex-direction:column; gap:6px; width:100%; }
.reflective-card .rc-meta li{ font-size:13px; line-height:1.35; color:#1B1412; }
.reflective-card .rc-meta .rc-label{ display:block; font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:#8B7A74; margin-bottom:1px; }
.reflective-card .rc-meta a{ color:#1B1412; text-decoration:none; }
.reflective-card .rc-meta a:hover{ color:#C1121F; }
.reflective-card hr.rc-sep{ width:100%; border:0; border-top:1px solid #EBDFDA; margin:4px 0; }
.reflective-card .rc-wa{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  margin-top:8px; padding:11px 20px; width:100%;
  font-size:14px; font-weight:800; letter-spacing:.02em;
  color:#ffffff; background:#C1121F; border:1px solid #8B0D16; border-radius:12px;
  text-decoration:none; cursor:pointer;
  box-shadow:0 8px 18px rgba(193,18,31,.28);
  transition:background .15s ease, transform .1s ease;
}
.reflective-card .rc-wa:hover{ background:#8B0D16; }
.reflective-card .rc-wa:active{ transform:translateY(1px); }
.reflective-card .rc-wa svg{ width:18px; height:18px; fill:currentColor; }

@media (prefers-reduced-motion: reduce){
  .reflective-card .rc-sheen{ transition:none; }
}


/* ===== LiquidEther (rb-liquid.js) ===== */
/* ============================================================================
 * RB LiquidEther — estilos escopados (nao vazam para o resto da pagina)
 * O JS ja aplica os estilos essenciais inline; este CSS e um reforco e cobre
 * o fallback estatico do prefers-reduced-motion.
 * ========================================================================== */

[data-rb-liquid] {
  position: relative;         /* contexto de posicionamento p/ o canvas */
}

[data-rb-liquid] > .rb-liquid-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;                 /* fundo */
  display: block;
  pointer-events: none;       /* cliques passam para o conteudo do card */
  border-radius: inherit;     /* respeita cantos arredondados do card */
}

/* O conteudo do card deve ficar acima do fluido (z-index:1).
   O JS eleva filhos estaticos automaticamente; esta classe e opcional
   caso voce prefira marcar o conteudo explicitamente no HTML. */
[data-rb-liquid] > .rb-liquid-content {
  position: relative;
  z-index: 1;
}

/* Fallback estatico: alem do frame unico desenhado pelo JS, um gradiente
   Rubio suave garante um fundo agradavel mesmo sem animacao. */
@media (prefers-reduced-motion: reduce) {
  [data-rb-liquid] {
    background-image:
      radial-gradient(60% 80% at 18% 22%, rgba(193, 18, 31, 0.10), transparent 60%),
      radial-gradient(55% 75% at 82% 78%, rgba(139, 13, 22, 0.10), transparent 62%),
      radial-gradient(70% 90% at 60% 30%, rgba(251, 228, 228, 0.55), transparent 70%);
  }
}

/* ---- Integração React Bits na Empresa/CTA ---- */
.emp-hero{position:relative;overflow:hidden}
.emp-hero .wrap{position:relative;z-index:2;pointer-events:none}
.emp-hero .wrap .eyebrow,.emp-hero .wrap h1,.emp-hero .wrap p{pointer-events:auto}
.emp-hero-trail{position:absolute;top:0;right:0;bottom:0;width:68%;z-index:1}
@media(max-width:820px){.emp-hero-trail{display:none}}
.emp-founder.reflective-card{margin:0 auto 12px;width:100%;max-width:340px}
.cta-sonho{display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between;position:relative;overflow:hidden}
.cta-foto{width:120px;height:120px;border-radius:16px;object-fit:cover;flex:none;box-shadow:0 8px 22px rgba(27,20,18,.18)}
.cta-txt{flex:1;min-width:200px}
.cta-actions{display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:560px){.cta-foto{width:74px;height:74px}}

/* ---- Notificações (sino) + pull-to-refresh ---- */
.notif-wrap{position:relative}
.notif-badge{position:absolute;top:-4px;right:-4px;background:var(--accent);color:#fff;font-size:10px;font-weight:800;min-width:16px;height:16px;border-radius:9px;display:grid;place-items:center;padding:0 3px}
.notif-panel{position:absolute;top:46px;right:0;width:300px;max-width:88vw;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);z-index:70;display:none;overflow:hidden}
.notif-panel.on{display:block}
.np-head{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;font-weight:800;font-size:13.5px;border-bottom:1px solid var(--line)}
.np-test{font-size:11px;font-weight:700;color:var(--accent);background:var(--accent-soft);border:0;border-radius:8px;padding:4px 8px;cursor:pointer}
.np-list{max-height:320px;overflow:auto}
.np-empty{padding:18px 14px;color:var(--muted);font-size:13px;text-align:center}
.np-item{display:block;padding:10px 14px;border-bottom:1px solid var(--line)}
.np-item:last-of-type{border-bottom:0}
.np-item:hover{background:var(--surface-2)}
.np-t{font-weight:700;font-size:13px}
.np-c{color:var(--muted);font-size:12px;margin-top:1px}
.np-item time{color:var(--faint);font-size:10.5px}
.np-enable{width:100%;border:0;border-top:1px solid var(--line);background:var(--surface);color:var(--accent);font-weight:700;font-size:13px;padding:11px;cursor:pointer}
.np-enable:hover{background:var(--surface-2)}
.ptr-ind{position:fixed;top:-60px;left:50%;transform:translate(-50%,-60px);z-index:200;background:var(--accent);color:#fff;font-size:12.5px;font-weight:700;padding:8px 16px;border-radius:999px;box-shadow:var(--shadow);opacity:0;transition:opacity .15s ease;pointer-events:none}

/* ---- Clientes: linhas clicáveis + formulário de edição (upgrade do ERP antigo) ---- */
.tbl.tbl-click tr.row-click{cursor:pointer;transition:background .12s ease}
.tbl.tbl-click tr.row-click:hover{background:var(--surface-2)}
.tbl.tbl-click tr.row-click:hover .row-edit{opacity:1;color:var(--accent)}
.row-edit{text-align:right;color:var(--faint);opacity:.45;width:34px}
.tbl.tbl-click .nm a{color:var(--ink);font-weight:600}
.tbl.tbl-click tr.row-click:hover .nm a{color:var(--accent)}
.cliente-form .cf-sec{font-size:12.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--accent);margin:6px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--line)}
.cliente-form .cf-sec:not(:first-child){margin-top:22px}
.cf-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px 14px}
.cf-grid .cf-2{grid-column:span 2}
.cf-grid .cf-3{grid-column:span 3}
@media(max-width:760px){.cf-grid{grid-template-columns:1fr 1fr}.cf-grid .cf-2,.cf-grid .cf-3{grid-column:span 2}}
@media(max-width:480px){.cf-grid{grid-template-columns:1fr}.cf-grid .cf-2,.cf-grid .cf-3{grid-column:span 1}}
.cliente-form .field{margin:0}
.tel-list{display:flex;flex-direction:column;gap:8px}
.tel-row{display:grid;grid-template-columns:1.1fr 1fr 1fr 40px;gap:8px;align-items:center}
@media(max-width:640px){.tel-row{grid-template-columns:1fr 1fr}.tel-row .tel-del{grid-column:2;justify-self:end}}
.tel-row input{width:100%;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;padding:10px 11px;font-size:14px}
.tel-row input:focus{border-color:var(--accent);outline:0}
.tel-del{width:38px;height:38px;border:1px solid var(--line);background:var(--surface);color:var(--crit);border-radius:10px;cursor:pointer;font-size:14px}
.tel-del:hover{background:var(--accent-soft)}
.cf-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:22px;padding-top:16px;border-top:1px solid var(--line)}
.cf-meta{font-size:12px;color:var(--faint);margin-left:auto}

/* ---- Botão "Voltar pro Site" (topo da sidebar do painel) ---- */
.back-site{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 0 12px;padding:12px 14px;border-radius:12px;font-weight:800;font-size:14px;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-deep));box-shadow:0 6px 18px color-mix(in srgb,var(--accent) 42%,transparent);transition:transform .15s ease,box-shadow .2s ease;animation:bs-pulse 2.4s ease-in-out infinite}
.back-site:hover{transform:translateY(-1px);box-shadow:0 10px 26px color-mix(in srgb,var(--accent) 55%,transparent);color:#fff}
.back-site .bs-go{opacity:.85;font-size:12px}
.back-site .bs-ico{font-size:16px;font-weight:900}
@keyframes bs-pulse{0%,100%{box-shadow:0 6px 18px color-mix(in srgb,var(--accent) 42%,transparent)}50%{box-shadow:0 8px 24px color-mix(in srgb,var(--accent) 72%,transparent)}}
@media(prefers-reduced-motion:reduce){.back-site{animation:none}}

/* ---- Painel de administração do imóvel (proprietário + datas) ---- */
.imv-admin{margin-bottom:16px;max-width:780px}
.imv-admin .imv-lbl{font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.imv-owner{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;padding:11px 13px;border:1px solid var(--line);border-radius:12px;margin-bottom:8px;background:var(--surface-2)}
.imv-oname{font-weight:700;font-size:15px;color:var(--accent)}
.imv-otel{font-size:13px;color:var(--ink)}
.imv-otel a{color:var(--wa-deep);font-weight:700}
.imv-ocity{font-size:12.5px;color:var(--muted)}
.imv-oficha{margin-left:auto;font-size:12.5px;font-weight:700;color:var(--accent)}
.imv-none{color:var(--muted);font-size:13.5px;padding:6px 0}
.imv-lgpd{font-size:12px;color:var(--warn);margin:2px 0 0}
.imv-dates{display:flex;flex-wrap:wrap;gap:6px 20px;margin-top:14px;padding-top:12px;border-top:1px dashed var(--line);font-size:12.5px;color:var(--muted)}
.imv-dates b{color:var(--ink);font-weight:600}

/* ---- Escolha de layout (Novo/Antigo) ---- */
.layout-pick{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:520px){.layout-pick{grid-template-columns:1fr}}
.lp-opt{text-align:left;background:var(--surface);border:2px solid var(--line);border-radius:12px;padding:16px;cursor:pointer;transition:border-color .15s,box-shadow .15s;display:flex;flex-direction:column;gap:4px}
.lp-opt:hover{border-color:var(--accent)}
.lp-opt.on{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}
.lp-t{font-weight:800;font-size:15px}
.lp-d{font-size:12.5px;color:var(--muted)}

/* ================= LAYOUT ANTIGO — skin clássico do ERP anterior (mesmos dados) ================= */
body.layout-antigo{
  --accent:#2f5c9e; --accent-deep:#22467a; --accent-soft:#e7eefa;
  --ground:#e9edf1; --surface:#ffffff; --surface-2:#f4f6f8; --surface-3:#e4e8ee;
  --ink:#222b36; --muted:#5b6673; --faint:#8a95a1; --line:#c6cfd8;
  --wa:#3aa856; --wa-deep:#2b8443; --radius:4px; --radius-sm:3px;
  --shadow:0 1px 2px rgba(0,0,0,.12);
  font-family:Verdana,Tahoma,Arial,sans-serif;
}
body.layout-antigo .panel,body.layout-antigo .card-pad,body.layout-antigo .kpi,body.layout-antigo .lp-opt,body.layout-antigo input,body.layout-antigo select,body.layout-antigo textarea,body.layout-antigo .btn,body.layout-antigo .avatar,body.layout-antigo .tbtn{border-radius:3px}
body.layout-antigo .panel{box-shadow:none;border:1px solid var(--line)}
body.layout-antigo .panel .ph3{background:#3f6bb0;color:#fff;border-bottom:1px solid var(--accent-deep);font-weight:700}
body.layout-antigo .btn-primary{background:#3f6bb0;background-image:none;border:1px solid #2f5c9e}
body.layout-antigo .btn-primary:hover{background:#2f5c9e}
body.layout-antigo .tbl{border:1px solid var(--line)}
body.layout-antigo .tbl th{background:#dfe6ee;color:#2b3a4d;border-bottom:2px solid #c0cad6;font-weight:700}
body.layout-antigo .tbl td{border-bottom:1px solid #e2e7ee;border-right:1px solid #eef1f5}
body.layout-antigo .tbl tr:nth-child(even) td{background:#f7f9fb}
body.layout-antigo .side{background:#2b3a4d;border-right:1px solid #1f2b3a}
body.layout-antigo .side nav a,body.layout-antigo .side .grp,body.layout-antigo .side>a,body.layout-antigo .side .brand div{color:#dfe6ee}
body.layout-antigo .side nav a.on,body.layout-antigo .side nav a:hover{background:#3f6bb0;color:#fff}
body.layout-antigo .back-site{background:#3aa856;background-image:none;animation:none}
body.layout-antigo .wc-hi{background:#3f6bb0;background-image:none}
body.layout-antigo .kpi{border:1px solid var(--line);box-shadow:none}
body.layout-antigo .kpi .v{color:#2f5c9e}
body.layout-antigo .cf-sec{background:#e4e8ee;color:#2b3a4d;border:1px solid var(--line);border-left:0;border-right:0;padding:7px 10px}
body.layout-antigo .imv-admin .imv-lbl{color:#2b3a4d}

/* ---- Tema Antigo: menu no estilo ERP (barras azuis, MAIÚSCULAS, sem ícones) ---- */
body.layout-antigo .side{background:#ffffff;border-right:1px solid #b9c4d0;padding-top:10px}
body.layout-antigo .side .brand div,body.layout-antigo .side .brand small{color:#2b3a4d}
body.layout-antigo .side nav{gap:2px;margin-top:6px}
body.layout-antigo .side nav a{background:#1f5fa8;color:#fff;text-transform:uppercase;font-weight:700;font-size:12px;letter-spacing:.02em;padding:10px 12px;border-radius:0;border:0;border-bottom:1px solid #17497f;margin:0}
body.layout-antigo .side nav a:hover,body.layout-antigo .side nav a.on{background:#2c74c4;color:#fff}
body.layout-antigo .side nav a .navico{display:none}
body.layout-antigo .side .grp{display:none}
body.layout-antigo .side>a[href$="logout"]{background:#e9edf1;color:#2b3a4d;border:1px solid #c6cfd8;text-align:center;margin-top:10px;font-weight:700}
body.layout-antigo .back-site{background:#2c74c4;color:#fff}

/* ---- Tema Antigo: menu em 2 níveis (cabeçalho + Inserir/Administrar), estilo ERP ---- */
body.layout-antigo .nav-antigo{display:flex;flex-direction:column}
body.layout-antigo .nav-antigo .erp-sec{background:#1f5fa8;color:#fff;text-transform:uppercase;font-weight:700;font-size:12px;letter-spacing:.02em;padding:9px 12px;border-bottom:1px solid #17497f}
body.layout-antigo .nav-antigo a.erp-sub{display:block;background:#fff;color:#243447;font-size:12.5px;font-weight:400;text-transform:none;letter-spacing:0;padding:7px 12px 7px 18px;border-bottom:1px solid #e2e7ee;border-radius:0}
body.layout-antigo .nav-antigo a.erp-sub:hover{background:#eaf1fb;color:#1f5fa8}
body.layout-antigo .nav-antigo a.erp-sub.on{background:#eaf1fb;color:#1f5fa8;font-weight:700}

/* ---- Tema Antigo: menu acordeão (seções fecham; abrem ao clicar) ---- */
body.layout-antigo .nav-antigo .erp-sec{width:100%;border:0;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:space-between;gap:8px}
body.layout-antigo .nav-antigo .erp-caret{font-size:10px;opacity:.9;transition:transform .15s ease}
body.layout-antigo .nav-antigo .erp-grp.open .erp-caret{transform:rotate(90deg)}
body.layout-antigo .nav-antigo .erp-subs{display:none}
body.layout-antigo .nav-antigo .erp-grp.open .erp-subs{display:block}
