/* global.css */
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700&family=Play:wght@400;700&display=swap');

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --navy: #0b1a3b;
  --navy-mid: #112250;
  --cream: #f4e6bf;
  --cream-dim: rgba(244,230,191,0.6);
  --cream-ghost: rgba(244,230,191,0.12);
  --cream-faint: rgba(244,230,191,0.06);
  --amber: #e8a020;
  --amber-dim: rgba(232,160,32,0.2);
  --red: #c83c3c;
  --green: #3cb87a;
  --font-display: 'Barlow Condensed', sans-serif;
  --font-body: 'Play', sans-serif;
}

html { scroll-behavior: smooth; }

body { 
  background: var(--navy); 
  color: var(--cream); 
  font-family: var(--font-body); 
  font-size: 16px; 
  line-height: 1.6; 
  min-height: 100vh; 
  overflow-x: hidden;
}

body::before { 
  content: ''; 
  position: fixed; 
  inset: 0; 
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E"); 
  pointer-events: none; 
  z-index: 0; 
  opacity: 0.4; 
}

/* Reusable Components */
.container { max-width: 1100px; margin: 0 auto; padding: 0 1.5rem; position: relative; z-index: 1; }

.section { padding: 4rem 0; border-top: 1px solid var(--cream-ghost); }

.section-label { 
  font-family: var(--font-display); 
  font-size: 0.75rem; 
  letter-spacing: 0.3em; 
  text-transform: uppercase; 
  margin-bottom: 2rem; 
  display: flex; 
  align-items: center; 
  gap: 1rem; 
}

.section-label::after { content: ''; flex: 1; height: 1px; background: var(--cream-ghost); }

.btn { 
  display: inline-block; 
  font-family: var(--font-display); 
  font-size: 0.85rem; 
  font-weight: 600; 
  letter-spacing: 0.15em; 
  text-transform: uppercase; 
  text-decoration: none; 
  padding: 0.8rem 1.8rem; 
  transition: all 0.2s; 
  cursor: pointer; 
  border: 1px solid transparent;
  text-align: center;
}

.btn-primary { background: var(--amber); color: var(--navy); border-color: var(--amber); }
.btn-primary:hover { background: transparent; color: var(--amber); }

.btn-outline { border-color: var(--cream-ghost); color: var(--navy); }
.btn-outline:hover { border-color: var(--amber); color: var(--amber); }

/* Product Grid */
.product-grid { 
  display: grid; 
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); 
  gap: 2rem; 
  margin-top: 2rem;
}

.product-card {
  background: var(--cream-faint);
  border: 1px solid var(--cream-ghost);
  padding: 2.5rem;
  display: flex;
  flex-direction: column;
  transition: transform 0.3s ease;
}

.product-card.active { border-color: var(--amber-dim); }
.product-card.disabled { opacity: 0.6; filter: grayscale(0.5); }
.product-card.destaque {
  border-color: var(--amber);
  border-width: 2px;
  transform: translateY(0px);
  box-shadow: 0 12px 32px rgba(232,160,32,0.15);
  }

.product-card-title {
  font-family: var(--font-display);
  font-size: 2rem;
  text-transform: uppercase;
  margin-bottom: 1rem;
}

.product-card-desc {
  font-size: 0.9rem;
  color: var(--cream-dim);
  margin-bottom: 2rem;
  flex-grow: 1;
}

/* FOOTER REVISADO */
.vulcamp-footer { 
  background-color: var(--cream); 
  color: var(--navy); 
  margin-top: 5rem; 
  padding: 4rem 1.5rem; 
  border-top: 1px solid rgba(11,26,59,0.1);
  position: relative;
  z-index: 1;
}

.vulcamp-footer-inner { 
  max-width: 1100px; 
  margin: 0 auto; 
  display: grid;
  grid-template-columns: 1fr 1fr 1fr; /* Três colunas iguais */
  gap: 4rem; 
  align-items: start;
}

.vulcamp-footer-info { 
  display: flex; 
  flex-direction: column; 
  gap: 0.75rem;
}

.brand-footer {
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-bottom: 0.5rem;
}

.vulcamp-footer-note { 
  font-size: 0.75rem; 
  opacity: 0.7; 
  margin-top: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* COLUNA PATROCINADORES */
.vulcamp-footer-sponsors { 
  display: flex; 
  flex-direction: column;
  gap: 1.5rem;
}

.sponsors-label { 
  font-family: var(--font-display);
  font-size: 0.75rem; 
  letter-spacing: 0.2em; 
  opacity: 0.6; 
  text-transform: uppercase;
  border-bottom: 1px solid rgba(11,26,59,0.1);
  padding-bottom: 0.5rem;
}

.sponsors-logos {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(40px, 1fr));
  gap: 2rem;
  align-items: center;
}

.sponsors-logos img, .sponsor-placeholder { 
  max-height: 40px; 
  width: auto; 
  filter: grayscale(1) contrast(1.2); /* Mantém a coerência visual */
  opacity: 0.8;
  transition: all 0.3s ease;
}

.sponsors-logos img:hover { 
  filter: grayscale(0); 
  opacity: 1; 
}

@media (max-width: 768px) {
  .vulcamp-footer-inner { 
    grid-template-columns: 1fr; /* Empilha em telas pequenas */
    gap: 3rem;
  }
}
