/* =============================================
   Estilos personalizados — Versão Bootstrap
   GAC116 - Programação Web — UFLA
   Autor: Henrique César Silva Soares
   ============================================= */

/* Suaviza a rolagem da página */
html {
  scroll-behavior: smooth;
}

/* ─── FOTO DE PERFIL ─── */
.profile-img {
  width: 160px;
  height: 160px;
  border-radius: 999px;
  border: 4px solid rgba(255, 255, 255, 0.7);
  object-fit: cover;
  animation: profile-pulse 3s ease-in-out infinite;
}

@keyframes profile-pulse {
  0%, 100% {
    box-shadow: 0 0 0 6px rgba(13, 110, 253, 0.22),
                0 0 0 14px rgba(111, 66, 193, 0.1);
  }
  50% {
    box-shadow: 0 0 0 10px rgba(13, 110, 253, 0.32),
                0 0 0 20px rgba(111, 66, 193, 0.16);
  }
}

/* ─── ÂNCORAS COM OFFSET DA NAVBAR FIXA ─── */
section,
#header {
  scroll-margin-top: 90px;
}

/* ─── NAVBAR COM GLASSMORPHISM ─── */
#mainNavbar {
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  background-color: rgba(255, 255, 255, 0.88) !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  transition: background-color 0.3s ease;
}

[data-bs-theme="dark"] #mainNavbar {
  background-color: rgba(33, 37, 41, 0.88) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

/* ─── LINK ATIVO NA NAV ─── */
.nav-link.nav-active {
  color: #0d6efd !important;
  font-weight: 700;
}

/* ─── GRADIENTE HERO ─── */
.hero-gradient {
  background: linear-gradient(135deg, #eef2ff 0%, #f3e8ff 60%, #fdf4ff 100%);
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

[data-bs-theme="dark"] .hero-gradient {
  background: linear-gradient(135deg, #0f172a 0%, #1e1b4b 55%, #2d1b69 100%);
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

/* ─── HOVER LIFT NOS CARDS ─── */
/* Usa `translate` (propriedade moderna) para não conflitar com `transform` do reveal */
.card {
  transition: translate 0.22s ease, box-shadow 0.22s ease,
              background-color 0.3s ease, color 0.3s ease;
}

.card:hover {
  translate: 0 -5px;
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.11) !important;
}

/* ─── BORDAS SUPERIORES COLORIDAS NOS CARDS DE PROJETO ─── */
.card-accent-blue {
  border-top: 3px solid #0d6efd !important;
  border-radius: 0.5rem !important;
}

.card-accent-green {
  border-top: 3px solid #198754 !important;
  border-radius: 0.5rem !important;
}

.card-accent-purple {
  border-top: 3px solid #6f42c1 !important;
  border-radius: 0.5rem !important;
}

/* ─── SCROLL REVEAL ─── */
.reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

/* ─── TRANSIÇÃO DE TEMA SUAVE ─── */
body,
footer {
  transition: background-color 0.3s ease, color 0.3s ease;
}
