@media (max-width: 1100px) {
  .primary-dashboard {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .calculator-preview {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .calculator-preview-total {
    grid-column: 1 / -1;
  }
}

@media (max-width: 850px) {
  .hero-header-content {
    align-items: flex-start;
    flex-direction: column;
    justify-content: center;

    padding-block: 24px;
  }

  .hero-actions {
    width: 100%;
    flex-wrap: wrap;
  }

  .global-search {
    width: 100%;
  }

  .secondary-dashboard {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  .primary-dashboard {
    grid-template-columns: 1fr;
  }

  .dashboard-panel-alliance {
    grid-column: auto;
  }

  .dashboard-panel {
    min-height: auto;
  }

  .compact-panel {
    grid-template-columns:
      auto minmax(0, 1fr);
  }

  .compact-panel-action {
    grid-column: 1 / -1;

    width: 100%;
  }

  .calculator-panel-header {
    align-items: stretch;
    flex-direction: column;
  }

  .calculator-open-button {
    width: 100%;
  }

  .calculator-preview {
    grid-template-columns: 1fr;
  }

  .calculator-preview-total {
    grid-column: auto;
  }

  .site-footer {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 480px) {
  .page-shell,
  .hero-header-content,
  .site-footer {
    width: min(
      100% - 20px,
      var(--page-width)
    );
  }

  .hero-brand-logo {
    width: 64px;
    height: 64px;
  }

  .hero-brand-text strong {
    font-size: 1rem;
  }

  .language-switcher,
  .discord-button {
    flex: 1;
  }

  .language-button {
    flex: 1;
  }

  .panel-content,
  .panel-header {
    padding-inline: 16px;
  }

  .panel-action {
    margin-inline: 16px;
  }
}

@media (max-width: 700px) {
  .hero-header {
    height: auto !important;
    min-height: 0 !important;
  }

  .hero-header-content {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 14px;

    height: auto !important;
    min-height: 0 !important;
    padding: 14px 0 !important;
  }

  .hero-brand {
    width: 100%;
  }

  .hero-actions {
    display: grid;
    grid-template-columns:
      minmax(0, 1fr)
      auto
      auto
      auto;
    align-items: center;
    gap: 10px;

    width: 100%;
  }

  .header-button {
    width: 100%;
    min-width: 0;
    height: 46px;
  }

  .language-switcher {
    display: contents;
  }

  .language-button,
  .discord-button {
    width: 46px !important;
    height: 46px !important;
    min-height: 46px !important;
    padding: 0 !important;
  }
}