body { 
      background: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #334155 100%);
      color: #e2e8f0;
      font-family: 'Inter', system-ui, sans-serif;
    }
    
    .hero-bg { 
      background: linear-gradient(rgba(0,0,0,0.6), rgba(0,0,0,0.4)), 
                  url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080"><rect fill="%23334155" width="1920" height="1080"/><circle cx="400" cy="300" r="100" fill="%23475569" opacity="0.3"/><circle cx="1200" cy="600" r="150" fill="%23475569" opacity="0.2"/><circle cx="800" cy="800" r="80" fill="%23475569" opacity="0.4"/></svg>');
      background-size: cover;
      background-position: center;
      background-attachment: fixed;
      min-height: 80vh;
      padding-top: 0vh;
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
      overflow: hidden;
    }
    
    .hero-bg::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: radial-gradient(circle at 50% 50%, rgba(251, 191, 36, 0.1) 0%, transparent 70%);
      animation: pulse 4s ease-in-out infinite;
    }
    
    @keyframes pulse {
      0%, 100% { opacity: 0.3; }
      50% { opacity: 0.6; }
    }
    
    .glass-card {
      background: rgba(15, 23, 42, 0.8);
      backdrop-filter: blur(10px);
      border: 1px solid rgba(255, 255, 255, 0.1);
      box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
    }
    
    .gradient-text {
      background: linear-gradient(45deg, #fbbf24, #f59e0b, #d97706);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }
    
    .btn-primary {
      background: linear-gradient(45deg, #fbbf24, #f59e0b);
      transition: all 0.3s ease;
      box-shadow: 0 4px 15px rgba(251, 191, 36, 0.3);
    }
    
    .btn-primary:hover {
      transform: translateY(-2px);
      box-shadow: 0 8px 25px rgba(251, 191, 36, 0.4);
    }
    
    .parallax {
      transform-style: preserve-3d;
    }
    
    .nation-card {
      transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    }
    
    .nation-card:hover {
      transform: translateY(-10px) scale(1.02);
    }
    
    /* Mobile Menu */
.mobile-menu {
  transform: translateX(170%);
  transition: transform 0.3s ease;
  height: 100vh; /* Full viewport height */
  overflow-y: auto; /* Allow scrolling if content exceeds height */
  z-index: 99;
}

/* Active state for Mobile Menu */
.mobile-menu.active {
  transform: translateX(70%);
}

/* Mobile Menu Overlay */
.mobile-menu-overlay {
  background: rgba(0, 0, 0, 0.7); /* Semi-transparent dark background */
  z-index: 30; /* Below the menu, above other content */
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}

/* Active state for Overlay */
.mobile-menu-overlay.active {
  opacity: 1;
  pointer-events: auto;
}

/* Style the close button */
.mobile-menu button[aria-label="Fechar menu mobile"] {
  color: #fbbf24; /* Yellow to match theme */
  font-size: 1.5rem;
  padding: 0.5rem;
  transition: color 0.3s ease;
}

.mobile-menu button[aria-label="Fechar menu mobile"]:hover {
  color: #f59e0b; /* Darker yellow on hover */
}


    
    .floating-elements {
      position: absolute;
      width: 100%;
      height: 100%;
      pointer-events: none;
    }
    
    .floating-particle {
      position: absolute;
      background: radial-gradient(circle, rgba(251, 191, 36, 0.6) 0%, transparent 70%);
      border-radius: 50%;
      animation: float 6s ease-in-out infinite;
    }
    
    .stats-counter {
      font-size: 2.5rem;
      font-weight: bold;
      color: #fbbf24;
    }
    
    .carousel {
      position: relative;
      width: 100%;
      max-width: 800px;
      object-fit: contain;
      aspect-ratio: 16 / 9;
      height: 400px;
      overflow: hidden;
      border-radius: 1rem;
      box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
    }
    
    .carousel img {
      width: 100%;
      height: 100%;
      object-fit: contain;
      position: absolute;
      top: 0;
      left: 0;
      opacity: 0;
      transition: opacity 1s ease-in-out;
    }
    
    .carousel img.active {
      opacity: 1;
    }
    
    .carousel-dots {
      position: absolute;
      bottom: 1rem;
      left: 50%;
      transform: translateX(-50%);
      display: flex;
      gap: 0.5rem;
    }
    
    .carousel-dot {
      width: 12px;
      height: 12px;
      background: rgba(255, 255, 255, 0.5);
      border-radius: 50%;
      cursor: pointer;
      transition: background 0.3s ease;
    }
    
    .carousel-dot.active {
      background: #fbbf24;
    }
    
    .dropdown-menu {
      display: none;
      position: absolute;
      top: 100%;
      right: 0;
      min-width: 200px;
      z-index: 50;
    }
    
    .dropdown-menu.show {
      display: block;
    }
    
    @media (max-width: 768px) {
      .hero-bg {
        background-attachment: scroll;
        min-height: auto;
        padding: 4rem 1rem;
      }
      .carousel {
        height: 200px;
      }
    }
    
    /* Ajuste no dropdown de perfil (desktop) */
    .dropdown-menu {
      display: none;
      position: absolute;
      top: 100%;
      right: 0;
      min-width: 250px;
      z-index: 50;
      padding: 1rem;
    }

    .dropdown-menu.show {
      display: block;
    }

    /* Ajuste na box de recarga */
    #rechargeItems .item-card, #cartItems .item-card {
      transition: transform 0.3s ease, box-shadow 0.3s ease;
    }

    #rechargeItems .item-card:hover, #cartItems .item-card:hover {
      transform: translateY(-5px);
      box-shadow: 0 8px 20px rgba(251, 191, 36, 0.3);
    }

    #rechargeItems img, #cartItems img {
      max-width: 100px;
      height: auto;
      margin: 0 auto 0.5rem;
      border-radius: 0.5rem;
      object-fit: cover;
    }

    /* Estilização do carrinho */
    #cartItems .cart-table {
      width: 100%;
      border-collapse: collapse;
      margin-bottom: 1rem;
    }

    #cartItems .cart-table th, #cartItems .cart-table td {
      padding: 0.5rem;
      text-align: left;
      border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }

    #cartItems .cart-table th {
      font-weight: bold;
      color: #fbbf24;
    }

    #cartItems .cart-table td button {
      background: none;
      color: #ef4444;
      border: none;
      cursor: pointer;
      font-size: 0.875rem;
    }

    #cartItems .cart-table td button:hover {
      color: #dc2626;
    }

    #cartItems .cart-total {
      font-size: 1.25rem;
      font-weight: bold;
      color: #fbbf24;
      text-align: right;
    }

    /* Estilização dos ícones de pagamento */
    .payment-icons img {
      width: auto;
      height: 40px;
      max-width: 100%;
      object-fit: contain;
      margin: 0 0.5rem;
      border-radius: 0; /* remove qualquer arredondamento */
      box-shadow: 0 0 2px rgba(0, 0, 0, 0.3); /* leve sombra (opcional) */
    }
    
    .payment-icon {
      height: 40px;            /* altura fixa */
      width: auto;             /* largura automática */
      object-fit: contain;     /* evita distorção */
      margin: 0 0.5rem;
      border-radius: 0;
      box-shadow: 0 0 2px rgba(0, 0, 0, 0.3);
      display: inline-block;
    }

    /* Ajuste no menu mobile */
    #mobileProfileMenu {
      padding-left: 1.5rem;
      padding-top: 0.5rem;
    }

    #mobileProfileMenu p {
      margin-bottom: 0.75rem;
      font-size: 0.9rem;
    }

    /* Estilização do texto da Stripe */
    .stripe-info {
      font-size: 0.875rem;
      color: #a0aec0;
      text-align: center;
      margin-top: 1rem;
    }

    .stripe-info a {
      color: #fbbf24;
      text-decoration: underline;
      transition: color 0.3s ease;
    }

    .stripe-info a:hover {
      color: #f59e0b;
    }

    /* Responsividade */
    @media (max-width: 768px) {
      .dropdown-menu {
        min-width: 200px;
      }
    }
    
    /* Forçar 4 itens centralizados e remover scroll do modal */
    .modal-content {
      max-width: 1200px; /* aumentar o espaço total se necessário */
      width: 100%;
      max-height: 800px !important; /* remove limite de altura */
      overflow-y: auto;
      display: flex;
      flex-direction: row;
      justify-content: center;
      align-items: flex-start;
      gap: 2rem;
      flex-wrap: wrap;
      padding: 1rem;
    }

    #rechargeItems {
      display: grid !important;
      grid-template-columns: repeat(4, 1fr); /* Exatamente 4 colunas */
      gap: 1rem;
      width: 100%;
      justify-items: center;
    }

    @media (max-width: 1024px) {
      #rechargeItems {
        grid-template-columns: repeat(2, 1fr); /* 2 colunas no tablet */
      }
    }

    @media (max-width: 640px) {
      .modal-content {
        flex-direction: column;
        align-items: center;
      }

      #rechargeItems {
        grid-template-columns: 1fr; /* 1 coluna no mobile */
      }
    }
    
	/* Estilização do modal de checkout do Mercado Pago */
	#mercadoPagoModal {
	  z-index: 60; /* Acima do rechargeModal (z-50) */
	}

	#mpCardForm {
	  min-height: 300px; /* Espaço para o formulário do Mercado Pago */
	}

	/* Estilizar campos do formulário do Mercado Pago */
	#mpCardForm input,
	#mpCardForm select {
	  background: rgba(255, 255, 255, 0.1);
	  border: 1px solid rgba(255, 255, 255, 0.2);
	  color: #e2e8f0;
	  padding: 0.5rem;
	  border-radius: 0.5rem;
	  width: 100%;
	  margin-bottom: 1rem;
	}

	#mpCardForm input:focus,
	#mpCardForm select:focus {
	  outline: none;
	  border-color: #fbbf24;
	  box-shadow: 0 0 8px rgba(251, 191, 36, 0.3);
	}

	/* Botão de submit do Mercado Pago */
	#mpCardForm button[type="submit"] {
	  background: linear-gradient(45deg, #009ee3, #00d4ff);
	  color: #fff;
	  padding: 0.75rem 1.5rem;
	  border-radius: 0.5rem;
	  font-weight: bold;
	  width: 100%;
	  transition: all 0.3s ease;
	}

	#mpCardForm button[type="submit"]:hover {
	  transform: translateY(-2px);
	  box-shadow: 0 8px 25px rgba(0, 158, 227, 0.4);
	}
	
	svg {
	  height: auto;
	  width: auto;
	}
	
	/* Estilização do modal de pagamento PIX */
	#pixPaymentModal .glass-card {
	  background: rgba(15, 23, 42, 0.8);
	  backdrop-filter: blur(10px);
	  border: 1px solid rgba(255, 255, 255, 0.1);
	  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
	}

	#pixPaymentModal img {
	  max-width: 200px;
	  height: auto;
	  border-radius: 8px;
	}

	#pixPaymentModal input[readonly] {
	  cursor: pointer;
	  background: rgba(255, 255, 255, 0.05);
	}

	#pixPaymentModal input[readonly]:focus {
	  outline: none;
	  border-color: #fbbf24;
	  box-shadow: 0 0 8px rgba(251, 191, 36, 0.3);
	}

	
	/* Garantir que o customAlertModal fique acima de todos os outros modais */
	#customAlertModal {
	  z-index: 70 !important;
	}
	
	
    /* Estilização do modal de Termos e Política */
    #termsModal .terms-content {
      max-height: 400px;
      overflow-y: auto;
      padding: 1rem;
      background: rgba(255, 255, 255, 0.05);
      border-radius: 0.5rem;
      margin-bottom: 1rem;
      font-size: 0.9rem;
      line-height: 1.6;
      color: #d1d5db;
    }

    #termsModal .terms-content::-webkit-scrollbar {
      width: 8px;
    }

    #termsModal .terms-content::-webkit-scrollbar-track {
      background: rgba(255, 255, 255, 0.1);
      border-radius: 4px;
    }

    #termsModal .terms-content::-webkit-scrollbar-thumb {
      background: #fbbf24;
      border-radius: 4px;
    }

    #termsModal .terms-content::-webkit-scrollbar-thumb:hover {
      background: #f59e0b;
    }

    /* Responsividade */
    @media (max-width: 768px) {
      #termsModal .terms-content {
        max-height: 300px;
        font-size: 0.85rem;
      }
    }
	
	/* Ensure the modal image doesn't overflow the screen */
  #imageModal {
    overflow-y: auto;
  }
  /* Style for the thumbnail feed */
  .image-feed {
    max-height: 400px;
    overflow-y: auto;
  }
  /* Custom scrollbar for the image feed */
  .image-feed::-webkit-scrollbar {
    width: 8px;
  }
  .image-feed::-webkit-scrollbar-track {
    background: rgba(31, 41, 55, 0.5);
    border-radius: 4px;
  }
  .image-feed::-webkit-scrollbar-thumb {
    background: rgba(234, 179, 8, 0.5);
    border-radius: 4px;
  }
  .image-feed::-webkit-scrollbar-thumb:hover {
    background: rgba(234, 179, 8, 0.8);
  }