/* Oculta a bolinha de cursor animado */
div[style*="position: fixed"][style*="border-radius: 100%"][style*="mix-blend-mode"] {
  display: none !important;
}

/* ============================
   Rota12 • OSMembership (perfil)
   Escopos: #osm-profile-page e joomla-tab#osm-profile
   ============================ */

/* ====== BASE / FUNDO E TEXTO ====== */
#osm-profile-page,
#osm-profile-page form,
#osm-profile-page .joomla-tab__content,
#osm-profile-page .tab-content {
  background: #232325 !important;
  color: #f5f5f5 !important;
}

/* Remove quaisquer fundos brancos inline */
#osm-profile-page [style*="background: #fff"],
#osm-profile-page [style*="background-color: #fff"] {
  background: transparent !important;
}

/* ====== CONTAINER / CARD (override) ====== */
#osm-profile-page .osm-container,
#osm-profile-page .card {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* ====== ABAS (fallback Bootstrap .nav-tabs) ====== */
#osm-profile-page .joomla-tab__header,
#osm-profile-page .nav-tabs {
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid #2f2f33 !important;
  padding: 0 .5rem;
}
#osm-profile-page .joomla-tab__header .nav-link,
#osm-profile-page .nav-tabs .nav-link {
  background: transparent !important;
  color: #ddd !important;
  border: 0 !important;
  border-bottom: 2px solid transparent !important;
  margin: 0 0 -1px 0;
  padding: .75rem 1rem;
  border-radius: 0;
}
#osm-profile-page .joomla-tab__header .nav-link.active,
#osm-profile-page .nav-tabs .nav-link.active {
  color: #E1FF01 !important;
  border-bottom-color: #E1FF01 !important;
}

/* =========================================
   Joomla Web Component (joomla-tab real)
   Escopo: joomla-tab#osm-profile
   ========================================= */
#osm-profile { display: block; background: #232325 !important; }

/* Barra de abas (tablist) */
#osm-profile > [role="tablist"] {
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid #2f2f33 !important;
  padding: 0 .5rem;
}

/* Botões das abas (modo tabs) */
#osm-profile [role="tab"] {
  background: transparent !important;
  color: #ddd !important;
  border: 0 !important;
  border-bottom: 2px solid transparent !important;
  margin: 0 0 -1px 0;
  padding: .75rem 1rem;
  border-radius: 0;
}
#osm-profile [role="tab"][aria-expanded="true"] {
  color: #E1FF01 !important;
  border-bottom-color: #E1FF01 !important;
  font-weight: 700;
}

/* Acordeão (view="accordion") */
#osm-profile[view="accordion"] > button[aria-controls]:not([role="tab"]) {
  background: #2b2b2e !important;
  border: 1px solid #3a3a3f !important;
  width: 100%;
  text-align: left;
  padding: .75rem 1rem;
  border-radius: .5rem;
  margin: .5rem 0;
  color: #ddd !important;
}
#osm-profile[view="accordion"] > button[aria-controls][aria-expanded="true"]:not([role="tab"]) {
  background: #303034 !important;
  border-color: #E1FF01 !important;
  color: #E1FF01 !important;
}

/* Painéis */
#osm-profile joomla-tab-element {
  display: none;
  background: #232325 !important;
  color: #f5f5f5 !important;
  padding: 1rem;
  border-radius: 8px;
}
#osm-profile joomla-tab-element[active] { display: block; }

/* Título dentro do acordeão */
#osm-profile .accordion-title {
  display: inline-flex;
  align-items: center;
}

/* ====== FORM / LAYOUT E RÓTULOS ====== */
#osm-profile-page .row.form-group.form-row,
#osm-profile .row.form-group.form-row { margin-bottom: 1.25rem; }
#osm-profile-page .eb-form-control,
#osm-profile .eb-form-control { display: block; }

#osm-profile-page label,
#osm-profile-page .form-control-label,
#osm-profile label,
#osm-profile .form-control-label {
  color: #f5f5f5 !important;
  font-weight: 600;
  font-size: 0.95rem;
}

/* ====== CAMPOS (inputs/selects/textarea) ====== */
#osm-profile-page .form-control,
#osm-profile-page .form-select,
#osm-profile-page textarea,
#osm-profile .form-control,
#osm-profile .form-select,
#osm-profile textarea {
  background: #2b2b2e !important;      /* superficie */
  border: 1px solid #3a3a3f !important; /* borda suave */
  color: #fff !important;
  border-radius: 8px !important;
  padding: .5rem .75rem;
  line-height: 1.2;
}
#osm-profile-page .form-control:focus,
#osm-profile-page .form-select:focus,
#osm-profile-page textarea:focus,
#osm-profile .form-control:focus,
#osm-profile .form-select:focus,
#osm-profile textarea:focus {
  background: #303034 !important;
  border-color: #E1FF01 !important;
  color: #fff !important;
  box-shadow: none !important;
  outline: 0;
}
/* Placeholder legível em dark */
#osm-profile-page ::placeholder,
#osm-profile ::placeholder { color: #bbbbbb !important; }

/* Estrela de obrigatório */
#osm-profile-page .star,
#osm-profile-page .required,
#osm-profile .star,
#osm-profile .required { color: #ff6b6b; }

/* Botão “olho” do password e botões secundários */
#osm-profile-page .input-password-toggle,
#osm-profile-page .btn.btn-secondary,
#osm-profile .input-password-toggle,
#osm-profile .btn.btn-secondary {
  background: #2b2b2e !important;
  border: 1px solid #3a3a3f !important;
  color: #f5f5f5 !important;
  border-radius: 8px !important;
}
#osm-profile-page .input-password-toggle:hover,
#osm-profile-page .btn.btn-secondary:hover,
#osm-profile .input-password-toggle:hover,
#osm-profile .btn.btn-secondary:hover {
  background: #303034 !important;
  color: #E1FF01 !important;
}

/* Selects (lista de opções) */
#osm-profile-page select.form-select,
#osm-profile select.form-select { max-width: 100%; }
#osm-profile-page select option,
#osm-profile select option {
  color: #fff !important;
  background: #2b2b2e !important;
}

/* ====== BOTÕES ====== */
#osm-profile-page .form-actions,
#osm-profile .form-actions { margin-top: 1.25rem; gap: .5rem; }
#osm-profile-page .btn.btn-primary,
#osm-profile .btn.btn-primary {
  background: #E1FF01 !important;
  border-color: #E1FF01 !important;
  color: #111 !important;
  font-weight: 700;
}
#osm-profile-page .btn.btn-primary:hover,
#osm-profile .btn.btn-primary:hover { filter: brightness(.9); }

/* ====== TABELAS ====== */
#osm-profile-page table.table,
#osm-profile table.table {
  background: transparent !important;
  color: #ddd !important;
}
#osm-profile-page table.table thead th,
#osm-profile table.table thead th {
  border-bottom: 1px solid #333 !important;
  color: #e6e6e6;
}
#osm-profile-page table.table td,
#osm-profile-page table.table th,
#osm-profile table.table td,
#osm-profile table.table th { border-color: #333 !important; }
#osm-profile-page table.table-striped tbody tr:nth-of-type(odd),
#osm-profile table.table-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(255,255,255,.03) !important;
}

/* ====== ValidationEngine (erros) ====== */
#osm-profile-page .formError,
#osm-profile .formError { z-index: 10001; }
#osm-profile-page .formError .formErrorContent,
#osm-profile .formError .formErrorContent {
  background: #26262a !important;
  color: #eee !important;
  border: 1px solid #3a3a3f !important;
  border-radius: .5rem;
}
#osm-profile-page .formError .formErrorArrow,
#osm-profile .formError .formErrorArrow { display: none; }

/* ====== RESPONSIVO ====== */
@media (max-width: 767.98px) {
  #osm-profile-page .col-md-3.form-control-label,
  #osm-profile-page .col-md-9.eb-form-control,
  #osm-profile .col-md-3.form-control-label,
  #osm-profile .col-md-9.eb-form-control {
    max-width: 100%;
    flex: 0 0 100%;
  }
  #osm-profile-page .joomla-tab__header,
  #osm-profile-page .nav-tabs {
    padding-left: 0; padding-right: 0;
  }
}

/* ====== Bootstrap vars no escopo (dark total) ====== */
#osm-profile-page,
#osm-profile {
  /* cores base */
  --bs-body-bg: #232325;
  --bs-body-color: #f5f5f5;

  /* bordas */
  --bs-border-color: #333;

  /* links */
  --bs-link-color: #E1FF01;
  --bs-link-hover-color: #cfe600;

  /* tabelas */
  --bs-table-color: #ddd;
  --bs-table-bg: transparent;
  --bs-table-border-color: #333;
  --bs-table-striped-bg: rgba(255,255,255,0.03);
  --bs-table-striped-color: #ddd;
  --bs-table-hover-bg: rgba(255,255,255,0.06);
  --bs-table-hover-color: #eee;

  /* alerts do Joomla/Bootstrap */
  --bs-alert-bg: #26262a;
  --bs-alert-color: #eee;
  --bs-alert-border-color: #3a3a3f;
}

/* checkbox/radio no dark */
#osm-profile-page .form-check-input,
#osm-profile .form-check-input {
  background-color: #2b2b2e !important;
  border-color: #3a3a3f !important;
}
#osm-profile-page .form-check-input:checked,
#osm-profile .form-check-input:checked {
  background-color: #E1FF01 !important;
  border-color: #E1FF01 !important;
}

/* alerts do Joomla (joomla-alert) */
#osm-profile-page .joomla-alert,
#osm-profile .joomla-alert {
  background: var(--bs-alert-bg) !important;
  color: var(--bs-alert-color) !important;
  border-color: var(--bs-alert-border-color) !important;
}

/* pega fundos inline em rgb(255,255,255) também */
#osm-profile-page [style*="rgb(255, 255, 255)"],
#osm-profile [style*="background: #fff"],
#osm-profile [style*="background-color: #fff"],
#osm-profile [style*="rgb(255, 255, 255)"] {
  background: transparent !important;
}
