/* glass/glass.css — componente <Glass> (política C híbrida, iOS 27)
   Único lugar autorizado, junto aos tokens globais, para backdrop-filter/filter de vidro.
   Nível de uso nesta fase: localnav (bar) + CTA da localnav (pill). */

:root {
  /* Tokens novos do iOS 27 (previstos em LIQUID_GLASS.md §1) */
  --lg-rim: 0 0 0 1px rgba(31, 45, 69, .22);   /* borda externa escurecida */
  --lg-specular-boost: 1.25;                    /* intensificador do especular (consumido no gerador) */
  --lg-displacement-scale: 24;                  /* px máximos de refração (Chromium) */
  --lg-transparency: 1;                         /* 0 = tingido … 1 = ultra claro */

  /* TOKENS DE MOVIMENTO — declarados aqui, e não em cada página.

     LIQUID_GLASS.md §1 já os define como GLOBAIS, mas eles só existiam
     dentro do <style> do index.html. Consequência descoberta em 20/08/2026:
     em produto.html, `var(--lg-ease)` não resolvia — e uma variável que não
     resolve INVALIDA a declaração inteira. Uma transição de 620ms virava
     `0s` em silêncio, sem erro no console e sem aviso nenhum. O sintoma é
     um card que deveria subir e aparece chapado.

     Aqui eles alcançam as quatro páginas, porque glass.css é carregado em
     todas. Custom property resolve em tempo de valor computado, então a
     ordem em relação ao estilo embutido não atrapalha. */
  /* A ESTRELA DE QUATRO PONTAS DA MARCA.

     É o próprio brilho que fica ao lado do "B" no monograma — extraído do
     `imagens/monograma.svg`, com o recorte apertado na caixa real do desenho
     (medida no navegador com getBBox, não estimada).

     Vem como MÁSCARA e não como imagem colorida: assim quem usa pinta com
     `background-color`, e a estrela continua obedecendo `--brand-gold` em vez
     de ter o dourado cravado dentro do arquivo. Um token de cor a menos para
     sair de sincronia. */
  --marca-estrela: url("data:image/svg+xml,<svg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='14102%203674%201121%201146'><path%20d='M14662.675,3674.304c0.117,0%200.521,0.117%201.217,0.346c0.763,0.354%201.288,1.075%201.388,1.908c11.804,157.408%2025.462,264.179%2040.971,320.312c33.679,121.529%20115.742,192.533%20246.179,213.021c107.987,16.9%20196.758,25.637%20266.321,26.217c2.125,0.092%203.821,1.867%203.821,3.992l0,4.342c0.021,0.513%20-0.275,0.958%20-0.696,1.042c-117.533,10.071%20-235.938,16.667%20-343.75,50c-165.625,51.387%20-191.321,232.637%20-200.867,378.471c-6.367,97.454%20-11.283,146.179%20-14.758,146.179c-3.587,0%20-8.508,-48.725%20-14.758,-146.179c-9.55,-145.833%20-35.242,-327.083%20-200.867,-378.471c-107.812,-33.333%20-226.217,-40.104%20-343.75,-50.175c-0.421,-0.083%20-0.717,-0.529%20-0.696,-1.042l0,-4.342c0,-2.125%201.696,-3.9%203.821,-3.992c69.558,-0.579%20158.392,-9.258%20266.492,-26.042c130.442,-20.488%20212.5,-91.492%20246.179,-213.021c15.508,-56.133%2029.167,-162.904%2040.971,-320.312c0.1,-0.833%200.629,-1.558%201.388,-1.908c0.696,-0.233%201.158,-0.346%201.388,-0.346l0.008,0Z'%20fill='%23000'/></svg>");

  --lg-ease: cubic-bezier(.32, .72, .28, 1);
  --lg-fast: 160ms;
  --lg-med:  220ms;
}

/* Base: o elemento decorado preserva semântica E posicionamento próprios —
   o componente não impõe position (lição: impor relative quebrou o fixed da localnav). */

/* heavy: difusão + rim escuro + especular interno + sombra de luz única */
[data-glass="heavy"] {
  box-shadow: var(--lg-refract), var(--lg-rim), var(--lg-shadow-2);
}

/* Upgrade de refração — SOMENTE quando glass.js confirma motor Blink.
   O blur(2px) compõe com o displacement para o acabamento difuso do iOS 27. */
.glass-refract[data-glass-shape="bar"] {
  -webkit-backdrop-filter: url(#gd-bar) blur(2px) saturate(var(--lg-sat));
  backdrop-filter: url(#gd-bar) blur(2px) saturate(var(--lg-sat));
}
.glass-refract[data-glass-shape="pill"] {
  -webkit-backdrop-filter: url(#gd-pill) blur(1.5px) saturate(var(--lg-sat));
  backdrop-filter: url(#gd-pill) blur(1.5px) saturate(var(--lg-sat));
}

/* Acessibilidade: transparência reduzida desliga refração e devolve blur simples */
@media (prefers-reduced-transparency: reduce) {
  .glass-refract[data-glass-shape] {
    -webkit-backdrop-filter: blur(var(--lg-blur)) saturate(var(--lg-sat));
    backdrop-filter: blur(var(--lg-blur)) saturate(var(--lg-sat));
  }
  [data-glass] { background-color: rgba(252, 248, 245, .95); }
}
@media (prefers-contrast: more) {
  [data-glass] { background-color: rgba(252, 248, 245, .97); box-shadow: 0 0 0 1.5px var(--brand-blue); }
}

/* Fallback sólido para motores sem backdrop-filter algum */
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  [data-glass="heavy"] { background: rgba(252, 248, 245, .97); }
}
