/* Acessibilidade geral (spec euromoveis-pacote-20261001, fase C). Posta em todas as páginas pelo evento do rodapé. */
/* Mês no selo da data dos cartões do blog: #b0c6c8 sobre #195c5b dava 4,31:1 (mínimo 4,5:1 para 11 px). Mesmo tom, mais claro: 5,7:1. */
.p-date em { color: #d2e0e1; }
/* setas dos carrosséis, agora alcançáveis pelo teclado: contorno de foco visível */
.swiper-button-prev[data-em-seta]:focus-visible, .swiper-button-next[data-em-seta]:focus-visible { outline: 3px solid #fff; outline-offset: 2px; box-shadow: 0 0 0 5px #195c5b; }
/* «Onde é o serviço» no Contactos (formularios.php, contactoForm; em-contacto-onde.js) */
/* 02/10 à noite: cartões só nos assuntos que os pedem (sempre obrigatórios), numa linha do Journal (alinhados com as caixas
   no computador, a toda a largura no telemóvel), título ao nível dos títulos de secção da página («Horários»: 16px/600) */
.em-contacto-onde .em-contacto-linha .em-onde { margin: 0; }
.em-contacto-onde .em-onde__titulo { font-size: 16px; font-weight: 600; line-height: 1.3; letter-spacing: 0; text-transform: none; color: #1c2021; }
/* o Journal tira o espaço de cima ao 1.º .form-group de um grupo: com «Agendar visita» o 1.º cartão encostava ao Assunto.
   16px = o intervalo medido entre as linhas do Journal (360 e 1280 px). No telemóvel a etiqueta vazia não ocupa altura. */
.em-contacto-onde > .em-contacto-linha { margin-top: 16px; }
@media (max-width: 767px) { .em-contacto-onde .em-contacto-linha > .control-label { display: none; } }
.em-contacto-onde .em-contacto-visita__pergunta { display: block; margin: 6px 0 8px; font-weight: 600; }
/* o CSS do formulário do Journal anula o atributo hidden: dentro do bloco, escondido é escondido */
.em-contacto-onde [hidden] { display: none !important; }
.em-contacto-onde .form-group.em-onde__campo { margin-bottom: 10px; }
/* cada campo tem .form-group (para os erros do Journal aparecerem no sítio), mas SEM a disposição do Journal
   (etiqueta à esquerda): dentro do bloco, empilhado e a toda a largura, como nos outros formulários */
.em-contacto-onde .form-group.em-onde__campo { display: block !important; margin-left: 0 !important; margin-right: 0 !important; margin-top: 0 !important; width: auto !important; }
.em-contacto-onde .form-group.em-onde__campo > label, .em-contacto-onde .form-group.em-onde__campo > .em-onde__rotulo { display: block !important; width: auto !important; max-width: none !important; flex: none !important; padding: 0 !important; margin: 0 0 6px !important; text-align: left !important; }
.em-contacto-onde .form-group.em-onde__campo .form-control, .em-contacto-onde .em-cb, .em-contacto-onde .em-cb input { width: 100% !important; max-width: none !important; }
/* fundo do Contactos na coluna das caixas (03/10): no telemóvel a etiqueta vazia não ocupa altura */
@media (max-width: 767px) { .em-contacto-linha-fim > label.control-label[aria-hidden="true"]:empty, .module-form-20 .form-group.captcha > label.control-label[aria-hidden="true"]:empty { display: none; } }
.em-contacto-linha-fim .checkbox { margin-top: 0; }
.buttons > .form-group.em-contacto-linha-fim { flex: 1 1 100%; width: 100%; max-width: 100%; }
.buttons:has(> .em-contacto-linha-fim) { margin-top: 10px; }
/* rodapé no telemóvel (Nelson, 03/10): as ligações das colunas quebram linha em vez de ficarem cortadas («…») */
@media (max-width: 767px) {
  footer .module-catalog .module-subitem a, footer .module-catalog .item-content > a, footer .module-catalog .catalog-title { white-space: normal; overflow: visible; text-overflow: clip; }
}
@media (max-width: 767px) { .buttons:has(> .em-contacto-linha-fim) { margin-top: 0; } }

/* ── Página nunca mais larga do que o ecrã (04/10/2026, pedido do Nelson) ──
   Vários carrosséis do tema (sliders 925 e 1150, produtos 867 e 1226) estão configurados com overflow:visible para
   os diapositivos «espreitarem» — e nenhum contentor acima os cortava: a página inicial chegava a 4× a largura do
   ecrã (5064 px a 1266), com faixa branca à direita. Corta-se só o que passa da JANELA; dentro dela o desenho dos
   carrosséis fica igual. «clip» no body não cria contentor de scroll (o cabeçalho fixo continua a funcionar). */
html { overflow-x: hidden; }
body { overflow-x: clip; }

/* ── Faixa verde do topo: UMA mensagem de cada vez, em qualquer largura (04/10/2026, pedido do Nelson) ──
   Cada mensagem do slider 925 tem 800 px e o tema põe o contentor em overflow:visible — nos ecrãs largos viam-se 2 a 4
   mensagens lado a lado (medido: 3 a 1266/1440/1920/2000, 4 a 2560). Esconde-se o que sai da mensagem activa. */
html body .module-slider-925 .slider-wrapper > .swiper-container { overflow: hidden !important; }
