/*
 * Oblivion MyBB - Responsive Layer
 * Mobile-first refinements for premium readability and control density.
 */

@media (max-width: 1280px) {
  #container,
  .ob-shell {
    width: min(calc(100vw - 24px), 100%);
    padding-left: var(--ob-space-4);
    padding-right: var(--ob-space-4);
  }
}

@media (max-width: 1080px) {
  #obLayout {
    grid-template-columns: minmax(0, 1fr);
  }

  .ob-sidebar {
    order: 2;
  }

  .ob-main {
    order: 1;
  }
}

@media (max-width: 900px) {
  #panel,
  .ob-top-nav {
    padding: var(--ob-space-3);
    border-radius: var(--ob-radius-md);
  }

  #panel .upper,
  #panel .lower {
    gap: var(--ob-space-2);
  }

  #obHeaderBanner {
    padding: var(--ob-space-5);
    border-radius: var(--ob-radius-md);
  }

  .ob-customizer-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  :root {
    --ob-header-height: 64px;
  }

  #container,
  .ob-shell {
    padding-left: var(--ob-space-3);
    padding-right: var(--ob-space-3);
    padding-bottom: var(--ob-space-6);
  }

  body {
    font-size: 14px;
  }

  #obCustomizerToggle {
    right: 12px;
    bottom: 12px;
    padding: 10px 13px;
    font-size: 0.76rem;
    letter-spacing: 0.05em;
  }

  .ob-customizer-panel {
    margin: 8px auto;
    padding: var(--ob-space-4);
    width: min(100vw - 14px, 100%);
    max-height: calc(100vh - 16px);
    border-radius: var(--ob-radius-md);
  }

  .ob-customizer-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .ob-customizer-actions .ob-button-accent {
    width: 100%;
  }
}

@media (max-width: 560px) {
  .ob-top-nav-menu,
  #panel .menu,
  ul.menu {
    gap: 6px;
  }

  .ob-top-nav-menu a,
  #panel .menu a,
  ul.menu a {
    padding: 8px 11px;
    font-size: 0.86rem;
  }

  .breadcrumb,
  .ob-breadcrumb {
    border-radius: var(--ob-radius-sm);
    padding: 8px 10px;
    gap: 8px;
    font-size: 0.82rem;
  }

  .ob-forum-card,
  .ob-thread-card,
  .ob-widget {
    padding: var(--ob-space-3);
  }

  .ob-segmented {
    width: 100%;
  }

  .ob-segmented label {
    flex: 1 1 calc(50% - 8px);
  }

  .ob-segmented span {
    width: 100%;
  }
}
