/* ==========================================================================
   Slide Viewer -- Responsive Breakpoints
   ========================================================================== */

@media (max-width: 900px) {
  #slide-viewer-overlay .slide-viewer-shell {
    padding: 1.25rem 0.85rem 1rem;
  }

  #slide-viewer-overlay .slide-viewer-frame,
  #slide-viewer-overlay .slide-viewer-toolbar {
    width: min(96vw, calc(78vh * 16 / 9));
  }

  #slide-viewer-overlay .slide-content {
    padding: 1.25rem 1.35rem;
  }

  #slide-viewer-overlay .slide-viewer-page.slide-title .slide-content,
  #slide-viewer-overlay .slide-viewer-page.slide-entry .slide-content,
  #slide-viewer-overlay .slide-viewer-page.slide-table .slide-content {
    padding: 1.25rem 1.35rem;
  }

  #slide-viewer-overlay .slide-viewer-page h1 {
    font-size: 1.7rem;
  }

  #slide-viewer-overlay .slide-viewer-page h2 {
    font-size: 1.2rem;
  }

  #slide-viewer-overlay .slide-viewer-page p,
  #slide-viewer-overlay .slide-viewer-page ul,
  #slide-viewer-overlay .slide-viewer-page ol {
    font-size: 0.85rem;
  }

  #slide-viewer-overlay .slide-viewer-page img {
    max-width: 94%;
  }

  #slide-viewer-overlay .slide-viewer-toolbar {
    grid-template-columns: 1fr;
  }

  #slide-viewer-overlay .slide-viewer-meta {
    order: -1;
  }
}

/* ==========================================================================
   Mobile -- phone portrait
   ========================================================================== */

@media (max-width: 575px) {
  #slide-viewer-overlay .slide-viewer-shell {
    padding: 0.75rem 0.5rem 0.6rem;
    gap: 0.5rem;
  }

  #slide-viewer-overlay .slide-viewer-frame {
    width: min(100%, calc((100vh - 8.75rem) * 16 / 9));
    max-width: 100%;
    max-height: calc((100vw - 1rem) * 9 / 16);
    aspect-ratio: 16 / 9;
    flex: 0 0 auto;
    border-radius: 12px;
  }

  #slide-viewer-overlay .slide-viewer-toolbar {
    width: 100%;
  }

  #slide-viewer-overlay .slide-content {
    padding: 1rem 1rem;
  }

  #slide-viewer-overlay .slide-viewer-page.slide-title .slide-content {
    padding: 1.25rem 1rem;
  }

  #slide-viewer-overlay .slide-viewer-page.slide-entry .slide-content,
  #slide-viewer-overlay .slide-viewer-page.slide-table .slide-content {
    padding: 1rem 1rem;
  }

  /* Typography -- larger for readability on small screens */
  #slide-viewer-overlay .slide-viewer-page h1 {
    font-size: 1.4rem;
    line-height: 1.3;
  }

  #slide-viewer-overlay .slide-viewer-page h2 {
    font-size: 1.1rem;
    line-height: 1.35;
    margin-bottom: 0.5em;
    padding-bottom: 0.2em;
  }

  #slide-viewer-overlay .slide-viewer-page h3 {
    font-size: 0.95rem;
  }

  #slide-viewer-overlay .slide-viewer-page p {
    font-size: 0.88rem;
    line-height: 1.7;
  }

  #slide-viewer-overlay .slide-viewer-page ul,
  #slide-viewer-overlay .slide-viewer-page ol {
    font-size: 0.86rem;
    line-height: 1.65;
    padding-left: 1em;
  }

  #slide-viewer-overlay .slide-viewer-page li {
    margin-bottom: 0.35em;
  }

  #slide-viewer-overlay .slide-viewer-page table {
    font-size: 0.72rem;
  }

  #slide-viewer-overlay .slide-viewer-page th {
    padding: 0.45em 0.55em;
    font-size: 0.65rem;
  }

  #slide-viewer-overlay .slide-viewer-page td {
    padding: 0.4em 0.55em;
  }

  #slide-viewer-overlay .slide-viewer-page blockquote {
    padding: 0.7rem 0.9rem;
    margin: 0.6em 0;
  }

  #slide-viewer-overlay .slide-viewer-page pre code {
    padding: 0.7em 0.9em;
    font-size: 0.75em;
  }

  #slide-viewer-overlay .slide-viewer-page img {
    max-width: 100%;
  }

  #slide-viewer-overlay .slide-viewer-page img[src$=".svg"] {
    max-width: 90%;
    padding: 0.6rem;
  }

  #slide-viewer-overlay .slide-inline-svg {
    width: min(92%, 640px);
    padding: 0.6rem;
  }

  /* Title slide -- tighter on phones */
  #slide-viewer-overlay .slide-viewer-page.slide-title h2 {
    font-size: 1.4rem;
  }

  #slide-viewer-overlay .slide-viewer-page.slide-title p {
    max-width: 95%;
    font-size: 0.92rem;
  }

  /* Toolbar -- stack vertically, compact */
  #slide-viewer-overlay .slide-viewer-toolbar {
    grid-template-columns: 1fr;
    gap: 0.4rem;
  }

  #slide-viewer-overlay .slide-viewer-meta {
    order: -1;
    padding: 0.45rem 0.75rem;
    border-radius: 12px;
  }

  #slide-viewer-overlay .slide-viewer-title {
    font-size: 0.82rem;
  }

  #slide-viewer-overlay .slide-viewer-nav {
    min-width: 0;
    padding: 0.4rem 0.7rem;
    font-size: 0.72rem;
  }

  /* Close button -- easier to tap */
  .slide-viewer-close {
    top: 10px;
    right: 14px;
    width: 44px;
    height: 44px;
    font-size: 1.6rem;
  }

  .slide-viewer-fullscreen {
    right: 14px;
    bottom: 12px;
  }

  /* Visual slides */
  #slide-viewer-overlay .slide-viewer-page.slide-visual img {
    max-width: 100%;
    max-height: 45vh;
  }

  #slide-viewer-overlay .slide-viewer-page.slide-visual .slide-inline-svg {
    width: min(100%, 640px);
    padding: 0.75rem;
  }

  /* Entry slide */
  #slide-viewer-overlay .slide-viewer-page.slide-entry p {
    font-size: 0.84rem;
    line-height: 1.7;
  }

  #slide-viewer-overlay .slide-viewer-page.slide-entry strong {
    font-size: 0.72rem;
    padding: 0.1em 0.45em;
  }

  /* Table slide */
  #slide-viewer-overlay .slide-viewer-page.slide-table h2 {
    font-size: 1.05rem;
    margin-bottom: 0.4em;
  }

  /* Conclusion slide */
  #slide-viewer-overlay .slide-viewer-page.slide-conclusion li {
    font-size: 0.88rem;
    padding: 0.35em 0;
  }

  /* Overview slide -- cards tighter */
  #slide-viewer-overlay .slide-viewer-page.slide-overview li {
    padding: 0.5em 0.8em;
    margin-bottom: 0.4em;
  }

  /* Scrollbar -- thinner on phones */
  #slide-viewer-overlay .slide-content::-webkit-scrollbar {
    width: 6px;
  }
}
