:root { 
    --bs-primary: #ff6600;
    --bs-blue: #ff6600;
}

body {
  font-family: 'Quicksand', sans-serif;
}

h1, h2, h3 {
  font-weight: 700;
}

.btn {
  border: #ff6600;
}

/* Logo */
.logo img {
  max-height: 40px;
}

.navbar-brand {
  font-weight: 600;
}

/* Separação visual entre header e nav */
.topbar {
  border-bottom: 1px solid #ddd; /* linha clara */
}

[data-theme="dark"] .topbar {
  border-bottom: 1px solid #333; /* linha escura no dark */
}

/* Botões padrão arredondados */
.btn, .nav-link.btn {
  border-radius: 50px !important;
  padding: 8px 16px;
  transition: all 0.3s ease;
}

/* Barra de pesquisa (desktop) */
form[role="search"] .form-control {
  border-radius: 50px;
  padding: 10px 20px;
  width: 300px; /* aumenta largura */
  border: 1px solid #ccc;
  transition: all 0.3s ease;
}

form[role="search"] .btn {
  border-radius: 50px;
  margin-left: 5px;
}

/* Avatar circular */
.avatar-btn {
  border-radius: 50%;
  padding: 0;
  width: 40px;
  height: 40px;
  overflow: hidden;
}

.avatar-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}

/* Header mobile */
.topbar-mobile {
  background-color: #f5f5f5; /* claro */
  border-bottom: 1px solid #ddd;
}

[data-theme="dark"] .topbar-mobile {
  background-color: #111; /* escuro */
  border-bottom: 1px solid #333;
}

/* Barra de pesquisa (mobile) */
.search-bar {
  display: flex;
  width: 100%;
}

.back-btn {
  border-radius: 0;
  background: none;
  color: #ff6600; /* laranja */
  font-size: 1.5rem;
  padding: 10px 15px;
}

.search-bar .form-control {
  border-radius: 0;
  border-right: none;
  padding: 12px;
  font-size: 1rem;
}

.search-btn {
  border-radius: 0;
  border-left: none;
  padding: 0 20px;
}

/* Resultados */
#searchResults {
  padding: 10px;
}

/* Nav sempre horizontal */
.subnav .navbar-nav {
  flex-direction: row !important;
}

.subnav .nav-buttons .nav-link {
  margin: 0 8px;
}

/* Logo estilizado */
.logo {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: 'Saira', sans-serif;
  font-size: 1.3rem;
}

.logo-text {
  display: flex;
  overflow: hidden; /* garante arredondamento */
  border-radius: 50px; /* arredonda os lados */
}

.logo-text span {
  padding: 8px 12px;
  font-weight: 600;
}

.logo-text .toque {
  background-color: #c9c9c9; /* cinza claro */
  color: #4a4a4a;            /* texto preto */
  border-top-left-radius: 50px;
  border-bottom-left-radius: 50px;
}

.logo-text .catolico {
  background-color: #434343; /* cinza escuro */
  color: #ff6600;            /* texto laranja */
  border-top-right-radius: 50px;
  border-bottom-right-radius: 50px;
}

/* Vídeos */
#videoCarousel img {
  transition: transform 0.3s ease;
  border-radius: 30px; /* arredondamento visível */
  border-top: 3px solid #ff6600; /* borda superior laranja */
}

#videoCarousel img:hover {
  transform: scale(1.05);
}

/* Footer */
.footer {
  background-color: #f8f9fa; /* cinza claro */
  font-family: 'Saira', sans-serif;
}

.footer-link {
  color: #333;
  text-decoration: none;
  font-weight: 500;
}

.footer-link:hover {
  text-decoration: underline;
}

.footer .social-icons a {
  color: #333;
  font-size: 1.4rem; /* tamanho único */
  transition: color 0.3s ease;
  margin-right: 10px;
}

.footer .social-icons a:last-child {
  margin-right: 0; /* remove margem extra no último ícone */
}

.footer .social-icons a:hover {
  color: #ff6600; /* cor primária personalizada */
}

/* Linha de ações da música */
.music-actions .btn {
  margin-right: 10px;
}

.music-actions .btn:last-child {
  margin-right: 0; /* remove margem extra no último botão */
}

/* Main container nunca excede a largura da tela */
main.container {
  max-width: 100%;
  overflow-x: hidden;
}

/* Área da cifra: controla largura e rolagem */
.cifra {
  font-family: monospace;
  font-size: 1rem;
  line-height: 1.6;
  max-width: 100%;          /* não excede a tela */
  overflow-x: auto;         /* adiciona scroll horizontal se necessário */
  white-space: pre;         /* mantém formatação original */
}

/* Mobile: quebra linhas para evitar scroll excessivo */
@media (max-width: 767.98px) {
  .cifra {
    white-space: pre-wrap;  /* permite quebra de linha */
    word-wrap: break-word;
  }
}

.tone-label{
    padding: 0 !important;
    margin: 0 !important;
    font-weight: 600;
    color: #ff6600;
}

/* Ícone de favoritar ao lado do título */
.favorite-icon {
  font-size: 1.5rem;   /* tamanho do coração */
  color: #ff6600;      /* cor laranja */
  cursor: pointer;     /* indica que é clicável */
  transition: color 0.3s ease;
}

.favorite-icon:hover {
  color: #e04e00;      /* tom mais escuro no hover */
}

/* Estado ativo (favoritado) */
.favorite-icon.active {
  color: red;          /* coração vermelho quando ativo */
}


.line {
  display: flex;
  flex-wrap: nowrap;   /* não quebra linha */
  justify-content: flex-start;
}

.block {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-right: 4px;
  flex: 0 1 auto;      /* ajusta largura conforme conteúdo */
}

.chord {
  font-weight: bold;
  color: orange;
  font-size: 14px;
  line-height: 1.2;
}

.lyric {
  font-size: 16px;
  line-height: 1.4;
}
.song {
  overflow-x: auto;
}


