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

* { margin:0; padding:0; box-sizing:border-box; }
:root {
  --bg:#060b08; --bg-soft:#0a120d; --surface:#0e1712; --surface2:#152018;
  --border:#20342a; --border-soft:#182a20;
  --text:#eafff2; --muted:#8fb0a0; --faint:#5a7768;
  --primary:#25e07a; --primary-h:#1bc86a; --primary-glow:rgba(37,224,122,.45);
  --accent:#5cff9d; --neon:#39ff9e; --green:#34d399; --red:#ff6b6b; --yellow:#ffd23f;
  --grad:linear-gradient(135deg,#25e07a 0%,#5cff9d 100%);
  --radius:16px; --shadow:0 14px 46px rgba(0,0,0,.55);
  --glow:0 0 18px rgba(37,224,122,.55);
}
html { scroll-behavior:smooth; }
html, body { overflow-x:clip; } /* mata rolagem horizontal acidental */
body {
  background:
    radial-gradient(900px 500px at 15% -5%, rgba(37,224,122,.10), transparent 60%),
    radial-gradient(800px 500px at 100% 0%, rgba(92,255,157,.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:#5eead4; }
.container { max-width:1240px; margin:0 auto; padding:0 24px; }

/* ---------- Topbar ---------- */
.topbar { background:rgba(6,11,8,.82); backdrop-filter:blur(16px); border-bottom:1px solid rgba(37,224,122,.18); box-shadow:0 1px 0 rgba(37,224,122,.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 svg, .logo-mark { width:28px !important; height:28px !important; min-width:28px; flex-shrink:0; display:block; filter:drop-shadow(0 2px 8px rgba(37,224,122,.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:#04160c; box-shadow:0 0 0 1px rgba(92,255,157,.35), 0 6px 22px var(--primary-glow); animation:pulseGlow 2.6s ease-in-out infinite; }
.btn-primary:hover { color:#04160c; transform:translateY(-2px); filter:brightness(1.06); box-shadow:0 0 0 1px rgba(92,255,157,.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(92,255,157,.3), 0 6px 20px rgba(37,224,122,.28); }
  50%     { box-shadow:0 0 0 1px rgba(92,255,157,.55), 0 8px 30px rgba(37,224,122,.55), 0 0 22px rgba(37,224,122,.4); }
}
.btn-success { background:var(--green); color:#04160c; box-shadow:0 4px 18px rgba(52,211,153,.35); }
.btn-success:hover { filter:brightness(1.08); color:#04160c; 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(37,224,122,.22) 0%, transparent 65%); pointer-events:none; }
.hero .kicker { display:inline-block; background:rgba(37,224,122,.12); border:1px solid rgba(37,224,122,.35); color:#5cff9d; 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; }

/* ---------- 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(37,224,122,.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(37,224,122,.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(37,224,122,.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(37,224,122,.14), rgba(92,255,157,.10)); border:1px solid rgba(37,224,122,.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(37,224,122,.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(37,224,122,.05); }
.upload-box.drag { border-color:var(--accent); background:rgba(92,255,157,.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(37,224,122,.1); border:1px solid rgba(37,224,122,.3); color:#5cff9d; }

/* ---------- 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(37,224,122,.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(37,224,122,.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(37,224,122,.14); color:#5cff9d; }
.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(37,224,122,.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(37,224,122,.14); border-color:var(--primary); color:#5cff9d; }

/* ---------- 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(37,224,122,.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(37,224,122,.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; }
.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(37,224,122,.5)); }
.card .price { text-shadow:0 0 14px rgba(37,224,122,.35); }
.badge-balance { background:rgba(37,224,122,.1); border:1px solid rgba(37,224,122,.4); color:var(--accent); box-shadow:0 0 12px rgba(37,224,122,.15); }
.hero h1 em { filter:drop-shadow(0 0 18px rgba(37,224,122,.4)); }
.feature .ficon { color:var(--primary); }
.feature .ficon .ic { filter:drop-shadow(0 0 8px rgba(37,224,122,.45)); }
.stat .num { color:var(--accent); }
.bell:hover { color:var(--primary); filter:drop-shadow(0 0 6px rgba(37,224,122,.5)); }
input:focus,select:focus,textarea:focus { box-shadow:0 0 0 3px rgba(37,224,122,.18), 0 0 14px rgba(37,224,122,.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); }

/* 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:#eef4f0; --bg-soft:#e6efe9; --surface:#ffffff; --surface2:#eef4f0;
  --border:#d2e3d8; --border-soft:#e0ebe3;
  --text:#0d1a12; --muted:#4f6659; --faint:#82998b;
  --primary:#12b866; --primary-h:#0e9c56; --primary-glow:rgba(18,184,102,.28);
  --accent:#0ea55a; --green:#16a34a; --red:#dc2626; --yellow:#ca8a04;
  --grad:linear-gradient(135deg,#12b866,#3ddb85);
  --shadow:0 14px 40px rgba(20,60,40,.12); --glow:0 0 16px rgba(18,184,102,.22);
}
html[data-theme="light"] body {
  background:
    radial-gradient(900px 500px at 15% -5%, rgba(18,184,102,.08), transparent 60%),
    radial-gradient(800px 500px at 100% 0%, rgba(61,219,133,.06), transparent 55%),
    var(--bg);
}
html[data-theme="light"] .topbar { background:rgba(255,255,255,.86); border-bottom:1px solid #d2e3d8; box-shadow:0 1px 0 rgba(18,184,102,.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:#04160c; }
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"] .card, html[data-theme="light"] .stat, html[data-theme="light"] .form-box, html[data-theme="light"] .table { box-shadow:0 4px 16px rgba(20,60,40,.06); }

/* ---------- 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(37,224,122,.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(37,224,122,.12), transparent); border:1px solid rgba(37,224,122,.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(37,224,122,.22); color:#5cff9d; }
  .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; }
}
