/* =====================================================================
   AVENUE STUDIO — base.css · FUNDAÇÃO compartilhada (Etapa 1)
   Fonte display centralizada + escala tipográfica + grade de 8px +
   conjunto ÚNICO de ícones de linha (na cor da marca).

   Carregar em <head>, ANTES do <style> de cada página, pra que as
   variáveis e as fontes já existam quando o CSS da página usar.
   Aditivo e não-destrutivo: só define TOKENS e fontes; não mexe em
   cor de fundo, layout, nem em nenhuma função.
   ===================================================================== */

/* ---------- Fontes (fonte única do site, sem redeclarar por página) ---------- */
@font-face{font-family:'Bootzy';src:url('fonts/BootzyTM.ttf') format('truetype');font-weight:400 700;font-display:swap}
@font-face{font-family:'Founders Grotesk';src:url('fonts/FoundersGrotesk-Regular.otf') format('opentype');font-weight:400;font-display:swap}
@font-face{font-family:'Founders Grotesk';src:url('fonts/FoundersGrotesk-Medium.otf') format('opentype');font-weight:500;font-display:swap}
@font-face{font-family:'Founders Grotesk';src:url('fonts/FoundersGrotesk-Semibold.otf') format('opentype');font-weight:600;font-display:swap}
@font-face{font-family:'Founders Grotesk';src:url('fonts/FoundersGrotesk-Bold.otf') format('opentype');font-weight:700;font-display:swap}
@font-face{font-family:'Josefin Sans';src:url('fonts/JosefinSans-var.woff2') format('woff2');font-weight:100 700;font-display:swap}

:root{
  /* famílias (com fallback seguro caso a fonte demore/falhe) */
  --font-display:'Bootzy',Georgia,'Times New Roman',serif;
  --font-body:'Founders Grotesk',system-ui,-apple-system,sans-serif;
  --font-menu:'Josefin Sans','Founders Grotesk',sans-serif;

  /* --------- ESCALA TIPOGRÁFICA (fluida, uma só pro site todo) --------- */
  --fs-display:clamp(48px,7vw,116px);  /* manchete do hero */
  --fs-h1:clamp(34px,5.4vw,58px);      /* h1 de página (ex.: agendar) */
  --fs-h2:clamp(32px,4.6vw,60px);      /* títulos de seção */
  --fs-h3:clamp(22px,2.4vw,30px);      /* subtítulos */
  --fs-lead:18px;                      /* parágrafo de abertura */
  --fs-body:16px;
  --fs-small:13px;

  /* entrelinha: manchete grande respira mais; corpo confortável */
  --lh-display:1.02;
  --lh-head:1.08;
  --lh-body:1.6;

  /* tracking: ar nas manchetes (antes .96/.025em, apertado), calma no corpo */
  --tr-display:.02em;
  --tr-head:.02em;
  --tr-body:0;
  --tr-label:.16em;   /* eyebrows / rótulos em caixa-alta */

  /* --------- ESPAÇAMENTO — grade de 8px --------- */
  --sp-1:8px;  --sp-2:16px; --sp-3:24px; --sp-4:32px;
  --sp-5:40px; --sp-6:48px; --sp-7:56px; --sp-8:64px;
  --sp-9:72px; --sp-10:80px;--sp-11:88px;--sp-12:96px;
  --sp-13:104px;--sp-14:112px;--sp-15:120px;--sp-16:128px;
}

/* Regra-base de manchetes: quem quiser padroniza referenciando estas vars.
   Definida aqui pra novas páginas herdarem sozinhas a mesma escala. */
h1,h2,h3,.serif{font-family:var(--font-display);font-weight:500;line-height:var(--lh-head);letter-spacing:var(--tr-head)}

/* =====================================================================
   ÍCONES DE LINHA — conjunto único, na cor da marca.
   Uso:  <i class="av-ico av-ico--camera"></i>
   - herda o tamanho do contexto (width/height = 1em);
   - pinta com currentColor (por padrão, a cor do texto). Pra deixar
     terracota é só  color:var(--accent)  no contêiner.
   Técnica: CSS mask com SVG inline (data-URI) — traço único, colorível,
   sem dependência nova e sem sprite externo.
   ===================================================================== */
.av-ico{
  display:inline-block;width:1em;height:1em;flex:none;vertical-align:-.125em;
  background-color:currentColor;
  -webkit-mask:var(--ico) center/contain no-repeat;
          mask:var(--ico) center/contain no-repeat;
}
.av-ico--camera{--ico:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='7' width='18' height='13' rx='2.5'/><circle cx='12' cy='13.5' r='3.6'/><path d='M8 7l1.5-2.5h5L16 7'/></svg>")}
.av-ico--sparkle{--ico:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M11 3l1.7 4.6L17 9l-4.3 1.4L11 15l-1.7-4.6L5 9l4.3-1.4L11 3z'/><path d='M18 14l.7 1.9 1.8.6-1.8.7L18 19l-.7-1.8-1.8-.7 1.8-.6L18 14z'/></svg>")}
.av-ico--glass{--ico:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M8 3h8'/><path d='M9 3c0 4.2 1.1 6.2 3 6.2S15 7.2 15 3'/><path d='M12 9.2V18'/><path d='M9 21h6'/></svg>")}
.av-ico--pin{--ico:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M12 21s7-5.5 7-11a7 7 0 1 0-14 0c0 5.5 7 11 7 11z'/><circle cx='12' cy='10' r='2.6'/></svg>")}
.av-ico--chat{--ico:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M4 5h16v11H9l-4 4V5z'/><path d='M9 10.5h.01M12 10.5h.01M15 10.5h.01'/></svg>")}
.av-ico--lock{--ico:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><rect x='5' y='10' width='14' height='10' rx='2.2'/><path d='M8 10V7a4 4 0 0 1 8 0v3'/></svg>")}
.av-ico--target{--ico:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='8'/><circle cx='12' cy='12' r='4'/><circle cx='12' cy='12' r='.9'/></svg>")}
.av-ico--mic{--ico:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><rect x='9' y='3' width='6' height='11' rx='3'/><path d='M6 11a6 6 0 0 0 12 0'/><path d='M12 17v4'/><path d='M9 21h6'/></svg>")}
.av-ico--tag{--ico:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M3 12.5V4h8.5L21 13.5 13.5 21 3 12.5z'/><circle cx='7.6' cy='7.6' r='1.3'/></svg>")}
.av-ico--map{--ico:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M9 4L3 6v14l6-2 6 2 6-2V4l-6 2-6-2z'/><path d='M9 4v14M15 6v14'/></svg>")}
.av-ico--parking{--ico:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><rect x='4' y='4' width='16' height='16' rx='3'/><path d='M9.5 16.5V8h3.2a2.6 2.6 0 0 1 0 5.2H9.5'/></svg>")}
.av-ico--speaker{--ico:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><rect x='6' y='3' width='12' height='18' rx='3'/><circle cx='12' cy='14' r='3'/><path d='M12 7h.01'/></svg>")}
.av-ico--snow{--ico:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M12 3v18M3 12h18M5.5 5.5l13 13M18.5 5.5l-13 13'/></svg>")}
.av-ico--cup{--ico:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M5 8h11v4a5 5 0 0 1-5 5h-1a5 5 0 0 1-5-5V8z'/><path d='M16 9h2.3a2 2 0 0 1 0 4H16'/><path d='M4 21h13'/></svg>")}
.av-ico--clock{--ico:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='8.2'/><path d='M12 7.5V12l3 2'/></svg>")}
/* Etapa 6A — ícones da área logada (mesmo padrão: stroke 1.7, currentColor) */
.av-ico--card{--ico:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='5' width='18' height='14' rx='2.5'/><path d='M3 9.5h18M6.5 15h4'/></svg>")}
.av-ico--check{--ico:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12.5l4.5 4.5L19 6.5'/></svg>")}
.av-ico--check-circle{--ico:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='8.5'/><path d='M8.2 12.3l2.6 2.6 5-5.2'/></svg>")}
.av-ico--heart{--ico:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M12 20s-7-4.6-9-9.2C1.6 7.5 3.4 4.5 6.5 4.5c2 0 3.2 1.1 4 2.2.8-1.1 2-2.2 4-2.2 3.1 0 4.9 3 3.5 6.3C19 15.4 12 20 12 20z'/></svg>")}
.av-ico--heart-fill{--ico:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'><path d='M12 20s-7-4.6-9-9.2C1.6 7.5 3.4 4.5 6.5 4.5c2 0 3.2 1.1 4 2.2.8-1.1 2-2.2 4-2.2 3.1 0 4.9 3 3.5 6.3C19 15.4 12 20 12 20z'/></svg>")}
.av-ico--alert{--ico:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M12 3.5L21 19H3L12 3.5z'/><path d='M12 10v4M12 17h.01'/></svg>")}
.av-ico--calendar{--ico:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><rect x='3.5' y='5' width='17' height='16' rx='2.5'/><path d='M3.5 9.5h17M8 3v4M16 3v4'/></svg>")}
.av-ico--doc{--ico:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M6 3h8l4 4v14H6V3z'/><path d='M14 3v4h4M9 12h6M9 16h6'/></svg>")}
.av-ico--x{--ico:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M6 6l12 12M18 6L6 18'/></svg>")}
.av-ico--phone{--ico:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M6 3h3l1.5 4-2 1.4a12 12 0 0 0 5.1 5.1L18 15l3 4v0a2 2 0 0 1-2 2A15 15 0 0 1 4 6a2 2 0 0 1 2-3z'/></svg>")}
.av-ico--image{--ico:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><rect x='3.5' y='5' width='17' height='14' rx='2.5'/><circle cx='9' cy='10' r='1.7'/><path d='M5 18l4.5-4.5 3 3 3.5-3.5L20 17'/></svg>")}
.av-ico--link{--ico:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M9 15l6-6M10.5 6.5l1.7-1.7a4 4 0 0 1 5.7 5.7l-1.7 1.7M13.5 17.5l-1.7 1.7a4 4 0 0 1-5.7-5.7l1.7-1.7'/></svg>")}
.av-ico--mail{--ico:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='5' width='18' height='14' rx='2.5'/><path d='M3.5 7l8.5 6 8.5-6'/></svg>")}
.av-ico--user{--ico:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='8.5' r='3.6'/><path d='M5 20c0-3.6 3.1-5.5 7-5.5s7 1.9 7 5.5'/></svg>")}
.av-ico--download{--ico:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M12 4v10M8 10.5l4 4 4-4M5 19h14'/></svg>")}
.av-ico--inbox{--ico:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M4 13l2.5-7h11L20 13v5a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-5z'/><path d='M4 13h5a3 3 0 0 0 6 0h5'/></svg>")}
.av-ico--home{--ico:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M4 11l8-6.5 8 6.5'/><path d='M6 10v10h12V10'/><path d='M10 20v-5h4v5'/></svg>")}
.av-ico--plus{--ico:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M12 5v14M5 12h14'/></svg>")}
.av-ico--help{--ico:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='8.5'/><path d='M9.3 9.3a2.7 2.7 0 0 1 5.2 1c0 1.8-2.5 2.2-2.5 3.7M12 17h.01'/></svg>")}
.av-ico--folder{--ico:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M3.5 7.5h6L11 5h9a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V7.5z'/></svg>")}
.av-ico--gear{--ico:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='3'/><path d='M12 3.5v2.5M12 18v2.5M4.7 7.5l2.1 1.3M17.2 15.2l2.1 1.3M4.7 16.5l2.1-1.3M17.2 8.8l2.1-1.3'/></svg>")}
.av-ico--menu{--ico:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M4 7h16M4 12h16M4 17h16'/></svg>")}
.av-ico--search{--ico:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><circle cx='11' cy='11' r='6.5'/><path d='M16 16l4 4'/></svg>")}
.av-ico--calendar-plus{--ico:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><rect x='3.5' y='5' width='17' height='16' rx='2.5'/><path d='M3.5 9.5h17M8 3v4M16 3v4M12 13v4M10 15h4'/></svg>")}
/* Etapa 6C — ícones do CRM (admin) */
.av-ico--grid{--ico:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><rect x='4' y='4' width='7' height='7' rx='1.4'/><rect x='13' y='4' width='7' height='7' rx='1.4'/><rect x='4' y='13' width='7' height='7' rx='1.4'/><rect x='13' y='13' width='7' height='7' rx='1.4'/></svg>")}
.av-ico--layers{--ico:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M12 3l9 5-9 5-9-5 9-5z'/><path d='M3 13l9 5 9-5'/></svg>")}
.av-ico--star{--ico:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M12 3.5l2.6 5.3 5.9.9-4.3 4.1 1 5.8-5.2-2.7-5.2 2.7 1-5.8-4.3-4.1 5.9-.9L12 3.5z'/></svg>")}
.av-ico--receipt{--ico:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M6 3h12v18l-2.5-1.6L13 21l-2.5-1.6L8 21l-2-1.6V3z'/><path d='M9 8h6M9 12h6'/></svg>")}
.av-ico--money{--ico:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><rect x='2.5' y='6' width='19' height='12' rx='2.5'/><circle cx='12' cy='12' r='2.6'/><path d='M6 9.5h.01M18 14.5h.01'/></svg>")}
.av-ico--briefcase{--ico:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='7.5' width='18' height='12.5' rx='2.2'/><path d='M8.5 7.5V6a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v1.5M3 12.5h18'/></svg>")}
.av-ico--pen{--ico:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M14.5 5.5l4 4M4 20l1-4L16 5a1.8 1.8 0 0 1 3 3L8 19l-4 1z'/></svg>")}
.av-ico--scroll{--ico:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M7 4h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2V6'/><path d='M6 6a2 2 0 0 1-2 2H2M9 9h6M9 13h6'/></svg>")}
.av-ico--key{--ico:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><circle cx='8' cy='8' r='4.5'/><path d='M11.2 11.2L20 20M17 17l2-2M14 14l2-2'/></svg>")}
.av-ico--bell{--ico:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9a6 6 0 0 1 12 0c0 5 2 6 2 6H4s2-1 2-6z'/><path d='M10 19a2 2 0 0 0 4 0'/></svg>")}
.av-ico--cake{--ico:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M4 20h16v-7a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v7z'/><path d='M4 15c2 0 2 1.4 4 1.4S10 15 12 15s2 1.4 4 1.4S18 15 20 15'/><path d='M12 4v4M12 4l1-1M12 4l-1-1'/></svg>")}
.av-ico--eye{--ico:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M2.5 12S6 5.5 12 5.5 21.5 12 21.5 12 18 18.5 12 18.5 2.5 12 2.5 12z'/><circle cx='12' cy='12' r='3'/></svg>")}
.av-ico--refresh{--ico:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M20 11a8 8 0 0 0-14-4.5L4 8M4 4v4h4M4 13a8 8 0 0 0 14 4.5L20 16M20 20v-4h-4'/></svg>")}
.av-ico--logout{--ico:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M15 4h3a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-3M10 8l-4 4 4 4M6 12h11'/></svg>")}

@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto} }

/* =====================================================================
   ETAPA 3 — MOVIMENTO (scroll-reveal + micro-interações)
   A classe .js-motion é adicionada por motion.js no <head>. Sem JS o
   conteúdo NUNCA fica escondido (degrada visível). prefers-reduced-motion
   desliga todo o movimento.
   ===================================================================== */
.js-motion .av-reveal{opacity:0;transform:translateY(18px);will-change:opacity,transform;
  transition:opacity .7s cubic-bezier(.2,.7,.3,1),transform .7s cubic-bezier(.2,.7,.3,1)}
.js-motion .av-reveal.av-in{opacity:1;transform:none}
/* atraso em cascata opcional pra filhos (galerias/listas) */
.js-motion .av-reveal.av-stagger>*{opacity:0;transform:translateY(14px);
  transition:opacity .6s cubic-bezier(.2,.7,.3,1),transform .6s cubic-bezier(.2,.7,.3,1)}
.js-motion .av-reveal.av-in.av-stagger>*{opacity:1;transform:none}
.js-motion .av-reveal.av-in.av-stagger>*:nth-child(2){transition-delay:.06s}
.js-motion .av-reveal.av-in.av-stagger>*:nth-child(3){transition-delay:.12s}
.js-motion .av-reveal.av-in.av-stagger>*:nth-child(4){transition-delay:.18s}
.js-motion .av-reveal.av-in.av-stagger>*:nth-child(5){transition-delay:.24s}
.js-motion .av-reveal.av-in.av-stagger>*:nth-child(6){transition-delay:.30s}
@media (prefers-reduced-motion: reduce){
  .js-motion .av-reveal,.js-motion .av-reveal.av-stagger>*{opacity:1!important;transform:none!important;transition:none!important}
}

/* ETAPA 4 — FOCO visível e forte em qualquer elemento interativo (acessibilidade).
   Só no foco por teclado (:focus-visible), pra não poluir o clique de mouse. */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,
textarea:focus-visible,[tabindex]:focus-visible,[role="button"]:focus-visible,label:focus-visible{
  outline:2px solid var(--accent);outline-offset:2px;border-radius:6px;
}

/* ETAPA 5 — alvos de toque confortáveis no celular (≥44px onde faz sentido) */
@media(max-width:620px){
  .btn{min-height:44px}
  .btn.sm{min-height:44px}
  .filtro-pill{min-height:44px;display:inline-flex;align-items:center}
}

