/* ================================================
   COMPONENTES DE PLANOS
   ================================================ */

/* Badge Plano Ativo no Header */
.badge-plano-ativo {
  cursor: pointer;
  transition: all 0.3s ease;
  text-decoration: none !important;
  display: block;
}

.badge-plano-ativo > div {
  border-radius: 50px !important;
}

.badge-plano-ativo:hover {
  transform: scale(1.05);
  filter: drop-shadow(0 2px 8px rgba(var(--bs-primary-rgb), 0.4));
}

/* Cores dinâmicas por tema */
/* Light Theme (padrão) */
[data-bs-theme="light"] .badge-plano-ativo small,
body:not([data-bs-theme]) .badge-plano-ativo small {
  color: #ffffff !important;
  opacity: 0.85;
}

[data-bs-theme="light"] .badge-plano-ativo strong,
body:not([data-bs-theme]) .badge-plano-ativo strong {
  color: #ffffff !important;
}

[data-bs-theme="light"] .badge-plano-ativo i,
body:not([data-bs-theme]) .badge-plano-ativo i {
  color: #ffffff !important;
}

/* Dark Theme */
[data-bs-theme="dark"] .badge-plano-ativo small {
  color: #adb5bd !important;
}

[data-bs-theme="dark"] .badge-plano-ativo strong {
  color: #6ea8fe !important;
}

[data-bs-theme="dark"] .badge-plano-ativo i {
  color: #6ea8fe !important;
}

[data-bs-theme="dark"] .badge-plano-ativo .bg-primary {
  background-color: rgba(110, 168, 254, 0.15) !important;
}

/* Semi-Dark Theme */
[data-bs-theme="semi-dark"] .badge-plano-ativo small {
  color: #adb5bd !important;
}

[data-bs-theme="semi-dark"] .badge-plano-ativo strong {
  color: #ffffff !important;
}

[data-bs-theme="semi-dark"] .badge-plano-ativo i {
  color: #ffffff !important;
}

[data-bs-theme="semi-dark"] .badge-plano-ativo .bg-primary {
  background-color: rgba(255, 255, 255, 0.1) !important;
}

/* Blue Theme */
[data-bs-theme="blue-theme"] .badge-plano-ativo small {
  color: #b8c7e0 !important;
}

[data-bs-theme="blue-theme"] .badge-plano-ativo strong {
  color: #ffffff !important;
}

[data-bs-theme="blue-theme"] .badge-plano-ativo i {
  color: #ffffff !important;
}

[data-bs-theme="blue-theme"] .badge-plano-ativo .bg-primary {
  background-color: rgba(255, 255, 255, 0.15) !important;
}

/* Modal de Seleção de Plano */
.plano-card {
  cursor: pointer;
  transition: all 0.3s ease;
  border: 2px solid transparent;
}

.plano-card:hover {
  border-color: var(--bs-primary);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(var(--bs-primary-rgb), 0.2) !important;
}

.plano-card.ativo {
  border-color: var(--bs-success);
  background: rgba(var(--bs-success-rgb), 0.05);
}

.plano-radio {
  padding-top: 0.25rem;
}

.plano-radio input[type="radio"] {
  width: 20px;
  height: 20px;
  cursor: pointer;
}

.plano-info small {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.plano-badge-ativo {
  white-space: nowrap;
}

/* Responsivo */
@media (max-width: 768px) {
  .badge-plano-ativo small,
  .badge-plano-ativo strong {
    font-size: 0.75rem !important;
  }
  
  .plano-card {
    margin-bottom: 0.5rem;
  }
}

/* Dark Mode */
.dark-theme .plano-card {
  background-color: var(--bs-dark);
  color: var(--bs-light);
}

.dark-theme .plano-card:hover {
  background-color: rgba(var(--bs-primary-rgb), 0.1);
}

.dark-theme .plano-card.ativo {
  background-color: rgba(var(--bs-success-rgb), 0.1);
  border-color: var(--bs-success);
}
