/* LinkX — página pública e cards (compartilhado com o editor) */
:root{
  --bg:#ffffff;--ink:#111827;--muted:#6b7280;--line:rgba(0,0,0,.08);--card:#ffffff;--card2:#f9fafb;
  --font:"Montserrat",system-ui,sans-serif;--blue:#1a6bff;
  --col:82.9px;--gap:35px;--row:80px;
}
.tema-escuro{--bg:#0f1115;--ink:#f3f4f6;--muted:#9ca3af;--line:rgba(255,255,255,.1);--card:#1b1e25;--card2:#23272f}
*{box-sizing:border-box}
html,body{margin:0}
body.lx{background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;min-height:100vh}
a{color:inherit;text-decoration:none}

/* fundos / padrões */
.pad-grade{background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:48px 48px}
.pad-pontos{background-image:radial-gradient(var(--line) 1.5px,transparent 2px);background-size:22px 22px}
.pad-listras{background-image:repeating-linear-gradient(135deg,transparent 0 14px,var(--line) 14px 15px)}
.pad-aurora{background:linear-gradient(120deg,#e0f2fe,#ede9fe 45%,#fce7f3 100%) fixed}
.pad-por-do-sol{background:linear-gradient(160deg,#fff7ed,#ffedd5 40%,#fecdd3 100%) fixed}
.pad-oceano{background:linear-gradient(160deg,#ecfeff,#cffafe 40%,#dbeafe 100%) fixed}
.pad-neon{background:radial-gradient(60% 50% at 20% 10%,rgba(26,107,255,.25),transparent 60%),radial-gradient(50% 40% at 90% 80%,rgba(236,72,153,.22),transparent 60%) fixed}
.tema-escuro.pad-aurora{background:linear-gradient(120deg,#0f172a,#1e1b4b 45%,#3b0764 100%) fixed}
.tema-escuro.pad-por-do-sol{background:linear-gradient(160deg,#1c1917,#431407 50%,#4c0519) fixed}
.tema-escuro.pad-oceano{background:linear-gradient(160deg,#082f49,#0c4a6e 50%,#1e3a8a) fixed}

/* estrutura */
.lx-wrap{max-width:1400px;margin:0 auto;padding:24px 24px 120px;display:grid;grid-template-columns:372px 1fr;gap:40px;align-items:start}
.lx-prof{position:sticky;top:24px;padding:8px}
.lx-av{width:144px;height:144px;border-radius:50%;object-fit:cover;background:linear-gradient(135deg,#6aa0ff,#1a6bff);display:block;border:2px solid var(--line)}
.lx-av.sm{width:96px;height:96px}
.lx-nome{font-size:40px;line-height:1.1;font-weight:700;margin:24px 0 12px;letter-spacing:-.8px;word-break:break-word}
.lx-bio{font-size:18px;line-height:1.55;color:var(--ink);white-space:pre-wrap;opacity:.85}
.lx-social{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.lx-social a{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--card);display:grid;place-items:center}
.lx-social svg{width:20px;height:20px}
.lx-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}
.lx-tab{height:36px;padding:0 14px;border-radius:999px;background:var(--card2);border:1px solid var(--line);font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:6px;cursor:pointer;color:var(--ink)}
.lx-tab.on{background:var(--ink);color:var(--bg)}
.layout-topo .lx-wrap,.layout-centro .lx-wrap{grid-template-columns:1fr;max-width:1000px}
.layout-topo .lx-prof,.layout-centro .lx-prof{position:static;display:flex;gap:28px;align-items:center}
.layout-centro .lx-prof{flex-direction:column;text-align:center}
.layout-centro .lx-social,.layout-centro .lx-tabs{justify-content:center}
.layout-nenhum .lx-prof{display:none}.layout-nenhum .lx-wrap{grid-template-columns:1fr;max-width:1000px}
.layout-capa .lx-capa{height:260px;background:var(--capa,linear-gradient(120deg,#1a6bff,#6aa0ff));border-radius:0 0 32px 32px;margin:-24px -24px 0}
.layout-capa .lx-prof{margin-top:-72px}

/* grade pública (posicionamento absoluto) */
.lx-grid{position:relative;width:calc(var(--col)*8 + var(--gap)*7);max-width:100%}
.lx-grid>.lx-item{position:absolute;left:calc(var(--x)*(var(--col) + var(--gap)));top:calc(var(--y)*(var(--row) + var(--gap)));width:calc(var(--w)*var(--col) + (var(--w) - 1)*var(--gap));height:calc(var(--h)*var(--row) + (var(--h) - 1)*var(--gap))}
.lx-grid.sm{--col:64px;--gap:28px;--row:64px;width:calc(var(--col)*4 + var(--gap)*3)}
.lx-tabpane{display:none}.lx-tabpane.on{display:block}

/* card base */
.cx{position:relative;display:flex;width:100%;height:100%;border-radius:24px;overflow:hidden;padding:18px;background:var(--cc,var(--card));color:var(--cf,var(--ink));border:1px solid var(--line);box-shadow:0 1px 2px rgba(0,0,0,.04);transition:transform .2s,box-shadow .2s;text-align:left;font-family:inherit}
a.cx:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(0,0,0,.10)}
.cx.mat-grad{background:linear-gradient(160deg,color-mix(in srgb,var(--cc,var(--card)) 88%,#fff),color-mix(in srgb,var(--cc,var(--card)) 82%,#000))}
.cx.mat-vidro{background:color-mix(in srgb,var(--cc,var(--card)) 55%,transparent);backdrop-filter:blur(14px);border-color:rgba(255,255,255,.35)}
.cx.mat-fosco{background:color-mix(in srgb,var(--cc,var(--card)) 80%,transparent);backdrop-filter:blur(24px) saturate(1.4)}
.cx.mat-transp{background:transparent;border-color:transparent;box-shadow:none}
.cx-ico{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;flex:0 0 auto;box-shadow:0 1px 3px rgba(0,0,0,.12)}
.cx-ico svg{width:22px;height:22px}
.cx-mini{padding:0;align-items:center;justify-content:center;border-radius:18px}
.cx-mini .cx-ico{width:100%;height:100%;border-radius:18px;box-shadow:none}.cx-mini .cx-ico svg{width:38px;height:38px}
.cx-txt{display:flex;flex-direction:column;justify-content:flex-end;gap:3px;min-width:0;flex:1;margin-top:auto}
.cx-link{flex-direction:column;justify-content:space-between}
.cx-link .cx-txt{margin-top:12px;justify-content:flex-start}
.cx-t{font-size:14px;font-weight:600;line-height:1.3;display:block;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.cx-s{font-size:12px;color:var(--cf,var(--muted));opacity:.75;line-height:1.3;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cx-ext{font-style:normal;font-size:10px}
.cx-link.has-img{padding-right:calc(50% + 6px)}
.cx-img{position:absolute;right:14px;top:14px;bottom:14px;width:calc(50% - 20px);border-radius:16px;background-size:cover;background-position:center;box-shadow:0 4px 14px rgba(0,0,0,.15)}
.cx-link.faixa{flex-direction:row;align-items:center;gap:12px;padding:14px 18px}
.cx-link.faixa .cx-txt{margin:0}.cx-link.faixa.has-img{padding-right:18px}.cx-link.faixa .cx-img{display:none}
.cx-full{position:absolute;inset:0;background-size:cover;background-position:center;object-fit:cover;width:100%;height:100%}
.cx-imagem{padding:0;background:var(--card2)}
.cx-pill{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);background:rgba(0,0,0,.78);color:#fff;font-size:11px;font-weight:600;padding:6px 10px;border-radius:999px;white-space:nowrap;max-width:90%;overflow:hidden;text-overflow:ellipsis;backdrop-filter:blur(6px)}
.cx-linkdot{position:absolute;right:10px;top:10px;width:24px;height:24px;border-radius:50%;background:rgba(0,0,0,.6);color:#fff;display:grid;place-items:center;font-size:12px}
.cx-sep{background:transparent;border:0;box-shadow:none;padding:0 4px;align-items:flex-end}
.cx-septxt{font-size:20px;font-weight:700;letter-spacing:-.3px}
.cx-texto{flex-direction:column;gap:8px}
.cx-p{margin:0;font-size:14px;line-height:1.55;white-space:pre-wrap;overflow:hidden}
.cx-numero{flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:6px}
.cx-num{font-size:40px;font-weight:800;letter-spacing:-1.5px;line-height:1}
.cx-numero .cx-s{white-space:normal}
.cx-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;background:#9ca3af;vertical-align:middle}.cx-dot.on{background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.25)}.cx-dot.off{background:#ef4444}
.cx-horario,.cx-aval,.cx-cupom,.cx-pix,.cx-wifi,.cx-mapa{flex-direction:column;justify-content:space-between}
.cx-hlist{display:grid;grid-template-columns:repeat(2,1fr);gap:2px 16px;font-size:11px;margin-top:8px;opacity:.8}
.cx-hlist em{font-style:normal;font-weight:700;display:inline-block;width:32px}
.cx-stars{color:#f59e0b;letter-spacing:1px}
.cx-code{font-family:ui-monospace,Menlo,monospace;font-size:12px;background:rgba(0,0,0,.06);border:1px dashed rgba(0,0,0,.2);border-radius:10px;padding:6px 10px;margin-top:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tema-escuro .cx-code{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.25)}
.cx-btn{margin-top:8px;align-self:flex-start;background:var(--ink);color:var(--bg);font-size:12px;font-weight:600;padding:6px 12px;border-radius:999px}
.cx-mapa{color:var(--cf,#111827);background:radial-gradient(circle at 70% 35%,#c9dcff 0 10px,transparent 11px),repeating-linear-gradient(0deg,transparent 0 22px,rgba(26,107,255,.12) 22px 23px),repeating-linear-gradient(90deg,transparent 0 22px,rgba(26,107,255,.12) 22px 23px),var(--cc,#eef3ff)}
.cx-mapa .cx-s{color:var(--cf,#4b5563)}
.cx-mapa .cx-btn{background:#111827;color:#fff}
.cx-mapa::after{content:"";position:absolute;right:calc(30% - 7px);top:calc(35% - 7px);width:14px;height:14px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 5px rgba(26,107,255,.25)}
.cx-qrcode{padding:10px;align-items:center;justify-content:center;background:#fff}
.cx-qr{width:100%;height:100%;object-fit:contain}
.cx-embed-wrap{padding:0;background:#000}
.cx-embed{position:absolute;inset:0;width:100%;height:100%;border:0}
.cx-copiado::after{content:"Copiado ✓";position:absolute;inset:auto 10px 10px auto;background:#111827;color:#fff;font-size:11px;padding:4px 8px;border-radius:999px}

/* rodapé */
.lx-selo{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);background:rgba(17,24,39,.9);color:#fff;font-size:12px;font-weight:600;padding:8px 14px;border-radius:999px;display:flex;gap:6px;align-items:center;backdrop-filter:blur(8px);z-index:20}
.lx-selo svg{height:14px;width:auto}.lx-selo .lx-logo{color:#fff;font-weight:700;display:inline-flex;align-items:center;gap:2px}

/* breakpoints da grade pública */
.only-sm{display:none}
/* celular */
@media (max-width:1100px){
  .only-lg{display:none}.only-sm{display:block}
  .lx-wrap{grid-template-columns:1fr;gap:28px;padding:24px 30px 120px;max-width:480px}
  .lx-prof{position:static}
  .lx-av{width:120px;height:120px}
  .lx-nome{font-size:32px}.lx-bio{font-size:16px}
  .lx-grid{--col:64px;--gap:28px;--row:64px;width:calc(var(--col)*4 + var(--gap)*3);margin:0 auto}
  .cx{padding:14px;border-radius:20px}
  .cx-t{font-size:13px}.cx-s{font-size:11px}
  .cx-ico{width:34px;height:34px;border-radius:10px}.cx-ico svg{width:19px;height:19px}
  .cx-num{font-size:30px}
}
@media (max-width:420px){
  .lx-wrap{padding:20px 16px 120px}
  .lx-grid{--col:calc((100vw - 32px - 3*var(--gap))/4);--gap:20px;--row:calc((100vw - 32px - 3*var(--gap))/4)}
}
