/* Paleta comum: preto, grafite e vermelho Car Academy. */
:root {
  color-scheme: dark;
  --ink: #f3f4f6;
  --muted: #b1b5bd;
  --line: #ffffff1f;
  --paper: #171a1e;
  --surface: #101215;
  --surface-raised: #1d2126;
  --red: #d40e1e;
  --accent: #d40e1e;
}
body, .legal-page { background: var(--surface); color: var(--ink); }
::selection { background: #a90019; color: #fff; }
a:focus-visible, button:focus-visible { outline-color: var(--accent); }
.skip { background: #fff; color: #16181a; }

.header { background: #101215; border-bottom-color: var(--line); }
.header .brand { padding: 6px 10px; border-radius: 0; background: transparent; }
.header nav > a { color: #e5e7eb; }
.header nav > a:hover { color: #fff; }
.menu-toggle { background: var(--surface-raised); border-color: #ffffff38; color: var(--ink); }

.hero { background: var(--surface); }
.hero-shade { background: linear-gradient(90deg, #101215 0%, #101215eb 32%, #1012158a 64%, #10121540); }
.hero-bottom { border-color: var(--line); }
.eyebrow { color: #c4c7ce; }
.about h2 .muted, .training-heading h2 > span { color: var(--accent); }
.about-copy .lead { color: var(--ink); }

.areas {
  background: linear-gradient(135deg, #1c171b, #171a1e 55%);
  border-block: 1px solid var(--line);
}
.area-card, .area-card:first-child, .area-card:nth-child(2) {
  background: var(--surface-raised);
  color: var(--ink);
  border: 1px solid #ffffff1f;
  border-top: 3px solid #d40e1e;
}
.area-card:first-child {
  background: linear-gradient(145deg, #3a1b24, #251b21);
  border-top-color: #d40e1e;
}
.area-card:nth-child(2) { background: #22272d; border-top-color: #687581; }
.area-card:nth-child(3) { background: #1c2025; }
.area-card p, .area-card:nth-child(-n+2) p { color: #c6c9d0; }
.area-card svg, .area-card:nth-child(-n+2) svg { color: var(--accent); }
.card-top { color: #e1e3e8; }

.training-section { background: var(--surface); }
.training-image { background: var(--surface-raised); border: 1px solid var(--line); border-radius: 12px; }
.training-label { color: #c2c6ce; }
.training-digital-link > span[aria-hidden], .contact-map span[aria-hidden] { color: var(--accent); }
.training-digital-link:hover, .contact-map:hover, .contact-value:hover { color: var(--accent); }

.support { background: #171a1e; border-top: 1px solid #a82a3e; border-bottom: 1px solid var(--line); }
.support h2 > span { color: #c5c8cf; }
.tech-panel { background: #20242a; border-color: #ffffff24; }
.tech-features span { background: #ffffff06; border-color: #ffffff26; color: #d3d6dc; }
.button.white { background: var(--red); color: #fff; }
.button.white:hover { background: #ad0016; }
.summit { border: 1px solid #ffffff1f; }

.contact-section { background: #171a1e; border-top: 1px solid var(--line); }
.contact-item h3, .contact-schedule h3 { color: #c2c6ce; }
.contact-heading .red-dot { color: var(--accent); }
.credentials-section { background: #131519; }
.credentials-section .funding-statement { color: var(--muted); }
.certification .text-link { color: #e5e7eb; }
.certification .text-link:hover, .funding-project:hover { color: var(--accent); }
/* Os PNG originais já têm transparência; retirar apenas as bases brancas. */
.site-footer-identity .brand,
.complaints-link { background: transparent; border-radius: 0; }
.site-footer { background: #0c0e11; border-top-color: var(--line); }
.site-footer-social a { background: #1b1e23; border-color: #ffffff24; }
.site-footer-social a:hover { background: #30353d; }
.legal-scope { background: #1b1f24; }

@media (hover: hover) and (pointer: fine) {
  .area-card:hover { box-shadow: 0 20px 38px #0006, 0 0 0 1px #d40e1e2b; }
  .button:hover { box-shadow: 0 10px 24px #0005; }
}
@media (max-width: 1024px) {
  .header nav { background: #15181c; border-bottom: 1px solid var(--line); box-shadow: 0 16px 24px #0005; }
  .hero-shade { background: linear-gradient(90deg, #101215ed, #101215bd 60%, #10121580); }
}

/* Curva de luminosidade suave para os detalhes escuros, mantendo a transparência. */
.logo-display-filters { position: absolute; overflow: hidden; pointer-events: none; }
.complaints-link img { filter: url(#logo-dark-background); }

/* Certificação: cores do ficheiro utilizado, sem correção de luminosidade. */
.certification .dgert-logo { filter: none; mix-blend-mode: normal; }

/* TechMaster centrado no painel, em todas as larguras. */
.tech-panel { text-align: center; }
.tech-panel .tech-logo { margin-inline: auto; }
.tech-logo-link { display: block; width: fit-content; max-width: 100%; margin: 25px auto; }
.tech-logo-link .tech-logo { margin-block: 0; }
.tech-features { justify-content: center; }

/* Localização integrada na secção de contactos. */
.contact-map-embed {
  margin-top: 32px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: #202124;
  color-scheme: light;
}
.contact-map-embed iframe {
  display: block;
  width: 100%;
  height: 380px;
  border: 0;
  filter: invert(90%) hue-rotate(180deg) saturate(.8);
}
.contact-map-embed:focus-within { outline: 2px solid var(--accent); outline-offset: 4px; }
@media (max-width: 580px) {
  .contact-map-embed { margin-top: 26px; border-radius: 14px; }
  .contact-map-embed iframe { height: 320px; }
}

/* Vermelho do logótipo fornecido: RGB 212, 14, 30. */
.header .brand-logo, .site-footer-identity .brand img { filter: none; }
.summit { --summit-red: var(--red); --summit-highlight: var(--red); }
.site-footer a:focus-visible { outline-color: var(--red); }
.legal-heading .eyebrow { color: var(--ink); }
.legal-copy li::marker { color: var(--red); }
.legal-copy a, .legal-scope a { color: var(--ink); text-decoration-color: var(--red); }
/* Ligações pequenas mantêm contraste; o vermelho destaca a linha e os ícones. */
.training-digital-link:hover, .contact-map:hover, .contact-value:hover,
.certification .text-link:hover, .funding-project:hover { color: #fff; text-decoration-color: var(--red); }

/* DGERT principal negativa extraída do manual; PRR na versão branca oficial. */
.certification-mark, .institution-mark.certification-dgert { background: transparent; padding: 24px; }
.certification .dgert-logo { height: 90px; width: auto; max-width: none; }
.credentials-section .funding-viewport { width: 100%; max-width: var(--funding-width, 650px); background: transparent; }
.credentials-section .funding-strip { width: 100%; min-width: 0; max-width: 100%; height: auto; padding: clamp(0px, calc((100vw - 580px) * .063), 24px); background: transparent; filter: none; mix-blend-mode: normal; opacity: 1; }
