/* Web Rádio - Tema escuro com vermelho */

/* Tema no estilo Sound PRO / Hoost - cor de destaque #c4242a */

/* Player popup - janela lateral */

.player-popup-page {

  display: flex;

  justify-content: flex-end;

}

.radio-player-popup {

  width: 100%;

  max-width: 360px;

  min-height: 100vh;

  background: var(--bg-darker);

  border-left: 1px solid var(--border);

  box-shadow: -8px 0 32px rgba(0,0,0,0.5);

}

.radio-player-popup .radio-panel-header {

  display: flex;

  align-items: center;

  justify-content: center;

  padding: 1rem 1.25rem;

  border-bottom: 1px solid var(--border);

}

.radio-player-popup .radio-panel-body {

  padding: 1.5rem 1.25rem;

}



/* App shell - player persistente, música continua ao navegar */

body.app-shell {

  margin: 0;

  padding: 0;

  overflow: hidden;

  background: #1a1a1a;

}

.app-iframe {

  display: block;

  width: 100%;

  height: 100vh;

  border: none;

}



:root {

  --bg-dark: #1a1a1a;

  --bg-darker: #0d0d0d;

  --accent: #c4242a;

  --accent-hover: #a01d22;

  --text: #f0f0f0;

  --text-muted: rgba(255,255,255,0.6);

  --border: #333;

}



* {

  box-sizing: border-box;

}



body {

  background: #252525;

  background-image: url("data:image/svg+xml,%3Csvg width='28' height='28' viewBox='0 0 28 28' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14 0L28 14L14 28L0 14L14 0zm0 4L4 14l10 10 10-10L14 4z' fill='%23000' fill-opacity='0.25' fill-rule='evenodd'/%3E%3C/svg%3E");

  color: var(--text);

  font-family: 'Poppins', 'Segoe UI', system-ui, sans-serif;

  min-height: 100vh;

  overflow-x: hidden;

}



/* Títulos e descrições - Poppins */

h1, h2, h3, h4, h5, h6,

.section-title,

.card-title,

.lead,

p {

  font-family: 'Poppins', 'Segoe UI', system-ui, sans-serif;

}



/* Coluna central 1170px - formato do print */

.site-wrap {

  max-width: 1170px;

  margin: 0 auto;

  background: var(--bg-dark);

  min-height: 100vh;

  box-shadow: 0 0 0 1px rgba(0,0,0,0.1);

}



a {

  color: var(--accent);

}

a:hover {

  color: var(--accent-hover);

}



/* Header - não fixo, rola com a página */

.site-header {

  position: relative;

  z-index: 10;

}



/* Top bar (logo + redes) - fora do site-wrap, totalmente transparente, sem fundo */

.top-bar.header-top {

  background: transparent !important;

  border-bottom: none;

}

.top-bar.header-top .container {

  max-width: 1170px;

}

.header-top-inner {

  padding: 1.25rem 0;

  min-height: 110px;

  align-items: center;

}



.logo-block {

  display: inline-flex;

  align-items: center;

  gap: 0;

  text-decoration: none;

  color: #fff;

}

.site-logo-img {

  max-height: 90px;

  width: auto;

  object-fit: contain;

  display: block;

}



.logo-pick {

  width: 48px;

  height: 48px;

  background: var(--accent);

  border-radius: 50% 50% 8px 50%;

  transform: rotate(-45deg);

  display: inline-flex;

  align-items: center;

  justify-content: center;

  flex-shrink: 0;

  margin-right: 4px;

}

.logo-pick i {

  color: #fff;

  font-size: 1.4rem;

  transform: rotate(45deg);

}



.logo-freq-tag {

  background: var(--accent);

  color: #fff;

  font-weight: 700;

  font-size: 0.85rem;

  padding: 3px 8px;

  margin-left: -6px;

  margin-right: 10px;

  align-self: flex-end;

  margin-bottom: 0;

}



.logo-name {

  font-weight: 700;

  font-size: 1.35rem;

  color: #fff;

  text-transform: uppercase;

  letter-spacing: 0.02em;

}



.logo-fm {

  font-weight: 700;

  color: #fff;

  margin-left: 2px;

}



.logo-by {

  font-size: 0.7rem;

  color: var(--accent);

  margin-left: 6px;

  align-self: flex-end;

  margin-bottom: 4px;

  font-weight: 600;

  text-transform: lowercase;

}



.logo-block:hover {

  color: #fff;

}

.logo-block:hover .logo-name,

.logo-block:hover .logo-fm { color: #fff; }

.logo-block:hover .logo-by { color: var(--accent-hover); }



.social-links {

  display: flex;

  align-items: center;

  gap: 1rem;

}

.social-links a {

  color: #fff;

  font-size: 1.25rem;

  opacity: 0.9;

}

.social-links a:hover {

  color: #fff;

  opacity: 1;

}



/* Barra de navegação - fundo #1c1c1c */

.main-nav {

  background: #1c1c1c !important;

  padding: 0;

  border: none;

  min-height: 46px;

}

.main-nav .container {

  display: flex;

  align-items: stretch;

  flex-wrap: wrap;

  padding-right: 0;

}

.main-nav .navbar-collapse {

  flex-grow: 1;

  align-items: stretch;

  justify-content: space-between;

}

.main-nav .navbar-collapse.show {

  display: flex;

}

.main-nav .navbar-nav {

  gap: 0;

  align-items: stretch;

  flex-wrap: wrap;

}

.main-nav .nav-link {

  color: #fff !important;

  padding: 0.6rem 0.85rem;

  text-transform: uppercase;

  font-family: 'Bebas Neue', sans-serif;

  font-size: 1.25rem;

  font-weight: 400;

  letter-spacing: 0.02em;

  border: none;

  border-top: 3px solid transparent;

  display: flex;

  align-items: center;

  transition: background 0.2s, color 0.2s, border-color 0.2s;

  outline: none !important;

  box-shadow: none !important;

}

.main-nav .nav-link:hover,

.main-nav .nav-link:focus,

.main-nav .nav-link:focus-visible,

.main-nav .nav-item.dropdown.show .nav-link {

  color: #fff !important;

  background: rgba(255,255,255,0.06);

  border-top-color: var(--accent);

  outline: none !important;

  box-shadow: none !important;

}

.main-nav .dropdown-toggle::after {

  margin-left: 0.35em;

  vertical-align: middle;

}

.main-nav .dropdown-toggle:focus,

.main-nav .dropdown-toggle:focus-visible {

  outline: none !important;

  box-shadow: none !important;

}



/* Submenu dropdown - fundo escuro, linha vermelha em cima */

.main-nav .dropdown-menu-nav {

  background: #1c1c1c;

  border: none;

  border-top: 3px solid var(--accent);

  border-radius: 0;

  padding: 0.5rem 0;

  margin-top: 0;

}

.main-nav .dropdown-menu-nav .dropdown-item {

  color: #fff;

  text-transform: uppercase;

  font-family: 'Bebas Neue', sans-serif;

  font-size: 1.15rem;

  font-weight: 400;

  padding: 0.5rem 1.25rem;

  outline: none !important;

  box-shadow: none !important;

}

.main-nav .dropdown-menu-nav .dropdown-item:hover,

.main-nav .dropdown-menu-nav .dropdown-item:focus,

.main-nav .dropdown-menu-nav .dropdown-item:focus-visible {

  background: rgba(255,255,255,0.08);

  color: #fff;

  outline: none !important;

  box-shadow: none !important;

}



/* Botão Abrir Player - vermelho, colado na borda direita do menu */

.btn-player-block {

  display: inline-flex;

  align-items: stretch;

  background: var(--accent);

  color: #fff !important;

  text-decoration: none;

  border: none;

  padding: 0 1rem 0 1.25rem;

  margin-left: 0;

  margin-right: 0;

  margin-top: -2px;

  margin-bottom: -2px;

  min-height: 50px;

  align-self: stretch;

  transition: background 0.2s;

  border-radius: 0;

}

.btn-player-block:hover {

  background: var(--accent-hover);

  color: #fff !important;

}



.btn-player-inner {

  display: inline-flex;

  align-items: center;

  gap: 0.75rem;

}



.btn-player-text {

  display: flex;

  flex-direction: column;

  align-items: flex-start;

  justify-content: center;

  line-height: 1.2;

}

.btn-player-text strong {

  font-size: 0.82rem;

  font-weight: 700;

  text-transform: uppercase;

  letter-spacing: 0.02em;

  display: block;

}

.btn-player-sub {

  font-size: 0.68rem;

  font-weight: 500;

  opacity: 0.95;

  margin-top: 1px;

}

.btn-player-inner i {

  font-size: 1.4rem;

  opacity: 0.95;

}



/* Hero Slider - somente imagem, setas em chevron branco */

.hero-slider {

  margin-bottom: 0;

  position: relative;

}

.hero-slider .carousel-inner {

  border-radius: 0;

}

.hero-slide {

  min-height: var(--hero-height, 520px);

  background-size: cover;

  background-position: center;

  background-repeat: no-repeat;

  display: block;

}

.hero-slide-img {

  min-height: var(--hero-height, 520px);

}

.hero-slide-link {

  display: block;

  width: 100%;

  height: 100%;

  min-height: var(--hero-height, 520px);

}

.hero-slide-placeholder {

  background: linear-gradient(135deg, var(--accent) 0%, #8b0000 100%);

  display: flex;

  align-items: center;

  justify-content: center;

  padding: 2rem;

}

.hero-placeholder-text {

  color: #fff;

  font-size: 1.25rem;

  font-weight: 700;

  text-transform: uppercase;

  text-align: center;

}



/* Setas de navegação - Bootstrap Icons chevron (finas) */

.hero-slider .hero-arrow {

  width: 80px;

  opacity: 1;

  background: transparent;

  border: none;

  top: 50%;

  transform: translateY(-50%);

  bottom: auto;

  padding: 0;

  margin: 0;

  z-index: 2;

}

.hero-slider .carousel-control-prev,

.hero-slider .carousel-control-next {

  width: 80px;

  height: 100px;

  margin-top: -50px;

  opacity: 0.9;

}

.hero-slider .carousel-control-prev {

  left: 15px;

}

.hero-slider .carousel-control-next {

  right: 15px;

}

.hero-slider .hero-arrow .bi-chevron-left,

.hero-slider .hero-arrow .bi-chevron-right {

  color: #fff;

  font-size: 4rem;

  font-weight: 300;

}

.hero-slider .hero-arrow:hover .bi-chevron-left,

.hero-slider .hero-arrow:hover .bi-chevron-right {

  opacity: 0.95;

}



/* Últimas Notícias - largura fixa 1160px, 3 colunas, imagem em cima texto embaixo */

.news-section {

  background: var(--bg-darker);

  padding: 50px 0;

}

.news-container {

  max-width: 1160px;

  margin: 0 auto;

  padding: 0 15px;

}

.news-section-title {

  font-family: 'Bebas Neue', sans-serif;

  font-size: 2.5rem;

  font-weight: 400;

  color: #fff;

  text-transform: uppercase;

  text-align: center;

  letter-spacing: 0.02em;

  margin-bottom: 1.5rem;

  padding-bottom: 0.5rem;

  position: relative;

  display: inline-block;

}

.news-section .news-container {

  text-align: center;

}

.news-section-title::after {

  content: '';

  position: absolute;

  bottom: 0;

  left: 0;

  right: 0;

  width: 100%;

  height: 3px;

  background: var(--accent);

}

/* Slider: 3 cards por página, setas navegam */

.news-slider-wrapper {

  overflow: hidden;

  width: 100%;

  margin-top: 1.5rem;

  margin-bottom: 1.5rem;

}

.news-slider-track {

  display: flex;

  transition: transform 0.35s ease;

  will-change: transform;

}

.news-slide {

  flex: 0 0 100%;

  width: 100%;

  min-width: 0;

}

/* Desktop: 3 colunas | Mobile: escondido, usa .news-mobile */

.news-section .news-desktop { display: block; }

.news-section .news-mobile { display: none; }

.news-section .news-grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }

.news-carousel-mobile { position: relative; margin-top: 0.5rem; }

.news-carousel-mobile .carousel-inner { border-radius: 8px; overflow: hidden; }

.news-carousel-mobile .news-card-v { background: rgba(40,40,40,0.8); }

.news-carousel-control {

  width: 40px; height: 40px;

  top: 50%; margin-top: -20px;

  background: rgba(0,0,0,0.6); border-radius: 50%;

  opacity: 1; border: none;

}

.news-carousel-control i { color: #fff; font-size: 1.25rem; }

@media (max-width: 767px) {

  .news-section .news-desktop { display: none !important; }

  .news-section .news-mobile { display: block !important; }

}

@media (min-width: 768px) {

  .news-section .news-mobile { display: none !important; }

}

/* Apenas 3 colunas, 3 cards por linha (em qualquer largura de tela) */

.news-section .news-grid,

.news-section .news-slide .news-slider,

.news-section .news-slider {

  display: grid !important;

  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;

  grid-template-rows: auto !important;

  gap: 20px;

  width: 100%;

  max-width: 100%;

  margin-top: 1.5rem;

  margin-bottom: 1.5rem;

}

.news-section .news-grid .news-card-wrap,

.news-section .news-slider .news-card-wrap {

  max-width: 100%;

}

.news-card-wrap {

  display: flex;

  min-width: 0;

}

.news-card-wrap .news-card-v {

  flex: 1;

  width: 100%;

  min-width: 0;

}

/* Card: imagem sempre mesmo tamanho (aspect-ratio); título em cima ou embaixo alternado */

.news-card-v {

  display: flex;

  flex-direction: column;

  background: rgba(40,40,40,0.8);

  text-decoration: none;

  color: #fff;

  overflow: hidden;

  transition: background 0.2s;

  height: 100%;

}

.news-card-v:hover {

  background: rgba(50,50,50,0.9);

  color: #fff;

}

/* Imagem sempre mesmo tamanho, independente do upload (altura menor: 16/9) */

.news-card-v-img {

  display: block;

  width: 100%;

  aspect-ratio: 16 / 9;

  overflow: hidden;

  background: rgba(0,0,0,0.3);

  flex-shrink: 0;

  order: 1;

}

.news-card-v-img img {

  width: 100%;

  height: 100%;

  min-width: 100%;

  min-height: 100%;

  object-fit: cover;

  object-position: center;

  display: block;

  transition: transform 0.4s ease;

}

.news-card-v:hover .news-card-v-img img {

  transform: scale(1.08);

}

.news-card-v-placeholder {

  width: 100%;

  aspect-ratio: 16 / 9;

  display: flex;

  align-items: center;

  justify-content: center;

  background: rgba(0,0,0,0.4);

  font-size: 2rem;

  color: var(--text-muted);

}

.news-card-v-body {

  padding: 1rem 1rem;

  flex-shrink: 0;

  order: 2;

}

/* Alternado: 1º título em cima, 2º embaixo, 3º em cima... */

.news-card-wrap:nth-child(odd) .news-card-v .news-card-v-body {

  order: 0;

}

.news-card-wrap:nth-child(odd) .news-card-v .news-card-v-img {

  order: 1;

}

.news-card-v-title {

  font-family: 'Bebas Neue', sans-serif;

  font-size: 1.1rem;

  font-weight: 400;

  color: #fff;

  text-transform: uppercase;

  letter-spacing: 0.02em;

  line-height: 1.3;

  margin: 0 0 0.35rem 0;

  display: -webkit-box;

  -webkit-line-clamp: 3;

  -webkit-box-orient: vertical;

  overflow: hidden;

}

.news-card-v-date {

  font-family: 'Poppins', sans-serif;

  font-size: 0.8rem;

  color: var(--text-muted);

  margin: 0;

}

.news-footer {

  display: flex;

  align-items: center;

  justify-content: space-between;

  flex-wrap: wrap;

  gap: 1rem;

  padding-top: 1.25rem;

  padding-bottom: 0.5rem;

}

.news-link-all {

  flex: 1;

  text-align: center;

  font-family: 'Poppins', sans-serif;

  color: #fff;

  text-decoration: none;

  font-size: 0.9rem;

}

.news-link-all:hover {

  color: var(--accent);

}

.news-nav-arrows {

  display: flex;

  gap: 0.5rem;

}

.news-nav-btn {

  width: 36px;

  height: 36px;

  border: none;

  background: rgba(255,255,255,0.1);

  color: #fff;

  border-radius: 50%;

  display: flex;

  align-items: center;

  justify-content: center;

  font-size: 1rem;

  cursor: pointer;

  transition: background 0.2s, color 0.2s;

}

.news-nav-btn:hover {

  background: rgba(255,255,255,0.2);

  color: #fff;

}



/* Seção 3 colunas abaixo das notícias (Peça música | Vídeo | Enquete + Segue lá) */

.home-three-cols .home-block-title {

  font-family: 'Bebas Neue', sans-serif;

  font-size: 1.35rem;

  font-weight: 400;

  color: #fff;

  text-transform: uppercase;

  letter-spacing: 0.02em;

  margin-bottom: 1rem;

  padding-bottom: 0.4rem;

  position: relative;

  display: inline-block;

}

.home-three-cols .home-block-title::after {

  content: '';

  position: absolute;

  bottom: 0;

  left: 0;

  right: 0;

  width: 100%;

  height: 2px;

  background: var(--accent);

}

.home-cta-pedido {

  display: flex;

  align-items: center;

  justify-content: center;

  gap: 0.75rem;

  width: 100%;

  padding: 1rem 1.25rem;

  background: var(--accent);

  color: #fff !important;

  text-decoration: none !important;

  font-size: 0.95rem;

  text-transform: uppercase;

  letter-spacing: 0.03em;

  border-radius: 4px;

  transition: background 0.2s;

}

.home-cta-pedido:hover {

  background: var(--accent-hover);

  color: #fff !important;

}

.home-cta-pedido i {

  font-size: 1.5rem;

}

.home-block-mural .mural-item {

  display: flex;

  gap: 0.75rem;

  padding: 0.75rem 0;

  border-bottom: 1px solid var(--border);

}

.home-block-mural .mural-item:last-of-type {

  border-bottom: none;

}

.btn-mural-recado {

  display: block;

  width: 100%;

  padding: 1rem 1.25rem;

  background: var(--accent);

  color: #fff;

  border: none;

  border-radius: 6px;

  font-size: 1rem;

  font-weight: 700;

  text-transform: uppercase;

  letter-spacing: 0.04em;

  cursor: pointer;

  transition: background 0.2s;

  text-shadow: 0 1px 0 rgba(0,0,0,0.2);

}

.btn-mural-recado:hover {

  background: var(--accent-hover);

  color: #fff;

}

.mural-form-wrap[hidden] {

  display: none !important;

}

.mural-form .mural-input {

  background: rgba(60,60,60,0.8) !important;

  border: 1px solid var(--border);

  color: #fff;

}

.mural-form .mural-input::placeholder {

  color: var(--text-muted);

}

.mural-form .mural-textarea {

  background: #fff !important;

  border: 1px solid #dee2e6;

  color: #212529;

  resize: vertical;

}

.mural-form .mural-textarea::placeholder {

  color: #6c757d;

}

.mural-form-footer {

  margin-top: 0.75rem;

}

.mural-btn-enviar {

  background: var(--accent) !important;

  color: #fff !important;

  border: none;

  padding: 0.5rem 1.25rem;

  font-size: 0.9rem;

  font-weight: 700;

  text-transform: uppercase;

  letter-spacing: 0.05em;

  border-radius: 4px;

  transition: background 0.2s;

}

.mural-btn-enviar:hover {

  background: var(--accent-hover) !important;

  color: #fff !important;

}

.link-mural-ver-todos {

  display: inline-block;

  margin-top: 0.5rem;

  font-size: 0.85rem;

  color: var(--text-muted) !important;

  text-decoration: none !important;

  border: none !important;

  background: none !important;

  padding: 0;

}

.link-mural-ver-todos:hover {

  color: var(--accent) !important;

}

.mural-paginacao .pagination {

  gap: 0.25rem;

}

.mural-page-link {

  background: rgba(255,255,255,0.06) !important;

  border: none !important;

  color: var(--text-muted) !important;

  padding: 0.3rem 0.5rem;

  font-size: 0.8rem;

}

.mural-page-link:hover {

  background: rgba(255,255,255,0.12) !important;

  color: #fff !important;

}

.mural-paginacao .page-item.active .page-link {

  background: var(--accent) !important;

  color: #fff !important;

}



/* Publicidade abaixo do mural */

.publicidade-mural .carousel-inner {

  border-radius: 6px;

  overflow: hidden;

}

.pub-mural-img {

  display: block;

  width: 100%;

  aspect-ratio: 3 / 4;

  background-size: cover;

  background-position: center;

  background-repeat: no-repeat;

}

.publicidade-mural .carousel-control-prev,

.publicidade-mural .carousel-control-next {

  width: 40px;

  background: transparent !important;

  border: none;

  opacity: 0.7;

  top: 50%;

  transform: translateY(-50%);

}

.publicidade-mural .carousel-control-prev { left: 8px; }

.publicidade-mural .carousel-control-next { right: 8px; }

.publicidade-mural .carousel-control-prev i,

.publicidade-mural .carousel-control-next i {

  font-size: 1.75rem;

}

.publicidade-mural .carousel-control-prev:hover,

.publicidade-mural .carousel-control-next:hover {

  opacity: 1;

}

.pub-mural-label {

  font-size: 0.65rem;

  color: var(--text-muted);

  text-align: right;

  margin: 0.35rem 0 0 0;

  opacity: 0.7;

}



/* Galeria de fotos (preview na home) */

.galeria-preview-section {

  background: rgba(0,0,0,0.2);

}

.galeria-preview-section .container {

  max-width: 900px;

}

.section-title-galeria {

  font-family: 'Bebas Neue', sans-serif;

  font-size: 2.5rem;

  font-weight: 400;

  color: #fff;

  text-transform: uppercase;

  letter-spacing: 0.02em;

  margin-bottom: 1.5rem;

  padding-bottom: 0.5rem;

  position: relative;

  display: inline-block;

}

.section-title-galeria::after {

  content: '';

  position: absolute;

  bottom: 0;

  left: 50%;

  transform: translateX(-50%);

  width: 100%;

  max-width: 280px;

  height: 3px;

  background: var(--accent);

}

.galeria-mosaico {

  display: grid;

  grid-template-columns: repeat(4, 1fr);

  gap: 8px;

  justify-content: center;

}

@media (min-width: 768px) {

  .galeria-mosaico { grid-template-columns: repeat(6, 1fr); }

}

@media (min-width: 992px) {

  .galeria-mosaico { grid-template-columns: repeat(6, 1fr); gap: 10px; }

}

.galeria-mosaico-item {

  display: block;

  overflow: hidden;

  border-radius: 6px;

  aspect-ratio: 1;

}

.galeria-mosaico-item img {

  width: 100%;

  height: 100%;

  object-fit: cover;

  transition: transform 0.3s ease, filter 0.3s ease;

  filter: grayscale(100%);

}

.galeria-mosaico-item:hover img {

  transform: scale(1.05);

  filter: grayscale(0%);

}

.galeria-ver-todas-wrap {

  text-align: left;

}

.galeria-ver-todas {

  color: #fff;

  text-decoration: none;

  font-size: 0.9rem;

  border: none;

  background: none;

  transition: color 0.2s;

}

.galeria-ver-todas:hover {

  color: var(--accent);

}



/* Página Galeria única - mosaico */

.galeria-mosaico-pagina {

  grid-template-columns: repeat(2, 1fr);

  gap: 10px;

}

@media (min-width: 576px) {

  .galeria-mosaico-pagina { grid-template-columns: repeat(3, 1fr); }

}

@media (min-width: 768px) {

  .galeria-mosaico-pagina { grid-template-columns: repeat(4, 1fr); gap: 12px; }

}

@media (min-width: 992px) {

  .galeria-mosaico-pagina { grid-template-columns: repeat(5, 1fr); gap: 14px; }

}



/* Compartilhar galeria - Facebook, Twitter, WhatsApp */

.galeria-compartilhar {

  padding-top: 1.5rem;

  border-top: 1px solid var(--border);

}

.share-buttons {

  display: flex;

  flex-wrap: wrap;

  gap: 0.5rem;

}

.share-btn {

  display: flex;

  align-items: center;

  gap: 0.75rem;

  padding: 0.6rem 1rem;

  border-radius: 6px;

  text-decoration: none;

  color: #fff !important;

  font-weight: 600;

  font-size: 0.9rem;

  transition: opacity 0.2s, transform 0.15s;

}

.share-btn:hover {

  opacity: 0.92;

  transform: translateY(-1px);

}

.share-btn-icon {

  display: flex;

  align-items: center;

  justify-content: center;

  width: 36px;

  height: 36px;

  background: rgba(255,255,255,0.25);

  border-radius: 6px;

  font-size: 1.1rem;

  flex-shrink: 0;

}

.share-btn-text {

  display: flex;

  flex-direction: column;

  align-items: flex-start;

  line-height: 1.2;

}

.share-btn-pre {

  font-size: 0.7rem;

  font-weight: 400;

  opacity: 0.95;

}

.share-btn-plataforma {

  font-size: 1rem;

  font-weight: 700;

  text-transform: uppercase;

  letter-spacing: 0.03em;

}

.share-facebook {

  background: #1877f2;

}

.share-twitter {

  background: #1da1f2;

}

.share-whatsapp {

  background: #25d366;

}

@media (max-width: 575px) {

  .share-buttons {

    gap: 0.4rem;

  }

  .share-btn {

    padding: 0.45rem 0.7rem;

    gap: 0.5rem;

    font-size: 0.8rem;

  }

  .share-btn-icon {

    width: 28px;

    height: 28px;

    font-size: 0.95rem;

  }

  .share-btn-pre {

    display: none;

  }

  .share-btn-plataforma {

    font-size: 0.85rem;

  }

}



/* Página Galerias - capas com hover efeito câmera */

.galeria-capa-link {

  display: block;

  text-decoration: none;

  color: inherit;

}

.galeria-capa {

  position: relative;

  background: rgba(0,0,0,0.5);

  border-radius: 8px;

  overflow: hidden;

  transition: transform 0.2s;

}

.galeria-capa:hover {

  transform: translateY(-2px);

}

.galeria-capa-img {

  position: relative;

  width: 100%;

  aspect-ratio: 1;

  overflow: hidden;

}

.galeria-capa-img img {

  width: 100%;

  height: 100%;

  object-fit: cover;

  filter: grayscale(100%);

  transition: filter 0.3s, transform 0.3s;

}

.galeria-capa:hover .galeria-capa-img img {

  filter: grayscale(60%);

  transform: scale(1.05);

}

.galeria-capa-placeholder {

  display: flex;

  align-items: center;

  justify-content: center;

  width: 100%;

  height: 100%;

  background: rgba(255,255,255,0.08);

  font-size: 3rem;

  color: rgba(255,255,255,0.4);

}

.galeria-capa-overlay {

  position: absolute;

  top: 0;

  left: 0;

  right: 0;

  bottom: 0;

  display: flex;

  align-items: center;

  justify-content: center;

  opacity: 0;

  transition: opacity 0.3s;

  background: rgba(0,0,0,0.5);

}

.galeria-capa:hover .galeria-capa-overlay {

  opacity: 1;

}

.galeria-capa-overlay-icon {

  display: flex;

  align-items: center;

  justify-content: center;

  width: 64px;

  height: 64px;

  background: var(--accent);

  border-radius: 50%;

  color: #fff;

  font-size: 1.6rem;

}

.galeria-capa-info {

  padding: 1rem;

  text-align: center;

}

.galeria-capa-titulo {

  display: block;

  font-size: 0.95rem;

  font-weight: 700;

  color: #fff;

  text-transform: uppercase;

  letter-spacing: 0.05em;

}

.galeria-capa-data {

  display: block;

  font-size: 0.75rem;

  color: var(--text-muted);

  margin-top: 0.25rem;

}

/* Lightbox galeria home: imagem colorida com borda branca */

.galeria-lightbox img,

.fslightbox-container.galeria-lightbox img {

  border: 4px solid #fff !important;

  box-shadow: 0 0 30px rgba(0,0,0,0.5);

}

.mural-avatar {

  flex-shrink: 0;

  width: 40px;

  height: 40px;

  display: flex;

  align-items: center;

  justify-content: center;

  background: rgba(255,255,255,0.08);

  border-radius: 50%;

  color: var(--text-muted);

  font-size: 1.25rem;

}

.mural-content {

  flex: 1;

  min-width: 0;

}

.home-segue-la {

  margin-bottom: 0;

}

.segue-la-link {

  display: flex;

  flex-direction: column;

  align-items: center;

  justify-content: center;

  padding: 2rem 1.5rem;

  background: var(--accent);

  color: #fff !important;

  text-decoration: none !important;

  border-radius: 6px;

  transition: background 0.2s;

  min-height: 180px;

}

.segue-la-link:hover {

  background: var(--accent-hover);

  color: #fff !important;

}

.segue-la-link i {

  font-size: 2.5rem;

  margin-bottom: 0.5rem;

  opacity: 0.9;

}

.segue-la-label {

  font-size: 0.85rem;

  text-transform: uppercase;

  letter-spacing: 0.05em;

  opacity: 0.95;

}

.segue-la-count {

  font-family: 'Bebas Neue', sans-serif;

  font-size: 3rem;

  line-height: 1;

  margin: 0.15rem 0;

}

.segue-la-cta {

  font-size: 0.9rem;

  text-transform: uppercase;

  letter-spacing: 0.05em;

  margin-top: 0.25rem;

}

.home-block-video .home-block-title,

.home-block-noticias .home-block-title {

  font-size: 2.5rem;

}

.home-block-mural .home-block-title {

  font-size: 2rem;

}

/* Botões da home usando cor principal (Configurações) */

.home-block .btn-outline-danger,

.home-block-noticias .btn-outline-danger,

.news-section .btn-outline-danger {

  border-color: var(--accent);

  color: var(--accent);

}

.home-block .btn-outline-danger:hover,

.home-block-noticias .btn-outline-danger:hover,

.news-section .btn-outline-danger:hover {

  background-color: var(--accent);

  border-color: var(--accent);

  color: #fff;

}

.home-block .btn-danger,

.home-block-noticias .btn-danger {

  background-color: var(--accent);

  border-color: var(--accent);

}

.home-block .btn-danger:hover,

.home-block-noticias .btn-danger:hover {

  background-color: var(--accent-hover);

  border-color: var(--accent-hover);

}



/* Páginas estáticas em duas colunas (texto + imagem) */

.page-static-row {

  margin-top: 1rem;

}

.page-static-content {

  font-size: 0.95rem;

}

.page-static-img-wrap {

  display: flex;

  justify-content: center;

  align-items: flex-start;

}

.page-static-img {

  border-radius: 12px;

  box-shadow: 0 10px 30px rgba(0,0,0,0.35);

  max-height: 420px;

  width: 100%;

  object-fit: cover;

}



/* Lista de vídeos */

.pagina-videos .video-card {

  border-radius: 8px;

  overflow: hidden;

  transition: transform 0.2s, box-shadow 0.2s;

}

.pagina-videos .video-card:hover {

  transform: translateY(-3px);

  box-shadow: 0 12px 30px rgba(0,0,0,0.6);

}

.video-thumb {

  position: relative;

  border-radius: 6px;

  overflow: hidden;

}

.video-thumb-inner iframe {

  width: 100%;

  height: 100%;

}

.video-thumb-inner img {

  width: 100%;

  height: 100%;

  object-fit: cover;

  display: block;

}

.video-thumb-overlay {

  position: absolute;

  inset: 0;

  background: linear-gradient(180deg, rgba(0,0,0,0.0) 0%, rgba(0,0,0,0.8) 100%);

  display: flex;

  align-items: center;

  justify-content: center;

  opacity: 0;

  transition: opacity 0.2s;

}

.video-thumb-play {

  margin-bottom: 0.7rem;

  width: 48px;

  height: 48px;

  border-radius: 50%;

  background: rgba(0,0,0,0.8);

  display: flex;

  align-items: center;

  justify-content: center;

  color: var(--accent);

  font-size: 1.8rem;

}

.video-thumb:hover .video-thumb-overlay {

  opacity: 1;

}

.video-title {

  font-family: 'Bebas Neue', sans-serif;

  font-size: 1.2rem;

  text-transform: uppercase;

}

.video-desc {

  font-size: 0.8rem;

}



/* Página de vídeo - player maior e espaçamento melhor */

.pagina-video .video-detail {

  padding: 0;

  border-radius: 8px;

  overflow: hidden;

  background: rgba(0,0,0,0.4);

}

.pagina-video .video-detail-ratio {

  margin-bottom: 1.25rem;

}

.pagina-video .video-detail-embed iframe {

  width: 100%;

  height: 100%;

}

.pagina-video .video-detail-desc {

  padding: 0 1rem 1.25rem 1rem;

  font-size: 0.95rem;

}



/* Equipe - cards modernos */

.pagina-equipe .row {

  padding-top: 5rem; /* espaço para a foto circular flutuante não sobrepor o título */

}

.pagina-equipe .row > .col-md-6.col-lg-4 {

  display: flex;

}

.team-card {

  position: relative;

  background: linear-gradient(145deg, rgba(255,255,255,0.03), rgba(0,0,0,0.6));

  border-radius: 18px;

  padding: 2.75rem 1.5rem 1.75rem;

  box-shadow: 0 18px 45px rgba(0,0,0,0.5);

  border: 1px solid rgba(255,255,255,0.04);

  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;

  width: 100%;

}

.team-card:hover {

  transform: translateY(-6px);

  box-shadow: 0 26px 60px color-mix(in srgb, var(--accent) 16%, transparent);

  border-color: color-mix(in srgb, var(--accent) 40%, transparent);

}

.team-photo-wrap {

  position: absolute;

  inset-inline: 0;

  top: -52px;

  display: flex;

  justify-content: center;

}

.team-photo,

.team-photo-placeholder {

  width: 136px;

  height: 136px;

  border-radius: 50%;

  border: 4px solid rgba(0,0,0,0.7);

  outline: 3px solid color-mix(in srgb, var(--accent) 40%, transparent);

  object-fit: cover;

  background: radial-gradient(circle at 30% 20%, rgba(255,255,255,0.18), transparent 55%), rgba(0,0,0,0.8);

  box-shadow: 0 18px 45px rgba(0,0,0,0.7);

  color: rgba(255,255,255,0.7);

  font-size: 3rem;

}

.team-body {

  padding-top: 4.25rem;

}

.team-name {

  font-family: 'Bebas Neue', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  letter-spacing: .06em;

  font-size: 1.8rem;

  margin-bottom: .15rem;

  text-transform: uppercase;

}

.team-role {

  font-size: .85rem;

  text-transform: uppercase;

  letter-spacing: .14em;

  color: rgba(255,255,255,0.6);

  margin-bottom: .6rem;

}

.team-bio {

  font-size: .9rem;

  color: rgba(255,255,255,0.78);

  margin-bottom: 0;

}

.team-social .btn {

  width: 36px;

  height: 36px;

  border-radius: 999px;

  border-color: rgba(255,255,255,0.4);

  color: rgba(255,255,255,0.9);

  background: rgba(0,0,0,0.5);

  backdrop-filter: blur(6px);

  -webkit-backdrop-filter: blur(6px);

  transition: background-color .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease, border-color .2s ease;

}

.team-social .btn:hover {

  background: var(--accent);

  border-color: var(--accent);

  color: #fff;

  transform: translateY(-2px);

  box-shadow: 0 10px 25px color-mix(in srgb, var(--accent) 45%, transparent);

}



/* Programação - cards com imagem */

.prog-filter-nav .prog-filter-btn {

  border-radius: 100px;

  padding: 0.4rem 0.9rem;

  font-size: 0.9rem;

  background: transparent;

  border: 1px solid var(--border);

  color: #fff;

}

.prog-filter-nav .prog-filter-btn.active {

  background: var(--accent);

  border-color: var(--accent);

}

.prog-filter-nav .prog-filter-btn:not(.active):hover {

  border-color: var(--accent);

  color: var(--accent);

}

.prog-filter-nav {

  justify-content: center;

}

.prog-card-wrap {

  display: flex;

}

.prog-card {

  position: relative;

  width: 100%;

  min-height: 420px;

  border-radius: 16px;

  background-size: cover;

  background-position: center;

  overflow: hidden;

  display: flex;

  align-items: flex-end;

  box-shadow: 0 16px 40px rgba(0,0,0,0.45);

}

.prog-card-overlay {

  position: absolute;

  inset: 0;

  background: linear-gradient(180deg, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.85) 100%);

}

.prog-card-inner {

  position: relative;

  padding: 1rem 1.25rem 1.4rem;

  width: 100%;

  color: #fff;

  font-family: 'Poppins', sans-serif;

}

.prog-card-hour {

  display: block;

  font-size: 0.75rem;

  font-weight: 600;

  letter-spacing: 0.08em;

  text-transform: uppercase;

  margin-bottom: 0.35rem;

}

.prog-card-title {

  font-family: 'Bebas Neue', sans-serif;

  font-size: 2.2rem;

  line-height: 1;

  text-transform: uppercase;

  margin: 0.1rem 0 0.3rem;

}

.prog-card-host {

  font-size: 0.85rem;

  text-transform: uppercase;

  letter-spacing: 0.08em;

  margin-bottom: 0.3rem;

}

.prog-card-desc {

  font-size: 0.85rem;

  color: rgba(255,255,255,0.85);

  margin-bottom: 0.4rem;

}

.prog-card-day {

  font-size: 0.75rem;

  font-weight: 600;

  text-transform: uppercase;

  letter-spacing: 0.1em;

  opacity: 0.9;

}

.prog-empty-msg {

  text-align: center;

  margin-top: 3rem;

  margin-bottom: 3rem;

  font-size: 1.05rem;

}



/* Página de evento */

.pagina-evento .card-img-top {

  max-height: 360px;

  object-fit: cover;

}

.evento-map-date {

  margin-top: 0.5rem;

  font-size: 0.95rem;

  font-weight: 600;

  color: var(--accent);

  text-transform: uppercase;

  letter-spacing: 0.06em;

}



/* Listagem de eventos */

.pagina-eventos .evento-card-link:hover .evento-card-modern {

  transform: translateY(-4px);

  box-shadow: 0 10px 30px rgba(0,0,0,0.6);

}

.evento-card-modern {

  transition: transform 0.2s, box-shadow 0.2s;

}

.evento-card-img-wrap {

  position: relative;

  overflow: hidden;

}

.evento-card-img-wrap img {

  max-height: 220px;

  object-fit: cover;

}

.evento-card-date {

  position: absolute;

  left: 0.75rem;

  top: 0.75rem;

  background: rgba(220, 38, 38, 0.9);

  color: #fff;

  padding: 0.25rem 0.6rem;

  border-radius: 999px;

  font-size: 0.75rem;

  font-weight: 600;

  letter-spacing: 0.06em;

  text-transform: uppercase;

}

.evento-card-title {

  font-family: 'Bebas Neue', sans-serif;

  font-size: 1.4rem;

  text-transform: uppercase;

}

.evento-card-hour {

  color: var(--accent);

}

.evento-card-local i {

  color: var(--accent);

}

.eventos-sidebar .eventos-search-form .form-control {

  border-radius: 999px 0 0 999px;

}

.eventos-sidebar .eventos-search-form .btn {

  border-radius: 0 999px 999px 0;

}



/* Promoções - cards e página de detalhe */

.promocao-card-link:hover .promocao-card {

  transform: translateY(-4px);

  box-shadow: 0 12px 30px rgba(0,0,0,0.5);

  border-color: color-mix(in srgb, var(--accent) 50%, transparent) !important;

}

.promocao-card {

  transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;

  border: 1px solid rgba(255,255,255,0.06);

}

.promocao-card-link:hover .card-title {

  color: var(--accent) !important;

}

.pagina-promocao .promocao-validade {

  color: var(--accent);

  font-size: 0.95rem;

}

.pagina-promocao .promocao-regulamento {

  background: rgba(0,0,0,0.3);

  border-radius: 8px;

  padding: 1rem 1.25rem;

}

.pagina-promocao .promocao-regulamento h3 {

  color: var(--accent);

}

.pagina-promocao a.hover-text-white:hover {

  color: #fff !important;

}



/* Top 10 - estilo card com capa circular */

.top10-title {

  font-family: 'Bebas Neue', sans-serif;

  font-size: 2rem;

  font-weight: 400;

  color: #fff;

  text-transform: uppercase;

  letter-spacing: 0.05em;

  margin-bottom: 1rem;

  padding-bottom: 0.5rem;

  border-bottom: 3px solid var(--accent);

  display: inline-block;

}

.top10-list {

  display: flex;

  flex-direction: column;

  gap: 0.5rem;

}

.top10-item {

  display: flex;

  align-items: center;

  gap: 0.75rem;

  padding: 0.5rem 0.75rem;

  background: rgba(255,255,255,0.05);

  border-radius: 8px;

}

.top10-capa {

  flex-shrink: 0;

  width: 48px;

  height: 48px;

  border-radius: 50%;

  overflow: hidden;

  border: 2px solid var(--accent);

  background: rgba(0,0,0,0.3);

}

.top10-capa img {

  width: 100%;

  height: 100%;

  object-fit: cover;

}

.top10-capa-placeholder {

  width: 100%;

  height: 100%;

  display: flex;

  align-items: center;

  justify-content: center;

  color: var(--text-muted);

  font-size: 1.25rem;

}

.top10-info {

  flex: 1;

  min-width: 0;

  display: flex;

  flex-direction: column;

  gap: 0.1rem;

}

.top10-pos {

  font-weight: 700;

  color: var(--accent);

  font-size: 0.85rem;

}

.top10-artista {

  color: #fff;

  font-size: 0.85rem;

  text-transform: uppercase;

  letter-spacing: 0.02em;

}

.top10-musica {

  color: var(--text-muted);

  font-size: 0.75rem;

}

.home-block-video .card-body {

  padding: 1.25rem;

}

.home-block-video .video-destaque-wrap {

  min-height: 260px;

}

@media (min-width: 992px) {

  .home-block-video .video-destaque-wrap {

    min-height: 320px;

  }

}

/* Cards Últimas noticias abaixo do vídeo - imagem em cima, categoria + título + data embaixo */

.noticias-grid-video {

  margin-top: 0.5rem;

}

.noticia-card-video {

  display: block;

  background: rgba(40,40,40,0.8);

  text-decoration: none;

  color: #fff;

  overflow: hidden;

  border-radius: 6px;

  transition: background 0.2s;

}

.noticia-card-video:hover {

  background: rgba(50,50,50,0.9);

  color: #fff;

}

.noticia-card-video-img {

  aspect-ratio: 16 / 9;

  overflow: hidden;

  background: rgba(0,0,0,0.3);

}

.noticia-card-video-img img {

  width: 100%;

  height: 100%;

  object-fit: cover;

  display: block;

}

.noticia-card-video-placeholder {

  width: 100%;

  height: 100%;

  min-height: 100px;

  display: flex;

  align-items: center;

  justify-content: center;

  background: rgba(0,0,0,0.4);

  font-size: 1.5rem;

  color: var(--text-muted);

}

.noticia-card-video-body {

  padding: 0.75rem 1rem;

}

.noticia-card-video-cat {

  font-size: 0.7rem;

  font-weight: 600;

  color: var(--accent);

  text-transform: uppercase;

  letter-spacing: 0.05em;

  display: block;

  margin-bottom: 0.25rem;

}

.noticia-card-video-titulo {

  font-size: 0.9rem;

  font-weight: 700;

  color: #fff;

  line-height: 1.3;

  margin: 0 0 0.35rem 0;

  display: -webkit-box;

  -webkit-line-clamp: 3;

  -webkit-box-orient: vertical;

  overflow: hidden;

}

.noticia-card-video-date {

  font-size: 0.75rem;

  color: var(--text-muted);

  margin: 0;

}



/* Banners */

.banners-section {

  background: rgba(0,0,0,0.3);

  border-top: 1px solid var(--border);

  border-bottom: 1px solid var(--border);

}

.banners-section.banners-rodape {

  margin-bottom: 0;

  border-bottom: none;

}

/* Banner posição 2 - largura total */

.banners-section.banners-pos2-fullwidth {

  width: 100%;

  max-width: 100%;

  overflow: hidden;

}

.banners-pos2-inner {

  width: 100%;

  max-width: 100%;

}

.banners-pos2-fullwidth .banner-img-wrap-fullwidth {

  width: 100%;

  max-width: 100%;

}

.banners-pos2-fullwidth .banner-img-wrap-fullwidth .banner-box {

  width: 100%;

}

.banners-pos2-fullwidth .banner-img-wrap-fullwidth img {

  width: 100%;

  max-width: 100%;

  height: auto;

  display: block;

}

/* Banner posição 3 - tamanho real da imagem */

.banners-section.banners-pos3-natural .banners-pos3-inner {

  display: flex;

  flex-direction: column;

  align-items: center;

}

.banners-pos3-natural .banner-img-wrap-natural {

  display: inline-block;

}

.banners-pos3-natural .banner-img-wrap-natural .banner-box {

  display: inline-block;

}

.banners-pos3-natural .banner-img-wrap-natural img {

  width: auto;

  height: auto;

  max-width: 100%;

  max-height: none;

  display: block;

  vertical-align: top;

}

/* Banner tamanho real (rodapé notícias, etc.) */

.banners-section.banners-natural .banners-natural-inner {

  display: flex;

  flex-direction: column;

  align-items: center;

}

.banners-natural .banner-img-wrap-natural {

  display: inline-block;

}

.banners-natural .banner-img-wrap-natural .banner-box {

  display: inline-block;

}

.banners-natural .banner-img-wrap-natural img {

  width: auto;

  height: auto;

  max-width: 100%;

  max-height: none;

  display: block;

  vertical-align: top;

}

.section-title {

  font-size: 1.1rem;

  font-weight: 700;

  text-transform: uppercase;

}

.banner-box {

  min-height: 80px;

  display: flex;

  align-items: center;

  justify-content: center;

  background: rgba(255,255,255,0.05);

  border-radius: 4px;

  overflow: hidden;

}

.banner-box img {

  max-height: 130px;

  object-fit: contain;

}

.banner-img-wrap {

  display: block;

  width: 100%;

  text-align: right;

}

.banner-img-wrap .banner-box {

  margin-bottom: 4px;

}

.banner-pub-label {

  display: inline-block;

  font-size: 0.6rem;

  color: rgba(255,255,255,0.55);

  background: rgba(255,255,255,0.12);

  padding: 4px 12px;

  border-radius: 2px;

}



/* Cards e listas */

.card.bg-dark {

  background: rgba(0,0,0,0.4) !important;

  border-radius: 6px;

}

.list-group-item.bg-transparent {

  background: transparent !important;

}

.news-list .list-group-item {

  padding: 0.75rem 0;

}



/* Footer - transparente para o fundo do site aparecer */

.site-footer {

  background: transparent !important;

  margin-top: 3rem;

  color: var(--text-muted);

  font-size: 0.9rem;

}

.site-footer .container {

  max-width: 1170px;

  margin-left: auto;

  margin-right: auto;

}

.site-footer .container,

.footer-columns,

.footer-section-wrap,

.footer-bottom {

  background: transparent !important;

}

.footer-section-wrap {

  padding-left: 50px;

  padding-right: 50px;

  max-width: none;

}

@media (max-width: 767px) {

  .footer-section-wrap {

    padding-left: 15px;

    padding-right: 15px;

  }

}

.footer-columns {

  border-bottom: 1px solid var(--border);

}

.footer-cols-row {

  justify-content: center;

}

.footer-title {

  font-family: 'Bebas Neue', sans-serif;

  font-size: 1.5rem;

  font-weight: 400;

  color: #fff;

  text-transform: uppercase;

  letter-spacing: 0.05em;

  margin-bottom: 1rem;

  padding-bottom: 0.5rem;

  border-bottom: 3px solid var(--accent);

  display: inline-block;

}

.footer-menu li {

  margin-bottom: 0.4rem;

}

.footer-menu a {

  color: var(--text-muted);

  text-decoration: none;

  font-size: 0.9rem;

  transition: color 0.2s;

}

.footer-menu a:hover {

  color: var(--accent);

}

.footer-social a {

  color: #fff;

  font-size: 1.5rem;

  opacity: 0.8;

  transition: opacity 0.2s, color 0.2s;

}

.footer-social a:hover {

  opacity: 1;

  color: var(--accent);

}

.footer-texto {

  font-size: 0.85rem;

  line-height: 1.6;

}

.footer-contato a:hover {

  color: var(--accent) !important;

}

.footer-bottom a:hover {

  color: var(--accent) !important;

}

.footer-col-logo {

  max-height: 60px;

  width: auto;

  object-fit: contain;

}

.footer-logo {

  max-height: 36px;

  width: auto;

  object-fit: contain;

  opacity: 0.8;

}



/* Footer - contador de visitas e ouvintes online */

.footer-stats {

  border-top: 1px solid var(--border);

  background: rgba(0,0,0,0.25);

}

.footer-stats-row {

  gap: 1rem;

}

.footer-stat-item {

  display: flex;

  align-items: center;

  gap: 0.5rem;

  font-size: 0.9rem;

}

.footer-stat-icon {

  color: var(--accent);

  font-size: 1.1rem;

}

.footer-stat-num {

  font-weight: 700;

  font-size: 1.1rem;

  color: #fff;

}

.footer-stat-label {

  color: var(--text-muted);

  font-size: 0.85rem;

}

.footer-stat-divider {

  width: 1px;

  height: 24px;

  background: var(--border);

}



/* Footer Estatísticas – card premium */

.footer-stats-card {

  display: inline-flex;

  align-items: center;

  gap: 0.75rem;

  padding: 0.6rem 1rem;

  background: linear-gradient(135deg, rgba(255,255,255,0.08) 0%, rgba(255,255,255,0.03) 100%);

  border: 1px solid rgba(255,255,255,0.12);

  border-radius: 12px;

  backdrop-filter: blur(8px);

}

.footer-stats-card-icon {

  display: flex;

  align-items: center;

  justify-content: center;

  width: 40px;

  height: 40px;

  background: linear-gradient(135deg, var(--accent) 0%, color-mix(in srgb, var(--accent) 70%, #000) 100%);

  border-radius: 10px;

  color: #fff;

  font-size: 1.1rem;

}

.footer-stats-card-content {

  display: flex;

  flex-direction: column;

  gap: 0.1rem;

}

.footer-stats-card-num {

  font-family: 'Bebas Neue', sans-serif;

  font-size: 1.5rem;

  font-weight: 400;

  line-height: 1;

  letter-spacing: 0.02em;

  color: #fff;

}

.footer-stats-card-label {

  font-size: 0.75rem;

  text-transform: uppercase;

  letter-spacing: 0.08em;

  color: rgba(255,255,255,0.65);

  font-weight: 500;

}



/* Formulários no tema escuro */

.form-control.bg-dark,

.form-select.bg-dark {

  background: rgba(0,0,0,0.5) !important;

  color: var(--text);

  border-color: var(--border);

}

.form-control.bg-dark:focus {

  background: rgba(0,0,0,0.6) !important;

  border-color: var(--accent);

  color: var(--text);

}

.form-check-input:checked {

  background-color: var(--accent);

  border-color: var(--accent);

}



/* Páginas internas */

.page-title {

  font-size: 1.75rem;

  font-weight: 700;

  color: var(--accent);

  margin-bottom: 1.5rem;

  padding-bottom: 0.5rem;

  border-bottom: 2px solid var(--accent);

}



/* Título de página - banner vermelho (todas as páginas) */

.page-title-banner-wrap {

  width: 100%;

  margin: 0;

  padding: 0;

}

.page-title-banner {

  font-family: 'Bebas Neue', sans-serif;

  font-size: 2.5rem;

  font-weight: 700;

  color: #fff;

  background: var(--accent);

  padding: 1.75rem 1.5rem;

  margin: 0;

  text-transform: uppercase;

  letter-spacing: 0.05em;

}

main.site-main:has(.page-title-banner-wrap) {

  padding-top: 0;

}

.banners-topo-noticias {

  margin-top: 0;

}

.banners-topo-noticias .banner-topo-noticias {

  overflow: hidden;

  border-radius: 4px;

}

.noticia-card-pagina {

  background: rgba(0,0,0,0.4);

  border-radius: 6px;

  overflow: hidden;

  transition: background 0.2s;

}

.noticia-card-pagina:hover {

  background: rgba(40,40,40,0.6);

}

.noticia-card-pagina-link {

  display: block;

  padding-bottom: 1rem;

  text-decoration: none;

  color: inherit;

}

.noticia-card-pagina-img {

  display: block;

  width: 100%;

  aspect-ratio: 16 / 10;

  overflow: hidden;

  background: rgba(255,255,255,0.05);

}

.noticia-card-pagina-img img {

  width: 100%;

  height: 100%;

  object-fit: cover;

  display: block;

}

.noticia-card-pagina-placeholder {

  display: flex;

  align-items: center;

  justify-content: center;

  width: 100%;

  height: 100%;

  background: rgba(255,255,255,0.08);

  font-size: 2rem;

  color: rgba(255,255,255,0.4);

}

.noticia-card-pagina-cat {

  display: block;

  font-size: 0.7rem;

  font-weight: 600;

  color: var(--accent);

  text-transform: uppercase;

  padding: 0.5rem 1rem 0;

}

.noticia-card-pagina-titulo {

  font-size: 0.95rem;

  font-weight: 700;

  color: #fff;

  padding: 0.35rem 1rem 0;

  margin: 0;

  line-height: 1.3;

  -webkit-line-clamp: 2;

  display: -webkit-box;

  -webkit-box-orient: vertical;

  overflow: hidden;

}

.noticia-card-pagina-date {

  display: block;

  font-size: 0.75rem;

  color: var(--text-muted);

  padding: 0.25rem 1rem 0;

}

.sidebar-block-title {

  font-family: 'Bebas Neue', sans-serif;

  font-size: 1.25rem;

  font-weight: 700;

  color: #fff;

  text-transform: uppercase;

  letter-spacing: 0.05em;

  margin-bottom: 1rem;

  padding-bottom: 0.5rem;

  border-bottom: 2px solid var(--accent);

}

.sidebar-categorias .sidebar-cat-item {

  display: block;

  padding: 0.5rem 0.75rem;

  background: rgba(255,255,255,0.06);

  border-radius: 4px;

  margin-bottom: 0.5rem;

  color: var(--text-muted);

  text-decoration: none;

  transition: background 0.2s, color 0.2s;

}

.sidebar-categorias .sidebar-cat-item:hover,

.sidebar-categorias .sidebar-cat-item.active {

  background: rgba(255,255,255,0.12);

  color: #fff;

}

.sidebar-segue-la {

  text-decoration: none;

  transition: opacity 0.2s;

}

.sidebar-segue-la:hover {

  opacity: 0.9;

}

.sidebar-segue-la-icon {

  font-size: 2rem;

  color: var(--accent);

}



/* Formulário de comentários - notícia */

/* Alinhamento do editor Quill - notícia, post, páginas */

.ql-align-center { text-align: center; }

.ql-align-right { text-align: right; }

.ql-align-justify { text-align: justify; }



/* Notícias importadas (RSS) - texto formatado e justificado */

.content.noticia-importada p {

  text-align: justify;

  line-height: 1.7;

  margin-bottom: 1rem;

}

.content.noticia-importada p:last-child { margin-bottom: 0; }

.content.noticia-importada p.noticia-fonte {

  text-align: left;

  margin-top: 1.5rem;

  margin-bottom: 0;

}

.content.noticia-importada p.noticia-fonte a {

  color: var(--accent);

  font-weight: 600;

}



.noticia-comentarios {

  border-top: 1px solid var(--border);

}

.noticia-comentarios-titulo {

  font-family: 'Bebas Neue', sans-serif;

  font-size: 1.5rem;

  font-weight: 700;

  color: #fff;

  margin-bottom: 1.25rem;

  padding-bottom: 0.5rem;

  border-bottom: 2px solid var(--accent);

}

.noticia-comentarios-titulo .comentarios-count {

  color: var(--accent);

  font-weight: 400;

  margin-left: 0.25rem;

}

.form-comentario {

  background: rgba(0,0,0,0.4);

  border-radius: 8px;

  padding: 1.5rem;

  margin-top: 2rem;

  margin-bottom: 1.5rem;

  border: 1px solid var(--border);

}

.form-comentario-intro {

  font-size: 0.9rem;

  color: var(--text-muted);

  margin-bottom: 1rem;

}

.form-comentario-row {

  display: grid;

  grid-template-columns: 1fr 1fr;

  gap: 0.75rem;

  margin-bottom: 0.75rem;

}

@media (max-width: 575px) {

  .form-comentario-row { grid-template-columns: 1fr; }

}

.form-comentario-input {

  width: 100%;

  padding: 0.6rem 1rem;

  font-size: 0.9rem;

  background: rgba(255,255,255,0.06);

  border: 1px solid var(--border);

  border-radius: 6px;

  color: #fff;

  transition: border-color 0.2s;

}

.form-comentario-input:focus {

  outline: none;

  border-color: var(--accent);

}

.form-comentario-input::placeholder {

  color: rgba(255,255,255,0.4);

}

.form-comentario-textarea {

  width: 100%;

  padding: 0.75rem 1rem;

  font-size: 0.9rem;

  font-family: inherit;

  background: rgba(255,255,255,0.06);

  border: 1px solid var(--border);

  border-radius: 6px;

  color: #fff;

  resize: vertical;

  min-height: 100px;

  margin-bottom: 1rem;

  transition: border-color 0.2s;

}

.form-comentario-textarea:focus {

  outline: none;

  border-color: var(--accent);

}

.form-comentario-textarea::placeholder {

  color: rgba(255,255,255,0.4);

}

.form-comentario-btn {

  padding: 0.6rem 1.5rem;

  font-size: 0.9rem;

  font-weight: 600;

  background: var(--accent);

  color: #fff;

  border: none;

  border-radius: 6px;

  cursor: pointer;

  transition: background 0.2s;

}

.form-comentario-btn:hover {

  background: var(--accent-hover);

}

.form-comentario-result {

  margin-top: 0.75rem;

  font-size: 0.85rem;

}

.lista-comentarios {

  display: flex;

  flex-direction: column;

  gap: 0.75rem;

}

.comentario-item {

  background: rgba(0,0,0,0.35);

  border-radius: 8px;

  padding: 1rem 1.25rem;

  border-left: 3px solid var(--accent);

}

.comentario-item-header {

  display: flex;

  align-items: baseline;

  gap: 0.75rem;

  margin-bottom: 0.5rem;

}

.comentario-item-nome {

  color: var(--accent);

  font-size: 0.95rem;

}

.comentario-item-data {

  font-size: 0.75rem;

  color: var(--text-muted);

}

.comentario-item-texto {

  font-size: 0.9rem;

  color: rgba(255,255,255,0.9);

  line-height: 1.5;

  margin: 0;

}



/* Admin */

.admin-sidebar {

  background: var(--bg-darker);

  min-height: calc(100vh - 56px);

  border-right: 1px solid var(--border);

}

.admin-sidebar .nav-link {

  color: var(--text-muted);

  padding: 0.6rem 1rem;

}

.admin-sidebar .nav-link:hover,

.admin-sidebar .nav-link.active {

  color: var(--accent);

  background: rgba(196, 30, 58, 0.1);

}

.table-dark {

  --bs-table-bg: rgba(0,0,0,0.3);

  --bs-table-border-color: var(--border);

}



/* ===== Botão WhatsApp flutuante ===== */

.whatsapp-float-btn {

  position: fixed;

  bottom: 24px;

  left: 24px;

  width: 56px;

  height: 56px;

  border-radius: 50%;

  background: #25d366;

  color: #fff;

  display: flex;

  align-items: center;

  justify-content: center;

  z-index: 9997;

  box-shadow: 0 4px 20px rgba(37, 211, 102, 0.5);

  transition: transform 0.2s, background 0.2s;

  font-size: 1.75rem;

  text-decoration: none;

}

.whatsapp-float-btn:hover {

  background: #20ba5a;

  color: #fff;

  transform: scale(1.05);

}



/* ===== Player flutuante + painel ===== */

.radio-float-btn {

  position: fixed;

  bottom: 24px;

  right: 24px;

  width: 56px;

  height: 56px;

  border-radius: 12px;

  background: var(--accent);

  border: none;

  color: #fff;

  cursor: pointer;

  display: flex;

  align-items: center;

  justify-content: center;

  z-index: 9998;

  box-shadow: 0 4px 20px color-mix(in srgb, var(--accent) 50%, transparent);

  transition: transform 0.2s, background 0.2s;

}

.radio-float-btn:hover {

  background: var(--accent-hover);

  transform: scale(1.05);

}



/* Equalizador animado - 4 barras */

.radio-eq {

  display: flex;

  align-items: flex-end;

  gap: 4px;

  height: 24px;

}

.radio-eq-bar {

  width: 5px;

  background: #fff;

  border-radius: 2px;

  animation: radio-eq-pulse 0.6s ease-in-out infinite alternate;

}

.radio-eq-bar:nth-child(1) { height: 8px; animation-delay: 0s; }

.radio-eq-bar:nth-child(2) { height: 18px; animation-delay: 0.1s; }

.radio-eq-bar:nth-child(3) { height: 12px; animation-delay: 0.2s; }

.radio-eq-bar:nth-child(4) { height: 14px; animation-delay: 0.3s; }

@keyframes radio-eq-pulse {

  from { transform: scaleY(0.4); }

  to { transform: scaleY(1); }

}



/* Painel deslizante - overlay não bloqueia cliques para permitir navegar */

.radio-player-overlay {

  position: fixed;

  inset: 0;

  background: rgba(0,0,0,0.25);

  z-index: 9999;

  opacity: 0;

  visibility: hidden;

  transition: opacity 0.3s ease, visibility 0.3s ease;

  pointer-events: none;

}

.radio-player-overlay.visible {

  opacity: 1;

  visibility: visible;

}



.radio-player-panel {

  position: fixed;

  top: 0;

  right: 0;

  width: 100%;

  max-width: 340px;

  height: 100vh;

  background: var(--bg-darker);

  border-left: 1px solid var(--border);

  z-index: 10000;

  display: flex;

  flex-direction: column;

  transform: translateX(100%);

  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);

  box-shadow: -8px 0 32px rgba(0,0,0,0.5);

}

.radio-player-panel.visible {

  transform: translateX(0);

}

.radio-player-panel .radio-panel-header {

  display: flex;

  align-items: center;

  justify-content: space-between;

  padding: 1rem 1.25rem;

  border-bottom: 1px solid var(--border);

}

.radio-panel-close {

  width: 36px;

  height: 36px;

  border-radius: 4px;

  background: var(--accent);

  border: none;

  color: #fff;

  cursor: pointer;

  display: flex;

  align-items: center;

  justify-content: center;

  transition: background 0.2s;

}

.radio-panel-close:hover {

  background: var(--accent-hover);

}

.radio-panel-title {

  font-family: 'Bebas Neue', sans-serif;

  font-size: 1.25rem;

  font-weight: 400;

  color: #fff;

  margin: 0;

  letter-spacing: 0.05em;

}

.radio-player-panel .radio-panel-body {

  flex: 1;

  overflow-y: auto;

  padding: 1.5rem 1.25rem;

}

/* Disco (atrás) + capa (na frente) - estilo toca-disco */

.radio-disco-wrap {

  position: relative;

  width: 260px;

  height: 285px;

  margin: 0 auto;

}

.radio-disco {

  position: absolute;

  bottom: -25px;

  left: 50%;

  transform: translateX(-50%);

  width: 200px;

  height: 200px;

  border-radius: 50%;

  overflow: hidden;

  display: flex;

  align-items: center;

  justify-content: center;

  z-index: 1;

}

.radio-disco-wrap.playing .radio-disco {

  animation: radio-disk-spin 3s linear infinite;

}

.radio-disco-img {

  width: 100%;

  height: 100%;

  object-fit: contain;

}

@keyframes radio-disk-spin {

  from { transform: translateX(-50%) rotate(0deg); }

  to { transform: translateX(-50%) rotate(360deg); }

}

.radio-capa {

  position: absolute;

  top: 0;

  left: 50%;

  transform: translateX(-50%);

  width: 230px;

  height: 230px;

  border-radius: 12px;

  overflow: hidden;

  background: var(--bg-darker);

  display: flex;

  align-items: center;

  justify-content: center;

  box-shadow: 0 4px 20px rgba(0,0,0,0.4);

  z-index: 2;

}

.radio-capa img {

  width: 100%;

  height: 100%;

  object-fit: cover;

}

.radio-capa-placeholder {

  color: var(--text-muted);

  font-size: 2.5rem;

}



.radio-panel-logo img {

  max-width: 100%;

  max-height: 80px;

  object-fit: contain;

}

.radio-logo-placeholder {

  display: flex;

  align-items: center;

  gap: 0.5rem;

  color: #fff;

  font-weight: 700;

}

.radio-logo-placeholder i {

  font-size: 2rem;

  color: var(--accent);

}

.radio-play-wrap {

  display: flex;

  flex-direction: column;

  align-items: center;

  margin-top: 2rem;

  margin-bottom: 0.5rem;

}

.radio-btn-play {

  width: 58px;

  height: 58px;

  border-radius: 50%;

  background: var(--accent);

  border: none;

  color: #fff;

  font-size: 1.6rem;

  cursor: pointer;

  display: flex;

  align-items: center;

  justify-content: center;

  transition: background 0.2s, transform 0.2s;

}

.radio-btn-play:hover {

  background: var(--accent-hover);

  transform: scale(1.05);

}

.radio-btn-play.playing {

  box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent) 40%, transparent);

}

.radio-recent-title {

  font-family: 'Bebas Neue', sans-serif;

  font-size: 1rem;

  color: #fff;

  margin-bottom: 0.75rem;

  text-align: center;

}

.radio-recent-desc {

  margin-bottom: 1rem;

}

.radio-recent-list {

  max-height: 200px;

  overflow-y: auto;

  display: flex;

  flex-direction: column;

  gap: 0.5rem;

  scrollbar-width: none;

  -ms-overflow-style: none;

}

.radio-recent-list::-webkit-scrollbar {

  display: none;

}

.radio-recent-item {

  display: flex;

  gap: 0.75rem;

  padding: 0.6rem 0.75rem;

  background: rgba(255,255,255,0.06);

  border-radius: 8px;

  align-items: flex-start;

}

.radio-recent-item.radio-recent-empty {

  background: transparent;

  padding: 0.5rem 0;

}

.radio-recent-capa {

  width: 40px;

  height: 40px;

  flex-shrink: 0;

  background: rgba(255,255,255,0.08);

  border-radius: 6px;

  overflow: hidden;

  display: flex;

  align-items: center;

  justify-content: center;

  border: 1px solid rgba(255,255,255,0.15);

}

.radio-recent-capa img {

  width: 100%;

  height: 100%;

  object-fit: cover;

}

.radio-recent-capa span {

  color: var(--text-muted);

  font-size: 1.5rem;

}

.radio-recent-info {

  flex: 1;

  min-width: 0;

  font-size: 0.875rem;

  display: flex;

  flex-direction: column;

  gap: 0.15rem;

}

.radio-recent-titulo {

  color: #fff;

  display: block;

  font-weight: 600;

}

.radio-recent-artista {

  color: rgba(255,255,255,0.6);

  font-size: 0.8rem;

}

.radio-volume {

  padding: 0 0.25rem;

  width: 100%;

}

.radio-volume .d-flex {

  width: 100%;

}

.radio-volume-icon {

  color: var(--accent);

  font-size: 1.1rem;

}

.radio-volume-slider {

  flex: 1;

  width: 100%;

  min-width: 0;

  height: 6px;

  --bs-form-range-thumb-bg: var(--accent);

  --bs-form-range-thumb-border: 0;

  --bs-form-range-track-bg: rgba(255,255,255,0.2);

  accent-color: var(--accent);

}

.radio-volume-slider::-webkit-slider-thumb {

  background: var(--accent) !important;

}

.radio-volume-slider::-moz-range-thumb {

  background: var(--accent) !important;

}

.radio-app-icon {

  width: 38px;

  height: 38px;

  border-radius: 50%;

  background: rgba(255,255,255,0.1);

  color: #fff;

  display: flex;

  align-items: center;

  justify-content: center;

  text-decoration: none;

  transition: background 0.2s, color 0.2s;

}

.radio-app-icon:hover {

  background: var(--accent);

  color: #fff;

}



/* Toggle menu mobile - sem borda, ícone branco (3 traços visíveis em fundo escuro) */

.menu-toggle-mobile.navbar-toggler,

.navbar-toggler.border-0 {

  border: none !important;

  box-shadow: none !important;

  outline: none;

  padding: 0.5rem;

}

.menu-toggle-mobile.navbar-toggler:focus {

  box-shadow: none !important;

  outline: none;

}

.menu-toggle-mobile .navbar-toggler-icon {

  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");

}



/* ===== Refinamentos Mobile ===== */

@media (max-width: 991px) {

  .header-top-inner {

    padding: 0.85rem 0;

    min-height: auto;

    flex-wrap: wrap;

    gap: 0.5rem;

  }

  .logo-pick { width: 40px; height: 40px; font-size: 1.05rem; }

  .logo-name { font-size: 1.1rem; }

  .logo-freq-tag { font-size: 0.75rem; padding: 2px 6px; }

  .logo-by { font-size: 0.58rem; }

  .site-logo-img { max-height: 56px; }

  .social-links a { font-size: 1rem; }

  .social-links { gap: 0.75rem; }

  .main-nav .container { padding-left: 12px; padding-right: 12px; }

  .main-nav:not(:has(.navbar-collapse.show)) {

    min-height: 0;

    padding: 0;

  }

  .main-nav:not(:has(.navbar-collapse.show)) .container {

    padding-top: 0;

    padding-bottom: 0;

    min-height: 0;

  }

  .main-nav .nav-link { padding: 0.5rem 0.6rem; font-size: 1.1rem; }

  .main-nav .navbar-collapse {

    flex-direction: column;

    align-items: stretch;

    padding: 0.5rem 0;

    padding-bottom: max(1rem, env(safe-area-inset-bottom, 1rem));

  }

  .main-nav .navbar-nav { flex-direction: column; }

  .main-nav .navbar-nav .nav-item { width: 100%; }

  .main-nav .navbar-nav .nav-link { border-top: none; border-left: 3px solid transparent; padding: 0.65rem 1rem; }

  .main-nav .navbar-nav .nav-link:hover,

  .main-nav .navbar-nav .nav-item.dropdown.show .nav-link { border-left-color: var(--accent); }

  .main-nav .dropdown-menu { position: static !important; }

  /* Oculta botão \"Abrir Player\" apenas no mobile */

  .btn-player-block {

    display: none !important;

  }

  .btn-player-text strong { font-size: 0.7rem; }

  .btn-player-sub { font-size: 0.55rem; }

  .btn-player-inner i { font-size: 1rem; }

  .news-section { padding: 35px 0; }

  .news-section-title { font-size: 2rem; }

  .section-title-galeria { font-size: 2rem; }

  .hero-slide,

  .hero-slide-img,

  .hero-slide-link { min-height: 220px; }

  .hero-slide-img {

    background-size: contain;

    background-position: top center;

    background-color: #0d0d0d;

  }

  .radio-player-panel { max-width: 100%; }

  .radio-disco-wrap { width: 200px; height: 230px; }

  .radio-disco { width: 160px; height: 160px; bottom: -20px; }

  .radio-capa { width: 170px; height: 170px; }

  .footer-section-wrap { padding-left: 15px; padding-right: 15px; }

  .footer-col-logo { max-height: 50px; }

  .footer-title { font-size: 1.25rem; }

}



@media (max-width: 767px) {

  .galeria-mosaico-pagina { grid-template-columns: repeat(4, 1fr); gap: 8px; }

  .site-wrap .container { padding-left: 15px; padding-right: 15px; }

  .header-top-inner { padding: 0.6rem 0; }

  .logo-block { flex-wrap: wrap; }

  .logo-pick { width: 36px; height: 36px; font-size: 0.95rem; }

  .logo-name { font-size: 1.05rem; }

  .logo-freq-tag { font-size: 0.7rem; padding: 2px 5px; }

  .logo-by { font-size: 0.52rem; }

  .site-logo-img { max-height: 50px; }

  .social-links { gap: 0.5rem; }

  .social-links a { font-size: 0.95rem; }

  .news-section { padding-top: 12px; }

  .news-section .news-grid,

  .news-section .news-slider,

  .news-section .news-slide .news-slider {

    grid-template-columns: 1fr !important;

    gap: 16px;

  }

  .news-slider-track { flex-direction: column; }

  .news-slide { flex: 0 0 100%; }

  .home-three-cols .home-block-title { font-size: 1.15rem; }

  .home-block-video .video-destaque-wrap { min-height: 200px; }

  .galeria-mosaico { grid-template-columns: repeat(3, 1fr); gap: 6px; }

  .section-title-galeria { font-size: 1.75rem; margin-bottom: 1rem; }

  .top10-block .top10-item { flex-direction: row; }

  .top10-capa { width: 44px; height: 44px; flex-shrink: 0; }

  .top10-info { font-size: 0.85rem; }

  .footer-cols-row .col-6 { flex: 0 0 100%; max-width: 100%; }

  .footer-bottom .container { flex-direction: column; text-align: center; }

  .radio-float-btn {

    bottom: max(16px, env(safe-area-inset-bottom, 16px));

    right: max(16px, env(safe-area-inset-right, 16px));

    width: 52px;

    height: 52px;

  }

  .whatsapp-float-btn {

    bottom: max(16px, env(safe-area-inset-bottom, 16px));

    left: max(16px, env(safe-area-inset-left, 16px));

    width: 52px;

    height: 52px;

    font-size: 1.6rem;

  }

  .radio-eq-bar { width: 4px; }

  .radio-player-panel .radio-panel-body { padding: 1rem 1rem; }

  .radio-disco-wrap { width: 160px; height: 200px; }

  .radio-disco { width: 140px; height: 140px; bottom: -15px; }

  .radio-capa { width: 140px; height: 140px; }

  .radio-btn-play { width: 50px; height: 50px; font-size: 1.4rem; }

  .radio-recent-capa { width: 36px; height: 36px; }

  .radio-recent-capa span { font-size: 1rem; }

  .radio-recent-item { padding: 0.5rem 0.6rem; gap: 0.5rem; }

  .radio-recent-titulo { font-size: 0.8rem; }

  .radio-recent-artista { font-size: 0.75rem; }

  .page-title { font-size: 1.5rem; }

  .hero-slider .carousel-control-prev,

  .hero-slider .carousel-control-next { width: 50px; }

  .hero-slider .hero-arrow .bi-chevron-left,

  .hero-slider .hero-arrow .bi-chevron-right { font-size: 2.5rem; }

  .btn-player-block { padding: 0.45rem 0.75rem; }

  .btn-player-text strong { font-size: 0.65rem; }

  .btn-player-inner i { font-size: 0.95rem; }

}



@media (max-width: 575px) {

  .galeria-mosaico-pagina { grid-template-columns: repeat(3, 1fr); gap: 6px; }

  .header-top .container { padding-left: 12px; padding-right: 12px; }

  .logo-pick { width: 32px; height: 32px; font-size: 0.9rem; }

  .logo-name { font-size: 0.95rem; }

  .logo-fm { font-size: 0.85rem; }

  .logo-freq-tag { font-size: 0.65rem; padding: 2px 4px; }

  .logo-by { font-size: 0.5rem; }

  .site-logo-img { max-height: 44px; }

  .social-links a { font-size: 0.9rem; }

  .social-links { gap: 0.45rem; }

  .btn-player-block { min-height: 36px; padding: 0.4rem 0.65rem; }

  .btn-player-inner { gap: 0.4rem; }

  .btn-player-text strong { font-size: 0.65rem; }

  .btn-player-sub { display: none; }

  .btn-player-inner i { font-size: 0.9rem; }

  .news-section { padding: 28px 0; }

  .news-section-title { font-size: 1.75rem; }

  .news-card-v-body { padding: 0.85rem; }

  .news-card-v-title { font-size: 1rem; -webkit-line-clamp: 2; }

  .galeria-mosaico { grid-template-columns: repeat(2, 1fr); gap: 6px; }

  .galeria-ver-todas { font-size: 0.9rem; }

  .radio-disco-wrap { width: 140px; height: 180px; }

  .radio-disco { width: 120px; height: 120px; }

  .radio-capa { width: 120px; height: 120px; }

  .radio-capa-placeholder { font-size: 1.8rem; }

  .radio-float-btn { bottom: 12px; right: 12px; width: 48px; height: 48px; }

  .whatsapp-float-btn {

    bottom: max(12px, env(safe-area-inset-bottom, 12px));

    left: max(12px, env(safe-area-inset-left, 12px));

    width: 48px;

    height: 48px;

    font-size: 1.5rem;

  }

  .radio-recent-list { max-height: 160px; }

  .radio-app-icon { width: 34px; height: 34px; font-size: 1rem; }

  .radio-float-btn {

    bottom: max(12px, env(safe-area-inset-bottom, 12px));

    right: max(12px, env(safe-area-inset-right, 12px));

  }

}

