/* Shared mobile header safeguards for legacy and editorial templates. */
@media (max-width: 480px) {
  .site-header .header-container,
  .site-header .shell,
  header nav,
  nav.top,
  .main-nav {
    max-width: 100%;
    min-width: 0;
    flex-wrap: wrap;
  }

  .site-header .main-nav,
  header .main-nav,
  header nav .quick-translate--compact {
    margin-left: auto;
  }

  header .quick-translate--compact {
    max-width: 48px;
    flex: 0 0 48px;
  }

  header .quick-translate__trigger {
    width: 48px;
    min-width: 48px;
    padding-inline: 7px;
    overflow: hidden;
  }
}

@media (max-width: 768px) {
  .site-header .header-container,
  .site-header .shell,
  header nav.top {
    min-height: 54px;
    padding-block: 5px;
    gap: 8px;
  }

  .site-header :is(.brand-logo,.logo),
  header nav.top :is(.brand,.logo) {
    font-size: clamp(18px, 5.5vw, 22px);
  }

  .site-header :is(.main-nav,.nav-actions) :is(a,button),
  header nav.top :is(.nav-links,.nav-actions) :is(a,button) {
    min-height: 40px;
    padding: 7px 9px;
    font-size: 11px;
  }

  .pwa-install-prompt {
    bottom: calc(92px + env(safe-area-inset-bottom)) !important;
  }
}

/* Shared high-contrast A4 output for shell and utility pages. */
@media print {
  @page { size: A4; margin: 14mm 15mm; }
  header, footer, nav, .mobile-bottom-bar, .site-search-trigger, .site-search-modal,
  .theme-toggle, .translation-toolbar, .sos-help-launcher, .sos-help-modal,
  .guide-back-to-top, .korean-card-launcher, .koursea-install-app { display: none !important; }
  html, body, main { width: auto !important; min-width: 0 !important; background: #fff !important; color: #000 !important; box-shadow: none !important; }
  img { max-width: 100% !important; height: auto !important; filter: grayscale(100%); }
  table { width: 100% !important; border-collapse: collapse !important; }
  th, td { border: 1px solid #555 !important; background: #fff !important; color: #000 !important; }
}
