/* ==========================================================================
   Essence Tântric · Faixa de aviso de consentimento
   Autor: DEVOPS (Coneki) · 28/09/2026 · cliente Essence Tântric

   PEDIDO DO DONO, 28/09/2026
   «O "consentimento" está travado lá no rodapé do site, tem que rolar até o final
   para ver. Desse jeito ninguém vai clicar.» A faixa tinha nascido como bloco
   normal no FIM do documento (depois do rodapé). Uma escolha que ninguém vê não é
   uma escolha: passa a estar à vista no primeiro ecrã, sem rolar.

   PORQUE ESTE FICHEIRO EXISTE, E NÃO FICA NO `componentes.css`
   Medido no ar a 28/09/2026, com o Chromium a 390×844: a faixa ficava presa ao
   fundo do ecrã (certo) mas o `body` não recebia o afastamento dela — o fim do
   rodapé e a faixa legal da Coneki ficavam 206 px debaixo da barra, no telemóvel.
   Causa: na home e na ficha (as duas páginas com mais tráfego) o `componentes.css`
   entra pela folha agrupada `tw.css` dentro de `@layer components`, e uma regra
   dentro de uma camada PERDE sempre para uma regra sem camada — o
   `body { padding-bottom: … }` do `acoes-mobile.css` (esse, sem camada) ganhava.
   Nas outras páginas a regra aplicava-se, porque o `componentes.css` é pedido
   solto. Ficava certo em 238 páginas e errado nas duas que mais importam.
   Aqui, sem camada nenhuma, o comportamento é o mesmo em todas as páginas.

   TRÊS REGRAS QUE A MANTÊM HONESTA
     1. em telemóvel senta-se POR CIMA da barra de contacto (`--altura-acoes-fixas`,
        60 px), para não tapar «Ligar» nem o WhatsApp — é a conversão do site;
     2. o `body` recebe a altura REAL da faixa (`--altura-consentimento`, publicada
        pelo `site.js`), porque o texto parte em 2 linhas no computador e em 4 no
        telemóvel; a altura não se escreve à mão;
     3. `z-index: 80`: acima da barra fixa (70) e abaixo do visualizador de
        fotografias (100), que é modal.

   Sem cor de plugin: creme da marca, aresta definida, zero sombra difusa.
   Contrastes medidos sobre o creme #F2E4D8: texto #6B4A45 = 6,27:1; botões da
   marca #720917 = 9,54:1. Ambos acima de 4,5:1.
   ========================================================================== */

.consentimento {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 80;
  border-top: 1px solid var(--cor-borda);
  background: var(--cor-superficie);
  padding-top: var(--esp-4);
  padding-bottom: var(--esp-4);
}

.consentimento__interior {
  display: flex;
  flex-wrap: wrap;
  gap: var(--esp-4);
  align-items: center;
  justify-content: space-between;
}

.consentimento p {
  margin: 0;
  font-size: var(--fs-corpo);
  color: var(--cor-texto-suave);
  max-width: var(--medida-prosa);
}

.consentimento__accoes { display: flex; flex-wrap: wrap; gap: var(--esp-4); }

/* A faixa nasce `hidden` no HTML e é o script que a revela (28/09/2026): quem
   navega sem JavaScript não fica com uma barra morta à frente. A regra é
   declarada porque uma classe com `display` ganharia ao atributo. */
.consentimento[hidden] { display: none; }

/* O afastamento do documento existe só enquanto a faixa está aberta: o
   `data-faixa-consentimento` no `html` é posto e retirado pelo `site.js`, no
   mesmo instante em que a faixa aparece e desaparece. */
html[data-faixa-consentimento='aberta'] body { padding-bottom: var(--altura-consentimento, 0px); }

@media (max-width: 1023px) {
  /* Em telemóvel a faixa fica acima da barra de contacto e o documento leva as
     duas alturas: 60 px (+ entalhe do iPhone) da barra, mais a faixa medida. */
  .consentimento { bottom: calc(var(--altura-acoes-fixas, 60px) + env(safe-area-inset-bottom, 0px)); }

  html[data-faixa-consentimento='aberta'] body {
    padding-bottom: calc(var(--altura-consentimento, 0px) + var(--altura-acoes-fixas, 60px) + env(safe-area-inset-bottom, 0px));
  }
}
