/* Ajustes globais seguros para PWA responsivo sem alterar a identidade visual original */
html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  min-height: 100%;
}
*, *::before, *::after { box-sizing: inherit; }
body {
  min-width: 0;
  overflow-x: hidden;
  padding-left: env(safe-area-inset-left);
  padding-right: env(safe-area-inset-right);
}
img, svg, video, canvas, iframe { max-width: 100%; }
img, svg { height: auto; }
input, select, textarea, button { max-width: 100%; font: inherit; }
a, button { -webkit-tap-highlight-color: rgba(245,216,121,.18); }

@media (display-mode: standalone) {
  body { overscroll-behavior-y: contain; }
}

@media (max-width: 900px) {
  main, section, article, aside, header, footer, nav, .container, .wrap, .wrapper, .content, .page, .card, .panel, .box {
    max-width: 100%;
  }
  table {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border-collapse: collapse;
  }
  pre, code { white-space: pre-wrap; word-break: break-word; }
}

@media (max-width: 680px) {
  body { min-height: 100dvh; }
  header, nav, main, section, article, footer { min-width: 0; }
  .grid, .cards, .list, .row, .filters, .toolbar, .actions, .topbar, .navbar, .stats, .plans, .episodes, .video-grid, .series-grid {
    max-width: 100%;
  }
  .grid, .cards, .plans, .stats, .video-grid, .series-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  }
  .row, .filters, .toolbar, .actions, .topbar, .navbar {
    flex-wrap: wrap;
  }
  input, select, textarea {
    font-size: 16px;
  }
}

@media (max-width: 420px) {
  .card, .panel, .box, form { max-width: 100%; }
  h1 { overflow-wrap: anywhere; }
}
