/* Página de Links — Dr. Alexandre Duarte (mu-plugin avg-links 1.0.0, 2026-10-07).
   Fiel à /links/ antiga (ESPEC-DESIGN): fundo em imagem + #120e0b, coluna de 600 px, cartões de 490 px,
   nome em Georgia (com selo à direita, também no celular), subtítulo em Roboto 200 (fontes.css).
   Animação de entrada e hover sutis; celular com margem de 35 px. Gerado por build/src-assets/build_assets.py. */
:root{
  --al-cor:#120e0b;--al-txt:#fff;--al-creme:#f5efe6;--al-ouro:#d6b67a;--al-ouro-borda:rgba(214,182,122,.35);
  --al-card-bg:rgba(18,14,11,.72);--al-gap:20px;--al-col:600px;--al-cards:490px;--al-gutter:16px;--al-topo:40px;--al-ate-cards:32px;
  --al-fundo-h:1754px;
  --al-ease:cubic-bezier(.2,.7,.2,1);
  --al-serif:Georgia,"Times New Roman",Times,serif;
  --al-sans:"AL Roboto",Roboto,"Helvetica Neue",Arial,system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body.al-body{background-color:var(--al-cor);color:var(--al-txt);font-family:var(--al-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;overflow-x:hidden}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;word-wrap:normal!important}

/* página: fundo em "cover", ancorado no topo, como no container raiz do Elementor. Para o enquadramento ser o MESMO da
   /links/ antiga (a página nova é mais curta, sem a sobra do fim), a imagem é pintada num ::before com altura mínima
   igual à altura do documento antigo (--al-fundo-h: 1754 px no desktop/tablet; no celular, a reta que passa por
   1384 px em 390 px de largura) e cortada no fim da página. Página mais longa que isso: cover normal.
   A URL vem do HTML na variável --al-fundo. */
.al{position:relative;isolation:isolate;overflow:hidden;overflow:clip;min-height:100vh;min-height:100svh;background-color:var(--al-cor);padding:0 0 calc(48px + env(safe-area-inset-bottom))}
.al::before{content:"";position:absolute;z-index:-1;top:0;left:0;right:0;height:100%;height:max(100%,var(--al-fundo-h));background:var(--al-fundo,none) top center/cover no-repeat;pointer-events:none}
.al-in{width:100%;max-width:var(--al-col);margin:0 auto;padding:0 max(var(--al-gutter),env(safe-area-inset-right)) 0 max(var(--al-gutter),env(safe-area-inset-left));display:flex;flex-direction:column;align-items:center}

/* topo */
.al-top{width:100%;display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:calc(var(--al-topo) + env(safe-area-inset-top))}
.al-perfil{display:block;width:min(372px,100%);height:auto;margin:0 auto}
.al-nome{position:relative;z-index:1;margin:-12px 0 0;display:flex;align-items:center;justify-content:center;gap:5px;max-width:100%;font-family:var(--al-serif);font-weight:500;font-size:28px;line-height:1.2;letter-spacing:0;color:var(--al-txt)}
.al-top--sem-foto .al-nome{margin-top:0}
.al-nome-t{min-width:0}
.al-selo{flex:none;display:inline-block;width:22px;height:22px;background:url(data:image/webp;base64,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) center/contain no-repeat}
.al-sub{margin:2px 0 0;max-width:100%;font-family:var(--al-sans);font-weight:200;font-size:16px;line-height:1.25;color:var(--al-txt);text-wrap:balance}

/* cartões: coluna flex. T-FRAME: as margens negativas ficam na <img> (o <a>, item flex, não deixa a margem atravessar;
   % = largura do cartão). O <a> fica do tamanho da MOLDURA e a arte transborda (cabeça/livro); a <img> não recebe o
   ponteiro, então a área de clique e de hover é só a moldura e nunca a faixa transparente sobre o cartão vizinho. */
.al-cards{width:min(var(--al-cards),100%);margin-top:var(--al-ate-cards);display:flex;flex-direction:column;gap:var(--al-gap)}
.al-card{position:relative;display:block;color:inherit;text-decoration:none;outline:none;-webkit-tap-highlight-color:transparent;
  transition:transform .28s var(--al-ease),filter .28s ease,border-color .28s ease}
.al-card--imagem{line-height:0}
.al-card--imagem img{display:block;width:100%;height:auto;-webkit-user-drag:none;pointer-events:none}

/* design "texto": cartão escuro translúcido, borda dourada sutil, título + subtítulo + seta */
.al-card--texto{display:flex;align-items:center;gap:14px;min-height:72px;padding:16px 16px 16px 20px;border-radius:16px;background:var(--al-card-bg);border:1px solid var(--al-ouro-borda);color:var(--al-creme);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.al-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;text-align:left}
.al-t{font-family:var(--al-serif);font-weight:400;font-size:18px;line-height:1.25;color:var(--al-creme)}
.al-s{font-family:var(--al-sans);font-weight:300;font-size:13px;line-height:1.35;color:rgba(245,239,230,.72)}
.al-seta{flex:none;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--al-ouro-borda);color:var(--al-ouro);transition:transform .28s var(--al-ease)}
.al-seta svg{display:block;width:16px;height:16px}

/* design "compacto": meia largura; dois seguidos lado a lado */
.al-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.al-pair--um{grid-template-columns:1fr}
.al-card--compacto{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:56px;padding:12px 14px;border-radius:14px;background:var(--al-card-bg);border:1px solid var(--al-ouro-borda);color:var(--al-creme);text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.al-card--compacto .al-t{font-size:15px}
.al-card--compacto .al-s{font-size:12px}

/* redes e rodapé */
.al-redes{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:28px}
.al-rede{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--al-card-bg);border:1px solid var(--al-ouro-borda);color:var(--al-ouro);text-decoration:none;
  transition:transform .28s var(--al-ease),background-color .28s ease,color .28s ease}
.al-rede svg{display:block;width:20px;height:20px}
.al-foot{margin-top:28px;font-family:var(--al-sans);font-weight:300;font-size:11px;line-height:1.5;letter-spacing:.18em;text-transform:uppercase;color:rgba(245,239,230,.55);text-align:center}
.al-fallback{max-width:600px;margin:0 auto;padding:40px 16px;color:var(--al-creme);font-family:var(--al-sans)}
.al-fallback a{color:var(--al-ouro)}

/* aviso "Link disponível em breve": largura do texto (max-content; com left:50% a largura automática seria só
   metade da tela e o texto quebraria em 2 linhas). Escondido com opacity (não visibility), para a região
   aria-live continuar na árvore de acessibilidade e o leitor de tela anunciar a troca do texto. */
#al-toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));z-index:100;width:max-content;max-width:calc(100vw - 32px);transform:translate(-50%,180%);opacity:0;pointer-events:none;padding:12px 20px;border-radius:999px;
  background:rgba(18,14,11,.94);border:1px solid var(--al-ouro-borda);color:var(--al-creme);font-family:var(--al-sans);font-weight:400;font-size:14px;line-height:1.3;text-align:center;box-shadow:0 10px 30px rgba(0,0,0,.45);
  transition:transform .45s var(--al-ease),opacity .3s ease}
#al-toast.show{transform:translate(-50%,0);opacity:1}

/* foco (teclado): contorno dourado discreto; no cartão-imagem segue o formato da arte */
.al-card--imagem:focus-visible{filter:drop-shadow(0 0 1.5px rgba(214,182,122,.95)) drop-shadow(0 0 7px rgba(214,182,122,.45))}
.al-card--texto:focus-visible,.al-card--compacto:focus-visible{outline:2px solid rgba(214,182,122,.8);outline-offset:3px}
.al-rede:focus-visible{outline:2px solid rgba(214,182,122,.8);outline-offset:3px}

/* toque */
.al-card:active{transform:scale(.985);transition-duration:.12s}

/* hover (só mouse/trackpad): sobe 4 px, brilho leve e sombra que segue o formato */
@media (hover:hover) and (pointer:fine){
  .al-card:hover{z-index:2;transform:translateY(-4px);filter:brightness(1.05) drop-shadow(0 12px 24px rgba(0,0,0,.45))}
  .al-card:hover:active{transform:translateY(-4px) scale(.985)}
  .al-card--texto:hover,.al-card--compacto:hover{border-color:rgba(214,182,122,.6)}
  .al-card--texto:hover .al-seta{transform:translateX(3px)}
  .al-rede:hover{transform:translateY(-2px);background-color:var(--al-ouro);color:#120e0b}
}

/* entrada (só quem não pediu menos movimento). Usa "translate" (não "transform") para não brigar com o hover.
   Sem a animação, nada fica invisível (o fill-mode "both" só existe aqui dentro). */
@keyframes al-sobe10{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}
@keyframes al-sobe12{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}
@media (prefers-reduced-motion:no-preference){
  .al-a{animation:al-sobe10 .6s var(--al-ease) both;animation-delay:calc(var(--i,0) * 70ms)}
  .al-c{animation:al-sobe12 .6s var(--al-ease) both;animation-delay:calc(160ms + var(--c,0) * 60ms)}
  .al-redes,.al-foot{animation:al-sobe12 .6s var(--al-ease) both;animation-delay:640ms}
}
@media (prefers-reduced-motion:reduce){
  .al-card,.al-rede,.al-seta{transition:filter .2s ease,background-color .2s ease,color .2s ease}
  .al-card:hover,.al-card:active,.al-card:hover:active,.al-rede:hover,.al-card--texto:hover .al-seta{transform:none}
  #al-toast,#al-toast.show{transition:none}
}

/* celular: margem de 35 px de cada lado (pedido do Guilherme, 2026-10-07), cartões = 100vw - 70 px (máx. 490), nome + selo na mesma linha */
@media (max-width:767px){
  :root{--al-gutter:35px;--al-gap:14px;--al-topo:32px;--al-ate-cards:24px;--al-fundo-h:calc(289vw + 257px)}
  .al-nome{margin-top:-8px;font-size:26px;line-height:1.15}
  .al-sub{margin-top:4px;max-width:32ch;font-size:15px;line-height:1.35}
  .al-redes,.al-foot{margin-top:24px}
}
@media (max-width:380px){
  .al-sub{font-size:14.5px}
}
