/* ==========================================================================
   Header / Nav — BarberSy
   Mobile-first: estilos base para mobile, media queries adicionam desktop.
   ========================================================================== */

/* ── Wrapper do header ───────────────────────────────────────────────────── */
.site-header {
  position: absolute; /* Flutua sobre o hero */
  top: var(--space-4);
  z-index: 100;

  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: var(--radius-lg);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.22);

  /* Fundo translúcido com desfoque neutro (Glassmorphism) */
  background-color: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);

  /* Ocupa a largura total no mobile com margem lateral */
  width: calc(100% - var(--space-8));
  margin-inline: var(--space-4);
}

/* ── Nav interno ─────────────────────────────────────────────────────────── */
.nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: var(--nav-height);
  padding-inline: clamp(var(--space-4), 3vw, var(--space-8));
}

/* ── Logo ────────────────────────────────────────────────────────────────── */
.nav__logo {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}

.nav__logo-img {
  width: 1.875rem;   /* 30px em rem — respeita zoom do usuário */
  height: 1.875rem;
  flex-shrink: 0;
}

.nav__logo-name {
  font-size: var(--text-xl);
  font-weight: var(--font-medium);
  line-height: 1;
  padding-bottom: 1px; /* alinhamento óptico com a imagem */
  color: #ffffff; /* Letra branca para contraste */
}

/* ── Links de navegação ──────────────────────────────────────────────────── */
.nav__links {
  display: none;
  align-items: center;
  gap: clamp(var(--space-6), 3.5vw, var(--space-12));
}

.nav__link {
  font-size: var(--text-base);
  color: rgba(255, 255, 255, 0.7); /* Branco suave translúcido */
  padding-block: var(--space-2);
  transition: color var(--transition-base);

  /* Underline animado centralizado em branco */
  background-image: linear-gradient(#ffffff, #ffffff);
  background-repeat: no-repeat;
  background-size: 0% 2px;
  background-position: center bottom;
}

.nav__link:hover {
  color: #ffffff;
  background-size: 50% 2px;
}

/* Estado ativo: link da página atual */
.nav__link[aria-current='page'] {
  color: #ffffff;
  background-size: 50% 2px;
}

/* ── Botão "Acessar Dashboard" ───────────────────────────────────────────── */
.nav__cta {
  display: flex;
  align-items: center;
  gap: var(--space-2);

  font-size: var(--text-sm);
  font-weight: var(--font-regular);
  color: #ffffff; /* Texto branco */

  border: 1px solid rgba(255, 255, 255, 0.35); /* Borda branca translúcida */
  border-radius: var(--radius-md);
  padding: var(--space-2) var(--space-3);
  background-color: rgba(255, 255, 255, 0.02);

  transition:
    border-color var(--transition-base),
    background-color var(--transition-base);
}

.nav__cta:hover {
  border-color: #ffffff;
  background-color: rgba(255, 255, 255, 0.1);
}

/* Micro-animação no ícone ao hover */
.nav__cta-icon {
  font-size: var(--text-sm);
  color: rgba(255, 255, 255, 0.8);
  transition:
    transform var(--transition-base),
    color var(--transition-base);
}

.nav__cta:hover .nav__cta-icon {
  transform: translate(2px, -2px);
  color: #ffffff;
}

/* ── Media query: desktop (≥ 768px) ─────────────────────────────────────── */
@media (min-width: 768px) {
  .nav__links {
    display: flex;
  }
}

/* ── Media query: desktop largo (≥ 1080px) ──────────────────────────────── */
@media (min-width: 1080px) {
  .site-header {
    width: auto;
  }

  .nav {
    padding-inline: var(--space-6);
    gap: var(--space-12);
  }
}
