/* ==================================================
   TAMPILAN PONSEL UNIVERSAL
================================================== */

@media (max-width: 900px) {

  html,
  body {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    overflow-x: hidden !important;
  }

  *,
  *::before,
  *::after {
    box-sizing: border-box !important;
  }

  img,
  video,
  canvas,
  svg {
    max-width: 100% !important;
  }

  main,
  section,
  .section,
  .content,
  .container,
  .page-container,
  .bracket-wrapper {
    max-width: 100% !important;
  }

  .container,
  .content,
  .page-container {
    width: calc(100% - 18px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* =========================
     HEADER
  ========================= */

  .sl-site-header {
    min-height: 74px !important;
  }

  .sl-site-header-inner {
    width: calc(100% - 14px) !important;
    min-height: 74px !important;
    gap: 9px !important;
  }

  .sl-site-logo {
    width: 54px !important;
    height: 54px !important;
    min-width: 54px !important;
    border-radius: 13px !important;
  }

  .sl-site-title {
    max-width: calc(100vw - 132px) !important;
    overflow: hidden !important;
    font-size: clamp(11px, 3.3vw, 15px) !important;
    line-height: 1.12 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
  }

  .sl-site-subtitle {
    margin-top: 5px !important;
    font-size: 10px !important;
    letter-spacing: 0.3px !important;
  }

  .sl-menu-button {
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    border-radius: 13px !important;
  }

  .sl-site-nav {
    position: absolute !important;
    top: 68px !important;
    left: 4px !important;
    right: 4px !important;

    width: auto !important;
    max-height: calc(100vh - 82px) !important;
    overflow-y: auto !important;

    padding: 10px !important;
    border-radius: 17px !important;
  }

  .sl-site-nav a {
    min-height: 43px !important;
    padding: 0 14px !important;

    display: flex !important;
    align-items: center !important;

    font-size: 12px !important;
  }

  /* =========================
     HERO SEMUA HALAMAN
  ========================= */

  .hero:not(:has(.hero-banner-wrap)) {
    min-height: 225px !important;
    padding: 42px 12px 38px !important;
  }

  .hero:not(:has(.hero-banner-wrap)) h1,
  .hero:not(:has(.hero-banner-wrap)) h2 {
    width: 100% !important;
    margin-bottom: 14px !important;
    padding-left: 3px !important;
    padding-right: 3px !important;

    font-size: clamp(27px, 8vw, 42px) !important;
    line-height: 1.08 !important;
    overflow-wrap: anywhere !important;
  }

  .hero:not(:has(.hero-banner-wrap)) p {
    width: 100% !important;
    padding: 0 4px !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
  }

  .hero .eyebrow,
  .hero .badge,
  .hero .pill {
    min-height: 37px !important;
    margin-bottom: 17px !important;
    padding: 0 17px !important;
    font-size: 11px !important;
  }

  .hero > div::before,
  .hero > div::after,
  .hero .container::before,
  .hero .container::after {
    display: none !important;
  }

  /* =========================
     BANNER BERANDA
  ========================= */

  .hero:has(.hero-banner-wrap) {
    min-height: auto !important;
    padding: 10px 0 18px !important;
  }

  .hero-banner-wrap {
    width: calc(100% - 12px) !important;
    margin: 0 auto !important;
    border-radius: 13px !important;
  }

  .hero-banner {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    object-fit: contain !important;
  }

  /* =========================
     SPONSOR
  ========================= */

  .sponsor-box {
    width: 100% !important;
    border-radius: 17px !important;
  }

  .sponsor-marquee {
    padding: 11px 0 !important;
  }

  .sponsor-track .sponsor-item.sponsor-clickable {
    flex-basis: 150px !important;
    width: 150px !important;
    min-width: 150px !important;
    max-width: 150px !important;

    height: 88px !important;
    min-height: 88px !important;
    max-height: 88px !important;
  }

  /* =========================
     GRID DAN KARTU
  ========================= */

  .group-grid,
  .standings-grid,
  .schedule-grid,
  .match-list,
  .mvp-grid,
  .savage-grid,
  .playoff-grid,
  .bracket-grid,
  .cards-grid {
    grid-template-columns: 1fr !important;
  }

  .team-logo-grid {
    width: calc(100% - 18px) !important;
    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;
    gap: 11px !important;
  }

  .tg-team-card {
    min-width: 0 !important;
    padding: 10px 10px 13px !important;
    border-radius: 16px !important;
  }

  .tg-logo-frame {
    margin-bottom: 10px !important;
    padding: 9px !important;
    border-radius: 13px !important;
  }

  .tg-logo-fallback {
    width: 72px !important;
    height: 72px !important;
    font-size: 19px !important;
  }

  .tg-team-name {
    font-size: 12px !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  .team-card,
  .match-card,
  .schedule-card,
  .standing-card,
  .mvp-card,
  .savage-card,
  .playoff-card,
  .bracket-card,
  .group-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  /* =========================
     FILTER DAN TOMBOL
  ========================= */

  .score-filter,
  .filter-row,
  .group-filter,
  .tabs,
  .filter-container {
    width: calc(100% - 16px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    gap: 8px !important;
  }

  .filter-btn,
  .group-btn,
  .tab-btn,
  .tabs button,
  .score-filter button,
  .filter-button {
    min-height: 41px !important;
    padding: 0 15px !important;
    font-size: 11px !important;
  }

  button,
  a {
    -webkit-tap-highlight-color: transparent;
  }

  /* =========================
     TABEL
  ========================= */

  .table-wrapper,
  .standings-table-wrapper,
  .score-table-wrapper {
    width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  table {
    min-width: 680px;
  }

  /* =========================
     POPUP
  ========================= */

  .modal,
  .tg-modal,
  .sponsor-modal {
    padding: 9px !important;
  }

  .modal-card,
  .tg-modal-card,
  .sponsor-modal-card {
    width: 100% !important;
    max-height: calc(100vh - 18px) !important;
    padding: 18px 13px !important;
    border-radius: 18px !important;
  }

  .tg-modal-header {
    gap: 11px !important;
    padding-right: 38px !important;
  }

  .tg-modal-logo {
    width: 75px !important;
    height: 75px !important;
    min-width: 75px !important;
  }

  .tg-modal-copy h2 {
    font-size: 22px !important;
  }

  .tg-player-row {
    grid-template-columns:
      34px
      minmax(0, 1fr) !important;

    gap: 8px !important;
    padding: 10px !important;
  }

  .tg-player-field:nth-child(3),
  .tg-role {
    grid-column: 2 !important;
  }

  .tg-player-field strong {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  /* =========================
     PLAYOFF
  ========================= */

  .bracket-wrapper {
    width: 100% !important;
    padding: 10px !important;
    overflow-x: auto !important;
  }

  .bracket,
  .upper-bracket,
  .lower-bracket {
    min-width: 700px;
  }

  /* =========================
     FOOTER
  ========================= */

  .sl-global-footer {
    width: 100% !important;
    margin-top: 38px !important;
    padding: 20px 8px !important;
  }

  .sl-global-footer-inner {
    max-width: calc(100% - 8px) !important;
    min-height: 36px !important;
    padding: 8px 11px !important;

    flex-wrap: wrap !important;

    font-size: 9px !important;
    line-height: 1.35 !important;
  }
}

@media (max-width: 380px) {

  .sl-site-logo {
    width: 49px !important;
    height: 49px !important;
    min-width: 49px !important;
  }

  .sl-site-title {
    max-width: calc(100vw - 121px) !important;
    font-size: 10px !important;
  }

  .sl-site-subtitle {
    font-size: 9px !important;
  }

  .team-logo-grid {
    gap: 8px !important;
  }

  .tg-team-card {
    padding: 8px 8px 11px !important;
  }

  .tg-logo-fallback {
    width: 62px !important;
    height: 62px !important;
  }
}