@import url('https://fonts.googleapis.com/css2?family=Raleway:wght@300;400;500;600;700;800&family=Creepster&family=Nosifer&family=Butcherman&family=Chiller&family=Eater&family=Metal+Mania&family=Poppins:wght@300;400;500;600;700&display=swap');

/*
  NIGHTMARE DISPLAY FONT
  --------------------------------------------------
  Place your Nightmare font files in the project at:
    /fonts/Nightmare-Regular.woff2  (recommended)
    /fonts/Nightmare-Regular.woff
    /fonts/Nightmare-Regular.ttf

  If these files are absent the browser will fall back to Creepster/Nosifer.
*/
@font-face {
  font-family: 'Nightmare';
  src: url('../fonts/Nightmare-Regular.woff2') format('woff2'),
       url('../fonts/Nightmare-Regular.woff') format('woff'),
       url('../fonts/Nightmare-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

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

:root {
  /* Palette - Option 1 (Sofisticada) */
  --bg-900: #0b0b0b;           /* page background */
  --bg-800: #141414;           /* panel background */
  --accent-600: #D16C2D;      /* burnt orange (primary CTA) */
  --accent-400: #B85A24;      /* darker burnt accent */
  --muted-300: #cfcfcf;
  --muted-100: #ffffff;
  --muted-200: #e6e6e6;
  --card-bg: rgba(28,28,28,0.95);
}

/* Headings: Nightmare display font (fallback to Creepster/Nosifer) */
h1, h2, h3, h4, h5, h6, .main-title, .hero-title, .tattoo-title, .shirt-title {
  font-family: 'Nightmare', 'Creepster', 'Nosifer', cursive !important;
}

/* ========================================
   FONTES ASSUSTADORAS
======================================== */

/* ========================================
   SEÇÃO DE TATUAGENS
======================================== */

.tattoo-promo {
  background: rgba(10, 10, 10, 0.88);
    border-radius: 15px;
    padding: 30px;
    margin: 30px auto;
    max-width: 1200px;
    box-shadow: 0 0 20px rgba(255, 69, 0, 0.3);
    border: 1px solid rgba(255, 69, 0, 0.2);
}

.tattoo-title {
    color: #ff6600;
    font-family: 'Creepster', cursive;
    font-size: 2.2em;
    text-align: center;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
    margin-bottom: 20px;
}

.tattoo-description {
    color: #fff;
    text-align: center;
    font-size: 1.1em;
    line-height: 1.8;
    margin-bottom: 25px;
}

.tattoo-marketing {
  background: var(--card-bg);
  border-radius: 10px;
  padding: 20px;
  margin-top: 20px;
  text-align: center;
}

.tattoo-marketing .marketing-badge {
  display: inline-block;
  padding: 8px 18px;
  border-radius: 20px;
  color: #fff;
  font-weight: 700;
  font-size: 1.05em;
  margin-bottom: 12px;
  background: linear-gradient(90deg, var(--accent-600), var(--accent-400));
  box-shadow: 0 6px 18px rgba(0,0,0,0.5);
}

.tattoo-marketing .marketing-text {
  color: var(--muted-200);
  font-size: 1.05em;
  line-height: 1.6;
}

/* Estilos da Tatuadora */
.tattoo-artist {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 30px 0;
    padding: 20px;
  background: rgba(28,28,28,0.92);
  border-radius: 15px;
  border: 1px solid rgba(255, 69, 0, 0.18);
}

.artist-photo {
  width: 180px;
  height: 180px;
  border-radius: 50%;
  overflow: hidden;
  border: 3px solid rgba(255,106,0,0.18);
  box-shadow: 0 6px 20px rgba(0,0,0,0.6), 0 0 18px rgba(255,106,0,0.08);
  margin-bottom: 16px;
  animation: slowRotate 20s linear infinite;
}

.artist-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Transição suave para troca de imagem (hover da Ângella) */
.artist-image.fading {
  transition: opacity 300ms ease-in-out;
  opacity: 0.01; /* ao aplicar a classe, faz fade-out rápido antes de trocar src */
}

.artist-image {
  transition: opacity 300ms ease-in-out;
}

.artist-info {
    text-align: center;
}

.artist-info h3 {
  color: var(--accent-400);
  font-family: 'Creepster', cursive;
  font-size: 1.8em;
  margin-bottom: 8px;
}

.artist-description {
  color: var(--muted-100);
    font-size: 1.2em;
    line-height: 1.6;
}

.artist-specialty {
    color: #ff4500;
    font-style: italic;
    font-size: 0.9em;
    display: block;
    margin-top: 5px;
}

/* Features Especiais */
.spooky-features {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-top: 25px;
    flex-wrap: wrap;
}

.feature {
    background: rgba(0, 0, 0, 0.6);
    padding: 15px 25px;
    border-radius: 10px;
    border: 1px solid rgba(255, 69, 0, 0.2);
    display: flex;
    align-items: center;
    gap: 10px;
}

.feature-icon {
    font-size: 1.5em;
}

.feature-text {
    color: #fff;
    font-size: 0.9em;
}

.spooky-gradient {
    background: linear-gradient(45deg, #ff4500, #800000);
    animation: pulseGlow 2s infinite;
}

@keyframes pulseGlow {
    0% { box-shadow: 0 0 10px rgba(255, 69, 0, 0.5); }
    50% { box-shadow: 0 0 20px rgba(255, 69, 0, 0.8); }
    100% { box-shadow: 0 0 10px rgba(255, 69, 0, 0.5); }
}

/* Galeria de Designs - SIMPLES E CENTRALIZADO */
.tattoo-designs {
    margin-top: 40px;
    padding: 20px;
    background: rgba(0, 0, 0, 0.5);
    border-radius: 15px;
}

.designs-title {
    color: #ff6600;
    font-family: 'Creepster', cursive;
    font-size: 1.8em;
    text-align: center;
    margin-bottom: 25px;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

/* Carousel centralizado e simplificado */
.designs-carousel-center {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
    flex-wrap: wrap;
    max-width: 700px;
    margin: 0 auto;
    padding: 20px 0;
}

.design-item {
    width: 90px;
    height: 90px;
    border-radius: 50%;
    overflow: hidden;
    cursor: pointer;
    border: 3px solid rgba(255,102,0,0.4);
    background: rgba(0,0,0,0.7);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(0,0,0,0.6);
}

.design-item:hover {
    transform: translateY(-5px) scale(1.1);
    border-color: rgba(255,102,0,0.8);
    box-shadow: 0 6px 20px rgba(255,102,0,0.4);
}

.design-item img {
    width: 70%;
    height: 70%;
    object-fit: contain;
    transition: transform 0.3s ease;
    border-radius: 18px;
}

.design-item:hover img {
    transform: scale(1.15) rotate(5deg);
}

.designs-instruction {
    text-align: center;
    color: #fff;
    font-size: 0.95rem;
    margin-top: 20px;
    opacity: 0.9;
}

/* Responsividade */
@media (max-width: 768px) {
  .tattoo-designs {
    padding: 15px;
    margin-top: 30px;
  }
  
  .designs-title {
    font-size: 1.4em;
    margin-bottom: 20px;
  }

  .designs-carousel-center {
    gap: 12px;
    max-width: 100%;
  }

  .design-item {
    width: 75px;
    height: 75px;
  }
}

@media (max-width: 480px) {
  .tattoo-designs {
    padding: 12px;
    margin-top: 25px;
  }
  
  .designs-title {
    font-size: 1.2em;
    margin-bottom: 15px;
    line-height: 1.3;
  }

  .designs-carousel-center {
    gap: 10px;
  }

  .design-item {
    width: 65px;
    height: 65px;
  }

  .designs-instruction {
    font-size: 0.85rem;
    margin-top: 15px;
  }
}

/* Remover estilos antigos do carousel */

.designs-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 20px;
    padding: 10px;
}

.design-card {
    background: rgba(0, 0, 0, 0.7);
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid rgba(255, 69, 0, 0.3);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.design-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 5px 15px rgba(255, 69, 0, 0.4);
}

.design-image {
    height: 200px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: white;
    padding: 20px;
}

.design-image img {
    max-width: 100%;
    max-height: 160px;
    object-fit: contain;
    transition: transform 0.3s ease;
}

.design-card:hover .design-image img {
    transform: scale(1.1);
}

.design-info {
    padding: 15px;
    text-align: center;
}

.design-info h4 {
    color: #ff6600;
    font-size: 1.3em;
    margin-bottom: 8px;
    font-family: 'Creepster', cursive;
}

.design-info p {
    color: #fff;
    font-size: 0.9em;
    opacity: 0.9;
}

@media (max-width: 768px) {
    .designs-grid {
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    }
}

/* Carousel compacto para designs (miniaturas redondas) */
.designs-carousel {
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: center;
  width: 100%;
  padding: 0 10px;
}

.designs-track-wrapper {
  overflow-x: auto;
  overflow-y: hidden;
  width: 100%;
  max-width: 800px;
  scrollbar-width: thin;
  scrollbar-color: var(--accent-600) transparent;
}

.designs-track-wrapper::-webkit-scrollbar {
  height: 6px;
}

.designs-track-wrapper::-webkit-scrollbar-track {
  background: rgba(255,255,255,0.05);
  border-radius: 3px;
}

.designs-track-wrapper::-webkit-scrollbar-thumb {
  background: var(--accent-600);
  border-radius: 3px;
}

.designs-track {
  display: flex;
  gap: 12px;
  padding: 10px 5px;
  transition: transform 300ms ease;
  align-items: center;
  justify-content: flex-start;
  min-width: min-content;
}

.design-slide {
  width: 90px;
  height: 90px;
  flex: 0 0 90px;
  border-radius: 50%;
  overflow: hidden;
  border: 3px solid rgba(255,69,0,0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,0.03);
  cursor: pointer;
  transition: transform 200ms ease, box-shadow 200ms ease;
}

.design-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.design-slide:hover {
  transform: scale(1.08);
  box-shadow: 0 8px 20px rgba(0,0,0,0.6), 0 4px 12px rgba(255,138,61,0.12);
}

/* Responsividade do carousel */
@media (max-width: 768px) {
  .designs-track-wrapper {
    width: 100%;
    max-width: 100%;
  }
  
  .design-slide {
    width: 75px;
    height: 75px;
    flex: 0 0 75px;
  }
  
  .designs-track {
    gap: 10px;
    justify-content: flex-start;
  }
}

@media (max-width: 480px) {
  .designs-carousel {
    padding: 0 5px;
  }
  
  .design-slide {
    width: 65px;
    height: 65px;
    flex: 0 0 65px;
    border-width: 2px;
  }
  
  .designs-track {
    gap: 8px;
  }
}

@media (min-width: 769px) and (max-width: 1024px) {
  .designs-track-wrapper {
    max-width: 700px;
  }
  
  .design-slide {
    width: 85px;
    height: 85px;
    flex: 0 0 85px;
  }
}

/* Instrução abaixo do carousel */
.designs-instruction {
  text-align: center;
  color: var(--muted-300);
  margin-top: 15px;
  font-size: 0.95rem;
  line-height: 1.5;
  padding: 0 10px;
}

@media (max-width: 768px) {
  .designs-instruction {
    font-size: 0.9rem;
    margin-top: 12px;
  }
}

@media (max-width: 480px) {
  .designs-instruction {
    font-size: 0.85rem;
    margin-top: 10px;
    padding: 0 5px;
  }
}
    
    /* Títulos principais - Nosifer (mais assustadora) */
    h1, .main-title, .hero-title {
      font-family: 'Nosifer', cursive !important;
      text-shadow: 3px 3px 6px rgba(0,0,0,0.8), 0 0 20px rgba(255,69,0,0.5) !important;
      letter-spacing: 2px !important;
    }
    
    /* Subtítulos - Butcherman */
    h2, .subtitle, .section-title {
      font-family: 'Butcherman', cursive !important;
      text-shadow: 2px 2px 4px rgba(0,0,0,0.7) !important;
      letter-spacing: 1.5px !important;
    }
    
    /* Títulos menores - Creepster */
    h3, .small-title, .card-title {
      font-family: 'Creepster', cursive !important;
      text-shadow: 1px 1px 3px rgba(0,0,0,0.6) !important;
      letter-spacing: 1px !important;
    }
    
    /* Botões importantes - Metal Mania */
    .submit-btn, .halloween-btn, .contest-btn {
      font-family: 'Metal Mania', cursive !important;
      text-shadow: 1px 1px 2px rgba(0,0,0,0.8) !important;
      letter-spacing: 1px !important;
    }
    
    /* Labels especiais - Eater */
    .spooky-label, .contest-label, .halloween-label {
      font-family: 'Eater', cursive !important;
      text-shadow: 1px 1px 2px rgba(0,0,0,0.5) !important;
    }

    /* ========================================
       CONCURSO DE FANTASIA
    ======================================== */
    .contest-container {
      background: rgba(18,18,18,0.95);
      border-radius: 16px;
      padding: 30px;
      margin: 30px 0;
      border: 1px solid rgba(255,69,0,0.12);
    }

    .contest-title {
      color: #ff7a00;
      font-size: 1.4rem;
      margin-bottom: 16px;
      text-transform: uppercase;
      letter-spacing: 1px;
    }

    .contest-inner {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 20px;
      align-items: start;
    }

    .contest-form h3, .contest-list h3 {
      color: #ff6600;
      margin-bottom: 12px;
    }

    .participants-list {
      list-style: none;
      max-height: 320px;
      overflow: auto;
      padding: 10px;
      border-radius: 8px;
      background: rgba(0,0,0,0.25);
      border: 1px solid rgba(255,69,0,0.06);
    }

    .participant-item {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 10px;
      border-bottom: 1px solid rgba(255,255,255,0.03);
      gap: 10px;
    }

    .participant-meta {
      display: flex;
      flex-direction: column;
      gap: 4px;
    }

    .participant-name {
      color: #fff;
      font-weight: 600;
      display: flex;
      align-items: center;
      gap: 5px;
    }

    .participant-phone {
      color: #ddd;
      font-size: 0.9rem;
    }

    .participant-details {
      color: #ff7a00 !important;
      font-size: 0.8rem !important;
      font-weight: 500;
      margin-top: 2px;
    }

    .participant-fantasy {
      color: #ff7a00 !important;
      font-size: 0.8rem !important;
      font-style: italic !important;
      margin-top: 2px;
    }

    .vote-btn {
      background: linear-gradient(45deg, #ff6600, #ff4500);
      border: none;
      color: white;
      padding: 8px 12px;
      border-radius: 8px;
      cursor: pointer;
      font-weight: 700;
      transition: transform 0.12s ease, box-shadow 0.12s ease;
    }

    .vote-btn:hover { transform: translateY(-3px); box-shadow: 0 8px 20px rgba(255,69,0,0.12); }

    .votes-count {
      margin-left: 10px;
      color: #ffd28a;
      font-weight: 700;
    }

    .votes-summary {
      margin-top: 16px;
      color: #ddd;
    }

    /* ========================================
       ESTILOS PARA SELECTS (FUNDO VERMELHO SANGUE)
    ======================================== */
    select {
      background: linear-gradient(145deg, #8B0000, #A0000A) !important;
      color: #ffffff !important;
      border: 2px solid #660000 !important;
      border-radius: 8px !important;
      padding: 12px 15px !important;
      font-size: 1rem !important;
      font-weight: 500 !important;
      font-family: 'Poppins', sans-serif !important;
      transition: all 0.3s ease !important;
      box-shadow: 0 4px 15px rgba(139,0,0,0.3) !important;
    }

    select:hover {
      background: linear-gradient(145deg, #A0000A, #B91C1C) !important;
      border-color: #ff4444 !important;
      box-shadow: 0 6px 20px rgba(139,0,0,0.4) !important;
      transform: translateY(-2px) !important;
    }

    select:focus {
      outline: none !important;
      background: linear-gradient(145deg, #B91C1C, #DC2626) !important;
      border-color: #ff6666 !important;
      box-shadow: 0 0 20px rgba(139,0,0,0.6) !important;
    }

    /* Estilo para as options */
    select option {
      background: #8B0000 !important;
      color: #ffffff !important;
      padding: 10px !important;
      font-weight: 500 !important;
      border: none !important;
    }

    select option:hover {
      background: #A0000A !important;
      color: #ffcccc !important;
    }

    select option:checked {
      background: #B91C1C !important;
      color: #ffffff !important;
      font-weight: 700 !important;
    }

    @media (max-width: 800px) {
      .contest-inner { grid-template-columns: 1fr; }
    }

    body {
      font-family: 'Raleway', 'Poppins', sans-serif;
      background-color: var(--bg-900);
      color: var(--muted-200);
      background-image: 
        radial-gradient(circle at top, #2a0000 0%, #000 100%),
        url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="spiders" patternUnits="userSpaceOnUse" width="100" height="100"><circle cx="10" cy="10" r="1" fill="%23ff450020"/><circle cx="90" cy="90" r="1" fill="%23ff450020"/></pattern></defs><rect width="100" height="100" fill="url(%23spiders)"/></svg>');
      min-height: 100vh;
      overflow-x: hidden;
      margin: 0;
      padding: 0;
      /* Scroll laranja para a página principal */
      scrollbar-width: thin;
      scrollbar-color: #ff4500 #0b0b0b;
    }

    /* Scrollbar personalizada para webkit (Chrome, Safari, Edge) - Página Principal */
    body::-webkit-scrollbar {
      width: 12px;
    }

    body::-webkit-scrollbar-track {
      background: #0b0b0b;
    }

    body::-webkit-scrollbar-thumb {
      background: linear-gradient(45deg, #ff4500, #ff6600);
      border-radius: 6px;
    }

    body::-webkit-scrollbar-thumb:hover {
      background: linear-gradient(45deg, #ff6600, #ff8800);
    }

    /* Header do Evento */
    .event-header {
      text-align: center;
      padding: 0;
      position: relative;
      margin: 0 0 50px 0;
      overflow: hidden;
      width: 100vw;
      margin-left: calc(-50vw + 50%);
      box-shadow: 0 10px 50px rgba(0, 0, 0, 0.8);
    }

    .banner-container {
      position: relative;
      width: 100%;
      height: 500px;
      overflow: hidden;
      background: linear-gradient(180deg, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);
    }

    .logo {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      animation: subtleZoom 20s ease-in-out infinite alternate;
      filter: brightness(0.9) contrast(1.1);
      transition: all 0.5s ease;
    }

    .logo:hover {
      filter: brightness(1) contrast(1.15);
    }

    /* ====== Estilos do Modal de Imagem (usado para tatuagens e galeria) ====== */
    .image-modal {
      display: none; /* controlado via JS - quando abrir ficará em block */
      position: fixed;
      inset: 0; /* top:0; right:0; bottom:0; left:0 */
      background: rgba(0,0,0,0.85);
      z-index: 9999;
      align-items: center;
      justify-content: center;
      padding: 20px;
    }

    .image-modal[style*="display: block"] {
      display: flex !important;
    }

    .image-modal-content {
      width: min(1100px, 95%);
      max-height: 90vh;
      background: linear-gradient(180deg, rgba(20,20,20,0.98), rgba(12,12,12,0.98));
      border-radius: 12px;
      overflow: hidden;
      box-shadow: 0 20px 60px rgba(0,0,0,0.8);
      position: relative;
      display: grid;
      grid-template-columns: 1fr 360px;
      gap: 20px;
    }

    .image-container {
      padding: 18px;
      display: flex;
      align-items: center;
      justify-content: center;
      background: linear-gradient(180deg, rgba(0,0,0,0.2), rgba(10,10,10,0.2));
    }

    .modal-full-image {
      max-width: 100%;
      max-height: 78vh;
      object-fit: contain;
      border-radius: 8px;
      box-shadow: 0 10px 40px rgba(0,0,0,0.6);
    }

    .image-close {
      position: absolute;
      top: 12px;
      right: 16px;
      color: #fff;
      font-size: 2.2rem;
      cursor: pointer;
      z-index: 10001;
      background: transparent;
      border: none;
    }

    .image-navigation {
      position: absolute;
      left: 8px;
      top: 50%;
      transform: translateY(-50%);
      display: flex;
      flex-direction: column;
      gap: 8px;
    }

    .nav-btn {
      background: rgba(0,0,0,0.6);
      color: #fff;
      border: none;
      padding: 8px 12px;
      font-size: 1.6rem;
      border-radius: 8px;
      cursor: pointer;
    }

    .image-info {
      padding: 20px;
      color: #fff;
      overflow: auto;
    }

    @media (max-width: 900px) {
      .image-modal-content { grid-template-columns: 1fr; }
      .image-info { max-height: 30vh; }
      .modal-full-image { max-height: 60vh; }
    }
    

    @keyframes subtleZoom {
      0% { transform: scale(1); }
      100% { transform: scale(1.05); }
    }

    .banner-overlay {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      background: linear-gradient(to top, rgba(11, 11, 11, 0.7) 0%, transparent 100%);
      padding: 60px 20px 30px;
      pointer-events: none;
    }

    .event-title {
      font-family: 'Nosifer', cursive !important;
      font-size: clamp(2.5rem, 8vw, 5rem);
      color: #ff4500;
      text-shadow: 
        0 0 25px rgba(255, 69, 0, 0.9),
        0 0 50px rgba(255, 69, 0, 0.6),
        4px 4px 10px rgba(0, 0, 0, 0.9),
        0 0 80px rgba(139, 0, 0, 0.4);
      margin: 0;
      animation: flicker 4s ease-in-out infinite, spookyPulse 6s ease-in-out infinite;
      position: absolute;
      bottom: 80px;
      left: 50%;
      transform: translateX(-50%);
      width: 100%;
      padding: 0 20px;
      pointer-events: none;
      z-index: 10;
      letter-spacing: 4px;
    }

    @keyframes flicker {
      0%, 100% { opacity: 1; text-shadow: 0 0 25px rgba(255, 69, 0, 0.9), 0 0 50px rgba(255, 69, 0, 0.6), 4px 4px 10px rgba(0, 0, 0, 0.9), 0 0 80px rgba(139, 0, 0, 0.4); }
      25% { opacity: 0.85; text-shadow: 0 0 20px rgba(255, 69, 0, 0.7), 0 0 40px rgba(255, 69, 0, 0.5), 4px 4px 10px rgba(0, 0, 0, 0.9), 0 0 60px rgba(139, 0, 0, 0.3); }
      50% { opacity: 1; text-shadow: 0 0 30px rgba(255, 69, 0, 1), 0 0 60px rgba(255, 69, 0, 0.7), 4px 4px 10px rgba(0, 0, 0, 0.9), 0 0 100px rgba(139, 0, 0, 0.5); }
      75% { opacity: 0.9; text-shadow: 0 0 22px rgba(255, 69, 0, 0.8), 0 0 45px rgba(255, 69, 0, 0.5), 4px 4px 10px rgba(0, 0, 0, 0.9), 0 0 70px rgba(139, 0, 0, 0.4); }
    }

    @keyframes spookyPulse {
      0%, 100% { 
        transform: translateX(-50%) scale(1);
      }
      50% { 
        transform: translateX(-50%) scale(1.02);
      }
    }

    .event-date {
      font-size: 1.2rem;
      color: #ff6600;
      font-weight: 600;
      margin: 0;
      position: absolute;
      bottom: 40px;
      left: 50%;
      transform: translateX(-50%);
      width: 100%;
      padding: 0 20px;
      text-shadow: 2px 2px 6px rgba(0, 0, 0, 0.9);
      pointer-events: none;
      z-index: 10;
    }

    .event-tagline {
      font-size: 1.1rem;
      color: #ddd;
      font-style: italic;
      margin-bottom: 30px;
    }

    /* Container Principal */
    .main-container {
      max-width: 900px;
      margin: 0 auto;
      padding: 0 20px;
    }

    /* Seção de Informações do Evento */
    .event-info {
      background: rgba(20, 20, 20, 0.95);
      border-radius: 20px;
      padding: 40px;
      margin-bottom: 30px;
      box-shadow: 0 0 25px rgba(179, 0, 0, 0.4);
      border: 2px solid #333;
    }

    .info-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
      gap: 25px;
      margin-bottom: 30px;
    }

    .info-card {
      background: rgba(40, 40, 40, 0.9);
      padding: 25px;
      border-radius: 15px;
      border-left: 4px solid #b30000;
      border-top: 1px solid rgba(255, 69, 0, 0.2);
      transition: all 0.3s ease;
      backdrop-filter: blur(5px);
    }

    .info-card:hover {
      transform: translateY(-8px);
      box-shadow: 0 10px 25px rgba(179, 0, 0, 0.3);
      border-left-color: #ff4500;
    }

    .info-card h3 {
      color: #ff4500;
      margin-bottom: 10px;
      font-size: 1.1rem;
    }

    .info-card p {
      color: #ddd;
      line-height: 1.5;
    }

    /* Seção da Blusa Promocional */
    .shirt-promo {
      background: linear-gradient(135deg, rgba(179, 0, 0, 0.15), rgba(255, 69, 0, 0.08));
      border-radius: 20px;
      padding: 35px;
      margin-bottom: 30px;
      border: 2px solid rgba(179, 0, 0, 0.3);
      text-align: center;
      position: relative;
      overflow: hidden;
      backdrop-filter: blur(10px);
    }

    .shirt-promo::before {
      content: '✨';
      position: absolute;
      top: 15px;
      right: 20px;
      font-size: 1.5rem;
      animation: sparkle 3s ease-in-out infinite;
    }

    @keyframes sparkle {
      0%, 100% { opacity: 0.5; transform: scale(1) rotate(0deg); }
      50% { opacity: 1; transform: scale(1.1) rotate(180deg); }
    }

    .promo-badge {
      background: #ff4500;
      color: white;
      padding: 5px 15px;
      border-radius: 20px;
      font-size: 0.9rem;
      font-weight: 600;
      display: inline-block;
      margin-bottom: 15px;
      animation: pulse 2s infinite;
    }

    @keyframes pulse {
      0% { transform: scale(1); }
      50% { transform: scale(1.05); }
      100% { transform: scale(1); }
    }

    .shirt-title {
      color: #ff4500;
      font-size: 1.5rem;
      margin-bottom: 10px;
      font-weight: 700;
    }

    .shirt-description {
      color: #ddd;
      margin-bottom: 15px;
      line-height: 1.6;
    }

    /* Showcase de Modelos das Camisas */
    .shirt-models {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
      gap: 30px;
      margin-top: 30px;
      padding-top: 30px;
      border-top: 2px solid rgba(255, 69, 0, 0.3);
    }

    .shirt-models-title {
      text-align: center;
      color: #ff4500;
      font-size: 1.4rem;
      font-weight: 600;
      margin-bottom: 25px;
      text-transform: uppercase;
      letter-spacing: 2px;
    }

    .model-card {
      background: rgba(40, 40, 40, 0.8);
      border-radius: 15px;
      padding: 20px;
      text-align: center;
      transition: all 0.3s ease;
      border: 2px solid rgba(255, 69, 0, 0.2);
      position: relative;
      overflow: hidden;
    }

    .model-card::before {
      content: '';
      position: absolute;
      top: 0;
      left: -100%;
      width: 100%;
      height: 100%;
      background: linear-gradient(90deg, transparent, rgba(255, 69, 0, 0.2), transparent);
      transition: left 0.5s ease;
    }

    .model-card:hover::before {
      left: 100%;
    }

    .model-card:hover {
      transform: translateY(-6px) scale(1.02);
      border-color: #ff4500;
      box-shadow: 0 8px 18px rgba(0,0,0,0.45);
    }

    .model-image {
      width: 100%;
      max-width: 250px;
      height: auto;
      border-radius: 10px;
      margin-bottom: 15px;
      box-shadow: 0 5px 20px rgba(0, 0, 0, 0.5);
      transition: all 0.3s ease;
    }

    .model-card:hover .model-image {
      transform: scale(1.05);
      box-shadow: 0 6px 18px rgba(0,0,0,0.45);
    }

    .model-label {
      color: #ff6600;
      font-size: 1rem;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 1px;
    }

    .price-container {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 15px;
      margin-bottom: 15px;
    }

    .old-price {
      color: #888;
      text-decoration: line-through;
      font-size: 1.1rem;
    }

    .new-price {
      color: #ff4500;
      font-size: 1.8rem;
      font-weight: 700;
    }

    .discount {
      background: #e60000;
      color: white;
      padding: 5px 10px;
      border-radius: 10px;
      font-size: 0.9rem;
      font-weight: 600;
    }

    .urgency-text {
      color: #ff6600;
      font-size: 0.9rem;
      font-weight: 500;
      margin-bottom: 20px;
    }

    /* Formulário */
    .form-container {
      background: rgba(20, 20, 20, 0.95);
      border-radius: 20px;
      padding: 40px;
      box-shadow: 0 0 25px rgba(179, 0, 0, 0.4);
      border: 2px solid #333;
    }

    .form-title {
      color: #ff4500;
      font-size: 1.8rem;
      text-align: center;
      margin-bottom: 30px;
      font-weight: 600;
    }

    .form-group {
      margin-bottom: 25px;
    }

    .form-row {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
      gap: 20px;
    }

    label {
      display: block;
      color: #ff6600;
      margin-bottom: 8px;
      font-weight: 500;
      font-size: 1rem;
    }
    input, select, textarea {
      width: 100%;
      padding: 12px 15px;
      border: 1px solid rgba(255,69,0,0.12);
      border-radius: 8px;
      background: rgba(255,255,255,0.04);
      color: #fff;
      font-size: 1rem;
      transition: box-shadow 0.2s ease, border-color 0.2s ease;
      font-family: 'Poppins', sans-serif;
    }

    input:focus, select:focus, textarea:focus {
      outline: none;
      border-color: #ff4500;
      box-shadow: 0 0 10px rgba(255, 69, 0, 0.12);
    }

    .checkbox-group {
      display: flex;
      align-items: center;
      gap: 10px;
      margin-top: 10px;
    }

    .checkbox-group input[type="checkbox"] {
      width: auto;
      transform: scale(1.2);
    }

    .submit-btn {
      width: 100%;
      padding: 20px;
      background: linear-gradient(45deg, #2a0000, #450000, #600000, #ff4500);
      background-size: 300% 300%;
      border: 2px solid #ff4500;
      border-radius: 15px;
      color: #fff;
      font-family: 'Metal Mania', cursive !important;
      font-size: 1.3rem;
      font-weight: 700;
      cursor: pointer;
      transition: all 0.3s ease;
      margin-top: 25px;
      text-transform: uppercase;
      letter-spacing: 2px;
      box-shadow: 0 8px 20px rgba(42, 0, 0, 0.6), inset 0 0 20px rgba(255,69,0,0.2);
      animation: gradientShift 3s ease infinite, spookyGlow 2s ease-in-out infinite alternate;
      text-shadow: 2px 2px 4px rgba(0,0,0,0.8), 0 0 10px rgba(255,69,0,0.5);
    }

    @keyframes gradientShift {
      0% { background-position: 0% 50%; }
      50% { background-position: 100% 50%; }
      100% { background-position: 0% 50%; }
    }

    @keyframes spookyGlow {
      0% { 
        box-shadow: 0 8px 20px rgba(42, 0, 0, 0.6), inset 0 0 20px rgba(255,69,0,0.2);
      }
      100% { 
        box-shadow: 0 8px 30px rgba(255, 69, 0, 0.8), inset 0 0 30px rgba(255,69,0,0.4);
      }
    }

    .submit-btn:hover {
      transform: translateY(-3px) scale(1.02);
      box-shadow: 0 15px 40px rgba(255, 69, 0, 0.8), inset 0 0 30px rgba(255,69,0,0.4);
      animation-duration: 0.5s;
      border-color: #ff6600;
      text-shadow: 2px 2px 4px rgba(0,0,0,0.9), 0 0 15px rgba(255,69,0,0.8);
    }

    .submit-btn:active {
      transform: translateY(0);
    }

    /* Container dos botões de envio */
    .submit-container {
      text-align: center;
      margin-top: 20px;
    }

    .whatsapp-options {
      margin-top: 15px;
      display: none; /* Inicialmente oculto */
    }

    .whatsapp-buttons {
      display: flex;
      gap: 10px;
      justify-content: center;
      flex-wrap: wrap;
    }

    .whatsapp-btn {
      background: linear-gradient(45deg, #25D366, #128C7E);
      color: white;
      border: none;
      padding: 12px 20px;
      border-radius: 25px;
      font-family: 'Poppins', sans-serif;
      font-weight: 600;
      font-size: 0.9rem;
      cursor: pointer;
      transition: all 0.3s ease;
      box-shadow: 0 4px 15px rgba(37, 211, 102, 0.3);
      min-width: 140px;
    }

    .whatsapp-btn:hover {
      background: linear-gradient(45deg, #1fa855, #0a6b5d);
      transform: translateY(-2px);
      box-shadow: 0 6px 20px rgba(37, 211, 102, 0.4);
    }

    .whatsapp-btn:active {
      transform: scale(0.98);
    }

    .back-btn {
      background: linear-gradient(45deg, #666, #444);
      color: white;
      border: none;
      padding: 12px 20px;
      border-radius: 25px;
      font-family: 'Poppins', sans-serif;
      font-weight: 600;
      font-size: 0.9rem;
      cursor: pointer;
      transition: all 0.3s ease;
      box-shadow: 0 4px 15px rgba(102, 102, 102, 0.3);
      min-width: 140px;
    }

    .back-btn:hover {
      background: linear-gradient(45deg, #555, #333);
      transform: translateY(-2px);
      box-shadow: 0 6px 20px rgba(102, 102, 102, 0.4);
    }

    .back-btn:active {
      transform: scale(0.98);
    }

    /* Estilo para dispositivos móveis */
    @media (max-width: 768px) {
      .whatsapp-buttons {
        flex-direction: column;
        align-items: center;
      }
      
      .whatsapp-btn, .back-btn {
        width: 100%;
        max-width: 200px;
        margin-bottom: 8px;
      }
    }

    /* Contador Regressivo */
    .countdown-container {
      background: rgba(20, 20, 20, 0.95);
      border-radius: 20px;
      padding: 40px;
      margin-bottom: 30px;
      box-shadow: 0 0 25px rgba(179, 0, 0, 0.4);
      border: 2px solid #333;
      text-align: center;
    }

    .countdown-title {
      color: #ff4500;
      font-size: 1.8rem;
      margin-bottom: 20px;
      font-family: 'Creepster', cursive;
      text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8);
    }

    .countdown-display {
      display: flex;
      justify-content: center;
      gap: 20px;
      margin-bottom: 25px;
      flex-wrap: wrap;
    }

    .countdown-item {
      background: rgba(179, 0, 0, 0.2);
      border: 2px solid #ff4500;
      border-radius: 15px;
      padding: 20px;
      min-width: 100px;
      transition: all 0.3s ease;
    }

    .countdown-item:hover {
      transform: scale(1.05);
      box-shadow: 0 0 20px rgba(255, 69, 0, 0.4);
    }

    .countdown-number {
      font-size: 2.5rem;
      font-weight: 700;
      color: #ff4500;
      display: block;
      line-height: 1;
      margin-bottom: 8px;
    }

    .countdown-label {
      font-size: 0.9rem;
      color: #ddd;
      text-transform: uppercase;
      letter-spacing: 1px;
    }

    .event-address {
      background: 
        linear-gradient(135deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.7) 100%),
        url('banner2.webp') center/cover no-repeat;
      padding: 25px;
      border-radius: 12px;
      border: 2px solid rgba(139, 0, 0, 0.6);
      border-left: 4px solid #8b0000;
      margin-top: 20px;
      position: relative;
      overflow: hidden;
      box-shadow: 
        inset 0 2px 10px rgba(139, 0, 0, 0.3),
        0 5px 20px rgba(0, 0, 0, 0.5);
      backdrop-filter: blur(2px);
    }

    .event-address::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 3px;
      background: linear-gradient(90deg, 
        transparent 0%, 
        rgba(139, 0, 0, 0.8) 20%, 
        rgba(220, 20, 60, 0.8) 50%, 
        rgba(139, 0, 0, 0.8) 80%, 
        transparent 100%);
      animation: bloodDrip 3s ease-in-out infinite;
    }

    @keyframes bloodDrip {
      0%, 100% { opacity: 0.6; transform: translateY(0); }
      50% { opacity: 1; transform: translateY(2px); }
    }

    .event-address h4 {
      color: #ff4500;
      margin-bottom: 15px;
      font-size: 1.3rem;
      text-shadow: 0 0 10px rgba(255, 69, 0, 0.5);
      position: relative;
    }

    .event-address p {
      color: #e0e0e0;
      line-height: 1.9;
      font-size: 1rem;
      position: relative;
      z-index: 2;
      text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.8);
    }

    /* Radio buttons para tamanho da camisa */
    .radio-group {
      display: flex;
      gap: 15px;
      flex-wrap: wrap;
      margin-top: 10px;
    }

    .radio-option {
      position: relative;
    }

    .radio-option input[type="radio"] {
      position: absolute;
      opacity: 0;
      width: 0;
      height: 0;
    }

    .radio-label {
      display: inline-block;
      padding: 12px 24px;
      background: rgba(40, 40, 40, 0.9);
      border: 2px solid #444;
      border-radius: 10px;
      cursor: pointer;
      transition: all 0.3s ease;
      font-weight: 500;
      color: #ddd;
    }

    .radio-option input[type="radio"]:checked + .radio-label {
      background: #ff4500;
      border-color: #ff4500;
      color: #fff;
      transform: scale(1.05);
    }

    .radio-label:hover {
      border-color: #ff4500;
      transform: translateY(-2px);
    }

    .hidden {
      display: none;
    }

    /* Estilos para Seção de Acompanhantes */
    .acompanhantes-section {
      background: rgba(20, 20, 20, 0.8);
      border: 1px solid rgba(255, 102, 0, 0.2);
      border-radius: 10px;
      padding: 20px;
      margin: 15px 0;
    }

    .acompanhante-card {
      background: rgba(28, 28, 28, 0.9);
      border: 1px solid rgba(255, 69, 0, 0.15);
      border-radius: 8px;
      padding: 20px;
      margin-bottom: 15px;
      position: relative;
      transition: border-color 0.3s ease;
    }

    .acompanhante-card:hover {
      border-color: rgba(255, 69, 0, 0.3);
    }

    .acompanhante-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-bottom: 15px;
      color: #ff6600;
      font-weight: 600;
    }

    .acompanhante-numero {
      font-size: 1.1rem;
      font-family: 'Creepster', cursive;
    }

    .remove-acompanhante {
      background: #b30000;
      color: white;
      border: none;
      border-radius: 50%;
      width: 25px;
      height: 25px;
      cursor: pointer;
      font-size: 14px;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: background 0.3s ease;
    }

    .remove-acompanhante:hover {
      background: #e60000;
      transform: scale(1.1);
    }

    .acompanhante-form-row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 15px;
      margin-bottom: 15px;
    }

    .acompanhante-form-group {
      display: flex;
      flex-direction: column;
    }

    .acompanhante-form-group label {
      color: #ff6600;
      font-size: 0.9rem;
      margin-bottom: 5px;
      font-weight: 500;
    }

    .acompanhante-form-group input,
    .acompanhante-form-group select {
      padding: 10px 12px;
      font-size: 0.95rem;
      background: rgba(255, 255, 255, 0.06);
      border: 1px solid rgba(255, 69, 0, 0.1);
      border-radius: 6px;
      color: #fff;
      transition: border-color 0.3s ease, box-shadow 0.3s ease;
    }

    .acompanhante-form-group input:focus,
    .acompanhante-form-group select:focus {
      border-color: #ff4500;
      box-shadow: 0 0 8px rgba(255, 69, 0, 0.15);
      outline: none;
    }

    .acompanhante-form-group input::placeholder {
      color: #999;
    }

    @media (max-width: 768px) {
      .acompanhante-form-row {
        grid-template-columns: 1fr;
        gap: 10px;
      }
    }

    /* Footer */
    .footer {
      text-align: center;
      padding: 30px;
      color: var(--muted-100);
      font-size: 0.9rem;
    }

    /* Responsividade */
    @media (max-width: 768px) {
      .banner-container {
        height: 280px;
      }

      .event-title {
        font-size: 2rem;
        bottom: 60px;
      }

      .event-date {
        font-size: 1rem;
        bottom: 30px;
      }

      .banner-overlay {
        padding: 40px 15px 20px;
      }

      .shirt-models {
        grid-template-columns: 1fr;
      }

      .model-image {
        max-width: 200px;
      }

      .info-grid {
        grid-template-columns: 1fr;
      }
      
      .form-row {
        grid-template-columns: 1fr;
      }
      
      .event-info, .form-container, .shirt-promo {
        padding: 25px;
      }
      
      .price-container {
        flex-direction: column;
        gap: 10px;
      }
    }

    /* Estilos para Marketing da Blusa */
    .shirt-marketing {
      text-align: center;
      margin: 20px 0;
      padding: 15px;
      background: linear-gradient(135deg, rgba(255, 69, 0, 0.1), rgba(179, 0, 0, 0.1));
      border-radius: 15px;
      border: 2px solid rgba(255, 69, 0, 0.3);
    }

    .marketing-badge {
      display: inline-block;
      background: linear-gradient(45deg, #ff4500, #ff6600);
      color: white;
      padding: 8px 15px;
      border-radius: 20px;
      font-weight: bold;
      font-size: 0.9rem;
      margin-bottom: 10px;
      animation: pulse 2s infinite;
      box-shadow: 0 0 15px rgba(255, 69, 0, 0.5);
    }

    .marketing-text {
      color: #ddd;
      font-size: 0.95rem;
      line-height: 1.6;
      margin: 0;
    }

    /* Estilos do Card do Modelo */
    .model-card {
      position: relative;
      cursor: pointer;
      transition: all 0.3s ease;
      border-radius: 15px;
      overflow: hidden;
    }

    .model-card:hover {
      transform: translateY(-10px) scale(1.05);
      box-shadow: 0 15px 40px rgba(255, 69, 0, 0.4);
    }

    .model-card-inner {
      position: relative;
      overflow: hidden;
      border-radius: 15px;
    }

    .model-overlay {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: rgba(0,0,0,0.55);
      display: flex;
      align-items: center;
      justify-content: center;
      opacity: 0;
      transition: all 0.3s ease;
    }

    .model-card:hover .model-overlay {
      opacity: 1;
    }

    .overlay-content {
      text-align: center;
      color: white;
      font-weight: bold;
    }

    .overlay-content p {
      margin: 0 0 5px 0;
      font-size: 1.1rem;
    }

    .overlay-content small {
      font-size: 0.8rem;
      opacity: 0.9;
    }

    .model-subtitle {
      color: #ff6600;
      font-size: 0.8rem;
      margin: 5px 0 0 0;
      font-style: italic;
    }

    /* Estilos do Modal */
    .modal {
      display: none;
      position: fixed;
      z-index: 9999;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.75);
      animation: fadeIn 0.3s ease;
    }

    @keyframes fadeIn {
      from { opacity: 0; }
      to { opacity: 1; }
    }

    .modal-content {
      background: var(--card-bg);
      margin: 2% auto;
      padding: 0;
      border-radius: 20px;
      width: 90%;
      max-width: 900px;
      max-height: 90vh;
      overflow-y: auto;
      border: 3px solid #ff4500;
      box-shadow: 0 0 50px rgba(255, 69, 0, 0.8);
      animation: slideIn 0.3s ease;
      /* Scroll laranja personalizado */
      scrollbar-width: thin;
      scrollbar-color: #ff4500 #2d2d2d;
    }

    /* Scrollbar personalizada para webkit (Chrome, Safari, Edge) */
    .modal-content::-webkit-scrollbar {
      width: 12px;
    }

    .modal-content::-webkit-scrollbar-track {
      background: #2d2d2d;
      border-radius: 10px;
    }

    .modal-content::-webkit-scrollbar-thumb {
      background: linear-gradient(45deg, #ff4500, #ff6600);
      border-radius: 10px;
      border: 2px solid #2d2d2d;
    }

    .modal-content::-webkit-scrollbar-thumb:hover {
      background: linear-gradient(45deg, #ff6600, #ff8800);
    }

    /* Restore scrollbar for shirt modal so users can scroll */
    #shirtModal .modal-content {
      overflow-y: auto;
    }

    @media (max-width: 800px) {
      #shirtModal .modal-content {
        width: 95%;
        max-width: 520px;
      }
    }

    @keyframes slideIn {
      from { transform: translateY(-50px); opacity: 0; }
      to { transform: translateY(0); opacity: 1; }
    }

    .modal-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 20px 25px;
      background: var(--bg-800);
      border-radius: 17px 17px 0 0;
      color: var(--muted-100);
    }

    .modal-header h2 {
      margin: 0;
      font-family: 'Creepster', cursive;
      font-size: 1.8rem;
      text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
    }

    .close {
      color: white;
      float: right;
      font-size: 35px;
      font-weight: bold;
      cursor: pointer;
      line-height: 1;
      transition: all 0.3s ease;
    }

    .close:hover {
      color: #ffdddd;
      transform: scale(1.1);
    }

    .modal-body {
      padding: 25px;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 30px;
      color: var(--muted-100);
    }

    .modal-image-section {
      position: relative;
      text-align: center;
    }

    .modal-image {
      width: 100%;
      max-width: 350px;
      border-radius: 15px;
      box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
      transition: all 0.3s ease;
    }

    .modal-image:hover {
      transform: scale(1.05);
    }

    .image-badges {
      display: flex;
      flex-direction: column;
      gap: 10px;
      margin-top: 15px;
    }

    .badge {
      display: inline-block;
      padding: 8px 15px;
      border-radius: 20px;
      font-weight: bold;
      font-size: 0.8rem;
      text-align: center;
    }

    .badge.limited {
      background: linear-gradient(45deg, #ff4500, #ff6600);
      color: white;
      animation: pulse 2s infinite;
    }

    .badge.premium {
      background: linear-gradient(45deg, #ffd700, #ffed4e);
      color: #333;
    }

    .modal-details {
      overflow-y: auto;
    }

    .product-title h3 {
      color: #ff4500;
      font-family: 'Creepster', cursive;
      font-size: 1.6rem;
      margin: 0 0 5px 0;
      text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
    }

    .product-subtitle {
      color: #ccc;
      font-size: 1rem;
      margin: 0 0 20px 0;
      font-style: italic;
    }

    .features-list h4 {
      color: #ff6600;
      margin: 20px 0 10px 0;
      font-size: 1.2rem;
    }

    .features-list ul {
      list-style: none;
      padding: 0;
    }

    .features-list li {
      padding: 8px 0;
      border-bottom: 1px solid rgba(255, 255, 255, 0.1);
      color: #ddd;
      font-size: 0.95rem;
    }

    .pricing-info {
      margin: 25px 0;
      padding: 20px;
      background: rgba(255, 69, 0, 0.1);
      border-radius: 15px;
      border: 2px solid rgba(255, 69, 0, 0.3);
    }

    .pricing-info h4 {
      color: #ff6600;
      margin: 0 0 15px 0;
      font-size: 1.2rem;
    }

    /* Estilos para a nova seção de exclusividade */
    .exclusive-info {
      margin: 25px 0;
      padding: 20px;
      background: rgba(255, 69, 0, 0.1);
      border-radius: 15px;
      border: 2px solid rgba(255, 69, 0, 0.3);
    }

    .exclusive-info h4 {
      color: #ff6600;
      margin: 0 0 15px 0;
      font-size: 1.2rem;
    }

    .exclusive-details {
      display: flex;
      gap: 15px;
      flex-direction: column;
    }

    .detail-item {
      background: rgba(255, 255, 255, 0.05);
      padding: 15px;
      border-radius: 10px;
      border: 2px solid rgba(255, 255, 255, 0.1);
      transition: all 0.3s ease;
    }

    .detail-item:hover {
      border-color: rgba(255, 69, 0, 0.5);
      background: rgba(255, 69, 0, 0.1);
    }

    .detail-type {
      font-weight: bold;
      color: #ff6600;
      font-size: 0.9rem;
      margin-bottom: 5px;
    }

    .detail-note {
      font-size: 0.85rem;
      color: #ccc;
      font-style: italic;
    }

    .price-options {
      display: flex;
      gap: 15px;
      flex-direction: column;
    }

    .price-option {
      background: rgba(255, 255, 255, 0.05);
      padding: 15px;
      border-radius: 10px;
      border: 2px solid rgba(255, 255, 255, 0.1);
      transition: all 0.3s ease;
    }

    .price-option.highlighted {
      border-color: #ff4500;
      background: rgba(255, 69, 0, 0.1);
      box-shadow: 0 0 15px rgba(255, 69, 0, 0.3);
    }

    .price-type {
      font-weight: bold;
      color: #ff6600;
      font-size: 0.9rem;
    }

    .price-value {
      font-size: 1.8rem;
      font-weight: bold;
      color: #fff;
      margin: 5px 0;
    }

    .price-note {
      font-size: 0.8rem;
      color: #ccc;
      font-style: italic;
    }

    .availability-warning {
      margin: 20px 0;
    }

    .warning-box {
      background: linear-gradient(45deg, rgba(255, 69, 0, 0.2), rgba(255, 0, 0, 0.2));
      border: 2px solid #ff4500;
      border-radius: 10px;
      padding: 15px;
      text-align: center;
      color: #fff;
      font-size: 0.9rem;
      line-height: 1.5;
    }

    .modal-actions {
      display: flex;
      gap: 15px;
      margin-top: 25px;
    }

    .btn-primary, .btn-secondary {
      flex: 1;
      padding: 15px 20px;
      border: none;
      border-radius: 25px;
      font-weight: bold;
      font-size: 1rem;
      cursor: pointer;
      transition: all 0.3s ease;
      font-family: 'Poppins', sans-serif;
    }

    .btn-primary {
      background: linear-gradient(45deg, #ff4500, #ff6600);
      color: white;
      box-shadow: 0 4px 15px rgba(255, 69, 0, 0.4);
    }

    .btn-primary:hover {
      background: linear-gradient(45deg, #e63900, #ff5500);
      transform: translateY(-2px);
      box-shadow: 0 6px 20px rgba(255, 69, 0, 0.6);
    }

    .btn-secondary {
      background: rgba(255, 255, 255, 0.1);
      color: #ccc;
      border: 2px solid rgba(255, 255, 255, 0.3);
    }

    .btn-secondary:hover {
      background: rgba(255, 255, 255, 0.2);
      color: white;
    }

    /* Responsividade do Modal */
    @media (max-width: 768px) {
      .modal-content {
        width: 95%;
        margin: 5% auto;
        max-height: 95vh;
      }

      .modal-body {
        grid-template-columns: 1fr;
        gap: 20px;
        padding: 20px;
      }

      .modal-header h2 {
        font-size: 1.4rem;
      }

      .price-options {
        gap: 10px;
      }

      .modal-actions {
        flex-direction: column;
      }
    }

    /* Estilos da Caixa Promocional no Formulário */
    .shirt-promotion-box {
      background: var(--card-bg);
      border: 3px solid #ff4500;
      border-radius: 20px;
      padding: 25px;
      margin: 20px 0;
      position: relative;
      overflow: hidden;
    }

    .shirt-promotion-box::before {
      content: '';
      position: absolute;
      top: -50%;
      left: -50%;
      width: 200%;
      height: 200%;
      background: linear-gradient(45deg, transparent, rgba(255, 69, 0, 0.05), transparent);
      animation: shimmer 3s infinite;
    }

    @keyframes shimmer {
      0% { transform: translateX(-100%) translateY(-100%) rotate(45deg); }
      100% { transform: translateX(100%) translateY(100%) rotate(45deg); }
    }

    .promotion-header {
      text-align: center;
      margin-bottom: 20px;
      position: relative;
      z-index: 2;
    }

    .promotion-header h3 {
      color: #ff4500;
      font-family: 'Creepster', cursive;
      font-size: 1.6rem;
      margin: 0 0 15px 0;
      text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
    }

    .promotion-badges {
      display: flex;
      justify-content: center;
      gap: 10px;
      flex-wrap: wrap;
    }

    .promo-badge {
      display: inline-block;
      padding: 6px 12px;
      border-radius: 15px;
      font-weight: bold;
      font-size: 0.8rem;
      text-align: center;
      animation: pulse 2s infinite;
    }

    .promo-badge.hot {
      background: linear-gradient(45deg, #ff4500, #ff0000);
      color: white;
      box-shadow: 0 0 10px rgba(255, 69, 0, 0.5);
    }

    .promo-badge.discount {
      background: linear-gradient(45deg, #00ff00, #32cd32);
      color: #000;
      box-shadow: 0 0 10px rgba(0, 255, 0, 0.3);
    }

    .promotion-details {
      background: rgba(0, 0, 0, 0.3);
      border-radius: 15px;
      padding: 15px;
      margin: 15px 0;
      border-left: 4px solid #ff4500;
      position: relative;
      z-index: 2;
    }

    .promotion-details p {
      margin: 8px 0;
      color: #ddd;
      font-size: 0.95rem;
      line-height: 1.5;
    }

    .promotion-details strong {
      color: #ff6600;
    }

    .checkbox-group-enhanced {
      margin-top: 20px;
      position: relative;
      z-index: 2;
    }

    .enhanced-checkbox-label {
      display: flex;
      flex-direction: column;
      align-items: center;
      background: rgba(255,69,0,0.06);
      border: 2px solid rgba(255,69,0,0.14);
      border-radius: 15px;
      padding: 15px 20px;
      cursor: pointer;
      transition: all 0.3s ease;
      margin: 0;
    }

    .enhanced-checkbox-label:hover {
      background: rgba(255,69,0,0.09);
      transform: translateY(-2px);
      box-shadow: 0 6px 18px rgba(0,0,0,0.45);
    }

    #querCamisa:checked + .enhanced-checkbox-label {
      background: rgba(255,69,0,0.12);
      border-color: rgba(255,102,0,0.28);
      box-shadow: 0 0 12px rgba(255, 69, 0, 0.28);
    }

    .checkbox-text {
      color: var(--muted-100);
      font-size: 1.1rem;
      font-weight: bold;
      text-align: center;
      margin-bottom: 5px;
    }

    .checkbox-subtext {
      color: #ccc;
      font-size: 0.85rem;
      font-style: italic;
      text-align: center;
    }

    /* Responsividade da Promoção */
    @media (max-width: 768px) {
      .shirt-promotion-box {
        padding: 20px 15px;
        margin: 15px 0;
      }

      .promotion-header h3 {
        font-size: 1.3rem;
      }

      .promotion-badges {
        flex-direction: column;
        align-items: center;
        gap: 8px;
      }

      .promo-badge {
        font-size: 0.75rem;
        padding: 5px 10px;
      }

      .promotion-details {
        padding: 12px;
      }

      .promotion-details p {
        font-size: 0.9rem;
      }

      .enhanced-checkbox-label {
        padding: 12px 15px;
      }

      .checkbox-text {
        font-size: 1rem;
      }

      .checkbox-subtext {
        font-size: 0.8rem;
      }
    }

    /* ========================================
       SEÇÃO DO CONCURSO NO FORMULÁRIO PRINCIPAL
    ======================================== */
    .contest-participation-box {
      background: var(--card-bg);
      border: 3px solid rgba(255,69,0,0.18);
      border-radius: 16px;
      padding: 25px;
      margin: 20px 0;
      position: relative;
      backdrop-filter: blur(10px);
      box-shadow: 0 6px 18px rgba(0,0,0,0.45);
    }

    .contest-participation-box::before {
      display: none;
    }

    @keyframes contestBorderFlow {
      0% { background-position: 0% 50%; }
      50% { background-position: 100% 50%; }
      100% { background-position: 0% 50%; }
    }

    .contest-header-section {
      text-align: center;
      margin-bottom: 20px;
    }

    .contest-header-section h3 {
      font-family: 'Nosifer', cursive !important;
      color: var(--muted-100);
      font-size: 1.5rem;
      font-weight: 700;
      margin-bottom: 15px;
      text-shadow: 2px 2px 4px rgba(0,0,0,0.8);
      letter-spacing: 3px;
    }

    @keyframes titleShine {
      0% { 
        filter: brightness(1) saturate(1);
      }
      100% { 
        filter: brightness(1.2) saturate(1.3);
      }
    }

    .contest-badges {
      display: flex;
      justify-content: center;
      gap: 10px;
      flex-wrap: wrap;
    }

    .contest-badge {
      background: linear-gradient(45deg, #2a0000, #450000);
      color: #fff;
      padding: 6px 12px;
      border-radius: 15px;
      font-size: 0.8rem;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.5px;
      border: 1px solid rgba(255,255,255,0.2);
      box-shadow: 0 2px 8px rgba(42,0,0,0.3);
    }

    /* ========================================
       GALERIA DOS VENCEDORES
    ======================================== */
    .previous-winners-section {
      margin: 20px 0;
      padding: 20px;
      background: linear-gradient(45deg, rgba(42,0,0,0.1), rgba(69,0,0,0.1));
      border-radius: 12px;
      border: 1px solid rgba(255,215,0,0.2);
    }

    .winners-gallery {
      display: flex;
      gap: 20px;
      justify-content: center;
      flex-wrap: wrap;
    }

    .winner-item {
      position: relative;
      width: 200px;
      height: 200px;
      border-radius: 15px;
      overflow: hidden;
      cursor: pointer;
      transition: all 0.3s ease;
      border: 2px solid #8B0000;
      box-shadow: 0 5px 15px  #660000;
    }

    .winner-item:hover {
      transform: translateY(-5px) scale(1.05);
      box-shadow: 0 10px 25px #8B0000;
      border-color: #ff4500;
    }

    .winner-image {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 0.3s ease;
    }

    .winner-item:hover .winner-image {
      transform: scale(1.1);
    }

    .winner-overlay {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      background: linear-gradient(to top, rgba(0,0,0,0.7), transparent);
      color: var(--muted-100);
      padding: 15px 10px 10px;
      text-align: center;
      transform: translateY(100%);
      transition: transform 0.3s ease;
    }

    .winner-item:hover .winner-overlay {
      transform: translateY(0);
    }

    .winner-overlay p {
      margin: 0;
      font-weight: 700;
      font-size: 0.9rem;
      color: #ff6600;
    }

    .winner-overlay small {
      color: #ccc;
      font-size: 0.7rem;
    }

    .view-all-btn {
      background: black;
      color: var(--muted-100);
      border: none;
      padding: 12px 25px;
      border-radius: 25px;
      font-weight: 700;
      font-size: 0.9rem;
      cursor: pointer;
      transition: all 0.3s ease;
      text-transform: uppercase;
      letter-spacing: 1px;
      font-family: 'Creepster', cursive;
      box-shadow: 0 4px 12px rgba(0,0,0,0.45);
    }

    .view-all-btn:hover {
      transform: translateY(-2px);
      box-shadow: 0 6px 18px rgba(0,0,0,0.55);
      filter: brightness(1.05);
    }

    /* Responsivo */
    @media (max-width: 768px) {
      .winner-item {
        width: 150px;
        height: 150px;
      }
      
      .winners-gallery {
        gap: 15px;
      }
    }

    .contest-badge {
        text-transform: uppercase;
        letter-spacing: 0.5px;
        border: 1px solid rgba(255,255,255,0.2);
        box-shadow: 0 2px 8px rgba(42,0,0,0.3);
    }

    .contest-badge.featured {
        background: linear-gradient(145deg, #8B0000, #A0000A) !important;
        color: white;
    }

    .contest-badge.prizes {
        background: linear-gradient(145deg, #8B0000, #A0000A) !important;
    }

    .contest-details {
      background: rgba(0,0,0,0.4);
      border-radius: 12px;
      padding: 20px;
      margin: 15px 0;
      border-left: 4px solid #8A2BE2;
    }

    .contest-details p {
      color: #fff;
      line-height: 1.6;
      margin-bottom: 8px;
    }

    .contest-details p:last-child {
      margin-bottom: 0;
    }

    .contest-checkbox {
      background: linear-gradient(145deg, rgba(75,0,130,0.2), rgba(138,43,226,0.1)) !important;
      border: 2px solid #7c637f !important;
    }

    /* ========================================
       SEÇÃO DE INFORMAÇÕES DO EVENTO
    ======================================== */
    .event-info-box {
      background: var(--card-bg);
      border: 3px solid rgba(255,106,0,0.25);
      border-radius: 16px;
      padding: 30px;
      margin: 20px 0;
      position: relative;
      backdrop-filter: blur(10px);
      box-shadow: 0 6px 18px rgba(0,0,0,0.45);
    }

    .event-info-box h3 {
      font-family: 'Nosifer', cursive !important;
      color: var(--muted-100);
      font-size: 1.8rem;
      font-weight: 700;
      text-align: center;
      margin-bottom: 30px;
      text-shadow: 2px 2px 4px rgba(0,0,0,0.8);
      letter-spacing: 2px;
    }

    /* Open Bar Banner Completo - SEM BORDAS */
    .openbar-banner-full {
      position: relative;
      width: 100%;
      margin: 0 -30px 30px -30px;
      overflow: hidden;
      border-radius: 0;
    }

    .openbar-banner-image {
      width: 100%;
      height: auto;
      min-height: 250px;
      max-height: 400px;
      object-fit: cover;
      display: block;
    }

    .openbar-banner-overlay {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      background: linear-gradient(to top, rgba(0,0,0,0.9), transparent);
      padding: 30px;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .openbar-banner-text {
      text-align: center;
      width: 100%;
    }

    .openbar-banner-text p {
      font-size: 1.3rem;
      line-height: 1.6;
      margin: 0;
      font-weight: 700;
      transition: all 0.3s ease;
    }

    .openbar-default {
      color: var(--muted-100);
      text-shadow: 2px 2px 8px rgba(0,0,0,0.8);
    }

    .openbar-adult {
      color: #FFD700 !important;
      font-size: 1.5rem !important;
      animation: glow 2s ease-in-out infinite;
      text-shadow: 0 0 10px rgba(255,215,0,0.8), 2px 2px 8px rgba(0,0,0,0.8);
    }

    .openbar-minor {
      color: #87CEEB !important;
      font-size: 1.5rem !important;
      text-shadow: 0 0 10px rgba(135,206,235,0.6), 2px 2px 8px rgba(0,0,0,0.8);
    }

    @keyframes glow {
      0%, 100% {
        text-shadow: 0 0 10px rgba(255,215,0,0.8), 2px 2px 8px rgba(0,0,0,0.8);
      }
      50% {
        text-shadow: 0 0 25px rgba(255,215,0,1), 0 0 35px rgba(255,215,0,0.8), 2px 2px 8px rgba(0,0,0,0.8);
      }
    }

    /* Outros Destaques */
    .event-highlights {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
      gap: 20px;
      margin-bottom: 30px;
    }

    .highlight-item {
      background: rgba(0,0,0,0.4);
      border: 2px solid rgba(255,106,0,0.3);
      border-radius: 12px;
      padding: 20px;
      display: flex;
      align-items: flex-start;
      gap: 15px;
      transition: all 0.3s ease;
    }

    .highlight-item:hover {
      transform: translateY(-5px);
      border-color: rgba(255,106,0,0.6);
      box-shadow: 0 6px 20px rgba(255,106,0,0.2);
    }

    .highlight-icon {
      font-size: 2.5rem;
      line-height: 1;
      flex-shrink: 0;
    }

    .highlight-content {
      flex: 1;
    }

    .highlight-content strong {
      display: block;
      color: var(--accent-600);
      font-size: 1.1rem;
      margin-bottom: 8px;
      font-family: 'Creepster', cursive;
      letter-spacing: 1px;
    }

    .highlight-content p {
      color: var(--muted-300);
      margin: 0;
      line-height: 1.5;
      font-size: 0.95rem;
    }

    /* Seção de Elegibilidade */
    .eligibility-section {
      background: rgba(0,0,0,0.3);
      border-radius: 12px;
      padding: 25px;
      margin-top: 20px;
    }

    .eligibility-section h4 {
      color: var(--accent-600);
      font-family: 'Creepster', cursive;
      font-size: 1.3rem;
      text-align: center;
      margin-bottom: 20px;
      letter-spacing: 1px;
    }

    .info-note {
      background: rgba(255,106,0,0.1);
      border-left: 4px solid var(--accent-600);
      padding: 12px 15px;
      margin-top: 15px;
      border-radius: 6px;
      color: var(--muted-300);
      font-size: 0.9rem;
    }

    .info-note em {
      color: var(--muted-100);
      font-style: normal;
      font-weight: 600;
    }

    /* Responsivo */
    @media (max-width: 768px) {
      .event-highlights {
        grid-template-columns: 1fr;
      }

      .event-info-box {
        padding: 20px;
      }

      .event-info-box h3 {
        font-size: 1.4rem;
      }

      .openbar-banner-full {
        margin: 0 -20px 20px -20px;
      }

      .openbar-banner-image {
        min-height: 180px;
        max-height: 250px;
      }

      .openbar-banner-overlay {
        padding: 20px 15px;
      }

      .openbar-banner-text p {
        font-size: 1rem;
      }

      .openbar-adult,
      .openbar-minor {
        font-size: 1.1rem !important;
      }

      .highlight-icon {
        font-size: 2rem;
      }
    }



    /* ========================================
       SEÇÃO DE INFORMAÇÕES DO EVENTO
    ======================================== */
    .event-info-box {
      background: var(--card-bg);
      border: 3px solid rgba(255,106,0,0.25);
      border-radius: 16px;
      padding: 30px;
      margin: 20px 0;
      position: relative;
      backdrop-filter: blur(10px);
      box-shadow: 0 6px 18px rgba(0,0,0,0.45);
    }

    .event-info-box h3 {
      font-family: 'Nosifer', cursive !important;
      color: var(--muted-100);
      font-size: 1.8rem;
      font-weight: 700;
      text-align: center;
      margin-bottom: 30px;
      text-shadow: 2px 2px 4px rgba(0,0,0,0.8);
      letter-spacing: 2px;
    }

    .event-highlights {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
      gap: 20px;
      margin-bottom: 30px;
    }

    .highlight-item {
      background: rgba(0,0,0,0.4);
      border: 2px solid rgba(255,106,0,0.3);
      border-radius: 12px;
      padding: 20px;
      display: flex;
      align-items: flex-start;
      gap: 15px;
      transition: all 0.3s ease;
    }

    .highlight-item:hover {
      transform: translateY(-5px);
      border-color: rgba(255,106,0,0.6);
      box-shadow: 0 6px 20px rgba(255,106,0,0.2);
    }

    .highlight-icon {
      font-size: 2.5rem;
      line-height: 1;
      flex-shrink: 0;
    }

    .highlight-content {
      flex: 1;
    }

    .highlight-content strong {
      display: block;
      color: var(--accent-600);
      font-size: 1.1rem;
      margin-bottom: 8px;
      font-family: 'Creepster', cursive;
      letter-spacing: 1px;
    }

    .highlight-content p {
      color: var(--muted-300);
      margin: 0;
      line-height: 1.5;
      font-size: 0.95rem;
    }

    /* Estilos especiais para o Open Bar */
    .highlight-openbar {
      background: linear-gradient(135deg, rgba(255,106,0,0.1), rgba(0,0,0,0.4));
      border: 2px solid rgba(255,106,0,0.4);
    }

    .openbar-image-wrapper {
      flex-shrink: 0;
      width: 150px;
      height: 150px;
      display: flex;
      align-items: center;
      justify-content: center;
      border-radius: 12px;
      background: rgba(255,106,0,0.1);
      overflow: hidden;
      box-shadow: 0 4px 15px rgba(255,106,0,0.3);
      border: 2px solid rgba(255,106,0,0.4);
    }

    .openbar-image {
      width: 100%;
      height: 100%;
      object-fit: contain;
      transition: transform 0.3s ease;
    }

    .highlight-openbar:hover .openbar-image {
      transform: scale(1.1) rotate(5deg);
    }

    .openbar-default,
    .openbar-adult,
    .openbar-minor {
      transition: all 0.3s ease;
    }

    .openbar-adult {
      color: #FFD700 !important;
      font-weight: 600;
      animation: glow 2s ease-in-out infinite;
    }

    .openbar-minor {
      color: #87CEEB !important;
      font-weight: 600;
    }

    @keyframes glow {
      0%, 100% {
        text-shadow: 0 0 5px rgba(255,215,0,0.5);
      }
      50% {
        text-shadow: 0 0 15px rgba(255,215,0,0.8), 0 0 25px rgba(255,215,0,0.6);
      }
    }

    .eligibility-section {
      background: rgba(0,0,0,0.3);
      border-radius: 12px;
      padding: 25px;
      margin-top: 20px;
    }

    .eligibility-section h4 {
      color: var(--accent-600);
      font-family: 'Creepster', cursive;
      font-size: 1.3rem;
      text-align: center;
      margin-bottom: 20px;
      letter-spacing: 1px;
    }

    .info-note {
      background: rgba(255,106,0,0.1);
      border-left: 4px solid var(--accent-600);
      padding: 12px 15px;
      margin-top: 15px;
      border-radius: 6px;
      color: var(--muted-300);
      font-size: 0.9rem;
    }

    .info-note em {
      color: var(--muted-100);
      font-style: normal;
      font-weight: 600;
    }

    /* Responsivo */
    @media (max-width: 768px) {
      .event-highlights {
        grid-template-columns: 1fr;
      }

      .event-info-box {
        padding: 20px;
      }

      .event-info-box h3 {
        font-size: 1.4rem;
      }

      .highlight-icon {
        font-size: 2rem;
      }

      .openbar-image-wrapper {
        width: 110px;
        height: 110px;
      }
    }


    .contest-checkbox:hover {
      background: linear-gradient(145deg, rgba(75,0,130,0.3), rgba(138,43,226,0.2)) !important;
      border-color: #9370DB !important;
      box-shadow: 0 4px 15px rgba(138,43,226,0.3) !important;
    }

    .contest-checkbox .checkbox-text {
      color: #FFD700 !important;
    }

    .contest-checkbox .checkbox-subtext {
      color: #E6E6FA !important;
    }

    /* Responsividade para o concurso */
    @media (max-width: 600px) {
      .contest-participation-box {
        padding: 20px 15px;
      }

      .contest-header-section h3 {
        font-size: 1.2rem;
      }

      .contest-badges {
        flex-direction: column;
        align-items: center;
      }

      .contest-badge {
        font-size: 0.75rem;
        padding: 5px 10px;
      }
    }

    /* ========================================
       SISTEMA DE ABAS
    ======================================== */
    .tabs-container {
      margin: 30px 0;
      background: rgba(18,18,18,0.95);
      border-radius: 16px;
      overflow: hidden;
      border: 1px solid rgba(255,69,0,0.12);
    }

    .tabs-header {
      display: flex;
      background: rgba(0,0,0,0.3);
      border-bottom: 1px solid rgba(255,69,0,0.15);
    }

    .tab-btn {
      flex: 1;
      background: none;
      border: none;
      padding: 20px;
      color: #ddd;
      font-size: 1.1rem;
      font-weight: 600;
      cursor: pointer;
      transition: all 0.3s ease;
      position: relative;
      font-family: 'Poppins', sans-serif;
    }

    .tab-btn:hover {
      background: rgba(255,69,0,0.08);
      color: #ff7a00;
    }

    .tab-btn.active {
      background: linear-gradient(45deg, rgba(255,69,0,0.15), rgba(255,106,0,0.15));
      color: #ff7a00;
      border-bottom: 3px solid #ff4500;
    }

    .tab-btn.active::after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      height: 3px;
      background: linear-gradient(90deg, #ff4500, #ff6600);
      animation: tabGlow 2s ease-in-out infinite alternate;
    }

    @keyframes tabGlow {
      0% { box-shadow: 0 0 10px rgba(255,69,0,0.5); }
      100% { box-shadow: 0 0 20px rgba(255,69,0,0.8); }
    }

    .tab-content {
      padding: 0;
    }

    .tab-panel {
      display: none;
      animation: fadeIn 0.5s ease-in-out;
    }

    .tab-panel.active {
      display: block;
    }

    @keyframes fadeIn {
      from { opacity: 0; transform: translateY(20px); }
      to { opacity: 1; transform: translateY(0); }
    }

    /* ========================================
       CONCURSO DE FANTASIA
    ======================================== */
    .contest-header {
      margin-bottom: 30px;
    }

    .contest-hero {
      position: relative;
      border-radius: 16px;
      overflow: hidden;
      margin-bottom: 20px;
    }

    /* ========================================
       CARROSSEL DO CONCURSO
    ======================================== */
    .contest-carousel {
      position: relative;
      width: 100%;
      height: 400px;
      overflow: hidden;
      border-radius: 20px;
      border: 3px solid transparent;
      background: linear-gradient(45deg, #8B0000, #000, #8B0000);
      background-clip: padding-box;
      box-shadow: 
        0 20px 40px rgba(139,0,0,0.4),
        0 0 30px rgba(255,69,0,0.2),
        inset 0 0 20px rgba(139,0,0,0.1);
      animation: carouselPulse 4s ease-in-out infinite alternate;
    }

    .contest-carousel::before {
      content: '';
      position: absolute;
      top: -3px;
      left: -3px;
      right: -3px;
      bottom: -3px;
      background: linear-gradient(
        45deg,
        #8B0000,
        #DC143C,
        #FF4500,
        #8B0000,
        #000,
        #8B0000
      );
      z-index: -1;
      border-radius: 20px;
      animation: borderGlow 3s linear infinite;
    }

    @keyframes carouselPulse {
      0% { 
        box-shadow: 
          0 20px 40px rgba(139,0,0,0.4),
          0 0 30px rgba(255,69,0,0.2),
          inset 0 0 20px rgba(139,0,0,0.1);
      }
      100% { 
        box-shadow: 
          0 25px 50px rgba(139,0,0,0.6),
          0 0 50px rgba(255,69,0,0.4),
          inset 0 0 30px rgba(139,0,0,0.2);
      }
    }

    @keyframes borderGlow {
      0% { background-position: 0% 50%; }
      50% { background-position: 100% 50%; }
      100% { background-position: 0% 50%; }
    }

    .carousel-container {
      position: relative;
      width: 100%;
      height: 100%;
    }

    .carousel-slide {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      opacity: 0;
      transition: opacity 0.8s ease-in-out;
    }

    .carousel-slide.active {
      opacity: 1;
    }

    .carousel-slide .contest-image {
      width: 100%;
      height: 100%;
      object-fit: cover;
      filter: brightness(0.75) saturate(1.3) contrast(1.1);
      cursor: pointer;
      transition: all 0.4s ease;
      border-radius: 20px;
    }

    .carousel-slide .contest-image:hover {
      filter: brightness(0.9) saturate(1.5) contrast(1.2);
      transform: scale(1.03);
    }

    .carousel-slide.active .contest-image {
      animation: imageEnhance 0.8s ease-out;
    }

    @keyframes imageEnhance {
      0% { 
        filter: brightness(0.5) saturate(1) contrast(1);
        transform: scale(0.95);
      }
      100% { 
        filter: brightness(0.75) saturate(1.3) contrast(1.1);
        transform: scale(1);
      }
    }

    .carousel-caption {
      position: absolute;
      bottom: 25px;
      left: 50%;
      transform: translateX(-50%);
      background: linear-gradient(145deg, rgba(139,0,0,0.95), rgba(0,0,0,0.9));
      color: #fff;
      padding: 12px 25px;
      border-radius: 25px;
      font-weight: 700;
      font-size: 1rem;
      backdrop-filter: blur(15px);
      border: 2px solid rgba(139,0,0,0.6);
      text-shadow: 
        1px 1px 3px rgba(0,0,0,0.9),
        0 0 10px rgba(255,69,0,0.3);
      box-shadow: 
        0 4px 20px rgba(139,0,0,0.5),
        0 0 15px rgba(255,69,0,0.2),
        inset 0 1px 3px rgba(255,255,255,0.1);
      animation: captionGlow 3s ease-in-out infinite alternate;
    }

    @keyframes captionGlow {
      0% { 
        border-color: rgba(139,0,0,0.6);
        box-shadow: 
          0 4px 20px rgba(139,0,0,0.5),
          0 0 15px rgba(255,69,0,0.2),
          inset 0 1px 3px rgba(255,255,255,0.1);
      }
      100% { 
        border-color: rgba(220,20,60,0.8);
        box-shadow: 
          0 6px 25px rgba(139,0,0,0.7),
          0 0 25px rgba(255,69,0,0.4),
          inset 0 1px 3px rgba(255,255,255,0.2);
      }
    }

    .view-all-photos {
      position: absolute;
      top: 20px;
      right: 20px;
      z-index: 3;
    }

    .view-photos-btn {
      background: linear-gradient(145deg, rgba(139,0,0,0.9), rgba(0,0,0,0.8));
      border: 2px solid #8B0000;
      color: #fff;
      padding: 12px 18px;
      border-radius: 30px;
      font-weight: 600;
      cursor: pointer;
      transition: all 0.3s ease;
      backdrop-filter: blur(15px);
      font-size: 0.95rem;
      text-shadow: 1px 1px 2px rgba(0,0,0,0.8);
      box-shadow: 
        0 4px 15px rgba(139,0,0,0.4),
        inset 0 1px 3px rgba(255,255,255,0.1);
    }

    .view-photos-btn:hover {
      background: linear-gradient(145deg, rgba(220,20,60,0.9), rgba(139,0,0,0.9));
      border-color: #DC143C;
      transform: scale(1.1) translateY(-2px);
      box-shadow: 
        0 8px 25px rgba(139,0,0,0.6),
        0 0 20px rgba(255,69,0,0.3),
        inset 0 1px 3px rgba(255,255,255,0.2);
      text-shadow: 
        1px 1px 2px rgba(0,0,0,0.8),
        0 0 10px rgba(255,255,255,0.3);
    }

    .view-photos-btn:active {
      transform: scale(1.05) translateY(-1px);
      box-shadow: 
        0 4px 15px rgba(139,0,0,0.8),
        inset 0 2px 5px rgba(0,0,0,0.2);
    }

    .carousel-controls {
      position: absolute;
      top: 50%;
      width: 100%;
      display: flex;
      justify-content: space-between;
      padding: 0 20px;
      transform: translateY(-50%);
      pointer-events: none;
    }

    .carousel-btn {
      background: linear-gradient(145deg, rgba(139,0,0,0.9), rgba(0,0,0,0.8));
      border: 2px solid #8B0000;
      color: #fff;
      width: 55px;
      height: 55px;
      border-radius: 50%;
      font-size: 1.3rem;
      cursor: pointer;
      transition: all 0.3s ease;
      pointer-events: all;
      backdrop-filter: blur(10px);
      box-shadow: 
        0 4px 15px rgba(139,0,0,0.4),
        inset 0 1px 3px rgba(255,255,255,0.1);
      font-weight: bold;
    }

    .carousel-btn:hover {
      background: linear-gradient(145deg, rgba(220,20,60,0.9), rgba(139,0,0,0.9));
      border-color: #DC143C;
      transform: scale(1.15);
      box-shadow: 
        0 8px 25px rgba(139,0,0,0.6),
        0 0 20px rgba(255,69,0,0.4),
        inset 0 1px 3px rgba(255,255,255,0.2);
      text-shadow: 0 0 10px rgba(255,255,255,0.8);
    }

    .carousel-btn:active {
      transform: scale(1.05);
      box-shadow: 
        0 2px 10px rgba(139,0,0,0.8),
        inset 0 2px 5px rgba(0,0,0,0.3);
    }

    .carousel-indicators {
      position: absolute;
      bottom: 15px;
      left: 50%;
      transform: translateX(-50%);
      display: flex;
      gap: 10px;
    }

    .indicator {
      width: 14px;
      height: 14px;
      border-radius: 50%;
      background: rgba(255,255,255,0.4);
      cursor: pointer;
      transition: all 0.3s ease;
      border: 2px solid rgba(139,0,0,0.6);
      box-shadow: 0 2px 8px rgba(0,0,0,0.3);
    }

    .indicator.active {
      background: linear-gradient(45deg, #8B0000, #DC143C);
      border-color: #FF4500;
      transform: scale(1.3);
      box-shadow: 
        0 4px 15px rgba(139,0,0,0.6),
        0 0 15px rgba(255,69,0,0.4);
      animation: indicatorPulse 2s ease-in-out infinite alternate;
    }

    @keyframes indicatorPulse {
      0% { 
        box-shadow: 
          0 4px 15px rgba(139,0,0,0.6),
          0 0 15px rgba(255,69,0,0.4);
      }
      100% { 
        box-shadow: 
          0 6px 20px rgba(139,0,0,0.8),
          0 0 25px rgba(255,69,0,0.6);
      }
    }

    .indicator:hover {
      background: linear-gradient(45deg, rgba(139,0,0,0.8), rgba(220,20,60,0.8));
      transform: scale(1.2);
      border-color: #FF4500;
      box-shadow: 0 4px 12px rgba(139,0,0,0.5);
    }

    .contest-image {
      width: 100%;
      height: 300px;
      object-fit: cover;
      display: block;
      filter: brightness(0.7) saturate(1.2);
    }

    .contest-overlay {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: linear-gradient(
        135deg, 
        rgba(139,0,0,0.9) 0%,     /* Vermelho sangue */
        rgba(220,20,60,0.8) 25%,  /* Crimson */
        rgba(0,0,0,0.85) 60%,     /* Preto */
        rgba(139,0,0,0.9) 100%    /* Volta ao vermelho */
      );
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      text-align: center;
      padding: 40px 20px;
      z-index: 2;
      backdrop-filter: blur(2px);
      box-shadow: inset 0 0 100px rgba(139,0,0,0.3);
    }

    .contest-overlay::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: 
        radial-gradient(circle at 20% 30%, rgba(255,69,0,0.3) 0%, transparent 50%),
        radial-gradient(circle at 80% 70%, rgba(139,0,0,0.4) 0%, transparent 50%),
        linear-gradient(45deg, transparent 30%, rgba(220,20,60,0.1) 50%, transparent 70%);
      z-index: -1;
      animation: bloodPulse 3s ease-in-out infinite alternate;
    }

    @keyframes bloodPulse {
      0% { 
        opacity: 0.7;
        transform: scale(1);
      }
      100% { 
        opacity: 1;
        transform: scale(1.02);
      }
    }

    .contest-overlay h2 {
      font-size: 2.8rem;
      font-weight: 700;
      margin-bottom: 15px;
      text-shadow: 
        2px 2px 8px rgba(0,0,0,0.9),
        0 0 20px rgba(255,69,0,0.6),
        0 0 40px rgba(139,0,0,0.4);
      color: #fff;
      letter-spacing: 2px;
      animation: titleGlow 2s ease-in-out infinite alternate;
    }

    @keyframes titleGlow {
      0% { 
        text-shadow: 
          2px 2px 8px rgba(0,0,0,0.9),
          0 0 20px rgba(255,69,0,0.6),
          0 0 40px rgba(139,0,0,0.4);
      }
      100% { 
        text-shadow: 
          2px 2px 8px rgba(0,0,0,0.9),
          0 0 30px rgba(255,69,0,0.8),
          0 0 60px rgba(139,0,0,0.6);
      }
    }

    .contest-overlay p {
      font-size: 1.3rem;
      color: #fff;
      text-shadow: 
        1px 1px 4px rgba(0,0,0,0.9),
        0 0 10px rgba(255,69,0,0.3);
      margin-bottom: 8px;
      font-weight: 500;
    }

    .contest-subtitle {
      font-size: 1.1rem !important;
      color: #ffcc99 !important;
      font-style: italic;
      margin-top: 10px;
      text-shadow: 
        1px 1px 3px rgba(0,0,0,0.8),
        0 0 15px rgba(255,140,0,0.5) !important;
      animation: subtitleShimmer 2.5s ease-in-out infinite alternate;
    }

    @keyframes subtitleShimmer {
      0% { 
        color: #ffcc99;
        text-shadow: 
          1px 1px 3px rgba(0,0,0,0.8),
          0 0 15px rgba(255,140,0,0.5);
      }
      100% { 
        color: #ffd700;
        text-shadow: 
          1px 1px 3px rgba(0,0,0,0.8),
          0 0 25px rgba(255,215,0,0.7);
      }
    }

    .contest-info-box {
      background: rgba(18,18,18,0.95);
      border-radius: 12px;
      padding: 25px;
      margin-bottom: 30px;
      border: 1px solid rgba(255,69,0,0.12);
      border-left: 4px solid #ff4500;
    }

    .contest-info-box h3 {
      color: #ff7a00;
      margin-bottom: 15px;
      font-size: 1.3rem;
    }

    .contest-info-box p {
      color: #ddd;
      line-height: 1.6;
    }

    .contest-stats {
      display: flex;
      gap: 20px;
      margin-bottom: 20px;
      justify-content: center;
    }

    .stat-item {
      background: rgba(255,69,0,0.1);
      border-radius: 12px;
      padding: 15px 20px;
      text-align: center;
      border: 1px solid rgba(255,69,0,0.2);
      min-width: 120px;
    }

    .stat-number {
      display: block;
      font-size: 2rem;
      font-weight: 700;
      color: #ff7a00;
      margin-bottom: 5px;
    }

    .stat-label {
      color: #ddd;
      font-size: 0.9rem;
      text-transform: uppercase;
      letter-spacing: 1px;
    }

    .contest-btn {
      background: linear-gradient(45deg, #ff6600, #ff4500) !important;
      border: none !important;
    }

    .contest-btn:hover {
      background: linear-gradient(45deg, #ff7700, #ff5500) !important;
      transform: translateY(-2px);
      box-shadow: 0 8px 25px rgba(255,69,0,0.3);
    }

    .no-participants {
      text-align: center;
      padding: 40px 20px;
      color: #999;
      font-style: italic;
    }

    .no-participants p:first-child {
      font-size: 1.1rem;
      margin-bottom: 8px;
    }

    .no-participants p:last-child {
      font-size: 0.9rem;
      color: #777;
    }

    /* Responsividade para as abas */
    @media (max-width: 600px) {
      /* Banner responsivo */
      .banner-container {
        height: 400px;
      }

      .tabs-header {
        flex-direction: column;
      }

      .tab-btn {
        padding: 15px;
        font-size: 1rem;
      }

      .contest-overlay h2 {
        font-size: 2rem;
      }

      .contest-overlay p {
        font-size: 1rem;
      }

      .contest-subtitle {
        font-size: 0.9rem !important;
      }

      .contest-stats {
        flex-direction: column;
        align-items: center;
      }

      .stat-item {
        min-width: auto;
        width: 200px;
      }

      /* Carrossel responsivo */
      .contest-carousel {
        height: 300px;
      }

      .contest-overlay h2 {
        font-size: 2.2rem;
        letter-spacing: 1px;
      }

      .contest-overlay p {
        font-size: 1.1rem;
      }

      .contest-subtitle {
        font-size: 0.95rem !important;
      }

      .carousel-btn {
        width: 45px;
        height: 45px;
        font-size: 1.1rem;
      }

      .carousel-controls {
        padding: 0 10px;
      }

      .carousel-caption {
        font-size: 0.85rem;
        padding: 10px 20px;
        bottom: 20px;
      }

      .indicator {
        width: 12px;
        height: 12px;
      }

      .view-photos-btn {
        padding: 10px 15px;
        font-size: 0.85rem;
      }
    }

    /* ========================================
       MODAL DA GALERIA DE FOTOS
    ======================================== */
    .gallery-modal {
      display: none;
      position: fixed;
      z-index: 1000;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0,0,0,0.9);
      backdrop-filter: blur(10px);
    }

    .gallery-modal-content {
      background: linear-gradient(145deg, #1a1a1a, #2a2a2a);
      margin: 2% auto;
      padding: 30px;
      border-radius: 20px;
      width: 90%;
      max-width: 1200px;
      max-height: 90vh;
      overflow-y: auto;
      border: 2px solid rgba(255,69,0,0.3);
      box-shadow: 0 20px 60px rgba(0,0,0,0.8);
    }

    .gallery-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 30px;
      border-bottom: 2px solid rgba(255,69,0,0.3);
      padding-bottom: 15px;
    }

    .gallery-header h2 {
      color: #ff7a00;
      font-size: 1.8rem;
      margin: 0;
    }

    .gallery-close {
      color: #fff;
      font-size: 2rem;
      font-weight: bold;
      cursor: pointer;
      transition: color 0.3s ease;
    }

    .gallery-close:hover {
      color: #ff4500;
    }

    .gallery-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
      gap: 20px;
    }

    .gallery-item {
      position: relative;
      border-radius: 15px;
      overflow: hidden;
      cursor: pointer;
      transition: transform 0.3s ease;
      border: 2px solid rgba(255,69,0,0.2);
    }

    .gallery-item:hover {
      transform: scale(1.05);
      border-color: rgba(255,69,0,0.6);
    }

    .gallery-item img {
      width: 100%;
      height: 400px;
      object-fit: cover;
      transition: filter 0.3s ease;
    }

    .gallery-item:hover img {
      filter: brightness(1.1);
    }

    .gallery-overlay {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      background: linear-gradient(transparent, rgba(0,0,0,0.6));
      color: var(--muted-100);
      padding: 20px 15px 15px;
      transform: translateY(100%);
      transition: transform 0.3s ease;
    }

    .gallery-item:hover .gallery-overlay {
      transform: translateY(0);
    }

    .gallery-overlay p {
      margin: 0;
      font-weight: 600;
      font-size: 1rem;
    }

    /* Responsividade para modais */
    @media (max-width: 768px) {
      .gallery-modal-content {
        width: 95%;
        padding: 20px;
        margin: 5% auto;
      }

      .gallery-grid {
        grid-template-columns: 1fr;
        gap: 15px;
      }

      .image-close {
        top: 20px;
        right: 20px;
        font-size: 2rem;
        width: 50px;
        height: 50px;
      }

      .nav-btn {
        width: 50px;
        height: 50px;
        font-size: 1.2rem;
      }

      .image-navigation {
        padding: 0 10px;
      }

      .image-info h3 {
        font-size: 1.2rem;
      }

      .image-info p {
        font-size: 1rem;
      }
    }

/* Animação de brilho para destaque */
@keyframes glow {
  0% {
    box-shadow: 0 0 20px rgba(255, 102, 0, 0.6), inset 0 0 20px rgba(255, 102, 0, 0.3);
  }
  100% {
    box-shadow: 0 0 30px rgba(255, 102, 0, 0.9), inset 0 0 30px rgba(255, 102, 0, 0.5);
  }
}

/* Estilo para o link do Instagram da artista */
.artist-instagram:hover {
  color: #FFD700 !important;
  text-shadow: 0 0 10px rgba(255, 215, 0, 0.5);
  transform: scale(1.05);
}

/* =========================== */
/* Overrides - remove gradients */
/* =========================== */
/* Make major backgrounds flat and use palette variables */
.banner-container,
.banner-overlay,
.modal-content,
.shirt-promo,
.shirt-marketing,
.shirt-promotion-box,
.contest-participation-box,
.previous-winners-section,
.tattoo-marketing,
.promotion-details,
.promotion-header {
  background: var(--card-bg) !important;
  background-image: none !important;
}
/* Buttons / badges use solid accent colors */
.promo-badge,
.marketing-badge,
.badge.limited,
.btn-primary,
.vote-btn,
.submit-btn {
  background: var(--accent-600) !important;
  color: #fff !important;
  border: none !important;
}

.badge.premium,
.promo-badge.discount {
  background: var(--accent-400) !important;
  color: #fff !important;
}

/* Replace decorative gradients with subtle solid borders/shadows */

.model-card::before,
.model-overlay,
.event-address::before,
.banner-overlay {
  background: none !important;
}

/* Fallback: anywhere a gradient style attribute remains, use card-bg */

*[style*="linear-gradient"] {
  background: var(--card-bg) !important;
}

/* Ensure CTAs still have visible hover */

.promo-badge:hover, .btn-primary:hover, .submit-btn:hover {
  filter: brightness(0.95) !important;
  transform: translateY(-2px) !important;
}

/* End overrides */

/* ===== Aggressive gradient removal (option 1) ===== */
/* Remove any background-image (this removes gradients; may also affect decorative bg-images) */
*:not(img):not(svg) {
  background-image: none !important;
}

/* Re-apply flat backgrounds to main layout containers so the page keeps contrast */
body, html {
  background: var(--bg-900) !important;
  color: var(--muted-100) !important;
}

.site-wrapper,
.container,
.banner-container,
.modal-content,
.card,
.designs-track-wrapper,
.design-slide,
.footer,
.header {
  background: var(--card-bg) !important;
}

/* Ensure headings use the display font and remain visible */
h1, h2, h3, h4, h5, h6 {
  color: var(--muted-100) !important;
  font-family: 'Nightmare', var(--display-fallback) !important;
}

/* End aggressive overrides */

/* Promo highlight block (replaces heavy gradient block) */
.promo-highlight {
  background: linear-gradient(180deg, rgba(28,28,28,0.98), rgba(38,38,38,0.98));
  border: 3px solid rgba(255,102,0,0.22);
  border-radius: 15px;
  padding: 20px;
  margin: 20px 0;
  text-align: center;
  box-shadow: 0 6px 18px rgba(0,0,0,0.55);
}

.promo-highlight span {
  display: block;
  color: var(--muted-100);
  text-shadow: none;
}

.promo-highlight .price {
  color: #ff4500;
  font-size: 2.2rem;
  font-weight: 800;
}

.promo-highlight .offer-title {
  color: #FFA500;
  font-size: 1.5rem;
  font-weight: 700;
}
