/* ==========================================================================
   Tech Premium - Identidade Visual Oficial
   Laranja (#E26E3F / #FF7A45), Preto (#080A0F / #0C1017) e Cinza (#1E2229 / #2A323D)
   ========================================================================== */

:root {
  /* Marca: Laranja */
  --tp-orange: #E26E3F;
  --tp-orange-hover: #FF7A45;
  --tp-orange-active: #B84B1F;
  --tp-orange-glow: rgba(226, 110, 63, 0.35);
  --tp-orange-alpha: rgba(226, 110, 63, 0.12);

  /* Fundos & Superfícies */
  --tp-bg: #080A0F;
  --tp-surface: #0C1017;
  --tp-card: #1E2229;
  --tp-card-hover: #262B34;
  --tp-border: #2A323D;
  --tp-border-light: #333C4D;

  /* Tipografia */
  --tp-text-white: #FFFFFF;
  --tp-text-primary: #F1F5F9;
  --tp-text-muted: #94A3B8;
  --tp-text-dim: #64748B;
}

/* Base & Typography */
body {
  background-color: var(--tp-bg);
  color: var(--tp-text-primary);
  font-family: 'Inter', 'Lato', sans-serif;
  overflow-x: hidden;
}

::selection {
  background: rgba(226, 110, 63, 0.30);
  color: #FFFFFF;
}

/* Custom Tech Scrollbar */
::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-track {
  background: #080A0F;
}
::-webkit-scrollbar-thumb {
  background: #2A323D;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: #E26E3F;
}

/* Grid Pattern Background */
.bg-tech-grid {
  background-size: 36px 36px;
  background-image: 
    linear-gradient(to right, rgba(42, 50, 61, 0.35) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(42, 50, 61, 0.35) 1px, transparent 1px);
}

.bg-tech-dots {
  background-image: radial-gradient(rgba(226, 110, 63, 0.15) 1px, transparent 1px);
  background-size: 24px 24px;
}

/* Glow Effects */
.glow-orange {
  box-shadow: 0 0 20px rgba(226, 110, 63, 0.25);
}

.glow-orange-lg {
  box-shadow: 0 0 45px rgba(226, 110, 63, 0.40);
}

.text-glow-orange {
  text-shadow: 0 0 12px rgba(226, 110, 63, 0.5);
}

.card-hover-border {
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.card-hover-border:hover {
  border-color: rgba(226, 110, 63, 0.5);
  box-shadow: 0 8px 30px -8px rgba(226, 110, 63, 0.20);
  transform: translateY(-2px);
}

/* Pulse badge animation */
@keyframes techPulse {
  0%, 100% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0.5;
    transform: scale(1.15);
  }
}

.animate-tech-pulse {
  animation: techPulse 2s infinite ease-in-out;
}

/* Scanline Overlay for Terminal */
.scanline-overlay {
  background: linear-gradient(
    to bottom,
    rgba(255, 255, 255, 0),
    rgba(255, 255, 255, 0) 50%,
    rgba(0, 0, 0, 0.25) 50%,
    rgba(0, 0, 0, 0.25)
  );
  background-size: 100% 4px;
}

/* Blinking Terminal Cursor */
@keyframes blink {
  0%, 49% { opacity: 1; }
  50%, 100% { opacity: 0; }
}

.terminal-cursor {
  animation: blink 1s infinite;
}

/* Masonry Layout para Galeria de Projetos */
.gallery-masonry {
  column-count: 1;
  column-gap: 1.5rem;
}

@media (min-width: 640px) {
  .gallery-masonry {
    column-count: 2;
  }
}

@media (min-width: 1024px) {
  .gallery-masonry {
    column-count: 3;
  }
}

@media (min-width: 1280px) {
  .gallery-masonry {
    column-count: 4;
  }
}

.gallery-masonry-item {
  break-inside: avoid;
  margin-bottom: 1.5rem;
  display: inline-block;
  width: 100%;
}
