/**
 * Menu público dua — mesmo markup em index, projetos, contactos, orçamentos e includes PHP.
 * Usa classe .dua-site-nav (evita conflito com Bootstrap .nav nas páginas com bootstrap).
 */
/* Marca «dua»: o «a» final em dourado (usar du<span class="dua-accent-a">a</span>) */
.dua-accent-a {
  color: var(--dua-nav-accent, #ffd700);
  font-weight: 400;
}

:root {
  --dua-nav-bg: var(--bg, #0a0a0a);
  --dua-nav-line: var(--line, #222326);
  --dua-nav-text: var(--text, #e8eaed);
  --dua-nav-link: var(--link, #cbd5e1);
  --dua-nav-accent: var(--accent, #ffd700);
  --dua-nav-muted: var(--muted, #9aa0a6);
  --dua-nav-maxw: var(--maxw, 1100px);
  --dua-nav-pad: var(--pad, clamp(16px, 2vw, 28px));
  --dua-brand-mark-size: 22px;
}

body.dua-area .dua-site-header,
body.dua-area .dua-site-breadcrumb-wrap {
  --dua-nav-bg: var(--dua-bg);
  --dua-nav-line: var(--dua-line);
  --dua-nav-text: var(--dua-text);
  --dua-nav-link: var(--dua-link);
  --dua-nav-accent: var(--dua-accent);
  --dua-nav-muted: var(--dua-muted);
  /* --dua-nav-maxw / --dua-nav-pad: body.dua-area (dua-area-theme.css) */
}

.dua-site-header {
  position: sticky;
  top: 0;
  z-index: 2100;
  backdrop-filter: blur(8px);
  background: color-mix(in oklab, var(--dua-nav-bg), transparent 30%);
  border-bottom: 1px solid var(--dua-nav-line);
}

.dua-site-header .dua-site-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.35rem 0.85rem;
  max-width: var(--dua-nav-maxw);
  margin: 0 auto;
  padding: 0.6rem var(--dua-nav-pad);
}

.dua-site-header .brand {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  color: var(--dua-nav-text);
  text-decoration: none;
}

.dua-site-header .brand svg,
.dua-site-header .brand .dua-brand-mark {
  width: var(--dua-brand-mark-size);
  height: var(--dua-brand-mark-size);
  flex-shrink: 0;
}
/* Cruz / + da marca: amarelo dourado da marca (círculo mantém currentColor do texto) */
.dua-site-header .brand .dua-brand-mark-plus {
  stroke: var(--dua-nav-accent, #ffd700);
  stroke-width: 1.5;
}
.dua-site-header .brand img.dua-brand-mark {
  width: var(--dua-brand-mark-size);
  height: var(--dua-brand-mark-size);
  display: block;
  object-fit: contain;
}

.dua-site-header .brand .title {
  font-weight: 400;
  letter-spacing: 0.08em;
  text-transform: lowercase;
}

.dua-site-header .dua-nav-end {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.35rem 0.85rem;
  flex: 1 1 auto;
  min-width: 0;
}

.dua-site-header .dua-nav-end .nav-links {
  max-width: min(100%, 52rem);
}

.dua-site-header .nav-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.85rem;
  align-items: center;
  justify-content: flex-end;
  list-style: none;
  margin: 0;
  padding: 0;
  max-width: min(100%, 52rem);
}

.dua-site-header .nav-links a {
  font-size: 0.88rem;
  letter-spacing: 0.06em;
  text-transform: lowercase;
  padding: 0.4rem 0.55rem;
  border-radius: 0.5rem;
  color: var(--dua-nav-link);
  text-decoration: none;
}

.dua-site-header .nav-links a:hover,
.dua-site-header .nav-links a:focus-visible {
  background: color-mix(in oklab, var(--dua-nav-line), transparent 35%);
  text-decoration: none;
  color: var(--dua-nav-accent);
  font-weight: 400;
}

.dua-site-header .nav-links a[aria-current="page"] {
  background: color-mix(in oklab, var(--dua-nav-line), transparent 35%);
  text-decoration: none;
  color: var(--dua-nav-accent);
  font-weight: 400;
}

.dua-site-header .dua-nav-end form {
  margin: 0;
  flex-shrink: 0;
}

@media (max-width: 720px) {
  .dua-site-header .dua-site-nav {
    flex-direction: column;
    align-items: stretch;
    gap: 0.75rem;
  }
  .dua-site-header .nav-links,
  .dua-site-header .dua-nav-end .nav-links {
    justify-content: center;
    max-width: none;
  }
  .dua-site-header .dua-nav-end {
    flex-direction: column;
    align-items: stretch;
  }
}

/* Saltar para o conteúdo (acessibilidade) */
.skip-link {
  position: absolute;
  left: -999px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.skip-link:focus {
  position: fixed;
  left: var(--dua-nav-pad);
  top: var(--dua-nav-pad);
  width: auto;
  height: auto;
  padding: 0.5rem 0.75rem;
  background: #222;
  color: #fff;
  border-radius: 0.5rem;
  z-index: 3000;
}

/* Fil de Ariadne (canto superior esquerdo, como na área reservada) */
.dua-site-breadcrumb-wrap {
  max-width: var(--dua-nav-maxw);
  margin: 0 auto;
  padding: 0.55rem var(--dua-nav-pad) 0.65rem;
  border-bottom: 1px solid color-mix(in oklab, var(--dua-nav-line), transparent 40%);
  background: color-mix(in oklab, var(--dua-nav-bg), transparent 50%);
}

.dua-site-breadcrumb {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
  font-size: 0.82rem;
  letter-spacing: 0.03em;
}

.dua-site-breadcrumb li {
  display: inline-flex;
  align-items: center;
}

.dua-site-breadcrumb li + li::before {
  content: "/";
  display: inline-block;
  margin: 0 0.5rem;
  color: color-mix(in oklab, var(--dua-nav-link), transparent 35%);
  font-weight: 400;
}

.dua-site-breadcrumb a {
  color: var(--dua-nav-link);
  text-decoration: none;
}

.dua-site-breadcrumb a:hover,
.dua-site-breadcrumb a:focus-visible {
  color: var(--dua-nav-accent);
  text-decoration: underline;
  text-underline-offset: 0.15em;
  font-weight: 400;
}

.dua-site-breadcrumb li[aria-current="page"] {
  color: var(--dua-nav-muted);
  font-weight: 500;
}

/* Nikoovers: o ficheiro de fonte tem uma só peso — evitar negrito sintético (fica desfocado) */
html {
  font-synthesis: none;
}
