/* ==========================================================
   Lawtopia — Responsive lock (mobile + desktop)
   Ensures pages render fully without horizontal scroll
   ========================================================== */

html:has(body.lawtopia-platform),
body.lawtopia-platform {
  max-width: 100%;
  overflow-x: clip;
}

body.lawtopia-platform {
  min-width: 0;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body.lawtopia-platform img,
body.lawtopia-platform video,
body.lawtopia-platform iframe,
body.lawtopia-platform svg,
body.lawtopia-platform canvas {
  max-width: 100%;
  height: auto;
}

body.lawtopia-platform table {
  display: block;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

body.lawtopia-platform pre,
body.lawtopia-platform code {
  max-width: 100%;
  overflow-x: auto;
  word-break: break-word;
}

body.lawtopia-platform .lt-shell,
body.lawtopia-platform .lt-nav__inner,
body.lawtopia-platform .hx-auth__panel,
body.lawtopia-platform .acc-wrap,
body.lawtopia-platform .acc-main,
body.lawtopia-platform .container {
  min-width: 0;
}

/* Sticky header — never clip actions */
body.lawtopia-platform .lt-nav {
  padding-top: env(safe-area-inset-top);
}
body.lawtopia-platform .lt-nav__inner {
  gap: .5rem;
  flex-wrap: nowrap;
  width: min(1200px, 100%);
  max-width: 100%;
  padding-inline: clamp(.75rem, 3vw, 1.5rem);
  box-sizing: border-box;
  margin-inline: auto;
}
body.lawtopia-platform .lt-nav__brand {
  min-width: 0;
  flex: 1 1 auto;
  max-width: 100%;
}
body.lawtopia-platform .lt-nav__brandText {
  min-width: 0;
}
body.lawtopia-platform .lt-nav__brandText strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: min(46vw, 12rem);
}
body.lawtopia-platform .lt-nav__actions {
  flex: 0 0 auto;
  flex-wrap: nowrap;
  gap: .45rem;
  max-width: 100%;
}
body.lawtopia-platform .lt-drawer__box {
  width: min(1200px, calc(100% - 1.25rem));
  padding-inline: 0;
}

/* Auth pages — layout/spacing handled in lawtopia-auth.css */
body.lawtopia-platform.hx-auth-body,
body.lawtopia-platform.hx-auth-body .hx-auth {
  min-width: 0;
  width: 100%;
}
body.lawtopia-platform .hx-auth__wallImg {
  max-width: 100%;
}

/* Account shell */
body.lawtopia-platform .acc-layout,
body.lawtopia-platform .acc-grid,
body.lawtopia-platform .acc-home,
body.lawtopia-platform .acc-body .wrap {
  min-width: 0;
  max-width: 100%;
}
body.lawtopia-platform .acc-sidebar {
  max-width: 100%;
}
body.lawtopia-platform .acc-card,
body.lawtopia-platform .course-card,
body.lawtopia-platform .lecture-card {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}

/* Hero — readable on phones without cropping CTAs */
@media (max-width: 960px) {
  body.lawtopia-platform .lt-hero--photo {
    display: flex;
    flex-direction: column;
    min-height: 0;
    background: #120E0C;
  }
  body.lawtopia-platform .lt-hero__media {
    position: relative;
    inset: auto;
    width: 100%;
    height: auto;
  }
  body.lawtopia-platform .lt-hero__media img {
    width: 100%;
    height: auto;
    max-height: none;
    object-fit: contain;
    object-position: center top;
    display: block;
  }
  body.lawtopia-platform .lt-hero__veil {
    background: linear-gradient(0deg, rgba(12, 9, 7, .55) 0%, transparent 45%);
  }
  body.lawtopia-platform .lt-hero__overlay {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 1.25rem 1rem 1.75rem;
    box-sizing: border-box;
    background: #120E0C;
  }
  body.lawtopia-platform .lt-hero__copy {
    max-width: 100%;
  }
  body.lawtopia-platform .lt-hero__actions {
    width: 100%;
  }
  body.lawtopia-platform .lt-hero__actions .lt-btn {
    flex: 1 1 auto;
    min-width: min(100%, 10rem);
  }
  body.lawtopia-platform .lt-cta__row {
    text-align: start;
  }
  body.lawtopia-platform .lt-cta .lt-btn {
    width: 100%;
  }

  /* auth layout handled in lawtopia-auth.css */
}

@media (max-width: 640px) {
  body.lawtopia-platform {
    font-size: 15.5px;
  }
  body.lawtopia-platform .lt-shell,
  body.lawtopia-platform .lt-nav__inner,
  body.lawtopia-platform .lt-hero__overlay {
    width: calc(100% - 1.25rem);
  }
  body.lawtopia-platform .lt-nav__cta {
    min-height: 2.4rem;
    padding-inline: .85rem;
    font-size: .86rem;
  }
  body.lawtopia-platform .lt-nav__link {
    font-size: .88rem;
  }
  body.lawtopia-platform .lt-nav__brand img {
    height: 38px;
    max-width: 48px;
  }
  body.lawtopia-platform .lt-nav__brandText strong {
    font-size: 1.15rem;
    max-width: 34vw;
  }
  body.lawtopia-platform .theme-switch--pro {
    --ts-w: 64px;
    --ts-h: 32px;
  }
  body.lawtopia-platform .lt-hero--photo {
    min-height: 0;
  }
  body.lawtopia-platform .lt-hero__lead {
    font-size: .98rem;
  }
  body.lawtopia-platform .lt-grades-marquee__track {
    gap: .85rem;
  }
  body.lawtopia-platform .lt-grade {
    width: min(220px, 70vw);
  }
  body.lawtopia-platform .lt-btn {
    min-height: 3rem;
  }
  body.lawtopia-platform .acc-topbar,
  body.lawtopia-platform .acc-header {
    padding-inline: .75rem !important;
  }
  body.lawtopia-platform .acc-sidebar {
    margin-bottom: 1rem !important;
  }
}

/* Very small phones */
@media (max-width: 380px) {
  body.lawtopia-platform .lt-nav__brandText strong { max-width: 40vw; }
  body.lawtopia-platform .lt-shell,
  body.lawtopia-platform .lt-nav__inner {
    width: calc(100% - 1rem);
  }
}

@media (min-width: 961px) {
  body.lawtopia-platform .lt-hero--photo {
    min-height: 0;
  }
}

/* Landscape phones — keep full image, no forced crop */
@media (max-height: 480px) and (orientation: landscape) {
  body.lawtopia-platform .lt-hero--photo {
    min-height: 0;
  }
}

/* Footer overflow lock (styles live in lawtopia-footer.css) */
body.lawtopia-platform .lt-foot,
body.lawtopia-platform .lt-foot__grid,
body.lawtopia-platform .lt-foot__bottomInner {
  max-width: 100%;
}
