/* ==========================================================
   PROTRACKER TV - AJUSTE SEGURO
   Não move elementos com JavaScript.
   Apenas corrige tamanho, centralização e leitura.
   ========================================================== */

* {
  box-sizing: border-box !important;
}

html,
body {
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  overflow: hidden !important;
  background: #050b1c !important;
  -webkit-font-smoothing: antialiased !important;
  text-rendering: geometricPrecision !important;
}

#app {
  width: 100vw !important;
  max-width: 100vw !important;
  min-height: 100vh !important;
  padding: 24px 36px 16px 36px !important;
  overflow: hidden !important;
}

/* Banner superior */
.banner-area,
#banner-area,
#app > header {
  height: 82px !important;
  min-height: 82px !important;
  max-height: 82px !important;
  margin-bottom: 26px !important;
  overflow: hidden !important;
  border-radius: 10px !important;
}

#tv-banner-img,
.banner-area img,
#banner-area img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

/* Estrutura principal já existente */
main,
.main,
.tv-main,
.content,
.layout,
.dashboard-grid {
  max-width: 100% !important;
}

/* Vídeo maior e sem lateral vazia */
.video-box {
  width: min(1040px, 68vw) !important;
  height: min(410px, 45vh) !important;
  min-height: 340px !important;
  margin-left: 0 !important;
  margin-top: 0 !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  background: #020817 !important;
  border: 1px solid rgba(39,105,255,.38) !important;
  box-shadow: 0 18px 55px rgba(0,0,0,.28) !important;
}

#vid-inline,
.video-box video {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
}

/* Bloco cliente */
.atendimento-card {
  width: min(520px, 34vw) !important;
  min-height: 118px !important;
  max-height: 135px !important;
  margin-top: 12px !important;
  padding: 18px 24px !important;
  border-radius: 18px !important;
  background: rgba(7,17,38,.94) !important;
  border: 1px solid rgba(76,139,255,.34) !important;
  box-shadow: 0 18px 55px rgba(0,0,0,.24) !important;
}

/* Lateral direita */
.sidebar {
  width: 405px !important;
  max-width: 405px !important;
  margin-top: 18px !important;
  margin-right: 0 !important;
  gap: 18px !important;
}

.sidebar .panel,
.weather-panel,
#music-player {
  width: 100% !important;
  border-radius: 18px !important;
  background: rgba(7,17,38,.94) !important;
  border: 1px solid rgba(76,139,255,.34) !important;
  box-shadow: 0 18px 55px rgba(0,0,0,.24) !important;
}

.weather-panel {
  min-height: 230px !important;
  max-height: 255px !important;
  overflow: hidden !important;
}

#music-player {
  min-height: 160px !important;
  max-height: 180px !important;
  overflow: hidden !important;
}

/* Remove efeito visual do clima */
.weather-panel::before,
.weather-panel::after {
  display: none !important;
  content: none !important;
  animation: none !important;
  opacity: 0 !important;
}

.weather-panel img,
.weather-panel svg,
.weather-panel .weather-icon,
.weather-panel [class*="icon"] {
  animation: none !important;
  transform: none !important;
}

/* Notícias menores, nítidas e sem borrado */
.footer-ticker-block {
  position: fixed !important;
  left: 36px !important;
  right: 36px !important;
  bottom: 92px !important;
  width: auto !important;
  height: 76px !important;
  min-height: 76px !important;
  max-height: 76px !important;
  margin: 0 !important;
  overflow: hidden !important;
  background: rgba(5,15,38,.94) !important;
  border: 1px solid rgba(32,214,255,.32) !important;
  z-index: 30 !important;
}

.ticker-top,
.ticker-strip {
  height: 100% !important;
  overflow: hidden !important;
}

.news-single-card {
  height: 76px !important;
  min-height: 76px !important;
  max-height: 76px !important;
  padding: 10px 30px !important;
  gap: 4px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  background: linear-gradient(90deg, rgba(32,214,255,.13), rgba(8,28,65,.50), rgba(4,12,30,.94)) !important;
  border-left: 6px solid #20d6ff !important;
  overflow: hidden !important;
  animation: ptvNewsSlideSafe .85s cubic-bezier(.22,.9,.24,1) both !important;
}

.news-single-card span {
  font-family: "Segoe UI", Arial, sans-serif !important;
  font-size: 10px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: .22em !important;
  color: #20d6ff !important;
  text-transform: uppercase !important;
  opacity: .95 !important;
  text-shadow: none !important;
  filter: none !important;
}

.news-single-card strong {
  font-family: "Segoe UI", Arial, sans-serif !important;
  font-size: clamp(20px, 1.55vw, 30px) !important;
  line-height: 1.08 !important;
  font-weight: 900 !important;
  color: #ffffff !important;
  letter-spacing: -.02em !important;
  text-shadow: none !important;
  filter: none !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

@keyframes ptvNewsSlideSafe {
  from {
    transform: translateX(100%);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}

/* Botão da rádio fora do player */
#enable-sound,
.enable-sound {
  position: fixed !important;
  right: 32px !important;
  bottom: 34px !important;
  z-index: 99999 !important;
}
