/* OLamarck – Custom Styles */

/* Scroll suave */
html {
  scroll-behavior: smooth;
}

/* Scrollbar personalizada */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
::-webkit-scrollbar-track {
  background: #111827;
}
::-webkit-scrollbar-thumb {
  background: #374151;
  border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover {
  background: #4b5563;
}

/* Seleção de texto */
::selection {
  background: rgba(99, 102, 241, 0.3);
  color: #e0e7ff;
}

/* ── Animações de entrada ─────────────────────────────────────────────────── */

.will-animate {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.will-animate.animated {
  opacity: 1;
  transform: translateY(0);
}

/* ── Pulse glow no CTA principal ─────────────────────────────────────────── */

@keyframes pulse-glow {
  0%, 100% { box-shadow: 0 0 0 0 rgba(99, 102, 241, 0.5); }
  50%       { box-shadow: 0 0 0 12px rgba(99, 102, 241, 0); }
}
.pulse-glow {
  animation: pulse-glow 2.5s ease-in-out infinite;
}

/* ── Gradiente de texto ───────────────────────────────────────────────────── */

.gradient-text {
  background: linear-gradient(135deg, #818cf8, #a78bfa);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* ── Float suave para a foto hero ────────────────────────────────────────── */

@keyframes float {
  0%, 100% { transform: translateY(0px); }
  50%       { transform: translateY(-10px); }
}
.float-anim {
  animation: float 5s ease-in-out infinite;
}

/* ── Shimmer em badges e destaques ───────────────────────────────────────── */

@keyframes shimmer {
  0%   { background-position: -200% center; }
  100% { background-position: 200% center; }
}
.shimmer {
  background: linear-gradient(90deg, transparent 25%, rgba(255,255,255,0.06) 50%, transparent 75%);
  background-size: 200% auto;
  animation: shimmer 3s linear infinite;
}

/* ── Transição padrão ────────────────────────────────────────────────────── */

*, *::before, *::after {
  transition-property: color, background-color, border-color, opacity, transform, box-shadow;
  transition-duration: 200ms;
  transition-timing-function: ease;
}

/* ── Inputs ──────────────────────────────────────────────────────────────── */

input:focus,
textarea:focus,
select:focus,
button:focus {
  outline: none;
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* ── Tabela responsiva ───────────────────────────────────────────────────── */

.table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* ── Card hover ──────────────────────────────────────────────────────────── */

.card-hover {
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.card-hover:hover {
  transform: translateY(-4px);
  box-shadow: 0 24px 48px rgba(0, 0, 0, 0.35);
}

/* ── Loading spinner ─────────────────────────────────────────────────────── */

@keyframes spin {
  to { transform: rotate(360deg); }
}
.spinner {
  animation: spin 0.8s linear infinite;
}

/* ── Badge ───────────────────────────────────────────────────────────────── */

.badge {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: 9999px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.025em;
}

/* ── Texto truncado ──────────────────────────────────────────────────────── */

.truncate-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ── Print ───────────────────────────────────────────────────────────────── */

@media print {
  nav, aside, footer, .no-print {
    display: none !important;
  }
  body {
    background: white;
    color: black;
  }
}
