/* AreLuna Microsites — componentes. Cores, espaços e raios só via var(--token) de tokens.css.
   Fontes: o link Google (Newsreader · JetBrains Mono · Barlow Condensed) carregado pela página. */

:root {
  --al-ease: cubic-bezier(0.382, 0, 0.236, 1);
  --al-t1: 160ms;
  --al-t2: 260ms;
  --al-t3: 420ms;
}

/* Base partilhada ----------------------------------------------------------- */
.al-micro,
.al-tag-video,
.al-telemetria,
.al-seccao-cabecalho__badge,
.al-numero__rotulo,
.al-calendario__cap,
.al-calendario__fim-rotulo,
.al-calendario__rodape,
.al-precos th,
.al-video-card__badge,
.al-video-card__byline,
.al-auditoria-card__rotulo,
.al-proxima {
  font-family: var(--font-mono);
  font-size: 13px;
  line-height: 18px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-variant-numeric: tabular-nums;
}
@media (max-width: 760px) {
  .al-micro, .al-tag-video, .al-telemetria, .al-seccao-cabecalho__badge, .al-numero__rotulo,
  .al-calendario__cap, .al-calendario__fim-rotulo, .al-calendario__rodape, .al-precos th,
  .al-video-card__badge, .al-video-card__byline, .al-auditoria-card__rotulo, .al-proxima,
  .al-tag-heroi, .al-painel__cap, .al-video-card__titulo-badge, .al-voz__cidade, .al-calendario__leitura { font-size: 14px; line-height: 20px; }
}

.al-masthead a:focus-visible, .al-telefone:focus-visible, .al-cta:focus-visible,
.al-indice-item:focus-visible, .al-video-card__play:focus-visible, .al-faq-item summary:focus-visible,
.al-proxima:focus-visible, .al-rodape-legal a:focus-visible {
  outline: 2px solid var(--foco);
  outline-offset: var(--esp-3);
}
.al-painel :focus-visible, .al-numeros :focus-visible, .al-barra-chamada :focus-visible, .al-precos :focus-visible {
  outline-color: var(--ouro-painel);
}

/* Racing line --------------------------------------------------------------- */
.al-racing-line {
  position: absolute;
  left: var(--esp-55);
  top: 0;
  bottom: 0;
  width: 1px;
  background: var(--linha-corrida);
  pointer-events: none;
}
.al-racing-line--traco {          /* o traço de 21px no topo de cada secção */
  bottom: auto;
  top: -1px;
  width: var(--esp-21);
  height: 1px;
}
@media (max-width: 760px) { .al-racing-line { left: var(--esp-8); } }

/* Masthead + Telefone ------------------------------------------------------- */
.al-masthead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--esp-21);
  min-height: var(--esp-89);
  padding: 0 var(--esp-89);
  background: var(--fundo);
  border-bottom: 1px solid var(--linha);
  color: var(--tinta);
}
.al-masthead__marca {
  display: inline-flex;
  align-items: center;
  gap: var(--esp-13);
  min-height: var(--alvo-toque);
  color: var(--tinta);
  text-decoration: none;
  font-family: var(--font-display);
  font-size: 24px;
  line-height: 1;
  letter-spacing: 0.01em;
}
.al-masthead__anel { display: block; width: var(--anel-marca); height: var(--anel-marca); object-fit: contain; flex: none; }
@media (max-width: 760px) { .al-masthead { padding: 0 var(--esp-21); min-height: var(--esp-55); } }

.al-telefone {
  display: inline-flex;
  align-items: center;
  gap: var(--esp-13);
  min-height: var(--alvo-toque);
  min-width: var(--alvo-toque);
  padding: 0 var(--esp-21);
  border: 1px solid var(--linha-forte);
  border-radius: var(--raio-0);
  background: transparent;
  color: var(--tinta);
  text-decoration: none;
  font-family: var(--font-mono);
  font-size: 14px;
  letter-spacing: 0.02em;
  font-variant-numeric: tabular-nums;
  transition: border-color var(--al-t1) var(--al-ease), color var(--al-t1) var(--al-ease);
}
.al-telefone:hover { border-color: var(--ouro-texto); color: var(--ouro-texto); }
.al-telefone svg { width: 20px; height: 20px; flex: none; }
.al-telefone--icone { padding: 0; justify-content: center; } /* telemóvel: só ícone, aria-label obrigatório */

/* CTA ----------------------------------------------------------------------- */
.al-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--esp-13);
  min-height: var(--controlo);
  padding: 0 var(--esp-21);
  border: 1px solid var(--ouro);
  border-radius: var(--raio-0);
  background: var(--ouro);
  color: var(--sobre-ouro);
  text-decoration: none;
  font-family: var(--font-texto);
  font-size: 18px;
  font-weight: 500;
  line-height: 24px;
  letter-spacing: 0;
  text-transform: none;
  cursor: pointer;
  transition: background-color var(--al-t2) var(--al-ease), border-color var(--al-t2) var(--al-ease), color var(--al-t2) var(--al-ease);
}
.al-cta svg { width: 20px; height: 20px; flex: none; }
.al-cta:hover { background: var(--ouro-ativo); border-color: var(--ouro-ativo); color: var(--sobre-ouro); }
.al-cta--secundario { background: transparent; border-color: var(--linha-forte); color: var(--tinta); }
.al-cta--secundario:hover { background: transparent; border-color: var(--ouro-texto); color: var(--tinta); }
.al-cta[aria-disabled="true"], .al-cta:disabled { background: transparent; border-color: var(--tinta-fraca); color: var(--tinta-fraca); cursor: not-allowed; }
.al-cta-linha { display: flex; flex-wrap: wrap; align-items: center; gap: var(--esp-13) var(--esp-21); }
@media (max-width: 760px) { .al-cta { width: 100%; } }

.al-telemetria { display: inline-flex; align-items: center; gap: var(--esp-8); color: var(--tinta-suave); }
.al-telemetria::before { content: ""; width: var(--esp-5); height: var(--esp-5); background: var(--verde); flex: none; }

.al-escassez {           /* "A agenda de agosto fecha em junho." */
  display: flex;
  align-items: center;
  gap: var(--esp-13);
  margin: 0;
  font-family: var(--font-texto);
  font-size: 17px;
  line-height: 25px;
  color: var(--tinta);
}
.al-escassez::before { content: ""; width: var(--esp-8); height: var(--esp-8); background: var(--ouro); flex: none; }

.al-tag-heroi {          /* "Para quem nasceu cá": texto mono com filete de 21px, nunca caixa */
  display: inline-flex;
  align-items: center;
  gap: var(--esp-13);
  font-family: var(--font-mono);
  font-size: 13px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ouro-texto);
}
.al-tag-heroi::before { content: ""; width: var(--esp-21); height: 1px; background: var(--ouro); }

.al-proxima {            /* "§ 02 · Amnistia Clínica →" */
  display: inline-flex;
  align-items: center;
  gap: var(--esp-13);
  min-height: var(--alvo-toque);
  color: var(--tinta);
  text-decoration: none;
  transition: color var(--al-t1) var(--al-ease);
}
.al-proxima svg { width: 20px; height: 20px; transition: transform var(--al-t2) var(--al-ease); }
.al-proxima:hover { color: var(--ouro-texto); }
.al-proxima:hover svg { transform: translateX(3px); }

/* Cabeçalho de secção ------------------------------------------------------- */
.al-seccao-cabecalho {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: var(--esp-34);
  row-gap: var(--esp-13);
  align-items: start;
}
.al-seccao-cabecalho > :not(.al-seccao-cabecalho__numeral) { grid-column: 2; }
.al-seccao-cabecalho__numeral {   /* começa na linha do H2: alinha à altura de maiúsculas, não ao badge */
  grid-column: 1;
  grid-row: 2 / span 2;
  margin-top: -10px;
  font-family: var(--font-numerais);
  font-size: 144px;
  line-height: 115px;
  font-weight: 500;
  letter-spacing: -0.02em;
  color: var(--tinta);
  font-variant-numeric: tabular-nums;
}
.al-seccao-cabecalho__badge { display: inline-flex; align-items: center; gap: var(--esp-13); color: var(--ouro-texto); }
.al-seccao-cabecalho__badge::before { content: ""; width: var(--esp-21); height: 1px; background: var(--ouro); }
.al-seccao-cabecalho__titulo {
  margin: 0;
  font-family: var(--font-display);
  font-size: 47px;
  line-height: 52px;
  font-weight: 400;
  letter-spacing: -0.015em;
  color: var(--tinta);
  text-wrap: balance;
}
.al-seccao-cabecalho__lead { margin: 0; font-family: var(--font-texto); font-size: 22px; line-height: 33px; color: var(--tinta); max-width: var(--largura-texto); }
@media (max-width: 760px) {
  .al-seccao-cabecalho { grid-template-columns: 1fr; }
  .al-seccao-cabecalho > :not(.al-seccao-cabecalho__numeral) { grid-column: auto; }
  .al-seccao-cabecalho__numeral { grid-column: auto; grid-row: auto; margin-top: 0; font-size: 89px; line-height: 72px; }
  .al-seccao-cabecalho__titulo { font-size: 34px; line-height: 40px; }
}

/* Índice -------------------------------------------------------------------- */
.al-indice {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr));
  gap: 1px;
  background: var(--linha);
  border: 1px solid var(--linha);
}
.al-indice-item {
  display: flex;
  flex-direction: column;
  gap: var(--esp-8);
  min-height: var(--alvo-toque);
  padding: var(--esp-21);
  background: var(--fundo);
  color: var(--tinta);
  text-decoration: none;
  transition: background-color var(--al-t2) var(--al-ease);
}
.al-indice-item__topo { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--esp-13); }
.al-indice-item__numeral {
  font-family: var(--font-numerais);
  font-size: 34px;
  line-height: 34px;
  font-weight: 600;
  color: var(--tinta);
  font-variant-numeric: tabular-nums;
  transition: color var(--al-t1) var(--al-ease);
}
.al-indice-item__titulo { font-family: var(--font-display); font-size: 21px; line-height: 26px; font-weight: 500; }
.al-indice-item__sub { font-family: var(--font-texto); font-size: 17px; line-height: 25px; font-weight: 400; color: var(--tinta-suave); }
.al-indice-item:hover { background: var(--fundo-realce); }
.al-indice-item:hover .al-indice-item__numeral,
.al-indice-item:focus-visible .al-indice-item__numeral { color: var(--ouro-texto); }
.al-indice-item--conversao { background: var(--fundo-realce); box-shadow: var(--sombra-cartao); }
.al-indice-item--conversao .al-indice-item__numeral { color: var(--ouro-texto); }
.al-indice-item--conversao .al-indice-item__seta { width: 20px; height: 20px; color: var(--ouro-texto); }
.al-tag-video {
  display: inline-flex;
  align-items: center;
  gap: var(--esp-5);
  padding: var(--esp-3) var(--esp-8);
  border: 1px solid var(--linha-forte);
  border-radius: var(--raio-2);
  color: var(--tinta-suave);
}
.al-tag-video svg { width: 12px; height: 12px; }

/* Números (quadro de cronometragem) ---------------------------------------- */
.al-numeros {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));
  background: var(--fundo-abissal);
  color: var(--tinta-painel);
  padding: var(--esp-55) var(--esp-89);
}
.al-numero {
  display: flex;
  flex-direction: column;
  gap: var(--esp-13);
  position: relative;
  padding: 0 var(--esp-34);
}
.al-numero + .al-numero::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 1px; background: var(--linha-painel); }
.al-numero:first-child { padding-left: 0; }
.al-numero__rotulo { color: var(--tinta-painel-suave); }
.al-numero__valor {
  font-family: var(--font-numerais);
  font-size: 55px;
  line-height: 50px;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--ouro-painel);
  font-variant-numeric: tabular-nums;
}
.al-numero__texto { margin: 0; font-family: var(--font-texto); font-size: 17px; line-height: 25px; color: var(--tinta-painel); }
@media (max-width: 760px) {
  .al-numeros { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: var(--esp-34) var(--esp-21); }
  .al-numero { padding: var(--esp-21) var(--esp-13) var(--esp-21) 0; }
  .al-numero:nth-child(even) { padding: var(--esp-21) 0 var(--esp-21) var(--esp-13); border-left: 1px solid var(--linha-painel); }
  .al-numero:nth-child(-n+2) { border-bottom: 1px solid var(--linha-painel); }
  .al-numero:nth-child(-n+2) .al-numero__rotulo { min-height: 40px; }
  .al-numero + .al-numero::before { display: none; }
  .al-numero__valor { font-size: 47px; line-height: 44px; }
}

/* Painel -------------------------------------------------------------------- */
.al-painel {
  display: flex;
  flex-direction: column;
  gap: var(--esp-21);
  padding: var(--esp-34);
  background: var(--fundo-elevado);
  border: 1px solid var(--linha);
  border-top: 1px solid var(--ouro);
  border-radius: var(--raio-0);
  color: var(--tinta);
  box-shadow: var(--sombra-cartao);
}
.al-painel--instrumento { background: var(--painel); color: var(--tinta-painel); border-color: var(--linha-painel); border-top-color: var(--ouro); }
.al-painel__cap { font-family: var(--font-mono); font-size: 13px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ouro-texto); }
.al-painel--instrumento .al-painel__cap { color: var(--ouro-painel); }

/* Calendário de duas viagens ----------------------------------------------- */
.al-calendario {
  display: flex;
  flex-direction: column;
  gap: var(--esp-21);
  padding: var(--esp-34);
  background: var(--painel);
  border: 1px solid var(--linha-painel);
  border-top: 1px solid var(--ouro);
  color: var(--tinta-painel);
}
.al-calendario__cap { display: flex; justify-content: space-between; gap: var(--esp-13); color: var(--ouro-painel); }
.al-calendario__cap span + span { color: var(--tinta-painel-suave); }
.al-calendario__pista { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: var(--esp-13); }
.al-calendario__fim {
  font-family: var(--font-numerais);
  font-size: 44px;
  line-height: 44px;
  font-weight: 600;
  color: var(--ouro-painel);
  font-variant-numeric: tabular-nums;
}
.al-calendario__trilho {
  position: relative;
  height: var(--esp-21);
}
.al-calendario__trilho::before { content: ""; position: absolute; left: 0; right: 0; top: 10px; height: 1px; background: var(--ouro); }
.al-calendario__tick { position: absolute; top: 7px; width: 1px; height: 7px; background: var(--tinta-painel-suave); }
.al-calendario__tick--meio { left: 50%; top: 5px; height: 11px; background: var(--ouro-painel); }
.al-calendario__leitura {         /* na linha dos numerais, centrada sobre o ponto médio da pista */
  justify-self: center;
  padding: var(--esp-3) var(--esp-8);
  background: var(--painel);
  border: 1px solid var(--linha-ouro);
  border-radius: var(--raio-2);
  white-space: nowrap;
  font-family: var(--font-mono);
  font-size: 13px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ouro-painel);
}
.al-calendario__fins { display: flex; justify-content: space-between; gap: var(--esp-13); }
.al-calendario__fim-rotulo { color: var(--tinta-painel-suave); }
.al-calendario__fim-rotulo:last-child { text-align: right; }
.al-calendario__texto { margin: 0; font-family: var(--font-texto); font-size: 18px; line-height: 29px; color: var(--tinta-painel); }
.al-calendario__rodape { display: flex; align-items: center; gap: var(--esp-13); padding-top: var(--esp-21); border-top: 1px solid var(--linha-painel); color: var(--tinta-painel-suave); }

/* Cartão de vídeo ----------------------------------------------------------- */
.al-video-card {
  display: flex;
  flex-direction: column;
  margin: 0;
  background: var(--fundo-elevado);
  border: 1px solid var(--linha);
  box-shadow: var(--sombra-cartao);
  transition: box-shadow var(--al-t3) var(--al-ease);
}
.al-video-card:hover { box-shadow: var(--sombra-cartao-ativo); }
.al-video-card__poster { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: var(--painel); border-bottom: 1px solid var(--linha-ouro); }
.al-video-card--retrato .al-video-card__poster { aspect-ratio: 9 / 16; }
.al-video-card__poster img { display: block; width: 100%; height: 100%; object-fit: cover; background: var(--painel); }
.al-video-card__badge {
  position: absolute;
  left: var(--esp-13);
  top: var(--esp-13);
  padding: var(--esp-3) var(--esp-8);
  background: var(--fundo-abissal);
  border-radius: var(--raio-2);
  color: var(--tinta-painel);
}
.al-video-card__play {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--alvo-play);
  height: var(--alvo-play);
  padding: 0;
  border: 0;
  border-radius: var(--raio-circulo);
  background: var(--tinta-painel);
  color: var(--sobre-ouro);
  cursor: pointer;
  transition: box-shadow var(--al-t2) var(--al-ease);
}
.al-video-card__play svg { width: 24px; height: 24px; margin-left: 3px; }
.al-video-card__play:hover,
.al-video-card__play:focus-visible { box-shadow: 0 0 0 var(--esp-3) var(--ouro-painel); outline: none; }
.al-video-card__legenda { display: flex; flex-direction: column; gap: var(--esp-8); padding: var(--esp-21); }
.al-video-card__titulo-badge { font-family: var(--font-mono); font-size: 13px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ouro-texto); }
.al-video-card__titulo { margin: 0; font-family: var(--font-display); font-size: 21px; line-height: 26px; font-weight: 500; color: var(--tinta); text-wrap: pretty; }
.al-video-card__byline { color: var(--tinta-suave); }

/* Preços (folha de tempos) -------------------------------------------------- */
.al-precos {
  width: 100%;
  border-collapse: collapse;
  background: var(--painel);
  color: var(--tinta-painel);
  font-variant-numeric: tabular-nums;
}
.al-precos th { padding: var(--esp-21) var(--esp-21) var(--esp-13); text-align: left; font-weight: 400; color: var(--tinta-painel-suave); border-bottom: 1px solid var(--linha-painel); }
.al-precos td { padding: var(--esp-21); vertical-align: middle; border-bottom: 1px solid var(--linha-painel); }
.al-precos tr:last-child td { border-bottom: 0; }
.al-precos__pos { width: var(--esp-55); font-family: var(--font-numerais); font-size: 34px; line-height: 34px; font-weight: 600; color: var(--ouro-painel); }
.al-precos__tratamento { font-family: var(--font-display); font-size: 24px; line-height: 29px; color: var(--tinta-painel); }
.al-precos__preco { font-family: var(--font-numerais); font-size: 44px; line-height: 44px; font-weight: 600; letter-spacing: -0.01em; color: var(--ouro-painel); white-space: nowrap; }
.al-precos__unidade { font-size: 21px; font-weight: 500; color: var(--tinta-painel-suave); }
.al-precos__duracao { font-family: var(--font-mono); font-size: 14px; line-height: 21px; letter-spacing: 0.02em; color: var(--tinta-painel); }
@media (max-width: 760px) {
  .al-precos thead { display: none; }
  .al-precos tr { display: grid; grid-template-columns: auto 1fr; gap: var(--esp-8) var(--esp-13); padding: var(--esp-21); border-bottom: 1px solid var(--linha-painel); }
  .al-precos td { padding: 0; border: 0; }
  .al-precos__pos { grid-row: span 3; }
}

/* FAQ ----------------------------------------------------------------------- */
.al-faq-item { border-bottom: 1px solid var(--linha); color: var(--tinta); }
.al-faq-item summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--esp-21);
  min-height: var(--alvo-toque);
  padding: var(--esp-21) 0;
  list-style: none;
  cursor: pointer;
  font-family: var(--font-display);
  font-size: 21px;
  line-height: 26px;
  font-weight: 500;
  transition: color var(--al-t1) var(--al-ease);
}
.al-faq-item summary::-webkit-details-marker { display: none; }
.al-faq-item summary svg { width: 24px; height: 24px; flex: none; color: var(--ouro-texto); transition: transform var(--al-t3) var(--al-ease); }
.al-faq-item summary:hover { color: var(--ouro-texto); }
.al-faq-item[open] summary svg { transform: rotate(180deg); }
.al-faq-item__resposta { margin: 0; padding: 0 0 var(--esp-21); font-family: var(--font-texto); font-size: 18px; line-height: 29px; color: var(--tinta); max-width: var(--largura-texto); }

/* Voz ----------------------------------------------------------------------- */
.al-voz {
  display: flex;
  flex-direction: column;
  gap: var(--esp-21);
  margin: 0;
  padding: var(--esp-34) 0 0;
  border-top: 1px solid var(--linha);
  color: var(--tinta);
}
.al-voz blockquote { margin: 0; font-family: var(--font-display); font-size: 29px; line-height: 35px; font-weight: 400; letter-spacing: -0.01em; text-wrap: pretty; }
.al-voz figcaption { display: flex; flex-direction: column; gap: var(--esp-3); font-family: var(--font-texto); font-size: 18px; line-height: 29px; }
.al-voz__nome { font-weight: 500; }
.al-voz__cidade { font-family: var(--font-mono); font-size: 13px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--tinta-suave); }

/* Auditoria ----------------------------------------------------------------- */
.al-auditoria-card {
  display: flex;
  flex-direction: column;
  gap: var(--esp-21);
  padding: var(--esp-34);
  background: var(--fundo-elevado);
  border: 1px solid var(--linha);
  border-top: 1px solid var(--ouro);
  box-shadow: var(--sombra-cartao);
}
.al-auditoria-card__pergunta { margin: 0; font-family: var(--font-display); font-size: 21px; line-height: 26px; font-weight: 500; color: var(--tinta); }
.al-auditoria-card__colunas { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); gap: var(--esp-21); }
.al-auditoria-card__coluna { display: flex; flex-direction: column; gap: var(--esp-8); padding-top: var(--esp-13); border-top: 1px solid var(--linha-fraca); }
.al-auditoria-card__rotulo { display: inline-flex; align-items: center; gap: var(--esp-8); }
.al-auditoria-card__rotulo svg { width: 20px; height: 20px; flex: none; }
.al-auditoria-card__texto { margin: 0; font-family: var(--font-texto); font-size: 18px; line-height: 29px; }
.al-auditoria-card__coluna--contra { color: var(--contra); }
.al-auditoria-card__coluna--pro { color: var(--pro); }

/* Rodapé legal -------------------------------------------------------------- */
.al-rodape-legal {
  display: flex;
  flex-direction: column;
  gap: var(--esp-21);
  padding: var(--esp-55) var(--esp-89);
  background: var(--fundo);
  border-top: 1px solid var(--linha);
  color: var(--tinta-suave);
  font-family: var(--font-texto);
  font-size: 17px;
  line-height: 25px;
}
.al-rodape-legal p { margin: 0; }
.al-rodape-legal__entidade { color: var(--tinta); }
.al-rodape-legal__clinicas { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)); gap: var(--esp-21); padding: var(--esp-21) 0; border-top: 1px solid var(--linha-fraca); border-bottom: 1px solid var(--linha-fraca); }
.al-rodape-legal a { color: var(--tinta); text-underline-offset: 3px; }
.al-rodape-legal a:hover { color: var(--ouro-texto); }
@media (max-width: 760px) { .al-rodape-legal { padding: var(--esp-34) var(--esp-21) calc(var(--barra-chamada) + var(--esp-34)); } }

/* Barra de chamada (telemóvel) --------------------------------------------- */
.al-barra-chamada {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10;
  display: grid;
  grid-template-columns: 1.618fr 1fr;
  height: calc(var(--barra-chamada) + env(safe-area-inset-bottom, 0px));
  padding-bottom: env(safe-area-inset-bottom, 0px);
  background: var(--fundo-abissal);
  border-top: 1px solid var(--linha-painel);
  box-shadow: var(--sombra-barra);
}
.al-barra-chamada a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--esp-8);
  min-height: var(--barra-chamada);
  text-decoration: none;
  font-family: var(--font-texto);
  font-size: 18px;
  font-weight: 500;
  color: var(--tinta-painel);
}
.al-barra-chamada a:first-child { background: var(--ouro); color: var(--sobre-ouro); }
.al-barra-chamada a:first-child:hover { background: var(--ouro-ativo); }
.al-barra-chamada a + a:hover { color: var(--ouro-painel); }
.al-barra-chamada svg { width: 20px; height: 20px; }
.al-barra-chamada a:focus-visible { outline: 2px solid var(--ouro-painel); outline-offset: -4px; }
@media (min-width: 761px) { .al-barra-chamada { display: none; } }

/* Movimento reduzido -------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  [class*="al-"], [class*="al-"] * { transition: none !important; animation: none !important; }
}
