/* Oculta a bolinha de cursor animado */
div[style*="position: fixed"][style*="border-radius: 100%"][style*="mix-blend-mode"] {
  display: none !important;
}

/* ============================
   Rota12 • OSMembership (perfil)
   Escopo: #osm-profile-page
   ============================ */

/* ====== BASE / FUNDO E TEXTO ====== */
#osm-profile-page,
#osm-profile-page form,
#osm-profile-page .joomla-tab__content,
#osm-profile-page .tab-content {
  background: #111 !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 (joomla-tab) ====== */
#osm-profile-page joomla-tab { display: block; }

#osm-profile-page .joomla-tab__header,
#osm-profile-page .nav-tabs {
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid #2a2a2a !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;           /* amarelo Rota12 */
  border-bottom-color: #E1FF01 !important;
}

/* ====== FORM / LAYOUT E RÓTULOS ====== */
#osm-profile-page .row.form-group.form-row { margin-bottom: 1.25rem; }
#osm-profile-page .eb-form-control { display: block; }

#osm-profile-page label,
#osm-profile-page .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 {
  background: #1b1b1b !important;
  border: 1px solid #444 !important;
  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 {
  background: #222 !important;
  border-color: #E1FF01 !important;
  color: #fff !important;
  box-shadow: none !important;
  outline: 0;
}
/* Placeholder legível em dark */
#osm-profile-page ::placeholder { color: #bbbbbb !important; }

/* Estrela de obrigatório */
#osm-profile-page .star,
#osm-profile-page .required { color: #ff6b6b; }

/* Botão “olho” do password */
#osm-profile-page .input-password-toggle {
  background: #1b1b1b !important;
  border: 1px solid #444 !important;
  color: #f5f5f5 !important;
  border-radius: 8px !important;
  padding: .4rem .6rem;
}
#osm-profile-page .input-password-toggle:hover {
  background: #222 !important;
  color: #E1FF01 !important;
}

/* Selects (lista de opções) */
#osm-profile-page select.form-select { max-width: 100%; }
#osm-profile-page select option {
  color: #fff !important;
  background: #1b1b1b !important;
}

/* ====== BOTÕES ====== */
#osm-profile-page .form-actions { margin-top: 1.25rem; gap: .5rem; }
#osm-profile-page .btn.btn-primary {
  background: #E1FF01 !important;
  border-color: #E1FF01 !important;
  color: #111 !important;
  font-weight: 700;
}
#osm-profile-page .btn.btn-primary:hover { filter: brightness(.9); }

/* ====== TABELAS (Minhas Assinaturas / Histórico / Arquivos) ====== */
#osm-profile-page table.table {
  background: transparent !important;
  color: #ddd !important;
}
#osm-profile-page table.table thead th {
  border-bottom: 1px solid #333 !important;
  color: #e6e6e6;
}
#osm-profile-page table.table td,
#osm-profile-page table.table th { border-color: #333 !important; }
#osm-profile-page table.table-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(255,255,255,.03) !important;
}

/* ====== ValidationEngine (erros) ====== */
#osm-profile-page .formError { z-index: 10001; }
#osm-profile-page .formError .formErrorContent {
  background: #1e1e1e !important;
  color: #eee !important;
  border: 1px solid #444 !important;
  border-radius: .5rem;
}
#osm-profile-page .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 {
    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 do perfil (garante dark total) */
#osm-profile-page {
  /* cores base */
  --bs-body-bg: #111;
  --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: #1e1e1e;
  --bs-alert-color: #eee;
  --bs-alert-border-color: #444;
}

/* checkbox/radio no dark */
#osm-profile-page .form-check-input {
  background-color: #1b1b1b !important;
  border-color: #444 !important;
}
#osm-profile-page .form-check-input:checked {
  background-color: #E1FF01 !important;
  border-color: #E1FF01 !important;
}

/* alerts do Joomla (joomla-alert) */
#osm-profile-page .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)"] {
  background: transparent !important;
}

/* Dark total dentro do web component */
#osm-profile-page joomla-tab {
  --tab-header-bg: transparent;
  --tab-header-border-color: #2a2a2a;
  --tab-color: #ddd;
  --tab-active-color: #E1FF01;
  --tab-active-underline: 2px solid #E1FF01;
  --tab-panel-bg: #111;
  --tab-panel-color: #f5f5f5;
}
/* Se o componente expõe parts, isso força o dark */
#osm-profile-page joomla-tab::part(tablist) {
  background: transparent;
  border-bottom: 1px solid #2a2a2a;
}
#osm-profile-page joomla-tab::part(tab) {
  color: #ddd;
  border: 0;
}
#osm-profile-page joomla-tab::part(tab-active) {
  color: #E1FF01;
  border-bottom: 2px solid #E1FF01;
}
#osm-profile-page joomla-tab::part(tabpanel) {
  background: #111;
  color: #f5f5f5;
}
/* Se o CSS do OSM insistir no branco */
#osm-profile-page.osm-container,
#osm-profile-page.osm-container-j4 {
  background: transparent !important;
}


/* OSM Profile – Dark (override) */
#osm-profile-page,
#osm-profile-page .tab-content { background:#111; color:#f5f5f5; }

#osm-profile-page label,
#osm-profile-page .form-control-label { color:#f5f5f5; font-weight:600; }

#osm-profile-page .row.form-group.form-row { margin-bottom:1.25rem; }

#osm-profile-page .form-control,
#osm-profile-page .form-select,
#osm-profile-page textarea {
  background:#1b1b1b; border:1px solid #444; color:#fff; border-radius:8px; padding:.5rem .75rem;
}
#osm-profile-page .form-control:focus,
#osm-profile-page .form-select:focus,
#osm-profile-page textarea:focus {
  background:#222; border-color:#E1FF01; color:#fff; box-shadow:none;
}

#osm-profile-page .input-password-toggle {
  background:#1b1b1b; border:1px solid #444; color:#f5f5f5; border-radius:8px; padding:.4rem .6rem;
}
#osm-profile-page .input-password-toggle:hover { background:#222; color:#E1FF01; }

#osm-profile-page .btn.btn-primary { background:#E1FF01; border-color:#E1FF01; color:#111; font-weight:700; }
#osm-profile-page .btn.btn-primary:hover { filter:brightness(.9); }

#osm-profile-page table.table { background:transparent; color:#ddd; }
#osm-profile-page table.table thead th { border-bottom:1px solid #333; color:#e6e6e6; }
#osm-profile-page table.table td, #osm-profile-page table.table th { border-color:#333; }
#osm-profile-page table.table-striped tbody tr:nth-of-type(odd){ background-color:rgba(255,255,255,.03); }