/* Fontes e transições */
body {
  font-family: "Segoe UI", Roboto, sans-serif;
  transition: background 0.3s, color 0.3s;
}

/* Variáveis por tema */
:root {
  --bg: #000;
  --text: #fff;
  --card-bg: #111;
  --danger: #eb8902;
  --btn-bg: #eb8902;
  --btn-text: #fff;
  --table-header-bg: #eb8902;
  --table-header-text: #fff;
  --table-row-hover: #333;
  --navbar-bg: #212529;
  --navbar-link: #fff;
  --hero-text: #fff;
  --footer-bg: #212529;
  --footer-text: #fff;
  --navbar-toggler-bg: #eb8902;
}

[data-bs-theme="light"] {
  --bg: #f8f9fa;
  --text: #212529;
  --card-bg: #fff;
  --danger: #eb8902;
  --btn-bg: #eb8902;
  --btn-text: #fff;
  --table-header-bg: #eb8902;
  --table-header-text: #fff;
  --table-row-hover: #e9ecef;
  --navbar-bg: rgb(218, 218, 218);
  --navbar-link: #212529;
  --hero-text: #212529;
  --footer-bg: rgb(218, 218, 218);
  --footer-text: #212529;
  --navbar-toggler-bg: #212529;
}

:root {
  --carousel-arrow-light: invert(0%) brightness(0%); /* preto */
  --carousel-arrow-dark: invert(100%) brightness(200%); /* branco claro */
}

[data-bs-theme="light"] .carousel-control-prev-icon,
[data-bs-theme="light"] .carousel-control-next-icon {
  filter: var(--carousel-arrow-light) !important;
}

[data-bs-theme="dark"] .carousel-control-prev-icon,
[data-bs-theme="dark"] .carousel-control-next-icon {
  filter: var(--carousel-arrow-dark) !important;
}

/* Aplicação das cores globais */
body {
  background-color: var(--bg);
  color: var(--text);
}

.bg-black {
  background-color: var(--bg) !important;
}

.text-danger {
  color: var(--danger) !important;
}

/* Navbar */
.navbar {
  background-color: var(--navbar-bg) !important;
  transition: background-color 0.3s, color 0.3s;
}
.navbar .nav-link {
  color: var(--navbar-link) !important;
}
.navbar .navbar-brand {
  color: var(--danger) !important;
}

.navbar-toggler {
  border-color: var(--navbar-toggler-bg) !important;
  background-color: var(--navbar-toggler-bg) !important;
}

/* Botão CTA */
.btn-danger {
  background-color: var(--btn-bg);
  color: var(--btn-text);
  border: none;
}
.btn-danger:hover {
  opacity: 0.85;
}

/* Cards */
.card {
  background-color: var(--card-bg);
  color: var(--text);
  border: none;
  transition: transform 0.3s ease, border 0.3s ease;
  cursor: pointer;
}
.hover-card:hover {
  transform: translateY(-5px);
  border: 1px solid var(--danger);
}

/* Coaches */
.coach-img {
  width: 120px;
  height: 120px;
  object-fit: cover;
}
.coach-card:hover {
  transform: scale(1.05);
}

/* Tabelas */
.tableHorarios {
  background-color: var(--bg);
  color: var(--text);
}
.tableHorarios thead {
  background-color: var(--table-header-bg);
  color: var(--table-header-text);
}
.tableHorarios > :not(caption) > * > * {
  background-color: transparent !important;
  box-shadow: none !important;
}
.tableHorarios tbody tr:hover {
  background-color: var(--table-row-hover);
  cursor: pointer;
  transform: scale(1.01);
}

/* DARK MODE → mapa mais escuro */
[data-bs-theme="dark"] #contact iframe {
  filter: grayscale(100%) contrast(120%) brightness(60%);
}

/* LIGHT MODE → mapa normal */
[data-bs-theme="light"] #contact iframe {
  filter: none;
}

/* Footer */
footer {
  background-color: var(--footer-bg);
  color: var(--footer-text);
}
footer a {
  color: var(--danger);
  text-decoration: none;
}

#themeToggle {
  border-radius: 50%;
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  cursor: pointer;
  background: dimgrey;
}

/* Ícone Lua (dark theme) */
.theme-moon {
  color: #1e90ff; /* azul */
}

/* Ícone Sol (light theme) */
.theme-sun {
  color: #ffd700; /* amarelo */
}

/* Navbar scroll effect */
.custom-navbar.scrolled {
  background-color: rgba(0, 0, 0, 0.9) !important;
  transition: background-color 0.3s ease-in-out;
}

/* Footer  */
.footer {
  background-color: var(--footer-bg) !important;
}
