/* afz-geral-v1 — correccoes fora da pagina inicial. Aprovado pelo dono a 17-09-2026.
   Reversivel: apagar este ficheiro e o bloco afz-geral do functions.php. */

/* 1. Paginas legais e de acessibilidade: o titulo estava a 80 px e o bloco do topo
      passava dos 780 px de altura — num portatil de 768 px o texto ficava cortado
      e nao se via o subtitulo. Passa a ter tecto. */
html body .afz-legal-proposal .hero h1,
html body .afz-accessibility-proposal .hero h1 {
  font-size: clamp(1.9rem, 3.1vw, 2.8rem) !important;
  line-height: 1.1 !important;
  margin-bottom: .6em !important;
}
html body .afz-legal-proposal .hero .hero-kicker,
html body .afz-legal-proposal .hero .kicker,
html body .afz-accessibility-proposal .hero .hero-kicker,
html body .afz-accessibility-proposal .hero .kicker {
  font-size: clamp(11px, 1vw, 13px) !important;
}
html body .afz-legal-proposal .hero p,
html body .afz-legal-proposal .hero .hero-sub,
html body .afz-accessibility-proposal .hero p,
html body .afz-accessibility-proposal .hero .hero-sub {
  font-size: clamp(.95rem, 1.15vw, 1.1rem) !important;
  line-height: 1.5 !important;
}
html body .afz-legal-proposal .hero,
html body .afz-accessibility-proposal .hero {
  min-height: 0 !important;
  padding-top: clamp(80px, 9vh, 120px) !important;
  padding-bottom: clamp(40px, 6vh, 80px) !important;
}

/* 2. Cartoes com fotografia (Sobre Nos e outras paginas com os mesmos cartoes):
      a fotografia cobre o espaco, sem moldura beje nem espaco morto. */
html body img[src*="afz-home-v4/afz-card-"] {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 10 !important;
  object-fit: cover !important;
  object-position: center !important;
  padding: 0 !important;
  background: #1a0a10 !important;
  border-radius: 10px !important;
}

/* 3. Bloco final «Precisa de apoio em engenharia MEP?»: o titulo estava a 72 px e
      o bloco com 749 px de altura. Letras um pouco menores e fotografia melhor
      enquadrada (o enquadramento sobe, para nao cortar o edificio ao meio). */
html body .mep-cta h2,
html body .ab-cta h2 {
  font-size: clamp(1.8rem, 2.9vw, 2.6rem) !important;
  line-height: 1.12 !important;
}
html body .mep-cta p,
html body .ab-cta p {
  font-size: clamp(1rem, 1.2vw, 1.12rem) !important;
  line-height: 1.55 !important;
}
html body .mep-cta { min-height: 0 !important; }
html body .mep-cta img { object-position: center 38% !important; }

/* 4. «Areas tecnicas» do Sobre Nos: cartoes 20 % mais pequenos, de forma
      equilibrada — a largura desce de 310 para 248 px e o texto acompanha. */
@media (min-width: 900px) {
  html body .ab-area-track .ab-area-card {
    flex: 0 0 248px !important;
    width: 248px !important;
  }
  html body .ab-area-card h3 { font-size: .92em !important; }
  html body .ab-area-card p { font-size: .92em !important; line-height: 1.45 !important; }
}

/* 6. Bloco final da pagina Sobre Nos inglesa: fotografia a esquerda do texto,
      como na versao portuguesa. */
@media (min-width: 900px) {
  html body .ab-cta .ab-cta-inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr) !important;
    gap: 40px !important;
    align-items: center !important;
    max-width: 1100px !important;
    text-align: left !important;
  }
}
html body .afz-cta-foto {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center 38%;
  border-radius: 12px;
  display: block;
}

/* afz-regras-cartoes-sobre-nos */
/* Regras dos cartoes com fotografia, copiadas da pagina Sobre Nos portuguesa,
   para a versao inglesa que nao as tinha. */
.ab-area-track{display:flex;gap:32px;overflow-x:auto;overflow-y:hidden;margin-top:42px;padding:12px 6px 28px;scroll-snap-type:x proximity;scrollbar-width:thin;cursor:grab;touch-action:pan-y}
.ab-area-track.is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}
.ab-area-card{position:relative;display:flex;flex:0 0 min(310px,80vw);width:min(310px,80vw);min-height:460px;flex-direction:column;overflow:hidden;border:1px solid rgba(26,10,14,.1);border-radius:8px;background:linear-gradient(135deg,#f5c13c,#eab11e);color:#1a0a0e;text-decoration:none;scroll-snap-align:center;box-shadow:0 4px 16px rgba(234,177,30,.2);transition:background .25s ease,transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.ab-area-card:hover,.ab-area-card:focus-visible,.ab-area-card.is-selected{transform:translateY(-5px);border-color:var(--brand);background:#fff;box-shadow:0 14px 36px rgba(139,43,49,.2)}
.ab-area-card:focus-visible{outline:4px solid var(--brand);outline-offset:3px}
.ab-area-image{width:100%;height:176px;overflow:hidden;background:#f7ece2;box-shadow:inset 0 -3px 0 var(--brand)}
.ab-area-image img{width:100%;height:100%;padding:10px;object-fit:contain;display:block;transition:transform .4s ease}
.ab-area-card:hover .ab-area-image img,.ab-area-card:focus-visible .ab-area-image img,.ab-area-card.is-selected .ab-area-image img{transform:scale(1.03)}
.ab-area-num{position:absolute;z-index:2;top:14px;left:16px;padding:4px 9px;border:1px solid rgba(139,43,49,.25);border-radius:5px;background:rgba(245,193,60,.95);color:var(--brand-d);font-family:var(--fh);font-weight:700}
.ab-area-icon{display:flex;width:46px;height:46px;align-items:center;justify-content:center;margin:22px 24px 16px;border-radius:8px;background:var(--brand);color:#fff}
.ab-area-icon svg{width:25px;height:25px}
.ab-area-card h3{margin:0;padding:0 24px 10px;color:#1a0a0e;font-size:1rem;line-height:1.35}
.ab-area-card p{margin:0;padding:0 24px;color:#3a2428;font-size:.86rem;line-height:1.6}
.ab-area-link{display:inline-flex;width:fit-content;margin:auto 24px 24px;padding-top:18px;border-bottom:1px solid var(--brand-d);color:var(--brand-d);font-size:.78rem;font-weight:700}

/* 8. Sobre Nos (18-09-2026): a barra de deslocamento horizontal da lugar a quatro botoes
      |<<  <  >  >>| (inicio, anterior, seguinte, fim). O arrastar mantem-se. */
html body .ab-area-track { scrollbar-width: none !important; -ms-overflow-style: none; padding-bottom: 12px !important; }
html body .ab-area-track::-webkit-scrollbar { display: none !important; }
.afz-fila-nav { display: flex; justify-content: center; gap: 10px; margin: 18px 0 0; }
.afz-fila-nav button { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--brand, #8b2b31); border-radius: 50%; background: #fff; color: var(--brand, #8b2b31); font: 700 15px/1 Inter, system-ui, sans-serif; letter-spacing: -.12em; cursor: pointer; transition: background .2s ease, color .2s ease, opacity .2s ease; }
.afz-fila-nav button:hover:not(:disabled), .afz-fila-nav button:focus-visible { background: var(--brand, #8b2b31); color: #fff; }
.afz-fila-nav button:focus-visible { outline: 3px solid #f5c13c; outline-offset: 2px; }
.afz-fila-nav button:disabled { opacity: .35; cursor: default; }
