/**
 * Escala visual do desktop.
 *
 * Referência: a aparência aprovada do portal com zoom do navegador em 90%.
 * Ajuste real de medidas (font-size, max-width, gaps, paddings, heights).
 * Sem zoom, sem transform: scale(), sem reduzir o body.
 * Mobile (≤900px) permanece com as medidas já aprovadas.
 */

@media (min-width: 901px) {
  :root {
    --header-max: 1152px;
    --page-max: 1152px;
  }

  .logo-link img {
    height: 97px;
    max-width: min(531px, 86vw);
  }

  .topbar {
    font-size: 0.7rem;
  }

  .topbar-inner {
    padding: 0.22rem 1.1rem;
    min-height: 26px;
    gap: 0.9rem;
  }

  .ticker-label {
    padding: 0.1rem 0.38rem;
    font-size: 0.62rem;
  }

  .brand-header {
    display: flex;
    align-items: center;
  }

  .brand-inner {
    width: 100%;
    padding: 0.28rem 1.1rem;
    align-items: center;
  }

  .logo-link {
    align-self: center;
  }

  .nav-inner {
    padding: 0 0.9rem;
  }

  .main-nav a {
    padding: 0.48rem 0.5rem;
    font-size: 0.7rem;
  }

  .main-nav a::after {
    left: 0.5rem;
    right: 0.5rem;
    bottom: 0.28rem;
  }

  .search-form {
    padding: 0.75rem 1.1rem 0.95rem;
  }

  .search-form input {
    padding: 0.65rem 0.8rem;
    font-size: 0.95rem;
  }

  div.page {
    margin-top: 1.15rem;
    padding: 0 1.1rem 5rem;
    gap: 1.7rem;
  }

  .ad-leader {
    margin-top: 0.35rem;
    padding: 0 1.1rem;
  }

  .section-head {
    margin-bottom: 0.85rem;
    padding-bottom: 0.42rem;
  }

  .section-head h2 {
    font-size: 1.1rem;
  }

  .latest-item {
    grid-template-columns: 248px minmax(0, 1fr);
    gap: 1.15rem;
    padding: 1rem 0;
  }

  .latest-item img,
  .latest-item > a > .card-media {
    height: 158px;
  }

  .latest-item h3 {
    font-size: 1.18rem;
  }

  .latest-item p {
    font-size: 0.9rem;
  }

  .local-block,
  .editors-grid {
    margin-top: 2.1rem;
  }

  .local-grid {
    gap: 1.3rem;
  }

  .story-card img,
  .story-card > .card-media {
    height: 252px;
  }

  .story-card h3 {
    font-size: 1.22rem;
  }

  .story-card .body {
    padding-top: 0.85rem;
  }

  .local-list a {
    padding: 0.82rem 0 0.82rem 0.8rem;
  }

  .local-list h3 {
    font-size: 0.96rem;
  }

  .editors-grid {
    gap: 1.7rem 1.4rem;
  }

  .editor-block h3 {
    min-height: 2.35rem;
    font-size: 0.7rem;
  }

  .editor-lead {
    padding: 0.75rem 0 0.8rem;
  }

  .editor-lead img,
  .editor-lead > .card-media {
    height: 178px;
  }

  .editor-lead p {
    font-size: 0.96rem;
  }

  .editor-secondary {
    grid-template-columns: 118px minmax(0, 1fr);
    gap: 0.7rem;
    padding-top: 0.75rem;
    min-height: 5.9rem;
  }

  .editor-secondary img,
  .editor-secondary > .card-media {
    width: 118px;
    height: 90px;
  }

  .editor-secondary p {
    font-size: 0.86rem;
  }

  .now-main,
  .now-next {
    padding: 1.05rem 1.15rem;
  }

  .now-main h3 {
    font-size: 1.3rem;
  }

  .trending li {
    padding: 0.75rem 0.9rem;
  }

  .trending h3 {
    font-size: 0.92rem;
  }

  .site-footer {
    padding: 2.1rem 1.1rem 1.05rem;
  }

  /* Player desktop: faixa horizontal compacta (~60px). Mobile ≤900px permanece intacto. */
  body {
    padding-bottom: 64px;
  }

  .player {
    border-top-width: 2px;
  }

  .player-inner {
    padding: 0.28rem 1.1rem;
    gap: 0.85rem;
    min-height: 56px;
    align-items: center;
  }

  .play-toggle {
    width: 36px;
    height: 36px;
    flex: none;
  }

  .play-toggle svg {
    width: 18px;
    height: 18px;
  }

  .player-copy {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.95rem;
    min-width: 0;
    flex: 1 1 auto;
  }

  .live-flag {
    flex: 0 0 auto;
    margin-bottom: 0;
    padding: 0 0.95rem 0 0.15rem;
    position: relative;
    font-size: 0.66rem;
    letter-spacing: 0.1em;
    white-space: nowrap;
    align-self: center;
  }

  .live-flag::after {
    content: "";
    position: absolute;
    right: 0;
    top: 14%;
    bottom: 14%;
    width: 2px;
    background: var(--yellow);
  }

  .player-meta {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.06rem;
    min-width: 0;
  }

  .player-meta strong {
    font-size: 0.82rem;
    line-height: 1.15;
  }

  .player-meta #player-show,
  .player-meta #player-track {
    font-size: 0.7rem;
    line-height: 1.2;
  }

  .player-meta #player-track:empty {
    display: none;
  }

  .volume {
    flex: 0 0 auto;
    align-self: center;
  }

  .volume input {
    width: 88px;
  }

  .player-note {
    padding: 0 1.1rem 0.28rem;
    font-size: 0.72rem;
  }

  .wa-float {
    bottom: 4.6rem;
  }

  .side-story {
    grid-template-columns: 132px minmax(0, 1fr);
    gap: 0.85rem;
  }

  .side-story img,
  .side-story .card-media {
    width: 132px;
    height: 97px;
  }

  .side-story h3 {
    font-size: 0.97rem;
  }

  .btn-live {
    font-size: 0.68rem;
    padding: 0.28rem 0.72rem;
  }

  .article-shell,
  .ed-shell,
  .tc-shell,
  .about-shell,
  .contact-shell,
  .privacy-shell,
  .prog-shell {
    margin-top: 1.25rem;
  }
}

@media (min-width: 1440px) {
  .nav-inner {
    max-width: 1296px;
    padding-left: 1.1rem;
    padding-right: 1.1rem;
  }

  .main-nav a {
    padding-left: 0.65rem;
    padding-right: 0.65rem;
  }

  .main-nav a::after {
    left: 0.65rem;
    right: 0.65rem;
  }
}

@media (min-width: 1920px) {
  .nav-inner {
    max-width: 1368px;
  }

  .main-nav a {
    padding-left: 0.76rem;
    padding-right: 0.76rem;
  }

  .main-nav a::after {
    left: 0.76rem;
    right: 0.76rem;
  }
}
