/* ============================================
   Stldow — Design System (Neon)
   ============================================ */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Sora:wght@600;700;800&family=Rajdhani:wght@600;700&display=swap');

* { margin:0; padding:0; box-sizing:border-box; }
:root {
  --bg:#070b12; --bg-soft:#0b1220; --surface:#101a2b; --surface2:#16233a;
  --border:#233149; --border-soft:#1a2740;
  --text:#eaf1ff; --muted:#93a4c4; --faint:#5e7196;
  --primary:#3b82f6; --primary-h:#2563eb; --primary-glow:rgba(59,130,246,.45);
  --accent:#60a5fa; --neon:#5aa0ff; --green:#34d399; --red:#ff6b6b; --yellow:#ffd23f;
  --grad:linear-gradient(135deg,#3b82f6 0%,#60a5fa 100%);
  --radius:16px; --shadow:0 14px 46px rgba(0,0,0,.55);
  --glow:0 0 18px rgba(59,130,246,.55);
}
html { scroll-behavior:smooth; }
html, body { overflow-x:clip; } /* mata rolagem horizontal acidental */
body {
  background:
    radial-gradient(900px 500px at 15% -5%, rgba(59,130,246,.10), transparent 60%),
    radial-gradient(800px 500px at 100% 0%, rgba(96,165,250,.07), transparent 55%),
    var(--bg);
  background-attachment:fixed;
  color:var(--text); font-family:'Inter',system-ui,-apple-system,sans-serif; line-height:1.65; font-size:15px;
}
img, video { max-width:100%; }
p, .ctext, .pbio, td { overflow-wrap:break-word; }
h1,h2,h3 { font-family:'Sora','Inter',sans-serif; letter-spacing:-.02em; }
a { color:var(--accent); text-decoration:none; transition:color .15s; }
a:hover { color:#93c5fd; }
.container { max-width:1240px; margin:0 auto; padding:0 24px; }

/* ---------- Topbar ---------- */
.topbar { background:rgba(7,11,18,.82); backdrop-filter:blur(16px); border-bottom:1px solid rgba(59,130,246,.18); box-shadow:0 1px 0 rgba(59,130,246,.08), 0 8px 30px rgba(0,0,0,.4); position:sticky; top:0; z-index:100; }
.nav { display:flex; align-items:center; gap:22px; padding:15px 24px; flex-wrap:wrap; }
.logo { font-family:'Sora',sans-serif; font-size:1.35em; font-weight:800; color:var(--text); white-space:nowrap; display:inline-flex; align-items:center; gap:9px; }
.logo span { background:var(--grad); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.logo-wrap { display:inline-flex; align-items:center; gap:10px; }
.logo-txt { display:flex; flex-direction:column; line-height:1; }
.logo-name { font-family:'Rajdhani','Sora',sans-serif; font-weight:700; text-transform:lowercase; font-size:1.25em; letter-spacing:.5px; background:var(--grad); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.logo-beta { font-family:'Rajdhani','Inter',sans-serif; font-size:.5em; font-weight:700; letter-spacing:2.5px; text-transform:uppercase; color:var(--faint); background:none; -webkit-text-fill-color:currentColor; margin-top:3px; }
.logo svg, .logo-mark { width:28px !important; height:28px !important; min-width:28px; flex-shrink:0; display:block; filter:drop-shadow(0 2px 8px rgba(59,130,246,.4)); }
.logo img, .logo-img { height:36px !important; width:auto !important; max-width:170px; object-fit:contain; display:block; }
.searchbox { flex:1; display:flex; min-width:220px; }
.searchbox input { flex:1; padding:10px 16px; border:1px solid var(--border); background:var(--bg-soft); color:var(--text); border-radius:10px 0 0 10px; outline:none; font-size:.95em; transition:border-color .15s; }
.searchbox input:focus { border-color:var(--primary); }
.searchbox button { padding:10px 18px; background:var(--surface2); border:1px solid var(--border); border-left:none; border-radius:0 10px 10px 0; cursor:pointer; color:var(--muted); }
.searchbox button:hover { color:var(--text); }
.navlinks { display:flex; align-items:center; gap:16px; }
.btn-link { color:var(--muted); background:none; border:none; cursor:pointer; font-size:.94em; font-weight:500; font-family:inherit; }
.btn-link:hover { color:var(--text); }
.badge-balance { background:rgba(52,211,153,.12); border:1px solid rgba(52,211,153,.35); color:var(--green); padding:5px 13px; border-radius:20px; font-size:.83em; font-weight:600; }

/* ---------- Dropdown ---------- */
.dropdown { position:relative; }
.dropdown-menu { display:none; position:absolute; top:calc(100% + 6px); left:0; background:var(--surface); border:1px solid var(--border); border-radius:12px; min-width:250px; padding:8px; box-shadow:var(--shadow); }
.dropdown:hover .dropdown-menu { display:block; }
.dropdown-menu a { display:block; padding:9px 14px; color:var(--text); border-radius:8px; font-size:.93em; }
.dropdown-menu a:hover { background:var(--surface2); color:var(--accent); }

/* ---------- Botões (neon) ---------- */
.btn { display:inline-flex; align-items:center; justify-content:center; gap:7px; padding:11px 24px; border-radius:11px; border:none; cursor:pointer; font-weight:700; font-size:.93em; font-family:inherit; transition:transform .16s, box-shadow .2s, background .2s, filter .2s; text-align:center; position:relative; }
.btn-primary { background:linear-gradient(135deg,var(--primary),var(--accent)); color:#fff; box-shadow:0 0 0 1px rgba(96,165,250,.35), 0 6px 22px var(--primary-glow); animation:pulseGlow 2.6s ease-in-out infinite; }
.btn-primary:hover { color:#fff; transform:translateY(-2px); filter:brightness(1.06); box-shadow:0 0 0 1px rgba(96,165,250,.6), 0 8px 30px var(--primary-glow), 0 0 26px var(--primary-glow); animation:none; }
.btn-primary:active { transform:translateY(0); }
@keyframes pulseGlow {
  0%,100% { box-shadow:0 0 0 1px rgba(96,165,250,.3), 0 6px 20px rgba(59,130,246,.28); }
  50%     { box-shadow:0 0 0 1px rgba(96,165,250,.55), 0 8px 30px rgba(59,130,246,.55), 0 0 22px rgba(59,130,246,.4); }
}
.btn-success { background:var(--green); color:#fff; box-shadow:0 4px 18px rgba(52,211,153,.35); }
.btn-success:hover { filter:brightness(1.08); color:#fff; transform:translateY(-2px); }
.btn-danger { background:rgba(255,107,107,.12); border:1px solid rgba(255,107,107,.4); color:var(--red); }
.btn-danger:hover { background:rgba(255,107,107,.22); color:var(--red); box-shadow:0 0 16px rgba(255,107,107,.25); }
.btn-outline { background:rgba(255,255,255,.02); border:1px solid var(--border); color:var(--text); }
.btn-outline:hover { border-color:var(--primary); color:var(--text); box-shadow:var(--glow); transform:translateY(-1px); }
.btn-ghost { background:var(--surface2); color:var(--text); border:1px solid var(--border-soft); }
.btn-sm { padding:7px 15px; font-size:.83em; border-radius:9px; }
.btn-block { display:flex; width:100%; }

/* ---------- Hero ---------- */
.hero { position:relative; text-align:center; padding:96px 24px 72px; overflow:hidden; }
.hero::before { content:''; position:absolute; top:-160px; left:50%; transform:translateX(-50%); width:820px; height:520px; background:radial-gradient(ellipse, rgba(59,130,246,.22) 0%, transparent 65%); pointer-events:none; }
.hero .kicker { display:inline-block; background:rgba(59,130,246,.12); border:1px solid rgba(59,130,246,.35); color:#60a5fa; padding:6px 16px; border-radius:20px; font-size:.82em; font-weight:600; margin-bottom:22px; }
.hero h1 { font-size:3.1em; line-height:1.15; margin-bottom:18px; font-weight:800; }
.hero h1 em { font-style:normal; background:var(--grad); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.hero p { color:var(--muted); font-size:1.13em; max-width:620px; margin:0 auto 32px; }
.hero .actions { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.hero .actions .btn { padding:13px 30px; font-size:1em; }

/* ---------- Barra de aviso ---------- */
.notice-bar { background:var(--notice-bg,#111827); color:var(--notice-fg,#fff); text-align:center; padding:9px 16px; font-size:.9em; font-weight:600; }
.notice-bar a { color:var(--notice-fg,#fff); text-decoration:underline; }

/* ---------- Banner principal da landing (desktop + mobile) ---------- */
/* Full-bleed: ocupa toda a largura da tela, sem bordas nem cantos arredondados */
.hero-banner { position:relative; width:100vw; left:50%; right:50%; margin-left:-50vw; margin-right:-50vw; margin-top:0; margin-bottom:8px; border-radius:0; overflow:hidden; }
.hero-banner img { width:100%; height:auto; display:block; border-radius:0; }
.hero-banner .hb-link { display:block; line-height:0; }
.hero-banner .hb-desk { display:block; }
.hero-banner .hb-mob { display:none; }
/* carrossel com fade */
.hero-fade { position:relative; border-radius:0; overflow:hidden; }
.hero-fade .hf-slide { opacity:0; transition:opacity .7s ease; }
.hero-fade .hf-slide:first-child { position:relative; }
.hero-fade .hf-slide:not(:first-child) { position:absolute; inset:0; }
.hero-fade .hf-slide.on { opacity:1; }
.hero-empty { display:flex; align-items:center; justify-content:center; text-align:center; min-height:300px; background:radial-gradient(640px 260px at 50% 0, rgba(59,130,246,.14), transparent 70%), var(--bg-soft); border:none; }
.hero-empty .hb-inner { padding:34px 20px; }
.hero-empty .hb-inner h1 { font-size:2.1em; margin:12px 0 20px; }
.cat-pills-top { margin:16px 0 6px; }
@media (max-width:860px) {
  .hero-banner .hb-desk { display:none; }
  .hero-banner .hb-mob { display:block; }
  .hero-empty { min-height:220px; }
  .hero-empty .hb-inner h1 { font-size:1.6em; }
}

/* ---------- Hero com ilustração de impressão 3D ---------- */
.hero-split { display:grid; grid-template-columns:1.05fr .95fr; gap:36px; align-items:center; text-align:left; max-width:1160px; margin:0 auto; }
.hero-split .hero-copy { max-width:none; }
.hero-split .hero-copy p { margin:0 0 32px; max-width:520px; }
.hero-split .actions { justify-content:flex-start; }
.hero-split .cat-pills { grid-column:1 / -1; justify-content:flex-start; }
.hero-art { display:flex; justify-content:center; position:relative; z-index:1; }
.printer-svg { width:100%; max-width:400px; filter:drop-shadow(0 24px 50px rgba(59,130,246,.18)); }

.printer-svg .head { animation:headX 3.4s ease-in-out infinite alternate; }
@keyframes headX { 0% { transform:translateX(-46px); } 100% { transform:translateX(50px); } }
.printer-svg .filament { animation:filFlow .6s linear infinite; }
@keyframes filFlow { to { stroke-dashoffset:-8; } }
.printer-svg .build { animation:buildPulse 3s ease-in-out infinite; transform-origin:center; }
@keyframes buildPulse { 0%,100% { opacity:.92; } 50% { opacity:1; filter:drop-shadow(0 0 10px rgba(59,130,246,.5)); } }
.printer-svg .wire { animation:wireSpin 10s linear infinite; }
@keyframes wireSpin { from { transform:translate(268px,150px) rotate(0deg); } to { transform:translate(268px,150px) rotate(360deg); } }
@media (prefers-reduced-motion:reduce) {
  .printer-svg .head, .printer-svg .filament, .printer-svg .build, .printer-svg .wire { animation:none; }
}

/* ---------- Stats strip ---------- */
.stats-strip { display:flex; justify-content:center; gap:56px; padding:26px; background:var(--bg-soft); border:1px solid var(--border-soft); border-radius:var(--radius); margin:0 auto 20px; max-width:820px; flex-wrap:wrap; }
.stats-strip .item { text-align:center; }
.stats-strip .n { font-family:'Sora',sans-serif; font-size:1.7em; font-weight:800; background:var(--grad); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.stats-strip .l { color:var(--faint); font-size:.85em; font-weight:500; }

/* ---------- Grids ---------- */
.grid { display:grid; gap:22px; margin:26px 0; }
.grid-4 { grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); }
.grid-cats { grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:14px; }

/* ---------- Cards de produto (neon) ---------- */
.card { background:var(--surface); border:1px solid var(--border-soft); border-radius:var(--radius); overflow:hidden; transition:transform .2s, border-color .2s, box-shadow .2s; display:block; }
.card:hover { transform:translateY(-5px); border-color:var(--primary); box-shadow:0 18px 48px rgba(0,0,0,.55), 0 0 22px rgba(59,130,246,.22); }
.card .thumb-wrap { position:relative; overflow:hidden; }
.card .thumb { width:100%; aspect-ratio:1/1; height:auto; object-fit:cover; background:var(--surface2); display:flex; align-items:center; justify-content:center; font-size:3em; transition:transform .35s; }
.card:hover img.thumb { transform:scale(1.05); }
.card .body { padding:15px 17px 17px; }
.card .title { font-weight:600; color:var(--text); display:block; margin-bottom:3px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.card .seller { color:var(--faint); font-size:.84em; }
.card .meta-row { display:flex; justify-content:space-between; align-items:center; margin-top:11px; }
.card .price { color:var(--green); font-weight:700; font-size:1.08em; font-family:'Sora',sans-serif; }
.card .social-mini { color:var(--faint); font-size:.8em; display:flex; gap:10px; }
.cat-card { text-align:center; padding:20px 10px 16px; }
.cat-card .icon { font-size:2em; margin-bottom:4px; }
.cat-card .body { padding:0; font-size:.9em; font-weight:600; }

/* ---------- Seções ---------- */
.section-head { display:flex; justify-content:space-between; align-items:baseline; margin:44px 0 4px; }
.section-title { margin:40px 0 4px; font-size:1.55em; font-weight:700; }
.section-head .section-title { margin:0; }
.section-sub { color:var(--muted); margin-bottom:12px; font-size:.95em; }
.see-all { font-size:.9em; font-weight:600; }

/* ---------- CTA band ---------- */
.cta-band { background:linear-gradient(135deg, rgba(59,130,246,.14), rgba(96,165,250,.10)); border:1px solid rgba(59,130,246,.3); border-radius:18px; text-align:center; padding:54px 30px; margin:60px 0 40px; }
.cta-band h2 { font-size:1.9em; margin-bottom:10px; }
.cta-band p { color:var(--muted); margin-bottom:24px; max-width:560px; margin-left:auto; margin-right:auto; }

/* ---------- Como funciona ---------- */
.steps { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:18px; margin:26px 0; }
.step { background:var(--surface); border:1px solid var(--border-soft); border-radius:var(--radius); padding:26px 22px; }
.step .snum { width:34px; height:34px; border-radius:10px; background:var(--grad); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:800; margin-bottom:14px; font-family:'Sora',sans-serif; }
.step h3 { font-size:1.02em; margin-bottom:6px; }
.step p { color:var(--muted); font-size:.9em; }

/* ---------- Formulários ---------- */
.form-box { max-width:460px; margin:56px auto; background:var(--surface); border:1px solid var(--border-soft); border-radius:16px; padding:38px; }
.form-box h2 { margin-bottom:22px; }
.form-wide { max-width:780px; }
label { display:block; margin:15px 0 6px; font-weight:600; font-size:.87em; color:#c3cadb; }
input[type=text],input[type=email],input[type=password],input[type=number],input[type=url],select,textarea {
  width:100%; padding:11px 15px; background:var(--bg-soft); border:1px solid var(--border); color:var(--text); border-radius:10px; outline:none; font-family:inherit; font-size:.95em; transition:border-color .15s;
}
input:focus,select:focus,textarea:focus { border-color:var(--primary); box-shadow:0 0 0 3px rgba(59,130,246,.15); }
textarea { min-height:110px; resize:vertical; }
input[type=file] { color:var(--muted); margin-top:4px; font-size:.9em; }

/* ---------- Caixa de upload (clique ou arraste) ---------- */
.upload-box { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; text-align:center; padding:26px 18px; margin:6px 0 4px; background:var(--bg-soft); border:2px dashed var(--border); border-radius:14px; cursor:pointer; transition:border-color .15s, background .15s; font-weight:400; }
.upload-box:hover { border-color:var(--primary); background:rgba(59,130,246,.05); }
.upload-box.drag { border-color:var(--accent); background:rgba(96,165,250,.08); }
.upload-box.has-file { border-style:solid; border-color:var(--green); }
.upload-box input[type=file] { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; margin:0; }
.upload-box .up-icon { font-size:1.9em; line-height:1; }
.upload-box .up-text { color:var(--muted); font-size:.88em; }
.upload-box .up-text b { color:var(--text); }
.upload-box .up-file { color:var(--green); font-size:.82em; font-weight:600; word-break:break-all; }
.upload-box .up-file:empty { display:none; }
.upload-box .up-preview { max-height:110px; max-width:100%; border-radius:10px; margin-top:4px; object-fit:contain; }
.form-note { color:var(--faint); font-size:.82em; margin-top:5px; }

/* ---------- Alerts ---------- */
.alert { padding:13px 18px; border-radius:12px; margin:18px 0; font-size:.93em; }
.alert-success { background:rgba(52,211,153,.1); border:1px solid rgba(52,211,153,.35); color:var(--green); }
.alert-error { background:rgba(248,113,113,.1); border:1px solid rgba(248,113,113,.35); color:var(--red); }
.alert-info { background:rgba(59,130,246,.1); border:1px solid rgba(59,130,246,.3); color:#60a5fa; }

/* ---------- Tabelas ---------- */
.table { width:100%; border-collapse:separate; border-spacing:0; background:var(--surface); border:1px solid var(--border-soft); border-radius:var(--radius); overflow:hidden; margin:18px 0; }
.table th { background:var(--surface2); text-align:left; padding:12px 15px; font-size:.76em; color:var(--muted); text-transform:uppercase; letter-spacing:.06em; }
.table td { padding:13px 15px; border-top:1px solid var(--border-soft); font-size:.92em; vertical-align:middle; }
.table tr:hover td { background:rgba(59,130,246,.04); }
.table img.mini { width:46px; height:46px; object-fit:cover; border-radius:8px; }

/* ---------- Tags ---------- */
.tag { padding:3px 12px; border-radius:20px; font-size:.76em; font-weight:600; white-space:nowrap; }
.tag-pending { background:rgba(251,191,36,.13); color:var(--yellow); border:1px solid rgba(251,191,36,.3); }
.tag-approved,.tag-paid,.tag-active { background:rgba(52,211,153,.13); color:var(--green); border:1px solid rgba(52,211,153,.3); }
.tag-rejected,.tag-cancelled,.tag-removed,.tag-blocked,.tag-refunded { background:rgba(248,113,113,.13); color:var(--red); border:1px solid rgba(248,113,113,.3); }
.tag-none,.tag-paused { background:rgba(148,160,184,.13); color:var(--muted); border:1px solid rgba(148,160,184,.25); }

/* ---------- Perfil ---------- */
.profile-head { display:flex; gap:28px; align-items:center; background:linear-gradient(160deg,var(--surface) 60%, rgba(59,130,246,.08)); border:1px solid var(--border-soft); border-radius:18px; padding:34px; margin:28px 0; flex-wrap:wrap; }
.avatar { width:112px; height:112px; border-radius:50%; object-fit:cover; border:3px solid var(--primary); background:var(--surface2); display:flex; align-items:center; justify-content:center; font-size:2.5em; flex-shrink:0; }
.profile-head h1 { font-size:1.65em; display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.profile-head .ptitle { color:var(--accent); font-weight:600; font-size:.95em; }
.profile-head .pbio { color:var(--muted); max-width:620px; font-size:.93em; margin-top:6px; }
.pstats { display:flex; gap:26px; margin-top:12px; color:var(--muted); font-size:.88em; }
.pstats b { color:var(--text); font-family:'Sora',sans-serif; }

/* ---------- Painéis ---------- */
.panel-layout { display:grid; grid-template-columns:236px 1fr; gap:28px; margin:30px 0; }
.sidemenu { background:var(--surface); border:1px solid var(--border-soft); border-radius:var(--radius); padding:10px; height:fit-content; position:sticky; top:86px; }
.sidemenu a { display:block; padding:10px 16px; color:var(--muted); font-size:.92em; font-weight:500; border-radius:9px; margin:2px 0; }
.sidemenu a:hover { background:var(--surface2); color:var(--text); }
.sidemenu a.active { background:rgba(59,130,246,.14); color:#60a5fa; }
.stat-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(175px,1fr)); gap:16px; margin-bottom:26px; }
.stat { background:var(--surface); border:1px solid var(--border-soft); border-radius:var(--radius); padding:20px 22px; }
.stat .num { font-family:'Sora',sans-serif; font-size:1.55em; font-weight:700; color:var(--text); }
.stat .lbl { color:var(--faint); font-size:.82em; font-weight:500; margin-top:2px; }

/* ---------- Página de produto ---------- */
.product-view { display:grid; grid-template-columns:1fr 400px; gap:14px 34px; margin:34px 0; align-items:start; }
.product-view .pmain { grid-row:1; grid-column:1; }
.product-view .psocial { grid-row:2; grid-column:1; }
.product-view .buy-box { grid-row:1 / 3; grid-column:2; }
.product-view .comments { grid-row:3; grid-column:1 / -1; max-width:820px; margin:10px 0 20px; }
.product-view .pimg { width:100%; border-radius:16px; border:1px solid var(--border-soft); }

/* ---------- Carrossel de fotos (estilo Instagram) ---------- */
.carousel { position:relative; border-radius:16px; overflow:hidden; border:1px solid var(--border-soft); background:var(--surface2); }
.car-track { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
.car-track::-webkit-scrollbar { display:none; }
.car-slide { flex:0 0 100%; scroll-snap-align:center; scroll-snap-stop:always; position:relative; overflow:hidden; }
/* Fundo: a própria imagem desfocada preenche a moldura (acabamento estilo Instagram) */
.car-slide::before { content:''; position:absolute; inset:-40px; background-image:var(--bg); background-size:cover; background-position:center; filter:blur(26px) brightness(.5) saturate(1.2); }
.car-slide img { position:relative; width:100%; height:440px; object-fit:contain; display:block; }
.car-btn { position:absolute; top:50%; transform:translateY(-50%); width:38px; height:38px; border-radius:50%; border:none; cursor:pointer; background:rgba(11,14,20,.65); color:#fff; font-size:1.4em; line-height:1; display:flex; align-items:center; justify-content:center; backdrop-filter:blur(4px); transition:background .15s; z-index:2; }
.car-btn:hover { background:rgba(59,130,246,.85); }
.car-prev { left:12px; }
.car-next { right:12px; }
.car-dots { position:absolute; bottom:12px; left:0; right:0; display:flex; justify-content:center; gap:6px; z-index:2; pointer-events:none; }
.car-dot { width:7px; height:7px; border-radius:50%; background:rgba(255,255,255,.4); transition:all .2s; }
.car-dot.on { background:#fff; transform:scale(1.25); }
.car-slide img { cursor:zoom-in; }

/* ---------- Lightbox (imagem em tela cheia) ---------- */
.lightbox { position:fixed; inset:0; background:rgba(5,7,11,.94); z-index:400; display:none; align-items:center; justify-content:center; padding:20px; cursor:zoom-out; }
.lightbox.open { display:flex; animation:fadeUp .2s ease; }
.lightbox img { max-width:96vw; max-height:92vh; object-fit:contain; border-radius:8px; }
.lb-close { position:absolute; top:16px; right:16px; width:42px; height:42px; border-radius:50%; border:none; background:rgba(255,255,255,.12); color:#fff; font-size:1.2em; cursor:pointer; z-index:401; }
.lb-close:hover { background:rgba(255,255,255,.25); }

/* Linha do vendedor no box de compra */
.seller-row { display:flex; gap:12px; align-items:center; }
.buy-box { background:var(--surface); border:1px solid var(--border-soft); border-radius:16px; padding:28px; height:fit-content; position:sticky; top:90px; }
.buy-box .bprice { font-family:'Sora',sans-serif; font-size:2.1em; font-weight:800; color:var(--green); }

/* ---------- Barra social ---------- */
.social-bar { display:flex; gap:10px; align-items:center; margin:18px 0; flex-wrap:wrap; }
.social-stat { display:inline-flex; align-items:center; gap:7px; background:var(--surface); border:1px solid var(--border-soft); border-radius:10px; padding:8px 15px; color:var(--muted); font-size:.88em; font-weight:500; }
.social-stat b { color:var(--text); }
button.social-btn { cursor:pointer; font-family:inherit; transition:all .15s; }
button.social-btn:hover { border-color:var(--primary); color:var(--text); }
button.social-btn.on { background:rgba(59,130,246,.14); border-color:var(--primary); color:#60a5fa; }

/* ---------- Comentários ---------- */
.comments { margin:40px 0; max-width:760px; }
.comment { display:flex; gap:14px; padding:18px 0; border-bottom:1px solid var(--border-soft); }
.comment .cavatar { width:42px; height:42px; border-radius:50%; object-fit:cover; background:var(--surface2); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.comment .cname { font-weight:600; font-size:.92em; }
.comment .cdate { color:var(--faint); font-size:.78em; margin-left:8px; }
.comment .ctext { color:var(--muted); font-size:.93em; margin-top:3px; white-space:pre-line; }
.comment-form textarea { min-height:80px; }

/* ---------- Footer ---------- */
.footer { border-top:1px solid var(--border-soft); background:var(--bg-soft); margin-top:70px; padding:46px 0 30px; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr; gap:36px; margin-bottom:30px; }
.footer h4 { font-size:.85em; text-transform:uppercase; letter-spacing:.08em; color:var(--faint); margin-bottom:12px; }
.footer a { display:block; color:var(--muted); font-size:.9em; padding:3px 0; }
.footer a:hover { color:var(--text); }
/* corrige a logo do rodapé (a regra acima transformava o link em bloco) */
.footer a.logo { display:inline-flex; align-items:center; gap:9px; color:var(--text); font-size:1.35em; padding:0; margin-bottom:8px; }
.footer .fdesc { color:var(--faint); font-size:.88em; max-width:320px; margin-top:8px; }
.footer .copy { border-top:1px solid var(--border-soft); padding-top:20px; color:var(--faint); font-size:.82em; text-align:center; }

/* ============================================
   v3 — Refinamentos, social e landing rica
   ============================================ */

/* Animações sutis */
@keyframes fadeUp { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:none; } }
.hero > *, .stats-strip, .section-title { animation:fadeUp .5s ease both; }
.grid .card { animation:fadeUp .45s ease both; }
.grid .card:nth-child(2){animation-delay:.05s}.grid .card:nth-child(3){animation-delay:.1s}.grid .card:nth-child(4){animation-delay:.15s}

/* Ícones do topo (carrinho + sino) — sempre visíveis */
.top-icons { display:flex; align-items:center; gap:2px; order:4; }
.bell { position:relative; font-size:1.15em; color:var(--muted); padding:4px 8px; display:inline-flex; }
.bell:hover { color:var(--text); }
.bell-badge { position:absolute; top:-3px; right:-1px; background:var(--red); color:#fff; font-size:.58em; font-weight:700; min-width:17px; height:17px; border-radius:9px; display:flex; align-items:center; justify-content:center; padding:0 4px; }
.pill { background:var(--red); color:#fff; font-size:.7em; font-weight:700; padding:1px 8px; border-radius:10px; margin-left:6px; }

/* Chip do usuário */
.user-chip { display:inline-flex; align-items:center; gap:8px; color:var(--text) !important; }
.chip-avatar { width:28px; height:28px; border-radius:50%; object-fit:cover; background:var(--surface2); display:inline-flex; align-items:center; justify-content:center; font-size:.9em; border:2px solid var(--border); }

/* Lista de notificações */
.notif-list { display:flex; flex-direction:column; gap:10px; }
.notif { display:flex; justify-content:space-between; gap:16px; align-items:center; background:var(--surface); border:1px solid var(--border-soft); border-radius:12px; padding:15px 20px; color:var(--text); }
.notif:hover { border-color:var(--primary); color:var(--text); }
.notif.unread { border-left:3px solid var(--primary); background:linear-gradient(90deg, rgba(59,130,246,.07), var(--surface) 40%); }
.notif .ndate { color:var(--faint); font-size:.8em; white-space:nowrap; }

/* Estrelas */
.stars-inline { color:var(--yellow); font-size:.92em; letter-spacing:1px; }
.star-input { display:inline-flex; flex-direction:row-reverse; gap:2px; }
.star-input input { display:none; }
.star-input label { font-size:1.5em; color:var(--border); cursor:pointer; transition:color .1s; }
.star-input label:hover, .star-input label:hover ~ label,
.star-input input:checked ~ label { color:var(--yellow); }
.rate-row { display:flex; align-items:center; gap:14px; margin-bottom:10px; flex-wrap:wrap; }

/* Comentários: respostas e ações */
.comment.reply { border-bottom:none; padding:14px 0 4px; margin-left:6px; border-left:2px solid var(--border-soft); padding-left:16px; margin-top:10px; }
.cactions { display:flex; gap:14px; margin-top:6px; }
.cactions .btn-link { font-size:.8em; color:var(--faint); }
.cactions .btn-link:hover, .creply:hover { color:var(--accent); }
.cdel:hover { color:var(--red) !important; }
.reply-form { display:none; margin-top:10px; }
.reply-form.open { display:block; }

/* ---------- Interações estilo Instagram ---------- */
.pimg-wrap { position:relative; user-select:none; -webkit-user-select:none; }
.bigheart { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; pointer-events:none; opacity:0; }
.bigheart svg { width:110px; height:110px; fill:#fff; filter:drop-shadow(0 6px 28px rgba(0,0,0,.55)); }
.bigheart.show { animation:bigpop .9s ease forwards; }
@keyframes bigpop {
  0% { opacity:0; transform:scale(.35); }
  25% { opacity:.96; transform:scale(1.18); }
  55% { opacity:.96; transform:scale(1); }
  100% { opacity:0; transform:scale(1.02); }
}
.ig-bar { display:flex; align-items:center; gap:4px; margin:16px 0 6px; }
.ig-btn { background:none; border:none; cursor:pointer; color:var(--text); padding:7px; border-radius:12px; display:inline-flex; transition:transform .12s, color .15s; }
.ig-btn svg { width:27px; height:27px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.ig-btn:hover { color:var(--muted); }
.ig-btn:active { transform:scale(.86); }
.ig-btn.liked { color:#fb5f74; }
.ig-btn.liked svg { fill:#fb5f74; stroke:#fb5f74; animation:heartpop .35s ease; }
.ig-save { margin-left:auto; }
.ig-btn.saved { color:var(--yellow); }
.ig-btn.saved svg { fill:var(--yellow); stroke:var(--yellow); animation:heartpop .35s ease; }
.ig-btn.copied { color:var(--green); }
@keyframes heartpop { 0%{transform:scale(1)} 40%{transform:scale(1.35)} 70%{transform:scale(.92)} 100%{transform:scale(1)} }
.ig-meta { color:var(--muted); font-size:.9em; margin-bottom:12px; }
.ig-meta b { color:var(--text); }
.clike { font-size:.82em !important; color:var(--faint); transition:color .15s; }
.clike.on { color:#fb5f74 !important; }
.clike.on span { color:#fb5f74; }

/* ---------- Carrinho e order bump ---------- */
.cart-layout { display:grid; grid-template-columns:1fr 400px; gap:30px; margin:24px 0; align-items:start; }
.cart-item { display:flex; align-items:center; gap:16px; background:var(--surface); border:1px solid var(--border-soft); border-radius:14px; padding:14px 18px; margin-bottom:12px; }
.cart-item img { width:64px; height:64px; object-fit:cover; border-radius:10px; }
.cart-thumb-ph { width:64px; height:64px; border-radius:10px; background:var(--surface2); display:flex; align-items:center; justify-content:center; font-size:1.6em; }
.cart-price { font-family:'Sora',sans-serif; font-weight:700; color:var(--green); white-space:nowrap; }
.cart-total { display:flex; justify-content:space-between; align-items:center; font-size:1.15em; padding:14px 0; border-top:1px solid var(--border-soft); margin:16px 0 14px; }
.cart-total b { font-family:'Sora',sans-serif; font-size:1.35em; color:var(--green); }
.bump-box { background:linear-gradient(135deg, rgba(251,191,36,.1), rgba(59,130,246,.08)); border:2px dashed var(--yellow); border-radius:12px; padding:14px 16px; margin-bottom:6px; }
.bump-label { display:flex; gap:10px; align-items:flex-start; cursor:pointer; margin:0; font-weight:400; }
.bump-label input { width:auto !important; margin-top:4px; transform:scale(1.3); accent-color:var(--yellow); }
.bump-check { font-size:.9em; line-height:1.5; color:var(--text); }
.bump-check .bump-price { color:var(--green); font-weight:700; }
.bump-img { width:44px; height:44px; object-fit:cover; border-radius:8px; vertical-align:middle; margin:0 4px; }

/* ---------- Painel de Vitrine (form do produto) ---------- */
.showcase-panel { border:1px solid var(--border); border-radius:14px; padding:18px 20px; margin:18px 0 4px; background:var(--bg-soft); transition:border-color .2s; }
.showcase-panel.on { border-color:var(--primary); box-shadow:0 0 0 3px rgba(34,197,94,.1); }
.sc-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.sc-head-txt { display:flex; flex-direction:column; gap:3px; }
.sc-title { font-weight:700; display:flex; align-items:center; gap:8px; color:var(--text); }
.sc-sub { color:var(--muted); font-size:.85em; }
.sc-body { max-height:0; overflow:hidden; opacity:0; transition:max-height .3s ease, opacity .2s, margin .3s; }
.showcase-panel.on .sc-body { max-height:600px; opacity:1; margin-top:16px; }
.sc-label { display:block; margin:12px 0 6px; font-weight:600; font-size:.87em; color:#c3dece; }

/* Switch */
.switch { position:relative; display:inline-block; flex-shrink:0; cursor:pointer; }
.switch input { position:absolute; opacity:0; width:0; height:0; }
.switch-track { display:block; width:48px; height:27px; background:var(--surface2); border:1px solid var(--border); border-radius:20px; transition:background .2s, border-color .2s; }
.switch-thumb { position:absolute; top:3px; left:3px; width:21px; height:21px; background:var(--muted); border-radius:50%; transition:transform .2s, background .2s; }
.switch input:checked + .switch-track { background:var(--primary); border-color:var(--primary); }
.switch input:checked + .switch-track .switch-thumb { transform:translateX(21px); background:#fff; }

/* Input com sufixo */
.input-suffix { display:flex; align-items:center; background:var(--bg); border:1px solid var(--border); border-radius:10px; overflow:hidden; }
.input-suffix input { border:none; background:transparent; flex:1; }
.input-suffix input:focus { box-shadow:none; }
.input-suffix .suffix { padding:0 14px; color:var(--muted); font-size:.88em; font-weight:600; white-space:nowrap; border-left:1px solid var(--border); align-self:stretch; display:flex; align-items:center; }

/* Cartões de rádio */
.radio-cards { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.radio-card { position:relative; cursor:pointer; }
.radio-card input { position:absolute; opacity:0; }
.rc-body { display:flex; flex-direction:column; gap:3px; padding:14px; border:1.5px solid var(--border); border-radius:12px; background:var(--surface); transition:border-color .15s, background .15s; height:100%; }
.rc-body:hover { border-color:var(--muted); }
.radio-card input:checked + .rc-body { border-color:var(--primary); background:rgba(34,197,94,.07); }
.rc-ic { color:var(--primary); }
.rc-title { font-weight:700; font-size:.92em; }
.rc-desc { color:var(--muted); font-size:.8em; line-height:1.4; }
@media (max-width:520px){ .radio-cards { grid-template-columns:1fr; } }

/* ---------- Retoques neon ---------- */
.section-title { display:flex; align-items:center; gap:9px; }
.section-title .ic { color:var(--primary); filter:drop-shadow(0 0 6px rgba(59,130,246,.5)); }
.card .price { text-shadow:0 0 14px rgba(59,130,246,.35); }
.badge-balance { background:rgba(59,130,246,.1); border:1px solid rgba(59,130,246,.4); color:var(--accent); box-shadow:0 0 12px rgba(59,130,246,.15); }
.hero h1 em { filter:drop-shadow(0 0 18px rgba(59,130,246,.4)); }
.feature .ficon { color:var(--primary); }
.feature .ficon .ic { filter:drop-shadow(0 0 8px rgba(59,130,246,.45)); }
.stat .num { color:var(--accent); }
.bell:hover { color:var(--primary); filter:drop-shadow(0 0 6px rgba(59,130,246,.5)); }
input:focus,select:focus,textarea:focus { box-shadow:0 0 0 3px rgba(59,130,246,.18), 0 0 14px rgba(59,130,246,.12); }
.tag-approved,.tag-paid,.tag-active { box-shadow:0 0 10px rgba(52,211,153,.2); }

/* Botão de tema (sol/lua) */
.theme-toggle { background:none; border:none; cursor:pointer; }
.th-sun { display:inline-flex; } .th-moon { display:none; }
html[data-theme="light"] .th-sun { display:none; } html[data-theme="light"] .th-moon { display:inline-flex; }

/* Banners de anúncio */
.ad-strip { display:flex; flex-direction:column; gap:12px; margin:16px 0; }
.ad-strip.ad-home { margin:22px 0 8px; }
.ad-link { display:block; line-height:0; }
.ad-banner { width:100%; height:auto; border-radius:12px; border:1px solid var(--border-soft); display:block; transition:box-shadow .2s, transform .2s; }
.ad-link:hover .ad-banner { box-shadow:var(--glow); transform:translateY(-2px); }

/* ---------- Carrinho lateral (drawer) ---------- */
.cart-overlay { position:fixed; inset:0; background:rgba(3,7,5,.6); backdrop-filter:blur(2px); opacity:0; visibility:hidden; transition:opacity .25s; z-index:300; }
.cart-overlay.on { opacity:1; visibility:visible; }
.cart-drawer { position:fixed; top:0; right:0; height:100%; width:380px; max-width:90vw; background:var(--surface); border-left:1px solid var(--border); box-shadow:-16px 0 46px rgba(0,0,0,.5); transform:translateX(100%); transition:transform .3s cubic-bezier(.4,0,.2,1); z-index:301; display:flex; flex-direction:column; }
.cart-drawer.open { transform:translateX(0); }
.cd-head { display:flex; align-items:center; justify-content:space-between; padding:18px 20px; border-bottom:1px solid var(--border-soft); }
.cd-head b { display:flex; align-items:center; gap:8px; font-size:1.05em; }
.cd-close { background:none; border:none; color:var(--muted); font-size:1.2em; cursor:pointer; padding:4px 8px; border-radius:8px; }
.cd-close:hover { color:var(--text); background:var(--surface2); }
.cd-items { flex:1; overflow-y:auto; padding:12px 16px; }
.cd-empty { color:var(--muted); text-align:center; padding:40px 0; }
.cd-item { display:flex; gap:12px; align-items:center; padding:10px 0; border-bottom:1px solid var(--border-soft); }
.cd-item img, .cd-ph { width:52px; height:52px; border-radius:10px; object-fit:cover; background:var(--surface2); flex-shrink:0; }
.cd-info { flex:1; min-width:0; display:flex; flex-direction:column; gap:2px; }
.cd-info a { color:var(--text); font-weight:600; font-size:.9em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.cd-info span { color:var(--green); font-weight:700; font-size:.9em; }
.cd-rm { background:none; border:none; color:var(--faint); cursor:pointer; font-size:.9em; padding:4px 8px; border-radius:6px; }
.cd-rm:hover { color:var(--red); background:rgba(255,107,107,.1); }
.cd-foot { padding:16px 20px; border-top:1px solid var(--border-soft); }
.cd-total { display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; font-size:1.05em; }
.cd-total b { font-family:'Sora',sans-serif; font-size:1.3em; color:var(--green); }

/* Importar em massa */
.import-row { background:var(--bg-soft); border:1px solid var(--border-soft); border-radius:12px; padding:14px 16px; margin-bottom:12px; }
.import-row .ir-head { font-weight:700; font-size:.85em; color:var(--accent); margin-bottom:8px; }
.import-row input, .import-row textarea, .import-row select { margin-top:8px; }

/* ---------- Tema CLARO ---------- */
html[data-theme="light"] {
  --bg:#eef2f8; --bg-soft:#e7edf6; --surface:#ffffff; --surface2:#eef2f8;
  --border:#d4ddec; --border-soft:#e2e9f4;
  --text:#0c1424; --muted:#4a5b76; --faint:#7e8aa3;
  --primary:#2563eb; --primary-h:#1d4ed8; --primary-glow:rgba(37,99,235,.28);
  --accent:#2563eb; --green:#16a34a; --red:#dc2626; --yellow:#ca8a04;
  --grad:linear-gradient(135deg,#2563eb,#60a5fa);
  --shadow:0 14px 40px rgba(20,40,80,.12); --glow:0 0 16px rgba(37,99,235,.22);
}
html[data-theme="light"] body {
  background:
    radial-gradient(900px 500px at 15% -5%, rgba(37,99,235,.08), transparent 60%),
    radial-gradient(800px 500px at 100% 0%, rgba(96,165,250,.06), transparent 55%),
    var(--bg);
}
html[data-theme="light"] .topbar { background:rgba(255,255,255,.86); border-bottom:1px solid #d4ddec; box-shadow:0 1px 0 rgba(37,99,235,.06), 0 6px 20px rgba(0,0,0,.05); }
html[data-theme="light"] a:hover { color:var(--primary-h); }
html[data-theme="light"] .btn-primary { color:#fff; }
html[data-theme="light"] .btn-success { color:#fff; }
html[data-theme="light"] .logo span, html[data-theme="light"] .stats-strip .n, html[data-theme="light"] .hero h1 em { -webkit-text-fill-color:transparent; }
html[data-theme="light"] .logo-beta { -webkit-text-fill-color:currentColor; color:var(--faint); }
html[data-theme="light"] .card, html[data-theme="light"] .stat, html[data-theme="light"] .form-box, html[data-theme="light"] .table { box-shadow:0 4px 16px rgba(20,40,80,.06); }

/* ---------- Página de sucesso / download ---------- */
.success-box { max-width:560px; margin:50px auto; background:var(--surface); border:1px solid var(--border-soft); border-radius:18px; padding:40px 30px; text-align:center; }
.ok-check { width:82px; height:82px; margin:0 auto 18px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:rgba(59,130,246,.14); color:var(--primary); box-shadow:0 0 30px rgba(59,130,246,.3); }
.ok-check.pending { background:rgba(251,191,36,.12); }
.ok-check.fail { background:rgba(255,107,107,.12); color:var(--red); box-shadow:none; }
.success-box h1 { font-size:1.7em; margin-bottom:6px; }
.dl-list { display:flex; flex-direction:column; gap:10px; margin-top:18px; }
.dl-btn { padding:15px 20px; font-size:1.02em; }

/* ---------- Pagamento Pix ---------- */
.pix-box { display:flex; flex-direction:column; align-items:center; gap:12px; }
.pix-qr { width:230px; height:230px; border-radius:14px; background:#fff; padding:10px; }
.pix-copy { display:flex; gap:8px; width:100%; }
.pix-copy input { flex:1; font-size:.78em; padding:9px 12px; }
.pix-status { display:flex; align-items:center; gap:9px; justify-content:center; font-weight:600; color:var(--muted); background:var(--surface2); border:1px solid var(--border-soft); border-radius:10px; padding:12px 16px; width:100%; }
.spin { width:16px; height:16px; border:2.5px solid var(--border); border-top-color:var(--primary); border-radius:50%; display:inline-block; animation:spin 0.8s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }

/* Ícones inline (padrão elegante) */
.ic { vertical-align:-3px; flex-shrink:0; }
.btn .ic, .btn-link .ic { vertical-align:-3px; }
.sidemenu a { display:flex; align-items:center; gap:9px; }
.dropdown-menu a { display:flex; align-items:center; gap:9px; }

/* Denúncia */
.report-box { margin-top:18px; }
.report-box summary { color:var(--faint); font-size:.82em; cursor:pointer; list-style:none; }
.report-box summary:hover { color:var(--red); }

/* Landing: marquee de categorias */
.cat-pills { display:flex; gap:10px; flex-wrap:wrap; justify-content:center; margin:24px 0 6px; }
.cat-pill { background:var(--surface); border:1px solid var(--border); border-radius:24px; padding:8px 18px; color:var(--muted); font-size:.88em; font-weight:500; }
.cat-pill:hover { border-color:var(--primary); color:var(--text); transform:translateY(-1px); }

/* Landing: top designers */
.designer-card { background:var(--surface); border:1px solid var(--border-soft); border-radius:var(--radius); padding:24px; text-align:center; transition:transform .2s, border-color .2s; display:block; color:var(--text); }
.designer-card:hover { transform:translateY(-4px); border-color:var(--accent); color:var(--text); }
.designer-card .avatar { margin:0 auto 12px; width:76px; height:76px; font-size:1.8em; }
.designer-card .dname { font-weight:700; font-family:'Sora',sans-serif; }
.designer-card .dtitle { color:var(--accent); font-size:.82em; margin-bottom:8px; }
.designer-card .dstats { color:var(--faint); font-size:.8em; }

/* Landing: features "por que" */
.features { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:18px; margin:26px 0; }
.feature { background:linear-gradient(160deg,var(--surface), rgba(59,130,246,.05)); border:1px solid var(--border-soft); border-radius:var(--radius); padding:26px; }
.feature .ficon { font-size:1.7em; margin-bottom:10px; display:inline-block; background:var(--surface2); width:52px; height:52px; border-radius:14px; text-align:center; line-height:52px; }
.feature h3 { font-size:1em; margin-bottom:6px; }
.feature p { color:var(--muted); font-size:.88em; }

/* Landing: FAQ */
.faq { max-width:760px; margin:26px auto; }
.faq details { background:var(--surface); border:1px solid var(--border-soft); border-radius:12px; padding:18px 22px; margin-bottom:10px; }
.faq summary { cursor:pointer; font-weight:600; font-size:.97em; list-style:none; position:relative; padding-right:26px; }
.faq summary::after { content:'+'; position:absolute; right:0; top:0; color:var(--primary); font-size:1.2em; font-weight:700; }
.faq details[open] summary::after { content:'–'; }
.faq details p { color:var(--muted); font-size:.92em; margin-top:10px; }

/* Newsletter */
.newsletter-band { background:var(--surface); border:1px solid var(--border-soft); border-radius:18px; padding:40px; display:flex; align-items:center; justify-content:space-between; gap:26px; margin:50px 0 10px; flex-wrap:wrap; }
.newsletter-band h3 { font-size:1.3em; }
.newsletter-band p { color:var(--muted); font-size:.92em; }
.newsletter-form { display:flex; gap:10px; min-width:300px; flex:1; max-width:440px; }
.newsletter-form input { flex:1; }

/* Selo de segurança no buy-box */
.trust-list { margin-top:16px; display:flex; flex-direction:column; gap:7px; }
.trust-list span { color:var(--faint); font-size:.8em; }

/* Admin refinado */
.admin-topband { background:linear-gradient(90deg, rgba(59,130,246,.12), transparent); border:1px solid rgba(59,130,246,.25); border-radius:12px; padding:14px 20px; margin-bottom:20px; display:flex; gap:20px; align-items:center; flex-wrap:wrap; font-size:.9em; color:var(--muted); }
.admin-topband b { color:var(--text); }

/* ============================================
   v4 — Responsividade completa (PC + mobile)
   ============================================ */

/* Hambúrguer (escondido no desktop) */
.hamburger { display:none; font-size:1.5em; color:var(--text); cursor:pointer; padding:4px 10px; border:1px solid var(--border); border-radius:10px; line-height:1.3; user-select:none; }
.navtoggle-cb { display:none; }

/* Dropdown também abre por toque/foco (touch não tem hover) */
.dropdown:focus-within .dropdown-menu { display:block; }

/* ---------- Desktop largo (≥1200px): mais respiro ---------- */
@media (min-width:1200px) {
  body { font-size:16px; }
  .container { max-width:1320px; }
  .hero { padding:116px 24px 84px; }
  .hero h1 { font-size:3.6em; }
  .grid-4 { grid-template-columns:repeat(4, 1fr); }
  .product-view { grid-template-columns:1fr 420px; gap:44px; }
  .panel-layout { grid-template-columns:250px 1fr; }
}

/* ---------- Tablet e menor (≤1000px): produto vira coluna única ---------- */
@media (max-width:1000px) {
  /* ordem: foto/título → COMPRA → likes/descrição → comentários */
  .product-view { display:flex; flex-direction:column; gap:18px; }
  .product-view .pmain { order:0; }
  .product-view .buy-box { order:1; position:static; width:100%; }
  .product-view .psocial { order:2; }
  .product-view .comments { order:3; max-width:none; margin:6px 0 10px; }
  .stats-strip { gap:34px; }
}

/* ---------- Mobile (≤860px) ---------- */
@media (max-width:860px) {
  body { font-size:14.5px; }
  .container { padding:0 16px; }

  /* Topbar: logo + hambúrguer na 1ª linha, busca na 2ª, menu colapsável */
  .nav { gap:10px; padding:12px 16px; }
  .logo { margin-right:auto; font-size:1.2em; }
  .logo-mark { width:26px; height:26px; }
  .logo-img { max-height:30px; max-width:130px; }
  .hamburger { display:block; }
  .searchbox { order:3; flex-basis:100%; min-width:0; }
  .navlinks { display:none; order:4; flex-basis:100%; flex-direction:column; align-items:stretch; gap:4px; padding:10px 0 6px; border-top:1px solid var(--border-soft); max-height:72vh; overflow-y:auto; }
  .navtoggle-cb:checked ~ .navlinks { display:flex; }
  .navlinks > a, .navlinks .btn-link { padding:12px 10px; text-align:left; font-size:1em; border-radius:8px; }
  .navlinks > a:hover, .navlinks .btn-link:hover { background:var(--surface2); }
  .badge-balance { align-self:flex-start; margin:4px 10px; }
  /* Ícones do topo: entre a logo e o hambúrguer, na mesma linha */
  .logo { order:0; }
  .top-icons { order:1; margin-left:auto; gap:0; }
  .top-icons .bell { padding:6px 7px; font-size:1.2em; }
  .hamburger { order:2; }
  .searchbox { order:3; }
  .navlinks { order:5; }
  /* Dropdowns viram listas abertas dentro do menu */
  .dropdown { width:100%; }
  .dropdown-menu { position:static; display:none; box-shadow:none; border:none; background:transparent; min-width:0; padding:0 0 0 14px; }
  .dropdown:hover .dropdown-menu, .dropdown:focus-within .dropdown-menu { display:block; }
  .dropdown-menu a { padding:11px 12px; }
  .user-chip { width:100%; justify-content:flex-start; padding:12px 10px; }

  /* Layouts em coluna */
  .panel-layout { display:flex; flex-direction:column; gap:16px; }
  .cart-layout { grid-template-columns:1fr; gap:16px; }
  .cart-item { padding:12px 14px; gap:12px; }
  .sidemenu { position:static; display:grid; grid-template-columns:1fr 1fr; gap:2px; }
  .footer-grid { grid-template-columns:1fr; gap:24px; }
  .newsletter-band { flex-direction:column; align-items:stretch; padding:28px 22px; }
  .newsletter-form { min-width:0; max-width:none; }

  /* Hero e seções */
  .hero { padding:56px 16px 40px; }
  .hero h1 { font-size:2.1em; }
  .hero-split { grid-template-columns:1fr; text-align:center; gap:14px; }
  .hero-split .hero-copy p { margin:0 auto 22px; }
  .hero-split .actions { justify-content:center; }
  .hero-split .hero-art { order:-1; }
  .hero-split .printer-svg { max-width:250px; }
  .hero p { font-size:1em; }
  .hero .actions .btn { width:100%; max-width:340px; }
  .cat-pills { overflow-x:auto; flex-wrap:nowrap; justify-content:flex-start; padding-bottom:8px; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
  .cat-pills::-webkit-scrollbar { display:none; }
  .cat-pill { white-space:nowrap; flex-shrink:0; }
  .stats-strip { display:grid; grid-template-columns:1fr 1fr; gap:18px; padding:20px; }
  .section-head { flex-wrap:wrap; gap:6px; margin:32px 0 4px; }
  .section-title { font-size:1.28em; margin:30px 0 4px; }
  .cta-band { padding:36px 20px; }
  .cta-band h2 { font-size:1.4em; }

  /* Grids de produto: 2 colunas no celular */
  .grid { gap:12px; }
  .grid-4 { grid-template-columns:repeat(2, 1fr); }
  .card .thumb { font-size:2.2em; }
  .card .body { padding:11px 12px 13px; }
  .card .social-mini { gap:6px; font-size:.72em; }
  .card .price { font-size:.98em; }
  .grid-cats { grid-template-columns:repeat(2, 1fr); }

  /* Tabelas roláveis na horizontal */
  .table { display:block; overflow-x:auto; -webkit-overflow-scrolling:touch; white-space:nowrap; width:100%; max-width:100%; }
  .table td { white-space:nowrap; overflow-wrap:normal; }
  .table form { white-space:nowrap; }

  /* Formulários e painéis */
  .form-box { padding:24px 18px; margin:28px auto; }
  .stat-cards { grid-template-columns:1fr 1fr; gap:10px; }
  .stat { padding:14px 16px; }
  .stat .num { font-size:1.25em; }
  /* Menu do painel vira barra horizontal deslizante (estilo app) */
  .sidemenu { position:static; display:flex; flex-direction:row; overflow-x:auto; gap:8px; padding:8px 10px; -webkit-overflow-scrolling:touch; scrollbar-width:none; border-radius:12px; }
  .sidemenu::-webkit-scrollbar { display:none; }
  .sidemenu a { white-space:nowrap; flex-shrink:0; padding:9px 15px; margin:0; border-radius:20px; background:var(--surface2); font-size:.85em; border-left:none !important; }
  .sidemenu a.active { background:rgba(59,130,246,.22); color:#60a5fa; }
  .sidemenu a:hover { background:var(--surface2); }

  .profile-head { padding:22px 18px; gap:16px; flex-direction:column; text-align:center; }
  .profile-head h1 { justify-content:center; }
  .profile-head > form { width:100%; }
  .profile-head > form .btn { width:100%; }
  .avatar { width:84px; height:84px; margin:0 auto; }
  .pstats { flex-wrap:wrap; gap:14px; justify-content:center; }
  .hero .kicker { font-size:.74em; }
  .comment .cavatar { width:36px; height:36px; }
  .comment.reply { margin-left:0; padding-left:12px; }
  .designer-card .avatar { margin:0 auto 12px; }
  .social-bar { gap:7px; }
  .social-stat { padding:8px 12px; font-size:.82em; }
  .buy-box { padding:20px 18px; }
  .buy-box .bprice { font-size:1.7em; }
  /* Avatar e nome do produtor juntos e centralizados */
  .seller-row { justify-content:center; text-align:center; }
  .seller-row .avatar { margin:0; }
  /* Carrossel de ponta a ponta: moldura quadrada, foto inteira centralizada, fundo desfocado */
  .carousel { margin:0 -16px; border-radius:0; border-left:none; border-right:none; }
  .car-slide img { height:100vw; max-height:74vh; object-fit:contain; }
  .car-btn { width:32px; height:32px; }
  .admin-topband { font-size:.84em; gap:12px; }

  /* Alvos de toque maiores */
  .btn { padding:12px 22px; }
  .btn-sm { padding:9px 14px; }
  input[type=text],input[type=email],input[type=password],input[type=number],input[type=url],select,textarea { padding:13px 15px; font-size:16px; } /* 16px evita zoom do iOS */
}

/* ---------- Telas muito pequenas (≤400px) ---------- */
@media (max-width:400px) {
  .grid-4 { grid-template-columns:1fr; }
  .sidemenu { grid-template-columns:1fr; }
  .stats-strip { grid-template-columns:1fr 1fr; }
  .hero h1 { font-size:1.8em; }
}

/* ---------- Depoimentos (prova social) ---------- */
.testi-wrap { margin:34px 0 8px; }
.testi-wrap .testi-title { font-family:'Sora',sans-serif; font-size:1.15em; font-weight:700; margin-bottom:14px; display:flex; align-items:center; gap:8px; }
.testi-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.testi-card { background:var(--surface); border:1px solid var(--border); border-radius:14px; padding:16px 16px 14px; }
.testi-stars { color:#fbbf24; font-size:.95em; letter-spacing:1px; margin-bottom:8px; }
.testi-text { color:var(--text); font-size:.92em; line-height:1.55; margin-bottom:12px; }
.testi-who { display:flex; align-items:center; gap:10px; }
.testi-av { width:34px; height:34px; border-radius:50%; background:var(--grad); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:.95em; flex-shrink:0; }
.testi-who b { display:block; font-size:.88em; }
.testi-who span { color:var(--muted); font-size:.78em; }
@media(max-width:820px){ .testi-grid{ grid-template-columns:1fr; } }

/* ---------- Notificações de compra (prova social) ---------- */
.buy-toast { position:fixed; left:18px; bottom:18px; z-index:400; display:flex; align-items:center; gap:12px; background:var(--surface); border:1px solid var(--border); border-left:3px solid var(--primary); border-radius:12px; padding:11px 15px 11px 12px; box-shadow:0 12px 34px rgba(0,0,0,.45); max-width:330px; opacity:0; transform:translateY(14px); transition:opacity .35s, transform .35s, box-shadow .2s; pointer-events:none; text-decoration:none; }
.buy-toast.show { opacity:1; transform:translateY(0); pointer-events:auto; cursor:pointer; }
.buy-toast.show:hover { box-shadow:0 16px 40px rgba(0,0,0,.5); transform:translateY(-2px); }
.buy-toast .bt-tx b { color:var(--accent); }
.buy-toast .bt-img { width:54px; height:54px; border-radius:9px; object-fit:cover; flex-shrink:0; border:1px solid var(--border); }
.buy-toast .bt-tx { font-size:.82em; line-height:1.4; color:var(--text); }
.buy-toast .bt-tx b { color:var(--accent); }
.buy-toast .bt-tx span { display:block; color:var(--faint); font-size:.9em; margin-top:2px; }
@media(max-width:560px){ .buy-toast{ left:10px; right:10px; bottom:10px; max-width:none; } }

/* ---------- Order bump especial: Grupo de Networking ---------- */
.bump-net { border-color:rgba(52,211,153,.5); background:linear-gradient(180deg,rgba(52,211,153,.10),rgba(52,211,153,.03)); }
.bump-net .bump-check b { color:var(--green); font-size:1.06em; }
.bump-net .bump-price { font-size:1.1em; }
.bump-net-row { display:flex; gap:12px; align-items:center; }
.bump-net-img { width:92px; height:92px; object-fit:cover; border-radius:10px; flex-shrink:0; border:1px solid var(--border); }
.bump-net-body { flex:1; min-width:0; }
.bump-net-desc { display:block; color:var(--text); opacity:1; font-size:.88em; font-weight:500; line-height:1.45; margin:4px 0 6px; }

/* ---------- Cronômetro de checkout (urgência) ---------- */
.checkout-timer { display:flex; align-items:center; justify-content:center; gap:8px; margin:0 0 14px; padding:10px 14px; border-radius:12px; background:rgba(255,107,107,.10); border:1px solid rgba(255,107,107,.35); color:var(--red); font-size:.88em; font-weight:600; }
.checkout-timer svg { flex-shrink:0; }
.checkout-timer .ct-time { font-family:'Space Grotesk','Sora',monospace; font-weight:700; font-size:1.15em; letter-spacing:.5px; background:var(--red); color:#fff; padding:2px 8px; border-radius:7px; min-width:58px; text-align:center; }
.checkout-timer.expired { opacity:.75; }

/* ---------- Escolha da forma de pagamento ---------- */
.pay-choice { display:flex; flex-direction:column; gap:10px; margin:16px 0 14px; }
.pay-opt { display:flex; gap:11px; align-items:flex-start; cursor:pointer; padding:13px 15px; border:2px solid var(--border); border-radius:12px; background:var(--surface); transition:border-color .15s, background .15s; font-weight:400; margin:0; }
.pay-opt:hover { border-color:var(--primary); }
.pay-opt input { width:auto !important; margin-top:3px; transform:scale(1.25); accent-color:var(--primary); flex-shrink:0; }
.pay-opt:has(input:checked) { border-color:var(--primary); background:rgba(59,130,246,.06); }
.pay-body { flex:1; min-width:0; }
.pay-top { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.pay-top b { display:inline-flex; align-items:center; gap:6px; color:var(--text); font-size:1em; }
.pay-tag { background:var(--green); color:#fff; font-size:.68em; font-weight:700; padding:2px 8px; border-radius:20px; text-transform:uppercase; letter-spacing:.5px; }
.pay-sub { display:block; color:var(--muted); font-size:.83em; margin-top:3px; }

/* Selo do order bump (substitui o ícone) */
.bump-kicker { display:inline-block; background:var(--yellow); color:#3b2f00; font-size:.66em; font-weight:800; letter-spacing:.8px; padding:2px 8px; border-radius:20px; text-transform:uppercase; margin-bottom:5px; }
.bump-net .bump-kicker { background:var(--green); color:#fff; }
.bump-net-body b { display:block; font-size:1.02em; color:var(--text); line-height:1.3; }

/* ---------- Pop-up de oferta (primeira visita) ---------- */
.pop-overlay[hidden] { display:none !important; }
.pop-overlay { position:fixed; inset:0; z-index:1500; display:flex; align-items:center; justify-content:center; padding:20px; background:rgba(5,10,20,.72); backdrop-filter:blur(4px); opacity:0; transition:opacity .3s; }
.pop-overlay.on { opacity:1; }
.pop-card { position:relative; width:100%; max-width:400px; background:var(--surface); border:1px solid var(--border); border-radius:20px; overflow:hidden; box-shadow:0 26px 70px rgba(0,0,0,.55); transform:translateY(18px) scale(.97); transition:transform .35s cubic-bezier(.2,.9,.3,1.2); max-height:92vh; overflow-y:auto; }
.pop-overlay.on .pop-card { transform:translateY(0) scale(1); }
.pop-close { position:absolute; top:10px; right:10px; z-index:2; width:34px; height:34px; border:none; border-radius:50%; background:rgba(0,0,0,.45); color:#fff; font-size:1em; cursor:pointer; line-height:1; }
.pop-close:hover { background:rgba(0,0,0,.7); }
.pop-imglink { display:block; line-height:0; }
.pop-img { width:100%; height:210px; object-fit:cover; display:block; }
.pop-body { padding:20px 22px 22px; text-align:center; }
.pop-kicker { display:inline-block; background:var(--yellow); color:#3b2f00; font-size:.68em; font-weight:800; letter-spacing:1px; padding:4px 12px; border-radius:20px; text-transform:uppercase; margin-bottom:10px; }
.pop-body h3 { font-size:1.35em; line-height:1.25; margin-bottom:8px; color:var(--text); }
.pop-prod { color:var(--text); font-size:.92em; margin-bottom:8px; }
.pop-prod b { color:var(--green); font-size:1.12em; }
.pop-text { color:var(--muted); font-size:.9em; line-height:1.5; margin-bottom:14px; }
.pop-coupon { display:flex; align-items:center; justify-content:center; gap:10px; background:var(--bg-soft); border:1px dashed var(--primary); border-radius:12px; padding:10px 14px; margin-bottom:14px; }
.pop-coupon span { color:var(--muted); font-size:.8em; text-transform:uppercase; letter-spacing:1px; }
.pop-coupon b { font-family:'Rajdhani','Sora',sans-serif; font-size:1.25em; letter-spacing:1.5px; color:var(--primary); }
.pop-copy { background:var(--primary); color:#fff; border:none; border-radius:8px; padding:5px 12px; font-size:.78em; font-weight:700; cursor:pointer; font-family:inherit; }
.pop-copy:hover { filter:brightness(1.1); }
.pop-dismiss { display:block; width:100%; margin-top:10px; background:none; border:none; color:var(--faint); font-size:.83em; cursor:pointer; font-family:inherit; text-decoration:underline; }
.pop-dismiss:hover { color:var(--muted); }
@media (max-width:480px){ .pop-img { height:170px; } .pop-body { padding:18px 18px 20px; } }

/* ---------- Upsell pós-compra (página de confirmação) ---------- */
.upsell-box { margin:26px 0 4px; padding:18px; border:2px solid var(--green); border-radius:16px; background:linear-gradient(180deg,rgba(52,211,153,.10),rgba(52,211,153,.02)); text-align:left; }
.upsell-kicker { display:block; text-align:center; background:var(--green); color:#fff; font-size:.66em; font-weight:800; letter-spacing:.8px; padding:5px 10px; border-radius:20px; text-transform:uppercase; margin:0 auto 14px; max-width:max-content; }
.upsell-row { display:flex; gap:14px; align-items:center; margin-bottom:14px; }
.upsell-img { width:96px; height:96px; object-fit:cover; border-radius:12px; flex-shrink:0; border:1px solid var(--border); }
.upsell-body { flex:1; min-width:0; }
.upsell-body h3 { font-size:1.1em; margin-bottom:5px; color:var(--text); line-height:1.3; }
.upsell-desc { color:var(--text); opacity:.9; font-size:.87em; line-height:1.45; margin-bottom:6px; }
.upsell-price { font-size:.92em; color:var(--muted); }
.upsell-price b { color:var(--green); font-size:1.3em; font-family:'Sora',sans-serif; }
@media (max-width:520px){ .upsell-row { flex-direction:column; text-align:center; } .upsell-img { width:120px; height:120px; } }

/* ---------- Formulário de cartão (checkout transparente) ---------- */
.card-form .mp-field { height:46px; border:1px solid var(--border); border-radius:10px; background:var(--bg-soft); padding:0 12px; display:flex; align-items:center; margin-bottom:12px; transition:border-color .15s; }
.card-form .mp-field iframe { width:100%; height:100%; border:none; }
.card-form .mp-field:focus-within { border-color:var(--primary); box-shadow:0 0 0 3px rgba(59,130,246,.12); }

/* ---------- Bandeiras dos cartões ---------- */
.card-brands { display:flex; gap:6px; align-items:center; margin-top:8px; flex-wrap:wrap; }
.card-brands .brand { height:24px; min-width:38px; padding:0 6px; border-radius:5px; background:#fff; border:1px solid #dfe6f2; display:inline-flex; align-items:center; justify-content:center; font-size:9px; font-weight:800; letter-spacing:.3px; font-family:'Inter',sans-serif; }
.brand-visa   { color:#1a1f71; font-style:italic; font-size:11px; }
.brand-amex   { color:#fff; background:#016fd0; border-color:#016fd0; }
.brand-elo    { color:#000; font-size:11px; }
.brand-hiper  { color:#e2231a; font-size:9px; }
.brand-master { gap:0; position:relative; }
.brand-master i { width:13px; height:13px; border-radius:50%; display:block; }
.brand-master i:first-child { background:#eb001b; }
.brand-master i:last-child  { background:#f79e1b; margin-left:-5px; opacity:.9; }

/* Campos do cartão dentro do carrinho */
.card-fields { border:1px solid var(--border); border-radius:12px; padding:14px 15px 4px; margin:0 0 14px; background:var(--bg-soft); animation:cardIn .25s ease; }
.card-fields[hidden] { display:none !important; }
@keyframes cardIn { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:translateY(0); } }
.card-fields label { font-size:.85em; }
.mp-field { height:46px; border:1px solid var(--border); border-radius:10px; background:var(--surface); padding:0 12px; display:flex; align-items:center; margin-bottom:12px; transition:border-color .15s; }
.mp-field iframe { width:100%; height:100%; border:none; }
.mp-field:focus-within { border-color:var(--primary); box-shadow:0 0 0 3px rgba(59,130,246,.12); }

/* ============================================
   COMUNIDADE / REDE SOCIAL
   ============================================ */
.community { display:grid; grid-template-columns:1fr 300px; gap:24px; align-items:start; margin:10px 0 40px; }
.feed-col { min-width:0; }
.side-col { position:sticky; top:88px; display:flex; flex-direction:column; gap:14px; }
@media(max-width:900px){ .community { grid-template-columns:1fr; } .side-col { position:static; } }

/* Avatares */
.pavatar { border-radius:50%; object-fit:cover; flex-shrink:0; display:block; background:var(--surface2); }
.pavatar-ph { display:flex; align-items:center; justify-content:center; background:var(--grad); color:#fff; font-weight:700; font-family:'Sora',sans-serif; }

/* Compositor */
.composer { background:var(--surface); border:1px solid var(--border); border-radius:16px; padding:14px 16px; margin-bottom:16px; }
.comp-top { display:flex; gap:12px; align-items:flex-start; }
.comp-top textarea { flex:1; border:none; background:none; color:var(--text); resize:vertical; font-family:inherit; font-size:1em; padding:8px 0; outline:none; min-height:52px; }
.comp-preview { position:relative; margin:10px 0; }
.comp-preview img { width:100%; max-height:280px; object-fit:cover; border-radius:12px; display:block; }
.comp-preview button { position:absolute; top:8px; right:8px; width:30px; height:30px; border:none; border-radius:50%; background:rgba(0,0,0,.6); color:#fff; cursor:pointer; }
.comp-bar { display:flex; gap:10px; align-items:center; border-top:1px solid var(--border-soft); padding-top:11px; margin-top:8px; flex-wrap:wrap; }
.comp-ico { display:inline-flex; align-items:center; gap:6px; color:var(--primary); font-size:.86em; font-weight:600; cursor:pointer; padding:6px 10px; border-radius:8px; margin:0; }
.comp-ico:hover { background:rgba(59,130,246,.08); }
.comp-select { flex:1; min-width:150px; margin:0 !important; padding:8px 10px !important; font-size:.85em; }
.comp-bar .btn { margin-left:auto; }

.join-box { background:var(--surface); border:1px solid var(--border); border-radius:16px; padding:20px; text-align:center; margin-bottom:16px; }
.join-box b { display:block; font-size:1.05em; margin-bottom:4px; }
.join-box p { color:var(--muted); font-size:.9em; margin-bottom:12px; }

/* Abas do feed */
.feed-tabs { display:flex; gap:4px; align-items:center; border-bottom:1px solid var(--border); margin-bottom:16px; flex-wrap:wrap; }
.feed-tabs a { padding:11px 16px; color:var(--muted); font-weight:600; font-size:.92em; border-bottom:2px solid transparent; margin-bottom:-1px; }
.feed-tabs a:hover { color:var(--text); }
.feed-tabs a.on { color:var(--primary); border-bottom-color:var(--primary); }
.feed-search { margin-left:auto; padding:6px 0; }
.feed-search input { margin:0 !important; padding:7px 12px !important; font-size:.85em; width:180px; border-radius:20px !important; }

/* Card de post */
.post-card { background:var(--surface); border:1px solid var(--border); border-radius:16px; padding:16px; margin-bottom:14px; transition:border-color .15s; }
.post-card:hover { border-color:var(--border); }
.post-pinned { border-color:var(--primary); }
.post-pin { display:flex; align-items:center; gap:6px; color:var(--primary); font-size:.75em; font-weight:700; text-transform:uppercase; letter-spacing:.5px; margin-bottom:10px; }
.post-head { display:flex; gap:11px; align-items:flex-start; margin-bottom:11px; }
.post-who { flex:1; min-width:0; display:flex; flex-direction:column; }
.pname { color:var(--text); font-weight:700; font-size:.95em; display:inline-flex; align-items:center; gap:5px; }
.pname:hover { color:var(--primary); }
.pverified { background:var(--primary); color:#fff; width:15px; height:15px; border-radius:50%; font-size:9px; display:inline-flex; align-items:center; justify-content:center; }
.pmeta { color:var(--faint); font-size:.8em; }
.pmeta a { color:var(--faint); }
.pmeta a:hover { color:var(--primary); }

.post-menu { position:relative; }
.pmenu-btn { background:none; border:none; color:var(--faint); font-size:1.3em; cursor:pointer; padding:2px 9px; border-radius:8px; line-height:1; }
.pmenu-btn:hover { background:var(--surface2); color:var(--text); }
.pmenu-list { display:none; position:absolute; right:0; top:100%; background:var(--surface); border:1px solid var(--border); border-radius:10px; box-shadow:var(--shadow); min-width:180px; padding:6px; z-index:50; }
.pmenu-list.open { display:block; }
.pmenu-list button { display:block; width:100%; text-align:left; background:none; border:none; color:var(--text); padding:9px 12px; border-radius:7px; cursor:pointer; font-size:.88em; font-family:inherit; }
.pmenu-list button:hover { background:var(--surface2); }

.post-text { color:var(--text); line-height:1.6; font-size:.96em; margin-bottom:11px; word-break:break-word; }
.ptag, .pmention { color:var(--primary); font-weight:600; }
.ptag:hover, .pmention:hover { text-decoration:underline; }
.post-img-link { display:block; line-height:0; }
.post-img { width:100%; max-height:520px; object-fit:cover; border-radius:12px; border:1px solid var(--border-soft); }

/* Repost embutido */
.post-repost { display:block; border:1px solid var(--border); border-radius:12px; padding:11px 13px; margin-top:10px; background:var(--bg-soft); }
.post-repost:hover { border-color:var(--primary); }
.pr-head { display:flex; align-items:center; gap:8px; margin-bottom:6px; }
.pr-head b { color:var(--text); font-size:.86em; }
.pr-head span { color:var(--faint); font-size:.78em; }
.pr-text { color:var(--muted); font-size:.88em; line-height:1.5; }
.pr-img { width:100%; max-height:200px; object-fit:cover; border-radius:9px; margin-top:8px; }

/* Produto anexado */
.post-product { display:flex; gap:12px; align-items:center; border:1px solid var(--border); border-radius:12px; padding:10px; margin-top:11px; background:var(--bg-soft); }
.post-product:hover { border-color:var(--primary); box-shadow:var(--glow); }
.post-product img { width:64px; height:64px; object-fit:cover; border-radius:9px; flex-shrink:0; }
.pp-info { flex:1; min-width:0; display:flex; flex-direction:column; gap:2px; }
.pp-kicker { font-size:.63em; font-weight:800; letter-spacing:1px; color:var(--primary); }
.pp-info b { color:var(--text); font-size:.9em; line-height:1.3; }
.pp-price { color:var(--green); font-weight:700; font-size:.95em; }

/* Ações */
.post-actions { display:flex; gap:4px; align-items:center; margin-top:12px; padding-top:11px; border-top:1px solid var(--border-soft); }
.pact { display:inline-flex; align-items:center; gap:6px; background:none; border:none; color:var(--muted); cursor:pointer; padding:7px 13px; border-radius:9px; font-size:.86em; font-weight:600; font-family:inherit; transition:background .15s, color .15s; }
.pact:hover { background:var(--surface2); color:var(--text); }
.pact.on { color:var(--red); }
.pact.js-save-ico { margin-left:auto; }
.pact.js-save-ico.on { color:var(--primary); }
.pact svg { transition:transform .15s; }
.pact:active svg { transform:scale(1.25); }

.empty-feed { text-align:center; padding:50px 20px; color:var(--faint); background:var(--surface); border:1px solid var(--border); border-radius:16px; }
.empty-feed p { margin-top:12px; color:var(--muted); }
.back-link { display:inline-block; color:var(--muted); font-size:.9em; margin-bottom:12px; }

/* Barra lateral */
.side-box { background:var(--surface); border:1px solid var(--border); border-radius:16px; padding:15px 16px; }
.side-box h3 { font-size:.95em; display:flex; align-items:center; gap:7px; margin-bottom:11px; color:var(--text); }
.trend { display:flex; justify-content:space-between; align-items:center; padding:8px 0; border-bottom:1px solid var(--border-soft); }
.trend:last-child { border-bottom:none; }
.trend b { color:var(--primary); font-size:.9em; }
.trend span { color:var(--faint); font-size:.76em; }
.sugg { display:flex; gap:10px; align-items:center; padding:8px 0; }
.sugg b { display:block; color:var(--text); font-size:.87em; }
.sugg span { color:var(--faint); font-size:.76em; }
.side-cta { background:linear-gradient(160deg,rgba(59,130,246,.1),transparent); text-align:center; }
.side-cta b { display:block; margin-bottom:5px; }
.side-cta p { color:var(--muted); font-size:.85em; margin-bottom:11px; }

/* Hashtag */
.tag-header { display:flex; gap:14px; align-items:center; background:var(--surface); border:1px solid var(--border); border-radius:16px; padding:18px; margin-bottom:16px; }
.tag-ico { width:56px; height:56px; border-radius:14px; background:var(--grad); color:#fff; display:flex; align-items:center; justify-content:center; font-size:1.9em; font-weight:800; font-family:'Sora',sans-serif; }
.tag-header h1 { font-size:1.5em; }
.tag-header p { color:var(--muted); font-size:.88em; }

/* Comentários */
.comments-box { background:var(--surface); border:1px solid var(--border); border-radius:16px; padding:16px; margin-top:14px; }
.comments-box h3 { font-size:1em; display:flex; align-items:center; gap:7px; margin-bottom:14px; }
.comment-form { display:flex; gap:11px; align-items:flex-start; margin-bottom:18px; }
.comment-form textarea { width:100%; margin-bottom:8px !important; }
.comment-form .btn { display:block; }
.reply-to { background:var(--bg-soft); border-radius:8px; padding:6px 11px; font-size:.82em; color:var(--muted); margin-bottom:7px; display:flex; align-items:center; gap:6px; }
.reply-to b { color:var(--primary); }
.reply-to button { margin-left:auto; background:none; border:none; color:var(--faint); cursor:pointer; }
.pcomment { display:flex; gap:10px; margin-bottom:14px; }
.pc-reply { margin-left:14px; margin-top:12px; padding-left:12px; border-left:2px solid var(--border-soft); }
.pc-body { flex:1; min-width:0; }
.pc-bubble { background:var(--bg-soft); border-radius:14px; padding:10px 13px; }
.pc-name { color:var(--text); font-weight:700; font-size:.86em; }
.pc-name:hover { color:var(--primary); }
.pc-text { color:var(--text); font-size:.9em; line-height:1.5; margin-top:2px; word-break:break-word; }
.pc-actions { display:flex; gap:14px; align-items:center; padding:5px 13px 0; }
.pc-actions span, .pc-actions button { color:var(--faint); font-size:.78em; background:none; border:none; cursor:pointer; font-family:inherit; font-weight:600; padding:0; }
.pc-actions button:hover { color:var(--primary); }
.pc-actions button.on { color:var(--red); }

/* ---------- Enquetes ---------- */
.poll { border:1px solid var(--border); border-radius:12px; padding:13px 15px; margin:11px 0; background:var(--bg-soft); }
.poll-q { font-weight:700; font-size:.95em; color:var(--text); margin-bottom:11px; display:flex; align-items:center; gap:7px; }
.poll-opts { display:flex; flex-direction:column; gap:8px; }
.poll-opt { text-align:left; background:var(--surface); border:1.5px solid var(--border); border-radius:10px; padding:11px 14px; cursor:pointer; color:var(--text); font-size:.9em; font-weight:600; font-family:inherit; transition:border-color .15s, background .15s; }
.poll-opt:hover { border-color:var(--primary); background:rgba(59,130,246,.06); }
.poll-bar { position:relative; border-radius:10px; overflow:hidden; background:var(--surface); border:1px solid var(--border); padding:11px 14px; display:flex; align-items:center; gap:10px; font-size:.9em; }
.poll-bar.mine { border-color:var(--primary); }
.pb-fill { position:absolute; left:0; top:0; bottom:0; background:rgba(59,130,246,.18); transition:width .5s ease; }
.poll-bar.mine .pb-fill { background:rgba(59,130,246,.3); }
.pb-label { position:relative; flex:1; color:var(--text); font-weight:600; }
.pb-pct { position:relative; color:var(--primary); font-weight:800; font-family:'Sora',sans-serif; }
.poll-meta { color:var(--faint); font-size:.78em; margin-top:9px; }
.poll-builder { border:1px dashed var(--primary); border-radius:12px; padding:13px 15px; margin:10px 0; background:rgba(59,130,246,.04); }
.poll-builder[hidden] { display:none !important; }
.poll-builder label { font-size:.85em; }
.poll-builder input[type=text] { margin-bottom:8px; }

/* ---------- Suporte / chamados ---------- */
.ticket-box { background:var(--surface); border:1px solid var(--border); border-radius:16px; padding:18px; margin-bottom:16px; }
.ticket-head { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; padding-bottom:14px; border-bottom:1px solid var(--border-soft); margin-bottom:16px; flex-wrap:wrap; }
.ticket-head h2 { font-size:1.15em; margin-bottom:3px; }
.ticket-thread { display:flex; flex-direction:column; gap:12px; margin-bottom:16px; }
.tmsg { background:var(--bg-soft); border:1px solid var(--border-soft); border-radius:12px; padding:12px 14px; max-width:86%; }
.tmsg-admin { align-self:flex-end; background:rgba(59,130,246,.08); border-color:rgba(59,130,246,.3); }
.tmsg-head { display:flex; justify-content:space-between; gap:10px; margin-bottom:6px; font-size:.8em; }
.tmsg-head b { color:var(--text); }
.tmsg-head span { color:var(--faint); }
.tmsg-body { color:var(--text); font-size:.92em; line-height:1.55; word-break:break-word; }
.tmsg-att { display:inline-flex; align-items:center; gap:5px; margin-top:8px; font-size:.82em; color:var(--primary); }
.ticket-reply { border-top:1px solid var(--border-soft); padding-top:14px; }
.ticket-reply textarea { margin-bottom:10px !important; }
.ticket-row { display:flex; justify-content:space-between; align-items:center; gap:12px; background:var(--surface); border:1px solid var(--border); border-radius:12px; padding:13px 15px; margin-bottom:9px; }
.ticket-row:hover { border-color:var(--primary); }
.ticket-row b { display:block; color:var(--text); font-size:.93em; margin-bottom:2px; }
.tk-dot { width:9px; height:9px; border-radius:50%; background:var(--red); display:inline-block; }
@media(max-width:600px){ .tmsg { max-width:100%; } }
