/* ===================================================================
   COFRE FINANCEIRO — Design System "Old Money Verde" (paleta do João)
   Verde escuro nobre + preto fosco no cofre + dourado envelhecido.
   Compartilhado por: home, páginas de ação e rankings.
=================================================================== */
*{margin:0;padding:0;box-sizing:border-box}
:root{
  /* base verde */
  --green:#0F3B2E; --green-deep:#0A2E24; --green-moss:#123E31;
  /* cofre (preto fosco) */
  --vault-black:#111111; --charcoal:#1A1A1A;
  /* dourados */
  --gold:#C89B3C; --gold-deep:#B8862B; --gold-lt:#E8D6A5; --gold-hi:#D6A84B;
  /* cards */
  --card:#2A2118; --card-2:#211a12; --card-bd:rgba(200,155,60,.45); --card-hi:#D6A84B;
  /* textos */
  --txt:#F5E7C2; --txt2:#D8C79A; --txt3:#A89264;
  /* mercado */
  --up:#4FAF68; --down:#C44E4E;
  /* utilitárias */
  --line:rgba(200,155,60,.26); --line-2:rgba(200,155,60,.14);
  --serif:'Playfair Display',Georgia,serif; --body:'EB Garamond',Georgia,serif; --mono:'Space Mono',monospace;
}
html{scroll-behavior:smooth}
body{
  background:var(--green-deep);
  color:var(--txt);font-family:var(--body);font-size:18px;line-height:1.7;
  -webkit-font-smoothing:antialiased;overflow-x:clip;position:relative;min-height:100vh}
/* fundo verde texturizado nobre (couro/parede) — gradientes + grão sutil esverdeado */
body::before{content:"";position:fixed;inset:0;z-index:-3;pointer-events:none;
  background:
    radial-gradient(120% 90% at 50% -10%,rgba(28,86,66,.55),transparent 55%),
    radial-gradient(100% 80% at 50% 120%,rgba(6,24,18,.9),transparent 60%),
    linear-gradient(160deg,var(--green) 0%,var(--green-deep) 55%,#08231b 100%)}
body::after{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;opacity:.05;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
a{color:var(--gold-lt);text-decoration:none;transition:color .2s}
a:hover{color:var(--gold-hi)}
:focus-visible{outline:2px solid var(--gold-lt);outline-offset:2px;border-radius:3px}
.serif{font-family:var(--serif)}
.ey{font-family:var(--body);font-size:12px;letter-spacing:.4em;text-transform:uppercase;color:var(--gold);font-weight:600}
.gold{color:var(--gold-lt)} .up{color:var(--up)} .down{color:var(--down)}
.mono{font-family:var(--mono)}

/* ===== Ticker ===== */
.ticker{position:relative;z-index:6;background:linear-gradient(#0c2c22,#0a261d);border-bottom:1px solid var(--line);overflow:hidden;height:36px;display:flex;align-items:center}
.ticker-track{display:flex;gap:46px;white-space:nowrap;animation:tick 48s linear infinite;padding-left:46px}
.ticker:hover .ticker-track{animation-play-state:paused}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.tk{display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);font-size:11.5px;letter-spacing:.02em;color:var(--txt2)}
.tk b{color:var(--txt);font-weight:400}
.tk .sym{color:var(--gold);letter-spacing:.1em}
.tk .chg.up{color:var(--up)} .tk .chg.down{color:var(--down)}
.tk.fii .sym{color:var(--gold-lt)}
.tk.crypto{opacity:.6} .tk.crypto .sym{color:var(--txt3);letter-spacing:.08em}

/* ===== Header ===== */
header.top{display:flex;align-items:center;justify-content:space-between;padding:18px 34px;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;
  background:linear-gradient(rgba(10,40,30,.93),rgba(10,40,30,.82));backdrop-filter:blur(9px)}
.hbrand{display:flex;align-items:center;gap:13px}
.hbrand img{width:40px;height:40px;border-radius:50%;object-fit:cover;border:1px solid var(--line);
  filter:hue-rotate(128deg) saturate(.72) brightness(1.06) sepia(.1) contrast(1.04)}
.hbrand .nm{font-family:var(--serif);font-size:19px;font-weight:700;letter-spacing:.06em;color:var(--txt)}
.hbrand .nm b{color:var(--gold)}
.hnet{font-size:13px;letter-spacing:.12em;color:var(--txt3);text-transform:uppercase}
.hnet a{color:var(--gold-lt)}
.hback{font-family:var(--mono);font-size:12.5px;color:var(--gold-lt);display:inline-flex;align-items:center;gap:7px}
.hback:hover{color:var(--gold-hi)}

/* ===== Botões ===== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;cursor:pointer;
  font-family:var(--body);font-size:15px;letter-spacing:.02em;padding:11px 20px;border-radius:10px;
  border:1px solid var(--card-bd);background:linear-gradient(165deg,rgba(42,33,24,.6),rgba(26,20,14,.5));
  color:var(--gold-lt);transition:border-color .25s,box-shadow .25s,color .25s,transform .15s}
.btn:hover{border-color:var(--gold-hi);color:var(--txt);box-shadow:0 0 18px rgba(214,168,75,.22),inset 0 0 22px rgba(200,155,60,.08)}
.btn:active{transform:translateY(1px)}
.btn .ar{transition:transform .25s}
.btn:hover .ar{transform:translateX(5px)}
.btn-solid{background:linear-gradient(165deg,var(--gold-lt),var(--gold-deep));color:#22190c;border-color:var(--gold-deep);font-weight:600}
.btn-solid:hover{color:#1a1206;box-shadow:0 0 20px rgba(214,168,75,.4)}

/* ===== Selo / monograma de empresa ===== */
.logo-tile{flex:none;width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;overflow:hidden;
  font-family:var(--mono);font-weight:700;font-size:13px;letter-spacing:.02em;
  background:#F4EFE3;color:var(--ttx,#fff);box-shadow:inset 0 0 0 1px rgba(0,0,0,.1),0 2px 6px rgba(0,0,0,.4)}
.logo-tile .logo-img{width:80%;height:80%;object-fit:contain;display:block}
.logo-tile.mono{background:var(--tbg,#1d1d1d)}
.logo-tile.sm{width:30px;height:30px;border-radius:9px;font-size:11px}
.logo-tile.lg{width:60px;height:60px;border-radius:16px;font-size:18px}

/* ===== Cards premium ===== */
.card{position:relative;display:flex;flex-direction:column;background:linear-gradient(168deg,var(--card),var(--card-2));border:1px solid var(--card-bd);
  border-radius:16px;padding:24px 22px;overflow:hidden;box-shadow:0 1px 0 rgba(232,214,165,.06) inset,0 18px 50px -30px rgba(0,0,0,.8)}
.card::before{content:"";position:absolute;inset:0;border-radius:16px;pointer-events:none;
  background:linear-gradient(160deg,rgba(232,214,165,.08),transparent 42%)}
.card-h{display:flex;align-items:flex-start;gap:13px;margin-bottom:6px}
.card-h .ic{flex:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--gold)}
.card-h .ic svg{width:20px;height:20px;stroke:var(--gold);stroke-width:1.6}
.card-h h3{font-family:var(--serif);font-size:23px;font-weight:700;color:var(--txt);line-height:1.12}
.card-h p{font-size:13.5px;color:var(--txt3);margin-top:3px;line-height:1.4}
.card-rule{height:1px;background:var(--line);margin:16px 0}
.card-foot{margin-top:auto;padding-top:16px}
.card-upd{margin-top:12px;display:flex;align-items:center;justify-content:center;gap:7px;font-family:var(--mono);font-size:11.5px;color:var(--txt3)}
.card-upd svg{width:13px;height:13px;stroke:var(--txt3);stroke-width:1.6}

/* card 1 — mais negociadas (mini tabela) */
.mn-row{display:grid;grid-template-columns:auto 1fr auto auto auto;align-items:center;gap:12px;padding:11px 6px;border-top:1px solid var(--line-2);cursor:pointer;border-radius:8px;transition:background .2s}
.mn-row:first-of-type{border-top:none}
.mn-row:hover{background:rgba(200,155,60,.07)}
.mn-head{display:grid;grid-template-columns:auto 1fr auto auto auto;gap:12px;padding:0 6px 8px;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);border-bottom:1px solid var(--line)}
.mn-head span:nth-child(n+3){text-align:right}
.mn-tk{font-family:var(--mono);font-weight:700;color:var(--txt);font-size:14.5px;letter-spacing:.04em}
.mn-price,.mn-chg,.mn-vol{font-family:var(--mono);text-align:right;font-size:13.5px}
.mn-price{color:var(--txt)} .mn-vol{color:var(--txt3)}
.mn-chg{font-weight:700} .mn-chg.up{color:var(--up)} .mn-chg.down{color:var(--down)}

/* card 2 — oportunidades (tese) */
.op-row{display:flex;align-items:center;gap:13px;padding:13px 6px;border-top:1px solid var(--line-2);cursor:pointer;border-radius:8px;transition:background .2s}
.op-row:first-of-type{border-top:none}
.op-row:hover{background:rgba(200,155,60,.07)}
.op-tk{font-family:var(--mono);font-weight:700;color:var(--gold-lt);font-size:14px;letter-spacing:.04em;flex:none;min-width:62px}
.op-tese{font-size:14.5px;color:var(--txt2);line-height:1.4}
.op-score{flex:none;font-family:var(--mono);font-size:11px;color:var(--gold);border:1px solid var(--line);border-radius:20px;padding:2px 8px}

/* ===== HOME — hero com cofre ao centro ===== */
.home{max-width:1480px;margin:0 auto;padding:34px 28px 20px}
.home-hero{display:grid;grid-template-columns:minmax(300px,1fr) minmax(420px,1.25fr) minmax(300px,1fr);gap:26px;align-items:center}
.hero-center{text-align:center;display:flex;flex-direction:column;align-items:center;min-width:0}
.hero-eyebrow{margin:2px 0 8px;display:flex;align-items:center;justify-content:center;gap:14px;color:var(--gold)}
.hero-eyebrow .ln{height:1px;width:48px;background:linear-gradient(90deg,transparent,var(--gold-deep))}
.hero-eyebrow .ln.r{background:linear-gradient(90deg,var(--gold-deep),transparent)}
.hero-center h1{font-family:var(--serif);font-weight:800;font-size:clamp(30px,3.8vw,50px);line-height:1.05;color:var(--txt);letter-spacing:-.01em}
.hero-center h1 .it{font-style:italic;font-weight:600;color:var(--gold-lt)}
.hero-center .sub{font-size:clamp(15px,1.5vw,17.5px);color:var(--txt2);max-width:440px;margin:12px auto 0;line-height:1.55}
.hero-orn{margin-top:26px;color:var(--gold-deep);font-size:13px;letter-spacing:.3em}

/* o cofre (centro): moldura preto fosco + detalhes dourados */
.vault{position:relative;width:min(40vw,400px);aspect-ratio:1;margin:0 auto;cursor:pointer;perspective:1200px}
.vault-frame{position:absolute;inset:0;border-radius:50%;
  background:radial-gradient(circle at 50% 42%,var(--charcoal),var(--vault-black) 70%);
  box-shadow:0 0 0 2px var(--gold-deep),0 0 0 12px var(--vault-black),0 0 0 13px rgba(200,155,60,.35),
    0 34px 90px rgba(0,0,0,.7),inset 0 0 60px rgba(0,0,0,.8)}
.vault-ring{position:absolute;inset:18px;border-radius:50%;border:1px solid rgba(200,155,60,.4);animation:vspin 64s linear infinite}
.vault-ring::before,.vault-ring::after{content:"";position:absolute;width:6px;height:6px;border-radius:50%;background:var(--gold);left:50%;margin-left:-3px;box-shadow:0 0 10px var(--gold-lt)}
.vault-ring::before{top:-3px}.vault-ring::after{bottom:-3px}
@keyframes vspin{to{transform:rotate(360deg)}}
.vault-glow{position:absolute;inset:6%;border-radius:50%;background:radial-gradient(circle at 50% 46%,rgba(232,214,165,.16),transparent 62%);animation:vpulse 6s ease-in-out infinite;pointer-events:none}
@keyframes vpulse{0%,100%{opacity:.6}50%{opacity:1}}
.vault-door{position:absolute;inset:11%;border-radius:50%;overflow:hidden;box-shadow:inset 0 0 0 2px rgba(200,155,60,.35),0 16px 40px rgba(0,0,0,.6);transition:transform .2s}
.vault-door img{width:100%;height:100%;object-fit:cover;filter:hue-rotate(128deg) saturate(.6) brightness(.96) contrast(1.06) sepia(.12)}
.vault:hover .vault-door{transform:scale(1.015)}
.vault-cap{position:absolute;left:0;right:0;bottom:-2px;text-align:center}
.vault-hint{font-family:var(--mono);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-lt);opacity:.85}

/* ===== Transição: o cofre abre e leva pra outra página ===== */
.vault-transition{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;
  background:radial-gradient(circle at 50% 50%,#0c2c22,#06140f 70%);opacity:0;pointer-events:none}
.vault-transition.on{opacity:1;pointer-events:all;animation:vtFade .25s ease both}
@keyframes vtFade{from{opacity:0}to{opacity:1}}
.vt-stage{position:relative;width:min(72vw,440px);aspect-ratio:1}
.vt-core{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle,var(--gold-lt),var(--gold) 40%,transparent 70%);opacity:0;transform:scale(.2)}
.vt-on .vt-core{animation:vtCore 1.05s ease-in both}
@keyframes vtCore{0%{opacity:0;transform:scale(.2)}55%{opacity:.5}100%{opacity:1;transform:scale(2.6)}}
.vt-door{position:absolute;inset:0;border-radius:50%;overflow:hidden;transform-origin:8% 50%;box-shadow:0 0 0 3px var(--gold-deep),0 30px 80px rgba(0,0,0,.7)}
.vt-door img{width:100%;height:100%;object-fit:cover;filter:hue-rotate(128deg) saturate(.6) brightness(.96) contrast(1.06) sepia(.12)}
.vt-on .vt-door{animation:vtDoor 1.05s cubic-bezier(.6,.02,.2,1) both}
@keyframes vtDoor{0%{transform:rotateY(0)}100%{transform:rotateY(-118deg)}}
.vt-label{position:absolute;left:0;right:0;bottom:-46px;text-align:center;font-family:var(--mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-lt);opacity:0}
.vt-on .vt-label{animation:vtLabel .8s ease .25s both}
@keyframes vtLabel{from{opacity:0}to{opacity:.95}}

/* ===== Faixa de selo educacional / fonte ===== */
.edu-strip{display:flex;flex-wrap:wrap;gap:10px 16px;justify-content:center;align-items:center;margin:30px auto 0;text-align:center}
.edu-seal{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-lt);border:1px solid var(--line);border-radius:30px;padding:6px 15px;background:rgba(10,40,30,.5)}
.edu-seal svg{width:13px;height:13px;stroke:var(--gold);stroke-width:1.6}
.edu-src{font-size:13px;color:var(--txt3)} .edu-src a{color:var(--gold-lt)}

/* ===== Hero centrado + Busca de ativos ===== */
.home-hero2{max-width:820px;margin:0 auto;text-align:center;padding:26px 20px 0;display:flex;flex-direction:column;align-items:center}
.asset-search-wrap{position:relative;width:100%;max-width:580px;margin:14px auto 0}
.asset-search{display:flex;align-items:center;gap:12px;background:linear-gradient(168deg,var(--card),var(--card-2));border:1px solid var(--card-bd);border-radius:14px;padding:4px 8px 4px 16px;box-shadow:0 18px 50px -30px rgba(0,0,0,.8)}
.asset-search:focus-within{border-color:var(--gold-hi);box-shadow:0 0 0 1px rgba(214,168,75,.3),0 18px 50px -28px rgba(0,0,0,.8)}
.asset-search .si{width:20px;height:20px;stroke:var(--gold);stroke-width:1.7;flex:none}
.asset-search input{flex:1;background:transparent;border:none;outline:none;color:var(--txt);font-family:var(--body);font-size:17px;padding:13px 0}
.asset-search input::placeholder{color:var(--txt3)}
.search-dd{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:40;background:#14130f;border:1px solid var(--card-bd);border-radius:14px;padding:6px;text-align:left;
  box-shadow:0 24px 60px rgba(0,0,0,.7);display:none;max-height:360px;overflow:auto}
.search-dd.on{display:block}
.sr-item{display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:10px;cursor:pointer}
.sr-item:hover,.sr-item.on{background:rgba(200,155,60,.1)}
.sr-tk{font-family:var(--mono);font-weight:700;color:var(--txt);font-size:14px;letter-spacing:.04em}
.sr-nm{flex:1;color:var(--txt3);font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sr-badge{flex:none;font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;border-radius:20px;padding:3px 9px}
.sr-badge.acao{color:var(--gold-lt);border:1px solid var(--line)}
.sr-badge.fii{color:#9fd0ac;border:1px solid rgba(79,175,104,.5);background:rgba(79,175,104,.1)}
.search-chips{display:flex;flex-wrap:wrap;gap:7px;align-items:center;justify-content:center;margin-top:9px}
.sr-sgl{font-size:12.5px;color:var(--txt3)}
.sr-chip{font-family:var(--mono);font-size:12px;color:var(--txt2);border:1px solid var(--line);border-radius:20px;padding:8px 13px;cursor:pointer;background:rgba(10,40,30,.4);transition:border-color .2s,color .2s}
.sr-chip:hover{border-color:var(--gold);color:var(--txt)}
/* ===== Seções e grade de mercado ===== */
.sec-title{text-align:center;margin:8px 0 14px}
.sec-title .ey{display:block;margin-bottom:8px}
.sec-title h2{font-family:var(--serif);font-size:clamp(23px,3.2vw,32px);color:var(--txt);font-weight:700}
.destaques{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:16px}
.dq{background:linear-gradient(168deg,var(--card),var(--card-2));border:1px solid var(--line);border-radius:14px;padding:16px 18px;cursor:pointer;transition:border-color .25s,transform .25s}
.dq:hover{border-color:var(--gold);transform:translateY(-4px)}
.dq-l{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.dq-b{display:flex;align-items:center;gap:9px;margin-bottom:8px}
.dq-tk{font-family:var(--mono);font-weight:700;color:var(--txt);font-size:15px}
.dq-v{font-family:var(--mono);font-size:15px;color:var(--txt2)}
.dq-v.up{color:var(--up)} .dq-v.down{color:var(--down)}
.mercado.wrap{max-width:1320px}
.market-grid{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:stretch}
@media(max-width:880px){.market-grid{grid-template-columns:1fr}}

/* ===== Hero em 3 colunas: painéis laterais + cofre protagonista ===== */
.hero3{display:grid;grid-template-columns:minmax(290px,400px) minmax(0,1fr) minmax(270px,330px);gap:34px;justify-content:center;align-items:start;max-width:1560px;margin:0 auto;padding:10px 30px 0}
.hero3 .hero-center{text-align:center;display:flex;flex-direction:column;align-items:center;min-width:0}
.hero3 .vault{width:min(100%,256px);margin:-8px auto 0}
.side-panel{position:relative;background:linear-gradient(168deg,rgba(20,44,34,.6),rgba(11,28,21,.5));backdrop-filter:blur(7px);
  border:1px solid var(--line);border-radius:16px;padding:18px 17px 16px;box-shadow:0 18px 50px -34px rgba(0,0,0,.8)}
.side-panel::before{content:"";position:absolute;inset:0;border-radius:16px;pointer-events:none;background:linear-gradient(160deg,rgba(232,214,165,.06),transparent 45%)}
.sp-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}
.sp-title{display:inline-flex;align-items:center;gap:8px;font-family:var(--serif);font-size:17.5px;color:var(--txt)}
.sp-title svg{width:17px;height:17px;stroke:var(--gold);stroke-width:1.7}
.sp-toggle{display:inline-flex;gap:2px;background:rgba(8,26,19,.6);border:1px solid var(--line-2);border-radius:20px;padding:2px}
.spt{font-family:var(--mono);font-size:10.5px;letter-spacing:.03em;color:var(--txt3);border:none;background:transparent;border-radius:20px;padding:5px 10px;cursor:pointer}
.spt.on{background:linear-gradient(165deg,var(--gold-lt),var(--gold-deep));color:#22190c;font-weight:700}
.sp-empty{font-size:12.5px;color:var(--txt3);font-style:italic;padding:14px 4px;text-align:center}
.sp-foot{margin-top:8px}
.sp-foot button{font-family:var(--mono);font-size:11.5px;color:var(--gold-lt);background:transparent;border:none;cursor:pointer;padding:6px 2px}
.sp-foot button:hover{color:var(--gold-hi)}
.sp-note{margin-top:11px;font-size:10px;color:var(--txt3);font-style:italic;text-align:center;border-top:1px solid var(--line-2);padding-top:9px}
.wl-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:10px 7px;border-top:1px solid var(--line-2);cursor:pointer;border-radius:8px}
.wl-row.rm{grid-template-columns:auto 1fr auto auto}
.wl-row:first-child{border-top:none}
.wl-row:hover{background:rgba(200,155,60,.06)}
.wl-tk{font-family:var(--mono);font-weight:700;font-size:13.5px;color:var(--txt);letter-spacing:.03em}
.wl-sub{font-size:10.5px;color:var(--txt3);font-family:var(--mono);margin-top:2px}
.wl-r{text-align:right}
.wl-price{font-family:var(--mono);font-size:13px;color:var(--txt)}
.wl-chg{font-family:var(--mono);font-size:11.5px;margin-top:2px}
.wl-chg.up{color:var(--up)} .wl-chg.down{color:var(--down)}
.wl-x{flex:none;width:22px;height:22px;border:none;background:transparent;color:var(--txt3);cursor:pointer;border-radius:50%;font-size:11px}
.wl-x:hover{color:var(--down);background:rgba(196,78,78,.12)}
.wl-add{margin-top:9px}
.wl-add>button{width:100%;font-family:var(--mono);font-size:11.5px;color:var(--gold-lt);background:rgba(8,26,19,.4);border:1px dashed var(--line);border-radius:9px;padding:9px;cursor:pointer}
.wl-add>button:hover{border-color:var(--gold);color:var(--txt)}
#wlAddBox{margin-top:8px}
#wlAddInp{width:100%;background:rgba(8,26,19,.6);border:1px solid var(--line);border-radius:8px;color:var(--txt);font-family:var(--body);font-size:14px;padding:8px 11px;outline:none}
#wlAddInp:focus{border-color:var(--gold-hi)}
.wl-addopt{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:8px;cursor:pointer}
.wl-addopt:hover,.wl-addopt.on{background:rgba(200,155,60,.13)}
.wl-addtk{font-family:var(--mono);font-weight:700;font-size:12px;color:var(--txt)}
.wl-addnm{font-size:11.5px;color:var(--txt3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.model-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.model-chip{font-family:var(--mono);font-size:10.5px;color:var(--txt2);border:1px solid var(--line);border-radius:20px;padding:6px 10px;cursor:pointer;background:rgba(8,26,19,.4)}
.model-chip.on{background:linear-gradient(165deg,var(--gold-lt),var(--gold-deep));color:#22190c;font-weight:700;border-color:var(--gold-deep)}
.atalho{display:flex;align-items:center;gap:12px;width:100%;padding:11px 9px;border:none;border-top:1px solid var(--line-2);background:transparent;cursor:pointer;color:var(--txt2);font-family:var(--body);font-size:14.5px;text-align:left;border-radius:8px}
.atalho:first-child{border-top:none}
.atalho:hover{background:rgba(200,155,60,.06);color:var(--txt)}
.atalho .ai{flex:none;width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:rgba(200,155,60,.1);border:1px solid var(--line-2)}
.atalho .ai svg{width:17px;height:17px;stroke:var(--gold);stroke-width:1.7}
.atalho .al{flex:1}
.atalho .ar{color:var(--gold-deep)}
.atalho:hover .ar{color:var(--gold-lt)}
@media(max-width:1200px){
  .hero3{grid-template-columns:1fr;max-width:600px;gap:18px}
  .hero3 .hero-center{order:-1}
  .side-panel{order:1}
  .hero3 .vault{width:min(72vw,320px)}
}

/* ===== Composição fina do João — só no desktop largo (3 colunas) ===== */
@media(min-width:1280px){
  .hero3 .hero-center{transform:translate(-14px,0)}
  .hero3 .hero-center .vault{transform:translate(0,-14px)}
  .hero3 .hero-center .hero-eyebrow{transform:translate(0,18px)}
  .hero3 .hero-center h1{transform:translate(0,32px)}
  .hero3 .hero-center .sub{transform:translate(0,28px);max-width:494px}
  .hero3 .asset-search-wrap{transform:translate(0,40px)}
  #carteiraPanel{transform:translate(-52px,0)}
  #atalhosPanel{transform:translate(0,18px)}
  .mercado.wrap{transform:translate(0,28px)}
  .mercado.wrap .sec-title .ey{transform:translate(0,14px)}
  .wrap{transform:translate(0,36px)}
  .inst{transform:translate(0,28px)}
  .disc-box .disc{transform:translate(0,32px)}
}

/* ===== Seções genéricas (biblioteca, institucional) ===== */
.wrap{max-width:1180px;margin:0 auto;padding:30px 28px 0}
.sec-head{text-align:center;margin-bottom:20px}
.sec-head h2{font-family:var(--serif);font-size:clamp(26px,3.6vw,38px);font-weight:700;color:var(--txt);margin:8px 0 6px}
.sec-head p{color:var(--txt3);font-size:16px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.dossie{display:block;position:relative;background:linear-gradient(168deg,var(--card),var(--card-2));border:1px solid var(--line);border-radius:12px;padding:22px;transition:border-color .3s,box-shadow .3s,transform .3s}
.dossie:hover{border-color:var(--gold);transform:translateY(-5px);box-shadow:0 16px 40px -22px rgba(200,155,60,.5)}
.dossie .num{font-family:var(--serif);font-size:14px;color:var(--gold-deep);font-weight:600;letter-spacing:.1em}
.dossie .cat{float:right;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--txt3)}
.dossie .rule{height:1px;background:var(--line);margin:13px 0}
.dossie h3{font-family:var(--serif);font-size:19px;font-weight:600;color:var(--txt);line-height:1.3;margin-bottom:14px}
.dossie .ft{display:flex;align-items:center;justify-content:space-between;font-size:13.5px;color:var(--txt3)}
.dossie .ft .read{color:var(--gold-lt)}
.inst{max-width:1180px;margin:30px auto 0;padding:0 28px}
.inst-in{display:grid;grid-template-columns:auto 1fr;gap:32px;align-items:center;background:linear-gradient(168deg,var(--green-moss),var(--green-deep));border:1px solid var(--line);border-radius:16px;padding:36px 38px}
.inst-logo img{width:120px;height:120px;border-radius:50%;object-fit:cover;border:1px solid var(--line);filter:hue-rotate(128deg) saturate(.72) brightness(1.04) sepia(.1) contrast(1.04)}
.inst .role{font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.inst h2{font-family:var(--serif);font-size:24px;color:var(--txt);margin-bottom:10px}
.inst p{color:var(--txt2);font-size:16.5px;line-height:1.62;max-width:640px}
.inst p em{color:var(--gold-lt);font-style:italic}
.disc-box{max-width:1180px;margin:24px auto 0;padding:0 28px}
.disc{border:1px solid var(--line);border-radius:12px;padding:20px 24px;font-size:14.5px;color:var(--txt3);line-height:1.6;background:rgba(10,40,30,.45);font-style:italic}
.disc b{color:var(--txt2);font-style:normal}
footer.site{max-width:1180px;margin:50px auto 0;padding:38px 28px 70px;border-top:1px solid var(--line);text-align:center}
footer.site img{width:46px;height:46px;border-radius:50%;object-fit:cover;filter:hue-rotate(128deg) saturate(.72) brightness(1.02) sepia(.1);margin-bottom:13px;opacity:.92}
footer.site .fn{font-family:var(--serif);font-size:18px;letter-spacing:.08em;color:var(--txt)}
footer.site .fn b{color:var(--gold)}
footer.site .fs{font-size:13.5px;color:var(--txt3);margin-top:7px}

/* ===== Footer-nav: mapa de seções (global) ===== */
.foot-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:30px 40px;text-align:left;max-width:980px;margin:0 auto 34px}
.fn-col h4{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin:0 0 14px;font-weight:600}
.fn-col a,.fn-col .fn-txt{display:block;color:var(--txt2);font-size:14.5px;line-height:1.55;padding:5px 0;transition:color .2s}
.fn-col a:hover{color:var(--gold-hi)}
.fn-col .fn-txt{color:var(--txt3)}
.fn-col .fn-disc{display:block;color:var(--txt3);font-size:12px;font-style:italic;margin-top:10px;line-height:1.5}
.foot-base{border-top:1px solid var(--line-2);padding-top:26px;text-align:center}
@media(max-width:760px){.foot-nav{grid-template-columns:1fr 1fr;gap:24px 26px}}
@media(max-width:440px){.foot-nav{grid-template-columns:1fr;text-align:center}.foot-nav .fn-col h4{letter-spacing:.12em}}

/* ===== Barra de atalhos no topo das páginas internas ===== */
.subnav-cofre{position:relative;z-index:18;display:flex;gap:4px;align-items:center;justify-content:center;flex-wrap:wrap;
  padding:9px 20px;background:linear-gradient(#0b291f,#0a241c);border-bottom:1px solid var(--line);overflow-x:auto}
.subnav-cofre a{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:12px;letter-spacing:.03em;
  color:var(--txt2);border:1px solid transparent;border-radius:30px;padding:7px 13px;white-space:nowrap;transition:border-color .2s,color .2s,background .2s}
.subnav-cofre a svg{width:14px;height:14px;stroke:var(--gold);stroke-width:1.7;flex:none}
.subnav-cofre a:hover{color:var(--txt);border-color:var(--line);background:rgba(200,155,60,.07)}
.subnav-cofre a[aria-current="page"]{color:var(--gold-lt);border-color:var(--line);background:rgba(200,155,60,.1)}
@media(max-width:560px){.subnav-cofre{justify-content:flex-start;gap:3px;padding:8px 12px}.subnav-cofre a{padding:7px 11px}}

/* ===== CTAs na página de ação/FII ===== */
.acao-cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.acao-cta a{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:12.5px;letter-spacing:.02em;
  color:var(--gold-lt);border:1px solid var(--card-bd);border-radius:30px;padding:9px 16px;
  background:linear-gradient(165deg,rgba(42,33,24,.6),rgba(26,20,14,.5));transition:border-color .2s,color .2s,box-shadow .2s,transform .15s}
.acao-cta a svg{width:15px;height:15px;stroke:var(--gold);stroke-width:1.7;flex:none}
.acao-cta a:hover{border-color:var(--gold-hi);color:var(--txt);box-shadow:0 0 16px rgba(214,168,75,.18)}
.acao-cta a:active{transform:translateY(1px)}

/* ===== Página de AÇÃO (detalhe) ===== */
.acao{max-width:1080px;margin:0 auto;padding:34px 28px 60px}
.acao-top{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.acao-id{display:flex;align-items:center;gap:16px}
.acao-id .nm{font-family:var(--serif);font-size:30px;font-weight:700;color:var(--txt);line-height:1}
.acao-id .tk{font-family:var(--mono);font-size:14px;color:var(--gold);letter-spacing:.06em;margin-top:4px}
.acao-id .set{font-size:13px;color:var(--txt3);margin-top:2px}
.acao-price{margin-left:auto;text-align:right}
.acao-price .pv{font-family:var(--mono);font-size:30px;font-weight:700;color:var(--txt)}
.acao-price .chg{font-family:var(--mono);font-size:15px;font-weight:700;margin-top:3px}
.acao-price .chg.up{color:var(--up)} .acao-price .chg.down{color:var(--down)}
.acao-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:12px;margin:26px 0}
.ind{background:linear-gradient(168deg,var(--card),var(--card-2));border:1px solid var(--line);border-radius:12px;padding:15px 16px;text-align:center}
.ind .v{font-family:var(--mono);font-size:20px;font-weight:700;color:var(--txt)}
.ind .l{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--txt3);margin-top:5px}
.ind .h{font-size:11px;color:var(--gold-deep);margin-top:3px}
/* cards principais com tooltip de ajuda */
.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:24px 0}
.kpi{position:relative;background:linear-gradient(168deg,var(--card),var(--card-2));border:1px solid var(--card-bd);border-radius:14px;padding:16px}
.kpi-h{display:flex;align-items:center;justify-content:space-between;gap:6px}
.kpi-l{font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--txt3)}
.kpi .help{flex:none;width:24px;height:24px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--gold-lt);font-family:var(--mono);font-size:12px;line-height:1;cursor:help;display:flex;align-items:center;justify-content:center;padding:0}
.kpi .help:hover{border-color:var(--gold);color:var(--txt)}
.kpi-v{font-family:var(--mono);font-size:22px;font-weight:700;color:var(--txt);margin-top:12px}
.kpi-v.up{color:var(--up)} .kpi-v.down{color:var(--down)}
.kpi .tip{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:30;background:#14130f;border:1px solid var(--card-bd);border-radius:12px;padding:14px 15px;
  box-shadow:0 18px 50px rgba(0,0,0,.7);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .2s,transform .2s,visibility .2s;min-width:240px}
.kpi:hover .tip,.kpi:focus-within .tip,.kpi.open .tip{opacity:1;visibility:visible;transform:translateY(0)}
.kpi .tip b{display:block;color:var(--gold-lt);font-size:14px;margin-bottom:8px}
.kpi .tip p{font-size:13px;color:var(--txt2);line-height:1.5;margin-bottom:8px}
.kpi .tip p:last-child{margin-bottom:0}
.kpi .tip .tl{display:block;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin-bottom:1px}
/* o que é a empresa */
.sobre-box{background:linear-gradient(168deg,var(--green-moss),var(--green-deep));border:1px solid var(--line);border-radius:14px;padding:22px 24px}
.sobre-box p{font-size:16.5px;line-height:1.7;color:var(--txt2)}
.sobre-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.sobre-tags span{font-family:var(--mono);font-size:11.5px;color:var(--gold-lt);border:1px solid var(--line);border-radius:20px;padding:4px 11px}
/* gráfico (placeholder até a fonte de histórico) */
.chart-box{background:linear-gradient(168deg,var(--card),var(--card-2));border:1px solid var(--line);border-radius:14px;padding:18px 20px}
.periods{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:16px}
.period{font-family:var(--mono);font-size:12px;color:var(--txt2);border:1px solid var(--line);border-radius:8px;padding:9px 13px;cursor:pointer;background:rgba(10,40,30,.35);transition:border-color .2s,color .2s,background .2s}
.period:hover{border-color:var(--gold)}
.period.on{color:#22190c;background:linear-gradient(165deg,var(--gold-lt),var(--gold-deep));border-color:var(--gold-deep);font-weight:700}
.chart-area{min-height:230px;border:1px dashed var(--line);border-radius:10px;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--txt3);font-style:italic;font-size:14px;padding:24px;line-height:1.6;
  background:repeating-linear-gradient(0deg,rgba(200,155,60,.04) 0 1px,transparent 1px 46px)}
.chart-area svg{width:18px;height:18px;stroke:var(--gold-deep);stroke-width:1.6;margin-right:8px;vertical-align:-3px}
/* gráfico de cotação (linha dourada) */
.acao-chart{min-height:230px;position:relative}
.chart-loading,.chart-empty{min-height:230px;display:flex;align-items:center;justify-content:center;gap:9px;text-align:center;color:var(--txt3);font-style:italic;font-size:14px;padding:20px;line-height:1.55;
  border:1px dashed var(--line);border-radius:10px;background:repeating-linear-gradient(0deg,rgba(200,155,60,.04) 0 1px,transparent 1px 46px)}
.chart-empty svg{width:18px;height:18px;stroke:var(--gold-deep);stroke-width:1.6;flex:none}
.chart-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px;font-family:var(--mono);font-size:12px;flex-wrap:wrap}
.chart-chg{font-weight:700} .chart-chg.up{color:var(--up)} .chart-chg.down{color:var(--down)}
.chart-range{color:var(--txt3)}
.chart-svg{width:100%;height:226px;display:block;overflow:visible}
.chart-x{display:flex;justify-content:space-between;font-family:var(--mono);font-size:11px;color:var(--txt3);margin-top:5px}
/* proventos / dividendos */
.prov-next{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px 14px;background:linear-gradient(168deg,var(--green-moss),var(--green-deep));border:1px solid var(--card-bd);border-radius:12px;padding:13px 18px;margin-bottom:14px}
.pn-lbl{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}
.pn-val{font-family:var(--mono);font-weight:700;color:var(--txt);font-size:16px}
.pn-date{font-size:13px;color:var(--txt3)}
.prov-table{width:100%;border-collapse:collapse;font-size:14px;min-width:380px}
.prov-table th{font-family:var(--mono);font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--gold);font-weight:400;text-align:right;padding:9px 10px;border-bottom:1px solid var(--gold-deep)}
.prov-table th:first-child{text-align:left}
.prov-table td{padding:10px;border-bottom:1px solid var(--line-2);text-align:right;font-family:var(--mono);color:var(--txt2)}
.prov-table td.pv-tipo{text-align:left;font-family:var(--body);color:var(--txt2)}
.prov-table td.pv-val{color:var(--txt);font-weight:700}
.prov-note{margin-top:10px;font-size:12.5px;color:var(--txt3);line-height:1.5}
.prov-note b{color:var(--txt2)}
/* rentabilidade por período */
.rent-table{width:100%;border-collapse:collapse;font-size:14.5px}
.rent-table th{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);font-weight:400;text-align:right;padding:10px;border-bottom:1px solid var(--gold-deep)}
.rent-table th:first-child{text-align:left}
.rent-table td{font-family:var(--mono);text-align:right;padding:12px 10px;border-bottom:1px solid var(--line-2)}
.rent-table td.r-lbl{text-align:left;font-family:var(--body);color:var(--txt2)}
.rent-table td.r-up{color:var(--up)} .rent-table td.r-down{color:var(--down)}
.rent-note{margin-top:12px;font-size:13.5px;color:var(--txt3);line-height:1.55}
.rent-note b.up{color:var(--up)} .rent-note b.down{color:var(--down)}
.r-tkwrap{display:inline-flex;align-items:center;gap:9px}
.acao-sec{margin-top:36px}
.acao-sec h2{font-family:var(--serif);font-size:24px;color:var(--txt);margin-bottom:14px;display:flex;align-items:center;gap:11px}
.acao-sec h2 svg{width:20px;height:20px;stroke:var(--gold);stroke-width:1.7}
.tese-box{background:linear-gradient(168deg,var(--card),var(--card-2));border:1px solid var(--card-bd);border-radius:14px;padding:22px 24px;font-size:17px;line-height:1.6;color:var(--txt2)}
.tese-box .crit-line{margin-top:14px;display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:12.5px;color:var(--gold)}
.tese-box .bar{flex:1;height:6px;border-radius:4px;background:rgba(200,155,60,.16);overflow:hidden;max-width:220px}
.tese-box .bar i{display:block;height:100%;background:linear-gradient(90deg,var(--gold-deep),var(--gold-lt))}
.pa-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pa{background:linear-gradient(168deg,var(--card),var(--card-2));border:1px solid var(--line);border-radius:14px;padding:20px 22px}
.pa h3{font-size:14px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:13px;display:flex;align-items:center;gap:9px}
.pa.pos h3{color:var(--up)} .pa.aten h3{color:var(--gold-lt)}
.pa li{list-style:none;padding:7px 0 7px 26px;position:relative;font-size:15.5px;color:var(--txt2);line-height:1.45}
.pa.pos li::before{content:"✓";position:absolute;left:0;color:var(--up);font-weight:700}
.pa.aten li::before{content:"!";position:absolute;left:2px;color:var(--gold);font-weight:700}
.soon{background:rgba(10,40,30,.5);border:1px dashed var(--line);border-radius:12px;padding:20px 22px;color:var(--txt3);font-style:italic;font-size:14.5px;display:flex;align-items:center;gap:12px}
.soon svg{width:18px;height:18px;stroke:var(--gold-deep);stroke-width:1.6;flex:none}

/* ===== Páginas de RANKING ===== */
.rank{max-width:1180px;margin:0 auto;padding:34px 28px 60px}
.rank-filters{display:flex;flex-wrap:wrap;gap:9px;margin:22px 0 18px}
.chip-f{font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--txt2);border:1px solid var(--line);border-radius:30px;padding:7px 14px;cursor:pointer;background:rgba(10,40,30,.4);transition:border-color .2s,color .2s,background .2s}
.chip-f:hover{border-color:var(--gold)}
.chip-f.on{color:#22190c;background:linear-gradient(165deg,var(--gold-lt),var(--gold-deep));border-color:var(--gold-deep);font-weight:700}
.rtable-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.rtable{width:100%;border-collapse:collapse;font-size:15px}
.rtable thead th{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);font-weight:400;text-align:right;padding:12px 12px;border-bottom:1px solid var(--gold-deep)}
.rtable thead th:nth-child(-n+2){text-align:left}
.rtable tbody tr{border-bottom:1px solid var(--line-2);cursor:pointer;transition:background .2s}
.rtable tbody tr:hover{background:rgba(200,155,60,.07)}
.rtable td{padding:13px 12px;text-align:right;font-family:var(--mono)}
.rtable td:nth-child(-n+2){text-align:left}
.rtable .r-emp{font-family:var(--body);color:var(--txt3);font-size:13px}
.rtable .r-tk{font-weight:700;color:var(--txt);letter-spacing:.04em}
.r-up{color:var(--up)} .r-down{color:var(--down)}
.r-pill{font-family:var(--mono);font-size:11px;color:var(--gold);border:1px solid var(--line);border-radius:20px;padding:2px 8px}


/* ===== Bloco Noticias do Cofre (Radar do Snoop) ===== */
.noticias-nicho{max-width:1180px;margin:0 auto;padding:36px 28px 0}
.noticias-nicho .sec-title{margin-bottom:22px}
.noticias-nicho .sec-title h2{font-family:var(--serif);font-size:clamp(23px,3.2vw,32px);color:var(--txt);font-weight:700}
.noticias-nicho .sec-title p{color:var(--txt3);font-size:15px;margin-top:6px}
/* Cabeçalho da seção Análises: flex space-between com link Ver todas */
.noticias-nicho .snt-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;text-align:left}
.noticias-nicho .snt-left{flex:1;min-width:0}
.noticias-nicho .snt-left .ey{display:block;margin-bottom:8px}
.snt-ver-todas{flex:none;align-self:flex-start;margin-top:6px;font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--gold-lt);border:1px solid var(--line);border-radius:20px;padding:8px 16px;transition:border-color .2s,color .2s,background .2s;white-space:nowrap;text-decoration:none}
.snt-ver-todas:hover{border-color:var(--gold);color:var(--txt);background:rgba(200,155,60,.08)}
@media(max-width:560px){.noticias-nicho .snt-row{flex-wrap:wrap;text-align:center}.noticias-nicho .snt-left .ey{display:block}.snt-ver-todas{align-self:center;margin-top:12px}}
/* Grid principal: destaque a esquerda + 4 minis a direita */
.noticias-grid{display:grid;grid-template-columns:1fr 340px;gap:24px;align-items:stretch}
/* Coluna direita: stack de 4 minis */
.noticias-stack{display:flex;flex-direction:column;gap:12px}

/* Card principal (destaque) */
.noticia-principal{display:flex;flex-direction:column;height:100%;background:linear-gradient(168deg,var(--card),var(--card-2));border:1px solid var(--card-bd);border-radius:16px;overflow:hidden;box-shadow:0 1px 0 rgba(232,214,165,.06) inset,0 18px 50px -30px rgba(0,0,0,.8);transition:border-color .25s,transform .2s}
.noticia-principal:hover{border-color:var(--gold-hi);transform:translateY(-3px)}
.noticia-principal .np-img{width:100%;flex:1 1 auto;min-height:0;height:auto;overflow:hidden;background:linear-gradient(135deg,var(--green-deep),var(--vault-black))}
.noticia-principal .np-img img{width:100%;height:100%;min-height:160px;object-fit:cover;display:block;transition:transform .4s ease}
/* Ajuste do João (Modo Ajuste, 01/07/2026): foto do card principal fixa em 260px */
#noticiasNicho .noticia-principal.np-btn .np-img img{height:260px}
.noticia-principal:hover .np-img img{transform:scale(1.04)}
.noticia-principal .np-body{padding:16px 22px 18px;flex:none}
.noticia-principal .np-meta{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}
.noticia-principal .np-title{font-family:var(--serif);font-size:clamp(20px,2.2vw,26px);font-weight:700;color:var(--txt);line-height:1.2;margin-bottom:8px}
.noticia-principal .np-excerpt{font-size:15px;color:var(--txt2);line-height:1.6;margin-bottom:14px}
.noticia-principal .np-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;font-family:var(--mono);font-size:12px;color:var(--txt3)}
.noticia-principal .np-src{color:var(--gold-lt)}
.noticia-principal .np-read{display:inline-flex;align-items:center;gap:6px;color:var(--gold-lt);font-family:var(--mono);font-size:12px;letter-spacing:.04em;border:1px solid var(--line);border-radius:20px;padding:5px 13px;transition:border-color .2s,color .2s}
.noticia-principal .np-read:hover{border-color:var(--gold);color:var(--txt)}

/* Cards mini */
.noticia-mini{display:flex;gap:13px;align-items:flex-start;background:linear-gradient(168deg,rgba(42,33,24,.6),rgba(26,20,14,.5));border:1px solid var(--card-bd);border-radius:13px;padding:13px 14px;overflow:hidden;transition:border-color .2s,transform .15s;text-decoration:none}
.noticia-mini:hover{border-color:var(--gold-hi);transform:translateY(-2px)}
.noticia-mini .nm-img{flex:none;width:72px;height:60px;border-radius:9px;overflow:hidden;background:linear-gradient(135deg,var(--green-deep),var(--vault-black))}
.noticia-mini .nm-img img{width:100%;height:100%;object-fit:cover;display:block}
.noticia-mini .nm-body{flex:1;min-width:0}
.noticia-mini .nm-title{font-family:var(--serif);font-size:16px;font-weight:600;color:var(--txt);line-height:1.3;margin-bottom:5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.noticia-mini .nm-foot{display:flex;align-items:center;gap:7px;font-family:var(--mono);font-size:11px;color:var(--txt3);flex-wrap:wrap}

/* Chip de categoria */
.noticia-chip{display:inline-flex;align-items:center;font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;border-radius:20px;padding:3px 9px;border:1px solid transparent}
.noticia-chip.eco{color:#9fd0ac;border-color:rgba(79,175,104,.4);background:rgba(79,175,104,.1)}
.noticia-chip.mer{color:#E8D6A5;border-color:rgba(200,155,60,.4);background:rgba(200,155,60,.1)}
.noticia-chip.cry{color:#a78bfa;border-color:rgba(139,92,246,.4);background:rgba(139,92,246,.1)}

/* Estado vazio */
.noticia-vazio{grid-column:1/-1;background:rgba(10,40,30,.5);border:1px dashed var(--line);border-radius:14px;padding:28px;text-align:center;color:var(--txt3);font-style:italic;font-size:15px}
.noticia-vazio b{display:block;font-family:var(--serif);font-size:18px;color:var(--txt2);font-style:normal;margin-bottom:6px}

/* Responsivo: empilha em telas menores */
@media(max-width:900px){
  .noticias-grid{grid-template-columns:1fr}
}
@media(max-width:680px){
  .noticias-nicho{padding-left:16px;padding-right:16px}
  .noticia-mini .nm-img{width:60px;height:52px}
}

/* ===== Buttons reset (cards Snoop que abrem modal) ===== */
.np-btn,.nm-btn{all:unset;display:flex;flex-direction:column;cursor:pointer;text-align:left;width:100%;box-sizing:border-box}
.np-btn{height:100%}
.np-btn{background:linear-gradient(168deg,var(--card),var(--card-2));border:1px solid var(--card-bd);border-radius:16px;overflow:hidden;box-shadow:0 1px 0 rgba(232,214,165,.06) inset,0 18px 50px -30px rgba(0,0,0,.8);transition:border-color .25s,transform .2s}
.np-btn:hover,.np-btn:focus-visible{border-color:var(--gold-hi);transform:translateY(-3px)}
.nm-btn{flex-direction:row;gap:13px;align-items:flex-start;background:linear-gradient(168deg,rgba(42,33,24,.6),rgba(26,20,14,.5));border:1px solid var(--card-bd);border-radius:13px;padding:13px 14px;overflow:hidden;transition:border-color .2s,transform .15s}
.nm-btn:hover,.nm-btn:focus-visible{border-color:var(--gold-hi);transform:translateY(-2px)}
/* Garante que .noticia-principal e .noticia-mini (links legado) continuem funcionando */
a.noticia-principal{text-decoration:none}
a.noticia-mini{text-decoration:none;display:flex}

/* ===== Barra de filtros do Radar ===== */
.radar-filter-bar{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px;align-items:center}
.rdr-chip{font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--txt2);border:1px solid var(--line);border-radius:30px;padding:7px 16px;cursor:pointer;background:rgba(10,40,30,.4);transition:border-color .2s,color .2s,background .2s;line-height:1}
.rdr-chip:hover{border-color:var(--gold);color:var(--txt)}
.rdr-chip.on{color:#22190c;background:linear-gradient(165deg,var(--gold-lt),var(--gold-deep));border-color:var(--gold-deep);font-weight:700}
.rdr-chip:focus-visible{outline:2px solid var(--gold-lt);outline-offset:2px}

/* ===== Modal Snoop (base compartilhada) ===== */
.snoop-modal{position:fixed;inset:0;z-index:9000;display:flex;align-items:flex-end;justify-content:center;pointer-events:none;opacity:0;transition:opacity .22s}
@media(min-width:640px){.snoop-modal{align-items:center}}
.snoop-modal.on{opacity:1;pointer-events:all}
.sm-backdrop{position:absolute;inset:0;background:rgba(4,16,12,.82);backdrop-filter:blur(5px)}
.sm-box{position:relative;z-index:1;width:100%;max-width:680px;max-height:92vh;overflow-y:auto;background:linear-gradient(168deg,var(--card),var(--card-2));border:1px solid var(--card-bd);border-radius:20px 20px 0 0;box-shadow:0 -24px 80px rgba(0,0,0,.7);
  scrollbar-width:thin;scrollbar-color:var(--gold-deep) transparent;
  transform:translateY(20px);transition:transform .25s ease}
@media(min-width:640px){.sm-box{border-radius:20px;transform:translateY(10px)}}
.snoop-modal.on .sm-box{transform:translateY(0)}
.sm-box::-webkit-scrollbar{width:4px}
.sm-box::-webkit-scrollbar-thumb{background:var(--gold-deep);border-radius:4px}
.sm-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:18px 22px 10px;position:sticky;top:0;z-index:2;background:linear-gradient(var(--card),rgba(42,33,24,.97))}
.sm-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sm-src{font-family:var(--mono);font-size:12px;color:var(--gold-lt)}
.sm-date{font-family:var(--mono);font-size:11.5px;color:var(--txt3)}
.sm-close{flex:none;width:36px;height:36px;border:1px solid var(--line);border-radius:50%;background:rgba(10,40,30,.6);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .2s,background .2s}
.sm-close svg{width:16px;height:16px;stroke:var(--txt2);stroke-width:2}
.sm-close:hover{border-color:var(--gold);background:rgba(200,155,60,.12)}
.sm-close:focus-visible{outline:2px solid var(--gold-lt);outline-offset:2px}
/* herança de classes antigas (usadas pelo legacy ou outras partes) */
.sm-img-wrap{width:100%;aspect-ratio:16/9;overflow:hidden;background:linear-gradient(135deg,var(--green-deep),var(--vault-black))}
.sm-img-wrap img{width:100%;height:100%;object-fit:cover;display:block}
.sm-title{font-family:var(--serif);font-size:clamp(19px,3vw,26px);font-weight:700;color:var(--txt);line-height:1.18;padding:18px 22px 8px}
.sm-resumo{padding:0 22px;font-size:15.5px;color:var(--txt2);line-height:1.7}
.sm-resumo p{margin-bottom:12px}
.sm-resumo p:last-child{margin-bottom:0}
.sm-analise{margin:18px 22px 0;background:linear-gradient(168deg,var(--green-moss),var(--green-deep));border:1px solid var(--card-bd);border-radius:12px;padding:16px 18px}
.sm-analise-label{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:8px;font-weight:600}
.sm-analise p{font-size:15px;color:var(--txt);line-height:1.6;font-style:italic}
.sm-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 22px 22px;flex-wrap:wrap;margin-top:16px;border-top:1px solid var(--line-2)}
.sm-disc{font-size:12.5px;color:var(--txt3);line-height:1.5;font-style:italic;flex:1;min-width:0}
.sm-fonte{white-space:nowrap}
@media(max-width:560px){
  .sm-title{padding:14px 16px 6px}
  .sm-resumo{padding:0 16px}
  .sm-analise{margin:14px 16px 0}
  .sm-footer{padding:14px 16px 18px}
  .sm-head{padding:14px 16px 8px}
}

/* ===== Modal Snoop — Painel 1: escolha (sc-*) ===== */
.sc-box{max-width:480px}
.sc-img-wrap{width:100%;aspect-ratio:16/9;overflow:hidden;background:linear-gradient(135deg,var(--green-deep),var(--vault-black))}
.sc-img-wrap img{width:100%;height:100%;object-fit:cover;display:block}
.sc-title{font-family:var(--serif);font-size:clamp(16px,2.4vw,21px);font-weight:700;color:var(--txt);line-height:1.22;padding:16px 22px 6px}
.sc-question{font-size:14px;color:var(--txt3);font-family:var(--mono);letter-spacing:.04em;padding:0 22px 16px;text-align:center}
.sc-actions{display:flex;gap:12px;padding:0 22px 24px;flex-wrap:wrap}
.sc-btn{flex:1;min-width:140px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--body);font-size:15px;letter-spacing:.01em;padding:12px 18px;border-radius:11px;cursor:pointer;text-decoration:none;text-align:center;transition:border-color .22s,box-shadow .22s,color .22s,transform .14s}
.sc-btn-resumo{border:1px solid var(--gold-deep);background:linear-gradient(165deg,var(--gold-lt),var(--gold-deep));color:#22190c;font-weight:600}
.sc-btn-resumo:hover{box-shadow:0 0 22px rgba(214,168,75,.45);transform:translateY(-1px)}
.sc-btn-fonte{border:1px solid var(--card-bd);background:linear-gradient(165deg,rgba(42,33,24,.6),rgba(26,20,14,.5));color:var(--gold-lt)}
.sc-btn-fonte:hover{border-color:var(--gold-hi);color:var(--txt);box-shadow:0 0 14px rgba(214,168,75,.18)}
.sc-btn:active{transform:translateY(1px)}
@media(max-width:400px){.sc-actions{flex-direction:column}.sc-btn{min-width:unset}}

/* ===== Modal Snoop — Painel 2: resumo rico (sr-*) ===== */
/* eyebrow "Radar do Snoop" com dot animado */
.sr-eyebrow{display:flex;align-items:center;gap:8px}
.sr-radar-dot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--gold);box-shadow:0 0 8px rgba(200,155,60,.7);animation:srPulse 2.4s ease-in-out infinite}
@keyframes srPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.8)}}
.sr-radar-lbl{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:600}
/* chip */
.sr-chip-wrap{padding:10px 22px 0}
/* manchete */
.sr-title{font-family:var(--serif);font-size:clamp(19px,2.8vw,28px);font-weight:700;color:var(--txt);line-height:1.16;padding:10px 22px 8px}
/* meta: fonte · há X · Análise do Snoop */
.sr-meta{font-family:var(--mono);font-size:12px;color:var(--txt3);padding:0 22px 14px;line-height:1.55}
.sr-meta-src{color:var(--gold-lt)}
/* imagem grande */
.sr-img-wrap{width:100%;aspect-ratio:16/9;overflow:hidden;background:linear-gradient(135deg,var(--green-deep),var(--vault-black))}
.sr-img-wrap img{width:100%;height:100%;object-fit:cover;display:block}
/* corpo do resumo */
.sr-body{padding:18px 22px 0;font-size:15.5px;color:var(--txt2);line-height:1.72}
.sr-body p{margin-bottom:14px}
.sr-body p:last-child{margin-bottom:0}
/* callout análise (dourado) */
.sr-analise{margin:18px 22px 0;background:linear-gradient(168deg,rgba(200,155,60,.12),rgba(200,155,60,.06));border:1px solid rgba(200,155,60,.4);border-left:3px solid var(--gold);border-radius:12px;padding:16px 18px}
.sr-analise-lbl{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:8px;font-weight:600}
.sr-analise-txt{font-size:15.5px;color:var(--txt);line-height:1.62;font-style:italic}
/* caixa de afiliado */
.sr-aff{margin:18px 22px 0;background:linear-gradient(168deg,var(--green-moss),var(--green-deep));border:1px solid var(--card-bd);border-radius:14px;padding:18px 20px}
.sr-aff-tag{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:8px;font-weight:600}
.sr-aff-name{font-family:var(--serif);font-size:18px;font-weight:700;color:var(--txt);margin-bottom:7px;line-height:1.25}
.sr-aff-pitch{font-size:14px;color:var(--txt2);line-height:1.55;margin-bottom:14px}
.sr-aff-cta{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-family:var(--body);font-size:14.5px;font-weight:600;padding:10px 20px;border-radius:10px;border:1px solid var(--gold-deep);background:linear-gradient(165deg,var(--gold-lt),var(--gold-deep));color:#22190c;transition:box-shadow .2s,transform .15s;text-decoration:none}
.sr-aff-cta:hover{box-shadow:0 0 18px rgba(214,168,75,.4);transform:translateY(-1px);color:#1a1206}
.sr-aff-disc{margin-top:10px;font-size:11.5px;color:var(--txt3);font-style:italic;line-height:1.5}
/* footer do resumo */
.sr-footer{padding:18px 22px 26px;border-top:1px solid var(--line-2);margin-top:18px}
.sr-footer-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.sr-btn-fonte{flex:1;min-width:180px;text-align:center;text-decoration:none}
.sr-btn-voltar{flex:none;cursor:pointer}
.sr-disclaimer{font-size:12.5px;color:var(--txt3);line-height:1.55;font-style:italic;margin-bottom:6px}
.sr-credito{font-size:11.5px;color:var(--txt3);line-height:1.5}
.sr-credito a{color:var(--gold-lt);word-break:break-all}
@media(max-width:560px){
  .sc-title{padding:14px 16px 5px}
  .sc-question{padding:0 16px 14px}
  .sc-actions{padding:0 16px 20px}
  .sr-chip-wrap{padding:8px 16px 0}
  .sr-title{padding:10px 16px 6px}
  .sr-meta{padding:0 16px 12px}
  .sr-body{padding:14px 16px 0}
  .sr-analise{margin:14px 16px 0}
  .sr-aff{margin:14px 16px 0}
  .sr-footer{padding:14px 16px 22px}
  /* mobile: painel de resumo vira folha de baixo */
  .sr-box{max-width:100%;border-radius:20px 20px 0 0}
}


/* ===== Responsivo ===== */
@media(max-width:1080px){
  .home-hero{grid-template-columns:1fr;gap:22px}
  .hero-center{order:-1}
  .vault{width:min(72vw,360px)}
  .pa-grid{grid-template-columns:1fr}
}
@media(max-width:680px){
  body{font-size:17px}
  header.top{padding:14px 18px}
  .home{padding:24px 16px}
  .acao,.rank,.wrap{padding-left:16px;padding-right:16px}
  .acao-price{margin-left:0;text-align:left;width:100%}
  .mn-head,.mn-row{grid-template-columns:auto 1fr auto auto}
  .mn-vol{display:none}
  .mn-head span:nth-child(5){display:none}
  .rtable{min-width:560px}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
