/* ==========================================================================
   Tema Afino — página de links da bio (templates/links.php)
   Arquivo separado do style.css: a página é sozinha, sem cabeçalho nem rodapé.
   As cores vêm do painel (brand_head) e sobrescrevem estes tokens.
   ========================================================================== */
:root {
  --primary: #38023b;
  --primary-h: #4e1552;
  --accent: #e9b44c;
  --accent-d: #d89f33;
  --dark: #26012a;
  --neutral: #f4ece6;
  --on-accent: #38023b;
  --font: 'Poppins', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; }
body.links-page {
  font: 400 15px/1.6 var(--font); color: #fff; -webkit-font-smoothing: antialiased;
  background: radial-gradient(120% 70% at 50% 0%, var(--primary-h) 0%, var(--dark) 55%, color-mix(in srgb, var(--dark) 70%, #000) 100%) fixed var(--dark);
}
/* Linhas de grade sutis, como no topo do site */
body.links-page::before { content: ""; position: fixed; inset: 0; pointer-events: none;
  background-image: linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size: 72px 72px; -webkit-mask: linear-gradient(#000 0%, transparent 75%); mask: linear-gradient(#000 0%, transparent 75%); }
.links-page a { color: inherit; text-decoration: none; }
.links-page img { max-width: 100%; height: auto; display: block; }
.links-page .ico { width: 22px; height: 22px; flex: none; }
.links-page :focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }

.links { position: relative; max-width: 480px; margin: 0 auto; padding: 48px 16px 40px; text-align: center; }
.links .logo { display: block; width: 190px; margin: 0 auto 22px; }
.links .logo img { width: 100%; }
.links .logo-text { font-size: 26px; font-weight: 700; }
.links .title { font-size: 22px; font-weight: 700; line-height: 1.25; letter-spacing: -.02em; margin: 0 0 8px; color: #fff; }
.links .title .hl { color: var(--accent); }
.links .sub { color: rgba(255,255,255,.72); font-size: 14px; margin: 0 0 18px; }
.links .chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 0 0 28px; padding: 0; list-style: none; }
.links .chips li { font-size: 12px; font-weight: 500; padding: 6px 12px; border-radius: 99px; background: rgba(255,255,255,.1); color: rgba(255,255,255,.9); }
.links .chips b { color: var(--accent); font-weight: 600; }

.links .list { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.links .lk { display: flex; align-items: center; gap: 14px; min-height: 60px; padding: 12px 18px 12px 14px; border-radius: 99px; text-align: left;
  background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  transition: background .2s, border-color .2s, transform .2s; }
.links .lk:hover { background: rgba(255,255,255,.14); border-color: rgba(255,255,255,.28); transform: translateY(-2px); }
.links .lk:active { transform: translateY(0); }
.links .bub { width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; flex: none; background: color-mix(in srgb, var(--accent) 16%, transparent); color: var(--accent); }
.links .bub .ico { width: 19px; height: 19px; }
.links .txt { flex: 1; min-width: 0; }
.links .lk strong { display: block; font-weight: 600; font-size: 15px; line-height: 1.3; }
.links .lk small { display: block; font-size: 12.5px; color: rgba(255,255,255,.62); line-height: 1.35; margin-top: 2px; }
.links .arr { width: 14px; height: 14px; flex: none; opacity: .6; transition: transform .2s, opacity .2s; }
.links .lk:hover .arr { transform: translateX(3px); opacity: 1; }
/* Botão em destaque: cor de destaque da marca */
.links .lk.main { background: var(--accent); border-color: var(--accent); color: var(--on-accent); box-shadow: 0 14px 30px -14px color-mix(in srgb, var(--accent) 70%, transparent); }
.links .lk.main:hover { background: var(--accent-d); border-color: var(--accent-d); }
.links .lk.main .bub { background: var(--primary); color: #fff; }
.links .lk.main small { color: color-mix(in srgb, var(--on-accent) 72%, transparent); }
.links .lk.main .arr { opacity: .8; }

/* Último post do blog */
.links .post { display: flex; gap: 12px; align-items: center; padding: 10px; border-radius: 22px; text-align: left; background: var(--neutral); color: var(--primary); transition: transform .2s; }
.links .post:hover { transform: translateY(-2px); }
.links .post img { width: 84px; height: 64px; object-fit: cover; border-radius: 14px; flex: none; }
.links .post .tag { display: inline-block; font-size: 10.5px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; padding: 3px 8px; border-radius: 99px; background: color-mix(in srgb, var(--primary) 8%, transparent); margin-bottom: 4px; }
.links .post strong { display: block; font-size: 14px; font-weight: 600; line-height: 1.3; }

.links .social { display: flex; justify-content: center; gap: 12px; margin: 30px 0 18px; padding: 0; list-style: none; }
.links .social a { width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); transition: background .2s, color .2s; }
.links .social a:hover { background: var(--accent); color: var(--on-accent); }
.links .social .ico { width: 20px; height: 20px; }
.links .foot { font-size: 12px; color: rgba(255,255,255,.5); margin: 0; }
.links .foot a { text-decoration: underline; text-underline-offset: 2px; }

@media (prefers-reduced-motion: reduce) { .links-page * { transition: none !important; } }
