/* ============================================================
   CATALOGO38 — Produtos e Serviços · folha do módulo (Portal), da vitrine
   (tela do Portal, prévia do editor e página pública /p/:slug) e do mosaico.
   Tokens do Portal (--bg, --surface, --accent…) continuam valendo; o que é
   do módulo fica em #catalogo38, .c38v (vitrine) e body.c38-publico.
   Fontes livres (SIL OFL) servidas pelo próprio Portal em /catalogo38/fontes/.
   ============================================================ */
@font-face{font-family:'C38 Montserrat';font-weight:600;font-style:normal;font-display:swap;src:url('/catalogo38/fontes/montserrat-600.woff2') format('woff2')}
@font-face{font-family:'C38 Montserrat';font-weight:700;font-style:normal;font-display:swap;src:url('/catalogo38/fontes/montserrat-700.woff2') format('woff2')}
@font-face{font-family:'C38 Montserrat';font-weight:800;font-style:normal;font-display:swap;src:url('/catalogo38/fontes/montserrat-800.woff2') format('woff2')}
@font-face{font-family:'C38 Roboto';font-weight:400;font-style:normal;font-display:swap;src:url('/catalogo38/fontes/roboto-400.woff2') format('woff2')}
@font-face{font-family:'C38 Roboto';font-weight:500;font-style:normal;font-display:swap;src:url('/catalogo38/fontes/roboto-500.woff2') format('woff2')}
@font-face{font-family:'C38 Roboto';font-weight:700;font-style:normal;font-display:swap;src:url('/catalogo38/fontes/roboto-700.woff2') format('woff2')}

:root{--c38-tit:'C38 Montserrat',Montserrat,system-ui,-apple-system,"Segoe UI",sans-serif;--c38-txt:'C38 Roboto',Roboto,system-ui,-apple-system,"Segoe UI",sans-serif;--c38-ouro:#DD9933;--c38-ouro2:#F2C063}

/* ============================================================ VITRINE */
.c38v{font-family:var(--c38-txt);color:var(--text,#f2f3f5)}
.c38v *{box-sizing:border-box}
.c38v-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;padding:6px 4px 22px;height:auto;min-height:0;border:none;background:none;backdrop-filter:none}
.c38v-hero-txt{min-width:0;flex:1 1 auto}
.c38v-kicker{font-family:var(--c38-tit);font-weight:700;font-size:11px;letter-spacing:2.4px;text-transform:uppercase;color:var(--c38-ouro);margin-bottom:10px}
.c38v-hero h1{font-family:var(--c38-tit);font-weight:800;font-size:34px;line-height:1.05;letter-spacing:-.6px;margin:0 0 10px;color:var(--text,#fff)}
.c38v-sub{font-size:15px;color:var(--text2,#b6bcc8);margin:0 0 10px;line-height:1.4}
.c38v-intro{font-size:13.5px;color:var(--muted,#8a919e);max-width:820px;line-height:1.55;margin:0}
.c38v-logo{width:150px;height:auto;flex:none;opacity:.95;margin-top:4px}
.c38v-grid{display:grid;gap:18px;align-items:start}
.c38v-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.c38v-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.c38v-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.c38v-grid.cols-1{grid-template-columns:minmax(0,1fr)}
.c38v-card{position:relative;background:var(--surface);border:1px solid rgba(255,255,255,.08);border-radius:18px;overflow:hidden;box-shadow:0 18px 44px rgba(0,0,0,.38);min-width:0}
.c38v-head{position:relative;padding:22px 20px 18px;background:linear-gradient(135deg,var(--g1),var(--g2));color:var(--ink);overflow:hidden}
.c38v-head::before{content:"";position:absolute;right:-60px;top:-70px;width:200px;height:200px;border-radius:50%;background:radial-gradient(closest-side,rgba(255,255,255,.28),rgba(255,255,255,0));pointer-events:none}
.c38v-head::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--accent);opacity:.9}
.c38v-card.claro .c38v-head::before{background:radial-gradient(closest-side,rgba(255,255,255,.55),rgba(255,255,255,0))}
.c38v-selo{display:inline-flex;align-items:center;gap:6px;font-family:var(--c38-tit);font-weight:800;font-size:10px;letter-spacing:1.6px;text-transform:uppercase;background:var(--badge);color:var(--badgeInk);border-radius:99px;padding:5px 10px;margin-bottom:12px;position:relative}
.c38v-nome{font-family:var(--c38-tit);font-weight:800;font-size:28px;line-height:1;letter-spacing:-.6px;position:relative}
.c38v-nome span{display:block;font-weight:700;font-size:11.5px;letter-spacing:2.6px;text-transform:uppercase;color:var(--ink2);margin-top:7px}
.c38v-slogan{font-weight:500;font-size:13px;color:var(--ink2);margin-top:12px;position:relative;line-height:1.35}
/* emblema (logotipo) no cabeçalho do card — ex.: "Elite Member"; o texto cede espaço à direita */
.c38v-head.com-emblema{padding-right:138px;min-height:132px}
.c38v-emblema{position:absolute;right:10px;top:50%;transform:translateY(-50%);height:104px;width:auto;max-width:128px;object-fit:contain;filter:drop-shadow(0 8px 16px rgba(0,0,0,.45));pointer-events:none;user-select:none}
.c38v-card{container-type:inline-size}
@container (max-width:270px){.c38v-head.com-emblema{padding-right:106px;min-height:110px}.c38v-emblema{height:80px;max-width:98px;right:6px}}
.c38v-precos{display:flex;flex-direction:column;gap:7px;padding:13px 20px 12px;background:rgba(255,255,255,.035);border-bottom:1px solid rgba(255,255,255,.07)}
.c38v-preco-l{display:flex;align-items:baseline;justify-content:space-between;gap:6px 10px;flex-wrap:wrap}
.c38v-preco span{font-family:var(--c38-tit);font-weight:700;font-size:10px;letter-spacing:1.3px;text-transform:uppercase;color:var(--muted)}
.c38v-preco b{font-family:var(--c38-tit);font-weight:800;font-size:18px;letter-spacing:-.4px;color:var(--accent);line-height:1.1;white-space:nowrap;text-align:right;margin-left:auto}
.c38v-preco small{display:block;font-size:11px;color:var(--muted);margin-top:2px;line-height:1.35}
.c38v-precos-obs{margin:4px 0 0;font-size:11.5px;color:var(--txt);opacity:.85;line-height:1.4;font-weight:500}
.c38v-itens{list-style:none;margin:0;padding:6px 20px 10px}
.c38v-itens li{display:flex;align-items:flex-start;gap:12px;padding:9px 0;border-bottom:1px dashed rgba(255,255,255,.08)}
.c38v-itens li:last-child{border-bottom:none}
.c38v-badge{flex:none;display:inline-flex;align-items:center;justify-content:center;min-width:54px;height:24px;padding:0 8px;border-radius:7px;background:var(--badge);color:var(--badgeInk);font-family:var(--c38-tit);font-weight:800;font-size:11.5px;letter-spacing:.3px;margin-top:1px;white-space:nowrap}
.c38v-badge.gratis{font-size:10px;letter-spacing:1px}
/* ✓ = benefício incluído: verde vivo com o traço branco (06/10 — o tom apagado no acento do tema parecia "não incluso") */
.c38v-badge.ok{background:#1FA55A;background:linear-gradient(135deg,#27B866,#179A4F);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.c38v-badge.ok svg{width:15px;height:15px}
.c38v-txt{min-width:0;flex:1 1 auto}
.c38v-txt>span{display:block;font-size:13.5px;line-height:1.38;color:var(--txt)}
.c38v-txt small{display:block;font-size:11.5px;line-height:1.35;color:var(--muted);margin-top:2px}
.c38v-n{color:var(--accent);font-weight:700;font-size:.72em;margin-left:2px}
.c38v-notas{padding:8px 20px 16px;border-top:1px solid rgba(255,255,255,.06)}
.c38v-notas p{margin:6px 0 0;font-size:10.5px;line-height:1.45;color:var(--muted)}
.c38v-notas sup{color:var(--accent);font-weight:700}
.c38v-rodape{margin:20px 4px 0;font-size:12px;color:var(--muted,#8a919e);line-height:1.5;max-width:980px}

/* ============================================================ MÓDULO (Portal) */
#catalogo38{font-family:inherit}
#catalogo38 .c38-topo{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}
#catalogo38 .c38-topo .tabs{margin:0}
#catalogo38 .c38-acoes{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
#catalogo38 .c38-btn{display:inline-flex;align-items:center;gap:7px;background:var(--accent);color:#141008;border:none;border-radius:9px;padding:9px 15px;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;line-height:1;white-space:nowrap}
#catalogo38 .c38-btn:hover{filter:brightness(1.08)}
#catalogo38 .c38-btn.ghost,body.c38-publico .c38-btn.ghost{background:var(--surface2,#20242c);color:var(--text2,#b6bcc8);border:1px solid var(--border2,rgba(255,255,255,.14))}
#catalogo38 .c38-btn.ghost:hover{color:var(--text)}
#catalogo38 .c38-btn.perigo{background:rgba(208,59,59,.16);color:#ff8f8f;border:1px solid rgba(208,59,59,.4)}
#catalogo38 .c38-btn.sm{padding:6px 10px;font-size:12px;border-radius:7px}
#catalogo38 .c38-btn[disabled]{opacity:.5;cursor:not-allowed}
#catalogo38 .c38-btn svg{width:15px;height:15px}
#catalogo38 .c38-busca{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:16px}
#catalogo38 .c38-busca input{background:var(--surface2);border:1px solid var(--border);border-radius:9px;padding:8px 12px;color:var(--text);font-size:13px;outline:none;font-family:inherit;min-width:220px}
#catalogo38 .c38-busca input:focus{border-color:var(--border2)}
#catalogo38 .c38-cats{display:flex;gap:6px;flex-wrap:wrap}
#catalogo38 .c38-cat{background:var(--surface2);color:var(--text2);border:1px solid var(--border2);border-radius:99px;padding:5px 11px;font-size:12px;cursor:pointer;font-family:inherit}
#catalogo38 .c38-cat.on{background:var(--accent);color:#141008;border-color:var(--accent);font-weight:700}
#catalogo38 .c38-muted{color:var(--muted);font-size:12.5px}
#catalogo38 .c38-vazio{padding:40px 20px;text-align:center;color:var(--muted);font-size:13.5px}

/* mosaico */
#catalogo38 .c38-mosaico{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px}
#catalogo38 .c38-tile{background:var(--surface);border:1px solid var(--border);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:transform .12s,border-color .12s,box-shadow .12s;min-width:0}
#catalogo38 .c38-tile:hover{transform:translateY(-2px);border-color:var(--border2);box-shadow:0 14px 36px rgba(0,0,0,.35)}
#catalogo38 .c38-tile.nova{border-style:dashed;align-items:center;justify-content:center;min-height:230px;cursor:pointer;color:var(--text2);gap:10px;text-align:center;padding:20px}
#catalogo38 .c38-tile.nova:hover{color:var(--text);border-color:var(--accent)}
#catalogo38 .c38-tile.nova .c38-mais{width:46px;height:46px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center}
#catalogo38 .c38-tile.nova b{font-size:14px}
#catalogo38 .c38-tile.nova span{font-size:12px;color:var(--muted)}
.c38-capa{position:relative;height:124px;padding:14px 16px;background:linear-gradient(135deg,var(--g1),var(--g2));color:var(--ink);cursor:pointer;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;font-family:var(--c38-txt)}
.c38-capa::before{content:"";position:absolute;right:-40px;top:-60px;width:180px;height:180px;border-radius:50%;background:radial-gradient(closest-side,rgba(255,255,255,.3),rgba(255,255,255,0));pointer-events:none}
.c38-capa.claro::before{background:radial-gradient(closest-side,rgba(255,255,255,.55),rgba(255,255,255,0))}
.c38-capa-top{display:flex;align-items:center;justify-content:space-between;gap:8px;position:relative}
.c38-capa-cat{font-family:var(--c38-tit);font-weight:700;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--ink2)}
.c38-capa-tit{font-family:var(--c38-tit);font-weight:800;font-size:21px;line-height:1.05;letter-spacing:-.4px;position:relative;text-shadow:0 1px 0 rgba(255,255,255,.08)}
.c38-capa-pills{display:flex;gap:5px;flex-wrap:wrap;position:relative;margin-top:8px}
.c38-capa-pill{font-family:var(--c38-tit);font-weight:700;font-size:9.5px;letter-spacing:1px;text-transform:uppercase;padding:3px 7px;border-radius:99px;background:linear-gradient(135deg,var(--g1),var(--g2));color:var(--ink);border:1px solid rgba(0,0,0,.18)}
.c38-chip{font-family:var(--c38-tit);font-weight:800;font-size:9.5px;letter-spacing:1.2px;text-transform:uppercase;padding:4px 8px;border-radius:99px;background:rgba(0,0,0,.35);color:#fff;white-space:nowrap}
.c38-chip.rascunho{background:rgba(250,178,25,.9);color:#2a1a00}
.c38-chip.pendente{background:rgba(236,131,90,.92);color:#2a0d00}
.c38-chip.publico{background:rgba(12,163,12,.85);color:#fff}
#catalogo38 .c38-tile-body{padding:13px 16px 14px;display:flex;flex-direction:column;gap:8px;flex:1 1 auto}
#catalogo38 .c38-tile-sub{font-size:12.5px;color:var(--text2);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#catalogo38 .c38-tile-meta{font-size:11px;color:var(--muted);display:flex;gap:6px;flex-wrap:wrap;align-items:center}
#catalogo38 .c38-tile-meta b{color:var(--text2);font-weight:600}
#catalogo38 .c38-tile-acoes{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto;padding-top:4px}

/* página da publicação dentro do Portal */
#catalogo38 .c38-barra{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:14px}
#catalogo38 .c38-voltar{display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid var(--border2);color:var(--text2);border-radius:9px;padding:7px 12px;font-size:12.5px;cursor:pointer;font-family:inherit}
#catalogo38 .c38-voltar:hover{color:var(--text)}
#catalogo38 .c38-aviso{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:rgba(250,178,25,.1);border:1px solid rgba(250,178,25,.35);color:#ffd27a;border-radius:10px;padding:10px 14px;font-size:12.5px;margin-bottom:14px}
#catalogo38 .c38-aviso.ok{background:rgba(12,163,12,.1);border-color:rgba(12,163,12,.35);color:#7fe07f}
#catalogo38 .c38-aviso.info{background:rgba(57,135,229,.1);border-color:rgba(57,135,229,.35);color:#9cc5f5}
#catalogo38 .c38-aviso .c38-btn{margin-left:auto}
#catalogo38 .c38-link{display:inline-flex;align-items:center;gap:8px;background:var(--surface2);border:1px solid var(--border);border-radius:9px;padding:7px 10px;font-size:12px;color:var(--text2);max-width:100%}
#catalogo38 .c38-link svg{width:14px;height:14px;flex:none;opacity:.8}
#catalogo38 .c38-link code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#catalogo38 .c38-vitrine-wrap{padding:6px 0 10px}

/* editor */
#catalogo38 .c38-editor{display:grid;grid-template-columns:minmax(380px,460px) minmax(0,1fr);gap:18px;align-items:start}
#catalogo38 .c38-form{display:flex;flex-direction:column;gap:14px}
#catalogo38 .c38-sec{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px}
#catalogo38 .c38-sec>h3{font-size:13px;font-weight:700;margin:0 0 4px;display:flex;align-items:center;justify-content:space-between;gap:8px}
#catalogo38 .c38-sec>.desc{font-size:11.5px;color:var(--muted);margin-bottom:12px;line-height:1.4}
#catalogo38 .c38-f{margin-bottom:10px}
#catalogo38 .c38-f label{display:block;font-size:10.5px;color:var(--muted);font-weight:700;margin-bottom:4px;text-transform:uppercase;letter-spacing:.6px}
#catalogo38 .c38-f input,#catalogo38 .c38-f textarea,#catalogo38 .c38-f select{width:100%;background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:8px 10px;color:var(--text);font-size:13px;outline:none;font-family:inherit;line-height:1.35}
#catalogo38 .c38-f textarea{min-height:62px;resize:vertical}
#catalogo38 .c38-f input:focus,#catalogo38 .c38-f textarea:focus,#catalogo38 .c38-f select:focus{border-color:var(--accent)}
#catalogo38 .c38-f .dica{font-size:11px;color:var(--muted);margin-top:4px;line-height:1.35}
#catalogo38 .c38-2col{display:grid;grid-template-columns:1fr 1fr;gap:10px}
#catalogo38 .c38-temas{display:flex;gap:7px;flex-wrap:wrap}
#catalogo38 .c38-tema{width:34px;height:34px;border-radius:10px;border:2px solid transparent;cursor:pointer;background:linear-gradient(135deg,var(--g1),var(--g2));position:relative;flex:none}
#catalogo38 .c38-tema.on{border-color:#fff;box-shadow:0 0 0 2px var(--accent)}
#catalogo38 .c38-tema[title]:hover::after{content:attr(title);position:absolute;left:50%;top:-26px;transform:translateX(-50%);background:#000;color:#fff;font-size:10px;padding:2px 6px;border-radius:5px;white-space:nowrap}
#catalogo38 .c38-ctabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
#catalogo38 .c38-ctab{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border-radius:9px;border:1px solid var(--border2);background:var(--surface2);color:var(--text2);font-size:12.5px;font-weight:600;cursor:pointer;font-family:inherit}
#catalogo38 .c38-ctab i{width:12px;height:12px;border-radius:4px;background:linear-gradient(135deg,var(--g1),var(--g2));display:inline-block}
#catalogo38 .c38-ctab svg,#catalogo38 .c38-add svg{width:12px;height:12px;flex:none}
#catalogo38 .c38-mais svg{width:22px;height:22px}
#catalogo38 .c38-voltar svg{width:14px;height:14px}
#catalogo38 .c38-ctab.on{border-color:var(--accent);color:var(--text);background:var(--accent-soft)}
#catalogo38 .c38-ctab.add{border-style:dashed}
#catalogo38 .c38-lista{display:flex;flex-direction:column;gap:6px}
#catalogo38 .c38-row{display:grid;grid-template-columns:62px minmax(0,1fr) 30px 26px 26px 26px;gap:5px;align-items:start;background:var(--surface2);border:1px solid var(--border);border-radius:9px;padding:6px}
#catalogo38 .c38-row.preco{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 26px 26px 26px}
#catalogo38 .c38-row.nota{grid-template-columns:40px minmax(0,1fr) 26px 26px 26px}
#catalogo38 .c38-row.dest{grid-template-columns:minmax(0,1fr) 26px 26px 26px}
#catalogo38 .c38-row input,#catalogo38 .c38-row textarea{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:5px 7px;color:var(--text);font-size:12px;outline:none;font-family:inherit;min-width:0}
#catalogo38 .c38-row textarea{resize:vertical;min-height:30px;line-height:1.3}
#catalogo38 .c38-row input:focus,#catalogo38 .c38-row textarea:focus{border-color:var(--accent)}
#catalogo38 .c38-row .c38-obs{grid-column:2;margin-top:-1px}
#catalogo38 .c38-ic{width:26px;height:28px;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--text2);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:12px;padding:0;font-family:inherit}
#catalogo38 .c38-ic:hover{color:var(--text);border-color:var(--border2)}
#catalogo38 .c38-ic.x:hover{color:#ff8f8f;border-color:rgba(208,59,59,.5)}
#catalogo38 .c38-ic[disabled]{opacity:.3;cursor:default}
#catalogo38 .c38-add{display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px dashed var(--border2);color:var(--text2);border-radius:8px;padding:7px 11px;font-size:12px;cursor:pointer;font-family:inherit;margin-top:6px}
#catalogo38 .c38-add:hover{color:var(--text);border-color:var(--accent)}
#catalogo38 .c38-previa{position:sticky;top:0}
#catalogo38 .c38-previa-topo{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;flex-wrap:wrap}
#catalogo38 .c38-previa-topo b{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:1px}
#catalogo38 .c38-previa-box{background:var(--bg);border:1px solid var(--border);border-radius:16px;padding:18px;max-height:calc(100vh - 150px);overflow:auto}
#catalogo38 .c38-previa-box .c38v-hero h1{font-size:26px}
#catalogo38 .c38-previa-box .c38v-grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}
#catalogo38 .c38-switch{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:13px;color:var(--text2);user-select:none}
#catalogo38 .c38-switch i{width:38px;height:22px;border-radius:99px;background:var(--surface3);border:1px solid var(--border2);position:relative;flex:none;transition:background .15s}
#catalogo38 .c38-switch i::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:left .15s}
#catalogo38 .c38-switch.on i{background:var(--good)}
#catalogo38 .c38-switch.on i::after{left:18px}
#catalogo38 .c38-versoes{display:flex;flex-direction:column;gap:6px}
#catalogo38 .c38-versao{display:flex;align-items:center;gap:10px;background:var(--surface2);border:1px solid var(--border);border-radius:9px;padding:8px 10px;font-size:12.5px;flex-wrap:wrap}
#catalogo38 .c38-versao b{color:var(--text)}
#catalogo38 .c38-versao span{color:var(--muted);font-size:11.5px}
#catalogo38 .c38-versao .c38-btn{margin-left:auto}
#catalogo38 .c38-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px}
#catalogo38 .c38-kpi{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px 14px}
#catalogo38 .c38-kpi b{display:block;font-size:22px;font-weight:800;letter-spacing:-.5px;font-family:var(--c38-tit)}
#catalogo38 .c38-kpi span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}
#catalogo38 .c38-pessoas{display:flex;flex-direction:column;gap:4px;max-height:260px;overflow:auto;border:1px solid var(--border);border-radius:9px;padding:6px}
#catalogo38 .c38-pessoa{display:flex;align-items:center;gap:8px;font-size:12.5px;padding:5px 6px;border-radius:6px;cursor:pointer}
#catalogo38 .c38-pessoa:hover{background:var(--surface2)}
#catalogo38 .c38-pessoa input{width:15px;height:15px;accent-color:var(--accent)}
#catalogo38 .c38-pessoa small{color:var(--muted);margin-left:auto}
#catalogo38 .c38-folha-fundo{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:1500;display:flex;align-items:center;justify-content:center;padding:16px}
#catalogo38 .c38-folha{background:var(--surface);border:1px solid var(--border2);border-radius:16px;padding:20px;max-width:440px;width:100%;box-shadow:0 30px 80px rgba(0,0,0,.6)}
#catalogo38 .c38-folha h3{font-size:15px;margin:0 0 8px}
#catalogo38 .c38-folha p{font-size:13px;color:var(--text2);line-height:1.45;margin:0 0 14px}
#catalogo38 .c38-folha .c38-acoes{justify-content:flex-end}

/* ============================================================ PÁGINA PÚBLICA (/p/:slug) */
body.c38-publico{margin:0;min-height:100vh;background:radial-gradient(1100px 520px at 12% -8%,rgba(221,153,51,.16),rgba(221,153,51,0) 60%),#0e1013;color:#f2f3f5;font-family:var(--c38-txt);display:block;overflow:auto;--bg:#0e1013;--surface:#191c22;--surface2:#20242c;--surface3:#272c36;--border:rgba(255,255,255,.08);--border2:rgba(255,255,255,.14);--text:#f2f3f5;--text2:#b6bcc8;--muted:#8a919e;--accent:#dd9933}
body.c38-publico .c38p-wrap{max-width:1320px;margin:0 auto;padding:22px 28px 40px}
body.c38-publico .c38p-barra{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.08)}
body.c38-publico .c38p-marca{display:flex;align-items:center;gap:12px;font-family:var(--c38-tit);font-weight:700;font-size:11px;letter-spacing:2.2px;text-transform:uppercase;color:#b6bcc8}
body.c38-publico .c38p-marca img{height:30px;width:auto}
body.c38-publico .c38-btn{display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:#141008;border:none;border-radius:10px;padding:10px 16px;font-size:13.5px;font-weight:700;cursor:pointer;font-family:inherit;text-decoration:none;line-height:1;white-space:nowrap}
body.c38-publico .c38-btn svg{width:16px;height:16px}
body.c38-publico .c38-btn:hover{filter:brightness(1.08)}
body.c38-publico .c38p-acoes{display:flex;gap:8px;flex-wrap:wrap}
body.c38-publico .c38v-logo{display:none}
body.c38-publico .c38p-rodape{margin-top:34px;padding-top:16px;border-top:1px solid rgba(255,255,255,.08);font-size:12px;color:#8a919e;line-height:1.6;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
body.c38-publico .c38p-rodape a{color:#dd9933;text-decoration:none}
body.c38-publico .c38p-erro{text-align:center;padding:80px 20px;color:#b6bcc8}
body.c38-publico .c38p-erro h1{font-family:var(--c38-tit);font-size:26px;color:#fff}

/* ============================================================ CELULAR / TELAS MENORES */
@media(max-width:1400px){
  .c38v-grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .c38v-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:1150px){
  #catalogo38 .c38-editor{grid-template-columns:1fr}
  #catalogo38 .c38-previa{position:static}
  #catalogo38 .c38-previa-box{max-height:none}
  .c38v-grid.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .c38v-hero{gap:16px}
  .c38v-hero h1{font-size:28px}
  .c38v-logo{width:110px}
}
@media(max-width:640px){
  .c38v-grid.cols-4,.c38v-grid.cols-3,.c38v-grid.cols-2{grid-template-columns:minmax(0,1fr)}
  .c38v-hero{flex-direction:column-reverse;align-items:flex-start;padding-top:0}
  .c38v-logo{width:96px;margin-top:0}
  .c38v-hero h1{font-size:26px}
  .c38v-sub{font-size:14px}
  .c38v-card{border-radius:16px}
  .c38v-head{padding:18px 16px 16px}
  .c38v-head.com-emblema{padding-right:124px;min-height:118px}
  .c38v-emblema{height:92px;max-width:112px;right:8px}
  .c38v-nome{font-size:25px}
  .c38v-precos{padding:12px 16px 11px}
  .c38v-preco b{font-size:17px}
  .c38v-itens{padding:4px 16px 8px}
  .c38v-notas{padding:6px 16px 14px}
  #catalogo38 .c38-mosaico{grid-template-columns:1fr}
  #catalogo38 .c38-row{grid-template-columns:54px minmax(0,1fr) 28px 24px 24px 24px;gap:4px}
  #catalogo38 .c38-2col{grid-template-columns:1fr}
  #catalogo38 .c38-previa-box{padding:12px}
  #catalogo38 .c38-previa-box .c38v-grid.cols-4{grid-template-columns:1fr}
  body.c38-publico .c38p-wrap{padding:14px 14px 30px}
  body.c38-publico .c38p-barra{margin-bottom:12px}
  body.c38-publico .c38-btn{padding:10px 13px;font-size:13px}
}
@media print{
  body.c38-publico{background:#0e1013}
  body.c38-publico .c38p-barra .c38p-acoes{display:none}
}
